E-Commerce business. Technology. society

Download Report

Transcript E-Commerce business. Technology. society

Systems Analysis and Design
การวิเคราะห์และออกแบบ
1
Data Flow Diagram 2
Chapter 5
2
เนือ
้ หา






แผนภาพกระแสข้อมู ล Data Flow
Diagram (Context Diagram )
DFD Level 0
DFD Level 1
การตรวจสอบสมดุล DFD (Balancing
DFD)
คาอธิบายการประมวลผล (Process
Description)
การตด
ั สินใจแบบต้นไม้
3
Conceptual Level DFDs
Context Diagram (Parent)
Level-0 (top level) (Child) DFD Level 0
Level-1 (lower level) DFD Level 1
4
Summarized Context Diagrams




รวบรวม all processing activity
้ั
Level ชนบนสุ
ดของระบบ
แสดงขอบเขตของระบบ
ขอบเขตของระบบแทนด ้วย 1 process และ
external agents หรือ external entities
5
DFD Integrates Event
6
หลักการเขียน DFD
Level 0




่ ้รายละเอียดในระดับแรกสุดรอง
จะเป็ นแผนภาพทีให
่ ้เห็นภาพรวมของ
จาก Context diagram เพือให
ระบบมากขึน้ โดยจะมีสญ
ั ลักษณ์การเก็บข ้อมูล
(data store) , สัญลักษณ์การไหลของข ้อมูล (data
flow) , และสัญลักษณ์การประมวลผล(process)
Diagram 0 สามารถแสดงให ้เห็นรายละเอียดของ
กระบวนการทางานหลักๆถัดจาก Context
Diagram
แต่ละกระบวนการจะมีหมายเลขกากับด ้านบนของ
่ งแต่
้
สัญลักษณ์ เริมตั
หมายเลข 1 เป็ นต ้นไป
7
่
จานวนกระบวนการทีต ้องทาในระบบไม่ควรมีมาก
้ั
ลาด ับชนของ
DFD (Layers of DFD)
8
่
ปั ญหาทีพบความไม่
สมดุล
ของ Data Flow
่
จานวน data flow ทีไหลเข
้า Input
(Trigger) ไหลออก Response (Output)
ระหว่าง process หลัก (parent process)
และ process ลูก (child process) ไม่
เท่ากัน
 Labels บน data flow ระหว่าง process
หลัก (parent process)และ process ลูก
(child process) ไม่เหมือนกัน

9
กฎความสมดุลของ Data Flow
(Consistency Rules)


่
ข ้อมูลทีไหลเข
้าสูภ
่ ายใน process หรือ activity
ต ้องมีข ้อมูลไหลออก
่
ข ้อมูลทีไหลออกจาก
process หรือ activity
ต ้องมีข ้อมูลไหลเข ้า
10
การตรวจสอบสมดุล

ตรวจสอบจานวน external entity หรือ
external agents, Input data flow และ
Output data flow ระหว่าง parent
level และ child level ต้องเท่ากันเสมอ
11
ข้อควรคานึ งถึงในการเขียน
DFD Level 0



ระดับ (Level)
สมดุล (Balancing)
แหล่งเก็บข ้อมูล (Data store)
12
ความสัมพันธ ์ระหว่าง DFD Level แม่และ
DFD Level ลู ก
M
4.2
2
K
C
O
A
F
1
J
H
3
5
D
J
4.1
E
P
L
4
D
4.3
X
4.4
P
P
M
E
()
Level Parent
Level Child
13
child
()
D
D
E
3
A
M
3.1
1
N
B
K
3.3
C
2
3.2
F
M
L
Level Parent
()
()
Level Child
14
Example DFD
ลู กค้า (Customer) ทาการสัง่
สินค ้ากับบริษท
ั ผ่านทางเว็บไซต ์ หลังจากที่
่ นค ้าเสร็จ ระบบจะทาการตรวจสอบและ
สังสิ
่ งว่
่ า มี
ค ้นหารายละเอียดของสินค ้าทีสั
คงเหลืออยู่ในสต๊อค (Stock) สินค ้าหรือไม่
พร ้อมกับดาเนิ นการแจ ้ง Message ตอบ
กับข ้อมูลของสินค ้ากลับไปยังลูกค ้า และ
่ กค ้าสังไปเก็
่
บันทึกรายการสินค ้าทีลู
บไว ้ใน
คลังข ้อมูลของบริษท
ั ส่งสินค้า
่ าเนิ นการเสร็จสิน้
(Shipping) เมือด
15
้
วิธก
ี ารสร ้างแบบจาลองขันตอนการ
ทางานของระบบด้วย DFD
 สร ้างแผนภาพบริบท (Context Diagram)
 สร ้างแผนภาพระดับ 0 (Level-0 Diagram)
 แบ่งย่อยแผนภาพ (Decomposition of DFD)
 ตรวจสอบสมดุลของ DFD (Balancing DFD)
