The system requirements are the descriptions of the system services and constraints that are generated during the requirements engineering process. It should be Complete and Consistent.
Types of Requirement
- User Requirements
- Statements in natural language
- Diagrams of the services the system provides and its operational constraints.
- System Requirements
- A structured document
- Detailed descriptions of the system’s function, services, and operational constraints.
- Defines what should be implemented
Readers of Different Types of Requirement Specifications / Stakeholders
- User Requirements
- Client Managers
- Contractor managers
- System end-users
- Client engineers
- System architects
- System Requirement
- System end-users
- client engineers
- system architects
- software developers.
Stakeholders in the Mentcare System
- Patients
- Doctors
- Nurses
- Medical Receptionists
- IT Staff
Agile Methods and Requirements
It argues that producing detailed system requirements is a waste of time as requirements change so quickly.
Agile methods usually use incremental requirements engineering and may express requirements as ‘user’ stories
This is practical for business systems but problematic for systems that require pre-delivery analysis (e.g. critical systems) or systems developed by several teams.
Functional and Non-Functional Requirements
-
Functional Requirements
Describe functionality or system services.
- Services the system should provide
- What system should not do?
-
Non-Functional Requirements
Define system properties and constraints.
- Timing Constraints
- Development Constraints
- Standards.
- Security, Reliability, Maintainability, etc.