SE Unit 2 Req Engg
SE Unit 2 Req Engg
SE Unit 2 Req Engg
S,Asst Prof
They describe what the product does. They describe the working of
product.
These requirements are specified by the user. These requirements are specified by
the software developers, architects,
and technical persons.
There is functional testing such as API testing, There is non-functional testing such
system, integration, etc. as usability, performance, stress,
security, etc.
These requirements are important to system These are not always the important
operation. requirements, they may be
desirable.
Completion of Functional requirements While system will not work only with
allows the system to perform, irrespective of non-functional requirements.
meeting the non-functional requirements.
Seshadripuram Degree College,S/W Engg.UNIT-2 NEP Sonia.S,Asst Prof
The SRD demonstrates to the client that your organization understands the
issue they want to be solved and how to address those problems through
software solutions. Because clients are often direct stakeholders, it is
especially important to draft the documentation clearly in layman’s terms
(avoiding technical jargon).
• Correct
User review is done to check that the requirements listed in the SRS are
proper. SRS is correct if it meets all of the system's requirements.
• Unambiguous
• Complete
• Consistent
Two or more requirements may define the same real-world object but
refer to it differently. Consistency is promoted by the use of uniform
terminology and descriptions.
• Verifiable
• Modifiable/Adaptable
Seshadripuram Degree College,S/W Engg.UNIT-2 NEP Sonia.S,Asst Prof
SRS should be made as adaptable as possible, with the ability to make changes
to the system fast. In addition, changes should be fully indexed and cross-
referenced.
• Traceable
The SRS is traceable if the origin of each requirement is clear and if it facilitates
the referencing of each condition in the future. Traceability is classified into
two types:
• Design Independent
The final system should include the option of selecting from numerous design
possibilities. More particularly, no implementation details should be included
in the SRS.
• Testable
The details should be explained explicitly if the SRS is written for the
requirements phase. A feasibility study, on the other hand, can employ fewer
details. As a result, the level of abstraction varies depending on the SRS's
objective.
Seshadripuram Degree College,S/W Engg.UNIT-2 NEP Sonia.S,Asst Prof
• Customer-friendly
Requirements Elicitation:
It is related to the various ways used to gain knowledge about the project
domain and requirements. The various sources of domain knowledge include
customers, business manuals, the existing software of same type, standards
Seshadripuram Degree College,S/W Engg.UNIT-2 NEP Sonia.S,Asst Prof
and other stakeholders of the project. The techniques used for requirements
elicitation include interviews, brainstorming, task analysis, Delphi technique,
prototyping, etc. Some of these are discussed here. Elicitation does not
produce formal models of the requirements understood. Instead, it widens
the domain knowledge of the analyst and thus helps in providing input to the
next stage.
Requirements elicitation is the process of gathering information about the
needs and expectations of stakeholders for a software system. This is the first
step in the requirements engineering process and it is critical to the success
of the software development project. The goal of this step is to understand
the problem that the software system is intended to solve, and the needs and
expectations of the stakeholders who will use the system.
There are several techniques that can be used to elicit requirements,
including:
• Interviews: These are one-on-one conversations with stakeholders
to gather information about their needs and expectations.
• Surveys: These are questionnaires that are distributed to
stakeholders to gather information about their needs and
expectations.
• Focus Groups: These are small groups of stakeholders who are
brought together to discuss their needs and expectations for the
software system.
• Observation: This technique involves observing the stakeholders in
their work environment to gather information about their needs and
expectations.
• Prototyping: This technique involves creating a working model of the
software system, which can be used to gather feedback from
stakeholders and to validate requirements.
•
Requirements verification and validation:
Verification: It refers to the set of tasks that ensures that the software
correctly implements a specific function.
Validation: It refers to a different set of tasks that ensures that the software
that has been built is traceable to customer requirements. If requirements
Seshadripuram Degree College,S/W Engg.UNIT-2 NEP Sonia.S,Asst Prof
It’s important to note that V&V is not a one-time process, but it should be
integrated and continue throughout the software development process and
even in the maintenance stage.
Requirements management:
Requirement management is the process of analyzing, documenting,
tracking, prioritizing and agreeing on the requirement and controlling the
communication to relevant stakeholders. This stage takes care of the
changing nature of requirements. It should be ensured that the SRS is as
modifiable as possible so as to incorporate changes in requirements specified
by the end users at later stages too. Being able to modify the software as per
requirements in a systematic and controlled manner is an extremely
important part of the requirements engineering process.
Requirements management is the process of managing the requirements
throughout the software development life cycle, including tracking and
controlling changes, and ensuring that the requirements are still valid and
relevant. The goal of requirements management is to ensure that the
software system being developed meets the needs and expectations of the
stakeholders and that it is developed on time, within budget, and to the
required quality.
There are several key activities that are involved in requirements
management, including:
• Tracking and controlling changes: This involves monitoring and
controlling changes to the requirements throughout the
development process, including identifying the source of the
change, assessing the impact of the change, and approving or
rejecting the change.
• Version control: This involves keeping track of different versions of
the requirements document and other related artifacts.
• Traceability: This involves linking the requirements to other
elements of the development process, such as design, testing, and
validation.
Seshadripuram Degree College,S/W Engg.UNIT-2 NEP Sonia.S,Asst Prof