0% found this document useful (0 votes)
129 views19 pages

S.Y.B.Sc. Software Engineering Guide

The document discusses the seven distinct tasks of requirements engineering which are inception, elicitation, elaboration, negotiation, specification, validation, and requirements management. It provides details about each task and their importance in developing software.

Uploaded by

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

S.Y.B.Sc. Software Engineering Guide

The document discusses the seven distinct tasks of requirements engineering which are inception, elicitation, elaboration, negotiation, specification, validation, and requirements management. It provides details about each task and their importance in developing software.

Uploaded by

Komal Rathod
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Gokhale Education Society’s

HPT Arts and RYK Science College, Nashik – 422005


Department of Computer Science

S.Y.B.Sc.(Computer Science) Semester - I


CBCS Syllabus 2020 – 2021

CS 232 : Software Engineering


Chapter 3 : Requirements Analysis
Lecture No : 1

By
Subject Teacher : Mrs. Ahire Anuradha C.
3.0 Requirements Analysis
3.0 Introduction to Requirements Engineering
3.1 Requirement Elicitation
3.2 Software requirement specification (SRS)
3.2.1 Developing Use Cases (UML)
3.3 Building the Analysis Model
3.3.1 Elements of the Analysis Model
3.3.2 Analysis Patterns
3.3.3 Agile Requirements Engineering
3.4 Negotiating Requirements
3.5 Validating Requirements

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
3.0 Requirements Analysis
3.0 Introduction to Requirements Engineering

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
3.0 Introduction to Requirements Engineering
What is 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
modelling activity.
 It must be adapted to the needs of the process, the project, the
product, and the people doing the work.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Who does Requirements Engineering?
Software engineers or analysts in the IT world and other project
stakeholders such as managers, customers, and end users all
participate in requirements engineering.
It allows the software engineers to examine :
 the context of the software work to be performed
(Need, Scope and Feasibility of the proposed system)
 the specific design and construction needs that must address
 the priorities that guide the order in which work is to be
completed
 the information, functions, and behaviours that will have a
major impact on the resultant design.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Why is Requirements Engineering important?
 To design and build a computer based system that solves the
wrong problem or solves problem wrongly or produces the
solution which is not as per the customers expectations or
requirements then such system is of no use.
 The fundamental problem of rapidly delivering software to
customer is to obtain accurate, stable and timely inputs/
information/requirements from stakeholder/customers.
 It is important to understand what exactly the customer wants
/expects or what are the exact requirements stated by
customers before begin to design and build a computer-based
system.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
How is Requirements Engineering carried out?
 Requirements engineering is carried out by performing seven
distinct tasks …
 Inception
 Elicitation
 Elaboration
 Negotiation
 Specification
 Validation
 Requirements management
 some of these tasks occur in parallel and all are adapted to the
needs of the project.
 These tasks are conducted by software team members.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
 These tasks lead to understand
 what the business impact of the software will be?
 what the customer wants?
 how end users will interact with the software?
 Requirements engineering tasks are conducted to establish a
solid foundation for design and construction.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Seven Distinct Tasks of Requirements Engineering
:
Inception :
 Stakeholders establish basic problem requirements, define
overriding project constraints, do a rough feasibility analysis,
identify a working description of the project’s scope and
address major features and functions that must be present for
the system to meet its objectives.
 At project inception, you establish a basic understanding of the
problem, the people who want a solution, the nature of the
solution that is desired, and the effectiveness of preliminary
communication and collaboration between the other
stakeholders and the software team.
 All of this information is subject to change, but it is sufficient to
start discussions with the software engineering organization.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Elicitation :
 The information identified during inception is refined and
expanded during elicitation.
 Ask the customer, the users, and others about
 What are the objectives for the system or the product?
 What is to be accomplished?
 How the system or product fits into the needs of the
business?
 How the system is to be used on a day-to-day basis?
 Three problems occur during elicitation…
Problems of scope : occur when the boundary of the system
is ill-defined or the customers and users specify unnecessary
technical detail that may confuse overall system objectives
instead of clarify.
ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Problems of understanding :
have trouble communicating needs, omit information that is
believed to be “obvious”, specify requirements that conflict with
the needs of other customers and users, or specify requirements
that are ambiguous or un-testable.

Problems of volatility : occur when the requirements change


over time. To overcome these problems, you must approach the
requirements-gathering activity in an organized manner.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Elaboration :
 The information obtained from the customer during inception
and elicitation is expanded and refined during elaboration.
 It focuses on developing refined requirement models such as
scenario-based, activity-based, class-based, behavioural, and
flow-oriented elements to identify various aspects of software
function, behaviour, and information.
 Elaboration is driven by the creation and refinement of user
scenarios that describe how the end user and other actors will
interact with the system.
 Each user scenario is parsed to extract analysis classes and to
define the attributes of each analysis class as well as identify
the required services by each class.
 The relationships and collaboration between classes are also
identified.
ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Negotiation :
 The common and usual practices of customers and users
which create conflicts for developers are -
 to ask for more than can be achieved in given limited
business resources.
 to propose conflicting requirements, arguing that their
version is “essential for our special needs.”
 Reconcile these conflicts through a process of negotiation.
 The software team and other project stakeholders negotiate
the priority, availability, and relative cost of each requirement.
 The intent of this negotiation is to develop a realistic project
plan.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Specification :
 specification means different things to different people.
 It 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.
 “standard template” should be developed and used for a
specification in order to present it in a consistent and more
understandable manner.
 For large systems, a written document, combining natural
language descriptions and graphical models may be the best
approach.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
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.
 The inconsistencies, omissions, and errors have been detected
and corrected
 The work products conform to the standards established for the
process, the project, and the product.
 The primary requirements validation mechanism is the technical
review.
 The review team includes S/W engineers, customers, users, &
other stakeholders.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
Validation :
 The team examines
 the specification looking for errors in content or interpretation
 areas where clarification may be required
 missing information
 Inconsistencies
 conflicting requirements, or unrealistic requirements.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
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 helps the
project team to identify, control, and track the requirements as
well as changes to requirements at any time as the project
proceeds.
 In addition, each requirement and the requirements model as a
whole are validated against customer need to ensure that the
right system is to be built.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Continued…
What is the work product of Requirements Engineering?
 The intent of requirements engineering is to provide all parties
with a written understanding of the problem.
 This can be achieved through a number of work products such
as usage scenarios, functions and features lists, requirements
models, or a specification.
 Requirements engineering work products are reviewed with
stakeholders to ensure that what you have learned is what
they really meant.
 Even after all parties agree, things will change, and they will
continue to change throughout the project.

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05
Attempt the following Questions :
Q1. What is Requirements Engineering? Why is it important?
Q2. What do you mean by Requirements Engineering? Who does
it?
Q3. Define Requirements Engineering. State distinct tasks of
Requirements Engineering.
Q4. Explain any four tasks of Requirements Engineering.
Q5. Explain Elicitation.
Q6. What is Elicitation? Explain the problems occur during
elicitation.
Q7. What is the importance of negotiation? How does it carry
out?
Q8. How does requirements management help the S/W team?
Q9. What is the work product of Requirements Engineering?

ACA, Department of Computer Science, GES's HPT Arts and RYK Science College, Nashik-05

You might also like