1 / 55

Systems Analysis and Design

Systems Analysis and Design. การวิเคราะห์และออกแบบ. Data Flow Diagram 2. Chapter 5. เนื้อหา. แผนภาพกระแสข้อมูล Data Flow Diagram (Context Diagram ) DFD Level 0 DFD Level 1 การตรวจสอบสมดุล DFD (Balancing DFD) คำอธิบายการประมวลผล (Process Description) การตัดสินใจแบบต้นไม้

Download Presentation

Systems Analysis and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systems Analysis and Design การวิเคราะห์และออกแบบ

  2. Data Flow Diagram 2 Chapter 5

  3. เนื้อหา • แผนภาพกระแสข้อมูล Data Flow Diagram (Context Diagram ) • DFD Level 0 • DFD Level 1 • การตรวจสอบสมดุล DFD (Balancing DFD) • คำอธิบายการประมวลผล (Process Description) • การตัดสินใจแบบต้นไม้ • ตารางตัดสินใจ

  4. Conceptual Level DFDs Context Diagram(Parent) Level-0 (top level) (Child) DFD Level 0 Level-1 (lower level) DFD Level 1

  5. Summarized Context Diagrams • รวบรวม all processing activity • Level ชั้นบนสุดของระบบ • แสดงขอบเขตของระบบ • ขอบเขตของระบบแทนด้วย 1 process และ external agents หรือ external entities

  6. DFD Integrates Event

  7. หลักการเขียน DFD Level 0 • จะเป็นแผนภาพที่ให้รายละเอียดในระดับแรกสุดรองจาก Context diagram เพื่อให้เห็นภาพรวมของระบบมากขึ้น โดยจะมีสัญลักษณ์การเก็บข้อมูล (data store) , สัญลักษณ์การไหลของข้อมูล (data flow) , และสัญลักษณ์การประมวลผล(process) • Diagram 0 สามารถแสดงให้เห็นรายละเอียดของกระบวนการทำงานหลักๆถัดจาก Context Diagram • แต่ละกระบวนการจะมีหมายเลขกำกับด้านบนของสัญลักษณ์ เริ่มตั้งแต่ หมายเลข 1 เป็นต้นไป • จำนวนกระบวนการที่ต้องทำในระบบไม่ควรมีมากน้อยเกินไป ควรอยู่ระหว่าง 2-7 (หรือ +/- 2) กระบวนการ

  8. ลำดับชั้นของ DFD(Layers of DFD)

  9. ปัญหาที่พบความไม่สมดุลของ Data Flow • จำนวน data flow ที่ไหลเข้า Input (Trigger) ไหลออก Response (Output) ระหว่าง process หลัก (parent process)และ process ลูก (child process) ไม่เท่ากัน • Labels บน data flow ระหว่าง process หลัก (parent process)และ process ลูก (child process) ไม่เหมือนกัน • ผลลัพธ์คือ DFDs เกิดความไม่สมดุล ( unbalanced DFDs)

  10. กฎความสมดุลของ Data Flow (Consistency Rules) • ข้อมูลที่ไหลเข้าสู่ภายใน process หรือ activity ต้องมีข้อมูลไหลออก • ข้อมูลที่ไหลออกจาก process หรือ activity ต้องมีข้อมูลไหลเข้า

  11. การตรวจสอบสมดุล • ตรวจสอบจำนวน external entity หรือ external agents,Input data flow และ Output data flow ระหว่าง parent level และ child level ต้องเท่ากันเสมอ

  12. ข้อควรคำนึงถึงในการเขียน DFD Level 0 • ระดับ (Level) • สมดุล (Balancing) • แหล่งเก็บข้อมูล (Data store)

  13. ความสัมพันธ์ระหว่าง DFD Level แม่และ DFD Level ลูก Level Parent Level Child

  14. ความสมดุลระหว่าง Level parent กับ child Level Parent Level Child

  15. Example DFD ลูกค้า (Customer)ทำการสั่งสินค้ากับบริษัทผ่านทางเว็บไซต์ หลังจากที่สั่งสินค้าเสร็จ ระบบจะทำการตรวจสอบและค้นหารายละเอียดของสินค้าที่สั่งว่า มีคงเหลืออยู่ในสต๊อค (Stock) สินค้าหรือไม่ พร้อมกับดำเนินการแจ้ง Message ตอบกับข้อมูลของสินค้ากลับไปยังลูกค้า และบันทึกรายการสินค้าที่ลูกค้าสั่งไปเก็บไว้ในคลังข้อมูลของบริษัทส่งสินค้า (Shipping)เมื่อดำเนินการเสร็จสิ้น ลูกค้าก็จะได้รับใบส่งของ (Invoice) และชำระเงิน (Payment)และระบบสามารถสร้างรายงานต่างๆ ได้

  16. วิธีการสร้างแบบจำลองขั้นตอนการทำงานของระบบด้วย DFD • สร้างแผนภาพบริบท (Context Diagram) • สร้างแผนภาพระดับ 0 (Level-0 Diagram) • แบ่งย่อยแผนภาพ (Decomposition of DFD) • ตรวจสอบสมดุลของ DFD (Balancing DFD) 7.21

  17. การสร้างแผนภาพบริบท • แผนภาพระดับแรกของ DFD แสดงภาพรวมของระบบ โดยแสดง หน่วยภายนอกที่เกี่ยวข้อง • ประกอบด้วย 1 process เท่านั้น และ process ดังกล่าวนี้จะมีชื่อเป็นชื่อของระบบและมีหมายเลขประจำ process เป็น หมายเลข 0 • context diagram จะมีเพียงสามสัญลักษณ์ คือ external, process (1 process) และ data flow (จะไม่เขียน data store ในระดับนี้)

  18. ตัวอย่างแผนภาพบริบท

  19. การสร้างแผนภาพระดับ 0 Level-0 Diagramคือ แผนภาพกระแสข้อมูลในระดับที่แสดง ขั้นตอนการทำงานหลักทั้งหมด เป็นการแสดงให้เห็นถึงการ ทำงานหลักๆ ที่มีอยู่ภายในภาพรวมของระบบ (Context Diagram) ว่ามีขั้นตอนใดบ้าง โดยแต่ละ Process จะมีหมายเลขกำกับอยู่ ด้านบนของสัญลักษณ์ ตั้งแต่ 1 เป็นต้นไป

  20. Context Diagram Data Flow Diagram Level-0 แสดงการแบ่งย่อยแผนภาพ

  21. ตัวอย่างแผนภาพระดับ 0

  22. การแบ่งย่อยแผนภาพออกเป็นระดับต่าง ๆ Decomposition คือ การแบ่ง/แยก/ย่อยระบบ และขั้นตอนการทำงานออกเป็นส่วนย่อย โดยในแต่ละขั้นตอนที่แยกออกมา (Subsystems) จะแสดงให้เห็นถึงรายละเอียดของการทำงานเพิ่มมากขึ้น การแบ่งย่อย Process นั้นสามารถแบ่งย่อยลงไปได้เรื่อยๆ จนกระทั่งถึงระดับที่ไม่สามารถแบ่งย่อยได้อีกแล้ว เรียกว่า “Primitive DFD” ระดับของแผนภาพที่แบ่งย่อยมาจาก Level-0 เรียกว่า Level-1 ซึ่งจะต้องมีอย่างน้อย 2 Process ขึ้นไป

  23. หลักการเขียน DFD Level-1 DFD Level 1 : แสดงถึงโปรเซสย่อย (sub process) ของแผนภาพกระแสข้อมูลระดับที่ 0 เพื่อแสดงถึงกระบวนการทำงานของระบบในรายละเอียด คือ มีการแตกฟังก์ชันการทำงานข้อมูลระดับที่ 1 ออกเป็นส่วนๆ เรียกว่า Functional Decomposition 1. ใช้เลขทศนิยมเพื่อระบุความสัมพันธ์ระหว่างโปรเซส ตัวอย่างเช่น 1.1,1.2 , 2.1,2.2 , 3.1,3.2

  24. 1.1 1.3 1.2 3.0 2.0 1.0 0 1.1.1 1.1.3 1.1.2 การระบุหมายเลขของแผนภาพ

  25. หลักการเขียน DFD Level-1 0.การทำอาหาร Context Diagram DFD LEVEL-0 1. แกงจืด 2. ต้มข่าไก่ 3. ไข่เจียว 4. ข้าวเหนียว 1.1 ต้มน้ำให้เดือด 1.2 ใส่หมูสับ 1.3 ใส่วุ้นเส้น 2.1 …….. 2.2 …….. 2.3 …….. DFD LEVEL-1 3.1 …….. 3.2 …….. 3.3 …….. 4.1 …….. 4.2 …….. 4.3 …….. ต้มน้ำให้เดือดแล้วใส่หมูสับปั้นเป็นก้อน เสร็จแล้วใส่วุ้นเส้น ตามด้วยน้ำปลา ปรุงรสตามชอบ Process Description

  26. ตัวอย่างแผนภาพระดับ 1

  27. ตัวอย่างแผนภาพระดับ 1

  28. คำอธิบายการประมวลผล (Process Description ) วัตถุประสงค์ของคำอธิบายการประมวลผล 1. เรียนรู้รายละเอียดของแต่ละโปรเซสว่ามีกระบวนการทำงานอย่างไรเป็นสำคัญ 2. สามารถกระทำให้สำเร็จตามกระบวนการที่ได้อธิบายไว้ได้อย่างถูกต้องและเข้าใจตรงกัน 3. ตรวจสอบในขั้นตอนของการออกแบบระบบ เพื่อให้เกิดความมั่นใจว่าโปรเซสหรือกระบวนการที่ได้รับอินพุตเข้ามา และทำการประมวลผลลัพธ์ที่นำเสนอบนแผนภาพกระแสข้อมูลนั้น เป็นไปอย่างถูกต้องหรือไม่

  29. คำอธิบายการประมวลผล (Process Description ) จำแนกออกเป็น 2 รูปแบบใหญ่ๆ 1. คำอธิบายการประมวลผลในรูปแบบภาษาธรรมชาติ (Natural Language Specification) เขียนคำอธิบายการประมวลผลที่ใกล้เคียงกับภาษามนุษย์ ทำให้ง่ายต่อการทำความเข้าใจ 2. คำอธิบายการประมวลผลในรูปแบบภาษาสคริปต์ (Scripting) จัดเป็นคำอธิบายการประมวลผลในระดับระบบ ใกล้เคียงกับภาษาคอมพิวเตอร์ที่โปรแกรมเมอร์สามารถรับรู้ได้อย่างเข้าใจ ตัวอย่างเช่น ภาษาอังกฤษแบบโครงสร้าง (Structured English) ผังการตัดสินใจแบบต้นไม้ (Decision Tree) ตารางตัดสินใจ (Decision Table)

  30. คำอธิบายการประมวลผล (Process Description ) Process Description ตัวอย่างการเขียนคำอธิบายการประมวลผลในรูปแบบภาษาธรรมชาติ System : Order System DFD number : 1 Process name : Fill Order Input data flows : Order Output data flows : Pickinglist, Order Reject Notioce Data stored used :- Description : เป็นโปรเซสการสั่งซื้อสินค้า ซึ่งประกอบด้วย โปรเซสย่อยๆ ดังนี้ 1.1 Verify Order 1.2 Prepare Reject Notice 1.3 Assemble Order

  31. คำอธิบายการประมวลผล (Process Description ) Process Description ตัวอย่างการเขียนคำอธิบายการประมวลผลในรูปแบบภาษาธรรมชาติ System : Order System DFD number : 1.1 Process name : Verify Order Input data flows : Order Output data flows : Rejected Order, Accepted Order Data stored used :Customers, Products Description :เมื่อลูกค้ามีการซื้อสินค้า ระบบจะทำการตรวจสอบ เครดิตลูกค้าและรายละเอียดสินค้า ถ้าลูกค้ามีเครดิตและมีสินค้า ก็จะยอมรับการสั่งซื้อ ถ้าไม่ได้เป็นไปตามเงื่อนไขก็จะปฏิเสธ การสั่งซื้อกลับไปยังลูกค้า

  32. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง Structured English คือ การนำภาษาอังกฤษมาเขียนเพื่อบ่งบอก รายละเอียดการทำงานของ Process ที่ปรากฏอยู่บน DFD โดยมี รูปแบบการเขียนใกล้เคียงกับไวยากรณ์ที่ใช้ในการเขียนโปรแกรม ใช้อธิบายการทำงานของแต่ละ process ใน DFDs โดยใช้ 3 logical structures ต่อไปนี้ • แบบตามลำดับ (Sequence) • แบบมีเงื่อนไข(Conditional หรือ Decision Structure) • แบบการทำซ้ำ (Iteration หรือ Repetition)

  33. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง แบบตามลำดับ (Sequence)มีลักษณะการทำงานเป็นไปตามลำดับ ขั้นตอน ไม่มีการกระโดดข้ามขั้นตอน ตัวอย่างเช่น Read Record Calculate Gross Pay = Hours work * Hour wage Print Gross Pay

  34. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง แบบมีเงื่อนไข (Conditional/Decision/Selection)เป็นการทำงานที่ มีการกำหนดการกระทำการทำงานแตกต่างกันไปตามแต่ละเงื่อนไข โดยรูปแบบการเขียนคำอธิบาย Process แบบมีเงื่อนไข แบ่งออกได้ 2 ลักษณะคือ • If-then-else • Case

  35. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง • If-then-else • If Accept_Applicant then • Print Accepted Letters • Record Applicant_Data in Applicant_File • Else • Print Reject Letters • End If

  36. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง • Case • Select Case Item • Case 1 : if Grade <= 2.00 then • Reject Applicant • Case 2 : if Grade > 2.00 and Grade <= 3.50 then • Print Interview Letters • Case 3 : If Grade > 3.50 then • Print Interview Letters • Record Application_Data • End Select

  37. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง

  38. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง แบบการทำซ้ำ (Iteration/Repetition)เป็นโครงสร้างของการเขียน ที่มีลักษณะการกระทำกิจกรรมซ้ำไปเรื่อยๆ ภายใต้เงื่อนไขที่กำหนด ลักษณะการทำซ้ำสามารถอธิบาย Process ด้วย Structure English ได้คือ • Do-While • Do-Until • For Loop

  39. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง • 1. Do-While • ตัวอย่างเช่น Read Employee Record While not End-of-File do Print Employee Record End Do 2. Do-Until ตัวอย่างเช่น Do Read Employee Record Print Employee Record Until End –of File

  40. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง • For Loop 8.17

  41. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง

  42. ภาษาอังกฤษแบบโครงสร้างภาษาอังกฤษแบบโครงสร้าง นอกจากนี้สิ่งที่ควรคำนึงถึงเมื่อมีการจัดทำ Structured English ได้แก่ • ชื่อของข้อมูลที่แสดงอยู่ใน Structured English จะเป็นชื่อของข้อมูลที่ปรากฏอยู่บนแผนภาพกระแสข้อมูลเท่านั้น • ประโยคที่เป็นสูตรคำนวณทางคณิตศาสตร์ ควรจะเขียนให้กระทัดรัด และตัวกระทำทางคณิตศาสตร์ (Operand) ควรจะเป็นข้อมูลที่มีอยู่ภายในระบบหรือเป็นค่าคงที่ที่ได้กำหนดไว้ • หากเป็น Structured English ที่มีโครงสร้างการทำงานแบบมีเงื่อนไขหรือการทำซ้ำควรมีการเชื่อมโยงเส้น (Blocking) หรือใช้คำที่แสดงให้เห็นถึงจุดสิ้นสุดการทำงานของแต่ละส่วน

  43. การตัดสินใจแบบต้นไม้ Decision Treeเป็นโครงสร้างเงื่อนไขการตัดสินใจที่ลักษณะคล้าย ต้นไม้ที่แผ่กิ่งก้าน ด้วยการแบ่งแยกเงื่อนไขออกเป็นส่วนๆ ทำให้เห็น โครงสร้างของเงื่อนไขชัดเจนยิ่งขึ้น 8.23

  44. การตัดสินใจแบบต้นไม้

  45. ตารางการตัดสินใจ Decision Tableคือ แผนภาพที่ใช้ในการอธิบายการทำงานของ Process ที่มีเงื่อนไขการตัดสินใจที่ซับซ้อน โดยแสดงเงื่อนไข (Conditions)การกระทำ (Actions) และกิจกรรมที่เป็นไปได้ตาม กฎเกณฑ์ (Rules) ของเงื่อนไขนั้นอยู่ในรูปของตาราง ซึ่งภายใน ตารางการตัดสินใจ มีส่วนประกอบต่อไปนี้ • Conditionsคือ เงื่อนไขต่างๆ ที่กำหนดขึ้น • Action คือ ผลของเงื่อนไข ซึ่งได้จากเงื่อนไขต่างๆ มาประมวลจนได้ผลลัพธ์ • Rule คือ กฎเกณฑ์ เป็นการรวมกันของเงื่อนไขและการกระทำอันใดอันหนึ่งที่ระบุว่ากิจกรรมใดที่จะต้องกระทำตามเงื่อนไขใด

  46. ตารางการตัดสินใจ The four quadrants

  47. ตารางการตัดสินใจ Condition Action

  48. ระบบร้านขายรองเท้าจะต้องปฏิสัมพันธ์กับบุคคลอื่น หรือหน่วยงานอื่นที่อยู่นอกระบบ 3 กลุ่ม คือ บริษัทคู่ค้า หมายถึง ร้านค้า หรือบริษัทที่ระบบจัดซื้อรองเท้าเข้ามาขาย ลูกค้า หมายถึง ผู้ที่มาซื้อ หรือมาชมรองเท้า เจ้าของร้าน หมายถึง ผู้ที่กำหนดราคาขาย และ ต้องการรายงานต่างๆ จากระบบ เช่น รายงานการขายประจำวัน รายงานสต๊อกสินค้าคงเหลือ ระบบร้านขายรองเท้า 48

  49. ระบบร้านขายรองเท้า 0 ระบบ ร้านขายรองเท้า รองเท้าที่ต้องการ ลูกค้า บริษัทคู่ค้า รองเท้าใหม่ ใบเสร็จรับเงิน รายงานการขาย รายงานสต๊อกสินค้า กำหนดราคาขาย เจ้าของร้าน Context Diagram ของระบบร้านขายรองเท้า(Shoes Shop System) 49

  50. ลูกค้า ตัวอย่างData Flow Diagram Level 0 รองเท้าที่ต้องการ 2.0 ขาย สินค้า ใบเสร็จรับเงิน บริษัทคู่ค้า รองเท้าใหม่ 1.0 จัดการข้อมูลสินค้า ข้อมูลสินค้า ข้อมูลการขาย ข้อมูลสินค้า D2รายการขาย D1สินค้า ข้อมูลการขาย 3.0 ทำรายงาน ข้อมูลสินค้า กำหนดราคาขาย รายงานสต๊อกสินค้า เจ้าของร้าน รายงานการขาย DFD Level 0 ของระบบร้านขายสินค้า

More Related