Software Requirements Flashcards
Requirements Engineering
Establishes:
- The services that the customer requires from the system
- The constraints under which the system operates and is developed.
What is a requirement?
A requirement can range from a high-level abstract statement of a service/constraint to a detailed functional specification.
Dual function of requirements
- May be the basis for a bid for a contract
- May be the basis for the contract itself
User Requirements
Statements in natural language for the user to understand the services and the constraints.
System Requirements
Sets out descriptions for the system services, which is wrote as a contract between client and contractor.
Software Specification
Serve as a basis for a design or implementation (for developers).
Functional Requirements
Says what the system does (provides statements of services).
Non-functional Requirements
Constraints on the services or functions offered in the system.
Domain Requirements
Reflects the domain’s impact on the software (if it is including large amounts of data for example, the domain would be under the data protection act.)
Complete/Consistent
Requirements should be
Complete -> includes all descriptions of all facilities.
Consistent -> no conflicts or contradictions in the descriptions.
Process Requirement
A “non-functional requirement” which states a programming language, or a CASE system, or a development method.
Product Requirements
A non-functional classification which specifies that the product must behave a certain way.
Organisational Requirements
A non-functional classification which specifies requirements which are a consequence of organisational policies and procedures which are non-external (programming language etc)
External Requirements
A non-functional classification which specifies requirements which arise from factors which are external to the system and its development process.
Performance Requirement
A potential non-functional classification which specifies the expected performance rate of a system.