วันเสาร์ที่ 18 มิถุนายน พ.ศ. 2554

การวิเคราะห์และออกแบบระบบ DFD

ระบบ (System) คือกลุ่มขององค์ประกอบต่างๆ ที่ทำงานร่วมกันเพื่อจุดประสงค์อันเดียวกัน ระบบอาจจะประกอบด้วย บุคคลากร เครื่องมือ เครื่องใช้ พัสดุ วิธีการ ซึ่งทั้งหมดนี้จะต้องมีระบบจัดการอันหนึ่ง เพื่อให้บรรลุจุดประสงค์อันเดียวกัน เช่น ระบบการเรียนการสอน มีจุดประสงค์เพื่อให้นักเรียนได้รับความรู้ในเนื้อหาวิชาที่สอน

การวิเคราะห์ระบบ (System Analysis) คือ การหาขอบเขต (Scope) และความต้องการ (Requirements) ของระบบสารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ

การออกแบบระบบ (System Design) คือ การนำสิ่งที่วิเคราะห์ระบบมาแล้ว นำมาเขียนเป็นแผนภาพแสดงกระแสข้อมูล

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

นักวิเคราะห์ระบบ (System analyst) คือ มีหน้าที่วางแผน ออกแบบ และวิเคราะห์งานคอมพิวเตอร์ นักวิเคราะห์ระบบจะทำงานร่วมกับผู้ใช้งานและโปรแกรมเมอร์ โดยการสอบถามความต้องการของผู้ใช้ ว่าต้องการโปรแกรมหรือ

ระบบงานคอมพิวเตอร์ในลักษณะใด จากนั้นนักวิเคราะห์ระบบจะทำการวิเคราะห์และออกแบบระบบงานคอมพิวเตอร์ ให้ตรงกับความต้องการของผู้ใช้เพื่อมอบให้นักเขียนโปรแกรมทำการเขียนโปรแกรม เพื่อนำมาพัฒนาเป็นระบบงานต่อไป นักวิเคราะห์ระบบที่ดีควรจะต้องมีความรู้พื้นฐานในการเขียนโปรแกรมด้วย

ขั้นตอนการวิเคราะห์และออกแบบระบบเบื้องต้นในระดับภาพรวม

1.การวิเคราะห์ขอบเขตของระบบ

1.1 วิเคราะห์ขอบเขตของระบบ (Scope) คือ การกำหนดระบบงานหลักในภาพรวม หรือระบบงานกว้างๆ ว่าเราต้องจะทำอะไรที่มีจุดประสงค์เป็นอันหนึ่งอันเดียวกัน

1.2 วิเคราะห์สิ่งที่อยู่นอกระบบ (External ) คือ การวิเคราะห์องค์ประกอบที่อยู่นอกขอบเขตของระบบว่ามีองค์ประกอบใดบ้าง ซึ่งเราจะไม่สนใจการทำงานนอกระบบที่ไม่ต้องการ แต่องค์ประกอบเหล่านี้มีการติดต่อกันระหว่างระบบภายในระบบกับภายนอกระบบ หากเราไม่สามารถวิเคราะห์ External เนื่องจากขาดประสบการณ์ในการวิเคราะห์ระบบ อาจจะกำหนดให้ External นี้คือ ผู้ใช้งานทั่วไป (User) ก็ได้

2. การออกแบบระบบ

การเขียน DFD ของ Context Diagram หรือการเขียนขอบเขตของระบบ คือ การตั้งชื่อขอบเขตของระบบมากำหนดข้อมูล (Data) และสารสนเทศ (Information) ว่ามีการนำข้อมูลนำเข้ามาในระบบมีอะไรบ้าง และเมื่อข้อมูลนั้นผ่านกระบวนการต่างๆ แล้วจะออกมาเป็นผลลัพธ์อะไรบ้าง ในลักษณะสารสนเทศอย่างไร ดังรูปแบบการเขียนดังนี้



นางสาวธารทิพย์ โลหณุต (แพร)

