CH 4 - Requirements Analysis
CH 4 - Requirements Analysis
Some of the slides are taken from: Prof. Gregor V. Bochmann’s Software Requirements
Analysis Course https://www.site.uottawa.ca/~bochmann/SEG3101/
4/1/2019 1
Topics covered
4/1/2019 2
Requirements engineering
4/1/2019 3
What is a requirement?
4/1/2019 4
Types of requirement
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 and contractor.
4/1/2019 5
Mentcare
7
4/1/2019
The organization of the Mentcare system
4/1/2019 8
User and system requirements
4/1/2019 9
Readers of different types of requirements
specification
4/1/2019 10
User requirements vs. System requirements
4/1/2019 11
System stakeholders
4/1/2019 12
Stakeholders in the Mentcare system
4/1/2019 13
Stakeholders in the Mentcare system
4/1/2019 14
Functional and non-functional requirements
4/1/2019 15
Functional and non-functional requirements
Functional requirements
Statements of services the system should provide, how the system should
react to particular inputs and how the system should behave in particular
situations.
May state what the system should not do.
Non-functional requirements
Constraints on the services or functions offered by the system such as
timing constraints, constraints on the development process, standards, etc.
Often apply to the system as a whole rather than individual features or
services.
Domain requirements
Domain reflects the environment in which the system operates so.
Constraints on the system from the domain of operation.
4/1/2019 16
Functional requirements
4/1/2019 17
Mentcare system: examples of functional
requirements
4/1/2019 18
Non-functional requirements
4/1/2019 19
Types of nonfunctional requirement
4/1/2019 20
Non-functional classifications
Product requirements
Requirements which specify that the delivered product must
behave in a particular way e.g. execution speed, reliability, etc.
Organisational requirements
Requirements which are a consequence of organisational
policies and procedures e.g. process standards used,
implementation requirements, etc.
External requirements
Requirements which arise from factors which are external to the
system and its development process e.g. interoperability
requirements, legislative requirements, etc.
4/1/2019 21
Examples of nonfunctional requirements in the
Mentcare system
Product requirement
The Mentcare system shall be available to all clinics during normal
working hours (Mon–Fri, 0830–17.30). Downtime within normal
working hours shall not exceed five seconds in any one day.
Organizational requirement
Users of the Mentcare system shall authenticate themselves using
their health authority identity card.
External requirement
The system shall implement patient privacy provisions as set out in
HStan-03-2006-priv.
4/1/2019 22
Usability requirements
4/1/2019 23
Metrics for specifying nonfunctional
requirements
Property Measure
Speed Processed transactions/second
User/event response time
Screen refresh time
Size Mbytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
4/1/2019 24
Requirements engineering processes
4/1/2019 25
Requirements engineering processes
4/1/2019 26
A spiral view of the requirements engineering
process
4/1/2019 27
Requirements elicitation
4/1/2019 28
Requirements elicitation and analysis
4/1/2019 29
Requirements discovery
4/1/2019 30
Interviewing
4/1/2019 32
Problems with interviews
4/1/2019 33
Stories and scenarios
4/1/2019 34
Scenarios
4/1/2019 35
Example Scenario
4/1/2019 36
Requirements specification
4/1/2019 37
Requirements specification
4/1/2019 38
Ways of writing a system requirements
specification
Notation Description
Natural language The requirements are written using numbered sentences in natural language.
Each sentence should express one requirement.
Structured natural The requirements are written in natural language on a standard form or
language template. Each field provides information about an aspect of the
requirement. (e.g. use case specification)
Graphical notations Graphical models, supplemented by text annotations, are used to define the
functional requirements for the system; UML use case and sequence
diagrams are commonly used.
Mathematical These notations are based on mathematical concepts such as finite-state
specifications machines or sets. Although these unambiguous specifications can reduce
the ambiguity in a requirements document, most customers don’t understand
a formal specification. They cannot check that it represents what they want
and are reluctant to accept it as a system contract.
4/1/2019 39
A structured specification of a requirement for
an insulin pump
4/1/2019 40
A structured specification of a requirement for
an insulin pump
4/1/2019 41
Use cases
4/1/2019 43
The software requirements document
4/1/2019 44
Users of a requirements document
4/1/2019 45
Requirements validation
4/1/2019 46
Requirements validation
4/1/2019 47
Requirements validation techniques
Requirements reviews
Systematic manual analysis of the requirements.
Prototyping
Using an executable model of the system to check requirements.
Test-case generation
Developing tests for requirements to check testability.
4/1/2019 48
Requirements change
4/1/2019 49
Requirements evolution
4/1/2019 50
Requirements change management
4/1/2019 52
4/1/2019 53
4/1/2019 54
4/1/2019 55
4/1/2019 56
Milestone 1
4/1/2019 57