บทที่  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