การออกแบบ

ยุทธวิธีการออกแบบ (Design Strategy)
          ยุทธวิธีการออกแบบ จะเกี่ยวข้องกับแนวทางการพัฒนาระบบงาน ด้วยการตัดสินใจว่าจะดำเนินการพัฒนาระบบด้วยแนวทางใด โดยระบบใหม่ที่พัฒนาขึ้นมาเพื่อใช้ทดแทนระบบงานเดิมนั้น สามารถดำเนินการได้ด้วยการพัฒนาโปรแกรมขึ้นเอง (In-House/Custom Development) การซื้อโปรแกรมสำเร็จรูป (Package Software) การว่าจ้างบริษัทภายนอกพัฒนาระบบให้ (Outsourcing)

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

การพัฒนาโปรแกรมขึ้นเอง (In-House/Custom Development) หมายถึงหน่วยงานจะมีบุคลากรหรือส่วนงานระบบสารสนเทศที่ทำหน้าที่พัฒนาระบบสารสนเทศเพื่อใช้งานภายในองค์กรเอง

  • ข้อดีการพัฒนาโปรแกรมขึ้นเอง โปรแกรมจะตอบสนองความต้องการแก่ผู้ใช้มากที่สุด ลดค่าใช้จ่ายในด้านอุปกรณ์ฮาร์ดแวร์ ทีมพัฒนาระบบ ย่อมมีความรู้เกี่ยวกับวัฒนธรรมองค์กรเป็นอย่างดี ทำให้ผู้ใช้ระบบกับทีมงานมีความคุ้นเคยโดยไม่ต้องมีสิ่งกังวลใด ๆ หากระบบเกิดข้อขัดข้อง และผู้ใช้งานสามารถเรียกใช้บริการจากทีมงานภายในได้ทันที
  • ข้อเสียการพัฒนาโปรแกรมขึ้นเอง อาจจำเป็นต้องสิ้นเปลืองค่าใช้จ่ายด้านการฝึกอบรมบุคลากร และเวลาที่ใช้ไปกับการฝึกอบรม เอกสาร อาจไม่ได้รับการจัดทำ หรือจัดทำแบบไม่เป็นมาตรฐาน และไม่เหมาะกับระบบงานที่มีความซับซ้อนสูง

การซื้อโปรแกรมสำเร็จรูป (Package Software) จัดเป็นวิธีที่มีความรวดเร็ว ลดเวลา และค่าใช้จ่ายในการพัฒนา ปัจจุบันมีอยู่ 2 แนวทางหลัก ๆ คือ โปรแกรมสำเร็จรูปขนาดเล็กทั่วไป ซึ่งมักจะเป็นโปรแกรมที่มีรูปแบบ
การดำเนินธุรกิจคล้าย ๆ กัน เช่น ระบบบัญชี และอีกแนวทางหนึ่งคือโปรแกรมสำเร็จรูปขนาดใหญ่ เป็นโปรแกรมที่ได้รับการออกแบบให้เป็นแหล่งรวมของระบบงานย่อย ๆ รวมไว้ด้วยกัน

  • ข้อดีการซื้อโปรแกรมสำเร็จรูป สามารถนำมาใช้งานได้ทันที รวดเร็ว คุณภาพโปรแกรมค่อนข้างดี มีเอกสารประกอบการใช้งาน หากโปรแกรมมีการปรับปรุงเวอร์ชัน จะได้รับการบริการและคำปรึกษาจากบริษัทตัวแทนจำหน่าย
  • ข้อเสียการซื้อโปรแกรมสำเร็จรูป อาจจำเป็นต้องปรับกระบวนการทำงานให้เป็นไปตามโปรแกรม ต้องคัดเลือกซื้อโปรแกรมสำเร็จรูปจากบริษัทหรือตัวแทนจำหน่ายที่มีความน่าเชื่อถือ เนื่องจากค่าใช้จ่ายสูง ผู้ใช้งานในองค์กร จำเป็นต้องได้รับการอบรมเพื่อใช้งานระบบจากบริษัทตัวแทน และหากระบบเกิดข้อขัดข้องจำเป็นต้องได้รับการปรึกษาจากบริษัทตัวแทนจำหน่ายเท่านั้น

