SE-PPT-4 Requirement Analysis
SE-PPT-4 Requirement Analysis
Software Engineering
Requirement Analysis and
Specification
Requirement
• WAP to print first N odd non-prime numbers
between given range.
• Client Needs in Mind Formal Document (SRS)
– Imprecise
– Incomplete
– Inconsistent
An SRS
• Establishes the basis for agreement
• between the client and the supplier
• on what the software product will do.
Need for SRS
An SRS
• Provides a reference for validation
• of the final product.
Need for SRS
• A high-quality SRS is a prerequisite to high-
quality software
An SRS
• Is a prerequisite to high-quality software.
– As it is Input for next phases
Need for SRS
A high-quality SRS reduces the development
cost
An SRS
• Reduces the development cost.
– Less Change & Rework Cost
Requirement Analysis
• The Requirements Phase
– Input: Thoughts (needs) in Client Minds
– Output: SRS
• Specifies What and not How
Ideas/
Thoughts
in Client SRS (Formal)
Mind
(Informal)
Requirement Analysis
• Process (3 basic activities)
– Requirement (Problem) Analysis
• Understanding the problem
• What is needed
– Requirement Specification
• Specify/Organizing the requirements in a document
• Representation, Specification Language, Tools (Issues)
– Requirement Validation
• Complete, Correct, Consistent
Requirement Analysis
Iterative Process
• Methods
– Interview
– Questionnaire
– Record Inspection
– Observation
Problem Analysis
• The analysts have to ensure that the real
needs of the clients are uncovered even if
they don’t know
– Not just collecting and organizing
– But, act as a Consultants
– Must “get in the shoes” of the clients and users
• Means they should acquire sufficient domain
knowledge
Problem Analysis
• Issues
• How To obtain the necessary information
– sources and methods
• How To organize the information obtained
– To check for completeness and consistency
• To check consistency in final specifications
– To resolve contradictions
• To avoid internal design
– Focus on what
• Logical DFD
– Second step
• PSL/PSA
– Problem Statement Language
– Problem Statement Analyzer
Prototyping
• Partial implementation of system to get better
understanding
• Requirements
– Known
• Clear (Well understood)
– Stable vs. Unstable
• Unclear (Poorly understood)
– Critical to Design vs. Not Critical
– Unknown
Prototyping
• Two Approaches
– Throwaway (Unclear Requirements)
• Suitable if unclear requirements (critical) are more
– Evolutionary (Clear Requirements)
• Two Types
– Horizontal – e.g. to check GUI
– Vertical – e.g., if all logic of one module is
implemented
Prototyping
• Whether to go for Prototype?
• Cost is 10% of Development
– but mostly not additional as it saves Development
Cost and Change and Rework associated cost
Requirement Specification
• Requirement Analysis
• Requirement Specification
• V&V (Verification & Validation)