บรรยาย - รายวิชาที่สอนในภาคเรียนที่ 2/2557

Download Report

Transcript บรรยาย - รายวิชาที่สอนในภาคเรียนที่ 2/2557

ขั้นตอน ที่ 2 การวิเคราะห์ ระบบ
System Analysis
Analysis วิเคราะห์ ระบบ
การวิเคราะห์ระบบในวงจรการพัฒนาระบบนั้นเริ่ มต้นจากการศึกษาระบบเดิ ม
แล้วนาข้อมูลที่ได้จากการศึกษา นามาหาความต้องการ (Requirements) หรื อสิ่ งที่
จะต้อ งปรั บ ปรุ ง ในระบบหรื อ อี ก อย่า งหนึ่ งคื อ วิ ธี แ ก้ปั ญ หาของระบบ การ
วิเคราะห์จะเริ่ มหลังจากที่ทราบปั ญหา และผ่านขั้นตอนการศึกษาความเป็ นไปได้
แล้ว
การวิเคราะห์ โดยใช้ Logical Model
………………………..
………………………..
………………………..
…………………………
………………………..
………………………..
………………………..
Analysis
Requirements
Specification
Logical Model
การนาข้ อกาหนดมาวิเคราะห์ เพือ่ สร้ างเป็ นแผนภาพกระบวนการของระบบใหม่ โดยแผนภาพที่
สร้ างขึน้ จะนาไปใช้ ประโยชน์ ในขั้นตอนการออกแบบและพัฒนาซอฟต์ แวร์
วัตถุประสงค์การวิเคราะห์ขอ้ มูล
• หน่วยงานภายนอกหรื อบุคคลที่เกี่ยวข้องในระบบมีอะไรบ้าง
• ระบบหนึ่งๆประกอบด้วยกระบวนการ(Process) อะไรบ้าง
• ข้อมูลที่เคลื่อนไหวในแต่ละกระบวนการมีอะไรบ้าง
• ข้อมูลที่ตอ้ งจัดเก็บมีอะไรบ้าง
ชนิดของแบบจาลอง
แบ่ งชนิดของแบบจาลองออกเป็ น 3 ชนิด
1) แบบจาลองทางคณิตศาสตร์ (Mathematical Models) เป็ นชุดของสู ตรคานวณที่ใช้อธิบ าย
ลักษณะทางเทคนิคของระบบ ที่สามารถนามาใช้ยนื ยันความแม่นยาและความเที่ยงตรงของระบบ
ได้เป็ นอย่างดี แบบจาลองทางคณิ ตศาสตร์ สามารถนามาใช้ก ับระบบธุ รกิ จได้ดี ตัว อย่างเช่ น
ระบบเงิ นเดื อน ที่จาเป็ นต้องสร้างสู ตรในการคานวณขึ้นมาเพื่อคานวณเงินเดื อนสุ ทธิ หรื อสู ตร
การคิดภาษีเงินได้บุคคลธรรมดา เป็ นต้น
2) แบบจาลองคาบรรยาย (Descriptive Models) เป็ นแบบจาลองที่เป็ นประโยคหรื อถ้อยคา
บรรยายด้วยภาษาธรรมชาติ เช่นการบันทึกข้อมูลการสัมภาษณ์ของผูใ้ ช้ถึงความต้องการในด้าน
ต่างๆ ที่เขียนเป็ นประโยค สามารถนามาวิเคราะห์เพื่อสร้างเป็ นข้อกาหนดความต้องการ หรื อ คา
บรรยายที่ อธิ บายถึ งขั้นตอนการทางานของระบบ และซู โดโค้ด (Pseudo Code) ซึ่ งเป็ น
ภาษาอังกฤษเชิงโครงสร้าง (Structured English) ที่นามาใช้เพื่อการออกแบบโปรแกรม
3) แบบจาลองแผนภาพ (Graphical Models) เป็ นแบบจาลองแผนภาพที่ประกอบด้วยแผนภาพ
หรื อไดอะแกรม (Diagram) ต่างๆ ที่นาเสนอกระบวนการทางานระบบที่มีความซับซ้อน ให้
สามารถสื่ อสารระหว่างกันได้โดยง่าย เช่น แผนภาพบริ บท แผนภาพกระแสข้อมูล เป็ นต้น
แผนภาพกระแสข้ อมูล
• หมายถึ ง แผนภาพที่ แสดงให้เห็ นถึงทิศทางการไหลของข้อมูลที่มีอยู่ในระบบ
จากกระบวนการทางานหนึ่ งไปยังอี กกระบวนการหนึ่ ง หรื อไปยังส่ วนอื่ นที่
เกี่ยวข้อง เช่น แหล่งจัดเก็บข้อมูล หรื อผูท้ ี่เกี่ยวข้องที่อยูน่ อกระบบ เป็ นต้น หรื อ
เรี ยกว่า แบบจาลองกระบวนการ (Process Model)
ประโยชน์ จากแผนภาพกระแสข้ อมูล
(1) ลูกค้าหรื อผูใ้ ช้งาน จะใช้เพื่อแสดงภาพรวมของระบบ
(2) โปรแกรมเมอร์ จะใช้เพื่อแสดงรายละเอียดของระบบ และใช้เป็ นแนวทางใน
การพัฒนาโปรแกรม
(3) นักวิเคราะห์ระบบ จะใช้เพื่อแสดงภาพรวมของระบบ และรายละเอียดของ
ระบบ
วัตถุประสงค์ ของแผนภาพกระแสข้ อมูล
(1) เป็ นแผนภาพที่สรุ ปรวมข้อมูลของระบบ ตามแนวทางการวิเคราะห์เชิงโครงสร้าง
(2) เป็ นข้อตกลงร่ วมกันระหว่างนักวิเคราะห์ระบบและผูใ้ ช้งาน
(3) เป็ นแผนภาพที่นาไปใช้ประโยชน์ต่อไปในขั้นตอนการออกแบบระบบ
(4) เป็ นแผนภาพที่ใช้ในการอ้างอิง หรื อเพื่อการปรับปรุ ง/พัฒนาระบบในอนาคต
(5) เป็ นแผนภาพที่ทาให้ทราบที่มาและที่ไปของข้อมูลที่ไหลไปยังกระบวนการต่างๆ
สั ญลักษณ์ ทใี่ ช้ ในแผนภาพกระแสข้ อมูล
สั ญลักษณ์
Gane&Sarson
Yourdon/Demarco
ความหมาย
คาอธิบาย
Process
ขั้นตอนการทางานภายในระบบ
Data Flow
เส้นทางการไหลของข้อมูล แสดงทิศทางของ
ข้อมูลจากขั้นตอนหนึ่งไปยังอีกขั้นตอนหนึ่ง
External Agent
บุคคล หน่วยงาน หรื อระบบอื่น ซึ่งเป็ น
แหล่งข้อมูล และเป็ นปลายทางของข้อมูล
Data Store
แหล่งจัดเก็บข้อมูล จะอยูใ่ นรู ปของไฟล์หรื อ
ฐานข้อมูลก็ได้
กระบวนการ (Processes)
• เป็ นสัญลักษณ์แทนกิจกรรมที่เกิดขึ้นในระบบ หรื อกระบวนการที่ตอ้ งทาในระบบ
1.0
2.0
ลงทะเบียนเรี ยน
คำนวณเกรด
กระบวนการ (Processes) (ต่ อ)
• การสร้างแผนภาพกระแสข้อมูลโดยทัว่ ไป จะต้องมีอย่างน้อยหนึ่ งกระบวนการเสมอ
• กระแสข้อมูลที่ผา่ นเข้ากระบวนการหมายถึง การนาเข้าข้อมูล
• กระแสข้อมูลที่ออกจากกระบวนการ หมายถึง การส่ งออกข้อมูล ซึ่ งกระแสข้อมูลที่
ส่ งออกมานั้นจะถูกแปรสภาพหรื อเปลี่ยนแปลงไป
เงินเดือน,ภำษี,ประกันสังคม
5.0
คำนวณเงินเดือน
เงินเดือนสุ ทธิ
เงือ่ นไขการใช้ สัญลักษณ์ กระบวนการมีดงั นี้
(1) สัญลักษณ์กระบวนการต้องมีหมายเลขกากับเสมอ เรี ยกว่า “หมายเลขกระบวนการ”
โดยจะกาหนดเป็ นหมายเลข 1,2,3 ตามลาดับ หมายเลขกระบวนการจะซ้ ากันไม่ได้
(2) ชื่ อที่กากับกระบวนการจะใช้คากริ ยาที่หมายถึ งการกระทา เช่ น ลงทะเบียนเรี ยน
ชาระเงิน เช่ารถ พิมพ์รายงาน เป็ นต้น สามารถมีจานวนกระบวนการได้ต้ งั แต่ 2 ถึง 7
กระบวนการ เพราะหากมี ม ากจะท าให้ แ ผนภาพอ่ า นยากและดู ซั บ ซ้ อ น จ านวน
กระบวนการที่เหมาะอยูใ่ นช่วงระหว่าง 7 บวกลบด้วย 2 (7+-2)
(3) กระบวนการในแผนภาพกระแสข้อมูล จะไม่มีการแสดงรายละเอียดเกี่ยวกับวิธีการ
ทางาน ดังนั้น กระบวนการจึงเปรี ยบเสมือนกับกล่องดา (Black Box) ที่บ่งบอกหน้าที่ มี
การแสดงกระแสข้อมูลที่นาเข้าและกระแสข้อมูลที่ ส่งออก ส่ วนรายละเอี ยดเกี่ ยวกับ
วิธีการทางานของแต่ละกระบวนการจะปรากฏอยูใ่ นแบบจาลองอีกชนิ ดหนึ่ ง ที่เรี ยกว่า
“คาอธิบายการประมวลผล (Process Description)”
กระแสข้ อมูล (Data Flows)
• คือ เส้นทางแสดงการเคลื่อนไหวของข้อมูล ใช้สัญลักษณ์เส้นลูกศรที่ ไปพร้อม
กับข้อมูล ทาให้ทราบถึงข้อมูลต่างๆ ที่เคลื่อนที่ไปมาระหว่างกระบวนการ แหล่ง
จัดเก็บข้อมูล และตัวแทนข้อมูล
• ตัวอย่างการใช้งานกระแสข้อมูลเพื่อแสดงการเคลื่อนไหวข้อมูลในระบบ
แผนกการเงิน
เงินเดือน,ภาษี,ประกันสังคม
D3 ตารางภาษี
D1 ข้อมูลพนักงาน
1.0
คานวณ
เงินเดือน
D2 ข้อมูลเงินเดือน
เงินเดือนสุทธิ ,สลิปเงินเดือน
พนักงาน
กระแสข้ อมูล (Data Flows) (ต่ อ)
• ในการเขียนแผนภาพกระแสข้อมูลอาจมีกระแสข้อมูลจานวนมาก ซึ่ งอาจทาให้
กระแสข้อมูลแต่ละเส้นที่ลากโยงไปมามีการทับซ้อนกันทาให้แผนภาพยุ่งเหยิง
อ่านยาก หลักในการเขียนแผนภาพกระแสข้อมูลที่ดี ไม่ควรมีเส้นกระแสข้อมูล
ทับซ้อนกัน เพราะทาให้ไม่เป็ นระเบียบ แต่หากจาเป็ นต้องทับซ้อนกัน ให้เส้นที่
ทับซ้อนเป็ นเส้นแบบกระโดด (Jump) เพื่อให้ง่ายต่อการอ่าน
ตัวแทนข้ อมูล (External Agent)
• หรื อ ตัวแทนภายนอก (External Entity) หมายถึง บุคคล หน่ วยงานในองค์กร
องค์ ก รอื่ น ๆ หรื อระบบงานอื่ น ๆ ที่ อ ยู่ ภ ายนอกขอบเขตของระบบ แต่ มี
ความสัมพันธ์กบั ระบบ โดยมีการส่ งข้อมูลเข้าสู่ ระบ
• ตัวแทนข้อมูลเป็ นได้ท้ งั บุคคล หน่วยงานหรื อระบบงาน
• ในการเขี ย นแผนภาพกระแสข้อมู ล ตัว แทนข้อ มู ลโดยส่ ว นมากจะถู ก จัด วาง
ตาแหน่งให้อยูด่ า้ นนอกหรื อรอบๆ แผนภาพ เพื่อให้แผนภาพดูสวยงาม และง่าย
ต่อการตรวจสอบ สัญลักษณ์ของตัวแทนข้อมูลสามารถทาซ้ า (Duplicate) ได้
ลูกค้ำ
ลูกค้ำ
External
Entity 1
1.0
Process 1
D1 Data1
External
Entity 3
ตัวอย่างการแก้ปัญหากระแสข้ อมูล
ทับซ้ อนกัน
External
Entity 2
2.0
Process 2
D2 Data2
D3 Data3
3.0
Process 3
D4 Data4
External
Entity 1
External
Entity 2
1.0
Process 1
D1 Data1
D4 Data4
External
Entity 3
2.0
Process 2
D2 Data2
3.0
Process 3
D3 Data3
External
Entity 3
แหล่ งจัดเก็บข้ อมูล (Data Stores)
• เป็ นแหล่งเก็บ/บันทึกข้อมูล เปรี ยบเสมือนคลังข้อมูล แหล่งจัดเก็บข้อมูล
• จะมีชื่อข้อมูลที่จดั เก็บและมีการระบุลาดับ เช่น D1,D2,D3 ตามลาดับ อักษร D
เป็ นคาย่อมาจากคาว่า Data แหล่งจัดเก็บข้อมูลจะถูกใช้งานโดยกระบวนการ
D1 Data1
ทิศทางลูกศรของกระแสข้ อมูลทีเ่ ชื่อมโยงระหว่ างแหล่งจัดเก็บข้ อมูลกับกระบวนการ
(1) ลูกศรจากแหล่งจัดเก็บข้อมูลชี้ไปยังกระบวนการเป็ นสัญลักษณ์นาเข้า (Input)
เกี่ยวข้องกับการอ่านข้อมูลจากแหล่งจัดเก็บข้อมูล
1.0
input
Process 1
output
D1 Data1
ทิศทางลูกศรของกระแสข้ อมูลทีเ่ ชื่อมโยงระหว่ างแหล่งจัดเก็บข้ อมูลกับกระบวนการ (ต่ อ)
(2) ลูกศรจากกระบวนการชี้ ไปยังแหล่งจัดเก็บข้อมูล เป็ นสัญลักษณ์ของส่ งออก
(Output) เกี่ยวข้องกับการเพิ่มข้อมูลและแก้ไขข้อมูลในแหล่งจัดเก็บข้อมูล
input
2.0
Process 2
output
D2 Data2
ทิศทางลูกศรของกระแสข้ อมูลทีเ่ ชื่อมโยงระหว่ างแหล่งจัดเก็บข้ อมูลกับกระบวนการ (ต่ อ)
(3)ลูกศรบนปลายทั้งสองด้าน เป็ นสัญลักษณ์ ของการนาเข้าข้อมูลและส่ งออก
ข้อมูล (Input/Output) เกี่ยวข้องกับการดึงข้อมูลขึ้นมาแก้ไขและบันทึกลงในแหล่ง
จัดเก็บข้อมูล
3.0
Process 3
Input/output
D3 Data3
กฏเกณฑ์ การเขียนแผนภาพกระแสข้ อมูล
Rule
(a)
 Incorrect
