CHAPTER 3 Software Requirements
CHAPTER 3 Software Requirements
Software Requirements
Software Requirements
Introduction to Functional and Non-Functional Requirements
Requirements Engineering Activities
Eliciting Requirements
Requirements Modeling
Requirements Validation
Software Requirements Specification (SRS) Document
Requirements Management
Requirements Modeling
Functional and Non-Functional Requirements
Functional Requirements:
* These are statements of services the system should provide
=> how the system should react to particular inputs and
=> how the system should behave in particular situations
* In some cases, the functional requirements may also explicitly state
=> What the system should not do
* The functional requirements definition of a system should be both
=> Complete [i.e. It means that all services required by the user should be
Defined ]
=> Consistent [i.e. it means that requirements should not have
contradictory definitions ]
Functional and Non-Functional Requirements
Non – Functional Requirements:
* These are constraints on the services (Or) functions offered by the
system
* They include
=> Timing Constraints
=> Constraint on development process
=> Standards and so on…
(i)Product Requirements:
* These requirements results from the need for the
delivered product, to behave in a particular way
Example:
* Requirements on how fast the system must
execute and how much memory it requires
* Reliability Requirements [i.e. acceptable failure
rate]
Portability Requirements
(ii)
Organizational Requirements:
* These requirements are consequence of
organizational policies and procedures
Example:
* Implementation requirements such as
programming language (Or) design method used
* Delivery Requirements which specify when the
product and its documentation to be delivered
(iii) External Requirements:
* This requirements arise from factors external to
the system and its development process
Example:
* Interoperability Requirements which specify how
the system interacts with systems in other
organizations
* Legislative Requirements, which ensure that the
system operates within the law
Requirements engineering processes
Requirements Elicitation
Requirements Specification
Requirements Validation
System Requirements Document
Requirements elicitation and analysis
Requirements Discovery
Requirements classification and organization
Requirements prioritization and negotiation
Requirements specification
Requirements elicitation and analysis
Interviewing is the one of the Method to gather requirements
1. Requirements identification
2. A change management process
3. Traceability policies
4. Tool support
Software Requirements Specification(SRS)
Check the Word Document….
Requirements analysis
data, human
elements analysis
model
Software
design application
model
architecture,
user interface,
component-
level structure
Three objectives of requirements:
• To describe what the customer requires
• To establish a basis for the creation of a
software design
• To define a set of requirements that can be
validated once the software is built
Coming up: Elements of the Analysis
Model 15
Rules of Thumb
The model should focus on requirements that are visible
within the problem or business domain. The level of
abstraction should be relatively high.
Each element of the analysis model should add to an overall
understanding of software requirements and provide insight
into the information domain, function and behavior of the
system.
Delay consideration of infrastructure and other nonfunctional
models until design.
Be certain that the analysis model provides value to all
stakeholders.
Keep the model as simple as it can be.
Domain Analysis
Define the domain to be investigated.
Collect a representative sample of
applications in the domain.
Analyze each application in the
sample.
Develop an analysis model for the
objects.
Requirements Analysis
Results in models:
1. Scenario-based models
2. Data models (information domain for the
problem)
3. Class-oriented models
4. Flow-oriented models
5. Behavioral models (how the software
behaves according to external events)
Elements of the Analysis Model
Scenario-based
elements Flow-oriented
Use-case elements
diagrams
Data-flow
Use cases - text diagrams
Activity Diagrams Control flow
Swim lane diagrams
diagrams Analysis Processing
Model narratives
Class-based
Classelements
diagrams Behavioral
elements
State diagrams
Analysis Packages
Sequence
CRC Models diagrams
Collaboration
Diagrams
ER Diagrams
Coming up: Elements of the Analysis
Model 19
Scenario-Based Modeling
Class-based
Classelements
diagrams Behavioral
State diagrams
elements
Analysis Packages
Sequence
CRC Models diagrams
Collaboration
Diagrams
ER Diagrams
lists
materials
Class-based
Classelements
diagrams Behavioral
State diagrams
elements
Analysis Packages
Sequence
CRC Models diagrams
Collaboration
Diagrams
computer
data input based output
system
external entity
process
data flow
data store
sensor #
sensor #, type,
look-up location, age
sensor
report required data
type,
location, age
sensor number
sensor data
a b
x P y level 0
a c p2
p1
f
d p4 5 b
p3 e g
level 1
Example from
http://ldtconsultinginc.com/
are DATA!