บทที่ 9
การประมวล

วัตถุประสงค์เชิงพฤติกรรม (Behavioral Objectives) บทที่ 9
หลังจากศึกษาบทเรียนนี้แล้ว นักศึกษาจะมีความสามารถดังนี้ 

1  อธิบายจุดมุ่งวงหามายการประมวลผล
2  บอกประเภทการประมวลผลที่ไม่ต้องมีการอธิบาย 
3   ยกตัวอย่างคำอธิบายการประมวลผล 
4   ระบุวิธีการอธิบายการประมวลผล 
5  อธิบายภาพกระแสข้อมูล 
6  บอกกฎการเขียน DFD ได้ถูกต้อง
7  ยกตัวอย่างระบบงานห้องสมุด
8  ยกตัวอย่างการสร้าแบบสำหรับระบบใหม่ 
9  ยกตัวอย่างการออกแบบระบบระดับกายภาพ 
10  จัดบอร์ดเชิงปฏิบัติการ “การประมวลผล”
11  สนทนาเชิงปฏิบัติการ “ขั้นตอนการสร้างตารางการตัดสินใจ (Decision Table)”  
12  สนทนาเชิงปฏิบัติการ “ แผนภาพกระแสข้อมูล“
13  สนทนาเชิงปฏิบัติการ “ การพัฒนาโปรแกรมระบบงานห้องสมุด“
14  SWOT Analysis “การสร้างแบบระบบใหม่”
15  SWOT Analysis “การออกแบบระดับกายภาพ”
16  อธิบายคำศัพท์ได้ 14 คำ

บทที่ 9 
การประมวลผล 
จุดมุ่งหมายการประมวลผล 

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

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

วิธีการอธิบายการประมวลผล

  1. ประโยคโครงสร้าง (Structure Sentences)
  2. การตัดสินใจแบบตาราง(Decision Tables)
  3. ผังต้นไม้(Decision Tree)

นักวิเคราะห์ระบบจะเลือกใช้วิธีการใดวิธีการหนึ่งหรือใช้ปนกันก็ได้ขึ้นอยู่กับความเหมาะสม  แต่ไม่ว่าจะเขียนด้วยวิธีใด ๆ เมื่อเขียนแล้วควรจะมีคุณสมบัติดังนี้

 

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

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

    1. ความชอบของผู้ใช้
    2. ความชอบของผู้เขียน
    3. ลักษณะการทำงานของโพรเซสเซอร์

ประโยคโครงสร้าง (Structure Sentences)
วิธีนี้ใช้การอธิบายเป็นประโยคเขียนให้มีลักษณะเป็นโครงสร้างคล้าย ๆ การเขียนโปรแกรมโครงสร้าง  การเขียนประโยคโครงสร้างอาจเลือกใช้คำศัพท์ต่าง ๆ กันดังนี้

  • ใช้คำกริยาที่เมื่อทำแล้วมีความหมายว่าได้ผลลัพธ์บางอย่างออกมา  เช่น  “คำนวณ”

สิ่งนั้นสิ่งนี้ หรือ “เปรียบเทียบ” สิ่งนั้นกับสิ่งนี้  เป็นต้น  คำกริยาที่อาจจะเลือกใช้ได้เช่น
GET COMPUTE
PUT DELETE
FIND VALIDATE
ADD MOVE
SUBTRACT REPLACE
MULTIPLR SET
DIVIDE SORT เป็นต้น

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

1. ถ้า........มิฉะนั้น(if…….else…….)
2. กรณี......(case)
3. ทำซ้ำ(Do3…….loop)
4. ทำตามลำดับ (Sequence)

 

สรุปประโยคโครงสร้าง  ประโยคโครงสร้างและตารางตัดสินใจเป็นเครื่องมือที่ใช้อธิบายการทำงานภายในของ PROCESS ควรจะเลือกวิธีเขียนอธิบายการทำงานที่ดีและเหมาะสมกับงานนั้น ๆ

วิธีการตัดสินใจแบบตาราง (Decision  Table)
การตัดสินใจแบบตารางเป็นตาราง 2 มิติโดยที่แถวตั้งด้านซ้ายเป็นเงื่อนไขและแถวนอนเป็นรายละเอียดของเงื่อนไขที่ทั้งหมดก่อน  ตามด้วยกิจกรรมทั้งหมดที่มีในการประมวลผลนั้น และช่างถัดมาคือ กฎต่าง ๆ ที่เป็นตัวกำหนดผลในการกระทำกิจกรรมนั้น