การว่าจ้างบริษัทภายนอกหรือบุคคลภายนอกพัฒนาระบบให้ (Outsourcing) หรือมักเรียกว่าการเอาต์ซอร์ส

  • ข้อดีการว่าจ้างบริษัทภายนอกพัฒนาระบบให้ เหมาะสำหรับองค์กรที่ไม่มีความพร้อมด้านการพัฒนาระบบงานด้วยตนเอง หน่วยงานได้ใช้ระบบงานที่ทันสมัย มีเทคโนโลยีใหม่ ๆ มั่นใจได้ว่าจะได้ระบบตามความต้องการ และส่งมอบระบบตรงเวลา สามารถควบคุมค่าใช้จ่ายได้ (มีการแบ่งชำระ) การปรับปรุงระบบให้มีความทันสมัยยิ่งขึ้น ทำได้ง่าย และเอกสารเกี่ยวกับระบบงาน มีครบถ้วน เป็นระบบ และมีมาตรฐาน
  • ข้อเสียการว่าจ้างบริษัทภายนอกพัฒนาระบบให้ เอาต์ซอร์สที่มีศักยภาพสูงคงมีน้อย สูญเสียความลับขององค์กร จำเป็นต้องพึ่งพาบริษัทเอาต์ซอร์สเพื่อดูแลระบบให้ อาจได้รับแรงต่อต้านจากพนักงานภายในองค์กร และค่าใช้จ่ายสูง

วิธีพื้นฐานในการพัฒนาระบบ

  1. วิธีการพัฒนาระบบแบบเฉพาะเจาะจง (Ad Hoc Approach) จัดเป็นวิธีการพัฒนาระบบที่ต้องการแก้ไขปัญหาเฉพาะงาน ซึ่งเหมาะกับหน่วยงานที่มีการเปลี่ยนแปลงอย่างรวดเร็ว และต้องการแก้ไขสถานการณ์เฉพาะหน้าไปก่อน
  2. วิธีการพัฒนาระบบด้วยการสร้างฐานข้อมูล (Database Approach) การออกแบบและจัดเก็บข้อมูล เพื่อให้สามารถนำข้อมูลที่ต้องการจัดเก็บลงในฐานข้อมูลได้ การพัฒนาฐานข้อมูล การใช้ชุดคำสั่งเพื่อเรียกดูข้อมูล และจัดการกับข้อมูล
  3. วิธีการพัฒนาระบบแบบล่างขึ้นบน (Bottom-Up Approach) มุ่งเน้นการพัฒนาระบบย่อย ๆ ในหน่วยงานแต่ละส่วนก่อน จนกระทั่งนำระบบย่อยเหล่านั้นมารวมกันเป็นระบบใหญ่ในภายหลัง
  4. วิธีการพัฒนาระบบแบบบนลงล่าง (Top-Down Approach) จะมองภาพรวมของระบบก่อน จากนั้นก็ดำเนินการกระจายเป็นระบบย่อยออกเป็นส่วน ๆ

การออกแบบสถาปัตยกรรมระบบ (Architecture Design)
          ประกอบไปด้วยการวางแผนเกี่ยวกับฮาร์ดแวร์ ซอฟต์แวร์ การสื่อสาร และระบบความปลอดภัย เพื่อสนับสนุนระบบงานใหม่
