Docstoc

Data Flow Diagram - Download as PowerPoint

Document Sample
Data Flow Diagram - Download as PowerPoint Powered By Docstoc
					          Data Flow Diagram


Process                     Terminator           Process


                                                           Store
                    Store               Terminator

          Jiraphan Computer Education, KMITNB
        Module Objectives

   บอกหน้าที่ของการใช้   Data Flow Diagram (DFD).

   จาแนกส่วนประกอบของ DFD. ได้

   เขียน DFD เพื่อแสดงให้เห็นการทางานของระบบได้

   เขียน DFD ในระดับแยกย่อยได้
        Key Terms

   Data Flow, Data Flow Diagram

   Terminator, Sink, Source

   Process

   Data Packet

   Context Diagram
           Focus of a DFD

 ใช้สัญลักษณ์ที่เข้าใจง่าย
       ผู้ใช้อ่านแล้วเข้าใจได้ง่าย


 เขียน DFD แต่ละระดับให้พอดีกับกระดาษหนึ่งหน้า
         7 (บวกลบ 2) elements.

 ซอฟท์แวร์ที่ใช้เขียน DFD ในปัจจุบันมีใช้อย่างแพร่หลาย
          Components of a DFD

 ส่วนประกอบของ DFD มีอยู่ 4 :
         - Process
         - Data Flow
         - Data Store
         - Data Source / Data Sink (Terminators)
 คาอธิบายรายละเอียดของ Data Flow และ Data Store จะอยู่ในส่วน
  ของ Data Dictionary
 รายละเอียดของ Process จะเขียนอธิบายใน process specifications.
          DFD Symbols

 การเขียน DFD โดยส่วนใหญ่จะมี 2 มาตรฐาน:
      Gane & Sarson and
      DeMarco & Yourdon


                   (ดูใน Sheet)
                Process

 เปลี่ยน Inputs ให้เป็น Outputs
 ชื่อ Process ควรสื่อให้เห็นถึงการกระทาใด ๆ
      ควรเป็น verb-object phrase (วลีสั้น ๆ ที่มีกริยา +กรรม)

 มีหมายเลขกากับในแต่ละ Process
               Data Flow

 แสดงถึงการเคลื่อนที่ของ Information จาก Component ไปสู่
   Component
 ชื่อของ Data Flow แสดงถึงสิ่งที่เคลื่อนจากจุดหนึ่งไปยังจุดหนึ่ง
 ชื่อของ Data Flow ต้องเป็นคานาม (noun)
          - student
          - student_name, student_address
                 Data Flow (cont)

 ไม่ต้องแสดงรายละเอียดในชื่อของ Data Flow
          - first_student
          - student_with_grades_greater_c

 เขียนประกอบกับลูกศรแสดงทิศทาง
 ข้อมูลที่มีรูปแบบที่แตกต่างกัน อาจจะมีชื่อที่แตกต่างกันไป
             Data Flow (cont)

 Data ที่เคลื่อนที่ผ่าน Process จะต้องมีการเปลี่ยนแปลง ดังนั้นชื่อ
  ที่ผ่าน Process ก็ต้องเปลี่ยนไปด้วย
 หัวลูกศรจะแสดงถึงทิศทางของ Data
 การไหลของข้อมูลอาจจะ converge หรือ diverge
             Data Store

 กลุ่มของ Data ที่มีการบันทึกไว้
 ชื่อที่ใช้ใน Data Store จะต้องเป็นพหูพจน์ (Plural)
 อาจจะมีลักษณะทางกายภาพที่แตกต่างกันไป
        Flows From a Store

 Flow ที่มาจาก Data Store อาจจะ:
       ข้อมูลทุกส่วน

       ข้อมูลหลาย   ๆ ส่วน
       ข้อมูลบางส่วน


 ข้อมูลที่ไหลมาจาก Data Store จะต้องไม่ถูกเปลี่ยนแปลงโดย Flow
  ของข้อมูล
           Flows Into a Store

 Flow ที่ไหลเข้า Data Store อาจจะ:
       ข้อมูลทุกส่วน

       ข้อมูลหลาย    ๆ ส่วน
       ข้อมูลบางส่วน


 Flow ที่ไหลเข้า Data Store จะต้องเปลี่ยนแปลงข้อมูล
       เช่น   บันทึกข้อมูล หรือ ลบข้อมูล
     Terminators (Source / Sink)

 เป็นสิ่งภายนอกระบบที่มีการติดต่อกับระบบ
 Flow เป็น Interface ระหว่างระบบกับ Terminator

 จะต้องไม่ถูกเปลี่ยนแปลงโดยระบบ
     Terminators (Source / Sink) cont.

 อยู่ภายนอกระบบ หรือกล่าวได้ว่าอยู่ภายนอกโดเมนของระบบ
 DFD จะไม่แสดงถึงความสัมพันธ์ระหว่าง Terminator
  กับระบบ
 อาจจะเป็นคน ระบบอื่น ๆ อุปกรณ์ เช่น Sensor เป็นต้น
             Guidelines for DFDs
 ใช้ชื่อที่มีความหมาย สื่อเข้าใจ:
          Processes:
             หลีกเลี่ยงการตั้งชื่อ Process ที่เข้าใจยาก
                                   ี
             ส่วนใหญ่จะเป็นวลีที่มกริยาผสมกรรม (verb-object phrase)
             ใช้คาศัพท์ที่ผู้ใช้คุ้นเคย
          Data Flows:
             ใช้คานามตั้งชื่อ Data Flows
          Data Stores:
             ใช้คานามตั้งชื่อ Data Stores โดยส่วนใหญ่จะเป็นพหูพจน์ของ Data
              Flows
           Number the Processes

 ตัวเลขที่เขียนกากับใน Process มิใช่ลาดับการทางานใน DFD
 การเขียนตัวเลขกากับใน Process จะใช้ในการสื่อถึงการแตกลาดับ
  ขั้น
        เพื่อให้รู้ว่า DFD Level ย่อยใด ๆ ถูกแตกจาก Process ใด
        เช่น Process 1.1, 1.2, 1.3 มาจาก Process ที่ 1.0 เป็นต้น
               Avoid Complexity

 หลีกเลี่ยงความซับซ้อน และยุ่งยาก (จา Magic Number 7)
 DFD ที่ Level ใด ๆ ควรเขียนพอดีบนกระดาษขนาด 8.5 x 11
  นิ้ว (กระดาษ A4)
 ยกเว้นการเขียน Context Diagram
      บางครั้งอาจจะดูซับซ้อน
      ถือว่ายอมรับได้ แต่เมื่อแตกย่อยลงไปแล้ว จะต้องไม่ซับซ้อน
       Redraw the DFD as Required
 ตรวจสอบทุกครั้งว่าเขียนได้ถูกต้องตรงตามมาตรฐาน
 เขียนจนกว่าจะเป็นที่ยอมรับของผู้ใช้
 เน้นความสวยงาม อ่านเข้าใจง่าย
        ใช้สัญลักษณ์ที่ตรงตามมาตรฐานเดียวกัน

        ขนาดและรูปร่างของ     Componet สมส่วน
        เลือกใช้   Pipeline หรือ Flow ให้เหมาะสมและเข้ากัน
        หลีกเลี่ยงข้อมูลที่ไหลตัดกัน   (Cross flow)
          Curved VS Pipeline

 การเลือกใช้เส้น Flow แบบ Curved หรือ Pipeline นั้นให้
  ถือว่าเป็นข้อตกลงของผู้ร่วมเขียน DFD และความพอใจของกลุ่ม
               Logically Consistent

 หลีกเลี่ยง Process แบบ “black hole” คือ Process แบบว่างเปล่า
 หลีกเลี่ยง Process แบบ “spontaneous generator”
