การวิเคราะห์และออกแบบระบบ
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 อย่าง ซึ่งใช้สัญลักษณ์ต่าง ๆ แทนดังต่อไปนี้
ชื่อสัญลักษณ์ การประมวลผล (Process) สิ่งที่อยู่นอกระบบ ( External ) กระแสข้อมูล ( 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