ความต้องการของระบบ (System Requirements)
ความต้องการของระบบ เป็นสิ่งที่ระบบต้องการ เพื่อตอบสนองกับความต้องการของผู้ใช้ ประกอบด้วย ฟังก์ชันการทำงานของระบบ (System ‘s Function) ,การให้บริการ (Services) และเงื่อนไขในการดำเนินการ (Operational Constraint)
ตัวอย่างความต้องการระบบ
- ระบบต้องมีการจัดเก็บโครงการสร้างของรายวิชา และรายวิชาก่อนหน้า โดยต้องมีการตรวจสอบผลการศึกษาของนักศึกษานักศึกษาได้ผ่านการลงทะเบียนรายวิชาก่อนหน้ามาเล้ว และสอบผ่าน จึงจะสามารถทำการลงทะเบียนในวิชานี้ได้
- ระบบต้องมีการจัดเก็บโครงสร้างหลักสูตรของแต่ละสาขาวิชาว่า ต้องลงทะเบียนอย่างน้อยกี่หน่วยกกิต และในแต่ละหมวดวิชาที่เข้าศึกษาถูกต้องตามหลักสูตรโครงสร้างหรือไม่
ความต้องการของระบบซอฟต์แวร์ แบ่งได้ออกเป็น 3 ประเภท คือ
- Functional Requirements
- Non-Functional Requirements
- Domain Requirements
Functional Requirements คือ สิ่งที่ระบบควรที่จะทำ (Should Do) ซึ่งจะขึ้นอยู่กับประเภทของซอฟต์แวร์ที่จะต้องพัฒนา เพื่อตอบสนองความต้องการของผู้ใช้
ความต้องการจากผู้ใช้จะอยู่ในลักษณะนามธรรม (Abstract) ต้องแปลงออกมาให้อยู่ในรูปของรายละเอียดฟังก์ชันการทำงานระบบ ประกอบด้วย ข้อมูลเข้า ข้อมูลออก ข้อยกเว้นต่าง ๆ และอื่น ๆ เช่น
- ผู้ใช้ต้องสามารถค้นหารายละเอียดของหนังสือได้ (ISBN,ชื่อหนังสือ,ผู้แต่ง)
- ผู้ใช้ต้องสามารถยืม - คืนหนังสือได้ด้วยตนเอง โดยไม่ต้องมีบรรณารักษ์ (RFID)
- ต้องมีระบบป้องกันการนำหนังสือออกจากห้องสมุดโดยไม่ได้รับอนุญาติ
การจัดเก็บ Function Specification ของระบบต้องมีความสมบูรณ์ (Completeness) และสอดคล้อง (Consistency) ซึ่งในระบบงานจริง เป็นไปได้ยากที่เราจะสามารถจัดเก็บความต้องการได้ครบถ้วนสมบูรณ์ภายในครั้งเดียว
- ความต้องการของผู้ใช้สามารถเปลี่ยนแปลงได้ตลอดเวลา ระหว่างการพัฒนารวมถึงความต้องการที่ซ่อนอยู่ จนกว่าโปรแกรมจะถูดติดตั้งและใช้งานจริง ควาามต้องการก็ยังสามารถเปลี่ยนแปลงได้
Non-Functional Requirements เป็นความต้องการที่ไม่ได้มาจากความต้องการของผู้ใช้โดยตรง เเต่เป็นสิ่งที่เกี่ยวข้องกับความต้องการของผู้ใช้ เช่น ความน่าเชื่อถือ ความปลอดภัย ความรวดเร็วในการตอบสนองกับผู้ใช้ ความสามรถในการจัดเก็บข้อมูลปริมาณมาก
- Non-Functional Requirementsโดยส่วนใหญ่จะเกี่ยวข้องกับภาพรวมของระบบ ประกอบด้วย
- Product Requirements
- Organizational Requirements
- External Requirements
ความต้องการของระบบ จะเป็นสิ่งที่ขยายออกจากความต้องการของผู้ใช้ โดยเป็นจุดเริ่มต้นของวิศวกรรมซอฟต์แวร์ ที่จะใช้ในการออกแบบ เพื่อให้รองรับกับความต้องการของผู้ใช้ เเละภาษาที่ใช้จะใช้ภาษาธรรมชาติ (Natural Language) ในการเขียนความต้องการของระบบจะทำให้เกิดความสับสน ยากต่อการทำความเข้าใจ ควรใช้สัญลักษณ์ (Notations) มาตรฐานเพื่อใช้อธิบายการทำงานจะดีกว่า
ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป