Wednesday, September 21, 2016

2 การออกแบบระบบ (System design)

2 การออกแบบระบบ (System design)

ระบบต้องได้รับการออกแบบโดยอ้างอิงจากการกำหนดขอบเขตความต้องการของระบบจากกระบวนการก่อนหน้า โดยกระบวนการในการออกแบบระบบสามารถสรุปได้ดังต่อไปนี้

การออกแบบสถาปัตยกรรมของระบบ (Systems architecture design)
หรือการออกแบบภายนอก (External design)

ผู้ใช้ระบบ (แผนกของผู้ใช้ระบบ) ทำการออกแบบองค์ประกอบต่างๆ ของระบบที่สามารถเห็นหรือรับรู้ได้จากภายนอก

การออกแบบสถาปัตยกรรมซอฟต์แวร์ (Software architecture design) หรือ การออกแบบภายใน (Internal design)
แผนกที่ทำหน้าที่พัฒนาระบบทำการออกแบบฟังก์ชั่นการทำงานภายในที่จำเป็นของระบบ โดยให้ความสำคัญการใช้งานจริงตามขอบเขตของแต่ละฟังก์ชั่น ในกระบวนการนี้จึงเป็นกระบวนการออกแบบทางสถาปัตยกรรมของระบบ

การออกแบบรายละเอียดของซอฟต์แวร์ (Software detailed design) หรือการออกแบบโปรแกรม (Program design)

แผนกที่ทำหน้าที่ในการพัฒนาระบบ ทำการออกแบบโครงสร้างภายในของโปรแกรมโดยอ้างอิงจากการออกแบบสถาปัตยกรรมซอฟต์แวร์

(1) การออกแบบสถาปัตยกรรมของระบบ (Systems architecture design) หรือ การออกแบบภายนอก (External design) ในการออกแบบสถาปัตยกรรมของระบบ เป็นการออกแบบองค์ประกอบที่ผู้ใช้ (แผนกผู้ใช้ระบบ) สามารถมองเห็นหรือรับรู้ได้ ฟังก์ชั่นที่ต้องการสำหรับระบบจะได้รับการออกแบบขึ้นโดยพิจารณาจาก ความเปลี่ยนแปลงในการทำงานเมื่อระบบได้รับการพัฒนาขึ้น ที่รวมถึงส่วนติดต่อกับผู้ใช้ (human interface) เช่น หน้าจอเพื่อการอินพุท เอ้าท์พุท และแบบฟอร์ม สลิปใบเสร็จ ต่างๆ การออกแบบสถาปัตยกรรมระบบอาจถูกใช้เพื่อการอ้างอิงในรูปแบบของ แบบร่าง (outline design) เพื่อเป็นเค้าโครงของประเภทของระบบที่จะนำไปใช้ต่อไป ในการออกแบบสถาปัตยกรรมระบบจึงเป็นกระบวนการในการออกแบบส่วนต่างๆ เช่น การออกแบบส่วนติดต่อกับผู้ใช้ (human interface design) อาทิ หน้าจอเพื่อการอินพุทเอ้าท์พุท และแบบฟอร์ม สลิป เช่นเดียวกับ การออกแบบข้อมูล (data design) และ การออกแบบโค้ดโปรแกรม (code design)

●การออกแบบส่วนติดต่อกับมนุษย์ (Human interface design) ส่วนติดต่อกับมนุษย์ หรืออินเตอร์เฟส (Human interface) เป็นส่วนหรือจุดในการเชื่อมต่อระหว่างมนุษย์กับคอมพิวเตอร์ อาจเรียกว่า ส่วนติดต่อกับผู้ใช้ (user interface) ในการออกแบบส่วนติดต่อกับมนุษย์จึงเป็นการออกแบบ หน้าจอเพื่อการอินพุท เอ้าท์พุท ของระบบและการแสดงผลในรูปแบบการพิมพ์ เช่น แบบฟอร์มและสลิปต่างๆ

●การออกแบบข้อมูล (Data design) ในการออกแบบข้อมูล เป็นการออกแบบข้อมูลในรูปแบบตารางข้อมูลเพื่อการใช้ข้อมูลแบบฐานข้อมูลเชิงสัมพันธ์ (relational database) โดยแยกรายการข้อมูลทั้งหมดที่ใช้ในการดำเนินงานและทำการนอร์มอลไลซ์ข้อมูล (normalizing) เพื่อลดความซ้ำซ้อนของข้อมูล (redundant)

●การออกแบบรหัส (Code design) ด้วยระบบต้องทำการจัดการรหัสข้อมูลต่างๆ มากมาย อาทิเช่น หมายเลขผลิตภัณฑ์ และหมายเลขลูกค้า ด้วยรหัสที่จำเป็นเหล่านี้ จึงจำเป็นต้องทำการออกแบบรหัสให้ง่ายต่อการบริหารจัดการสามารถใช้งานได้อย่างมีประสิทธิภาพและเพื่อเป็นกฎเกณฑ์ในการจัดการรวมทั้งการเข้ารหัสรายการข้อมูลต่างๆ ให้สามารถใช้งานได้โดยต่อเนื่อง สามารถขยายขอบเขตการใช้ได้ในอนาคต

(2) การออกแบบสถาปัตยกรรมซอฟต์แวร์ (Software architecture design) หรือการออกแบบภายใน (Internal design) ด้วยการออกแบบสถาปัตยกรรมซอฟต์แวร์ เป็นการออกแบบภายในของระบบ ที่พิจารณาถึงวิธีการในการใช้งาน (how to implement) แต่ละฟังก์ชั่นของระบบ อีกนัยหนึ่งการออกแบบสถาปัตยกรรมซอฟต์แวร์เป็นการออกแบบจากมุมมองของการพัฒนาโปรแกรมเพื่อสร้างฟังก์ชั่นที่กำหนดไว้จากการออกแบบสถาปัตยกรรมระบบ ในกระบวนการนี้ผู้ใช้ (แผนกผู้ใช้ระบบ) จึงไม่มีส่วนร่วมในการออกแบบสถาปัตยกรรมซอฟต์แวร์เนื่องจากเป็นการออกแบบการทำงานภายในของระบบ

(3) การออกแบบรายละเอียดของซอฟต์แวร์ (Software detailed design) หรือการออกแบบโปรแกรม (Program design) การออกแบบรายละเอียดของซอฟต์แวร์เป็นขั้นตอนการออกแบบสถาปัตยกรรมภายในของโปรแกรม โดยอ้างอิงจากการออกแบบสถาปัตยกรรมซอฟต์แวร์ในกระบวนการก่อนหน้า โดยทำการกำหนดรายละเอียดของฟังก์ชั่น และรายละเอียดในการประมวลผลของแต่ละหน่วยหรือโมดูลของโครงสร้างโปรแกรม อาทิเช่น การออกแบบวิธีการในการเข้าถึงฐานข้อมูล (database access methods) (คำสั่ง SQL) เป็นต้น ในขั้นตอนนี้ผู้ใช้ระบบจึงไม่มีส่วนร่วมในการออกแบบรายละเอียดของซอฟต์แวร์ เนื่องจากเป็นการออกแบบฟังก์ชั่นภายในของระบบเช่นเดียวกัน

No comments: