Chapter 6 - Software Requirements
Chapter 6 - Software Requirements
System requirements
• A structured document setting out detailed descriptions of the system
services. Written as a contract between client and contractor
Software specification
• A detailed software description which can serve as a basis for a design or
implementation. Written for developers
Client Managers
System end-users
User Contract managers
Requirements System architects
System end-users
System
Client engineers
Requirements
System architects
Software developers
Software
Specification Client engineers
System architects
©Ian Sommerville Software Engineering Software developers Slide 5
Requirements Types:
1. Functional requirements: services the system
should provide
2. Non-functional requirements: constraints on the
services of functions offered by the system. e.g.
speed, time to market
3. Domain requirements: related to the application
domain of the system (may be functional or non-
functional requirements)
Non-Functional
Requirements
Product requirements External requirements
•Efficiency •Interoperability
Organizational requirements
•Reliability •Ethics
•Delivery
•Portability •Legislative
•Implementation
•Usability •Privacy
•Standards
•Performance •Safety
•Space
©Ian Sommerville Software Engineering Slide 9
Domain requirements
Domain requirements are derived from the application
domain of the system rather than from the specific needs
of the system users.
May be new functional requirements, constrain existing
requirements or set out how particular computation must
take place.
Example: tolerance level of landing gear on an aircraft
(different on dirt, asphalt, water), or what happens to fiber
optics line in case of sever weather during winter
Olympics (Only domain-area experts know)
Lending services
Actor
Lending services
Library
User
User administration
Library
Staff
Catalog services
Supplier
©Ian Sommerville Software Engineering Slide 23
Ethnography
Ethnography is an observational technique that
can be used to understand social and
organizational requirements.
Developed in a project studying the air traffic
control process
Problem with ethnography is that it studies
existing practices which may have some
historical basis which is no longer relevant