1 / 64

Systems Analysis and Design

Systems Analysis and Design. การวิเคราะห์และออกแบบ. Data Flow Diagram 1. Chapter 4. เนื้อหา. ชนิดของแบบจำลอง (Types of Models) แผนภาพกระแสข้อมูล Data Flow Diagram (Context Diagram ). ชนิดของแบบจำลอง (Types of Models). SA สามารถนำแบบจำลองชนิดต่างๆ มาประยุกต์ใช้กับงานพัฒนาระบบ

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 1 Chapter 4

  3. เนื้อหา • ชนิดของแบบจำลอง (Types of Models) • แผนภาพกระแสข้อมูล Data Flow Diagram (Context Diagram )

  4. ชนิดของแบบจำลอง (Types of Models) • SA สามารถนำแบบจำลองชนิดต่างๆ มาประยุกต์ใช้กับงานพัฒนาระบบ • แบบจำลอง แผนภาพหรือไดอะแกรม ทำให้สามารถเห็นภาพรวมของระบบได้ทั้งหมดบนกระดาษแผ่นเดียว แบ่งเป็น 3 ประเภท คือ 1. แบบจำลองทางคณิตศาสตร์ (Mathematical Models) 2. แบบจำลองที่เป็นถ้อยคำอธิบาย (Descriptive Models) 3. แบบจำลองแผนภาพ (Graphical Models)

  5. ชนิดของแบบจำลอง (Types of Models) • 1. แบบจำลองทางคณิตศาสตร์ (Mathematical Models) คือ กลุ่มของสูตรคำนวณที่ใช้อธิบายกฎเกณฑ์ทางเทคนิคของระบบ โดยมักใช้กับงานทางด้านวิทยาศาสตร์และวิศวกรรม หรืองานด้านการคำนวณ สัญลักษณ์ทางคณิตศาสตร์ +- X f (n) Connections=(n2-n)/s)

  6. ชนิดของแบบจำลอง (Types of Models) 2. แบบจำลองที่เป็นถ้อยคำอธิบาย (Descriptive Models) แบบจำลองที่เป็นการกล่าวถึงเรื่องราว ถ้อยคำอธิบาย รายละเอียด รายงานหรือรายการต่างๆ ขั้นตอนวิธีที่อยู่ในรูปแบบของรหัสจำลอง (Pseudo code) หรือประโยคโครงสร้างภาษาอังกฤษ (Structure English) ที่โปรแกรมเมอร์มักนำแบบจำลองนี้ไปใช้เพื่อการออกแบบโปรแกรม Description Xxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx

  7. ชนิดของแบบจำลอง (Types of Models) 3. แบบจำลองแผนภาพ (Graphical Models) หรือไดอะแกรม สามารถเข้าใจถึงความสัมพันธ์ของสิ่งต่างๆ ที่มีอยู่ในระบบ ตัวอย่างเช่น แผนภาพกระแสข้อมูล แผนภาพอีอาร์ เป็นต้น ซึ่งแผนภาพเพียงแผนภาพเดียว สามารถบรรยายภาพรวมของ ระบบได้เป็นอย่างดี

  8. ชนิดของแบบจำลอง (Types of Models) ……………………….. ……………………….. ……………………….. ………………………… ……………………….. ……………………….. ……………………….. Analysis Requirements Specification Logical Model การนำข้อกำหนดมาวิเคราะห์เพื่อสร้างเป็นแผนภาพกระบวนการของระบบใหม่ โดยแผนภาพที่สร้างขึ้นจะนำไปใช้ประโยชน์ในขั้นตอนการออกแบบและพัฒนาซอฟต์แวร์

  9. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Programmer Requirments เจ้าของบ้าน [Owner] สถาปนิก [Blueprint] Engineer Control

  10. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) • แผนภาพกระแสข้อมูล เป็นแบบจำลองกระบวนการที่นำมาใช้กับ *การวิเคราะห์และออกแบบระบบเชิงโครงสร้าง* โดยจะแสดงความสัมพันธ์ระหว่าง *กระบวนการหรือโปรเซส (Process) กับข้อมูล (Data) ที่เกี่ยวข้อง* โดยข้อมูลในแผนภาพจะทำให้ทราบถึง 1. ข้อมูลมาจากไหน? 2. ข้อมูลไปที่ไหน? 3. ข้อมูลเก็บไว้ที่ใด? 4. เกิดเหตุการณ์ใดกับข้อมูลในระหว่างทาง?

  11. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) • แผนภาพกระแสข้อมูล จะแสดงภาพรวมของระบบ และรายละเอียดเกี่ยวกับโปรเซสกับข้อมูล NEEDED (new) EXIST (old) 1 What system Exists now? 4 Create the System needed? PHYSICAL 2 What is the “logic” of What exists? 3 What is the “logic” of System needed? LOGICAL ขั้นตอนการพัฒนาแผนภาพกระแสข้อมูล

  12. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) • DFD ประกอบด้วย ขั้นตอนที่ 1:ศึกษารูปแบบการทำงานทางฟิสิคัลของระบบงานเดิม (Physical-DFD ของระบบงานเดิม) ขั้นตอนที่ 2 :วิเคราะห์เพื่อให้ได้มาซึ่งแบบจำลองทางลอจิคัลของระบบงานเดิม (Logical-DFD ของระบบงานเดิม) ขั้นตอนที่ 3 :นำ Logical-DFD ที่ได้จากขั้นตอนที่ 2 มาเพิ่มเติมความต้องการใหม่เข้าไป ด้วยการปรับปรุงเพื่อเป็นแบบจำลองลอจิคัลของระบบงานใหม่ (Logical-DFD ของระบบงานใหม่) ขั้นตอนที่ 4 :พัฒนางานใหม่ในรูปแบบจำลองฟิสิคัล (Physical-DFD ของระบบงานใหม่)

  13. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) • ชำระเงินค่าสินค้า Logical • ชำระเงินค่าสินค้าด้วยเงินสดหรือบัตรเครดิต Physical มุมมองของผู้ใช้งานในกลุ่มต่างๆ จะใช้ประโยชน์จากแผนภาพกระแสข้อมูลดังรายละเอียดต่อไปนี้ - มุมมองของลูกค้าหรือผู้ใช้งาน แสดงภาพรวมของระบบ - มุมมองของโปรแกรมเมอร์ แสดงรายละเอียด และใช้เป็นแนวทางการพัฒนาโปรแกรม - มุมมองของนักวิเคราะห์ระบบ แสดงภาพรวมของระบบและรายละเอียดของระบบ

  14. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) วัตถุประสงค์ของแผนภาพกระแสข้อมูล 1. เป็นแผนภาพที่สรุปรวมข้อมูลทั้งหมดที่ได้จากการวิเคราะห์ในรูปแบบของการพัฒนาเชิงโครงสร้าง 2. เป็นข้อตกลงร่วมกันระหว่างนักวิเคราะห์ระบบกับผู้ใช้งาน 3. เป็นแผนภาพที่นำไปใช้ประโยชน์ต่อไปในขั้นตอนของการออกแบบระบบ 4. เป็นแผนภาพที่ใช้ในการอ้างอิง หรือเพื่อใช้สำหรับการปรับปรุง/พัฒนาต่อไปในอนาคต 5. ทราบที่มาและที่ไปของข้อมูลที่ไหลไปยังกระบวนการต่างๆ (Data and Processes)

  15. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) รูปแบบของไดอะแกรม ประกอบด้วย อินพุต (Input) เอาต์พุต(Output) กระบวนการ (Process) และข้อมูล (Data) ลักษณะของไดอะแกรม มี 4 สัญลักษณ์หลัก คือ

  16. สัญลักษณ์แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Yourdon/Demarco Gane & Sarson เปรียบเทียบสัญลักษณ์ของ Gane & Sarson และ Yourdon/Demarco

  17. สัญลักษณ์ที่ใช้ในการเขียนแผนภาพกระแสข้อมูล ความหมาย ตัวอย่าง สัญลักษณ์ 1 สัญลักษณ์การประมวลผล เช่ารถ Process สัญญาเช่า สัญลักษณ์กระแสข้อมูล Data Flow External Entity(Source/Sink) ลูกค้า สัญลักษณ์แหล่งที่มาหรือปลายทาง หรือสิ่งที่อยู่ภายนอกขอบเขตระบบ ข้อมูลลูกค้า สัญลักษณ์ข้อมูลที่ถูกจัดเก็บ D1 Data store

  18. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) โปรเซส (Process) เป็นสัญลักษณ์แทนกิจกรรมที่เกิดขึ้นในกระบวนการที่ต้องทำในระบบ แผนภาพกระแสข้อมูลจะต้องมีสัญลักษณ์โปรเซสอย่างน้อยหนึ่งโปรเซสเสมอ โดย ดาต้าโฟลว์ที่อินพุตเข้าไปยังโปรเซส และเมื่อออกจากโปรเซสก็คือ ดาต้าโฟลว์เอาต์พุต ดังนั้นดาต้าโฟล์ที่เอาต์พุตออกมาย่อมได้รับการเปลี่ยนแปลงเสมอ

  19. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) 2 1 คำนวณเกรด ลงทะเบียนเรียน เงินเดือน,ภาษี, ค่าประกันสังคม 5 เงินเดือนสุทธิ คำนวณ เงินเดือนสุทธิ สัญลักษณ์โปรเซสจำเป็นต้องมีหมายเลขกำกับเสมอ ที่เรียกว่า หมายเลขโปรเซส กำหนดเป็นหมายเลข 1,2,3 ตามลำดับ โดยการลำดับหมายเลขของโปรเซส ไม่ได้หมายความว่า ต้องดำเนินกิจกรรมตามลำดับของโปรเซสแต่อย่างใด และที่สำคัญ หมายเลขโปรเซสจะซ้ำกันไม่ได้

  20. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) 2 1 คำนวณเกรด ลงทะเบียนเรียน เงินเดือน,ภาษี, ค่าประกันสังคม 5 เงินเดือนสุทธิ คำนวณ เงินเดือนสุทธิ สำหรับชื่อที่ใช้กำกับโปรเซส มักใช้ *คำกริยา*ซึ่งเป็นการกระทำ เช่น ลงทะเบียน,ชำระเงิน , เช่ารถ , พิมพ์รายงาน เป็นต้น จำนวนโปรเซส ควรอยู่ระหว่าง 7+-2 นั่นหมายถึง 5 ถึง 9 โปรเซส

  21. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) 2 1 คำนวณเกรด ลงทะเบียนเรียน โปรเซสจะไม่มีการแสดงรายละเอียดเกี่ยวกับวิธีการทำงาน แต่โปรเซสจะทำให้ ทราบว่ามีอินพุตอะไรเข้าไปบ้าง และเมื่อผ่านการประมวลผลแล้วได้เอาต์พุต อะไรออกมา ซึ่งรายละเอียดวิธีการทำงานของแต่ละโปรเซส จะปรากฏอยู่ใน *คำอธิบายการประมวลผล (Process Description)*

  22. Process • แสดงถึงการทำงานหรือการกระทำบางอย่างกับข้อมูล(ภายในระบบ) • Labels should beverb phrases • มีการนำเข้าข้อมูล (input data) and ส่งออกข้อมูล (output) เสมอ

  23. Rule 1: Process • Can have more than one outgoing data flow or more than one incoming data flow

  24. Rule 2: Process • Can connect to any other symbol (including another process symbol)

  25. Process: Correct/Incorrect? 1. 2. 3.

  26. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Syntax : ดาต้าโฟลว์ (Data Flows) ดาต้าโฟลว์หรือกระแสข้อมูล ทำให้ทราบถึงข้อมูลที่เคลื่อนไหวไปมาระหว่างโปรเซส ** เมื่อมีดาต้าโฟลว์ที่อินพุตเข้าไปในโปรเซส ก็จะต้องมีดาต้าโฟลว์ที่เอาต์พุตออกมาเสมอ **โดยอาจมีอินพุตหรือเอาต์พุตของดาต้าโฟลว์มากกว่าหนึ่งจุดก็เป็นได้ ** Input // Output เสมอ

  27. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) D3 ข้อมูลอัตราภาษีและประกันสังคม แผนกการเงิน 5 เงินเดือนสุทธิ, สลิปเงินเดือน เงินเดือน,ภาษี, ค่าประกันสังคม คำนวณ เงินเดือนสุทธิ พนักงาน D2 D1 ข้อมูลพนักงาน ข้อมูลเงินเดือน แสดงดาต้าโฟลว์ที่เคลื่อนไหวในระบบ

  28. Data Flow • เป็นเส้นทางเดินของข้อมูลซึ่งเคลื่อนย้ายจากส่วนหนึ่งไปอีกส่วนหนึ่ง ของระบบ • สัญลักษณ์ลูกศร บรรยายถึงการเคลื่อนย้ายของข้อมูล • สามารถแทนการเคลื่อนที่ของข้อมูลระหว่าง process and data storeโดยแยกเป็นลูกศร 2 เส้น

  29. Data Flow: Correct/Incorrect?

  30. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Syntax : External Entity(Source/Sink) ทำหน้าที่ส่งและรับข้อมูลจากโปรเซส โดยดาต้าโฟลว์ที่อินพุตเข้ามายังโปรเซสถือเป็น แหล่งกำเนิดข้อมูล (data source or Source)ในขณะที่ดาต้าโฟลว์ที่เอาต์พุตออกมาจากโปรเซสก็จะถูกส่งไปยังปลายทาง (destination or Sink) *External Entity สามารถเป็นได้ทั้งบุคคล หน่วยงานหรือระบบงาน ซึ่งจะต้องเป็นสิ่งที่อยู่ภายนอกขอบเขตของโปรเซส เช่น ลูกค้า , ร้านค้าตัวแทนจำหน่าย (supplier)

  31. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) External Entity External Entity มักจะถูกจัดให้อยู่บริเวณด้านนอกหรือรอบๆ ของแผนภาพ เพื่อให้แผนภาพแลดูสวยงาม และง่ายต่อการดู External Entity ในบางครั้งอาจจำเป็นต้องกระทำซ้ำ (duplicate) เนื่องจากข้อจำกัดในด้านของการเชื่อมโยงดาต้าโฟลว์ อาจทำให้เส้นโฟลว์ทับซ้อนกันหรือข้ามกันไปมาได้ สามารถทำเครื่องหมาย \ (black slash) ไว้ที่ตรงมุมล่างซ้าย

  32. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) นักศึกษา นักศึกษา External Entity ของนักศึกษาและสัญลักษณ์การทำซ้ำ

  33. Source/Destination (External Entity) • External entity เป็นต้นทางหรือปลายทางของข้อมูล (outside the system),แผนก/ฝ่าย (department) • องค์กร หรือหน่วยงานภายนอก(outside organisation) • Person ,Labels should be noun phrases

  34. Rule: Source/Dest. • Must be connected to a process by a data flow

  35. Source/Destination: Correct/Incorrect?

  36. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Syntax : ดาต้าสโตร์ (Data Stores) เป็นแหล่งที่ใช้เก็บข้อมูล ดาต้าสโตร์จะต้องมีชื่อข้อมูล และมีการกำหนดลาเบล (Label) เช่น D1,D2,D3 ตามลำดับ D1 ข้อมูลนักศึกษา Input ลูกศรจากดาต้าสโตร์ชี้ไปยังโปรเซส (Input) เป็นสัญลักษณ์ของการ Inputซึ่งเกี่ยวข้องกับ การเรียก (Retrieved) หรือการอ่านข้อมูลจาก ดาต้าสโตร์ขึ้นมา เช่น อ่านข้อมูลจากแฟ้มนักศึกษา หรือเรียกรายการข้อมูลลงทะเบียนของนักศึกษาขึ้นมา เป็นต้น 1 Process 1

  37. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Syntax : ดาต้าสโตร์ (Data Stores) เป็นแหล่งที่ใช้เก็บข้อมูล ดาต้าสโตร์จะต้องมีชื่อข้อมูล และมีการกำหนดลาเบล (Label) เช่น D1,D2,D3 ตามลำดับ D2 ข้อมูลนักศึกษา Output ลูกศรจากโปรเซสชี้ไปยังดาต้าสโตร์ (Output) เป็นสัญลักษณ์ของการ Outputซึ่งเกี่ยวข้องกับ การเพิ่มข้อมูลลงในดาต้าสโตร์ และรวมถึงการปรับปรุง เช่น การบันทึกข้อมูลนักศึกษาใหม่ หรือ การปรับปรุงข้อมูลนักศึกษา 2 Process 2

  38. แผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) Syntax : ดาต้าสโตร์ (Data Stores) เป็นแหล่งที่ใช้เก็บข้อมูล ดาต้าสโตร์จะต้องมีชื่อข้อมูล และมีการกำหนดลาเบล (Label) เช่น D1,D2,D3 ตามลำดับ D3 ข้อมูลนักศึกษา ลูกศรบนปลายทั้งสองด้าน (Input/Output) เป็นสัญลักษณ์ของการเป็นทั้งอินพุตและเอาต์พุต ซึ่ง เกี่ยวข้องกับการปรับปรุงข้อมูลลงในดาต้าสโตร์ โดยจะมีการดึงข้อมูลจากดาต้าสโตร์ขึ้นมาและ ทำการเปลี่ยนแปลงจากนั้นก็จัดเก็บลงไปใหม่ Input/Output 1 Process 1

  39. Rules for Using DFD Symbols YES NO • Data Flow That Connects

  40. การประเมินคุณภาพในการเขียน DFD (Evaluating DFD Quality) • อ่านง่าย (Readable) • เป็นไปตามกฎข้อบังคับ • สัญลักษณ์มีความถูกต้อง • มี Process ประมาณ • Rule: 7 +/- 2 Process เพื่อป้องกันการ Overload • ต้องมี process อย่างน้อย 1 process ใน DFD

  41. ข้อบังคับของ DFD (Consistency Rules) • ข้อมูลทั้งหมดที่ไหลเข้าหรือเคลื่อนที่เข้าสู่ Process ต้อง (Must) มีการไหลออก • ข้อมูลที่ไหลออกหรือเคลื่อนที่ออกจาก Process ต้อง (Must)มีการไหลเข้า

  42. ตัวอย่างแผนภาพกระแสข้อมูลที่ถูกต้องตัวอย่างแผนภาพกระแสข้อมูลที่ถูกต้อง การเชื่อมต่อ 1 นักศึกษา ลงทะเบียน ใบลงทะเบียนเรียน External Entity->Process 4 ชำระเงิน ใบเสร็จรับเงิน นักศึกษา Process ->External Entity ปีการศึกษาใหม่, อัตราค่าหน่วยกิต 3.1 ปิดภาค การศึกษา 3.2 เปิดภาค การศึกษาใหม่ Process ->Process 1 ลงทะเบียน วิชาที่ลงทะเบียน รายการลงทะเบียน D7 Process ->Data store

  43. ตัวอย่างแผนภาพกระแสข้อมูลที่ถูกต้องตัวอย่างแผนภาพกระแสข้อมูลที่ถูกต้อง 5 แจ้งจบ การศึกษา รหัสนักศึกษา D7 ข้อมูลนักศึกษา Data Store ->Process

  44. Rules for Using DFD Symbols List the errors of this DFD

  45. Rules for Using DFD Symbols List the errors of this DFD

  46. Unnecessary Data Input: Black Hole

  47. Process with Impossible Data Output: Miracle

  48. Process with Unnecessary Data Input

  49. Process with Impossible Data Output

  50. กฎเกณฑ์การเขียนแผนภาพกระแสข้อมูล (DFDs Of Rules) มีกฎเกณฑ์ คือ 1. วิเคราะห์ให้ได้ว่า ระบบควรประกอบด้วย External entity อะไรบ้าง ไม่ว่าจะเป็นบุคคล หน่วยงานหรือระบบงานต่างๆ ? 2. ดำเนินการเขียนแผนภาพที่แสดงถึงสภาพแวดล้อมโดยรวมของระบบ หรือเรียกว่าคอนเท็กซ์ไดอะแกรม (Context Diagram) 3. วิเคราะห์ข้อมูลในระบบว่า ควรมี Data store อะไรบ้าง 4. วิเคราะห์กระบวนการหรือโปรเซสในระบบว่า ควรมีโปรเซสหลักๆ อะไรบ้าง ประกอบด้วยโปรเซสย่อยอะไรบ้าง?

More Related