การออกแบบสถาปัตยกรรมเครือข่ายก่อให้เกิดประโยชน์ในด้านต่าง ๆ มากมาย ไม่ว่าจะเป็นความสามารถในด้านการสื่อสารภายในเครือข่ายเพื่อใช้ฐานข้อมูลร่วมกัน การใช้อุปกรณ์หรือทรัพยากรต่าง ๆ ร่วมกันบนเครือข่าย สามารถเชื่อมต่อเครือข่ายท้องถิ่นหลายๆ   เครือข่ายไว้เข้าด้วยกัน รวมถึงการเชื่อมต่อเข้าสู่ภายนอก
          การออกแบบสถาปัตยกรรมเครือข่าย ประกอบไปด้วยพื้นฐาน 3 สถาปัตยกรรม ด้วยกัน คือ

  1. สถาปัตยกรรมเครือข่ายแบบรวมศูนย์ (Centralized) มีคอมพิวเตอร์เป็นศูนย์กลาง หรือเรียกว่า “โฮสต์ (Host)” เครื่องลูกข่ายเรียกว่า “เทอร์มินัล (Terminal)” มีหน้าที่เพียงส่ง และรับข้อมูลจากเครื่องโฮสต์เท่านั้น
  2. สถาปัตยกรรมเครือข่ายแบบไฟล์เซิร์ฟเวอร์ (File Servers) ตัวเครื่องเซิร์ฟเวอร์ที่จะมีหน้าที่ในการบริการแชร์ไฟล์ข้อมูลและทรัพยากรให้กับเครื่องไคลเอนต์
  3. สถาปัตยกรรมเครือข่ายแบบไคลเอนต์เซิร์ฟเวอร์ (Client-Server) เมื่อไคลเอนต์ต้องการร้องขอข้อมูลบางส่วนจากเซิร์ฟเวอร์ เครื่องเซิร์ฟเวอร์จะส่งเฉพาะข้อมูลบางส่วนที่ต้องการเท่านั้นผ่านเครือข่ายมายังเครื่องไคลเอนต์เพื่อให้เครื่องไคลเอนต์นำไปประมวลผลต่อไป

การออกแบบฐานข้อมูล (Database Design)

  1. จะต้องแปลงรีเลชันจากแบบจำลองข้อมูลเชิงตรรกะให้อยู่ในรูปแบบของการออกแบบทางเทคนิค โดยการออกแบบในที่นี้จะประกอบด้วยการกำหนดรูปแบบการจัดเก็บข้อมูลของแต่ละแอตตริบิวต์ และการออกแบบวิธีการเข้าถึงข้อมูล
  2. จะต้องเลือกเทคโนโลยีการจัดเก็บข้อมูลเพื่อใช้สำหรับจัดเก็บ และจัดการกับข้อมูล

การออกแบบเอาต์พุต (Output Design) หรือข้อมูลนำออก

          เอาต์พุตที่ดีจะต้องคำนึงถึงข้อมูลหรือสารสนเทศที่นำเสนออยู่ในรายงานว่าสามารถตอบสนองความต้องการของผู้ใช้หรือไม่ รายละเอียดที่นำเสนอจำเป็นต้องเสนออย่างละเอียด หรือนำเสนอเพียงผลสรุปเท่านั้น ซึ่งทั้งนี้ก็ขึ้นอยู่กับผู้ใช้ที่นำไปใช้งาน รวมถึงการพิจารณาเลือกแสดงเอาต์พุตลงในอุปกรณ์หรือบนเทคโนโลยีใดที่เหมาะสม
          การออกแบบเอาต์พุต จึงทำให้ทราบข้อมูลนำเข้าที่จำเป็นต้องป้อนเข้าสู่ระบบ และจะต้องสัมพันธ์กับพจนานุกรมข้อมูลที่บอกประเภทของข้อมูล ขนาดความกว้างข้อมูล สิ่งเหล่านี้ทำให้ทราบว่าข้อมูลที่นำเสนอลงในรายงานนั้นเป็นค่าตัวเลข หรือตัวอักษร และต้องใช้จำนวนคอลัมน์เท่าไร

          วัตถุประสงค์ของเอาต์พุต (Output Objectives)

  • 1. เพื่อใช้ในการติดต่อข่าวสารระหว่างกิจกรรมต่าง ๆ
  • 2. ใช้รายงานเหตุการณ์ต่าง ๆ ที่เกิดขึ้นในระบบ
  • 3. แสดงกลไกในการทำงาน
  • 4. เป็นการยืนยัน หรือรับรองว่าเกิดการทำงานจริง

         # ชนิดของเอาต์พุต ได้แก่ 1. รายงาน (Report),  2. เอกสาร (Document), 3. ข้อความ (Message)

          กระบวนการต่าง ๆ เพื่อให้ได้มาซึ่งเอาต์พุต มาจากแหล่งข้อมูลด้วยวิธีการต่าง ๆ ดังนี้

  • • เรียกจากแฟ้มข้อมูลโดยตรง (Retrieval from a data store)
  • • นำข้อมูลมาผ่านการประมวลผลเพื่อให้ได้รายงานที่ต้องการ (Transmission from a process)
  • • รับข้อมูลโดยตรงจากการคีย์ข้อมูลเข้า (Direct from an input source)

         # หลักการพิจารณาเอาต์พุต ได้แก่ 1. ใครเป็นผู้ใช้รายงานนี้ , 2. ใช้ประโยชน์จากรายงานนี้อย่างไร , 3. รายละเอียดข้อมูลในรายงานมีอะไรบ้าง , 4. รายงานนี้มีความต้องการใช้บ่อยแค่ไหน เช่น ทุกวัน ทุกสัปดาห์ หรือทุกเดือน , 5. รายงานแสดงผลออกทางสื่อชนิดใด เช่น ทางจอภาพ หรือทางเครื่องพิมพ์


