พจนานุกรมข้อมูล Data Dictionary

Download Report

Transcript พจนานุกรมข้อมูล Data Dictionary

พจนานุกรมข้ อมูล
Data Dictionary
พจนานุกรมข้ อมูล
(Data dictionary)
• เป็ นเอกสารที่เกี่ยวกับข้ อมูลของระบบ เนื ้อหาประกอบด้ วย
รายละเอียดเกี่ยวกับ Data flow, Data structure, Data
element, Data store, External entity และ
Process
เหตุทตี่ ้ องมีการทา Data dictionary
• Provide documentation (เป็ นข้ อมูลในการทาเอกสาร)
• Eliminate redundancy (กาจัดความซา้ ซ้ อน)
• Validate the data flow diagram (ตรวจสอบ DFD)
• Provide a starting point for developing
screens and reports (เป็ นจุดเริ่มต้ นในการพัฒนาหน้ าจอ
และรายงาน)
• To develop the logic for DFD processes
การใช้ พจนานุกรมข้ อมูล
(Using the Data Dictionary)
• Create reports, screens, and forms
• Generate computer program source code
• Analyze the system design for completion
and to detect design flaws
การเขียนรายละเอียดเกีย่ วกับ
Data element
รู ปแบบของข้ อมูล
(Data Format)
• Type and length: X(8) หมายถึงอักขระ 8 ตัว ดังนี ้
XXXXXXXX
• Type and length: N(8) หมายถึงจานวนเต็มที่มีตัวเลข
8 หลัก ดังนี ้ 99999999
• Type and length: N(7.2) หมายถึงจานวนที่มีตวั เลขและ
ทศนิยมรวมแล้ ว 7 ตัว ดังนี ้ 9999.99
การเขียนรายละเอียดเกีย่ วกับ
Data flow
การเขียนรายละเอียดเกีย่ วกับ
Data structure
• Data structures are a group of smaller structures and
elements
• An algebraic notation is used to represent the data structure
• The symbols used are
– Equal sign, meaning “consists of”
– Plus sign, meaning "and”
– Braces { } meaning repetitive elements, a repeating element or group
of elements
– Brackets [ ] for an either/or situation
• The elements listed inside are mutually exclusive
– Parentheses () for an optional element
ตัวอย่ างโครงสร้ างข้ อมูล
(Data Structure Example)
การเขียนรายละเอียดเกีย่ วกับ
Data store
การเขียนคาบรรยาย Process
(Process description)
• เป็ นการบรรยายถึงกิจกรรมที่จะทาใน Process ต่าง ๆ ซึง่ เป็ น
Process ที่ไม่สามารถแยกย่อยลงไปได้ อีกแล้ ว ซึง่ มีประโยชน์
ดังต่อไปนี ้
– เพื่อให้ ทราบรายละเอียดถึงกิจกรรมที่จะทาของ Process อย่าง
ชัดเจน
– เพื่อตรวจสอบว่าทุก ๆ กิจกรรมของ Process มีข้อมูลที่ป้อนเข้ าสู่
ระบบเพียงพอแล้ ว
วิธีเขียนคาบรรยาย Process
1.
•
ภาษาธรรมชาติ (Natural Language) ใช้ ภาษาเขียนที่เราใช้ กนั อยู่ทวั่ ไป เช่น ถ้ า
เราจะบรรยายเรื่ องการคานวณค่าล่วงเวลาของพนักงานที่ทางานเกิน 40 ชม. ต่อสัปดาห์
โดยมีข้อกาหนดว่า ถ้ าทางานเกิน 40 ชม. ค่าล่วงเวลาที่ได้ รับจะเท่ากับหนึ่งเท่าครึ่งของของ
ค่าแรงปกติ จะเป็ นดังนี ้
If hours work is greater than 40, overtime hours are
computed by subtract 40 from hours work, and overtime
pay is the product of 1.5 of rate of pay and overtime hours.
(ถ้ าทางานเกิน 40 ชม. ต่อสัปดาห์ หา จานวนชม. ล่วงเวลา โดยลบ 40 ออกจาก ชม.
ทางานทังหมด
้
และหาค่าล่วงเวลาโดยคูณ จานวนชม. ล่วงเวลา ด้ วย หนึง่ เท่าครึ่ งของอัตรา
ค่าแรงต่อชม. )
วิธีเขียนคาบรรยาย Process
2. ภาษาอังกฤษแบบโครงสร้ าง (Structured English)
เป็ นภาษาอังกฤษมาตรฐานที่ใช้ บรรยาย Process อย่างชัดเจน
และถูกต้ อง โดยต้ องเป็ นไปตามโครงสร้ าง 3 แบบ ดังนี ้
1. โครงสร้ างแบบลาดับ (Sequence Structure)
2. โครงสร้ างตัดสินใจ (Selection structure)
3. โครงสร้ างแบบทาซา้ (Iteration structure)
โครงสร้ างแบบลาดับ
(Sequence Structure)
Verify Product
Code
Verify Price
• Verify product code
• Verify price
• Verify stock level
Verify Stock
Level
โครงสร้ างตัดสิ นใจ
(Selection structure)
1. If…Then…Endif
Hours >40?
No
If hours > 40 then
Calculate overtime pay
Endif
Yes
Calculate
Overtime Pay
โครงสร้ างตัดสิ นใจ
(Selection structure)
2.
If...Then…Else...Endif
Calculate
Regular Pay
No
If hours > 40 then
Calculate overtime pay
Else
Calculate regular pay
Endif
Yes
Hours >40?
Calculate
Overtime Pay
โครงสร้ างแบบทาซ้า
(Iteration structure)
1. Do… Until
End of File
Yes
Do
Print paycheck
Until End of file
No
Print
Paycheck
โครงสร้ างแบบทาซ้า
(Iteration structure)
2. Do While… Enddo
Not EOF
Yes
Do While Not End of File
Print paycheck
End do
Print
Paycheck
No
ตารางการตัดสิ นใจ
(Decision Table)
•
•
เป็ นตารางซึ่งแสดงโครงสร้ างทางตรรกะ ประกอบด้ วยเงื่อนไข
ต่ าง ๆ ที่เป็ นไปได้ ทงั ้ หมด ซึ่งนาไปสู่การกระทา
ส่ วนประกอบหลักของตารางการตัดสินใจเป็ นดังนี ้
การสร้ างตารางการตัดสิ นใจ
1. พิจารณาเงื่อนไขที่มีทัง้ หมด เพื่อนามากาหนดจานวนแถวในส่ วนของ
“เงื่อนไข”
2. พิจารณาจานวนการกระทาอันเนื่องมาจากเงื่อนไขดังกล่ าว เพื่อใช้
กาหนดจานวนแถวในส่ วนของ “การกระทา”
3. พิจารณาจานวนทางเลือกที่เป็ นไปได้ ของแต่ ละเงื่อนไข ซึ่งโดยทั่วไปจะ
มีเพียง 2 ทาง คือ ใช่ หรื อไม่ ใช่ (Y/N) เท่ านัน้ แต่ สาหรั บ
Extended-entry table จะปรากฏจานวนทางเลือกที่เป็ นไปได้
ของแต่ ละเงื่อนไขมากกว่ า 2 ทางเลือกขึน้ ไป
การสร้ างตารางการตัดสิ นใจ
4. คานวณหาจานวนคอลัมน์ ของตารางการตัดสินใจ โดยนาจานวน
ทางเลือกที่เป็ นไปได้ ของแต่ ละเงื่อนไขมาคูณกัน เช่ น การตัดสินใจมี 4
เงื่อนไข เงื่อนไขละ 2 ทางเลือก ดังนัน้ จานวนคอลัมน์ ของตารางจะ
เท่ ากัน 2*2*2*2 = 16 คอลัมน์
5. เติมทางของแต่ ละเงื่อนไขในส่ วนของ “กฎของการตัดสินใจ” เริ่มจาก
เงื่อนไขแรก โดยนาจานวนคอลัมน์ หารด้ วยจานวนทางเลือกของเงื่อนไข
แรก แล้ วเติมทางเลือกแรกตามจานวนคอลัมน์ ท่ ีคานวณได้ และเติม
ทางเลือกที่สองในคอลัมน์ ท่ ีเหลือ สาหรั บเงื่อนไขต่ อ ๆ ไป ให้ นาจานวน
คอลัมน์ ท่ ีคานวณได้ ของทางเลือกแรกในเงื่อนไขก่ อนหน้ านั น้ ตัง้ หาร
ด้ วยจานวนทางเลือกของเงื่อนไขนัน้ ๆ
ตัวอย่ างเช่ น
ในตารางการตัดสินใจที่มี 16 คอลัมน์ และ มี 2 ทางเลือก (ใช่ /ไม่ ใช่ ) ดังนัน้
•
ในการเติมทางเลือก (ใช่ ) ของเงื่อนไขแรก จะเติมใน 16/2 = 8 คอลัมน์ แรก และ
เติมทางเลือกที่ 2 (ไม่ ใช่ ) ใน 8 คอลัมน์ ท่ เี หลือ
•
ในการเติมทางเลือก (ใช่ ) ของเงื่อนไขที่ 2 จะเติมใน 8/2 = 4 คอลัมน์ แรก และ
เติมทางเลือกที่ 2 (ไม่ ใช่ ) ใน 4 คอลัมน์ ถัดไป และเติมทางเลือก (ใช่ ) ซา้ ในอีก 4
คอลัมน์ ถัดไป ส่ วน 4 คอลัมน์ สุดท้ าย ให้ เติมทางเลือก (ไม่ ใช่ ) ซา้ อีก
•
ในเงื่อนไขที่สาม จะมีการแบ่ งส่ วนการเติมทางเลือกครัง้ ละ 4/2 = 2 คอลัมน์
สลับกัน ระหว่ างใช่ และไม่ ใช่
•
ในเงื่อนไขที่ 4 จะมีการแบ่ งส่ วนการเติมทางเลือกครัง้ ละ 2/2 = 1 คอลัมน์
สลับกันระหว่ างใช่ และไม่ ใช่ ดังตัวอย่ างในตารางข้ างล่ างนี ้
ตารางแสดงการแสดงทางเลือก (กฎ) ต่ าง ๆ ในตาราง
การตัดสิ นใจซึ่งมี 4 เงื่อนไข เงื่อนไขละ 2 ทางเลือก
การสร้ างตารางการตัดสิ นใจ
6. ทาเครื่องหมายกากบาท (X) ลงในตารางส่ วน “การกระทาที่
เกิดขึน้ จริง” ที่เป็ นผลอันเนื่องมาจากทางเลือกของแต่ ละ
เงื่อนไข
7. ตรวจสอบความเป็ นไปได้ ของสถานการณ์ ต่าง ๆ ในตาราง
ความขัดแย้ งและความซา้ ซ้ อนของการกระทาต่ าง ๆ
8. เรียบเรียงเงื่อนไขและการกระทา เพื่อสร้ างตารางการตัดสินใจ
ที่เข้ าใจง่ ายขึน้
ตัวอย่ างที่ 1
•
ร้ านวีดทิ ศั น์ ในหมู่บ้านแห่ งหนึ่งได้ กาหนดเกณฑ์ ในการเช่ า
วีดทิ ศั น์ ไว้ ว่า ผู้ท่ อี าศัยอยู่ในหมู่บ้านทุกคน หรือผู้เป็ นสมาชิก
ของสโมสรของหมู่บ้านมีสิทธิ์ในการเช่ าวีดทิ ศั น์
จากการพิจารณาตาราง
ได้ ผลการตัดสิ นใจทีป่ รับปรุงแล้ว เป็ นดังนี้
ตัวอย่ างที่ 2
•
การให้ เกรดของอาจารย์ ท่านหนึ่งขึน้ อยู่กับเงื่อนไข 3 เงื่อนไข และมีการกระทา 5
อย่ าง เงื่อนไขทัง้ 3ได้ แก่ คะแนนสอบเฉลี่ย โครงงาน และการบ้ าน ส่ วนการ
กระทาทัง้ 5 ได้ แก่ การให้ เกรด A, B, C, D หรือ F โดยมีกฎเกณฑ์ ในการให้
เกรด ดังนี ้ คะแนนสอบเฉลี่ยจะมาจากผลรวมของคะแนนสอบหารด้ วยจานวนครั ง้
ของการสอบ การให้ เกรดมีช่วงคะแนน ดังนี ้ คือ
คะแนนสอบเฉลี่ย 90-100
ให้ เกรด A
80-89
ให้ เกรด B
70-79
ให้ เกรด C
60-69
ให้ เกรด D และ
ต่ากว่ า 60
ให้ เกรด F
ตัวอย่ างที่ 2
•
การที่จะได้ รับเกรดตามช่ วงคะแนนเฉลี่ยดังกล่ าวนักศึกษา
จะต้ องส่ งการบ้ านครบทุกชิน้ และได้ รับคะแนนโครงงานเป็ น
ผ่ าน ถ้ านักศึกษาได้ รับคะแนนโครงงานเป็ นไม่ ผ่าน แต่ ส่ง
การบ้ านครบ นักศึกษาจะได้ รับเกรด ต่ากว่ าคะแนนสอบเฉลี่ย
1 ระดับ แต่ ถ้านักศึกษาไม่ ส่งการบ้ าน นักศึกษาจะไม่ ผ่าน
การเรียน ถึงแม้ ว่าคะแนนสอบเฉลี่ยและโครงงานจะผ่ านก็ตาม
จากการพิจารณาตาราง
ได้ผลการตัดสิ นใจที่ปรับปรุ งแล้ว เป็ นดังนี้
แผนภาพการตัดสิ นใจแบบต้ นไม้
(Decision Tree)
• เป็ นเครื่ องมือที่ช่วยกาหนดขอบเขตของปั ญหาและช่วยสร้ างทางเลือกที่
เป็ นไปได้ ในการแก้ ไขปั ญหา ซึง่ เป็ นการนาเสนอทางเลือกในการ
ตัดสินใจอีกรูปแบบหนึง่ นอกเหนือจากตารางการตัดสินใจ
คุณลักษณะของแผนภาพการตัดสิ นใจ
แบบต้ นไม้
1. แสดงการเชื่อมโยงความสัมพันธ์ของปั ญหาได้ อย่างชัดเจน โดยอาศัย
แนวทางกราฟิ ก
2. ช่วยจัดการกับสถานการณ์ที่ซบั ซ้ อนต่าง ๆ ให้ อยูใ่ นรูปแบบที่กระชับ
ขึ ้น เพื่อช่วยให้ เห็นภาพของปั ญหาชัดเจนยิ่งขึ ้น
3. มีโครงสร้ างที่สามารถบอกผลลัพธ์ที่อาจเกิดขึ ้นจากการคัดเลือก
ทางเลือกต่าง ๆ สาหรับการตัดสินใจ
คุณลักษณะของแผนภาพการตัดสิ นใจ
แบบต้ นไม้
4. ช่วยวิเคราะห์ลาดับการตัดสินใจแก้ ไขปั ญหาต่าง ๆ พร้ อมทัง้
วิเคราะห์ผลลัพธ์จากการตัดสินใจด้ วยแนวทางต่าง ๆ
5. ช่วยจัดสมดุลด้ านความเสี่ยงในการตัดสินใจคัดเลือกแนวทางการ
แก้ ไขปั ญหาต่าง ๆ
6. เหมาะกับปั ญหาที่มีจานวนทางเลือกไม่มากนัก เนื่องจากถ้ าจานวน
ทางเลือกในการแก้ ไขปั ญหามีมาก อาจทาให้ แผนภาพการตัดสินใจ
แบบต้ นไม้ ซบั ซ้ อนและยุง่ เหยิง
การสร้ างแผนภาพการตัดสิ นใจแบบต้ นไม้
1. ใช้ สี่เหลี่ยมเล็กแทนจุดเริ่มต้ นของการตัดสินใจ โดยเขียนสัญลักษณ์นี ้ ด้ านซ้ าย
สุดของกระดาษ
2. ให้ วาดเส้ นตรงตามจานวนแนวทางในการแก้ ไขปั ญหา โดยเขียนวิธีในการแก้ ไข
ปั ญหาขนานกับแนวเส้ นตรงนัน้ ๆ
3. เขียนผลลัพธ์ที่ปลายเส้ นตรงแนวทางการแก้ ไขปั ญหา โดยถ้ ามีผลลัพธ์ ที่เป็ นไป
ได้ หลายทางให้ วาดวงกลมที่ปลายเส้ นตรงนัน้ และถ้ าผลลัพธ์นนั ้ ๆ ต้ องการทา
การตัดสินใจต่อไป ให้ วาดสี่เหลี่ยมเล็ก โดยสี่เหลี่ยมจะใช้ แสดงการตัดสินใจ
และวงกลมใช้ แสดงผลลัพธ์ เขียนการตัดสินใจหรื อผลลัพธ์เหนือวงกลมหรื อ
สี่เหลี่ยม แต่เมื่อได้ แนวทางการตัดสินใจที่สมบูรณ์แล้ ว ให้ ปล่อยปลายเส้ นตรง
ให้ วา่ ง
ตัวอย่ าง
จากตัวอย่างการตัดสินใจดาเนินการใด ๆ จากการซื ้อสินค้ าของลูกค้ าโดย
ไม่จ่ายเป็ นเงินสด ของร้ านค้ าแห่งหนึง่ ที่กาหนดไว้ ดงั นี ้
• เมื่อลูกค้ าซื ้อสินค้ าราคาต่ากว่า 500 บาท และจ่ายด้ วยเช็คเงินสด ทาง
ร้ านสามารถขายทางโทรศัพท์ได้
• ลูกค้ าซื ้อสินค้ าราคาต่ากว่า 500 บาท และจ่ายด้ วยบัตรเครดิต ทางร้ าน
จะต้ องตรวจสอบข้ อมูลจากฐานข้ อมูลของบริษัทก่อน
• ลูกค้ าซื ้อสินค้ าราคามากกว่า 500 บาท และจ่ายด้ วยเช็คเงินสด ทาง
ร้ านจะเรี ยกหัวหน้ าพนักงานขาย มาพิจารณารายการซื ้อของลูกค้ า
แผนภาพการตัดสิ นใจแบบต้ นไม้
(Decision Tree)
Work Paper
แผนภาพการตัดสิ นใจแบบต้ นไม้
(Decision Tree)
1. บริ ษัทแห่งหนึง่ ได้ กาหนดนโยบายลดราคาสินค้ าไว้ ให้ ลกู ค้ าดังนี ้
ถ้ าลูกค้ าจ่ายเงินภายใน 5 วันหลังจากที่ได้ รับสินค้ า ในกรณีที่ยอดซื ้อมากกว่า 20,000
บาทจะได้ สว่ นลด 5% แต่ถ้ายอดซื ้อตังแต่
้ 10,000 บาท ถึง 20,000 บาท จะได้ ค่า
ส่วนลด 3% ถ้ ายอดซื ้อต่ากว่า 10,000 บาท ไม่มีสว่ นลด ส่วนในกรณีที่ลกู ค้ า จ่ายเงิน
หลังจาก 5 วันไปแล้ ว จะต้ องจ่ายเต็มตามจานวน
ให้ ทาสิ่งต่ อไปนี ้
1.1 Decision Table ทังแบบเริ
้
่ มแรก และ แบบที่ปรับปรุงแล้ ว
1.2 Decision Tree