Requirement (Software Engineering)
- •
- •
- •
requirements abstraction (Davis)
- •
requirements must be abstract enough that multiple contractors can bid, yet detailed enough that the client can validate what will be built
- •
- •
user vs system requirements
- •
- •
user requirements
- •
written for customers
- •
expressed in natural language or with diagrams
- •
describes services the system provides and its operational constraints
- •
should be understandable by system users without detailed technical knowledge
- •
e.g., "The application must be able to store documents securely in large volumes"
- •
- •
system requirements
- •
written for technical teams
- •
structured, detailed descriptions of functions, services, and operational constraints
- •
defines what should be implemented; may be part of a contract
- •
serves as a basis for designing the system
- •
e.g., "The system must support file storage up to 1 GB per user with AES-256 encryption"
- •
- •
- •
- •
