01.12.2014 Views

Data Flow Diagram (DFD)

Data Flow Diagram (DFD)

Data Flow Diagram (DFD)

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!