การจัดรูปแบบของรายงาน

รายงานที่ดีควรได้รับการจัดรูปแบบที่ถูกต้องตามหลักการ ประกอบด้วย

  • หัวรายงาน (Heading) จำเป็นต้องมีชื่อรายงาน เพื่อสื่อความหมายข้อมูลในรายงานว่าเป็นรายงานอะไร หากรายงานมีมากกว่าหนึ่งหน้า ในหน้าถัด ๆ ไป ก็จะต้องมีชื่อรายงาน และมีเลขหน้ากำกับไว้เสมอ  และควรมีชื่อบริษัทหรือหน่วยงานวันและเวลาที่พิมพ์รายงาน เพื่อทำให้สามารถตรวจสอบได้ว่าเป็นรายงานที่จัดพิมพ์ไว้เมื่อไร อาจใส่ชื่อโปรแกรมกำกับไว้ เพื่อเป็นประโยชน์ต่อผู้พัฒนาในกรณีที่มีการแก้ไขปรับปรุงรายงาน
  • รายละเอียด (Details) เป็นส่วนที่มีพื้นที่มากที่สุด เพื่อใช้แสดงรายละเอียดหรือข้อมูลต่าง ๆ อันได้แก่  เงื่อนไขการพิมพ์ (Conditions) คือมีการสั่งพิมพ์รายงานด้วยการกำหนดเงื่อนไข รายละเอียดข้อมูล (Details) และการควบคุม (Control break)
  • ผลสรุป (Summaries) ควรมีผลสรุปที่ท้ายรายงานกำกับไว้ด้วย
  • หมายเหตุ (Remarks) หรือคำแนะนำเพื่อให้ผู้อ่าน หรือผู้ใช้รายงานเข้าใจในรายละเอียด

ประเภทของรายงาน รายงานแบ่งออกเป็น 2 กลุ่มใหญ่ ๆ คือ รายงานภายใน และรายงานภายนอก

  • รายงานภายใน (Internal Report) คือ รายงานต่าง ๆ ที่ใช้ภายในหน่วยงาน จะเน้นข้อมูลที่ตรงกับความต้องการมากที่สุด ไม่จำเป็นต้องสวยงาม แต่ให้แสดงรายละเอียดข้อมูลหรือสารสนเทศครบถ้วนก็ถือว่าเพียงพอ ประกอบไปด้วย • รายงานแสดงรายละเอียด (Detailed Reports) มีการกลั่นกรองข้อมูลเพียงเล็กน้อย หรือไม่มีการกลั่นกรองข้อมูลเลย • รายงานสรุปผล (Summary Reports) จัดเป็นรายงานสำหรับผู้บริหารที่ต้องการดูผลสรุปของข้อมูล โดยไม่ต้องการดูรายละเอียดข้อมูล • รายงานข้อยกเว้น (Exception Reports) เป็นรายงานที่มีการกลั่นกรองข้อมูล (Filter) บางอย่างออกไปด้วยเงื่อนไข เพื่อคงไว้แต่เพียงข้อมูลที่ต้องการ
  • รายงานภายนอก (External Report) คือรายงานที่ใช้กับบุคคลหรือหน่วยงานภายนอก จำเป็นต้องได้รับการออกแบบที่ดีและสวยงาม สิ่งเหล่านี้จะสะท้อนถึงภาพลักษณ์ขององค์กร

