Software Requirement Engineering
1
2 Levels of Requirements
The three main types of requirements in software
engineering are business, user and software.
Business Requirements
User Requirements
Software Requirements
3
Business Requirements
Business Level defines the business problems or opportunities about
the product. Business requirements define why the software product
is being developed.
They are the objectives of the customer requesting the development
of the software.
This focuses on the main goal and high-level objectives of the
business and organizations.
They focus on the overall needs and strategic objectives of the
business.
4 Continue…..
They attempt to articulate why the organization is spending money
and resources on the project.
They are typically defined in a business case or other statements by
the product owner or sponsor, the marketing department, or the
customer.
Identifying the stakeholders and their needs and expectations
regarding the overall business, end users’ needs, management and
regulatory bodies roles are to be considered with highest importance.
5
Continue….
Research related to market trends, market value of products,
demands and competition for similar products is essential to be
considered.
Not doing proper project business requirement and research will
leads to automatic failure of project’s further development and
will be unable to deliver the business value to customers and
business team.
6 Example
For an e-commerce platform, a business requirement can be to
increase the value for customers by reducing the delivery time of the
items.
Business requirements understanding ensures overall business success
and guides the development direction.
This guides the development team in creating products to target
audience.
Each development iteration contributes to meeting users expectations.
This also facilitates stakeholder communication and fulfillment of
strategic business goals.
7 User/system Requirements
User Level defines functionality of the software product from the
user’s perspective.
They define what the software has to do in order for the users to
accomplish their objectives.
Functional requirements of the system including the specific
features and interactions for users’ needs are mainly considered in
this level.
Specifying the functional and nonfunctional requirements should be
done in this step.
Specifying qualities like performance, reliability, security, and
usability is also important.
8
Continue….
User stories need to be concrete and defined from the perspective of
end user.
These are described in the User Requirements Document in detail.
User requirements reflect the specific needs or expectations of the
software's customers.
Organizations sometimes incorporate these requirements into a BRD,
but an application that poses extensive user functionality or complex
UI issues might justify a separate document specific to the needs of the
intended user.
User requirements, much like user stories, highlight the ways in which
customers interact with software.
9
Continue….
There might be many user requirements for any software project,
each reflecting an expectation, goal or user story.
In most cases, user requirements are high-level goals that reflect
what the software should be able to do.
They typically avoid any technical details related to how they
accomplish the goals.
User requirements frequently form the foundation for specific
software requirements.
If system requirements is not defined properly then it leads to
confusion in development stages and may end up delivering the
valueless features for users so it leads to failure of product.
10
Example
A system requirement allows users to add products to their shopping
cart, while a user story could focus on the detailed steps involved in
the checkout.
Guide the development team in creating features and functionalities
that directly address user requirements, resulting in a user-centric
product.
Prioritization of development based on user needs to deliver most
valuable products early.
Measuring success and user stories concept promotes agile
development.
11 Software Requirements
Product Level/software level define the software functionality must
be built into the product to enable users to accomplish their tasks.
This includes the entire external, database, functional/non-
functional requirements.
After the BRD outlines the business goals and benefits of a project,
the team should devise a software requirements specification that
identifies the specific features, functions, nonfunctional
requirements and requisite use cases for the software.
Essentially, the SRS details what the software will do.
1
2 Continue….
It expands upon or translates the BRD and user requirements into features
and functions that developers can understand and implement.
Software requirements typically break down into functional requirements,
nonfunctional requirements and domain requirements.
Functional requirements. Functional requirements are statements or goals
that teams use to define system behavior.
Functional requirements define what a software system must or must not do.
NFRs. Nonfunctional requirements relate to software usability.
Nonfunctional software requirements define how the system must operate or
perform.
A system can meet its functional requirements and fail to meet its
nonfunctional requirements.
13
Any Question???