ถาม | อธิบายความสำคัญของ "การรวบรวมและวิเคราะห์ความต้องการ (Requirements Gathering and Analysis)" ในขั้นตอนการออกแบบระบบ และหากขั้นตอนนี้นำไปสู่ข้อผิดพลาดจะส่งผลกระทบต่อโครงการอย่างไร |
ตอบ |
การรวบรวมและวิเคราะห์ความต้องการเป็นขั้นตอนที่สำคัญที่สุดในการออกแบบระบบ เพราะเป็นรากฐานของทุกสิ่งที่จะตามมาในโครงการ การทำความเข้าใจอย่างถ่องแท้ว่าผู้ใช้ต้องการอะไร ปัญหาคืออะไร และระบบต้องทำอะไรได้บ้าง จะช่วยให้มั่นใจได้ว่าระบบที่พัฒนาขึ้นจะตอบโจทย์ทางธุรกิจได้อย่างแท้จริงและเป็นที่ยอมรับของผู้ใช้งาน
หากเกิดข้อผิดพลาดในขั้นตอนนี้ เช่น การเก็บความต้องการไม่ครบถ้วนหรือไม่ถูกต้อง จะส่งผลกระทบอย่างรุนแรงต่อโครงการดังนี้:
* งบประมาณและเวลาที่เกินกว่าแผน: เมื่อพบข้อผิดพลาดในภายหลัง จะต้องใช้เวลาและทรัพยากรจำนวนมากในการแก้ไข
* ความล้มเหลวของโครงการ: ระบบที่พัฒนาออกมาอาจใช้งานไม่ได้จริง ไม่ตรงตามเป้าหมาย หรือผู้ใช้ไม่ยอมรับ ทำให้โครงการล้มเหลวในที่สุด
* ความไม่พอใจของผู้ใช้งาน: ผู้ใช้งานจะไม่ได้รับเครื่องมือที่ช่วยแก้ปัญหาของพวกเขาได้จริง ซึ่งจะทำให้ประสิทธิภาพในการทำงานลดลงและขาดความเชื่อมั่นในทีมพัฒนา
|
ถาม | อธิบายความแตกต่างระหว่างการออกแบบระบบเชิงตรรกะ (Logical Design) และการออกแบบระบบเชิงกายภาพ (Physical Design) พร้อมยกตัวอย่างสิ่งที่ต้องพิจารณาในแต่ละขั้นตอน |
ตอบ |
* การออกแบบระบบเชิงตรรกะ (Logical Design): เป็นการออกแบบที่เน้น "สิ่งที่ระบบควรจะทำ" และ "ข้อมูลที่ระบบควรจะจัดเก็บ" โดยไม่สนใจเทคโนโลยีหรือแพลตฟอร์มที่ใช้จริงในภายหลัง เป็นการกำหนดโครงสร้างระบบในเชิงแนวคิดและตรรกะ สิ่งที่ต้องพิจารณา ในขั้นตอนนี้ได้แก่:
- การออกแบบกระบวนการ (Process Design): กำหนดขั้นตอนการทำงานของระบบ
- การออกแบบข้อมูล (Data Design): กำหนดเอนทิตี ความสัมพันธ์ และแอตทริบิวต์ของข้อมูล
- การออกแบบส่วนติดต่อผู้ใช้ (Interface Design): ออกแบบหน้าจอการใช้งานคร่าวๆ
* การออกแบบระบบเชิงกายภาพ (Physical Design): เป็นการนำการออกแบบเชิงตรรกะมาแปลงเป็นแผนปฏิบัติการที่สามารถนำไปสร้างจริงได้ โดยระบุถึงรายละเอียดทางเทคนิคทั้งหมด สิ่งที่ต้องพิจารณา ในขั้นตอนนี้ได้แก่:
- การเลือกเทคโนโลยี: การตัดสินใจเลือกภาษาโปรแกรม, ฐานข้อมูล, และเซิร์ฟเวอร์
- การออกแบบตารางฐานข้อมูล: การกำหนดชนิดข้อมูล (Data Type), ดัชนี (Index), และความสัมพันธ์ของตารางจริงในฐานข้อมูล
- การออกแบบความปลอดภัย: กำหนดสิทธิ์การเข้าถึงข้อมูลและมาตรการป้องกันต่างๆ
สรุปคือ การออกแบบเชิงตรรกะคือการ "วาดภาพรวม" ของระบบ ส่วนการออกแบบเชิงกายภาพคือการ "สร้างพิมพ์เขียว" เพื่อนำไปสร้างจริง
|
ถาม | ระบบการจัดการเอกสาร (Document Management System - DMS) สามารถออกแบบโดยใช้สถาปัตยกรรมแบบ 3 ชั้น (3-Tier Architecture) ได้อย่างไรบ้าง และการออกแบบเช่นนี้มีประโยชน์อะไร |
ตอบ |
สถาปัตยกรรมแบบ 3 ชั้นประกอบด้วย 3 ส่วนหลักคือ ชั้นนำเสนอ (Presentation Tier), ชั้นตรรกะทางธุรกิจ (Business Logic Tier), และชั้นข้อมูล (Data Tier) ระบบ DMS สามารถออกแบบโดยใช้สถาปัตยกรรมนี้ได้ดังนี้:
1. ชั้นนำเสนอ (Presentation Tier): ส่วนนี้คือส่วนติดต่อผู้ใช้งาน เช่น เว็บเบราว์เซอร์หรือแอปพลิเคชันบนมือถือที่ผู้ใช้ใช้ในการอัปโหลด, ค้นหา, หรือดูเอกสาร
2. ชั้นตรรกะทางธุรกิจ (Business Logic Tier): ส่วนนี้คือส่วนประมวลผลคำสั่งทั้งหมด เช่น การตรวจสอบสิทธิ์การเข้าถึงเอกสาร, การแปลงไฟล์, การสร้างเวอร์ชันใหม่ของเอกสารเมื่อมีการแก้ไข
3. ชั้นข้อมูล (Data Tier): ส่วนนี้คือฐานข้อมูลหรือคลังข้อมูลที่ใช้จัดเก็บไฟล์เอกสารและข้อมูลเมตา (Metadata) ของเอกสาร เช่น ชื่อไฟล์, วันที่สร้าง, ผู้สร้าง
ประโยชน์ของการออกแบบเช่นนี้คือ:
* ความยืดหยุ่นและการบำรุงรักษา: สามารถแก้ไขหรืออัปเกรดแต่ละชั้นได้อย่างอิสระโดยไม่ส่งผลกระทบต่อชั้นอื่น
* ความปลอดภัยที่เพิ่มขึ้น: ชั้นข้อมูลถูกแยกออกจากผู้ใช้โดยตรง ทำให้เพิ่มความปลอดภัยในการเข้าถึงข้อมูล
* การขยายขนาด (Scalability): สามารถเพิ่มประสิทธิภาพการประมวลผลของแต่ละชั้นได้ตามความต้องการที่เพิ่มขึ้นอย่างอิสระ เช่น หากมีผู้ใช้งานจำนวนมากก็สามารถเพิ่มเซิร์ฟเวอร์ในชั้นนำเสนอหรือชั้นตรรกะทางธุรกิจได้
|