รูปหลักการเขียนตารางตัดสินใจ (Decision Table)
ขั้นตอนการสร้างตารางตัดสินใจ(Decision Table)

  • พิจารณาว่ามีปัจจัยอะไรบ้างที่ใช้ในการตัดสินใจ  และดูเงื่อนไขในการตัดสินใจว่ามีเงื่อนไขใดบ้าง  เขียนลงในส่วนบนซ้ายมือของตารางเรียงไปตามแนวนอน
  • พิจารณากิจกรรมต่าง ๆ ที่มีโอกาสเกิดขึ้น เขียนลงในตารางการตัดสินใจด้านซ้ายมือด้านล่างเรียงไปตามแนวนอน
  • ตัดสินใจถึงความสัมพันธ์ของเงื่อนไขที่มีผลต่อกิจกรรมซึ่งจะเกิดขึ้นเป็นกฎที่ใช้ตัดสินใจให้เกิดการกระทำกิจกรรมนั้น เขียนเป็นกฎแต่ละข้อเรียงไปในแนวตั้ง โดยใส่ “ใช่ (Y) ”เมื่อเป็นไปตามเงื่อนไขนั้นให้ตรงกับแถวของเงื่อนไขนั้น และใส่ “ไม่ (N)” ในกรณีที่ไม่เป็นไปตามเงื่อนไขนั้นให้ตรงกับแถวของเงื่อนไขนั้น ซึ่งจะสามารถคำนวณได้เป็น 2N โดยที่ N คือจำนวนเงื่อนไข
  • ใส่กากบาท(?) ให้ตรงกันกับกิจกรรมที่จะต้องกระทำ (Action) เมื่อเป็นไปตามเงื่อนไขหรือกฎนั้น ถ้าไม่เกิดการกระทำกับกิจกรรมใด ให้ขีดเส้นแทน

ภาพที่ 9.1 แสดงตัวอย่าง ตารางการตัดสินใจ

 

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

  • เขียนเริ่มต้นจากรากแตกกิ่งไปตามจำนวนเงื่อนไขที่เป็นไปตามกฎ  โดยพิจารณาเงื่อนไขที่จะเกิดขึ้นในการตัดสินใจเริ่มแรก
  • แตกกิ่งของเงื่อนไขแรกนั้นเป็นเงื่อนไขถัดไป
  • แตกกิ่งของเงื่อนไขต่อไป  จนกระทั่งหมดเงื่อนไขที่จะเกิดขึ้น
  • เขียนกิ่งของกิจกรรมที่จะต้องกระทำ  เมื่อเป็นไปตามเงื่อนไขจากรากไปปลายกิ่งเงื่อนไขนั้น

                                                                                                                                                                   

 

เทคนิคในการเลือกวิธีการเขียนอธิบายการประมวลผล 
1. เลือกวิธีประโยคโครงสร้างภาษา(Structure Language)เมื่อ
- การประมวลผลนั้นเป็นกรณีที่เกิดเหตุการณ์ที่มีการกระทำซ้ำ
- ต้องการสื่อสารระหว่างผู้ใช้กับนักวิเคราะห์ระบบในการอธิบายการประมวลผลวิธีนี้จะดีที่สุด
2. เลือกวิธีใช้ตารางการตัดสินใจ(Decision Table)เมื่อ
- เงื่อนไข กิจกรรมที่จะกระทำ และกฎในการประมวลผลมีความซับซ้อนมาก
- เมื่อการประมวลผลนั้นมีกฎต่าง ๆ ที่ขัดแย้ง  และเกิดกรณีฟุ่มเฟือยได้  วิธีนี้จะสามารถแก้ปัญหานี้ได้
3. เลือกวิธีผังต้นไม้ (Decision Table)เมื่อ
- การเกิดเงื่อนไขต่าง ๆ และการกระทำกิจกรรมเป็นไปตามลำดับก่อนหลัง
- กรณีที่มีเงื่อนไขหลากหลายแบบ  ในการแตกกิ่งที่แตกต่างกันไปคือเงื่อนไขไม่จำกัดเป็นต้น

แผนภาพกระแสข้อมูล 

