- Requirement สำหรับระบบซอฟต์แวร์ กำหนดสิ่งที่ระบบควรทำและกำหนดข้อจำกัดในการปฏิบัติการและการดำเนินงาน
- ความต้องการของระบบคือคำอธิบายของบริการที่ระบบต้องระบุหรืออธิบายถึงวิธีการคำนวณบางอย่างที่ต้องทำ
- Non-functional requirements มักเป็นตัวกำหนดหรือจำกัดการพัฒนาระบบและกระบวนการพัฒนาที่ใช้อยู่
- Non-functional requirements มักจะเกี่ยวข้องกับคุณสมบัติที่เกี่ยวกับความปลอดภัยของระบบและถูกนำไปใช้กำหนดระบบโดยรวม
- กระบวนการ requirements engineering เป็น iterative process ประกอบด้วย
- requirements elicitation
- requirements specification
- requirements validation
- requirements elicitation เป็นกระบวนการซ้ำซ้อนที่สามารถแสดงเป็น spiral ของกิจกรรม ประกอบด้วย
- requirements discovery
- requirements classification and organization
- requirements negotiation
- requirements documentation
- Requirements specification คือกระบวนการของการจัดทำเอกสาร user requirements และ system requirements อย่างเป็นทางการสิ่งที่ได้คือ เอกสารข้อกำหนดซอฟต์แวร์ (software requirements document)
- เอกสารข้อกำหนดซอฟต์แวร์ (software requirements document) เป็นคำอธิบายที่ระบุไว้ใน system requirements ควรจัดให้ทั้งลูกค้าระบบและนักพัฒนาซอฟต์แวร์สามารถใช้งานได้
- Requirements validation คือกระบวนการตรวจสอบข้อกำหนดสำหรับ ประกอบด้วย
- ความถูกต้อง validity
- ความสอดคล้อง consistency
- ความสมบูรณ์ completeness
- ความสมจริง realism
- การตรวจสอบได้ verifiability
- การเปลี่ยนแปลงทางธุรกิจและทางเทคนิคย่อมนำไปสู่การเปลี่ยนแปลงความต้องการสำหรับระบบซอฟต์แวร์
- การจัดการความต้องการ (requirements management) เป็นกระบวนการในการจัดการและควบคุมการเปลี่ยนแปลงเหล่านี้