Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product
2. Agenda
Definition Purpose of SRS
SRS Format
Characteristics
of SRS
Importance of
SRS
Software Requirements Specification
3. Definition
• SRS stands for Software Requirements Specification.
It is a detailed document that outlines the requirements
for a software project, including its purpose, scope,
specifications, and performance attributes.
• It serves as a blueprint for the development team and
ensures a shared understanding of the project among
stakeholders.
3
Software Requirements Specification
4. Purpose
• The primary purpose of an SRS is to ensure that all
stakeholders, including customers, developers, testers,
and project managers, have a clear understanding of
the requirements for the software system.
• This helps to avoid misunderstandings and
miscommunications that can lead to costly errors and
delays in the software development process.
• Overall, the purpose of an SRS is to ensure that the
software system meets the needs and expectations of
all stakeholders, is delivered on time and within
budget, and is of high quality.
4
Software Requirements Specification
5. Software Requirements Specification
Format
Introduction
• Purpose
• Product Scope
• Reference
Overall Description
• Product Perspective.
• Product Functions.
• Design And
Implementation.
• Assumptions And
Dependencies.
• User Characteristics.
External
Interface
• User Interface.
• Hardware
Interface.
• Software
Interface.
• Communication
Interface.
Other Nonfunctional
Requirement
• Performance
Requirement.
• Safety Requirement.
• Security Requirement
5
Software Requirements Specification
6. Characteristics of Software
Requirements Specification
Complete
The SRS should include all
requirements for the
software system, including
functional, non-functional,
and performance
requirements.
Testable
All requirements
should be testable
to ensure that they
can be verified and
validated during
the development
process.
Consistent
The document
should be
consistent in
terms of
terminology,
formatting, and
writing style to
avoid confusion.
Traceable
Each requirement
should be
traceable to its
origin, such as a
stakeholder need
or a specific
design decision.
Verifiable
The SRS should
include a plan for
verifying that the
software system
meets all
requirements.
6
Software Requirements Specification
7. Importance of SRS
Reduced
development time
and costs
By identifying potential
problems early in the
development cycle, an SRS
can reduce the need for costly
rework later, resulting in
reduced development time and
costs.
Improved quality
An SRS helps to ensure that the
software system is of high quality by
providing a reference point for
developers to follow and a plan for
verifying that all requirements have
been met.
7
9. Overview : -
Requirement analysis is the process of identifying and defining the needs and expectations of stakeholders for a particular product or
project. This involves understanding the objectives and goals of the project, the scope and limitations of the product, the target users,
and the features and functionalities that are required to meet the stakeholders' needs.
The main goal of requirement analysis is to establish a clear and complete understanding of what the system or product should do
and how it should behave. This involves identifying and documenting various functional and non-functional requirements, such as user
requirements, system requirements, and technical requirements.
Requirement Analysis
Requirement Analysis
10. 1.Gathering and documenting requirements: This involves
identifying stakeholders and their needs and documenting these
needs in a clear and concise manner. Requirements can be
gathered through interviews, surveys, focus groups, and other
methods.
2.Analyzing requirements: This involves reviewing the
requirements to ensure that they are complete, consistent, and
feasible. This may also involve prioritizing requirements and
identifying any conflicts or trade-offs.
3.Validating requirements: This involves ensuring that the
requirements meet the needs of stakeholders and are aligned with
the overall goals of the project. This may involve testing and
prototyping to validate the requirements.
4.Managing requirements: This involves tracking and controlling
changes to the requirements throughout the project lifecycle and
ensuring that stakeholders are informed of any changes or
updates.
The process of requirement analysis
typically involves several steps, including:
Requirement Analysis
11. Requirement elicitation is the process of identifying and extracting requirements from
stakeholders, users, and other sources. This process is critical in ensuring that the
requirements are complete, accurate, and meet the needs of the project or product.
During the requirement elicitation process, it is important to actively listen to stakeholders and
users, ask open-ended questions, and clarify any ambiguities or misunderstandings. It is also
important to prioritize requirements and manage any conflicts or trade-offs that may arise.
Effective requirement elicitation is critical in ensuring that the final product or project meets
the needs and expectations of stakeholders and users. It can also help to identify potential
issues or challenges early in the project lifecycle, which can be addressed before they
become more difficult or costly to resolve.
Requirement Elicitation
Requirement Elicitation
12. 1.Interviews: This involves one-on-one conversations with
stakeholders and users to understand their needs and
expectations.
2.Workshops: This involves bringing together a group of
stakeholders and users to discuss and brainstorm requirements.
3.Surveys: This involves distributing questionnaires to
stakeholders and users to gather information about their needs
and expectations.
4.Observations: This involves observing users in their natural
environment to understand their behaviors and needs.
5.Prototyping: This involves creating a prototype or mockup of the
product to gather feedback from stakeholders and users.
6.Focus groups: This involves bringing together a group of users to
discuss and provide feedback on the product or project.
Requirement elicitation typically
involves several techniques, including:
Requirement Elicitation