ภาพที่ 9.3 แสดงแผนภาพกระแสข้อมูล

 

แผนภาพกระแสข้อมูล (DFD) เป็นเครื่องมือที่ใช้กันอย่างแพร่หลายในการเขียนแบบระบบใหม่ 
โดยเฉพาะกับระบบที่ “หน้าที่”

 

 

 

 

 

 

 

 

 

 

 


ของระบบมีความสำคัญและมีความสลับซับซ้อนมากกว่าข้อมูลที่ไหลเข้า

 


 

กฎการเขียนผัง DFD ที่ถูกต้องมีดังนี้

    • ข้อมูลที่เคลื่อนออกจากแฟ้มข้อมูลจะต้องมีการนำข้อมูลนั้นเข้าสู่แฟ้มข้อมูลก่อน
    • ข้อมูลที่เคลื่อนที่เข้าสู่แฟ้มข้อมูลสุดท้ายแล้ว  จะต้องเป็นข้อมูลที่เคยนำเข้าสู่กระบวนการนั้น
    • ข้อมูลที่เคลื่อนออกจากกระบวนการ  จะต้องเป็นข้อมูลที่เคยนำเข้าสู่กระบวนการนั้นหรือไม่ก็ต้องจัดทำขึ้นภายในกระบวนการนั้น
    • ข้อมูลที่เคลื่อนเข้าสู่กระบวนการจะต้องถูกส่งออกหรือไม่ก็ถูกใช้ประมวลผลภายในกระบวนการนั้น
    • เอนทิตี้ต้นทาง/ปลายทาง  ติดต่อกันเองไม่ได้  ต้องมีกระบวนการอยู่ ณ ข้างใดข้างหนึ่งของเส้นทางเชื่อมต่อข้อมูล
    • แฟ้มข้อมูลจะติดต่อกันเองโดยตรงไม่ได้  เช่นเดียวกันกับ  เอนทิตี้ต้นทางปลายทาง
    • เอนทิตี้และแฟ้มข้อมูลจะติดต่อกันโดยตรงไม่ได้จะต้องผ่านกระบวนการ

ตัวอย่างระบบงานห้องสมุด 
การพัฒนาโปรแกรมระบบงานห้องสมุด  ได้ใช้แผนภาพกระแสข้อมูล  (Data  Flow  Diagram) ในการวิเคราะห์ระบบ  แผนภาพกระแสข้อมูลแสดงความสัมพันธ์ระหว่างกระบวนการ

  • แผนภาพกระแสข้อมูลระบบสูงสุด (Context  Diagram) แสดงเส้นทางของข้อมูลที่เข้าและออกจากแหล่งที่มีผลกระทบต่อระบบ
  • แผนภาพกระแสข้อมูลระดับที่ 1 (Data Flow Level 1 ) แสดงกระบวนการทำงานหลักของระบบ  ข้อมูลที่เข้าและออกจากกระบวนการทำงานต่าง ๆ
  • แผนภาพกระแสข้อมูลระดับที่ 2  (Data Flow Level 2 )แสดงกระบวนการทำงานโดยจะแสดงรายละเอียดของกระบวนการทำงานต่าง ๆ ในแผนภาพกระแสข้อมูลระดับแผนภาพแสดงการไหลของข้อมูลหรือ DFD สามารถแสดงได้ดังนี้