การนำเสนอข้อมูลในรายงาน ได้แก่

  • การนำเสนอข้อมูลในรูปแบบตาราง (Tabular Format) การนำเสนอข้อมูลในรูปแบบตาราง แบ่งออกเป็น แถวและคอลัมน์ หรือนำเสนอแบบแนวนอน (Horizontal) หรือแบบแนวตั้ง (Vertical)
  • การนำเสนอข้อมูลในรูปแบบกราฟ (Graph Format) มักนำมาใช้กับงานทางธุรกิจหรืองานทั่วไปที่ต้องการสรุปผลการดำเนินงานในเชิงเปรียบเทียบ ทำให้เห็นภาพชัดเจนกว่าการนำเสนอแบบข้อมูลตัวเลข
  • ไอคอน (Using Icon) เป็นการนำเสนอข้อมูลด้วยการแทนด้วยรูปภาพไอคอนต่าง ๆ

*** หมายเหตุ รายงานทางจอภาพ และเครื่องพิมพ์ การนำเสนอรายงานทางจอภาพมีข้อดีคือช่วยลดปริมาณกระดาษ และช่วยลดค่าใช้จ่ายเกี่ยวกับกระดาษลงได้มาก แต่รายงานบางประเภทก็จำเป็นต้องนำเสนอออกมาทางกระดาษ (Hard copy) เพื่อประโยชน์ต่อการอ้างอิง และใช้เป็นหลักฐานเพื่อการใช้งาน สำหรับรายงานที่สั่งพิมพ์ลงบนเครื่องพิมพ์จะต้องคำนึงถึงกระดาษที่ใช้งาน


การออกแบบอินพุต (Input Design)

           การออกแบบอินพุตก็คือ ความต้องการให้ข้อมูลที่อินพุตเข้าสู่ระบบนั้นมีคุณภาพเพียงพอ ถูกต้อง และผู้ใช้ใช้งานง่าย นอกจากนี้ก็ยังต้องคำนึงถึงอุปกรณ์ที่ใช้รับข้อมูล ซึ่งควรเลือกอุปกรณ์รับข้อมูลที่เหมาะสมกับงาน
วัตถุประสงค์ของการออกแบบอินพุต (Input Design Objectives) ดังนี้

  • 1. กำหนดวิธีการประมวลผล และคัดเลือกอุปกรณ์อินพุตข้อมูลที่เหมาะสม
  • 2. ควบคุมจำนวนอินพุต
  • 3. ควบคุมข้อผิดพลาดจากการป้อนข้อมูล

*** หมายเหตุ การออกแบบแหล่งข้อมูลเบื้องต้น ให้อยู่ในแบบฟอร์มที่เหมาะสม จะช่วยลดปริมาณข้อผิดพลาดลงได้ ทำให้ข้อมูลที่กรอกลงในแบบฟอร์มนั้นเป็นไปตามมาตรฐานเดียวกัน และง่ายต่อการป้อนข้อมูลเข้าสู่ระบบจริงต่อไป

การออกแบบหน้าจอนำข้อมูลเข้าให้ถูกต้องตามหลักการ รายละเอียดประกอบด้วย

  • 1. หัวข้อ (Headings and titles)
  • 2. รายละเอียดที่แสดง (Content of the display)
  • 3. คำสั่งการใช้งาน (Messages and instructions)
  • 4. คำอธิบาย (Explanations)

*** หมายเหตุ การออกแบบอินพุตจะต้องออกแบบให้ผู้ใช้งานสามารถกรอกข้อมูลสะดวกและง่ายเป็นสำคัญ ควรมีการจัดลำดับการป้อนข้อมูลจากซ้ายไปขวา หรือจากบนลงล่าง