Correct 
(b)
กระบวนการ (Process)
• เมื่อมีขอ้ มูลเข้าไปกระบวนการจะต้องมีขอ้ มูลหรื อผลลัพธ์ออกจากกระบวนการ จะต้องไม่มี
เฉพาะข้อมูลเข้าอย่างเดียว หรื อข้อมูลออกอย่างเดียว
• ชื่อของกระบวนการจะใช้คากริ ยา ที่หมายถึงการกระทาเสมอ
กฏเกณฑ์ การเขียนแผนภาพกระแสข้ อมูล
Rule
(c)
 Incorrect
Correct 
(d)
(e)
แหล่งจัดเก็บข้ อมูล (Data Store)
• ข้อ มู ล ไหลจากแหล่ ง จัด เก็ บ ข้อ มู ล หนึ่ ง ไปยัง อี ก แหล่ ง จัด เก็ บ ข้อ มู ล หนึ่ งโดยตรงไม่ ไ ด้ต ้อ งไหลผ่ า น
กระบวนการเสมอ
• ข้อมูล ไม่ สามารถส่ งผ่านจากตัวแทนข้อมูลไปยังแหล่งจัดเก็บข้อมูลได้โดยตรง ต้องมี กระบวนการเป็ น
ตัวกลางในการเชื่อมโยง
• ข้อ มู ล ที่ ไ หลผ่า นจากแหล่ ง จัด เก็บ ข้อ มู ล ไม่ ส ามารถเชื่ อ มโยงเข้า กับ ตัว แทนข้อ มู ล ได้โ ดยตรง จะต้อ ง
เชื่อมโยงผ่านกระบวนการเท่านั้น
• ชื่อของแหล่งจัดเก็บข้อมูลจะใช้คานามเสมอ
กฏเกณฑ์ การเขียนแผนภาพกระแสข้ อมูล
Rule
 Incorrect
