Lecture 04
Lecture 04
Requirements Engineering
1
30/10/2014
Requirements engineering
• A software requirement
• Is condition or capability needed by a user to solve a
problem or achieve an objective
• must be met or possessed by a system or system
component to satisfy a contract, standard, specification, or
other formally imposed document.
2
30/10/2014
Requirements engineering
• Requirements Engineering
• is a systematic way of developing requirements through
• iterative process of analyzing a problem
• documenting the resulting observations, and
• checking the accuracy of the understanding gained.
3
Requirements engineering
• 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.
30/10/2014
6
Readers of different types of requirements 30/10/2014
specification
7
System stakeholders
10
Functional and non-functional requirements
11
30/10/2014
• 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.
12
30/10/2014
• 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.
13
30/10/2014
Functional requirements
14
30/10/2014
• The system shall generate each day, for each clinic, a list of
patients who are expected to attend appointments that day.
15
30/10/2014
Non-functional requirements
16
30/10/2014
17
30/10/2014
18
30/10/2014
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.
19
Examples of nonfunctional requirements in the 30/10/2014
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.
20
30/10/2014
• Goal
• A general intention of the user such as ease of use.
• Goals are helpful to developers as they convey the intentions of the system
users.
21
30/10/2014
Usability requirements
• Medical staff shall be able to use all the system functions after
four hours of training. After this training, the average number
of errors made by experienced users shall not exceed two per
hour of system use. (Testable non-functional requirement)
22
Metrics for specifying nonfunctional 30/10/2014
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
23