0% found this document useful (0 votes)
2 views

Lecture-06-Software Requirements

This lecture covers software requirements, detailing user and system requirements, as well as functional, non-functional, and domain requirements. It emphasizes the importance of defining what a system should do and the constraints on its operation. Key points include the distinction between functional and non-functional requirements and their relevance to software development.

Uploaded by

uzair durrani
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Lecture-06-Software Requirements

This lecture covers software requirements, detailing user and system requirements, as well as functional, non-functional, and domain requirements. It emphasizes the importance of defining what a system should do and the constraints on its operation. Key points include the distinction between functional and non-functional requirements and their relevance to software development.

Uploaded by

uzair durrani
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Lecture 06

Software Requirements
Software Engineering
COSC-1104

Ms. Humaira Anwer


[email protected]

Lecture 06 Software Requirements 1


Agenda
• Software Requirements
• Types of Software Requirements
• User Requirements
• System Requirements

• Types of Software System Requirements


• Functional Requirements
• Non-Functional Requirements
• Domain Requirements

Lecture 06 Software Requirements 2


Software Requirements

• The software requirements are description of features and


functionalities of the target system.
• Requirements convey the expectations of users from the
software product.
• 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 requirements for a system are:
• the descriptions of the services that a system should
provide and
• the constraints on its operation

3
Lecture 06 Software Requirements
User Requirements

• Statements, in a natural language


• A high-level, abstract statement of a service
that a system should provide or a constraint
on a system
• talk about the problem domain, the world of
Types of the user.

Software System Requirements

Requireme • It is detailed, formal definition of a system


function
nts • The system requirements document
(sometimes called a functional specification)
should define exactly what is to be
implemented.
• It may be part of the contract between the
system buyer and the software developers.
• talk about the solution domain, the world of
the software logic.

Lecture 06 Software Requirements 4


Example
of User
and
System
Requireme
nt

5
Lecture 06 Software Requirements
Stakeholde
rs of User
and
System
Requireme
nts

6
Lecture 06 Software Requirements
Types of
Software
System
Requireme
nts

Lecture 06 Software Requirements 7


Functional Requirements

• These are statements of services (functionalities/features) the


system should provide.
• A particular behavior of function of the system.
• Any requirement which specifies what the system should do.
• They define a system or its component.

Types of Non Functional Requirements

Software • These are constraints on the services or functions offered by


the system.

System • They include timing constraints, constraints on the


development process, and constraints imposed by standards.
• Non-functional requirements often apply to the system as a

Requireme whole rather than individual system features or services.

nts Domain Requirements

• Domain requirements are the requirements which are


characteristic of a particular category or domain of projects.
• Reflect the environment in which the system operates.
• The basic functions that a system of a specific domain must
necessarily exhibit come under this category.
• Domain requirements may be expressed using specialised
domain terminology or reference to domain concepts.

Lecture 06 Software Requirements 8


Functional Requirements for
Mentcare System

• A user shall be able to search the appointments


lists for all clinics.
• The system shall generate each day, for each
clinic, a list of patients who are expected to attend
appointments that day.
• Each staff member using the system shall be
uniquely identified by his or her eight-digit
employee number.

9
Lecture 06 Software Requirements
Non-Functional Requirements

Lecture 06 Software Requirements 10


Non-Functional
Requirements
• Product requirements: These requirements specify or constrain
the runtime behavior of the software.
• How fast the system must execute
• How much memory it requires;
• Reliability
• Acceptable failure rate;
• Security requirements; and
• Usability requirements.
• Organizational requirements These requirements are broad
system requirements derived from policies and procedures in
the customer’s and developer’s organizations. Examples
include:
• operational process requirements that define how the system will be used;
• development process requirements that specify the programming language;
• the development environment or process standards to be used;
• and environmental requirements that specify the operating environment of
the system.

Lecture 06 Software Requirements 11


Non-Functional
Requirements
• External requirements This broad heading covers all
requirements that are derived from factors external to the
system and its development process. These may include:
• regulatory requirements that set out what must be done for the system to be
approved for use by a regulator, such as a nuclear safety authority;
• legislative requirements that must be followed to ensure that the system
operates within the law; and
• ethical requirements that ensure that the system will be acceptable to its
users and the general public.

Lecture 06 Software Requirements 12


Metrics for specifying nonfunctional
requirements
Property Measure
Speed Processed transactions/second
User/event response time
Screen refresh time
Size Mbytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure (MTTF)
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure (MTTR)
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems

Lecture 06 Software Requirements 13 13


Functional and Non-Functional Requirements:
Difference

Lecture 06 Software Requirements 14


Functional and Non-Functional Requirements:
Examples

Lecture 06 Software Requirements 15


• Domain requirements reflect the environment in
Lecture 06 Software Requirements

which the system operates.


• When we talk about an application domain we mean
environments such as:
• train operation,
• medical records,
• e-commerce etc.
• Domain requirements may be expressed using
Domain specialised domain terminology or reference to
Requireme domain concepts.
• Because these requirements are specialised,
nts software engineers often find it difficult to
understand how they are related to other system
requirements.
• For example, the requirements for the insulin pump
system that delivers insulin on demand include the
following domain requirement:
• The system safety shall be assured according to
standard IEC 60601-1:Medical Electrical
Equipment – Part 1:General Requirements for
Basic Safety and Essential Performance.

16
Key points
 Requirements for a software system set out what the
system should do and define constraints on its
operation and implementation.
 Functional requirements are statements of the services
that the system must provide or are descriptions of
how some computations must be carried out.
 Non-functional requirements often constrain the
system being developed and the development process
being used.
 They often relate to the emergent properties of the
system and therefore apply to the system as a whole.
Lecture 06 Software Requirements 17 17

You might also like