การออกแบบยูสเซอร์อินเตอร์เฟซ GUI (Graphic User Interface: GUI)

          การออกแบบจะช่วยให้ผู้ใช้ใช้งานหน้าจอคอมฯง่ายขึ้น อันได้แก่ การอินพุตข้อมูลมีคุณภาพยิ่งขึ้น ประกอบกับมีหลายรูปแบบให้เลือกใช้งานตามความเหมาะสม

          การออกแบบโปรแกรมยุคใหม่จะประกอบไปด้วยเครื่องมือช่วยดังต่อไปนี้

  • เท็กซ์บ็อกซ์ (Text Box) จะใช้สำหรับการกรอกข้อมูลทั่วไป

  • เรดิโอบัตทอน (Radio Button) ผู้ใช้สามารถเลือกตัวเลือกตามรายละเอียดที่ต้องการ โดยสามารถเลือกเพียงหนึ่งตัวเลือกเท่านั้น

  • เช็กซ์บ็อกซ์ (Check Box) ผู้ใช้สามารถเลือกกรอกได้หลายตัวเลือก

  • คอมโบบ็อกซ์ (Combo Box) มักนำมาใช้งานเพื่อให้ผู้ใช้เลือกรายการข้อมูลที่ต้องการ โดยปกติรายการข้อมูลที่ปรากฏอยู่ในคอมโบบ็อกซ์นั้นมักมีรายการไม่มากนัก สำหรับรายการข้อมูล ผู้ใช้นอกจากเลือกได้จากในลิสต์ที่กำหนดไว้แล้ว ยังสามารถพิมพ์ข้อมูลเข้าไปด้วยตนเองได้ ซึ่งรายการข้อมูลที่พิมพ์เข้าไปอาจปรากฏอยู่ในลิสต์หรือไม่ก็ได้

  • ลิสต์บ็อกซ์ (List Box) ผู้ใช้ทำการเลือกรายการข้อมูลจากลิสต์ ที่ประกอบไปด้วยรายการข้อมูลต่าง ๆ และให้เลือกรายการข้อมูลเฉพาะที่มีอยู่ รายการข้อมูลในลิสต์อาจมีหลายรายการ ทางด้านขวาของลิสต์บ็อกซ์ สามารถมี Scroll Bar เพื่อทำการเลื่อนรายการขึ้นลงได้

  • สปินบ็อกซ์ (Spin Box) ประกอบด้วยลูกศรขึ้น ลง เมื่อกดปุ่มจะเพิ่มขึ้นทีละหนึ่ง และลดลงทีละหนึ่ง ผู้ใช้ก็สามารถกรอกจำนวนสำเนาได้ด้วยตนเอง โดยไม่ใช้ปุ่มควบคุมก็ได้

  • บัตทอน (Buttons) ปุ่มเหล่านี้มีไว้เพื่อให้ผู้ใช้ทำการยืนยันถึงข้อมูลต่าง ๆ


การจัดทำต้นแบบโปโตไทป์ (Prototyping)

           ตัวต้นแบบ คือ ระบบการทำงาน ที่ไม่ใช่เพียงแค่ความคิดที่อยู่บนกระดาษ แต่เป็นความคิดที่ถูกพัฒนาภายใต้สมมติฐานของระบบใหม่ อาจเทียบกับระบบที่มีคอมพิวเตอร์เป็นพื้นฐาน ประกอบด้วยโปรแกรมการทำงานที่รับข้อมูลเข้า มีกระบวนการคำนวณ การพิมพ์และการแสดงผลลัพธ์

สรุปได้ว่าการสร้างต้นแบบ คือการสร้างต้นแบบของระบบงานใหม่ที่ต้องการ ซึ่งช่วยให้ผู้ใช้เข้าใจระบบได้ง่ายขึ้น
วิธีการสร้างต้นแบบ มี 2 วิธี

  • 1. System Prototyping คือ การสร้างแบบจำลองการทำงานของระบบสารสนเทศที่มีรูปแบบครบตามการทำงานจริงและจะถูกนำไปพัฒนาต่อ
  • 2. Design Prototyping หรือ Throwaway Prototyping คือการสร้างแบบจำลองเพื่อตรวจสอบความต้องการของผู้ใช้ หลังจากผู้ใช้เห็นด้วยกับการออกแบบ ต้นแบบนั้นจะไม่มีการนำมาใช้อีก และการพัฒนาจะทำต่อจากการออกแบบอีกครั้ง

