Introduction Software Engineering
Week 5
What are software requirements?
“The descriptions of the system services and constraints that are generated during the
requirements engineering process.”
Developed during the first phase in the software development life cycle.
What is requirements engineering?
Requirements engineering is the process of establishing the services that the customer requires
from a system the constraints under which it operates and is developed.
Requirements:
The descriptions of the system services and constraints that are generated during the requirements
engineering process.
What is a requirement?
It may range from a high-level abstract statement of a service or of a system constraint to a
detailed mathematical functional specification
This is inevitable as requirements may serve a dual function
o May be the basis for a bid for a contract - therefore must be open to interpretation
o May be the basis for the contract itself - therefore must be defined in detail
o Both these statements may be called requirements.
Types of requirement:
User requirements
o Statements in natural language plus diagrams of the services the system provides and its
operational constraints. Written for customers.
System requirements
o A structured document setting out detailed descriptions of the system services. Written
as a contract between client and contracto.r
, Software specification
o A detailed software description which can serve as a basis for a design or
implementation. Written for developers.
Requirements Types:
Functional requirements.
Non-functional requirements.
Domain requirements.
Functional and non-functional requirements:
Functional requirements
o Statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations.
Non-functional requirements
o Constraints on the services or functions offered by the system such as timing
constraints, constraints on the development process, standards, etc.
Domain requirements
o Requirements that come from the application domain of the system and that reflect
characteristics of that domain.
Functional Requirements:
What requirements (What the product must do).
Describe functionality or system services (what are the inputs, the outputs and expectations).
Depend on the type of software, expected users and the type of organization where the system
is developed.
Functional requirements can be:
User requirements are high-level statements of what the system should do.
System requirements should describe the system services in detail.
Week 5
What are software requirements?
“The descriptions of the system services and constraints that are generated during the
requirements engineering process.”
Developed during the first phase in the software development life cycle.
What is requirements engineering?
Requirements engineering is the process of establishing the services that the customer requires
from a system the constraints under which it operates and is developed.
Requirements:
The descriptions of the system services and constraints that are generated during the requirements
engineering process.
What is a requirement?
It may range from a high-level abstract statement of a service or of a system constraint to a
detailed mathematical functional specification
This is inevitable as requirements may serve a dual function
o May be the basis for a bid for a contract - therefore must be open to interpretation
o May be the basis for the contract itself - therefore must be defined in detail
o Both these statements may be called requirements.
Types of requirement:
User requirements
o Statements in natural language plus diagrams of the services the system provides and its
operational constraints. Written for customers.
System requirements
o A structured document setting out detailed descriptions of the system services. Written
as a contract between client and contracto.r
, Software specification
o A detailed software description which can serve as a basis for a design or
implementation. Written for developers.
Requirements Types:
Functional requirements.
Non-functional requirements.
Domain requirements.
Functional and non-functional requirements:
Functional requirements
o Statements of services the system should provide, how the system should react to
particular inputs and how the system should behave in particular situations.
Non-functional requirements
o Constraints on the services or functions offered by the system such as timing
constraints, constraints on the development process, standards, etc.
Domain requirements
o Requirements that come from the application domain of the system and that reflect
characteristics of that domain.
Functional Requirements:
What requirements (What the product must do).
Describe functionality or system services (what are the inputs, the outputs and expectations).
Depend on the type of software, expected users and the type of organization where the system
is developed.
Functional requirements can be:
User requirements are high-level statements of what the system should do.
System requirements should describe the system services in detail.