You are on page 1of 16

Software Requirements Engineering

Introduction to Software
Requirements Engineering

Shah Nawaz [Lecturer], Department of Software Engineering, LGU


1 Introduction to Software Requirements Engineering
Software Requirement:

 The software requirements are description of features and


functionalities of the target system. Requirements convey the
expectations of users from the software product. The
requirements can be obvious or hidden, known or unknown,
expected or unexpected from client’s point of view.
 Software Requirements is a field within software engineering
that deals with establishing the needs of stakeholders that are
to be solved by software.
Requirement Engineering:

 The process to gather the software requirements from client,


analyze and document them is known as requirement
engineering.
 The goal of requirement engineering is to develop and maintain
sophisticated and descriptive ‘System Requirements
Specification’ document.
Examples of Requirement:

The system shall maintain records of all payments made to


employees on accounts of salaries, bonuses, travel/daily
allowances, medical allowances, etc.

The system shall allow users to search for an item by title,


author, or by International Standard Book Number

The system’s user interface shall be implemented using a web


browser
2 Types of Requirements
Types of Requirement

1. Functional Requirements
2. Non functional Requirements
3. Domain Requirements
4. Inverse Requirements
5. Design & Implementation Requirements
1- Functional Requirements

Functional requirements are product features or functions that


developers must implement to enable users to accomplish their tasks. So,
it’s important to make them clear both for the development team and the
stakeholders. Generally, functional requirements describe system
behavior under specific conditions.

For example:
• The system sends an approval request after the user enters personal information.
• A search feature allows a user to hunt among various invoices if they want to
credit an issued invoice.
• The system sends a confirmation email when a new user account is created.
2- Non functional Requirements

often called "quality attributes"


Requirements that are not directly concerned with the specific services
delivered by the system to its users.
Non-functional requirements may affect the overall architecture of a
system rather than the individual components.
For example, to ensure that performance requirements are met, you may
have to organize the system to minimize communications between
components.
Non-functional requirements include -
Security Logging Storage
Configuration Performance Cost
Flexibility Accessibility Disaster recovery
3- Domain Requirements

 Gathers needs and expectations of application stakeholders and at


providing a complete description of the behavior of the application to be
developed. 
 Requirements that come from the application domain of the system and
that reflect characteristics of that domain
 Derived from the application domain and describe system
characteristics and features that reflect the domain. If domain
requirements are not satisfied, the system may be unworkable
 Domain requirements are important because they often reflect
fundamentals of the application domain. If these requirements are not
satisfied, it may be impossible to make the system work satisfactorily.
4- Inverse Requirements

 Inverse or negative requirements state what the system will not do. E.g.
"All users with three or more accounts should not be migrated." Try to
rephrase negative requirements into a positive sense: "The system shall
migrate only users having fewer than three accounts."
 When changing a negative requirement into a positive one, you often
need to insert the word "only" to clarify the conditions that permit the
system action to take place. Double and triple negatives are especially
confusing; avoid them in all situations.
5 - Design and Implementation Requirements

 Software design is a creative activity in which you identify software


components and their relationships, based on a customer’s
requirements.
 Implementation is the process of realizing the design as a program
Impact of Requirements on
Projects and Project Failure
Impact of Requirements on Projects

Soft A number of factors are involved in any particular project failure. The
most often quoted factors are listed below:

 Lack of stakeholder involvement


 Unrealistic time scales
 Poor requirements
 Scope creep
 Uncontrolled changes
 Insufficient testing
Impact of Requirements on Projects
Thanks!
Any questions?

You might also like