การเริ่มของชีวิตจากสิ่งที่ไม่มีชีวิต
 ตรวจสอบ Component ใด ๆ ที่ไม่ได้เขียนชื่อกากับ
 ระมัดระวัง Data Store ที่เป็นแบบ read-only หรือ write-only
           Guideline for DFD

 ใช้คาที่ตั้งชื่อในแต่ละ Component ที่มีความหมาย
 เขียนหมายเลขกากับที่ทุก Process
 ตรวจสอบ DFD หลังจากเขียนเสร็จ
 เขียนให้อ่านง่าย เข้าใจได้ง่าย
 ใช้มาตรฐานเดียวกันทุก Level
     Decomposition of DFDs: Leveling

 แต่ละ Level ของ DFD ต้องอธิบายรายละเอียดของ DFD ที่
  ระดับบนของ DFD นั้น
 Context diagram เป็น DFD ระดับบนสุด
 Level 0 จะเป็น DFD ที่ต้องเขียนต่อหลังจาก Context
  Diagram ซึ่งจาเป็นต้องมีทุกครั้ง
             Levels Required

 Small systems: 2 – 3 levels
 Medium systems: 3 – 4 levels
        - Maximum 74 = 2,401 processes and stores

 Large systems: 5 – 8 levels
        - Maximum 78 = 5,764,801 processes and stores
                                               ตย.
  Video
Purchase            Video Information                    Management Reports        Management
 System
               New Customer Information

                 Video
                 Rental Item                                  Rental Receipt
                                               0
Customer         Customer ID              Video Rental        Video Rental Card     Customer
                 Payment
                                             System           Monthly Bonus Card


                                                              Yearly Bonus Card
           Returned Video Information

                                                     Total Cash Received
                                                                                   Accounting
               Use Case Diagram

 ใช้เพื่ออธิบายฟังก์ชันของระบบในมุมมองของกลุ่มผู้ใช้ระบบ
 เป็นเทคนิคในการสร้างแบบจาลองเพื่อใช้อธิบายหน้าที่ของระบบใหม่
  หรือระบบปัจจุบัน
 ความต้องการของระบบจะได้จาก ลูกค้า/ผู้ใช้ และผู้พัฒนาระบบ
               Use Case Diagram

 ใน Diagram จะประกอบด้วยสัญลักษณ์ต่อไปนี้
      Use Case
      Actor
      Use case Relation
      System
               Use Case Diagram
                SimpleWatch


       Actor
                    ReadTime



                     SetTime
WatchUser                         WatchRepairPerson

    Use case
                  ChangeBattery

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:1231
posted:4/12/2011
language:English
pages:28
Description: บอกหน้าที่ของการใช้ Data Flow Diagram (DFD). จำแนกส่วนประกอบของ DFD. ได้ เขียน DFD เพื่อแสดงให้เห็นการทำงานของระบบได้ เขียน DFD ในระดับแยกย่อยได้