0% found this document useful (0 votes)
34 views7 pages

Session - 8

Requirements engineering is a critical process in software engineering that involves understanding customer needs, analyzing feasibility, and managing requirements throughout the development lifecycle. It consists of seven tasks: inception, elicitation, elaboration, negotiation, specification, validation, and management, each addressing different aspects of gathering and refining requirements. Challenges such as scope, understanding, and volatility can arise during elicitation, necessitating effective communication and negotiation among stakeholders.

Uploaded by

goudashruti31
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views7 pages

Session - 8

Requirements engineering is a critical process in software engineering that involves understanding customer needs, analyzing feasibility, and managing requirements throughout the development lifecycle. It consists of seven tasks: inception, elicitation, elaboration, negotiation, specification, validation, and management, each addressing different aspects of gathering and refining requirements. Challenges such as scope, understanding, and volatility can arise during elicitation, necessitating effective communication and negotiation among stakeholders.

Uploaded by

goudashruti31
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

MODULE - 2

UNDERSTANDING REQUIREMENTS

 Understanding the requirements of a problem is among the most difficult tasks that is
faced by a software engineer.

1.1 Requirements Engineering

 The broad spectrum of tasks and techniques that lead to an understanding of


requirements is called requirements engineering.
 From a software process perspective, requirements engineering is a major software
engineering action that begins during the communication activity and continues
into the modeling activity.
 Requirements engineering builds a bridge to design and construction.
 Requirements engineering provides the appropriate mechanism for;
 understanding what the customer wants
 analyzing need
 assessing feasibility
 negotiating a reasonable solution
 specifying the solution unambiguously
 validating the specification
 And managing the requirements as they are transformed into an operational system
 It encompasses seven distinct tasks:
 Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Management.
 Inception

 You establish a basic understanding of the problem


 the people who want a solution
 the nature of the solution that is desired
 the effectiveness of preliminary communication and collaboration between the other
stakeholders and the software team.

 Elicitation

 Ask the customer, the users, and others what the objectives for the system or product
 what is to be accomplished
 how the system or product fits into the needs of the business
 how the system or product is to be used on a day-to-day basis.
 Christel and Kang identified a number of problems that are encountered as elicitation
occurs.
 Problems of scope. The boundary of the system is ill-defined or the customers/users
specify unnecessary technical detail that may confuse, rather than clarify, overall
system objectives.
 Problems of understanding. The customers/users are not completely sure of what is
needed, have a poor understanding of the capabilities and limitations of their
computing environment, don’t have a full understanding of the problem domain, have
trouble communicating needs to the system engineer.
 Problems of volatility. The requirements change over time.

 Elaboration

 The information obtained from the customer during inception and elicitation is
expanded and refined during elaboration.
 Negotiation

 It’s also relatively common for different customers or users to propose conflicting
requirements, arguing that their version is “essential for our special needs.”
 You have to reconcile these conflicts through a process of negotiation.
 Customers, users, and other stakeholders are asked to rank requirements and then
discuss conflicts in priority.

 Specification
 A specification can be a written document, a set of graphical models, a formal
mathematical model, a collection of usage scenarios, a prototype, or any
combination of these.
 Validation
 The work products produced as a consequence of requirements engineering are
assessed for quality during a validation step.
 Requirements validation examines the specification to ensure that all software
requirements have been stated unambiguously; that inconsistencies, omissions, and
errors have been detected and corrected.

 Requirements management
 Requirements for computer-based systems change, and the desire to change
requirements persists throughout the life of the system.
 Requirements management is a set of activities that help the project team identify,
control, and track requirements and changes to requirements at any time as the
project proceeds.

You might also like