Correct 
(f)
ตัวแทนข้ อมูล (External Agent)
• ตัวแทนข้อมูลไม่สามารถเชื่อมโยงข้อมูลไปยังตัวแทนข้อมูลได้โดยตรง จะต้องใช้กระบวนการเป็ น
ตัวกลางเพื่อการส่ งผ่าน
• ชื่อของตัวแทนข้อมูลจะใช้คานามเสมอ
กฏเกณฑ์ การเขียนแผนภาพกระแสข้ อมูล
Rule
(g)
 Incorrect
Correct 
กระแสข้ อมูล (Data Flow)
• กระแสข้อมูลที่ลูกศรชี้ไปยังกระบวนการ หมายถึงระบบมีการอ่านหรื อดึงข้อมูลจากแหล่งจัดเก็บข้อมูลมาใช้
• กระแสข้อมูลจากกระบวนการที่ลูกศรชี้ไปยังแหล่งจัดเก็บข้อมูล หมายถึงการปรับปรุ งหรื อการเพิ่มข้อมูลลง
ในแหล่งจัดเก็บข้อมูล
• กระแสข้อมูลที่มีหวั ลูกศรทั้งสองด้าน ที่เชื่อมโยงระหว่างกระบวนการกับแหล่งจัดเก็บข้อมูล หมายถึงการดึง
ข้อมูลขึ้นมาแก้ไขและบันทึกลงในแหล่งจัดเก็บข้อมูล
• กระแสข้อมูลไม่ สามารถเชื่ อมโยงย้อนกลับไปกระบวนการเดิ มได้ จะต้องเชื่ อมโยงกระบวนการอื่ น เพื่อ
ส่ งผ่านย้อนกลับมายังกระบวนการเดิม
• ชื่อที่ระบุในกระแสข้อมูลจะใช้คานามเสมอ
หลักเกณฑ์ การเชื่อมโยงเครื่องหมาย
เครื่องหมาย
Entity
Process
Data Stored
Entity
No
Yes
No
Process
Yes
Yes
Yes
Data Stored
No
Yes
No
การเชื่อมต่ อแผนภาพกระแสข้ อมูล (Data Flow Diagram : DFD)
External Entity->Process
นักศึกษำ
ใบลงทะเบียนเรียน
1
ลงทะเบียน
การเชื่อมต่ อแผนภาพกระแสข้ อมูล (Data Flow Diagram : DFD)
Process ->External Entity
ขอมู
้ ลการชาระเงิน
4
ชาระเงิน
ใบเสร็จรับเงิน
นักศึกษำ
การเชื่อมต่ อแผนภาพกระแสข้ อมูล (Data Flow Diagram : DFD)
Process ->Process
3.1
ปิ ดภาคการศึ กษา
ปี การศึกษาใหม่ ,
อัตราค่ าหน่ วยกิต
3.2
เปิ ดภาค
การศึ กษาใหม่
การเชื่อมต่ อแผนภาพกระแสข้ อมูล (Data Flow Diagram : DFD)
Process ->Data Store
รายวิชาทีล่ งทะเบียน
1
ลงทะเบียน
วิชาทีล่ งทะเบียน
D7 รำยกำรลงทะเบียน
การเชื่อมต่ อแผนภาพกระแสข้ อมูล (Data Flow Diagram : DFD)
Data Store ->Process
D7 ข้อมูลนักศึกษำ
รหัสนักศึกษา
1
แจงจบการศึ
กษา
้
ตัวอย่ างการเขียนสั ญลักษณ์ ใน DFD
ตัวอย่ างการเขียนสั ญลักษณ์ ใน DFD
ตัวอย่ างการเขียนสั ญลักษณ์ ใน DFD
Rules for Using DFD Symbols
List the errors of this DFD
DF2
E1
1.0
P1
DF5
DF6
DS1
DF1
DF3
DF4
2.0
DS2
DF7
E2
P2
ขั้นตอนการเขียนแผนภาพกระแสข้ อมูล
1. นาความต้องการที่ รวบรวมมาทาการวิเคราะห์ และกาหนดขอบเขตของระบบ ด้วยการระบุ
ตัวแทนข้อมูลที่เกี่ยวข้อง ไม่วา่ จะเป็ นบุคคล หน่วยงาน หรื อระบบงานต่างๆ รวมถึงกระแสข้อมูล
ที่เข้าออกภายในระบบ
2. วาดแผนภาพบริบท (Context Diagram) เพื่อแสดงภาพรวมและขอบเขตของระบบที่จะพัฒนา
แผนภาพบริ บทจะทาให้ทราบว่า มีกระแสข้อมูลอะไรบ้างที่ส่งมาจากตัวแทนข้อมูลและระบบส่ ง
กระแสข้อมูลอะไรออกไปยังตัวแทนข้อมูลบ้าง
3. วิเคราะห์วา่ ควรมีขอ้ มูลอะไรบ้างที่ตอ้ งจัดเก็บในระบบ
4. เขียนแผนภาพกระแสข้อมูลระดับที่ 0 เพื่อแสดงถึงการทางานหลักของระบบ
5. เขียนแผนภาพระดับต่าลงมา โดยแผนภาพระดับล่างสุ ดจะเป็ นขั้นตอนการทางานของระบบที่
ไม่สามารถแตกย่อย (Primitive Diagram) ต่อไปได้อีก การแตกระดับจะต้องมีความสมดุลกับ
แผนภาพระดับ บน ในการสร้ า งแผนภาพกระแสข้อ มู ล สามารถน าเครื่ อ งมื อ ช่ ว ยวาด เช่ น
โปรแกรม Microsoft Visio หรื อ โปรแกรมเคสทูลส์ของ Visible Analysis เป็ นต้น
แผนภาพบริบท (Context Diagram)
• คือแผนภาพกระแสข้อมูลระดับบนสุ ดที่แสดงภาพรวมการทางานของระบบที่มี
ความสัมพันธ์กบั สภาพแวดล้อมภายนอกระบบ
• หลักเกณฑ์ การใช้ สัญลักษณ์ สร้ างแผนภาพกระแสข้ อมูล
- แผนภาพบริ บทต้องสมดุลอยูภ่ ายในหนึ่งหน้ากระดาษ
- ชื่อของกระบวนการในแผนภาพบริ บท ควรเป็ นชื่อของระบบงานนั้น
- มีการแสดงตัวแทนข้อมูลและกระแสข้อมูลที่ติดต่อกับระบบ
- แผนภาพบริ บทจะไม่มีการแสดงแหล่งจัดเก็บข้อมูล (Data Store)
ตัวอย่ าง Context Diagram
กรณีศึกษาการสร้ างแผนภาพบริบท
ร้านนาย ก
กรณีศึกษาการสร้ างแผนภาพบริบท
ร้ านนายก เปิ ดให้บริ การเช่ าแผ่นดี วีดี ต้องการพัฒนาระบบการตรวจสอบการเช่ าดี วีดีบน
เครื อข่ายอินเทอร์ เน็ต โดยมีขอบเขตของระบบงานดังนี้
- ผูใ้ ช้ทุกคนสามารถใช้งานกระดานข่าว และค้นหาข้อมูลแผ่นดีวดี ีที่มีในร้านได้
- การสมัครสมาชิ กสามารถกระทาผ่านทางเว็บไซต์ โดยกรอกข้อมูลส่ วนตัว ชื่ อผูใ้ ช้และ
รหัสผ่าน ระบบจะทาการตรวจสอบไม่ให้ชื่อผูใ้ ช้ซ้ ากัน เมื่อยืนยันการสมัคร ระบบจะทาการ
ส่ ง ชื่อผูใ้ ช้และรหัสผ่าน ไปทาง E-mail ที่ให้ไว้ เพื่อยืนยันการสมัคร เมื่ อสมาชิ กลงชื่อเข้าสู่
ระบบสามารถแก้ไขข้อมูลส่ วนตัว และตรวจสอบข้อมูลการค้างคืนแผ่นดีวีดี การยืม/คืนแผ่นดี
วีดี จะต้องทาที่ร้านเท่านั้นไม่สามารถทาผ่านทางเว็บไซต์ได้
แผนภาพบริบท ระบบตรวจสอบการเช่ าดีวดี รี ้ านนายก
ผู้ใช้ ทวั่ ไป
กระทู้ทตี่ ้ องการเขียน
ข้ อมูลสมัครสมาชิก
ผลการสมัครสมาชิก
0
ระบบงาน
ตรวจสอบ
การเช่าดีวดี ี
ร้านนายก
จดหมายยืนยัน
การสมัคร
เงือ่ นไข DVD ทีต่ ้ องการค้ น
ข้ อมูล DVD ทีค่ ้ นเจอ
กระทู้ข่าว
Mail Server
กระทู้ทตี่ ้ องการเขียน
กระทู้ข่าว
เงือ่ นไข DVD ทีต่ ้ องการค้ น
ข้ อมูล DVD ทีค่ ้ นเจอ
ข้ อมูลการ Log in
สมาชิก
ผลการ Log in
ข้ อมูลส่ วนตัว
ข้ อมูลส่ วนตัวทีต่ ้ องการแก้
ข้ อมูลการค้ างคืนแผ่ น DVD
แผนภาพบริบท ระบบตรวจสอบการเช่ าดีวดี รี ้ านนายก
-
-
-
0
Mail Server
-
การแตกระดับแผนภาพกระแสข้ อมูล
• คื อ การแสดงรายละเอี ย ดของกระบวนการ เพื่ อ อธิ บ ายขั้น ตอนการท างานของ
กระบวนการในระบบ โดยเมื่อสร้างแผนภาพบริ บทเรี ยบร้อยแล้ว ลาดับถัดมาจะต้อง
สร้างแผนภาพกระแสข้อมูลระดับที่ 0 หรื อ Diagram 0 เพื่อแสดงถึงขั้นตอนการ
ทางานของระบบหลัก หากขั้นตอนการทางานของระบบใดในแผนภาพกระแสข้อมูล
ระดับที่ 0 จาเป็ นต้องแตกรายละเอียดลึกลงไป (Lower-Level) ก็จะแตกกระบวนการ
นั้น การแตกย่อยรายละเอียดของกระบวนการสามารถกระทาได้จนกระทัง่ ไม่สามารถ
แตกย่อยได้
• แต่ละกระบวนการจะมีหมายเลขกากับด้านบนของสัญลักษณ์ เริ่ มตั้งแต่ หมายเลข 1
เป็ นต้นไป
• จานวนกระบวนการที่ตอ้ งทาในระบบไม่ควรมีมากน้อยเกิ นไป ควรอยู่ระหว่าง 2-7
(หรื อ +/- 2) กระบวนการ
ตัวอย่ างของ Data Flow Diagram Level-0 หรือ Diagram 0
การแบ่ งย่ อยแผนภาพ (Decomposition Diagram)
• เป็ นวิ ธี ก ารแบ่ ง ระบบใหญ่ อ อกเป็ นระบบย่ อ ยๆ โดยระบบหนึ่ ง ที่ แ สดงใน
Context Diagram ไม่สามารถอธิบาย ไม่สามารถอธิบายการทางานของระบบได้
ทั้งหมด จึงต้องมีการแบ่งเป็ นระบบย่อยที่มีขนาดเล็กลงเรื่ อยๆจนสามารถอธิบาย
ระบบทั้งหมดได้
• การแบ่ ง DFD
ไปเรื่ อยๆจนถึ งระดับที่ ไม่สามารถแบ่งได้อีกแล้ว เรี ยกว่า
Primitive Diagram
• ระดับของแผนภาพที่แบ่งย่อยมาจาก Diagram 0 เรี ยกว่า DFD Level-1 หรื อ
เรี ยกว่า Diagram 1 และเป็ น 2 , 3 ….
• ซึ่ งการแบ่งย่อยระดับถัดมาจะต้องมีกระบวนการอย่างน้อย 2 กระบวนการขึ้นไป
แสดงการแบ่ งย่ อยแผนภาพ
Context Diagram
Data Flow Diagram Level-0
ตัวอย่ าง DFD Level-1
ORDER
REJECT
NOTICE
ORDER
D2 Customers
CREDIT STATUS
PRODUCT DETAIL
D3 Products
PICKING
DETAIL
INVENTORY CHANGE
REJECTED
ORDER
1.1
Verify
Order
ACCEPTED
ORDER
1.3
Assemble
Order
1.2
Prepare Reject
Notice
PICKING LIST
การระบุหมายเลขของแผนภาพ
0
1.0
1.1
1.1.1
2.0
1.2
1.1.2
3.0
1.3
1.1.3
กรณีศึกษา : Logical Data Flow Diagram
ระบบการสั่ งซื้อ
กรณีศึกษา ระบบการสั่ งซื้อ
• มีการเพิม่ ข้อมูลของลูกค้า(customer)ใหม่ที่มีการสัง่ ซื้ อสิ นค้าจากร้าน
• มีการตรวจสอบสถานะเครดิตของลูกค้าที่สงั่ ซื้ อ
• มีการตรวจสอบจานวนสิ นค้าว่าเพียงพอกับจานวนที่สงั่ ซื้ อ
• สิ นค้าต่างๆจะเก็บไว้ในคลังสิ นค้าและส่ งสิ นค้าพร้อมใบแจ้งหนี้
• หากสิ นค้าคงคลังไม่พอ จะทาการสัง่ ซื้ อจากผูผ้ ลิต(Supplier)
• ข้อมูลการสั่งซื้ อจะนามาทาเป็ นเอกสารเรี ยกเก็บเงิน(Invoice)จากลูกค้าและจัดทา
เป็ นรายงานลูกหนี้ของร้าน
Step 1 : Context Diagram
ลูกค้า
ใบสัง่ ซื้อ
ใบส่งของ
0
เอกสารเรี ยกเก็บเงิน
ระบบ
การสั่งซื้ อ
แผนกส่ งสิ นค้า
ใบสัง่ ซื้อ
ผูผ้ ลิต
จานวนสิ นค้าในคลัง
จานวนสิ นค้าที่สงั่
แผนกคลังสิ นค้า
Step2 : DFD level 0
ลูกค้า
ใบสั่งซื้อ
1.0
ลูกค้าใหม่
2.0
เพิ่มลูกค้า
ตรวจใบสั่ง
& เครดิต
ข้อมูลใบสั่งซื้อ
ข้อมูลลูกค้า
D1 Customer
D2 Customer Order
3.0
เช็คสต๊อก
ใบสั่งซื้อลูกค้า
ปริ มาณสิ นค้า
ใบส่ งของ
แผนกส่ งสิ นค้า
ลูกค้า
5.0
รายการ
เตรี ยมใบส่ ง สังซือ
่ ้
สิ นค้า
เอกสารเรี ยกเก็บเงิน
ผูผ้ ลิต
แผนกคลังสิ นค้า
ใบสั่งซื้อ
จานวนสิ นค้า
4.0
สร้าง
ใบสั่งซื้อ
จานวนคงเหลือ
จุดสั่งซื้อ
จานวนสิ นค้า
6.0
ปรับปรุ ง
คลังสิ นค้า
7.0
จานวนสิ นค้า
จานวนสิ นค้า
D3 Product Data
Step3 : DFD level-1 ของ Process 7.0
จานวนคงเหลือ
จานวนสิ นค้า
7.1
เช็ค
จานวนสั่งซื้อ
ปริ มาณสั่งซื้อ
7.2
ใบสั่งซื้อ
D4 Supplier Data
สร้างใบ
สั่งซื้อ
จานวนสั่งสิ นค้า
7.3
จุดสั่งซื้อ
จานวนสิ นค้า
D3 Product Data
กรณีศึกษา
ระบบการลงทะเบียน
Context Diagram ระบบการลงทะเบียน
ำยวิ ำกำร
ข้อมูล ำรำงเรี ยน
คณะ
บเ ค ือ
0
ระบบกำร
ลงทะเบียน
ลงทะเบียนเรี ยน
ำรำงเรี ยน
นักศึกษำ
Data Flow Diagram Level 0 ระบบการลงทะเบียน
Data Flow Diagram Level 0
ำยวิ ำกำร
D1 ลักสู ร
ข้อมูล ำรำงเรี ยน
1.0
ดั ทำ ำรำง
เรี ยน
D2 นักศึกษำ
D4 อ้ งเรี ยน
1
D1 ลักสู ร
2.0
ลงทะเบียน
ลงทะเบียนเรี ยน
นักศึกษำ
ำรำงเรี ยน
D3 รำยกำรลงทะเบียน
3.0
บเ ค ือ
ิม บเ ค ือ
คณะ
Data Flow Diagram Level 1 ระบบการลงทะเบียน Process ที่ 1.0
ข้อมูล ลักสู ร
ำยวิ ำกำร
1.3
กำ นด อ้ งเรี ยน
1.1
กำ นดวันที
ละเวลำ
1.2
ข้อมูลคณะทีเปิ ดสอน กำ นดรำยวิ ำ
D1 ลักสู ร
D4 อ้ งเรี ยน
1
แนวทางในการสร้ างแผนภาพกระแสข้ อมูลทีส่ มบูรณ์
1.แผนภาพกระแสข้ อมูลต้ องมีความสมบูรณ์ (DFD Completeness) หากกระแสข้อมูล กระบวนการแหล่ง
จัดเก็บข้อมูลและตัวแทนข้อมูลบนแผนภาพกระแสข้อมูลไม่เชื่อมต่ออยูก่ บั สิ่ งใดๆ แสดงว่าแผนภาพกระแส
ข้อมูลนั้นไม่สมบูรณ์
2.มีความสอดคล้ อง (DFD Consistency) หากมีสิ่งที่ปรากฏแผนภาพกระแสข้อมูลในระดับบน เมื่อมีการ
แบ่งย่อยกระบวนการหรื อแผนภาพลงมาในระดับล่าง จะต้องมีสิ่งที่ปรากฏอยูใ่ นระดับบนนั้นด้วยเสมอ
3.การทาซ้ า (Iterative Development) การสร้ างแผนภาพกระแสข้อมูลในรอบแรก อาจจะยัง ไม่ เป็ น
แผนภาพที่ มี ความถูก ต้อ งและสมบู รณ์ ต้องตรวจสอบแผนภาพหรื อปรั บ ปรุ ง แผนภาพทุ ก ครั้ งที่ มีก าร
เปลี่ยนแปลงหรื อแก้ไขความต้องการ
4.การตัดสิ นใจยุติการแบ่ งแผนภาพกระแสข้ อมูลระดับล่ างสุ ด (Primitive DFD) คือ เมื่อไม่สามารถ
แบ่งย่อยขั้นตอนการทางานได้อีกแล้ว หรื อใช้หลักเกณฑ์การตัดสิ นใจดังนี้
(1) เมื่อมีการแบ่งย่อยขั้นตอนการทางานแต่ละขั้นตอน ลงมาจนกระทัง่ มีการทางานในขั้นตอนการทางาน
นั้นเพียงหน้าที่เดียว เช่นมีการอ่านข้อมูล ปรับปรุ ง สร้าง และลบข้อมูลในฐานข้อมูล เป็ นต้น
(2) เมื่อแต่ละแหล่งจัดเก็บข้อมูลที่ ใช้ในการจัดเก็บข้อมูล มีการจัดเก็บข้อมูลเพียงไฟล์เดี ยว เช่ น ไฟล์
ลูกค้า ไฟล์สินค้า หรื อไฟล์สั่งซื้ อ เป็ นต้น
(3) เมื่อผูใ้ ช้ระบบเห็นว่าไม่มีรายละเอียดใดๆ ที่จะเป็ นต่อการทางานของระบบแล้ว
กรณีศึกษา
ระบบงานร้ านค้ าออนไลน์
ระบบงานร้ านค้ าออนไลน์
เป็ นระบบที่ให้บริ การขายสิ นค้าให้แก่สมาชิกบนเครื อข่ายอินเทอร์เน็ต
โดยขอบเขตงานแบ่งตามกลุ่มผูใ้ ช้ดงั นี้
1) บุคคลทัว่ ไป
•สามารถค้นหารายการสิ นค้าที่อยูใ่ นร้านได้ แต่ไม่สามารถดูราคาสิ นค้า
•สามารถสมัครสมาชิกได้
ระบบงานร้ านค้ าออนไลน์ (ขอบเขต)
2) สมาชิก
•สามารถแก้ไขข้อมูลส่ วนตัวได้
•สามารถค้นหารายการสิ นค้าและแสดงรายละเอียดสิ นค้าที่อยูใ่ นร้านได้
•สามารถหยิบสิ นค้าใส่ ตะกร้าได้
•สามารถจัดการข้อมูลสิ นค้าในตะกร้าได้
•สามารถยืนยันการสัง่ ซื้ อสิ นค้าในตะกร้าสิ นค้าได้
•สามารถบันทึกข้อมูลการชาระเงิน
•สามารถแสดงประวัติการสัง่ ซื้ อสิ นค้าและประวัติการชาระเงินได้
•สามารถตรวจสอบวิธีการจัดส่ งสิ นค้าในรายการสิ นค้าที่ซ้ื อล่าสุ ด
•สามารถส่ งข้อความและแสดงประวัติการแชทกับเจ้าของร้านได้
ระบบงานร้ านค้ าออนไลน์ (ขอบเขต)
3) เจ้าของร้าน
•สามารถจัดการข้อมูลสิ นค้าที่จาหน่ายหน้าร้านได้
•สามารถยืนยันรายการสิ นค้าที่สมาชิกสัง่ ซื้ อได้
•สามารถตรวจสอบสถานะการชาระเงินของสมาชิกได้
•สามารถบันทึกวิธีการจัดส่ งสิ นค้าได้
•สามารถกาหนดรายการสิ นค้าที่สงั่ ซื้ อจากผูจ้ ดั จาหน่าย
•สามารถส่ งข้อความและแสดงประวัติการแชทกับสมาชิกได้
Context Diagram ระบบงานร้ านค้ าออนไลน์
-
- username,password
-
-
-
0
-
-
- username,password
-
-
1
D3
แผนภาพกระแสข้ อมูล ระดับที่ 0
(Data Flow Diagram Level 0)
ระบบงานร้ านค้ าออนไลน์
2
4
D1
D2
D4
3
Username,password
-
-
Username,password
-
5
-
-
D5
,
6
-
7
D3
,
D6
D1
D2
D7
คาอธิบายการประมวลผล (Process Description)
เพื่ออธิบายขั้นตอนการทางานของขั้นตอนการทางานของระบบ
วัตถุประสงค์ ของคาอธิบายการประมวลผล
(1) เพื่อลดความกากวมหรื อความไม่ชดั เจนของขั้นตอนการทางานของระบบ
(2) เพื่ อ ความเที่ ย งตรง โดยข้อ ก าหนดที่ ร ะบุ ไ ว้ใ นค าอธิ บ ายการประมวลผล
โปรแกรมเมอร์ สามารถนาไปใช้เพื่อออกแบบและพัฒนาเป็ นโปรแกรม ดังนั้น หาก
คาอธิ บายถูกจัดทาไว้ไม่ดี ไม่ชดั เจน ย่อมทาให้เกิดความเข้าใจไม่ตรงกันได้ ส่ งผล
ต่อตรรกะโปรแกรมที่ออกแบบและพัฒนาขึ้นมาเกิดข้อผิดพลาดไม่สมบูรณ์ และไม่
ตรงตามวัตถุประสงค์
(3) เพื่อใช้ตรวจสอบในขั้นตอนการออกแบบระบบให้มีความรัดกุมยิง่ ขึ้นและเกิดความ
มัน่ ใจว่าขั้นตอนการทางานของระบบที่รับข้อมูลเข้ามาประมวลผล จะได้ผลลัพธ์
ตามที่ระบุไว้ในแผนภาพกระแสข้อมูล
รู ปแบบคาอธิบายการประมวลผล สามารถเขียนได้ 2 รู ปแบบคือ
(1) คาอธิบายการประมวลผลแบบธรรมชาติ (Natural Language Specifications)
(2) คาอธิ บายการประมวลผลแบบสคริ ปต์ (Scripting) คาว่า สคริ ปต์ หมายถึง การเขียน
คาอธิบายในบางสิ่ งบางอย่างด้วยโครงสร้างที่มีความชัดเจน
(2.1) ภาษาอังกฤษแบบโครงสร้ าง (Structured English) คือการนาโครงสร้ าง
ภาษาอังกฤษที่มีลกั ษณะคล้ายกับอัลกอริ ทึม
(2.2) ผังการตัดสิ นใจแบบต้นไม้ (Decision Tree) มีลกั ษณะเป็ นโครงสร้างเงื่ อนไข
การตัดสิ นใจที่มีลกั ษณะคล้ายต้นไม้ที่แผ่กิ่งก้าน
(2.3) ตารางการตัดสิ น ใจ (Decision Table) เป็ นตารางที่ แ บ่ งออกเป็ นส่ วนๆ
ประกอบด้วยส่ วนสาคัญคือเงื่อนไข (Condition) ต่างๆ ที่ถูกกาหนดขึ้น และ
ส่ ว นการกระทา (Action) คื อ ผลลัพธ์หรื อ การกระทาที่ เกิ ดขึ้ นจากเงื่ อนไข
นั้นๆ
(2.1) ภาษาอังกฤษแบบโครงสร้าง
(STRUCTURED ENGLISH)
การอธิบายเป็ นประโยคโดยเขียนให้มีลกั ษณะเป็ นโครงสร้าง คล้ายการเขียนโปรแกรมโครงสร้าง
ใช้คากริ ยาที่เมื่อทาแล้วมีความหมายว่าได้ผลลัพท์บางอย่างออกมา เช่น “คานวณ” สิ่ งนั้นสิ่ งนี้ หรื อ
“เปรี ยบเทียบ” สิ่ งนั้นกับสิ่ งนี้เป็ นต้น คากริ ยาที่อาจเลือกใช้ได้เช่น
ภาษาอังกฤษแบบโครงสร้ าง (Structured English)
GET PUT FIND ADD SUBTRACT
MULTIPLY DIVIDE COMPUTE DELETE
VALIDATE MOVE
• ใช้ชื่อข้อมูลเป็ นคานามในประโยค เช่ น วัน ชาระเงิ นใบทวงหนี้ รายงานเพื่ อ
เตรี ยมเงินสด
• ใช้ศพ
ั ท์ที่แสดงความสัมพันธ์ระหว่างข้อมูล เช่น “และ” “หรื อ” “เท่ากับ” “ไม่
เท่ากับ” “มากกว่า” “น้อยกว่า”
ภาษาอังกฤษแบบโครงสร้ าง (Structured English)
•ใช้คาที่บอกการเคลื่อนที่ขอ้ มูลคล้ายกับคาที่ใช้ในการ
เขียนโปรแกรมได้แก่
Sequencing
begin
:
end
Conditional
select case
if condition
case 1 (condition)
then ...
else ...
or
do ….
case 2 (condition)
do …
:
end case
Repetition
Do
or
While (condition)
…
…
…
…
Until (condition)
End Do
ตัวอย่ างการเขียนคาอธิบายการประมวลผล
ภาษาอังกฤษแบบโครงสร้ าง (Structured English)
ใช้ขอ้ มูล A และข้อมูล B เพื่อคานวณข้อมูล C
ตรวจสอบข้อมูล C
If ข้อมูล C ถูกต้อง
then เก็บในไฟล์
else
ให้พิมพ์ขอ้ มูลผิดพลาด
คานวณผลรวม
( 2.2) รู ปแบบผังการตัดสิ นใจแบบต้ นไม้
(DECISION TREE TEMPLATE)
มีลกั ษณะเป็ นโครงสร้างเงื่อนไขการตัดสิ นใจที่มีลกั ษณะคล้ายต้นไม้ที่ แบ่งแยกเงื่อนไข
ออกเป็ นส่ วน ๆ ทาให้เห็นโครงสร้างเงื่อนไขได้ชดั เจน
รู ปแบบผังการตัดสิ นใจแบบต้ นไม้ (Decision Tree Template)
คาอธิบายการประมวลผลในรูปแบบผังการตัดสิ นใจแบบต้ นไม้ เรื่องการเพิกถอนวิชา
Salaried
1
Hourly
2
Legend :
1) Type of employee
2) Hours worked
Pay base salary
<40
=40
>40
Pay hourly wage;
Absence report
Pay hour wage
Pay hourly wage
Pay overtime wage
ตัวอย่างการเขียนผังต้นไม้
ยอดขำยทั้ง ผนก
> 1 ล้ำนบำท
ยอดขำยทั้ง ผนก
<= 1 ล้ำนบำท
ยอดขำย > 50,000 บำท
ได้รับ 5% ของยอดขำย
ได้รับ ด มำยเ ิด ูเกียร ิ
ได้เลือน ำ นง
ยอดขำย <= 50,000 บำท
ได้รับ 5% ของยอดขำย
ได้รับ ด มำยเ ิด ูเกียร ิ
ยอดขำย > 50,000 บำท
ได้รับ 2% ของยอดขำย
ได้รับ ด มำยเ ิด ูเกียร ิ
ยอดขำย <= 50,000 บำท
Process Description Tools: Decision Trees
วันอำทิ ย
นอน ออีก 2 วโมง
ั
2
ออกไปทำงำน
1
นอน ออีก 1 วโมง
ั
คำอธิบำย
1=รุ งเ ำ้ รื อไม
2=เปนวันอะไร
กลับไปนอน อ
(2.3) ตารางการตัดสิ นใจ
(DECISION TABLE)
• เป็ นตารางที่ แบ่งออกเป็ นส่ วนๆ ประกอบด้วยส่ วนสาคัญคือเงื่ อนไข (Condition) ต่างๆ ที่ ถูก
กาหนดขึ้น และส่ วนการกระทา (Action) คือ ผลลัพธ์หรื อการกระทาที่เกิดขึ้นจากเงื่อนไขนั้นๆ
• เป็ นตารางแบบ 2 มิ ติ โดยที่ แ ถวตั้ง ด้า นซ้า ยเป็ นเงื่ อ นไข และแถวนอนเป็ นรายละเอี ย ดของ
เงื่อนไขและผลของการตัดสิ นใจ
• เงื่อนไข คือ สิ่ งที่มีค่าเปลี่ยนแปลงได้
คาอธิบายการประมวลผลในรูปแบบตารางการตัดสิ นใจ เรื่องการอนุมัตบิ ัตรเครดิต
ตัวอย่ าง : ระบบเงินเดือน (payroll system)
If employee is salaries(S) type, pay base salary
If employee is hourly (H) type, pay by the number of hour
worked, normally 40 hours. That means
if more than 40 hours -----> overtime
if less than 40 hours ----> absent
Condition
Employee type -----> Salaried Type (S), Hourly Type (H)
Hours worked -----> < 40 , 40 , >40
ค่าที่เป็ นไปได้ = 2 X 3 = 6
Action
Pay-based salary
Calculate hourly wage
Calculate overtime
Produce absent report
สร้ างตารางการตัดสิ นใจ Decision Table พิจารณาเงื่อนไขต่ างๆ
เงื่อนไข ( Condition )
Employee type
Hours worked
การกระทา(Action)
Pay-based salary
Calculate hourly wage
Calculate overtime
Produce absent report
กฎการตัดสิ นใจ ( Decision Rule )
1
S
<40
2
3
4
5
S
S
H
H
=40
>40
<40 =40
การกระทาที่เกิดขึน้ จริง(Action Entries)
X
X
X
-
6
H
>40
-
X
X
-
-
-
X
X
X
-
-
สร้ างตารางการตัดสิ นใจ Decision Table พิจารณาเงื่อนไขต่ างๆ
เงื่อนไข ( Condition )
กฎการตัดสิ นใจ ( Decision Rule )
Employee type
Hours worked
การกระทา(Action)
Pay-based salary
1
2
3
4
S
H
H
H
<40
=40
>40
การกระทาที่เกิดขึน้ จริง(Action Entries)
X
-
Calculate hourly wage
Calculate overtime
Produce absent report
-
X
X
X
-
X
X
-
ตัวอย่ าง
ร้านวีดีโอในหมู่บา้ นแห่ งหนึ่ งได้กาหนดเกณฑ์ในการเช่าวีดีโอไว้ว่าผูท้ ี่อาศัยอยูใ่ นหมู่บา้ นทุกคนหรื อผูเ้ ป็ น
สมาชิกสโมสรของหมู่บา้ นมีสิทธิ์ในการเช่าวีดีโอ
กรณี ที่ 1 พิจารณาเงื่อนไขจะเห็นได้วา่
เงื่อนไข มีอยู่ 2 เงื่อนไข คือ
- สมาชิกสโมสร
- ลักษณะการอยูอ่ าศัย
การกระทา มีอยู่ 2 อย่าง คือ
- ให้เช่า
- ไม่ให้เช่า
กรณี ที่ 2 พิจารณาค่าที่เป็ นไปได้ของเงื่อนไข
ค่าที่เป็ นไปได้ของแต่ละเงื่อนไข สมาชิกสโมสรมีอยู่ 2 ค่าคือ
เป็ นสมาชิก = Y และไม่เป็ นสมาชิก = N
ค่าที่เป็ นไปได้ของลักษณะการอยูอ่ าศัยมีอยู่ 2 ค่าคือ
อยูใ่ นหมู่บา้ น = Y และไม่อยูใ่ นหมู่บา้ น = N
สร้ างตารางการตัดสิ นใจ Decision Table
พิจารณาเงื่อนไขต่ างๆ
เงื่อนไข ( Condition )
สมำ ิกสโมสร
ลักษณะกำรอยูอำศัย
การกระทา(Action)
เ้ ำ
ไม เ้ ำ
กฎการตัดสิ นใจ ( Decision Rule )
1
2
3
4
Y
Y
N
N
Y
N
Y
N
การกระทาที่เกิดขึน้ จริง(Action Entries)
X
X
X
X
สร้ างตารางการตัดสิ นใจ Decision Table
พิจารณาเงื่อนไขต่ างๆ
เงื่อนไข
( Condition )
สมำ ิกสโมสร
ลักษณะกำรอยูอำศัย
การกระทา(Action)
เ้ ำ
ไม เ้ ำ
กฎการตัดสิ นใจ ( Decision Rule )
1
2
3
Y
N
N
Y
N
การกระทาที่เกิดขึน้ จริง (Action Entries)
X
X
X
การเลือกคาอธิบายการประมวลผลแต่ ละรู ปแบบ
1. ภาษาอังกฤษแบบโครงสร้าง (Structure English) ใช้กรณี ที่มีการกระทาซ้ าและ
ต้องการสื่ อสารให้ผใู ้ ช้ระบบเข้าใจได้ง่าย
2.ตารางการตัดสิ นใจ (Decision Table) ใช้เมื่อเงื่อนไข กิจกรรมที่จะกระทา และ
กฎในการประมวลผลมีความซับซ้อนมาก กฎต่างๆ มีความขัดแย้งกัน และเกิ ด
กรณี ฟมเฟื
ุ่ อย
3.ผังการตัดสิ นใจแบบต้นไม้ (Decision Tree) ใช้เมื่อการเกิดเงื่อนไขต่างๆ และ
การกระท ากิ จ กรรมเป็ นไปตามล าดับ ก่ อ นหลัง กรณี ที่ มี เ งื่ อ นไขหลายแบบ
สามารถแตกกิ่งที่แตกต่างกันไปตามเงื่อนไขที่ไม่จากัด
พจนานุกรมข้ อมูล (Data Dictionary)
ประกอบด้วยหน่วยข้อมูล หรื อข้อมูลย่อย (Data Element) ของระบบ โดยข้อมูล
ย่อยก็คือข้อมูลที่ไม่สามารถแตกย่อยออกไปได้อีก เช่น ข้อมูลลูกค้า ประกอบด้วย
รหัสลูกค้า ชื่ อ และที่อยู่ เป็ นต้น ข้อมูลย่อยเหล่านี้ เมื่อนามารวมกันก็จะเรี ยกว่า เร
คอร์ด และถูกรวมเป็ นโครงสร้างแฟ้ มข้อมูลขึ้นมา
การเขียนคาอธิบายข้ อมูล (Data Description)
• การเขียนคาอธิ บายข้อมูล (Data Description) หรื อพจนานุ กรมข้อมูล (Data
Dictionary) เป็ นการเก็บรวบรวมข้อมูลทั้งหมด รายละเอียด คาอธิ บายข้อมูล
ต่างๆ ในระบบงาน พจนานุกรมข้อมูลอาจแยกเขียนได้ดงั ต่อไปนี้
• พจนานุกรมโครงสร้างข้อมูล (Data Structure Dictionary)
• พจนานุกรมกระแสการไหลของข้อมูล (Data Flow Dictionary)
• พจนานุกรมแหล่งการเก็บข้อมูล (Data Store Dictionary)
• พจนานุกรมหน่วยงานภายนอกระบบ (External Entity Dictionary)
การเขียนคาอธิบายข้ อมูล (Data Description) (ต่ อ)
• Data Structure Dictionary
• พจนานุ กรมโครงสร้างข้อมูลเป็ นการเขียนคาอธิ บายหรื อรายละเอียดของข้อมูล
โครงสร้าง (Data Structure) ว่าประกอบไปด้วยข้อมูลย่อยหรื อข้อมูลเดี่ยว (Data
Element)
อะไรบ้า ง เพื่อ ความเข้าใจในระบบงานให้ชัด เจนมากขึ้ น โดย
สัญญลักษณ์และความหมายที่ใช้อธิบายเกี่ยวกับพจนานุกรมโครงสร้างข้อมูล
แสดงสั ญลักษณ์ ในการเขียนพจนานุกรมข้ อมูล
สั ญลักษณ์
= (Equal Sign)
+ (Plus Sign)
ความหมาย
ประกอบด้วย
ละ
1{ } n (Braces)
กำรกระทำซ้ ำของข้อมูลยอย (1 ถึง n รอบ)
[ ] (Brackets)
กำร ิ ำรณำทำงเลือกเ ียงทำงเลือก นึง
( ) (Optional)
ะมี รื อไมมีกได้
การเขียน Data Structure Dictionary
• สัญลักษณ์ เท่ากับ ใช้เขียนอธิ บายว่าข้อ มูลที่ อ ยู่ทางซ้ายมื อ แยกย่อยลงได้เป็ นข้อมูล
ย่อยๆ ทางขวามือ โดยมีเครื่ องหมาย "+" หมายถึง"และ" ตัวอย่างเช่น
ที่อยูผ่ ขู ้ าย = ถนน + จังหวัด + รหัสไปรษณี ย ์
• สัญลักษณ์ [ ] หมายถึงให้เลือกหนึ่งจากตัวเลือกที่มีมากกว่าหนึ่ง เช่น
เกรด = [A B+ B C+ C D+ D E I]
* เกรดหมายถึงผลการเรี ยนในแต่ละวิชา *
• สั ญ ลัก ษณ์ {
} การท าซ้ า ส าหรั บ ข้อ มู ล ตัว หนึ่ ง หรื อ กลุ่ ม ของข้อ มู ล ชุ ด หนึ่ ง
นอกจากนั้นจะมีขอ้ ความกากับว่า "max" และ "min" หมายความว่าทาซ้ าจากจานวน
น้อยที่สุด (min) ไปถึงจานวนมากที่สุด (max) ครั้ง ตัวอย่างเช่น
ใบสัง่ ซื้อ = ชื่อบริ ษทั ที่ช้ือสิ นค้า + {ชื่อสิ นค้า+หน่วยสิ นค้า+จานวน+ราคา}
Data Flow Dictionary
• พจนานุ ก รมสาหรั บการไหลของข้อมู ลเป็ นการเขี ย นอธิ บ ายรายละเอี ย ดของ
ข้อมูลที่ปรากฎในแต่ละเส้นการไหลของข้อมูล (Data Flow) ในแผนภาพการ
ไหลของข้อมูล เช่น
ข้ อมูล
ำก
ชื่อข้ อมูล
รายละเอียด
ถึง
...
....
...
...
...
...
...
...
...
...
Data Store Dictionary
• พจนานุ ก รมส าหรั บ การเก็ บ
ข้อ มู ล เป็ นการเขี ย นค าอธิ บ าย
แหล่ ง เก็ บ ข้ อ มู ล ที่ เ กิ ด ขึ้ นใน
ระบบงานซึ่ งจะรวมทั้งแฟ้ ม ที่
เป็ นเอกสาร และแฟ้ มที่ จดั เก็บ
ในเครื่ องคอมพิวเตอร์ โดยจะดู
ได้จ ากแผนภาพการไหลของ
ข้อมูล (Data Flow Dictionary :
DFD) ตั ว อ ย่ า ง ก า ร เ ขี ย น
พจนานุ ก รมส าหรั บ การเก็ บ
ข้อมูลดังตัวอย่าง
ชื่อแฟ้ ม
PROD_MAS.DBF
BMAT_MAS.DBF
ความหมาย
ฟ้ มผลิ ภัณฑ
ฟ้ มสู รกำรผลิ
รายละเอียด
Prod_code
Prod_name
Prod_size
Batch_size
Price
Mat_cost
Prod_inv
Prod_safe
Back_ord
Prod_code
Mat_code
Mat_use
ความหมาย
ร สั สิ นค้ำ
ือสิ นค้ำ
ขนำดบรร ุ
ขนำดกำรผลิ
รำคำขำย
รำคำ น้ ทุน
วั ถุดิบ
ำนวน
ของคงคลัง
Safety Stock
ำนวนค้ำงสง
ร สั สิ นค้ำ
ร สั วั ถุดิบ
ำนวน ว้ ั ถุดิบ
การวิเคราะห์ ข้อมูล
• โดยเทคนิคการวิเคราะห์ขอ้ มูลเชิงสัมพันธ์ สามารถเรี ยกอีกชื่อหนึ่งว่า
“การนอร์มลั ไลซ์” โดยปกติใช้ 3 ระดับ คือ
1. นอร์มลั ฟอร์มระดับที่ 1 หรื อเรี ยกว่า 1NF
2. นอร์มลั ฟอร์มระดับที่ 2 หรื อเรี ยกว่า 2NF
3. นอร์มลั ฟอร์มระดับที่ 3 หรื อเรี ยกว่า 3NF
วัตถุประสงค์ ของการนอร์ มลั ไลซ์
1. ลดเนื้ อที่ในการจัดเก็บข้อมูล กระบวนการนอร์ มลั ไลซ์ เป็ นการออกแบบเพื่อ
ลดความซ้ าซ้อนของข้อมูล การลดความซ้ าซ้อนของข้อมูลจะส่ งผลต่อการลดเนื้ อ
ที่ในการจัดเก็บข้อมูล
2. ลดปั ญหาความไม่ถูกต้องของข้อมูล เมื่ อข้อมูลไม่เกิ ดความซ้ าซ้อน ในการ
ปรับปรุ งข้อมูลก็สามารถปรับปรุ งข้อมูลจากแหล่งข้อมูลเพียงแหล่งเดียว ซึ่ งช่วย
ลดความผิดพลาดจากการปรับปรุ งข้อมูลได้ ไม่ว่าจะเป็ น ข้อผิดพลาดจากการเพิ่ม
ข้อมูล ลบข้อมูล และปรับปรุ งเปลี่ยนแปลงข้อมูล