7.21
16
การสร ้างแผนภาพ
บริบท
แผนภาพระดับแรกของ DFD แสดงภาพรวมของ
่ ยวข
่
ระบบ โดยแสดง หน่ วยภายนอกทีเกี
้อง
 ประกอบด ้วย 1 process เท่านั้น และ process
้ ชอเป็
่
ดังกล่าวนี จะมี
ื่ นชือของระบบและมี
หมายเลข
ประจา process เป็ น หมายเลข 0
 context diagram จะมีเพียงสามสัญลักษณ์
คือ external, process (1 process) และ data
flow (จะไม่เขียน data store ในระดับนี )้

17
ต ัวอย่าง
แผนภาพบริบท
18
การสร ้างแผนภาพ
ระดับ 0
Level-0 Diagram คือ แผนภาพกระแสข ้อมูลใน
่
ระดับทีแสดง
้
้
ขันตอนการท
างานหลักทังหมด
เป็ นการแสดงให ้
เห็นถึงการ
ท างานหลัก ๆ ที่ มี อ ยู่ ภ ายในภาพรวมของระบบ
(Context Diagram)
ว่ า มี ข ้ั นตอนใดบ า้ ง โดยแต่ ล ะ Process จะมี
หมายเลขกากับอยู่
19
แสดงการแบ่งย่อยแผนภาพ
Context Diagram
Data Flow Diagram Level-0
ต ัวอย่างแผนภาพ
ระด ับ 0
21
การแบ่งย่อยแผนภาพ
ออกเป็ นระด ับต่าง ๆ
Decomposition คือ การแบ่ง/แยก/ย่อยระบบ
้
และขันตอนการท
างานออกเป็ นส่วนย่อย โดยในแต่
้
่
ละขันตอนที
แยกออกมา
(Subsystems) จะแสดง
่
ให ้เห็นถึงรายละเอียดของการทางานเพิมมากขึ
น้
การแบ่งย่อย Process นั้ นสามารถแบ่งย่อ ยลงไป
่
่ สามารถแบ่งย่อย
ไดเ้ รือยๆ
จนกระทั่งถึงระดับทีไม่
ได ้อีกแล ้ว เรียกว่า “Primitive DFD”
่ งย่อยมาจาก
ระดับของแผนภาพทีแบ่
Level-0
่
เรีย กว่า Level-1
ซึงจะต
อ้ งมีอ ย่ า งน้อ ย 2
้
Process ขึนไป
22
หลักการเขียน DFD
Level-1
DFD Level 1 : แสดงถึงโปรเซสย่อย (sub
่
process) ของแผนภาพกระแสข ้อมูลระดับที่ 0 เพือแสดง
ถึง กระบวนการทางานของระบบในรายละเอียด คือ
มีการแตกฟังก ์ช ันการทางานข ้อมูลระดับที่ 1 ออกเป็ น
ส่วนๆ เรียกว่า Functional Decomposition
่
1. ใช ้เลขทศนิ ยมเพือระบุ
ความสัมพันธ ์ระหว่าง
โปรเซส ตัวอย่างเช่น
1.1,1.2 , 2.1,2.2 , 3.1,3.2
23
การระบุหมายเลข
ของแผนภาพ
0
1.0
1.1
1.1.1
2.0
1.2
1.1.2
3.0
1.3
1.1.3
24
หลักการเขียน DFD
Level-1
0.การทาอาหารContext Diagram
DFD LEVEL-0
1. แกงจืด 2. ต้มข่าไก่ 3. ไข่
4. ข้าวเหนี ยว
เจียว
้
LEVEL-1
1.1 ต ้มนาให
้เดื2.1
อด …….. 3.1 …….. 4.1DFD
……..
1.2 ใส่หมูสบ
ั 2.2 …….. 3.2 …….. 4.2 ……..
1.3 ใส่วุ ้นเส ้น 2.3 …….. 3.3 …….. 4.3 ……..
้
ต ้มนาให
้เดือดแล ้วใส่หมูสบ
ั ปั้นเป็ นก ้อน เสร็จ
แล ้วใส่วนเส
ุ ้ ้น
Process Description
้
25
ต ัวอย่างแผนภาพ
ระด ับ 1
26
ต ัวอย่างแผนภาพระด ับ
1
27
คาอธิบายการประมวลผล
(Process Description )
วัตถุประสงค ์ของคาอธิบายการประมวลผล
1. เรียนรู ้รายละเอียดของแต่ละโปรเซสว่ามี
กระบวนการทางานอย่างไรเป็ นสาคัญ
2. สามารถกระทาให ้สาเร็จตามกระบวนการที่
ได ้อธิบายไว ้ได ้อย่างถูกต ้องและเข ้าใจตรงกัน
้
3. ตรวจสอบในขันตอนของการออกแบบระบบ
่ ้เกิดความมั่นใจว่าโปรเซสหรือ
เพือให
่ ้ร ับอินพุตเข ้ามา และทาการ
กระบวนการทีได
่ าเสนอบนแผนภาพกระแส
ประมวลผลลัพธ ์ทีน
28
(Process Description )
จาแนกออกเป็ น 2 รูปแบบใหญ่ๆ
1. คาอธิบายการประมวลผลในรู ปแบบ
ภาษาธรรมชาติ (Natural Language
Specification) เขียนคาอธิบายการ
่
ประมวลผลทีใกล
้เคียงกับภาษามนุ ษย ์ ทาให ้ง่าย
ต่อการทาความเข ้าใจ
2. คาอธิบายการประมวลผลในรู ปแบบภาษา
สคริปต ์ (Scripting)
จัดเป็ นคาอธิบายการประมวลผลในระดับระบบ
่
ใกล ้เคียงกับภาษาคอมพิวเตอร ์ทีโปรแกรมเมอร
์
สามารถร ับรู ้ได ้อย่างเข ้าใจ ตัวอย่างเช่น
29
Description )
ตัวอย่างการเขียนคาอธิบายการประมวลผล
ในรู ปProcess
แบบภาษาธรรมชาติ
Description
System : Order System
DFD number : 1
Process name : Fill Order
Input data flows : Order
Output data flows : Pickinglist, Order Reject Notioce
Data stored used : -
ื้ สน
ิ ค ้า ซงึ่ ประกอบด ้วย
Description : เป็ นโปรเซสการสงั่ ซอ
โปรเซสย่อยๆ ดังนี้
1.1 Verify Order
1.2 Prepare Reject Notice
1.3 Assemble Order
30
Description )
ตัวอย่างการเขียนคาอธิบายการประมวลผล
ในรู ปProcess
แบบภาษาธรรมชาติ
Description
System : Order System
DFD number : 1.1
Process name : Verify Order
Input data flows : Order
Output data flows : Rejected Order, Accepted Order
Data stored used : Customers, Products
ื้ สน
ิ ค ้า ระบบจะทาการตรวจสอบ
Description :เมือ
่ ลูกค ้ามีการซอ
ิ ค ้า ถ ้าลูกค ้ามีเครดิตและมีสน
ิ ค ้า
เครดิตลูกค ้าและรายละเอียดสน
ื้ ถ ้าไม่ได ้เป็ นไปตามเงือ
ก็จะยอมรับการสงั่ ซอ
่ นไขก็จะปฏิเสธ
ื้ กลับไปยังลูกค ้า
การสงั่ ซอ
31
ภาษาอ ังกฤษแบบโครงสร ้าง
Structured English คือ การนาภาษาอังกฤษมาเขียนเพือ
่ บ่งบอก
รายละเอียดการทางานของ Process ทีป
่ รากฏอยูบ
่ น DFD โดยมี
้
รูปแบบการเขียนใกล ้เคียงกับไวยากรณ์ทใี่ ชในการเขี
ยนโปรแกรม
้ บายการทางานของแต่ละ process ใน DFDs โดยใช ้ 3 logical
ใชอธิ
structures ต่อไปนี้



แบบตามลาดับ (Sequence)
แบบมีเงือ
่ นไข (Conditional หรือ Decision Structure)
แบบการทาซ้า (Iteration หรือ Repetition)
32
ภาษาอ ังกฤษแบบโครงสร ้าง
แบบตามลาดับ (Sequence) มีลก
ั ษณะการทางานเป็ นไปตามลาดับ
ขัน
้ ตอน ไม่มก
ี ารกระโดดข ้ามขัน
้ ตอน
่
ต ัวอย่างเชน
Read Record
Calculate Gross Pay = Hours work * Hour wage
Print Gross Pay
33
ภาษาอ ังกฤษแบบ
โครงสร ้าง
แบบมีเงือ
่ นไข (Conditional/Decision/Selection) เป็ นการทางานที่
มีการกาหนดการกระทาการทางานแตกต่างกันไปตามแต่ละเงือ
่ นไข
โดยรูปแบบการเขียนคาอธิบาย Process แบบมีเงือ
่ นไข แบ่งออกได ้
2 ลักษณะคือ


If-then-else
Case
34
ภาษาอ ังกฤษแบบโครงสร ้าง
If-then-else
If Accept_Applicant then
Print Accepted Letters
Record Applicant_Data in Applicant_File
Else
Print Reject Letters
End If
35
ภาษาอ ังกฤษแบบ
โครงสร ้าง
Case
Select Case Item
Case 1 : if Grade <= 2.00 then
Reject Applicant
Case 2 : if Grade > 2.00 and Grade <= 3.50 then
Print Interview Letters
Case 3 : If Grade > 3.50 then
Print Interview Letters
Record Application_Data
End Select
36
ภาษาอ ังกฤษแบบ
โครงสร ้าง
37
ภาษาอ ังกฤษแบบโครงสร ้าง
แบบการทาซ้า (Iteration/Repetition) เป็ นโครงสร ้างของการเขียน
ทีม
่ ล
ี ก
ั ษณะการกระทากิจกรรมซา้ ไปเรือ
่ ยๆ ภายใต ้เงือ
่ นไขทีก
่ าหนด
ลักษณะการทาซ้าสามารถอธิบาย Process ด ้วย Structure English
ได ้คือ



