Professional Documents
Culture Documents
Topics
Problem recognition
Requirement Engineering Tasks
Processes
SRS
Use cases and Functional specification
Requirement validation
Requirement Analysis
Modeling and types
Requirement ?
A requirement can range from high level abstract
statement of a service or of a system constrain to a
detailed mathematical specification.
Req. themeselves are the descriptions of the system
services & constraints that are generated during the
Req. Eng process
Requirement engineering ?
Is the process of
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
14
Inception Task
Inception means specifying the beginning of the software project.
Most of the s/w projects get started due to the business requirement.
There exist several stakeholders who define the business idea.
What is stakeholder?
During inception, the requirements engineer asks a set of questions to
establish…
2.Find out all possible solutions and to identify the nature of the solution
15
3. Establish effective communication between the customer and the
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
16
Elicitation Task
Before the req. can be analyzed and modeled they
must undergo through the process of elicitation.
Eliciting requirements is difficult because of
Scope of the Project
Understanding the Problems.
Problems of volatility
Elicitation may be accomplished through two
activities
Collaborative requirements gathering
Quality function deployment
17
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
21
Elaboration Task
The information about the requirements is expanded and
refined
This information is gained during inception and elicitation
Goal: to prepare a technical model of s/w functions,
features and constraints
Consists of several modeling and refinement tasks.
It is an analysis modeling task
Use cases are developed
Domain classes are identified along with their attributes
and relationships
State machine diagrams are used to capture the life on an
object
The end result is an analysis model that defines the
22 functional, informational, and behavioral domains of the
problem
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
26
Negotiation Task
During negotiation, the software engineer
reconciles the conflicts between what the customer
wants and what can be achieved given limited
business resources
Requirements are ranked (i.e., prioritized) by the
customers, users, and other stakeholders
Risks associated with each requirement are
identified and analyzed
Rough guesses of development effort are made and
used to assess the impact of each requirement on
project cost and delivery time
Using an iterative approach, requirements are
eliminated, combined and/or modified so that each
27 party achieves some measure of satisfaction
The Art of Negotiation
Recognize that it is not competition
Map out a strategy
Listen actively
Focus on the other party’s interests
Don’t let it get personal
Be creative
Be ready to commit
28
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
29
Specification Task
A specification is the final work product produced
by the requirements engineer
It can be written document, mathematical or
graphical model, collection of use case scenarios
It is normally in the form of a software
requirements specification
It serves as the foundation for subsequent software
engineering activities
It describes the function and performance of a
computer-based system and the constraints that
will govern its development
It formalizes the informational, functional, and
behavioral requirements of the proposed software
30
in both a graphical and textual format
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
32
Validation
Task
It is an activity in which req. specification is analyzed in
order to ensure that the req. are specified unambiguously
During validation, the work products produced as a result
of requirements engineering are assessed for quality
The specification is examined to ensure that
all software requirements have been stated
unambiguously
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 formal technical review serves as the primary
requirements validation mechanism
Members include software engineers, customers, users,
and other stakeholders
33
Inception
Elicitation
Elaboration
Negotiation
Specification
Validation
Requirements
Management
36
Requirements Management Task
It is the process of managing changing requirements
during the requirements engineering process and
system development.
Why requirements get change?
- req. are always incomplete and inconsistent. New
req. occur during the process as business needs
change and a better understanding of the system is
developed
- Customers may specify the req. from business
perspective that can conflict with end user req.
- During the development of the system, its business
& the technical environment may get changed
37
Requirement Management Process
following things should be planned :
Case tool The tool support which is required to manage req. changes
Support
Requirement Engineering Processes
Is process in which various activities such as discovery,
analysis, validation are done.
Begins with feasibility study
Ends with req. validation
Finally a document is prepared
This process is a 3 stage activity, in which activities are
arranged in iterative manner
Generic activities:
1. Req. Elicitation
2. Req. Analysis
3. Req. Validation
4. Req. Management
Requirement Engineering Processes
Req.
Feasibility
Elicitation &
study
Analysis
Feasibility
Req. Req.
Report
Specification Validation
System
Models
Req. Doc.
Spiral Model of Req. Eng. Process
Cont..
It can also be viewed as structured analysis
method
Along with creation of system models some
additional information
Requirement Specification
S/w Req. Document is the specification of the system
Should include both a definition & a specification of req.
Not a design document
It is the set of what the system should do rather than
how it should do
Provide a basis for creating the Software Requirement
Specification (SRS)
SRS
Use:
- In estimating cost
- Planning team activities
- Performing tasks
- Tracking team progress
s/w designers use IEEE STD 830-1998 as the basis for
S/w Spec.
Software Requirements Specification
Who needs the SRS and for what purpose?
Users, customers and marketing personnel
SRS will meet their needs
Software developers
Develop the exact functionality which is specify in SRS
document
Test engineers
SRS provide meaningful functionality for making test
templates.
User documentation writers
Understand the SRS documents well enough to be able to
write user’s manual.
Project managers
Estimate the cost easily and planning
Software Requirements Specification
1) OS – windows XP
2) Hard disk – 80 GB
3) RAM – 1 GB
4) Keyboard – Standard QWERTY keyboard
for interface
5) Mouse – Standard mouse with 2 buttons
3.1.3. Software Interface:-
Windows
Linux
3.2. Functional Requirements:-
3.2.1. Administration module:-
This module enables the user to insert,
update, view and delete the patient
information.
3.2.2. Patient module:-
PatientId,Name,Age,Sex,Address,Phone
Number,Weight
This module has following 2 sub modules:-
3.2.2.1. Inpatient module:-
PatientId,New_Case,Old_Case,Date,Deptdepe
ndingon disease,Doctor .
Updation like deletion and modification is
done
3.2.3. Lab module:-
Requirement
s
reviews
Test Requirement
Case s
generatio Validation
n technique
Prototypin
g
Cont…
2. Prototyping
- The req. can be checked using executable model of
system
3. Test case generation
- In this technique, the various tests are developed for
requirement.
- The requirement check can be carried out with:
1. Verifiability : is the req. realistically testable?
2. Comprehensibility: is the req. properly understood?
3. Traceability: is the origin of the req. clearly tested?
4. Adaptability: can the req. be changed without a large
impact on their req.?
Requirement Analysis
After req. elicitation, the req. analysis is done
Following are some principles that must be used while using
analysis methods
1. It is necessary to understand the information domain of
the problem because of which goals and objectives of the
system can be well understood.
2. Various functions that can be performed by the software
must be defined
3. Behavior of the s/w must be represented
4. The data, functions and behavioral models should depict
the information in layered manner, so that all the necessary
information can be systematically exploited
5. the analysis method should proceed in such a way that
necessary information can be easily transformed into
Modeling
It is used to represent the actual entity so that
its functionality can be understood properly
Any s/w model must be capable of representing
information of the s/w that gets transformed
within it, functions & behavior.
Types of modeling
Based on req. analysis 2 types of models are
there:
1. Functional model
2. Behavioral model
1. Functional model
Used to represent the flow of information in
any computer based system
Used to represent 3 generic functionalities:
input, process,output
When functional model is prepared the s/w
engineer focuses on problem specific functions
The basic model is prepared and over the series
of iterations more and more functional details
are provided.
In structured analysis approach the functional
modeling is done by using the data flow
2. Behavioral Model
Used to describe the overall behavior of a
system
The state transition diagram are used
The state transition diagram:
- Basically a collection of states and events
- The events cause the system to change its state
- What actions are to be taken on occurrence of
particular event