บทที่ 9 การออกแบบระบบ และการออกแบบยูสเซอร์อินเตอร์เฟช คว
แสดงการนำแบบจำลองเชิงลอจิคัลที่ได้จากระยะการวิเคราะห์ มาดำเนินการออกแบบเพื่อเป็นแบบจำลองเชิงฟิสิคัล
จุดประสงค์การเรียนรู้ ยุทธวิธีการออกแบบ วิธีพื้นฐานในการพัฒนาระบบ การออกแบบสถาปัตยกรรมระบบ การออกแบบฐานข้อมูล การออกแบบเอาต์พุต ชนิดของเอาต์พุต วัตถุประสงค์และหลักการพิจารณาเอาต์พุต การจัดรูปแบบ และประเภทของรายงาน การนำเสนอข้อมูล และชนิดกระดาษรายงาน รายงานทางจอภาพ และเครื่องพิมพ์ การออกแบบ และวัตถุประสงค์ของการออกแบบอินพุต
ยุทธวิธีการออกแบบ (Design Strategy) ยุทธวิธีการออกแบบ จะเกี่ยวข้องกับแนวทางการพัฒนาระบบงาน ด้วยการตัดสินใจว่าจะดำเนินการพัฒนาระบบด้วยแนวทางใด โดยระบบใหม่ที่พัฒนาขึ้นมาเพื่อใช้ทดแทนระบบงานเดิมนั้น สามารถดำเนินการได้ด้วย การพัฒนาโปรแกรมขึ้นเอง (In-House/Custom Development) การซื้อโปรแกรมสำเร็จรูป (Package Software) การว่าจ้างบริษัทภายนอกพัฒนาระบบให้ (Outsourcing)
ยุทธวิธีการออกแบบ (Design Strategy) การออกแบบระบบ นักวิเคราะห์ระบบจะต้องสามารถตอบคำถามเหล่านี้ได้ ในกระบวนการออกแบบระบบ จะต้องมีส่วนประกอบสำคัญอะไรบ้าง? การออกแบบอินพุตและเอาต์พุตของกระบวนการมีอะไรบ้าง? จะดำเนินการกับระบบที่ออกแบบได้อย่างไร?
ยุทธวิธีการออกแบบ (Design Strategy) การพัฒนาโปรแกรมขึ้นเอง (In-House/Custom Development) หมายถึงหน่วยงานจะมีบุคลากรหรือส่วนงานระบบสารสนเทศที่ทำหน้าที่พัฒนาระบบสารสนเทศเพื่อใช้งานภายในองค์กรเอง ข้อดี โปรแกรมจะตอบสนองความต้องการแก่ผู้ใช้มากที่สุด ลดค่าใช้จ่ายในด้านอุปกรณ์ฮาร์ดแวร์ ทีมพัฒนาระบบ ย่อมมีความรู้เกี่ยวกับวัฒนธรรมองค์กรเป็นอย่างดี ทำให้ผู้ใช้ระบบกับทีมงานมีความคุ้นเคยโดยไม่ต้องมีสิ่งกังวลใด ๆ หากระบบเกิดข้อขัดข้อง ผู้ใช้งานสามารถเรียกใช้บริการจากทีมงาน ภายในได้ทันที
ยุทธวิธีการออกแบบ (Design Strategy) การพัฒนาโปรแกรมขึ้นเอง (In-House/Custom Development) ข้อเสีย อาจจำเป็นต้องสิ้นเปลืองค่าใช้จ่ายด้านการฝึกอบรมบุคลากร และเวลาที่ใช้ไปกับการฝึกอบรม เอกสาร อาจไม่ได้รับการจัดทำ หรือจัดทำแบบไม่เป็นมาตรฐาน ไม่เหมาะกับระบบงานที่มีความซับซ้อนสูง
ยุทธวิธีการออกแบบ (Design Strategy) การซื้อโปรแกรมสำเร็จรูป (Package Software) จัดเป็นวิธีที่มีความรวดเร็ว ลดเวลา และค่าใช้จ่ายในการพัฒนา ปัจจุบันมีอยู่ 2 แนวทางหลัก ๆ คือ โปรแกรมสำเร็จรูปขนาดเล็กทั่วไป ซึ่งมักจะเป็นโปรแกรมที่มีรูปแบบ การดำเนินธุรกิจคล้าย ๆ กัน เช่น ระบบบัญชี และอีกแนวทางหนึ่งคือโปรแกรมสำเร็จรูปขนาดใหญ่ เป็นโปรแกรมที่ได้รับการออกแบบให้เป็นแหล่งรวมของระบบงานย่อย ๆ รวมไว้ด้วยกัน ข้อดี สามารถนำมาใช้งานได้ทันที รวดเร็ว คุณภาพโปรแกรมค่อนข้างดี มีเอกสารประกอบการใช้งาน หากโปรแกรมมีการปรับปรุงเวอร์ชัน จะได้รับการบริการและคำปรึกษาจากบริษัทตัวแทนจำหน่าย
ยุทธวิธีการออกแบบ (Design Strategy) การซื้อโปรแกรมสำเร็จรูป (Package Software) ข้อเสีย อาจจำเป็นต้องปรับกระบวนการทำงานให้เป็นไปตามโปรแกรม ต้องคัดเลือกซื้อโปรแกรมสำเร็จรูปจากบริษัทหรือตัวแทนจำหน่ายที่มีความน่าเชื่อถือ เนื่องจากค่าใช้จ่ายสูง ผู้ใช้งานในองค์กร จำเป็นต้องได้รับการอบรมเพื่อใช้งานระบบจากบริษัทตัวแทน หากระบบเกิดข้อขัดข้อง จำเป็นต้องได้รับการปรึกษาจากบริษัทตัวแทนจำหน่ายเท่านั้น
ยุทธวิธีการออกแบบ (Design Strategy) การว่าจ้างบริษัทภายนอกพัฒนาระบบให้ (Outsourcing) หรือมักเรียกว่าการเอาต์ซอร์ส ข้อดี เหมาะสำหรับองค์กรที่ไม่มีความพร้อมด้านการพัฒนาระบบงานด้วยตนเอง หน่วยงานได้ใช้ระบบงานที่ทันสมัย มีเทคโนโลยีใหม่ ๆ มั่นใจได้ว่าจะได้ระบบตามความต้องการ และส่งมอบระบบตรงเวลา สามารถควบคุมค่าใช้จ่ายได้ (มีการแบ่งชำระ) การปรับปรุงระบบให้มีความทันสมัยยิ่งขึ้น ทำได้ง่าย เอกสารเกี่ยวกับระบบงาน มีครบถ้วน เป็นระบบ และมีมาตรฐาน
ยุทธวิธีการออกแบบ (Design Strategy) การว่าจ้างบริษัทภายนอกพัฒนาระบบให้ (Outsourcing) ข้อเสีย เอาต์ซอร์สที่มีศักยภาพสูงคงมีน้อย สูญเสียความลับขององค์กร จำเป็นต้องพึ่งพาบริษัทเอาต์ซอร์สเพื่อดูแลระบบให้ อาจได้รับแรงต่อต้านจากพนักงานภายในองค์กร ค่าใช้จ่ายสูง
วิธีพื้นฐานในการพัฒนาระบบ วิธีการพัฒนาระบบแบบเฉพาะเจาะจง (Ad Hoc Approach) จัดเป็นวิธีการพัฒนาระบบที่ต้องการแก้ไขปัญหาเฉพาะงาน ซึ่งเหมาะกับหน่วยงานที่มีการเปลี่ยนแปลงอย่างรวดเร็ว และต้องการแก้ไขสถานการณ์เฉพาะหน้าไปก่อน วิธีการพัฒนาระบบด้วยการสร้างฐานข้อมูล (Database Approach) การออกแบบและจัดเก็บข้อมูล เพื่อให้สามารถนำข้อมูลที่ต้องการจัดเก็บลงในฐานข้อมูลได้ การพัฒนาฐานข้อมูล การใช้ชุดคำสั่งเพื่อเรียกดูข้อมูล และจัดการกับข้อมูล
วิธีพื้นฐานในการพัฒนาระบบ 3. วิธีการพัฒนาระบบแบบล่างขึ้นบน (Bottom-Up Approach) มุ่งเน้นการพัฒนาระบบย่อย ๆ ในหน่วยงานแต่ละส่วนก่อน จนกระทั่งนำระบบย่อยเหล่านั้นมารวมกันเป็นระบบใหญ่ในภายหลัง 4. วิธีการพัฒนาระบบแบบบนลงล่าง (Top-Down Approach) จะมองภาพรวมของระบบก่อน จากนั้นก็ดำเนินการกระจายเป็นระบบย่อยออกเป็นส่วน ๆ
วิธีพื้นฐานในการพัฒนาระบบ
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) ประกอบไปด้วยการวางแผนเกี่ยวกับฮาร์ดแวร์ ซอฟต์แวร์ การสื่อสาร และระบบความปลอดภัย เพื่อสนับสนุนระบบงานใหม่ การออกแบบสถาปัตยกรรมเครือข่าย ก่อให้เกิดประโยชน์ในด้านต่าง ๆ มากมาย ไม่ว่าจะเป็นความสามารถใน ด้านการสื่อสารภายในเครือข่ายเพื่อใช้ ฐานข้อมูลร่วมกัน การใช้อุปกรณ์หรือ ทรัพยากรต่าง ๆ ร่วมกันบนเครือข่าย สามารถเชื่อมต่อเครือข่ายท้องถิ่นหลายๆ เครือข่ายไว้เข้าด้วยกัน รวมถึงการเชื่อมต่อ เข้าสู่ภายนอก
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) การออกแบบสถาปัตยกรรมเครือข่าย สำหรับการออกแบบสถาปัตยกรรมเครือข่าย ประกอบไปด้วยพื้นฐาน 3 สถาปัตยกรรม ด้วยกัน คือ สถาปัตยกรรมเครือข่ายแบบรวมศูนย์ (Centralized) สถาปัตยกรรมเครือข่ายแบบไฟล์เซิร์ฟเวอร์ (File Servers) สถาปัตยกรรมเครือข่ายแบบไคลเอนต์เซิร์ฟเวอร์ (Client-Server)
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) การออกแบบสถาปัตยกรรมเครือข่าย Presentation Logic การติดต่อระหว่างผู้ใช้แอปพลิเคชัน เช่น การรับข้อมูลจากแป้นพิมพ์ และการแสดงผลออกมาในรูปแบบของผลลัพธ์ Application Logic ด้านโปรแกรมประยุกต์ต่างๆ ที่สนับสนุนในระบบงานทางธุรกิจ Data Access Logic ส่วนบริการเกี่ยวกับการเข้าถึงข้อมูล ประกอบด้วยคำสั่งต่าง ๆ เช่น คำสั่งในการร้องขอเรียกดูข้อมูลจากฐานข้อมูล Data Storage ส่วนงานบริการทำหน้าที่เกี่ยวกับการจัดเก็บข้อมูลลงในฐานข้อมูล
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) สถาปัตยกรรมเครือข่ายแบบรวมศูนย์ (Centralized Network) มีคอมพิวเตอร์เป็นศูนย์กลาง หรือเรียกว่า “โฮสต์ (Host)” เครื่องลูกข่ายเรียกว่า “เทอร์มินัล (Terminal)” มีหน้าที่เพียงส่ง และรับข้อมูลจากเครื่องโฮสต์เท่านั้น
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) สถาปัตยกรรมเครือข่ายแบบไฟล์เซิร์ฟเวอร์ (File Servers) ตัวเครื่องเซิร์ฟเวอร์ที่จะมีหน้าที่ในการบริการแชร์ไฟล์ข้อมูลและทรัพยากรให้กับเครื่องไคลเอนต์
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) สถาปัตยกรรมเครือข่ายแบบไฟล์เซิร์ฟเวอร์ (File Servers)
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) สถาปัตยกรรมเครือข่ายแบบไคลเอนต์เซิร์ฟเวอร์ (Client-Server) เมื่อไคลเอนต์ต้องการร้องขอข้อมูลบางส่วนจากเซิร์ฟเวอร์ เครื่องเซิร์ฟเวอร์จะส่งเฉพาะข้อมูลบางส่วนที่ต้องการเท่านั้นผ่านเครือข่ายมายังเครื่องไคลเอนต์เพื่อให้เครื่องไคลเอนต์นำไปประมวลผลต่อไป
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) สถาปัตยกรรมเครือข่ายแบบไคลเอนต์เซิร์ฟเวอร์ (Client-Server) สถาปัตยกรรมไคลเอนต์เซิร์ฟเวอร์แบบ Three-Tiered โดยมีการแบ่งส่วนคอมพิวเตอร์ออกเป็นสามส่วนด้วยกัน คือ เครื่องไคลเอนต์ ที่รับผิดชอบในส่วนบริการด้านการแสดงผล ในขณะที่แอปพลิเคชันเซิร์ฟเวอร์ จะรับผิดชอบเกี่ยวกับการบริการโปรแกรมประยุกต์ และดาต้าเบสเซิร์ฟเวอร์ ที่รับผิดชอบด้านบริการการเข้าถึงข้อมูลและการบริการข้อมูล ซึ่งก่อให้เกิดผลในด้านดี ด้วยการให้แต่ละเซิร์ฟเวอร์รับภาระส่วนที่ตนรับผิดชอบแทนที่จะอยู่ในเซิร์ฟเวอร์เพียงตัวเดียวซึ่งอาจทำให้เซิร์ฟเวอร์นั้นรับภาระหนักจนเกิดไปหรือเกิดการโอเวอร์โหลด
การออกแบบสถาปัตยกรรมระบบ (Architecture Design) สถาปัตยกรรมเครือข่ายแบบไคลเอนต์เซิร์ฟเวอร์ (Client-Server)
การกำหนดข้อมูลจำเพาะให้กับฮาร์ดแวร์และซอฟต์แวร์ (Hardware and Software Specification) จำเป็นต้องถูกกำหนดไว้ในเอกสารอย่างละเอียด เพื่อให้อุปกรณ์ฮาร์ดแวร์และซอฟต์แวร์ที่ใช้กับระบบใหม่นั้นตรงตามความต้องการ สามารถรองรับการใช้งานกับระบบงานใหม่ได้อย่างเหมาะสม
การจัดหาอุปกรณ์ระบบ (System Acquisition) นักวิเคราะห์ระบบสามารถจัดหาได้หลายวิธีด้วยกันคือ การจัดซื้อ การเช่า และการเช่าซื้อ การจัดซื้อ (Purchase) หรือวิธีการซื้อสดจัด ซึ่งการจัดซื้อยังมีวิธีการต่างๆ ดังนี้ การจัดซื้อแบบ เทอร์นคีย์ (Turnkey Vendor) ซึ่งจะเป็นการจัดซื้อทั้งระบบ ไม่ว่าจะเป็นอุปกรณ์ฮาร์ดแวร์ ซอฟต์แวร์ รวมถึงอุปกรณ์สำนักงานจากผู้ขายรายเดียว ร้านค้าส่งใบเสนอราคา พร้อมอุปกรณ์ที่มีคุณภาพตรงความต้องการหรือมีความเหมาะสมที่สุด การจัดซื้อด้วยตนเอง
การจัดหาอุปกรณ์ระบบ (System Acquisition) การเช่า (Rental) การเช่าคอมพิวเตอร์ มักเป็นการเช่าเพื่อใช้งานระยะสั้น (Short-term) ปกติแล้วระยะเวลาของการเช่าอยู่ช่วงประมาณ 1 – 12 เดือน การเช่าซื้อ (Lease) คือการมีพันธสัญญาต่อการใช้ระบบในช่วงเวลาที่กำหนด ซึ่งโดยปกติจะอยู่ในช่วงเวลา 3 – 7 ปี โดยค่างวดที่ชำระอาจกำหนดเป็นรายปี รายสามเดือน หรือรายเดือน
การจัดหาอุปกรณ์ระบบ (System Acquisition)
การวางแผนด้านความปลอดภัยให้กับระบบ ความปลอดภัยด้านภายนอก (External Security) เป็นการป้องกันความปลอดภัยในทรัพย์สินเพื่อมิให้ใครผู้อื่นลักลอบ หรือขโมยทรัพย์สินออกไป
การวางแผนด้านความปลอดภัยให้กับระบบ การควบคุมผู้ไม่มีสิทธิ์เข้าถึงระบบ (Unauthorized Access) เป็นการกำหนดสิทธิการใช้งานให้กับยูสเซอร์ต่าง ๆ ก็อาจจำเป็นต้องติดตั้งโปรแกรมไฟร์วอลล์ (Firewall) เพื่อเป็นเสมือนด่านกำแพงป้องกันผู้ที่ไม่มีสิทธิ์ในการเข้าถึงระบบ หรือแฮกเกอร์ที่พยายามเข้ามาด้วยจุดประสงค์ร้าย
การวางแผนด้านความปลอดภัยให้กับระบบ การใช้รหัสผ่าน และระบบแสดงตัวตน (Passwords and ID Systems) ไบโดเมตริกซ์ (Biometrics) ที่ใช้หลักการของคุณสมบัติทางกายภาพของแต่ละบุคคลที่มีความแตกต่างกัน และไม่สามารถมีซ้ำหรือเลียนแบบกันได้ การป้องกันไวรัส (Guarding Against Viruses) โปรแกรมป้องกันไวรัสที่ใช้งานจำเป็นต้องได้รับการอัปเดตเป็นประจำ เพื่อจะได้สามารถจัดการกับไวรัสสายพันธ์ใหม่ ๆ ได้
การออกแบบฐานข้อมูล (Database Design) จะต้องแปลงรีเลชันจากแบบจำลองข้อมูลเชิงตรรกะให้อยู่ในรูปแบบของการออกแบบทางเทคนิค โดยการออกแบบในที่นี้จะประกอบด้วยการกำหนดรูปแบบการจัดเก็บข้อมูลของแต่ละแอตตริบิวต์ และการออกแบบวิธีการเข้าถึงข้อมูล จะต้องเลือกเทคโนโลยีการจัดเก็บข้อมูลเพื่อใช้สำหรับจัดเก็บ และจัดการกับข้อมูล
การออกแบบยูสเซอร์อินเตอร์เฟซ (User Interface Design) การประมวลผลข้อมูลเพื่อให้ได้มาซึ่งสารสนเทศที่ต้องการ เป็นกระบวนการทำงานใน เชิงคอมพิวเตอร์ศาสตร์ ส่วนในด้านของมนุษย์ที่เป็นผู้ใช้ จำเป็นต้องมีการปฏิสัมพันธ์และโต้ตอบกับระบบคอมพิวเตอร์โดยตลอด สิ่งเหล่านี้เป็นแนวคิด เชิงจิตวิทยา การออกแบบยูสเซอร์อินเตอร์เฟซ คือ การออกแบบส่วนประสานการใช้งานระหว่างผู้ใช้กับระบบ จะมุ่งเน้นถึงการปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์เป็นสำคัญ ควรออกแบบการโต้ตอบ อย่างไรเพื่อดึงดูดความสนใจแก่ผู้ใช้ และควรเลือกใช้สื่ออุปกรณ์ ที่เหมาะสมกับการปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยภาษาธรรมชาติ (Natural-Language Interfaces) การอินเตอร์เฟซด้วยคำถาม และคำตอบ (Question and Answer Interfaces) การอินเตอร์เฟซด้วยเมนู (Menus) การอินเตอร์เฟซด้วยชุดคำสั่ง (Command-Language Interfaces) การอินเตอร์เฟซแบบ GUI (Graphics User Interfaces)
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยภาษาธรรมชาติ (Natural-Language Interfaces) ผู้ใช้สามารถโต้ตอบกับระบบด้วยการใช้ถ้อยคำภาษาพูดซึ่งเป็นภาษาธรรมชาติที่ใช้สื่อสารกัน
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยคำถาม และคำตอบ (Question and Answer Interfaces) คอมพิวเตอร์จะแสดงคำถามบนหน้าจอ และให้ผู้ใช้โต้ตอบด้วยการตอบคำถาม โดยจะดำเนินการโต้ตอบแบบเรียงลำดับ ซึ่งผู้ใช้สามารถตอบคำถามผ่านทางคีย์บอร์ดหรือด้วยการคลิกเมาส์
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยคำถาม และคำตอบ (Question and Answer Interfaces)
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยเมนู (Menus) การอินเตอร์เฟซแบบเมนูจะให้ผู้ใช้เลือกรายการที่แสดงอยู่บนหน้าจอ ผู้ใช้สามารถโต้ตอบกับระบบผ่านเมนูด้วยอุปกรณ์หลายชนิดด้วยกัน ไม่ว่าจะเป็นคีย์บอร์ด เมาส์ ปากกาแสง หรือนิ้วมือในกรณีใช้จอภาพแบบสัมผัส
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยเมนู (Menus) Pull-Down Menus, Nested Menus, Pop-Up Menus
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยชุดคำสั่ง (Command-Language Interfaces) ผู้ใช้งานจะโต้ตอบกับแอปพลิเคชันด้วยชุดคำสั่ง หรือประโยคถ้อยคำ ซึ่งคำสั่งหรือประโยคถ้อยคำเหล่านั้นจะมีรูปแบบการใช้งานตามกฎเกณฑ์ที่แน่นอน (Syntax Rules) ที่ผู้ใช้จะต้องจดจำรูปแบบการใช้งานคำสั่งหรือประโยคถ้อยคำที่ถูกต้อง
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) การอินเตอร์เฟซด้วยชุดคำสั่ง (Command-Language Interfaces)
ชนิดของยูสเซอร์อินเตอร์เฟซ (Type of User Interface) 5. การอินเตอร์เฟซแบบ GUI (Graphics User Interfaces) หรือไอคอน (Icon) เป็นตัวนำเสนอบนจอภาพ ผู้ใช้งานสามารถโต้ตอบด้วยคีย์บอร์ด เมาส์ หรือจอยสติ๊ก
ข้อแนะนำในการออกแบบยูสเซอร์อินเตอร์เฟซที่ดี ผู้ใช้งานจะต้องรับรู้เสมอว่า สิ่งที่ได้กระทำอยู่นี้คืออะไร และจะต้องดำเนินการอย่างไรต่อไป ระบบควรมีการจัดเตรียมคำแนะนำให้แก่ผู้ใช้ว่าจะต้องดำเนินการอย่างไรต่อไป บอกให้ผู้ใช้งานรับทราบว่าต้องทำอะไร บอกให้ผู้ใช้งานรับทราบว่าข้อมูลที่ป้อนเข้าไปนั้นถูกต้อง หรือไม่ถูกต้อง อธิบายถึงเหตุผลว่าต้องใช้เวลาในการประมวลผล บอกให้ผู้ใช้งานรับทราบว่า งานที่ส่งไปประมวลผลนั้น เสร็จสมบูรณ์หรือไม่
ข้อแนะนำในการออกแบบยูสเซอร์อินเตอร์เฟซที่ดี หน้าจอจะต้องจัดเตรียมคำอธิบายการใช้งาน ข้อความ อธิบาย หรือสารสนเทศที่แสดงนั้นจะต้องมีความยาวเพียงพอต่อผู้อ่าน ที่อ่านแล้วเกิดความเข้าใจ และยอมรับ การนำเสนอข้อความบนจอภาพ ควรให้เฉดสีที่เหมาะสม ในกรณีที่ผู้ใช้ได้สั่งประมวลผลรายการใด ๆ ที่อาจส่งผลต่อความเสียหายหรือความปลอดภัยต่อระบบ ควรมีข้อความหรือไดอะล็อกเพื่อยืนยัน ถึงการประมวลนั้นก่อน
ตัวอย่างการออกแบบยูสเซอร์อินเตอร์เฟซของระบบเช่ารถ ** สตอรีบอร์ด (Storyboard) คือเทคนิคการออกแบบการโต้ตอบ (Dialogues) ระหว่างผู้ใช้งานกับคอมพิวเตอร์ โดยจะร่างภาพเพื่อนำเสนอลงบนกระดาษหรือเอกสารอย่างคร่าว ๆ เพื่อแสดงถึงเหตุการณ์และลำดับการทำงานที่ต้องการนำเสนอผ่านทางจอภาพ
การจัดทำโปรโตไทป์ (Prototyping) โปรโตไทป์ หรือต้นแบบ ถือเป็นการจัดทำต้นแบบผลิตภัณฑ์ชนิดหนึ่ง เพื่อให้ผู้ใช้ได้เห็นภาพ และแนวทางของระบบใหม่เพื่อพิจารณาว่าตรงตามความต้องการหรือไม่ ซึ่งมีข้อดีดังต่อไปนี้ 1. ระบบงานจะได้รับการเปลี่ยนแปลง ก่อนที่จะดำเนินการพัฒนาระบบจริง 2. สามารถกำจัดความต้องการบางส่วนที่ไม่ต้องการออกไป เพื่อคงเหลือแต่ส่วนที่จำเป็นเท่านั้น 3. ระบบที่ออกแบบ ตรงกับความต้องการ หรือตรง ตามความคาดหวังของผู้ใช้มากที่สุด
ประเภทของโปรโตไทป์ โปรโตไทป์แบบทำแล้วโยนทิ้ง เป็นเทคนิคการสร้างผลิตภัณฑ์โดยเน้นที่ความรวดเร็ว เหมาะกับระบบงานที่ไม่มีความแน่นอน หรือเปลี่ยนแปลงบ่อย โปรโตไทป์แบบมีพัฒนาการ จะมีการสร้างผลิตภัณฑ์ที่ตั้งอยู่บนรากฐานที่มีความมั่นคงขึ้นเรื่อย ๆ ตามความต้องการของผู้ใช้ และท้ายสุดก็คือระบบงานนั่นเอง โปรโตไทป์ประเภทนี้จะมีความชัดเจนในรายละเอียดแต่ละ ขั้นมากขึ้นเรื่อย ๆ และสร้างอย่างมีคุณภาพ จึงจำเป็นต้อง ใช้เวลามาก เนื่องจากต้องมีการพัฒนาและปรับปรุงอยู่บ่อยครั้ง
การออกแบบโปรแกรม (Program Design) เป้าหมายหลักของการออกแบบ คือการสร้างโปรแกรมที่ประกอบด้วยฟังก์ชันหน้าที่ของโมดูลต่าง ๆ ว่ามีความสัมพันธ์กับโมดูลอื่น ๆ ที่เกี่ยวข้องกันอย่างไร ซึ่งจะมุ่งเน้นในด้านของการกำหนดโมดูลการทำงานต่าง ๆ ในโปรแกรม เทคนิคที่ใช้นำเสนอเพื่ออธิบายรูปพรรณ คือ ผังโครงสร้าง (Structure Chart) ซึ่งเทคนิคนี้จะช่วยให้ทราบถึงแอปพลิเคชันในเชิงตรรกะว่ามีการสื่อสารระหว่างโมดูลกันอย่างไร
การออกแบบโปรแกรม (Program Design)
แนวทางในการออกแบบผังโครงสร้างที่ดี ควรออกแบบให้แต่ละโมดูลมีความเป็นหนึ่งเดียวสูง (High Cohesion) จะมีความแตกความซับซ้อนของโปรแกรมออกเป็นโมดูลย่อย ๆ โดยโปรแกรมเมอร์สามารถนำผังโครงสร้างเหล่านี้ ใช้เป็นแนวทางหรือเป็นกฎเกณฑ์ในการเขียนโปรแกรมได้ง่ายขึ้น โมดูลที่มีความเป็นหนึ่งเดียวในฟังก์ชันจะทำให้โมดูลนั้นง่ายต่อการเขียนโปรแกรม รวมถึงแก้ไขปรับปรุงง่าย อีกทั้งยังสามารถนำมาเรียกใช้งานซ้ำ ๆ ได้อีกตามต้องการ โมดูลที่ปฏิบัติงานเพียงงานเดียว จะถือว่ามี Cohesion สูง
แนวทางในการออกแบบผังโครงสร้างที่ดี ควรออกแบบให้แต่ละโมดูล มีความสัมพันธ์กันแบบหลวม ๆ (Loosely Coupled)
แนวทางในการออกแบบผังโครงสร้างที่ดี ควรออกแบบให้แต่ละโมดูล มีความสัมพันธ์กันแบบหลวม ๆ (Loosely Coupled) Tightly Coupled หมายความว่า ตรรกะภายในโมดูลหนึ่งมีการอ้างอิงตรรกะบนโมดูลอื่นจำนวนมาก หรือมีการใช้ตัวแปรต่าง ๆในโปรแกรมร่วมกันมาก ซึ่งถือว่าเป็นการออกแบบโปรแกรมที่ไม่ดี เนื่องจากหากมีการปรับปรุงโมดูลหนึ่ง ก็จะส่งผลกระทบต่อพวงไปยังโมดูลอื่น ๆ ที่เกี่ยวข้องด้วย ซึ่งโมดูลที่มีความสัมพันธ์กับโมดูลอื่น ๆ แบบหลวม ๆ หรือที่เรียกว่า Loosely Coupled นั้นจะมีคอนเน็กชันระหว่างโมดูลเพียงเล็กน้อย โดยมีการจัดใช้ตัวแปรภายในแต่ละส่วนโดยเฉพาะ