Do-While
Do-Until
For Loop
38
ภาษาอ ังกฤษแบบ
โครงสร
้าง
1. Do-While
่
ตัวอย่างเชน
Read Employee Record
While not End-of-File do
Print Employee Record
End Do
2. Do-Until
่
ตัวอย่างเชน
Do
Read Employee Record
Print Employee Record
Until End –of File
39
ภาษาอ ังกฤษแบบ
โครงสร ้าง
 For Loop
8.17
40
ภาษาอ ังกฤษแบบโครงสร ้าง
41
ภาษาอ ังกฤษแบบ
โครงสร ้าง
นอกจากนีส
้ งิ่ ทีค
่ วรคานึงถึงเมือ
่ มีการจัดทา Structured English
ได ้แก่



ื่ ของข ้อมูลทีแ
ื่ ของ
ชอ
่ สดงอยูใ่ น Structured English จะเป็ นชอ
ข ้อมูลทีป
่ รากฏอยูบ
่ นแผนภาพกระแสข ้อมูลเท่านัน
้
ประโยคทีเ่ ป็ นสูตรคานวณทางคณิตศาสตร์ ควรจะเขียนให ้
กระทัดรัด และตัวกระทาทางคณิตศาสตร์ (Operand) ควรจะเป็ น
ข ้อมูลทีม
่ อ
ี ยูภ
่ ายในระบบหรือเป็ นค่าคงทีท
่ ไี่ ด ้กาหนดไว ้
หากเป็ น Structured English ทีม
่ โี ครงสร ้างการทางานแบบมี
ื่ มโยงเสน้ (Blocking) หรือใช ้
เงือ
่ นไขหรือการทาซ้าควรมีการเชอ
ิ้ สุดการทางานของแต่ละสว่ น
คาทีแ
่ สดงให ้เห็นถึงจุดสน
42
การต ัดสินใจแบบต้นไม้
ิ ใจทีล
Decision Tree เป็ นโครงสร ้างเงือ
่ นไขการตัดสน
่ ก
ั ษณะคล ้าย
ต ้นไม ้ทีแ
่ ผ่กงิ่ ก ้าน ด ้วยการแบ่งแยกเงือ
่ นไขออกเป็ นสว่ นๆ ทาให ้เห็น
ั เจนยิง่ ขึน
โครงสร ้างของเงือ
่ นไขชด
้
8.23
43
การต ัดสินใจแบบต้นไม้
Purchase above
$200
Refuse
credit
Purchase below
$200
Refer to
manger
Good
payment
history
Credit limit
exceeded
Bad
payment
history
Refuse
credit
Credit
checking
Credit limit
Not
exceeded
Allow credit
44
ตารางการตัดสินใจ
้
Decision Table คือ แผนภาพทีใ่ ชในการอธิ
บายการทางานของ
ิ ใจทีซ
ั ซอน
้ โดยแสดงเงือ
Process ทีม
่ เี งือ
่ นไขการตัดสน
่ บ
่ นไข
(Conditions) การกระทา (Actions) และกิจกรรมทีเ่ ป็ นไปได ้ตาม
กฎเกณฑ์ (Rules) ของเงือ
่ นไขนัน
้ อยูใ่ นรูปของตาราง ซงึ่ ภายใน
ิ ใจ มีสว่ นประกอบต่อไปนี้
ตารางการตัดสน



