เนื้อหา
• การอธิบายการประมวลผล
• ประโยคโครงสร้าง
• วิธีการตัดสินใจแบบตาราง
การอธิบายการประมวลผล (Process Description)
การวิเคราะห์ความต้องการของผู้ใช้โดยการใช้แผนภาพการไหลของข้อมูล (Data Flow Diagram) โดยการเขียนสัญลักษณ์การประมวลผลนั้นจะเขียนเพียงหัวข้อในการประมวลผลเท่านั้น ยังไม่มีการเขียนคำอธิบายโดยละเอียด ซึ่งเราสามารถเขียนอธิบายโดยละเอียดได้ด้วยการเขียนคำอธิบายการประมวลผล (Process Description) หรือ Process Specification
จุดประสงค์ของการเขียน Process Specification เพื่อใช้เป็นสื่อระหว่างผู้ใช้ระบบโปรแกรมเมอร์ และนักวิเคราะห์ระบบ ได้เข้าใจตรงกันในการประมวลผลนั้น โดยโปรแกรมเมอร์จะเข้าใจการประมวลผลนั้นเพื่อใช้ในการเขียนโปรแกรม โดยเฉพาะในกรณีของการมีโปรแกรมเมอร์หลายคนในการเขียนโปรแกรมในการสื่อให้เข้าใจตรงกัน ส่วนผู้ใช้ระบบจะได้เห็นถึงผลการวิเคราะห์ของนักวิเคราะห์ระบบว่าเข้าใจถูกต้องหรือไม่
จุดมุ่งหมายในการใช้การอธิบายการประมวลผลนั้นสรุปได้ 3 ข้อคือ
1. เพื่อให้การประมวลผลนั้นชัดเจน เข้าใจง่าย
การใช้วิธีนี้จะทำให้ผู้วิเคราะห์ได้เรียนรู้รายละเอียดเกี่ยวกับขั้นตอน ในการประมวลผลการทำงานในส่วนที่ไม่ชัดเจนต่างๆ จะถูกบันทึก และเขียนออกมาให้ชัดเจนยิ่งขึ้น โดยจะรวมมาจากการสืบค้นข้อมูลที่ได้จากการสืบค้นข้อมูลวิธีต่างๆ
2. เพื่อให้เกิดความเข้าใจถูกต้องในการอธิบายในรูปแบบเฉพาะของการ
ประมวลผลนั้นระหว่างนักวิเคราะห์ระบบและโปรแกรมเมอร์
ในการสื่อถึงกันให้เข้าใจตรงกันระหว่างนักวิเคราะห์และโปรแกรมเมอร์นั้น ถ้าไม่สื่อกันให้ชัดเจนจะมีผลตามมาอย่างมากเมื่อลงรหัสโปรแกรม เนื่องจากจะต้องเสียเวลา เสียค่าใช้จ่าย และอาจทำให้การบริหารโครงการไม่เป็นไปตามกำหนดเวลาอีกด้วย ดังนั้น ในการอธิบายการประมวลผลจึงมีส่วนช่วยอย่างมากใน การสื่อการประมวลผลให้เกิดความเข้าใจตรงกัน ระหว่างนักวิเคราะห์ระบบและโปรแกรมเมอร์
3. เพื่อตรวจสอบการออกแบบระบบ
โดยการประมวลผลนั้นจะถูกต้องหรือไม่ในด้านข้อมูลที่ป้อนเข้าเครื่อง การออกรายงานทั้งหน้าจอ และการพิมพ์รายงานนั้นจะเป็นไปตามการวิเคราะห์ตามแผนภาพการไหลของข้อมูล (Data Flow Diagram) หรือไม่ จะสามารถตรวจสอบได้จากการอธิบายการประมวลผลนี้
การเขียนคำอธิบายการประมวลผลนี้จะมีเฉพาะโพรเซสในระดับล่างสุดเท่านั้น ระดับแม่เราจะไม่เขียนคำอธิบายเนื่องจากเราเขียน DFD ระดับแม่เพื่อใช้เป็นเครื่องมือเขียน DFD ระดับลูกเพื่อให้เกิดการแตกโครงสร้างแบบบน-ลง-ล่าง (Top - Down) และเมื่ออธิบายโพรเซสระดับลูกแล้วก็หมายความรวมถึงการทำงานระดับแม่โดยปริยาย
วิธีการที่ใช้อธิบายการประมวลผลที่จะกล่าวในที่นี้มีอยู่ด้วยกัน 2 วิธีคือ
1. ประโยคโครงสร้าง (Structure Sentences)
2. การตัดสินใจแบบตาราง (Description Tables
เราจะเลือกใช้วิธีการอันใดอันหนึ่งหรือใช้ปนกันก็ได้ขึ้นอยู่กับความเหมาะสม แต่ไม่ว่าจะเขียนด้วยวิธีใดๆ เมื่อเขียนแล้วควรจะมีคุณสมบัติ ดังนี้
• เขียนแล้วคำอธิบายนั้นสามารถนำมาตรวจสอบความถูกต้องกับผู้ใช้ได้ง่ายการเขียนเป็นประโยค โครงสร้างอาจจะไม่เหมาะสมถ้าต้องนำมาตรวจสอบกับผู้ใช้เพราะว่าคำอธิบาย นั้นจะยาวและคำอธิบายเกี่ยวกับเงื่อนไข หรือการทำงานซ้ำก็เขียนไม่สะดวก ตัวอย่างเช่น เงื่อนไขที่มี AND,OR หรือ NOT เป็นต้น
• เขียนแล้วคำอธิบายนั้นควรจะใช้สื่อสารกับผู้อื่นที่เกี่ยวข้องในระบบได้ง่ายผู้อื่นที่เกี่ยวข้องอาจจะเป็นผู้ใช้ ผู้จัดการ ผู้ตรวจสอบ เป็นต้น การเขียนคำอธิบายเป็นประโยคโครงสร้าง หรือเขียนเป็นการตัดสินใจแบบตารางจะเหมาะสมกับบุคคลเหล่านั้นเพราะว่าทั้ง 2 วิธีนั้นง่ายต่อการทำความเข้าใจถึงแม้ว่าอาจจะยาวไปหน่อยก็ตาม
โดยทั่วไปแล้ววิธีการเขียนแบบประโยคโครงสร้างเป็นที่นิยมใช้กันมากที่สุด และในโครงการเดียวกันควรจะเลือกใช้วิธีเดียวกันเพื่อให้ง่ายต่อการสื่อสาร การจะเลือกใช้วิธีการมากกว่าหนึ่งวิธีก็อาจจะเป็นไปได้ทั้งนี้ขึ้นอยู่กับ
1. ความชอบของผู้ใช้
2. ความชอบของผู้เขียน (นักวิเคราะห์ระบบ)
3. ลักษณะการทำงานของโพรเซส
ประโยคโครงสร้าง (Structure Sentence)
วิธีนี้ใช้การอธิบายเป็นประโยคโดยเขียนให้มีลักษณะเป็นโครงสร้าง คล้ายๆ การเขียนโปรแกรมโครงสร้างดังตัวอย่างข้างต้น การเขียนประโยคโครงสร้างเราใช้คำศัพท์ต่างๆ กัน ซึ่งอาจจะเลือกใช้คำต่างๆ กันได้ ดังนี้
• ใช้คำกริยาที่เมื่อทำแล้วมีความหมายว่าได้ผลลัพธ์บางอย่างออกมา เช่น "คำนวณ" สิ่งนั้นสิ่งนี้หรือ "เปรียบเทียบ" สิ่งนั้นกับสิ่งนี้ เป็นต้น คำกริยาที่อาจจะเลือกใช้ได้ เช่น
GET , COMPUTE, PUT, DELET, FIND, VALIDATE,DIVEIDE
ADD, MOVE, SUBTRACT, REPLACE, MULTIPLY, SET,SORT
• ใช้ชื่อข้อมูลเป็นคำนามในประโยค ตัวอย่างเช่น วันชำระเงินใบทวงหนี้ รายงานเพื่อเตรียมเงินสด เป็นต้น
• ใช้คำศัพท์ที่แสดงความสัมพันธ์ระหว่างข้อมูล เช่น "และ" "หรือ" "เท่ากับ" "ไม่เท่ากับ" "มากกว่า" และ "น้อยกว่า" เป็นต้น
• ใช้คำที่บอกการเคลื่อนที่ของข้อมูลคล้ายกับคำที่ใช้ในการเขียนโปรแกรมได้แก่
1. ถ้า……..มิฉะนั้น (If……else……..)
2. กรณี…. (case)
3. ทำซ้ำ (Do…..Loop)
4. ทำตามลำดับ (Sequence)
ตัวอย่างที่ 1 ประโยคโครงสร้างที่ทำงานตามลำดับ
• อ่านข้อมูลจาก Employee
• คำนวณหาเงินเดือน
• ค่าจ้าง = จำนวนชั่วโมงที่ทำงาน X อัตราค่าจ้างต่อชั่วโมง
• เงินเดือน = ค่าจ้าง X อัตราภาษี
• พิมพ์รายงานแสดงเงินเดือน
ตัวอย่างที่ 2 ประโยคโครงสร้างที่ทำงานตามลำดับและมีการใช้เงื่อนไข If…Else
ใช้ข้อมูล - A และข้อมูล - B เพื่อคำนวณข้อมูล - C
ตรวจสอบข้อมูล - C
If ข้อมูล - C
ให้เก็บในไฟล์
Else
ให้พิมพ์ข้อผิดพลาด
คำนวณผลรวม
ตัวอย่างที่ 3 ประโยคโครงสร้างที่ทำงานตามลำดับและมีการใช้เงื่อนไข Repeat….Until
Repeat
อ่านข้อมูลจาก Employee
คำนวณหาเงินเดือน
ค่าจ้าง = จำนวนชั่วโมงที่ทำงาน X อัตราค่าจ้างต่อชั่วโมง
คำนวณหาเงินเดือน = ค่าจ้าง X อัตราภาษี
พิมพ์รายงานแสดงเงินเดือน
Until ไม่มีข้อมูล Employee
.
.
.
ตัวอย่างที่ 4 ประโยคโครงสร้างที่ทำงานตามลำดับและมีการใช้เงื่อนไข Do…Case
อ่านข้อมูลคะแนนรวม
Do คะแนนรวม
Case1 คะแนนรวม >=80
เกรด = A< br>
Case2 คะแนนรวม >=70
เกรด = B
Case3 คะแนนรวม >=60
เกรด = C
Case4 คะแนนรวม >=50
เกรด = D
End (ถ้าไม่ตรงกับทุกกรณี)
เกรด = E
การใช้ประโยคโครงสร้างสำหรับกรณีที่มีเงื่อนไข If…ELSE ซ้อนกันมากๆ นั้นไม่สะดวก เราอาจจะเขียนเป็นการตัดสินใจแบบตารางซึ่งจะง่ายกว่า
วิธีการตัดสินใจแบบตาราง (Decision Tables )
วิธีการตัดสินใจแบบตารางเป็นตารางแบบ 2 มิติ โดยที่แถวตั้งด้านซ้ายเป็นเงื่อนไข และแถวนอนเป็นรายละเอียดของเงื่อนไขและผลของการตัดสินใจ เงื่อนไขก็คือ สิ่งที่มีค่าเปลี่ยนแปลงได้ เช่น จำนวนเงินในใบทวงหนี้ ซึ่งเป็นตัวกำหนดว่าควรตัดสินใจอย่างไร เช่น ถ้าจำนวนเงินต่ำกว่า 25,000 บาท ไม่ต้องรอการอนุมัติจ่ายเงิน เป็นต้น
เงื่อนไข |
การตัดสินใจ |
จำนวนเงินในใบทวงหนี้
|
< 25,000
|
อนุมัติจ่ายเงิน
|
Y
|
ในตัวอย่างการตัดสินใจแบบตารางข้างบนนี้ แถวตั้งเป็นเงื่อนไข หรือตัวแปรคือ จำนวนเงินในใบทวงหนี้ แถวนอนเป็นค่าตัวแปร คือ น้อยกว่า 25,000 บาท ดังนั้นการอนุมัติจ่ายเงินคือ " Y " ซึ่งหมายความว่า " Yes " คือ ให้จ่ายเงินได้ แต่ที่จริงแล้วค่าของจำนวนเงินที่เป็นไปได้มีมากกว่านี้ และเงื่อนไขก็มีมากว่านี้ด้วย ซึ่งพอสรุปออกมาเป็นตารางเงื่อนไขดังนี้
เงื่อนไข |
ค่าที่เป็นไปได้ |
1. จำนวนเงินในใบทวงหนี้
|
a. น้อยกว่า 25,000
b. ระหว่างc. 25,000 ถึงd. 250,000
e. มากกว่า 250,000
|
2. วันค้างจ่าย
|
a. น้อยกว่าหรือเท่ากับ 10 วัน
b. มากว่า 10 วัน
|
3. ส่วนลดถ้าจ่ายเร็ว
|
a. มี
b. ไม่มี
|
ตารางที่ 4 แสดงตัวอย่างตารางตัดสินใจของการทวงหนี้
ดังนั้นตารางการตัดสินใจจะต้องขยายออกไปอีก หลักการตั้งตารางตัดสินใจเริ่มจากเงื่อนไขก่อนโดยที่จำนวนแถวนอนของตาราง จะมีเท่ากับจำนวนเงื่อนไขบวกหนึ่งสำหรับหัวตาราง จากตารางข้างบนนี้เรามี 3 เงื่อนไข เพราะฉะนั้นเราต้องสร้าง 4 แถวนอน สำหรับจำนวนแถวตั้งจะมีเท่ากับผลคูณของค่าตัวแปรที่เป็นไปได้ทั้งหมดบวก 1 แถว สำหรับเขียนคำอธิบาย ดังนั้นจำนวนแถวตั้งจะมีเท่ากับ 3 ( จำนวนค่าที่เป็นไปได้ของจำนวนเงินในใบทวงหนี้ ) คูณ 2 ( ค่าที่เป็นไปได้ของวันค้างจ่าย ) และคูณ 2 ( มีส่วนลดหรือไม่ ) บวกกับอีก 1 ได้ผลลัพธ์เท่ากับ 13 ดังตารางของเราจะมี 13 แถวตั้ง และ 4 แถวนอน
จากตารางตัดสินใจที่ได้มานั้นมันออกจะใหญ่เกินไป และมีหลายกรณีที่เงื่อนไขไม่มีความหมาย และให้ผลลัพธ์ออกมาเหมือนกัน ตัวอย่างเช่น ถ้าจำนวนเงินน้อยกว่า 25,000 บาท เราไม่จำเป็นต้องสนใจเงื่อนไขวันค้างจ่ายหรือส่วนลด ดังนั้นเราอาจจะทำให้ตารางสั้นเข้าได้
เงื่อนไขที่ไม่ได้ใช้เราจะเขียนแทนด้วยเครื่องหมาย " - " ในแถวตั้งที่ไม่จำเป็นออก เราจะยุบแถวตั้งดังในตารางข้างล่างนี้
|
1
|
2
|
3
|
4
|
5
|
จำนวนเงินในใบทวงหนี้
|
< 25,000
|
25,000 – 250,000
|
25,000 – 250,000
|
25,000 – 250,000
|
> 250,000
|
วันค้างจ่าย
|
-
|
<= 10
|
<= 10
|
<= 10
|
-
|
ส่วนลด
|
-
|
Y
|
N
|
-
|
-
|
ตัดสินใจ
|
A
|
A
|
S
|
A
|
P
|
A = จ่ายเงิน
S = เก็บใจทวงหนี้ไว้รอการตัดสินใจ
P = พิมพ์รวมเพื่อเตรียมเงินสด
การเขียนตารางการตัดสินใจให้ผลออกมาเหมือนกับการเขียนด้วยประโยคโครงสร้างแต่การทำความเข้าใจสำหรับบุคคลหลาย ๆ คน อาจจะยากง่ายไม่เหมือนกัน ดังนั้นนักวิเคราะห์ระบบต้องตัดสินใจ ว่าจะใช้วิธีใดที่เหมาะสมที่สุด
สรุป
ประโยคโครงสร้างและตารางตัดสินใจเป็นเครื่องมืออธิบายการทำงานภายในของโพรเซส เราควรจะเลือกวิธีที่เขียนอธิบายการทำงานที่ดีและเหมาะสมกับงานนั้น ๆ
|