IT:AD:Definition:Requirements
Summary
Functional requirement defines a function of a software system or its component.
A function is described as a set of inputs, outputs and behaviour in terms of logical operations.
Functional requirements may be calculations, technical details, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish, but never how it is supposed to be accomplished (or the longevity of the requirements will be defined by the technical constraints of the time).
Functional v. Non-Functional Requirements
Note: As to what constitutes Functional versus Non-Functional Requirements/: the primary reason for technology is to deliver value to business concerns. Therefore the subject matter of the Business Domain is its Functions, not the Technology used to help deliver those functions … which are Non-Functional Requirements/.
Note: Functional requirements drive the application architecture of a system, while non-functional requirements drive the technical architecture of a system.
- [NFS:8qyii:SHOULD] Prefer Brevity when documenting requirements.
- [NFS:8qyij:SHOULD] Prefer using indented bullet points rather than Tables.
Rational:Only a limited number of columns fit horizontally on a page. Several conditions require more Attributes than would fit in this limited range.
An example of this would be UI form specifications, which would benefit from specs that describe (Label Text,Data Type, Required, Trimming Operations, Constraints/Range, Conditional rules,Tip, etc.)
Categorisation
Source of Requirement
- Business
- Regulatory
- Legal
- User
- System
Requirements
Requirements should be:
- Correct
- Unambiguous
- Complete
- Consistent
- Ranked for importance and/or stability
- Verifiable
- Modifiable
- Traceable