Conditions คือ เงือ
่ นไขต่างๆ ทีก
่ าหนดขึน
้
Action คือ ผลของเงือ
่ นไข ซงึ่ ได ้จากเงือ
่ นไขต่างๆ มาประมวล
จนได ้ผลลัพธ์
Rule คือ กฎเกณฑ์ เป็ นการรวมกันของเงือ
่ นไขและการกระทาอัน
ใดอันหนึง่ ทีร่ ะบุวา่ กิจกรรมใดทีจ
่ ะต ้องกระทาตามเงือ
่ นไขใด
45
ตารางการต ัดสินใจ
The four quadrants
Conditions
เงือ
่ นไข
Rules
กฎ
Actions
กิจกรรม
Action entries
การกระทา
46
ตารางการตัดสินใจ
Conditions/Cause of Actions
Condition
Action
Rule
1
2
3
4
5
6
7
8
Credit limit exceeded
Y
Y
Y
Y
N
N
N
N
Customer with good payment
history
Y
Y
N
N
Y
Y
N
N
Purchase above $200
Y
N
Y
N
Y
N
Y
N
X
X
X
X
Allow credit
Refuse credit
Refer to manager
X
X
X
X
47
ระบบร ้านขายรองเท้า




ระบบร ้านขายรองเท ้าจะต ้องปฏิสม
ั พันธ ์กับบุคคล
่ หรือหน่ วยงานอืนที
่ อยู
่ น
อืน
่ อกระบบ 3 กลุม
่ คือ
่
บริษท
ั คูค
่ า้ หมายถึง ร ้านค ้า หรือบริษท
ั ทีระบบ
้
จัดซือรองเท
้าเข ้ามาขาย
อ้ หรือมาชมรองเท ้า
ลู กค้า หมายถึง ผูท้ มาซื
ี่
เจ้าของร ้าน หมายถึง ผูท้ ก
ี่ าหนดราคาขาย และ
ต ้องการรายงานต่างๆ จากระบบ เช่น รายงานการ
ขายประจาวัน รายงานสต๊อกสินค ้าคงเหลือ
48
ระบบร ้านขายรองเท้า
0
บริษท
ั คูค
่ า้
่ ้องการ
รองเท ้าทีต
ระบบ
ร ้านขายรองเท้า
รองเท ้าใหม่
กาหนดราคาขาย
ลู กค้า
ใบเสร็จร ับเงิน
รายงานการขาย
รายงานสต๊อกสินค ้า
เจ้าของร ้าน
Context Diagram ของระบบร ้านขายรองเท้า (Shoes Shop Sy
49
ตัวอย่าง Data Flow Diagram Level 0รองเท ้าทีต่ ้องการ
2.0
บริษท
ั คูค
่ า้
รองเท ้าใหม่
ขาย
สินค้า
1.0
จัดการ
ข้อมู ลสินค้า
ข ้อมูลสินค ้า
ข ้อมูลสินค ้า
D1
ใบเสร็จร ับเงิน
ข ้อมูลการขาย
D2
สินค้า
ลู กค้า
รายการขาย
ข ้อมูลการขาย
3.0
ข ้อมูลสินค ้า
กาหนดราคาขาย
เจ้าของร ้าน
ทารายงาน
รายงานสต๊อกสินค ้า
รายงานการขาย
DFD Level 0 ของระบบร ้านขายสินค้า
ระบบลงทะเบียนเรียน




ระบบลงทะเบียนเรียนจะต ้องปฏิสม
ั พันธ ์กับบุคคล
่ หรือหน่ วยงานอืนที
่ อยู
่ น
อืน
่ อกระบบ 3 กลุม
่ คือ
นักศึกษา หมายถึง ผูท้ มาลงทะเบี
ี่
ยนเรียน
อาจารย ์ หมายถึง ผูส้ อน
กองบริการการศึกษา หมายถึง ผูท้ ก
ี่ าหนด
ตารางการสอน
51
ระบบลงทะเบียนเรียน (Course
Registration System)
่ กศึกษาใน
รายชือนั
้ ยน
ชันเรี
อาจารย ์
0
่ ้องการลงทะเบียน
รายวิชาทีต
ระบบ
ตารางสอนลงทะเบียนเรียน
นักศึกษา
ตารางเรียน
ข ้อมูลการจัดการสอน
กองบริการการศึกษา
Context Diagram ของระบบลงทะเบียนเรีย52น
่ ้องการลงทะเบียน
รายวิชาทีต
องบริการการศึกษา
1.0
นักศึกษา
2.0
ลงทะเบียน
ตารางเรียน
ข ้อมูลการจัดการจัดตารางสอน
สอน
ข ้อมูล ข ้อมูลการลงทะเบียน
รายวิชาตาม
ข ้อมูตารางสอน
ล
D2 การลงทะเบียน
ตารางสอน
D1 ตารางสอน
ข ้อมูลลงทะเบียน
3.0
อาจารย ์
ข ้อมูล
รายงาน
ตารางสอน
่ กศึกษาในชันเรี
้ ยน
รายชือนั
ตารางสอน
DFD Level 0 ของระบบลงทะเบียนเรียน
องบริการการศึกษา
ข้อมู ลการจ ัดการสอน
ข ้อมูลรายวิชา
อาจารย ์ผูส้ อน
่ ้สอน
ห ้องทีใช
1.1
กาหนด
วันและเวลา
1.2
่
กาหนดชือ
ผู ส
้ อน
1.3
กาหนด
่ สอน
ห้องทีใช้
ตารางสอน
D1
ตารางสอน
DFD Level 1 ของ Process1.0 จัดตารางสอน
End
55