ผลที่ได้รับจากการสร้างต้นแบบ(Benefits of prototyping)

  • 1. สามารถหลีกเลี่ยงการเข้าใจผิดระหว่างผู้ใช้และผู้พัฒนาระบบ
  • 2. ผู้พัฒนาระบบสามารถสร้างรายละเอียดที่ถูกต้องได้
  • 3. ผู้จัดการระบบสามารถประเมินแบบจำลองในการใช้งานได้
  • 4. นักวิเคราะห์ระบบสามารถใช้ต้นแบบในการทดสอบระบบและการทำงานในแต่ละขั้นตอน
  • 5. ต้นแบบสามารถลดความเสี่ยงในการทำระบบได้

ปัญหาที่สำคัญของการทำต้นแบบ

  • 1. การใช้ต้นแบบประกอบการพัฒนาที่รวดเร็วอาจทำให้เกิดปัญหาที่มองไม่เห็น และจะเห็นอีกครั้งเมื่อระบบได้พัฒนาเสร็จและถูกนำมาใช้ จึงทำให้แก้ไขได้ยาก
  • 2. การทำงานบางอย่างอาจไม่สามารถทดสอบได้ในต้นแบบ เช่น ความเชื่อถือได้ การบำรุงรักษาระบบ
  • 3. ต้นแบบที่ซับซ้อนจะทำให้ระบบเทอะทะและยากต่อการจัดการ

 


การออกแบบโปรแกรม (Program Design)

การออกแบบโปรแกรมประกอบด้วยหลากหลายวิธีการ อันได้แก่

          1. การออกแบบโปรแกรมโดยใช้ อัลกอริธึม (Algorithm) เป็นการอธิบายถึงลำดับขั้นตอนการทำงานของการแก้ปัญหาโดยใช้ประโยคข้อความที่ชัดเจนไม่คลุมเครือ สามารถบอกลำดับการทำงานได้ ซึ่งมีประโยชน์ดังนี้ •  ทำให้เห็นลำดับของการทำงานและวิธีการทำงานแต่ละขั้นตอนได้อย่างละเอียด •  ทำให้เห็นภาพรวมของการทำงานของขั้นตอนทั้งหมด  •  เป็นการวางแผนการทำงานไว้ล่วงหน้า ทำให้สามารถนำไปเขียนเป็นโปรแกรมได้อย่างถูกต้องและรวดเร็ว

          2. การออกแบบโปรแกรมโดยใช้ รหัสจำลอง (Pseudo Code) เป็นการออกแบบขั้นตอนการทำงานของโปรแกรมโดยการใช้ข้อความภาษาอังกฤษที่ใกล้เคียงกับภาษาคอมพิวเตอร์ ซึ่งมีหลักการทำงานและประโยชน์เหมือนกับการใช้อัลกอริธึ่ม แต่มีข้อดี ดังนี้คือ  •  สามารถนำรหัสจำลองไปใช้เขียนโปรแกรมได้ง่ายกว่าการใช้อัลกอริธึ่ม เพราะมีความใกล้เคียงกับคำสั่งคอมพิวเตอร์ •  ผู้ออกแบบโปรแกรมต้องมีความรู้ทางด้านภาษาคอมพิวเตอร์บ้าง เพื่อให้สามารถนำไปประยุกต์ใช้และเขียนโปรแกรมเป็นภาษาอื่นๆได้หลายภาษา

          3. การออกแบบโปรแกรมโดยใช้ ผังงาน (Flowchart) คือ การใช้สัญลักษณ์รูปภาพ หรือกล่องข้อความบรรยายรายละเอียดการทำงาน และใช้ลูกศรบอกทิศทางลำดับ ของการทำงาน ซึ่งมีข้อดีดังนี้ คือ •  สามารถอ่านและเข้าใจการทำงานได้ง่าย เพราะมองเห็นภาพรวมขั้นตอนการทำงานทั้งหมดได้ชัดเจน •  สามารถออกแบบโครงสร้างการทำงานได้หลากหลายโดยใช้ลูกศรแสดงทิศทางการทำงาน ทำให้แก้ปัญหาที่มีหลายเลือกและซับซ้อนได้ •  คำสั่งหรือคำบรรยายรายละเอียดในกล่องข้อความสามารถนำไปเขียนเป็นคำสั่งของโปรแกรมได้