บทที่ 3 การวิเคราะห์และออกแบบระบบในระดับภาพรวม
( System Analysis and Design in Context Diagram level : SA )
ขอบเขตในการเรียนการวิเคราะห์และออกแบบระบบเบื้องต้นทั้งในภาคเรียนที่
1 และภาคเรียนที่ 2
การวิเคราะห์และออกแบบระบบรวมไปถึงการออกแบบจอภาพ จัดอยู่ในกลุ่มของขั้นตอนการวิเคราะห์ปัญหา เป็นสิ่งที่สำคัญมากในการเริ่มต้นวางแผนการสร้างและพัฒนาโปรแกรม ซึ่งเนื้อหาของเรื่องนี้ ถ้าเรียนในระดับมหาวิทยาลัยค่อนข้างยากมากเนื่องจากต้องใช้ประสบการณ์ในการแก้ปัญหาในระบบงานที่ซับซ้อนมากๆ
เช่น ระบบสินค้าคงคลัง ระบบธนาคาร
ฯลฯ และ SA ก็มีส่วนช่วยส่งเสริมการเรียนวิชาเขียนโปรแกรม
1 ตามหลักสูตรได้อย่างมีประสิทธิภาพ
ในการเรียน SA เบื้องต้นในระดับมัธยมศึกษาจึงแบ่งออกเป็น 2 ระดับหรือ 2 ภาคเรียน ตามเนื้อหาความยากง่ายดังนี้
1. การวิเคราะห์และออกแบบระบบในระดับภาพรวม จะกล่าวถึงบทนำ ความหมาย สัญลักษณ์ต่างๆ ของ SA เพื่อนำไปใช้ในการสร้างและพัฒนาระบบสารสนเทศอย่างง่าย ไม่ซับซ้อน เขียน SA ในภาพรวม (Context Diagram)
2. การวิเคราะห์และออกแบบระบบในระดับย่อย จะกล่าวถึงการเขียน SA โดยนำ Context Diagram มาใช้ในการสร้างและพัฒนาระบบสารสนเทศอย่างละเอียด และมีความซับซ้อนสูงขึ้น คือเขียน SA ในระดับย่อย (Level 0)
ภาคทฤษฎีของการวิเคราะห์และออกแบบระบบในระดับภาพรวม
บทนำทั่วไป
การเขียนโปรแกรมใดๆ
ก็ตามหากปราศจากการวิเคราะห์ระบบของงาน
หรือเขียนโปรแกรมโดยไม่มีการวางแผนการทำงานของระบบ
จะทำให้การดำเนินงานในด้านการเขียนโปรแกรมนั้นเป็นไปด้วยความยากลำบาก
สื่อสารกันถึงขอบเขตและความต้องการของระบบนั้นยาก เช่น ผู้ใช้งาน
ต้องการซอฟแวร์ประยุกต์ชื่อโปรแกรมหาพื้นที่สี่เหลี่ยมผืนผ้า
ถ้าผู้เขียนโปรแกรมไม่วิเคราะห์และออกแบบระบบ เมื่อนำไปเขียนโปรแกรมจริงๆ
ก็เขียนอย่างไม่มีขอบเขต
ไม่รู้ว่าในโปรแกรมที่ต้องการสร้างมีระบบงานอะไรบ้าง
เมื่อเขียนโปรแกรมเสร็จแล้วนำเสนอผู้ใช้งาน
อาจจะทำให้ผู้ใช้งานไม่พอใจหรือไม่ตรงตามต้องการในโปรแกรมที่เราสร้างขึ้นมาได้ง่าย ถึงแม้ว่าเราจะคิดว่าโปรแกรมที่เราสร้างขึ้นมานี้ถูกต้อง
มีคุณภาพสูง หรือดีแค่ไหนก็ตาม ในที่สุดก็ต้องกลับมาแก้ไขโปรแกรมอย่างนี้ไปเรื่อยๆ อย่างไม่มีเป้าหมายที่ชัดเจน รวมทั้งยากต่อการพัฒนาระบบงานต่อไปได้
การที่เราจะเขียนโปรแกรมได้ตามความต้องการของผู้ใช้งานและสามารถสื่อสารในงานด้านต่างๆ
กับนักโปรแกรมเมอร์ด้วยกันเองได้เข้าใจง่ายนั้น
ต้องอาศัยเครื่องมือที่ช่วยในการสร้างและพัฒนาระบบสารสนเทศ นั่นก็คือ การวิเคราะห์และออกแบบระบบ (System
Analysis and Design) ในวงการคอมพิวเตอร์มักจะเรียกสั้นๆว่า SA
ความหมายของการวิเคราะห์และออกแบบระบบ
ระบบ (System) คือกลุ่มขององค์ประกอบต่างๆ
ที่ทำงานร่วมกันเพื่อจุดประสงค์อันเดียวกัน ระบบอาจจะประกอบด้วย บุคคลากร เครื่องมือ
เครื่องใช้ พัสดุ วิธีการ ซึ่งทั้งหมดนี้จะต้องมีระบบจัดการอันหนึ่ง
เพื่อให้บรรลุจุดประสงค์อันเดียวกัน เช่น ระบบการเรียนการสอน มีจุดประสงค์เพื่อให้นักเรียนได้รับความรู้ในเนื้อหาวิชาที่สอน
การวิเคราะห์ระบบ (System Analysis) คือ การหาขอบเขต (Scope) และความต้องการ (Requirements) ของระบบสารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ
การออกแบบระบบ (System Design) คือ การนำสิ่งที่วิเคราะห์ระบบมาแล้ว นำมาเขียนเป็นแผนภาพแสดงกระแสข้อมูล
แผนภาพแสดงกระแสข้อมูล (Data Flow Diagram : DFD) คือ เครื่องมือที่ใช้ในการเขียนระบบเป็นแผนภาพตามที่วิเคราะห์ระบบไว้แล้ว เพื่อสื่อให้นักโปรแกรมเมอร์ได้เข้าใจกระบวนการทำงานของระบบได้ง่ายขึ้น
นักวิเคราะห์ระบบ (System analyst) คือ มีหน้าที่วางแผน ออกแบบ และวิเคราะห์งานคอมพิวเตอร์ นักวิเคราะห์ระบบจะทำงานร่วมกับผู้ใช้งานและโปรแกรมเมอร์ โดยการสอบถามความต้องการของผู้ใช้ ว่าต้องการโปรแกรมหรือ
ระบบงานคอมพิวเตอร์ในลักษณะใด จากนั้นนักวิเคราะห์ระบบจะทำการวิเคราะห์และออกแบบระบบงานคอมพิวเตอร์ ให้ตรงกับความต้องการของผู้ใช้เพื่อมอบให้นักเขียนโปรแกรมทำการเขียนโปรแกรม เพื่อนำมาพัฒนาเป็นระบบงานต่อไป นักวิเคราะห์ระบบที่ดีควรจะต้องมีความรู้พื้นฐานในการเขียนโปรแกรมด้วย
ตัวอย่างกรณีศึกษาในการรับสมัคร SA ของงานเวชสารสนเทศ คณะแพทยศาสตร์โรงพยาบาลรามาธิบดี
รับสมัครพนักงานด้านสาขาคอมพิวเตอร์บรรจุเป็นพนักงานมหาวิทยาลัย
ดังนี้
-
รับสมัครนักวิเคราะห์ระบบงานคอมพิวเตอร์ (System Analyst) 2 อัตรา
หน้าที่ความรับผิดชอบ : วิเคราะห์ออกแบบระบบงานคอมพิวเตอร์ทางด้านระบบบัญชีการเงิน ระบบจัดซื้อจัดจ้าง ทะเบียนพัสดุ
และระบบทะเบียนบุคลากรหรือว่าวิเคราะห์ออกแบบระบบโรงพยาบาล
วุฒิการศึกษา : ปริญญาตรีหรือโทสาขา Computer Science หรือสาขาที่เกี่ยวข้อง
ประสบการณ์ : 1.
มีประสบการณ์วิเคราะห์ระบบไม่ต่ำกว่า 2 ปี
สามารถวางแผน,
วิเคราะห์, ออกแบบ, ประเมินผลและจัดทำเอกสาร 2. มีความรู้ภาษาอังกฤษเป็นอย่างดี .... ...........
อัตราเงินเดือน : 30,000 40,000 บาท (ขึ้นกับประสบการณ์) อ้างอิงจาก http://www.ra.mahidol.ac.th/faculty/thai/download/mi_dt.doc หรือค้นหาจาก Google คำว่า นักวิเคราะห์ระบบ+เงินเดือน
สัญลักษณ์และการเขียนแผนภาพแสดงกระแสข้อมูล (Data Flow Diagram : DFD)
DFD มีองค์ประกอบ 4 อย่าง ซึ่งใช้สัญลักษณ์ต่าง ๆ แทนดังต่อไปนี้
ที่ |
ชื่อสัญลักษณ์ |
ภาพสัญลักษณ์ |
ความหมาย |
การกำหนดชื่อและการเขียน ภาพสัญลักษณ์ |
1. |
การประมวลผล (Process) |
คือ การเปลี่ยนข้อมูลนำเข้ามาเป็นผลลัพธ์ นั่นหมายความว่า จะต้องมีการกระทำบางอย่างต่อข้อมูลทำให้เกิดผลลัพธ์ |
ควรมีความหมายที่แน่นอน หรือควรจะใช้คำกริยาที่มีการกระทำต่างๆ เช่น คำนวณ แก้ไข แสดงผล เป็นต้น ตัวอย่างเช่น คำนวณสี่เหลี่ยม , แสดงรูปสี่เหลี่ยม,
แสดงผลลัพธ์ เป็นต้น |
|
2. |
สิ่งที่อยู่นอกระบบ ( External ) |
สิ่งที่เราไม่สนใจการทำงานภายในของสิ่งที่อยู่นอกระบบ ถึงแม้ว่าจะมีการติดต่อผ่านทางข้อมูล |
การตั้งชื่ออาจจะเป็นตัวบุคคล หรือองค์กรต่างๆ หากไม่ทราบสิ่งที่อยู่นอกระบบ ให้กำหนดเป็นผู้ใช้งานทั่วไป (User) ก็ได้ การเขียนสิ่งที่อยู่นอกระบบอาจจะเป็นที่ส่งข้อมูลเข้าสู่ระบบ หรืออาจจะเป็นที่รับข้อมูลจากระบบก็ได้ |
|
3. |
กระแสข้อมูล ( Data Flow ) |
ข้อมูลที่ไหลระหว่าง
Process ต่าง ๆ
และอาจเคลื่อนที่มาจาก External
ก็ได้ |
การตั้งชื่อข้อมูลแต่ละอันหรือกลุ่มข้อมูล
ควรจะมีชื่อของตัวเองที่ไม่เหมือนกัน ควรหลีกเลี่ยงใช้ชื่อที่กว้างเกินไป เช่น
"ข้อผิดพลาด" เพราะว่าในระบบหนึ่งๆ อาจจะมี "ข้อผิดพลาด"
เกิดขึ้นหลายๆ แห่ง เราควรใช้ชื่อเฉพาะเจาะจงมากกว่านี้ เช่น
"เลขที่ลูกค้าไม่ถูกต้อง" "ไม่มีสินค้านี้ในคลัง" เป็นตัน
รายละเอียดเหล่านี้ออกให้ชัดเจนการเขียน ข้อมูลที่ไหลไม่เหมือนกันควรเขียนแยกลูกศรด้วย |
ขั้นตอนการวิเคราะห์และออกแบบระบบเบื้องต้นในระดับภาพรวม
(ในระดับมัธยมศึกษา )
1.การวิเคราะห์ขอบเขตของระบบ
1.1 วิเคราะห์ขอบเขตของระบบ (Scope) คือ การกำหนดระบบงานหลักในภาพรวม หรือระบบงานกว้างๆ ว่าเราต้องจะทำอะไรที่มีจุดประสงค์เป็นอันหนึ่งอันเดียวกัน
1.2 วิเคราะห์สิ่งที่อยู่นอกระบบ
(External ) คือ
การวิเคราะห์องค์ประกอบที่อยู่นอกขอบเขตของระบบว่ามีองค์ประกอบใดบ้าง ซึ่งเราจะไม่สนใจการทำงานนอกระบบที่ไม่ต้องการ
แต่องค์ประกอบเหล่านี้มีการติดต่อกันระหว่างระบบภายในระบบกับภายนอกระบบ หากเราไม่สามารถวิเคราะห์ External เนื่องจากขาดประสบการณ์ในการวิเคราะห์ระบบ อาจจะกำหนดให้ External นี้คือ ผู้ใช้งานทั่วไป (User) ก็ได้
2. การออกแบบระบบ
การเขียน
DFD ของ Context Diagram หรือการเขียนขอบเขตของระบบ คือ การตั้งชื่อขอบเขตของระบบมากำหนดข้อมูล
(Data) และสารสนเทศ (Information) ว่ามีการนำข้อมูลนำเข้ามาในระบบมีอะไรบ้าง และเมื่อข้อมูลนั้นผ่านกระบวนการต่างๆ
แล้วจะออกมาเป็นผลลัพธ์อะไรบ้าง ในลักษณะสารสนเทศอย่างไร ดังรูปแบบการเขียนดังนี้
การวิเคราะห์และออกแบบระบบเพื่อนำมาใช้ในการออกแบบจอภาพของคอมพิวเตอร์
ความรู้เกี่ยวกับจอภาพของคอมพิวเตอร์
จอภาพของคอมพิวเตอร์เป็นไปได้ทั้งตัวรับข้อมูลและแสดงผลลัพธ์ จอภาพมีประโยชน์สำหรับแสดงผลลัพธ์ ในกรณีที่เราไม่ต้องการพิมพ์รายงานบนกระดาษ แต่ต้องการดูผลอะไร บางอย่าง เช่น ดูผลลัพท์ที่ได้จากการคำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า เป็นต้น นอกจากนั้นปัจจุบันเราก็นิยมพิมพ์ข้อมูลเข้าหรืออินพุตผ่านทางหน้าจอ เช่น ป้อนข้อมูลความกว้าง ของพื้นที่สี่เหลี่ยมผืนผ้า เป็นต้น
ปกติหน้าจอคอมพิวเตอร์มีขนาด 80*25 (25 บรรทัด บรรทัดละ 80 ตัวอักษร)
ดังนั้นเราจะมีจำนวนจำกัดในการแสดงข้อความบนจอ
หลักการออกแบบจอภาพเบื้องต้นสำหรับการเขียนโปรแกรมด้วยโปรแกรมแปลภาษาซี
เนื่องจากการเรียนวิชาเขียนโปรแกรม 1 มีขอบเขตในการเรียนรู้เฉพาะในส่วนการรับข้อมูลผ่านคีย์บอร์ดและไม่สามารถแสดงผลในลักษณะกราฟิกหรือรูปภาพได้ จึงควรศึกษาหลักการออกแบบจอภาพตามลักษณะการแสดงผลดังนี้
- ในกรณีที่ต้องป้อนข้อมูลผ่านคีย์บอร์ด ถ้าโปรแกรมมีหลายทางเลือก ควรสร้างเมนูเป็นรายการต่างๆ หรือสร้างเงื่อนไขให้ผู้ใช้กดแป้นคีย์บอร์ดตามต้องการ เช่น โปรแกรมถามผู้ใช้งานว่า ต้องการออกจากโปรแกรมหรือไม่ ถ้าผู้ใช้กดแป้นคีย์ y หมายถึงออกจากโปรแกรม ถ้าผู้ใช้ไม่ต้องการออกจากโปรแกรมให้กดแป้นคีย์ n เป็นต้น
- ในกรณีแสดงรูปภาพหรือภาพกราฟิก บางกรณีผู้เขียนโปรแกรมต้องการออกแบบหน้าจอให้มีการแสดงรูปภาพ หรือกราฟิก อาจจะสร้างสัญลักษณ์ต่างๆ
มาประกอบกันเป็นรูปภาพได้ เช่น สร้างเครื่องหมายดอกจันเป็นรูปต่างๆ เป็นต้น
- ในกรณีที่ต้องออกแบบจอภาพแบบซับซ้อน
บางกรณีระบบงานบางระบบมีความซับซ้อนมาก เช่น มีเงื่อนไขจำนวนมาก
นักเขียนโปรแกรมควรปรึกษากับนักวิเคราะห์ระบบเพื่อหาแนวทางการออกแบบที่ถูกต้องและเข้าใจตรงกัน
บทสรุปเกี่ยวกับบทที่
2
การวิเคราะห์และออกแบบระบบเบื้องต้น
ความรู้ในการวิเคราะห์และออกแบบระบบมีความสำคัญ เพราะเป็นปัจจัยในการสร้างและพัฒนาระบบสารสนเทศ ทำให้เรารู้ถึงขอบเขตของงาน รู้ว่าเราจะทำอะไร มีความต้องการทำอะไรบ้างภายในขอบเขตของงานนั้น โดยเริ่มตั้งแต่การวิเคราะห์ขอบเขตของระบบ การเขียน Context Diagram เพื่อที่จะสามารถสื่อสารกับนักเขียนโปรแกรมได้อย่างเข้าใจ จนนำไปสู่การสร้างโปรแกรมได้ตามเป้าหมายและเป็นที่พอใจของผู้ใช้งาน
บทส่งท้าย
เนื้อหาในเรื่อง การวิเคราะห์และออกแบบระบบในระดับภาพรวมนี้ เป็นเนื้อหาอย่างง่ายในการศึกษาทำความเข้าใจเกี่ยวกับ SA เบื้องต้น เป็นพื้นฐานสำคัญในการเรียนเรื่องการวิเคราะห์และออกแบบระบบในระดับย่อย ที่มีความซับซ้อนในระดับสูงต่อไปในภาคเรียนที่ 2
ภาคปฏิบัติของการวิเคราะห์และออกแบบระบบในระดับภาพรวม
ในส่วนของภาคปฏิบัติของการวิเคราะห์และออกแบบระบบเบื้องต้นนี้ จะยกตัวอย่างเป็นกรณีศึกษาปัญหาของระบบหาพื้นที่สี่เหลี่ยมผืนผ้า ดังต่อไปนี้
โจทย์ปัญหาของระบบ : ผู้ใช้งานมีปัญหาในการหาพื้นที่สี่เหลี่ยมผืนผ้า โดยการนำข้อมูลเกี่ยวกับความกว้างและความยาวมาใช้ในการประมวลผล
1.การวิเคราะห์ขอบเขตของระบบ
1.1 ขอบเขตของระบบ คือ คำนวณหาพื้นที่สี่เหลี่ยมผืนผ้า
1.2 นอกระบบ ได้แก่ ผู้ใช้งาน
2. การออกแบบระบบ
ผลลัพธ์ของพื้นที่สี่เหลี่ยมผืนผ้า
2.1 การเขียน
Context Diagram (วิเคราะห์ขอบเขตของระบบ)
3. การอธิบายขอบเขตและความต้องการของระบบหาพื้นที่สี่เหลี่ยมผืนผ้า
3.1 ขอบเขตของระบบใน DFD ของ Context Diagram อธิบายได้ว่า มีการรับข้อมูลความกว้างและความยาวเข้าไปในระบบหาพื้นที่สี่เหลี่ยมผืนผ้า จนได้ข้อสารสนเทศเป็นผลลัพธ์ของพื้นที่สี่เหลี่ยมผืนผ้า
ตัวอย่างการออกแบบจอภาพของระบบหาพื้นที่สี่เหลี่ยมผืนผ้า
Program
square Type width = 3 Type length =
5 Result area of square = 15