ภาพที่ 9.4 แผนภาพกระแสข้อมูลระดับ Context Diagram ของระบบงานห้องสมุด

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ภาพที่ 9.6 แผนภาพกระแสข้อมูลระดับที่ 2(DFD-Level 2 ระบบสมาชิก

 

ภาพที่ 9.7 แผนภาพกระแสข้อมูลระดับที่ 2 (DFD-Level2):ระบบบริการต่าง ๆ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


ภาพที่ 9.8 แผนภาพกระแสข้อมูลระดับที่ 2( DFD-Level 2) ระบบหนังสือ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ภาพที่ 9.9 แผนภาพกระแสข้อมูลระดับที่ 2 (DFD=Level2):ระบบการกำหนดค่ามาตราฐาน

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ภาพที่ 9.10 แผนภาพกระแสข้อมูลระดับที่ 2 (DFD-Level2):ระบบการจัดพิมพ์รายงาน
พจนานุกรมข้อมูล(Data Dictionary)
ทุก ๆ ระบบต้องมีข้อมูลแม้แต่ระบบที่ง่ายที่สุดตัวอย่างเช่น  ระบบบัญชีเจ้าหนี้จะต้องมีข้อมูลที่จำเป็นในการจ่ายเงินแก่เจ้าหนี้  ได้แก่  ชื่อ  และที่อยู่ของเจ้าหนี้  จำนวนเงินที่ต้องชำระเป็นต้น  ระบบที่พัฒนาเสร็จแล้วจะต้องติดตามข้อมูลเหล่านี้ได้  แต่สำหรับนักวิเคราะห์ระบบจะเก็บข้อมูลในรูปแบบ(Fomat) หรือการใช้งานข้อมูลเหล่านี้อย่างไร  คำตอบก็คือ พจนานุกรมข้อมูลซึ่งเป็นทีเก็บรวบรวมข้อมูลทั้งหมดและเป็นที่ค้นหาข้อมูลที่ต้องการเกี่ยวกับข้อมูลของระบบทั้งหมดได้  พจนานุกรมข้อมูลควรสร้างไว้ใช้แต่เริ่มโครงการโดยเริ่มต้นจาก  จำนวนข้อมูลน้อย ๆ และเริ่มเพิ่มขึ้นเรื่อย ๆ โครงการเล็ก ๐ จะมีข้อมูลประมาณ1000ข้อมูล  สำหรับโครงการใหญ่อาจจะมากถึง 50000ข้อมูลด้วยกัน

การจัดพจนานุกรมข้อมูล
พจนานุกรมข้อมูลถูกเขียนเรียงลำดับตามตัวอักษร  โดยไม่สนใจว่าข้อมูลนั้นจะเป็นแบบไปไหนคือ เขียนรวมปะปนกันทั้งข้อมูลเดี่ยวข้อมูลที่ไปหลใน DFD หรือข้อมูลที่เก็บในไฟล์แล้วนำมาเรียงลำดับ (Sorted) ตามตัวอักษร  แบบเรียงจากน้อยไปหามาก ปกติจะเขียนพจนานุกรมด้วยมือแต่ปัจจุบันก็มีคอมพิวเตอร์ซอฟต์แวร์ที่ช่วยทำงานนี้ได้ด้วย  ปกติพจนานุกรมข้อมูลมีขนาดใหญ่มาก  ถ้าใช้คอมพิวเตอร์ช่วยจะสะดวกมากกว่า

ตารางที่ 9.1 ตารางสมาชิก(Member)เป็นตารางที่เก็บรายละเอียดของสมาชิก

การสร้างแบบสำหรับระบบใหม่ 
ในบทนี้จะใช้เครื่องมือต่าง ๆ ที่ได้กล่าวมาแล้วมาช่วยในการสร้างระบบใหม่เครื่องมือเหล่านี้  ได้แก่ พจนานุกรม  แผนภาพกระแสข้อมูล (Data Flow Diagram:DFD)คำอธิบายโพรเซสและฐานข้อมูล  นักวิเคราะห์ระบบจะใช้แบบของระบบใหม่นี้  เพื่อทดสอบความคิดแบะให้เห็นภาพลักษณ์ของระบบใหม่ด้วย  แบบของระบบใหม่นี้คล้าย ๆ กับแบบแปลนบ้านของสถาปนิกนั่นเอง  แบบแปลนนี้จะทำให้เห็นว่าบ้านที่จะปลูกมีหน้าตาเป็นอย่างไร  ก่อนที่จะลงมือก่อสร้างจริง  กระบวนการสร้างแบบของระบบใหม่จะช่วยปรับปรุงระบบใหม่ให้ดีขึ้นกว่าระบบปัจจุบันที่กำลังใช้งานอยู่ด้วย
ความคิดหลาย ๆ ความคิดที่ใช้ในที่นี้มาจาก DeMarco(1979)และ McMenamin and Palmar(1985) ความคิดทั้งหมดมีความสัมพันธ์กับความคิดเดิมของ Yourdon Inc. ซึ่งเป็นบริษัทชั้นแนวหน้าในเรื่องการวิเคราะห์ระบบแบบโครงสร้าง
ก่อนที่จะเริ่มการสร้างระบบ  ควรทำความเข้าใจกับคำว่า  “ลอจิคัล” และ “ฟิสิคัล” สมมุติว่าพูดถึง “จ่ายเงินใบทวงหนี้” จะเพียงว่าทำอะไร  แต่ถ้าพูดว่าการจ่ายเงินอาจจะทำได้หลายวิธี  เช่น  เขียนเช็คด้วยมือ  หรือเขียนเช็คด้วยเครื่องคอมพิวเตอร์อัตโนมัติ  หรืออาจจะใช้วิธีโอนเงินระหว่างธนาคารก็ได้  ดังนั้นที่พูดว่า “จ่ายเงินทวงหนี้”จะมีวิธีการจ่ายเงินทั้ง 3 วิธีจะเป็น
ฟิสิคัล ลอจิคัล  เป็นกิจกรรมสำคัญของระบบซึ่งจะคงอยู่ในระบบใหม่ที่พัฒนาขึ้นมาด้วยโดยไม่ขึ้นยู่กับเทคโนโลยีในทางปฏิบัติ
ปกตินักวิเคราะห์ระบบใช้ระบบด้วยกัน 4 แบบในการทำงาน  จากระบบปัจจุบันสู่ระบบใหม่โดยเริ่มต้นจาก 1. ฟิสิคัลของระบบปัจจุบันแก้ไขเป็น 2.ลอจิคัลของระบบปัจจุบันแล้ว  จึงเขียนเป็น 3.ลอจิคัลของระบบใหม่และสุดท้ายเป็น 4. ฟิสิคัลของระบบใหม่   แบบของระบบทั้ง 4 มีความสัมพันธ์กันดังแสดงในรูปข้างล่าง

 

ภาพที่ 9.1 แสดงการสร้างระบบ


DFD  ระดับแม่ ไม่เพียงพอที่จะบอกรายละเอียดการทำงานทั้งหมดของระบบได้  ดังนั้นจึงจำเป็นจะต้องแตกเป็นลูกหลานต่อไป  ซึ่งจะทำให้ได้ DFD ต่างระดับขึ้น DFD ระดับลูกอันแรกติดกับระดับแม่เป็นภาพรวมของการทำงานดังรูปความสัมพันธ์ในที่นี้จะเป็นแบบ “แม่/ลูก” และ DFD ในระดับลูกนี้ก็อาจจะเป็นแม่ของลูกในระดับถัดไป  และสามารถแตกแยกย่อยลงไปได้เรื่อย ๆ ภาพรวมของ DFD นี้จะไม่มีสัญลักษณ์ของระบบภายนอกเข้ามาเกี่ยวข้องเพราะว่าระบบภายนอกปรากฏอยู่เฉพาะใน DFD ระดับสูงสุดอย่างเดียวเท่านั้น

 

            การเก็บข้อมูลกับ DFD ระดับลูก การเก็บข้อมูลอันแรกในภาพนี้ คือ ไฟล์ใบสั่งซื้อทำไมจึงจำเป็นต้องเก็บข้อมูลนี้ เพราะข้อมูลนี้จะต้องเก็บไว้ระยะเวลาหนึ่งซึ่งจะต้องนำมาใช้ภายหลัง เริ่มตั้งแต่มีการสั่งซื้อจนกระทั่งเสร็จสิ้นการจ่ายเงิน นอกจากนั้นในกรณีที่ข้อมูลถูกป้อนเข้ามาแบบหนึ่ง แต่ต้องเรียกใช้อีกแบบหนึ่ง ลักษณะนี้จำเป็นต้องมีการเก็บข้อมูลเช่น  ข้อมูลผู้ขายเป็นต้น  เมื่อทราบว่าจะต้องมีการเก็บข้อมูล  คราวนี้จะทราบได้อย่างไรว่าเมื่อมันจะประกฎใน DFD มีกฎว่าการเก็บข้อมูลควรจะปรากฏในระดับสูงสุด(นอกเหนือจาก DFD ระดับแรก) โดยที่ต้องมี โพรเซสอย่างน้อยสองโพรเซส เรียกใช้ไฟล์นั้น ๆ สำหรับไฟล์สั่งซื้อมีโพรเซสสองโพรเซสเรียกใช้เพราะฉะนั้นเขียนไว้ใน DFD ระดับนี้ได้ แต่ถ้ามีเพียงโพรเซสเดียวเรียกใช้ จะเก็บไว้แล้วแสดงใน DFD ระดับต่ำลงไปกว่านี้อีก  เมื่อสร้างไฟล์ในระดับใดแล้ว DFD ในระดับที่ต่ำลงไปสามารถเรียกใช้ไฟล์นั้นง่าย ๆ ครั้งจนกว่าจะได้ DFD ที่พอใจ วิธีที่ดีที่สุดของการแบ่งโพรเซสคือพยายามให้ข้อมูลที่ไหลระหว่างสองโพรเซสมีจำนวนน้อยที่สุดจะทำให้ระบบดูง่ายขึ้นปกติจะแบ่งโพรเซสตามหน้าที่ของ DFD ที่เห็นในรูปได้จากการเขียนแล้วหลายครั้ง  ในที่สุดก็ได้รูปนี้ขึ้นมาการทดลองเขียนครั้งแรกนั้นรวมโพรเซสที่สามและสี่เข้าด้วยกันและส่วนหนึ่งของโพรเซสที่สามในการตรวจสอบการอนุมัติไปรวมอยู่ในโพรเซสที่สองในกรณีนี้สามารถใช้ข้อมูลที่เหมือนกันหลายอย่างในโพรเซสที่สี่แต่การทำงานในโพรเซสนี้จะมีมากมายทีเดียว  ดังนั้น DFD ในภาพข้างบนจึงดูดีกว่า  การเขียนDFDรูปหนึ่ง ๆ ไม่ควรมีโพรเซสมากกว่าเจ็ด เลขเจ็ดเป็นเลขที่สวยสำหรับสมองคนเช่น  เบอร์โทรศัพท์เป็นต้นและเหมาะที่จะเขียนบนกระดาษขนาด A4(8.5 นิ้วคูน11นิ้ว)แต่ถ้าจำเป็นมากที่จะต้องมีมากกว่าเจ็ดโพรเซสก็ไม่เป็นไร ไม่ควรเขียนโพรเซสเดียวกันใน DFD รูปเดียวกัน   DFDในระดับนี้จะไม่รวมโพรเซสจำพวก”Edit/แก้ไข”หรือ ”Format/จัดรูปแบบ”การทำงานทำนองนี้จะเขียนอยู่ใน DFD ระดับลึกกว่านี้อีกจากตัวอย่างจะเห็นว่าทุกโพรเซสตั้งชื่อโดยใช้คำกิริยาเป็นคำเริ่มต้นซึ่งปฏิบัติตามกฎทุกประการ

กระแสข้อมูลกับภาพรวมของ DFD ก่อนที่จะพูดถึงข้อมูลที่เคลื่อนไหวใน DFD ลองมาพิจารณาพจนานุกรมข้อมูลคือ 
ใบอนุมัติจ่ายเงิน=เลขที่ใบสั่งซื้อ
รายละเอียดการจ่ายเงิน= เลขที่เช็ค+เลขที่ใบทวงหนี้+เลขที่ใบสั่งซื้อ
ใบทวงหนี้ค้างจ่าย= {เรคคอร์ดใบทวงหนี้ค้างจ่าย}
เรคคอร์ดใบทวงหนี้ค้างจ่าย=เลขที่ใบทวงหนี้+เลขที่ใบสั่งซื้อ+จำนวนเงินในใบทวงหนี้+เลขที่ผู้ขาย+ส่วนลด+กำหนดวันชำระเงิน
ชื่อข้อมูลจะต้องไม่เหมือนกัน  ลูกศรของข้อมูลมีเพียงข้อมูลเดียวเท่านั้นกำหนดอยู่หัวลูกศรบอกทิศทางการเคลื่อนที่  ถ้ามีการเคลื่อนของข้อมูลออกจากไฟล์  หรือเข้าสู่ไฟล์โดยที่ข้อมูลทั้งหมดหรือข้อมูลส่วนใหญ่ของเรคคอร์ดถูกใช้ ก็ไม่จำเป็นต้องมีชื่อข้อมูลกำกับลูกศรหมายความว่า  ข้อมูลที่เคลื่อนที่นั้น  คือ  ข้อมูลในไฟล์นั้นเอง  ถ้าใช้เพียงบางส่วนของเรคคอร์ดเท่านั้นก็ให้ใส่ชื่อข้อมูลกำกับไว้ด้วย  ตัวอย่างในรูปDFD  ลูกศรจากไฟล์สั่งซื้อและไฟล์ใบทวงหนี้ ค้างจ่ายไม่มีชื่อข้อมูลกำกับแสดงว่าข้อมูลทั้งเรคคอร์ดจะต้องถูกใช้  แต่ข้อมูลจากไฟล์ผู้ขายอันหนึ่งมีชื่อกำกับว่า”ชื่อผู้ขาย”เป็นการแสดงว่าฟิลด์ชื่อผู้ขายเท่านั้นที่ต้องการ

การออกแบบระดับกายภาค            การออกแบบระดับกายภาคแตกต่างจากระดับตรรกะในแง่ของการแสดงขั้นตอนของระบอบโดยจะให้ความสำคัญเกี่ยวกับรายละเอียดของข้อมูล  ผลลัพธ์และการประมวลผลชนิดของสื่อที่ใช้ในการบรรจุข้อมูลด้วยมาดูตัวอย่างการออกแบบที่ดีตัวอย่างหนึ่งคือโปรแกรมคำนวณบัญชีเงินเดือนของบริษัทแห่งหนึ่ง  ผลที่ได้จากการคำนวณจะนำไปปรับค่าข้อมูลในไฟล์หลักของข้อมูลพนักงานด้วยดังแสดงไว้ด้วยผังงานระบบ(System Flow Chart)การออกแบบระบบในระดับนี้จะระบุถึงข้อมูลและผลลัพธ์ที่ได้จากการทำงาน  รวมถึงขั้นตอนในการทำงานในกรณีที่เกิดข้อผิดพลาดความสำคัญของผังงานระบบนี้เปรียบเสมือนเป็น”พิมพ์เขียว”ที่จะใช้ในการพัฒนาระบบต่อไป
จากการวิเคราะห์ข้อมูลระบบนี้สรุปว่าข้อมูลได้แก่ไฟล์รายการเปลี่ยนแปลงซึ่งบรรจุอยู่ในเรคคอร์ดในไฟล์ที่ว่านี้ระบุจำนวนชั่วโมงทำงานของพนักงานแต่ละคน  และเพื่อให้การทำบัญชีเงินเดือนเป็นไปด้วยประสิทธิ์ภาพจะนำข้อมูลดังกล่าวมาเรียงลำดับตามรหัสประจำตัวพนักงานก่อน 
ส่วนข้อมูลอีกส่วนหนึ่งได้แก่ไฟล์ข้อมูลหลักที่เก็บข้อมูลของพนักงานเอาไว้ข้อมูลนี้ได้แก่รหัสพนักงาน ชื่อ ที่อยู่ และค่าแรงพนักงานแต่ละคนเงินเดือนที่ได้รับตั้งแต่ต้นปีและเงินเดือนหลังหักภาษีแล้วเป็นต้นและเช่นเดียวกันคือเรคคอร์ดในไฟล์หลักนี้จะเรียงลำดับไว้ตามรหัสประจำตัวพนักงานเพื่อสะดวงในการทำงาน 
ผลลัพธ์ที่ต้องการจากโปรแกรมบัญชีเงินเดือนได้แก่การพิมพ์เช็คเงินเดือนที่จะจ่ายให้พนักงานและการปรับปรุงค่าเงินเดือนในไฟล์หลักโดยการเพิ่มค่าเงินเดือนทีได้รับในเดือนนั้นเข้าไปนอกเหนือจากนั้นได้แก่  รายงานเงินเดือนที่จ่ายไปทั้งหมอ พร้อมด้วยรายงานข้อผิดพลาดต่าง ๆ เช่นมีรหัสพนักงานปรากฏในไฟล์รายการเปลี่ยนแปลงที่ไม่มีตัวตนในไฟล์หลักเป็นต้น

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

 

คำศัพท์  บทที่ 9
การประมวลผล

Data Dictionary

พจนานุกรมข้อมูล

Source Code

รหัสโปรแกรม

Sub Program

โปรแกรมย่อย

Process Description

คำอธิบายการประมวลผล

Minispecs

คำอธิบายการประมวลผล

Structure Sentences

ประโยคโครงสร้าง

Decision Tables

การตัดสินใจแบบตาราง

Decision Tree

ผังต้นไม้

Structure Language

วิธีโครงสร้างภาษา

Data Flow Diagram:DFD

แผนภาพกระแสข้อมูล

System Flowchart

ผังงานระบบ

 


Free Web Hosting