Lecture-1 (1)
Lecture-1 (1)
REQUIREMENTS ENGINEERING
Introduction
The requirements for a system are the descriptions of what the system should do - the services
that it provides and the constraints on its operation. These requirements reflect the needs of
customers for a system that serves a certain purpose such as controlling a device, placing an
order, or finding information. The process of finding out, analysing, documenting and checking
these services and constraints is called requirements engineering (RE).
Different levels of requirements are useful because they communicate information about the
system to different types of reader.
Functional requirements
The functional requirements for a system describe what the system should do. These
requirements depend on the type of software being developed, the expected users of the
software, and the general approach taken by the organization when writing requirements. When
expressed as user requirements, functional requirements are usually described in an abstract
way that can be understood by system users.
Functional system requirements vary from general requirements covering what the system
should do to very specific requirements reflecting local ways of working or an organization’s
existing systems.
Non-functional requirements
Non-functional requirements, as the name suggests, are requirements that are not directly
concerned with the specific services delivered by the system to its users. They may relate to
emergent system properties such as reliability, response time, and store occupancy.
Alternatively, they may define constraints on the system implementation such as the capabilities
of I/O devices or the data representations used in interfaces with other systems.
Requirements specifications
Requirements specification is the process of writing down the user and system requirements in
a requirements document. Ideally, the user and system requirements should be clear,
unambiguous, easy to understand, complete, and consistent. In practice, this is difficult to
achieve as stakeholders interpret the requirements in different ways and there are often inherent
conflicts and inconsistencies in the requirements.