5 ความคิดเห็น:

  1. พอดีไปเจอมาน่ะ วิธีสร้าง DFD
    1. กำหนดสิ่งที่อยู่นอกระบบทั้งหมด และหาว่าข้อมูลอะไรบ้างที่เข้าสู่ระบบหรือออกจากระบบที่เราสนใจเข้าสู่ระบบที่อยู่ภายนอก ขั้นตอนนี้สำคัญมากเพราะจะทำให้ทราบว่าขอบเขตของระบบนั้นมีอะไรบ้าง
    2. ใช้ข้อมูลที่ได้จากขั้นตอนที่ 1 นำมาสร้าง DFD ต่างระดับ
    3. ขั้นตอนต่อมามีอีก 4 ขั้นตอน โดยให้ทำทั้ง 4 ขั้นตอนนี้ซ้ำหลาย ๆ ครั้ง จนกระทั่งได้ DFD ระดับต่ำสุด
    • เขียน DFD ฉบับแรก กำหนดโพรเซสและข้อมูลที่ไหลเข้าออกจากโพรเซส
    • เขียน DFD อื่นๆ ที่เป็นไปได้จนกระทั่ง DFD ที่ถูกที่สุด ถ้ามีส่วนหนึ่งส่วนใดที่รู้สึกไม่ง่ายนักก็พยายามเขียนใหม่อีกครั้งหนึ่ง แต่ไม่ควรเสียเวลาเขียนจนกระทั่งได้ DFD ที่สมบูรณ์แบบ เลือก DFD ที่เห็นว่าดีที่สุดในสายตาของเรา
    • พยายามหาว่ามีข้อผิดพลาดอะไรหรือไม่ ซึ่งมีรายละเอียดในหัวข้อ "ข้อผิดพลาดใน DFD"
    เขียนแผนภาพแต่ละภาพอย่างดี ซึ่งDFD
    ฉบับนี้จะใช้ต่อไปในการออกแบบและใช้ด้วยกันกับบุคคลอื่นๆที่เกี่ยวข้องในโครงการด้วย
    4. นำแผนภาพทั้งหมดที่เขียนมาแล้วเรียงลำดับ ทำสำเนา แล้วพร้อมที่จะนำไปตรวจสอบข้อผิดพลาดกับผู้ร่วมทีมงาน ถ้ามีแผนภาพใดที่มีจุดอ่อนให้กลับไปเริ่มต้นใหม่ที่ขั้นตอนที่ 3 อีกครั้งหนึ่ง
    5. นำ DFD ที่ได้ไปตรวจสอบข้อผิดพลาดกับผู้ใช้ระบบเพื่อหาว่ามีแผนภาพใดไม่ถูกต้องหรือไม่
    6. ผลิตแผนภาพฉบับสุดท้ายทั้งหมด

    โดย นางสาวณัฐธีรดา ละดาดก (นิด)

    ตอบลบ
  2. ข้อผิดพลาดใน DFD

    การเขียน DFD อาจเขียนได้หลายแบบ ผลลัพธ์ฉบับสุดท้ายอาจจะไม่เหมือนกันถ้าเขียนโดยนักวิเคราะห์ระบบคนละคน ถึงอย่างไรแนวทางการเขียน DFD ซึ่งจะช่วยให้เราเขียน DFD ได้ถูกต้องมากขึ้นก็มีอยู่บ้าง ซึ่งพอสรุปได้ดังนี้

    1. ถ้า DFD ซับซ้อนมาก ทุกๆ นิ้วในกระดาษถูกใช้งานหมด แสดงว่า DFD นั้นควรแตกย่อยไปอีกระดับหนึ่งหรือมากกว่าหนึ่ง

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

    3. การตั้งชื่อโพรเซสนั้นไม่ง่ายนัก อาจจะมีปัญหา 2 อย่าง คือ โพรเซสนั้นควรจะแยกออกเป็น 2 ส่วน หรือเราไม่ทราบว่ามีอะไรว่ามีอะไรเกิดขึ้นบ้างในโพรเซสนั้น ๆ ในกรณีนี้เราต้องศึกษาระบบให้ละเอียดยิ่งขึ้น

    4. จำนวนระดับในแต่ละแผนภาพแตกต่างกันมาก เช่น โพรเซสที่ 1 มีลูก 2 ชั้น แต่โพรเซสที่ 2 มีลูก 10 ชั้น แสดงว่าการแบ่งจำนวนโพรเซสไม่ดีนัก จำนวนลูกโพรเซสไม่จำเป็นต้องเท่ากัน แต่ไม่ควรจะแตกกันมากนัก

    5. มีการแตกแยกย่อยข้อมูล รวมตัวกันของข้อมูล หรือมีการตัดสินใจในโพรเซส แสดงว่าโพรเซสนั้นไม่ถูกต้อง การแยกข้อมูลหรือรวมตัวของข้อมูลเป็นหน้าที่ของพจนานุกรมข้อมูล การตัดสินใจเป็นรายละเอียดอยู่ในคำอธิบายโพรเซส

    ศกุนตรา โชติเทียน (หญิง)

    ตอบลบ
  3. Data Flow Diagram มีประโยชน์อย่างมาก คือ สามารถใช้ได้อย่างอิสระในการวิเคราะห์ ระบบโดยไม่ต้องมีเทคนิคอื่นมาช่วย เนื่องจากสามารถใช้สัญลักษณ์ต่าง ๆ แทนสิ่งที่วิเคราะห์นั้นได้ และง่ายต่อการแสดงความสัมพันธ์ ระหว่างระบบย่อยกับระบบใหญ่ให้เห็นชัดเจน ซึ่งทำให้ผู้ใช้ แผนภาพนั้นเข้าใจความสัมพันธ์ต่าง ๆ ได้สะดวก ช่วยให้การวิเคราะห์เป็นไปได้ โดยง่ายและมีความเข้าใจตรงกันระหว่างผู้วิเคราะห์ระบบกับ โปรแกรมเมอร์ หรือระหว่างผู้วิเคราะห์กับผู้ใช้ระบบ โดยทำให้เห็นถึงข้อมูล และขั้นตอนต่าง ๆ ของระบบเป็นแผนภาพการไหลของข้อมูล

    โดย นางสาวน้ำผึ้ง รักแดง (ลูกน้ำ)

    ตอบลบ
  4. Data Flow Diagram มีประโยชน์มาก และมีหลากหลายรูปแบบขึ้นอยู่กับผู้ใช้ ซึ่งจะช่วยอำนวยความสะดวกในการวิเคราะห์โปรแกรมได้เป็นอย่างดี เป็นสิ่งที่ควรศึกษาหาความรู้เพิ่มเติม

    By กันต์ อึงรัตนากร (กัน)

    ตอบลบ
  5. (เพิ่มเติม) สิ่งที่ควรทราบเกี่ยวกับการเขียน DFD
    • External Entity หรือ Terminators ควรจะอยู่ซ้ายมือถ้าเป็นแหล่งอินพุต และอยู่ขวามือถ้าเป็นที่รับเอาต์พุต

    • External Entity หรือ Terminators ไม่สามารถเชื่อมต่อกันได้โดยตรงโดยไม่ผ่านกระบวนการหรือโพรเซสใดๆ

    • Data Store จะไม่ปรากฏอยู่ใน DFD ระดับสูงสุด (Context Diagram) แต่จะปรากฏอยู่ในการเขียนแผนภาพการไหลของข้อมูลหรือ DFD ในระดับ 1 ลงไป

    • ในระดับที่ต่ำลงมา Data Store จะปรากฎก็ต่อเมื่อมีการเรียกใช้จากโพรเซสใดโพรเซสหนึ่งเท่านั้น

    • Data Store อาจถูกใช้เป็นตัวเชื่อมโพรเซสก็ได้ถ้าเหมาะสม

    • Data Store ไม่สามารถเชื่อมต่อกันได้โดยตรงถ้าไม่ผ่านกระบวนการหรือโพรเซสใดๆ

    • การตั้งชื่อโพรเซสต้องเป็นคำกริยาตามด้วยคำนาม ที่มีความหมายตรงกับหน้าที่ของโพรเซสนั้นๆ ยกเว้นโพรเซสในระดับ Contex Diagram อนุญาตให้เป็นคำนามได้

    • ใน DFD ทุกๆ แผนภาพ ควรจะมีจำนวนโพรเซสเพียง 2 -7 โพรเซส อาจจะมีมากกว่านี้ได้ถ้าจำเป็น

    • จำนวน DFD ระดับลูกถัดจากระดับสูงสุด ควรจะมีอย่างน้อย 2 ระดับ ถ้าให้ดีควรจะเป็น 3 หรือมากกว่า

    • ไม่ควรตั้งชื่อโพรเซสโดยใช้คำที่มีความหมายกว้างเกินไป เช่น แก้ไข จัดรูปแบบ ควรจะมีคำนามตามมาเพื่อระบุกระบวนการทำงานที่ชัดเจนลงไป

    • หลีกเลี่ยงการรวมการทำงานหนึ่งๆ ที่เหมือนกันแต่ต่างเวลากันเป็นโพรเซสเดียว

    • ตั้งชื่อ Data Flow ที่แตกต่างกันให้เข้าใจความหมายที่เข้าใจง่าย

    • การตั้งชื่อ Data Flow ตามที่ข้อมูลได้เปลี่ยนแปลงไปหลังจากออกมาจากโพรเซส

    • ข้อมูลที่เข้ามาหรืออกจากโพรเซสไม่จำเป็นต้องมีชื่อกำกับก็ได้

    • ข้อมูลจะต้องสมดุลกันระหว่าง DFD ระดับแม่และลูก ยกเว้นสำเนาของรายงาน


    น.ส. ศุภญานี แต้มคุณ (มุก)

    ตอบลบ

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น