บทที่ 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 จะต้องเขียนคำอธิบายว่ามันทำงานอย่างไร
คำอธิบายการประมวลผลสามารถกำหนดข้อมูลของระบบไว้ในพจนานุกรมข้อมูลและแบ่งการทำงานเป็นหน้าที่ต่างๆ ย่อยลงได้ด้วยแผนภาพกระแสข้อมูล
วิธีการอธิบายการประมวลผล
- ประโยคโครงสร้าง (Structure Sentences)
- การตัดสินใจแบบตาราง(Decision Tables)
- ผังต้นไม้(Decision Tree)
นักวิเคราะห์ระบบจะเลือกใช้วิธีการใดวิธีการหนึ่งหรือใช้ปนกันก็ได้ขึ้นอยู่กับความเหมาะสม แต่ไม่ว่าจะเขียนด้วยวิธีใด ๆ เมื่อเขียนแล้วควรจะมีคุณสมบัติดังนี้
- เขียนแล้วคำอธิบายนั้นควรจะใช้สื่อสารกับผู้อื่นที่เกี่ยวข้องในระบบได้ง่าย ผู้ที่เกี่ยวข้องอาจจะเป็นผู้ใช้ผู้จัดการ ผู้ตรวจสอบ
- เขียนแล้วคำอธิบายนั้นสามารถนำมาตรวจสอบความถูกต้องกับผู้ใช้ได้ง่ายการเขียนเป็นประโยคโครงสร้างอาจจะไม่เหมาะสมถ้าต้องนำมาตรวจสอบกับผู้ใช้เพราะว่า คำอธิบายนั้นจะยาวแบะ คำอธิบายเกี่ยวกับเงื่อนไข หรือการทำงานซ้ำก็เขียนไม่สะดวก ตัวอย่างเช่น เงื่อนไขหรือการทำงานซ้ำก็เขียนไม่สะดวก ตัวอย่างเช่น เงื่อนไขที่มี AND,OR หรือ NOT
โดยทั่วไปแล้ววิธีการเขียนคำอธิบายแบบประโยคโครงสร้างเป็นที่นิยมใช้กันมากที่สุดควรจะเลือกใช้วิธีเดียวกันเพื่อให้ง่ายต่อการสื่อสาร อาจจะมากกว่าหนึ่งวิธีก็เป็นไปได้ทั้งนี้ขึ้นอยู่กับ
-
- ความชอบของผู้ใช้
- ความชอบของผู้เขียน
- ลักษณะการทำงานของโพรเซสเซอร์
ประโยคโครงสร้าง (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 |
ผังงานระบบ |