You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CHAPTER 2-1<br />
DATA FLOW DIAGRAM<br />
(<strong>DFD</strong>)<br />
1<br />
โดย ...อาจารยเกศแกว ประดิษฐ<br />
Kate_psu08@hotmail.com
CONCEPT SYSTEM ANALYSIS<br />
ขั้นตอนการวิเคราะหระบบ<br />
<strong>Data</strong> <strong>Flow</strong> <strong>Diagram</strong> (<strong>DFD</strong>)<br />
สัญลักษณแทนแผนภาพกระแส ขอมูล<br />
กฎเกณฑการวาดแผนภาพ กระแสขอมูล<br />
ตัวอยางแผนภาพกระแสขอมูล<br />
Context <strong>Diagram</strong> (Level 0)<br />
System <strong>Diagram</strong> (Level 1)<br />
Lower Level <strong>DFD</strong> 2
SYSTEM ANALYSIS<br />
ขั้นตอนการวิเคราะหระบบ<br />
วิเคราะหระบบงานเดิมที่ดําเนินการอยูในปจจุบัน เพื่อใหทราบถึงขั้นตอนการ<br />
ปฏิบัติงานจริง<br />
สรางแบบจําลองเชิงตรรก (Logical Model)<br />
<strong>Data</strong> <strong>Flow</strong> <strong>Diagram</strong> (<strong>DFD</strong>) แผนภาพกระแสขอมูล แสดงถึงกระบวนงาน<br />
ขอมูลที่เกี่ยวของ และแหลงที่มา ที่ไป ของขอมูล<br />
สรางแบบจําลองขอมูล (<strong>Data</strong> Model)<br />
E-R <strong>Diagram</strong> แสดงถึงความสัมพันธระหวางขอมูล<br />
3
ภาพรวมของ PROCESS<br />
4
PROCESS HIERARCHY CHART<br />
Hierarchy chart คือ<br />
การเขียนอธิบายกระบวนการทํางานของระบบในลักษณะผังงาน ดังรูป<br />
5
DATA FLOW DIAGRAM (<strong>DFD</strong>)<br />
<strong>DFD</strong> แผนภาพกระแสขอมูล<br />
<strong>DFD</strong> ใชสําหรับอธิบายถึงการไหลเวียนของ data และ process ที่เกี่ยวของ<br />
ในระบบ<br />
<strong>DFD</strong> จะแสดงลักษณะของระบบในรูปแบบ logical model ซึ่งจะแสดงวา<br />
มี process อะไรที่อยูในระบบแต จะไมแสดงวา process นั้นๆมีการทํางานอยางไร<br />
(บอก what แตไมบอก how)<br />
สัญลักษณของ <strong>DFD</strong> ที่ไดรับความนิยมมีอยู 2 แบบ<br />
Gane and Sarson<br />
Yourdon<br />
8
DATA FLOW DIAGRAM (<strong>DFD</strong>)<br />
สัญลักษณรูปภาพที่ใชในการวาด <strong>DFD</strong> มีอยู 4 รูป คือ<br />
1. Process<br />
2. <strong>Data</strong> flow<br />
3. <strong>Data</strong> store<br />
4. External entity<br />
<strong>DFD</strong> ทําใหทราบถึง<br />
1. ขอมูลมาจากแหลงใด<br />
2. ขอมูลไปที่ไหน<br />
3. ขอมูลถูกจัดเก็บที่ใด<br />
4. เกิดเหตุการณใดขึ้นกับขอมูลในระหวางการดําเนินงาน<br />
9
สัญลักษณแทนแผนภาพกระแสขอมูล<br />
Process symbol<br />
แทนดวย สี่เหลี่ยมมุมมน หรือ วงกลม<br />
คําอธิบายจะเปนคํากริยา (Verb) เชน ลงทะเบียน เพิกถอน รายวิชา พิมพ<br />
รายงาน<br />
ไมแสดงรายละเอียดขั้นตอนการทํางาน โดยรายละเอียด การทํางานของแตละ<br />
process จะอธิบายในสวนของ process description<br />
จะรับขอมูล (input) และ ให ผลลัพธ (output) ของขอมูล ดังกลาวที่ผานการ<br />
process แลว<br />
11
สัญลักษณแทนแผนภาพกระแสขอมูล<br />
<strong>Data</strong> flow symbol<br />
แสดงดวยเสนลูกศร และกํากับดวยชื่อของขอมูล<br />
แตละเสนอาจแสดงขอมูลไดมากกวา 1 ชุด<br />
แตละ process อยางนอยตองมี 1 data flow เขา หรือ 1 data flow<br />
ออก<br />
Customer<br />
Order<br />
12
สัญลักษณแทนแผนภาพกระแสขอมูล<br />
<strong>Data</strong> store symbol<br />
แสดงดวยสี่เหลี่ยมที่เปดหนึ่งดาน หรือ เสนขนาน<br />
แสดงการเก็บขอมูลที่จะนํามาประมวลผลในภายหลัง<br />
ตองมีการเชื่อมตอกับ process<br />
อยางนอยตองมี 1 data flow เขา หรือ 1 data flow ออก<br />
Employee<br />
Employee<br />
15
สัญลักษณแทนแผนภาพกระแสขอมูล<br />
External entity symbol<br />
แสดงดวยสี่เหลี่ยมจัตุรัส<br />
แสดงถึงคน หนวยงาน องคกร หรือ บริษัท ที่เกี่ยวของกับระบบ โดย<br />
ไมตองการแสดงรายละเอียด<br />
บางครั้งอาจจะเรียกเปนเปน terminators หรือ source หรือ sink<br />
18
กฎเกณฑการวาดแผนภาพกระแสขอมูล<br />
Process<br />
Process ตองมีทั้ง Input และ Output <strong>Data</strong> flow<br />
ไมมี input อยางเดียว<br />
ไมมี output อยางเดียว<br />
ชื่อของ process ตองเปนคํากิริยา เชน รับคําสั่งซื้อ<br />
21
กฎเกณฑการวาดแผนภาพกระแสขอมูล<br />
<strong>Data</strong> Store<br />
ไมมี data flow จาก data store ไปยัง data store<br />
ไมมี data flow จาก external entity ไปยัง data store<br />
ไมมี data flow จาก data store ไปยัง external entity<br />
<strong>Data</strong> store ตั้งชื่อเปนคํานาม เชน แฟมขอมูลลูกคา<br />
22
กฎเกณฑการวาดแผนภาพกระแสขอมูล<br />
External Entity<br />
ไมมี data flow จาก external entity ไป external entity<br />
ชื่อของ external entity เปนคํานาม เชน ลูกคา<br />
<strong>Data</strong> <strong>Flow</strong><br />
data flow มีหัวลูกศรทางเดียวไมมีไป—กลับ<br />
data flow 1 เสนไมแตกออกเปน 2 เสน นอกจากเปนขอมูลชุดเดียวกัน แต<br />
แยกไป 2 process<br />
ไมมี data flow มา join กลายเปนขอมูลตัวเดียว 23
กฎเกณฑการวาดแผนภาพกระแสขอมูล<br />
<strong>Data</strong> <strong>Flow</strong> (ตอ)<br />
<br />
<strong>Data</strong> flow ไมไหลเขา process เดิม<br />
<strong>Data</strong> flow ไหลเขา data store หมายถึงการ update และไหลออก<br />
หมายถึงการดึงขอมูล<br />
ชื่อของขอมูลเปนคํานาม<br />
24
ตัวอยางแผนภาพกระแสขอมูล<br />
(อาหารที่ลูกคาสั่ง)<br />
(รายการอาหาร)<br />
(ใบเสร็จรับเงิน)<br />
(รายงานสรุปยอดขายตอเดือน)<br />
27
(อาหารที่ลูกคาสั่ง)<br />
(รายการอาหาร)<br />
(ใบเสร็จรับเงิน)<br />
(ขอมูลสินคาคงเหลือ)<br />
(อาหารที่ขายไป)<br />
(รายการอาหารที่แกไขแลว)<br />
(วัตถุดิบคงเหลือที่แกไขแลว)<br />
(จํานวนวัตถุดิบคงเหลือ)<br />
(จํานวนอาหารที่ขายไป)<br />
(รายงานตางๆ )<br />
28
CONTEXT DIAGRAM (LEVEL 0)<br />
แผนภาพระดับแรกของ <strong>DFD</strong> แสดงภาพรวมของระบบ โดยแสดงหนวยภายนอกที่<br />
เกี่ยวของ<br />
จะประกอบดวย 1 process เทานั้น และ process ดังกลาวนี้จะมีชื่อเปนชื่อของ<br />
ระบบและมีหมายเลข ประจํา process เปนหมายเลข 0<br />
context diagram จะมีเพียงสามสัญลักษณ คือ external, process และ data flow<br />
จะไมเขียน data store ในระดับนี้<br />
31
SYSTEM DIAGRAM (LEVEL 1)<br />
หลังจากอธิบายระบบโดยรวมแลวจะแสดงรายละเอียด ของ process<br />
ทั้งระบบ<br />
เปนสวนที่แสดงรายละเอียดตอจาก context diagram<br />
แสดงรายละเอียดของระบบมากกวา context diagram<br />
แสดง Process หลักของระบบ , <strong>Data</strong> <strong>Flow</strong>s , External และ <strong>Data</strong><br />
Stores<br />
34
LOWER-LEVEL <strong>DFD</strong><br />
แสดงถึงรายละเอียดการทํางานของแตละ process จาก ระดับที่สูงกวา<br />
อธิบายการทํางานสวนยอย ๆ ชวยใหเขาใจระบบไดดีขึ้น<br />
แตถา Process ทํางานมากกวา 1 อยางก็ควรจะแบงยอยออกไป<br />
37
CONTEXT DIAGRAM<br />
อาจารยที่ปรึกษา<br />
รายงานความผิดพลาดการลงทะเบียน<br />
นักศึกษา<br />
ขอมูลนักศึกษา<br />
0<br />
ระบบ<br />
ลงทะเบียน<br />
รายงานสรุปผลการลงทะเบียนเรียน<br />
ขอมูลอาจารย<br />
อาจารย<br />
ขอมูลการลงทะเบียน<br />
รายวิชาทีเปดสอน<br />
งานทะเบียน<br />
40<br />
40
PROCESS DESCRIPTION<br />
แผนภาพที่สามารถนําเสนอใหเห็นภาพรวมของระบบ มีวัตถุประสงคดังตอไปนี้<br />
• เพื่อลดความไมชัดเจนหรือความกํากวมของโปรเซส จุดประสงคที่สําคัญ คือ<br />
ใชเปนกฎเกณฑหรือขอบังคับใช ของนักวิเคราะหเรียนรูรายละเอียดการ<br />
ทํางานแตละโปรเซส<br />
• เพื่อความเที่ยงตรง และสามารถกระทําใหสําเร็จตามกระบวนการที่ไดอธิบาย<br />
ใหถูกตองและเขาใจตรงกัน ซึ่งจะสงตอใหกับโปรแกรมเมอรอีกครั้ง<br />
• เพื่อใชสําหรับการตรวจสอบในขั้นตอนของการออกแบบระบบ ถึงกระบวนการ<br />
ที่รับขอมูลนําเขามาคืออะไร และประมวลผลออกมาเปนผลลัพธที่นําเสนอบน<br />
แผนภาพกระแสขอมูลนั้นถูกตองหรือไม<br />
41
PROCESS DESCRIPTION (ตอ)<br />
รูปแบบคําอธิบายการประมวลผล ประกอบไปดวยแตละระดับดังนี้<br />
1. ระดับการใชงาน เปนคําอธิบายการประมวลผล ในระดับที่มุงเนนจับ<br />
รายละเอียดดานการปฏิบัติงานของผูใช (User Operations) เปนสําคัญ<br />
โดยใชภาษาธรรมชาติที่เขาใจงาย โดยมีถอยคําอธิบายที่ชัดเจน ซึ่งมี<br />
รูปแบบที่ไมเปนทางการ<br />
42
PROCESS DESCRIPTION (ตอ)<br />
2. ระดับระบบ (System Level) เปนคําอธิบายการประมวลผล โดยมุงเนน<br />
ความเที่ยงตรงในรายละเอียดเปนสําคัญ เพื่อเปนไปตามขอกําหนดของระบบ<br />
ซึ่งโปรเซสที่อธิบายงายตอการเปลี่ยนแปลงเปนภาษาคอมพิวเตอร เชน<br />
คําอธิบายการประมวลผลในรูปแบบภาษาสคริปต ทําใหโปรแกรมเมอร<br />
สามารถนําไปประยุกตใชกับการเขียนโปรแกรมไดทันที<br />
<br />
<br />
ภาษาอังกฤษแบบโครงสราง (Structure English)<br />
ผังการตัดสินใจแบบตนไม (Decision Tree)<br />
ตารางการตัดสินใจ (Decision Table)<br />
43
ตัวอยาง คําอธิบายการประมวลผลภาษาธรรมชาติ<br />
Process Description<br />
System : ระบบเชารถ<br />
<strong>DFD</strong> number : 2<br />
Process name : เชารถ<br />
Input data flows : รหัส/ขอมูลลูกคา , ใบขับขี่/พาสปอรต , เลือกรถ , คามัดจํารถ<br />
Output data flows : รายละเอียดรถ , รถ , สัญญาเชารถ<br />
<strong>Data</strong> stored used : ขอมูลลูกคา , ขอมูลรถ , ขอมูลประเภทรถ , ขอมูลสัญญาเชา<br />
Description : เปนโปรเซสที่เกี่ยวกับการเชารถ ซึ่งประกอบไปดวย<br />
2.1 คนหารถ<br />
2.2 แสดงรายละเอียดรถ<br />
2.3 บันทึกรายการเชารถ<br />
2.4 ยืนยันการเชารถ<br />
2.5 พิมพสัญญาเชารถ<br />
44
ตัวอยาง คําอธิบายการประมวลผลภาษาธรรมชาติ<br />
Process Description<br />
System : ระบบเชารถ<br />
<strong>DFD</strong> number : 2.1<br />
Process name : คนหารถ<br />
Input data flows : เลือกรถ<br />
Output data flows : -<br />
<strong>Data</strong> stored used : ขอมูลรถ , ขอมูลประเภทรถ<br />
Description : เมื่อลูกคาตองการเชารถ ลูกคาสามารถ<br />
เลือกรถตามประเภทที่ตองการ<br />
45
ตัวอยาง คําอธิบายการประมวลผลภาษาธรรมชาติ<br />
Process Description<br />
System : ระบบเชารถ<br />
<strong>DFD</strong> number : 2.2<br />
Process name : แสดงรายละเอียดรถ<br />
Input data flows : ประเภทรถที่เลือก<br />
Output data flows : รายละเอียดรถ<br />
<strong>Data</strong> stored used : ขอมูลรถ , ขอมูลประเภทรถ<br />
Description : เมื่อลูกคาคนหาและเลือกประเภทรถที่<br />
ตองการใหแสดงรายละเอียดรถออกจากจอภาพใหลูกคาดู ระบบสามารถแสดง<br />
รายละเอียดรถตามประเภทรถยี่หอรถ และราคาเชาตอวัน<br />
46
ตัวอยาง คําอธิบายการประมวลผลภาษาสคริปต<br />
47
ภาษาอังกฤษเชิงโครงสราง<br />
STRUCTURED ENGLISH LOGIC<br />
Begin Repeat if<br />
End Until Then<br />
Case While Else<br />
Do Of For<br />
48
ตัวอยาง ภาษาอังกฤษเชิงโครงสราง<br />
STRUCTURED ENGLISH LOGIC<br />
If credit limit exceeded (การอนุมัติเครดิต)<br />
Then<br />
if customer has bad payment history<br />
then refuse credit<br />
else<br />
if purchase is above $200<br />
then refuse credit<br />
else refer to manager<br />
else allow credit<br />
49
ตัวอยาง ผังการตัดสินใจแบบตนไม (DECISION TREE)<br />
Rule 1<br />
Action<br />
Rule 1<br />
Condition<br />
2<br />
Rule 1<br />
Condition<br />
N<br />
Rule n<br />
Action<br />
Condition<br />
1<br />
Rule 2<br />
Condition<br />
2<br />
Rule 1<br />
Condition<br />
N<br />
Rule 1<br />
Rule n<br />
Action<br />
Action<br />
Rule 3<br />
Condition<br />
2<br />
Rule 1<br />
Condition<br />
N<br />
Rule 1<br />
Rule n<br />
Action<br />
Action<br />
50
ตัวอยาง ผังการตัดสินใจแบบตนไม (DECISION TREE)<br />
valid<br />
Not<br />
late<br />
Pay full<br />
Delete<br />
withdrawal<br />
subject<br />
Withdrawal<br />
completed<br />
Withdra<br />
wal<br />
Late<br />
Pay haft<br />
Set “w”<br />
flag to<br />
withdrawal<br />
completed<br />
Withdrawal<br />
completed<br />
Invalid<br />
Reject withdrawal<br />
การอธิบายการประมวลผลแบบ Decision Tree การถอนรายวิชา<br />
51
ตัวอยาง ผังการตัดสินใจแบบตนไม (DECISION TREE)<br />
กรณีอนุญาตใหเพิกถอน เนื่องจากอยูในระหวางชวงเวลาของการถอน<br />
(Valid)<br />
• กรณีเพิกถอนวิชาตามชวงเวลาที่กําหนด<br />
นักศึกษาจะไดรับเงินคาละทะเบียนวิชาที่เพิกถอนเต็มจํานวน<br />
เรคอรดวิชาที่เพิกถอนจุถูกลบทิ้งไป<br />
การเพิกถอนรายวิชาเสร็จสมบูรณ<br />
52
ตัวอยาง ผังการตัดสินใจแบบตนไม (DECISION TREE)<br />
• กรณีเพิกถอนวิชาเลยชวงเวลาที่กําหนด<br />
นักศึกษาจะไดรับเงินคาละทะเบียนวิชาที่เพิกถอนเพียงครึ่งหนึ่ง<br />
วิชาที่เพิกถอนจะถูกติดตั้งเกรดเปน “W” แสดง<br />
ในทรานสคริปต<br />
การเพิกถอนวิชาเสร็จสมบูรณ<br />
• กรณีไมอนุญาตใหเพิกถอน เนื่องจากเกินกําหนดเวลา<br />
ยกเลิกการเพิกถอนวิชา<br />
53
ตารางการตัดสินใจ (DECISION TABLE)<br />
การทําตารางการตัดสินใจแขงเปน 2 สวน ประกอบดวย<br />
• เงื่อนไข (Condition) คือ เงื่อนไขตางๆ ที่เกิดขึ้น<br />
• การกระทํา (Action) คือ ผลลัพธหรือการกระทําที่เกิดขึ้น<br />
จากเงื่อนไขที่กําหนด<br />
54
ตารางการตัดสินใจ (DECISION TABLE)<br />
Conditions<br />
1…..<br />
2…..<br />
Etc…<br />
Action<br />
1…..<br />
2…..<br />
Etc…<br />
Rule 1 2 3 4 5<br />
55
ตัวอยางตารางการตัดสินใจ (DECISION TABLE)<br />
Rule 1 2 3 4<br />
Conditions<br />
Withdrawal in valid Y Y N Y<br />
Withdrawal not late Y Y N N<br />
Pay full Y Y N N<br />
Action<br />
Withdrawal completed <br />
Reject withdrawal<br />
<br />
56
END<br />
57