Introduction to Requirement engineering

2,177 views 16 slides Aug 17, 2021
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

Introduction to Requirement engineering


Slide Content

Software
Requirements
analysis &
specifications

Requirements Engineering
•The process of collecting the
software requirement from the client
then understand, evaluate and
document it is called as requirement
engineering.
•Requirement engineering constructs
a bridge for design and construction.

Requirements Engineering
1.Requirement engineering is the discipline concerned with understanding
the externally imposed conditions on a proposed computer system,
determining what capabilities will meet these imposed conditions and
documenting those capabilities as the software requirements for the
computer system.
2.The process of establishing the services that the customer requires from a
system andthe constraintsunder which it operates and is developed.
3.A requirement mandates that somethingbe accomplished, transformed,
produced or provided.
3

Importance ofRequirements
•Making design decisions without understanding all the
constraints on the system to be developed results in a
system which fails to meet customer’s expectations.
•Costs of correcting errors increases as the design process
advances.
•An error detected in the maintenance phase is 20 times as
costly to fix as an error detected in the coding stage.

RequirementsPerspectives
•User requirements
Statements in natural language plus diagrams of the services the
system provides and its operational constraints. Written for
customers.
•System requirements
A structured document setting out detailed descriptions of the
system’s functions, services and operational constraints. Defines
what should be implemented so may be part of a contract
between client andcontractor.

Types of Requirements
1.User requirements
•Statements in natural language plus diagrams of the services the system
provides and its operational constraints.
•Written for customers.
2.System requirements
•A structured document setting out detailed descriptions of the system’s
functions, services and operational constraints.
•Defines what should be implemented so may be part of a contract between
client and contractor.
•Whom do you think these are written for?
•These are higher level than functional and non-functional requirements,
which these may subsume.
6

Types ofRequirements
•Functional requirements:
•Statements of services, how the system should react to particular
inputs, what functionalities is to be provided. Functionalrequirements
arenotconcernedwithhowthese functionsaretobeachieved,just
whatistobeachieved.
•Non –functionalrequirements:
•deals with attributes, or properties, of the software ratherthan
functions.Weincludehereaspectsofthe
•softwaresuchasitsperformance,itsusability,itsreliability, any safety
aspects and a range of otherattributes.
•DomainRequirements:
•Requirementsoftheapplicationdomainofthesystem, reflect
characteristics of thatdomain.

RequirementsCharacteristics
•Unambiguous
•Testable(verifiable)
•Clear (Concise, terse, simple,precise)
•Correct
•Understandable
•Feasible
•Independent
•Atomic
•Necessary
•Implementation –free(abstract)

Requirements
Characteristics
Besides the criteria for
individual requirements,
3 criteria should apply to
the set of requirements
as a whole:
•Consistent
•Non redundant
•Complete

Requirements
engineering
processes
•The processes used for RE vary widely
depending on the application domain,
the people involved and the organisation
developing the requirements
•However, there are a number of generic
activities common to all processes
1.Requirements elicitation
2.Requirements analysis
3.Requirements validation
4.Requirements management

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 and other stakeholders of the
project.
The techniques used for requirements elicitation include interviews,
brainstorming, task analysis, Delphi technique, prototyping, etc.
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 specification:
This activity is used to produce formal software requirement
models. All the requirements including the functional as well as
the non-functional requirements and the constraints are
specified by these models in totality. During specification, more
knowledge about the problem may be required which can
again trigger the elicitation process.
The models used at this stage include ER diagrams, data flow
diagrams(DFDs), function decomposition diagrams(FDDs), data
dictionaries, etc.

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 are not validated, errors in the requirement definitions would
propagate to the successive stages resulting in a lot of modification and rework.
The main steps for this process include:
•The requirements should be consistent with all the other requirements i.e
no two requirements should conflict with each other.
•The requirements should be complete in every sense.
•The requirements should be practically achievable.

TheOutput
A Software Requirements Specification (SRS) –A formal Document as
the OUTPUT of the Specification stage.
•It is a complete description of the behavior of a system developed that
includes:
•Functional Requirements
•Non-Functional Requirements Constraints
•Design Strategy Quality and Standards Architecture
•Development Methodology

Analysis &Specification
•Requirements analysis:
•The process of studying and analysingthe customer and the
user/stakeholder needs toarrive at a definition of software
requirements
•RequirementsSpecification:
•A document that clearly and precisely describes essential
requirements of softwareand external interfaces (functions,
performance, qualityetc.)
•each requirement is specified such that its achievement is
capable of being verified bya prescribed method like
inspection,test.

Requirement Engineering is the process
characterized for achieving following goals-
•Understanding customer requirements
and their needs
•Analyzing the feasibility of the
requirement
•Negotiating the reasonable solutions
•Specification of an unambiguous solution
•Managing all the requirement
•Finally transforming the requirements of
the project
Requirement engineering
consists of seven different
tasks as follow:
1.Inception
2.Elicitation
3.Elaboration
4.Negotiation
5.Specification
6.Validation
7.Requirements
Management
Requirements Engineering Tasks
Tags