04_Ch4 Requirements Engineering (1)
04_Ch4 Requirements Engineering (1)
✓ User requirements
Written for customers.
statements in natural language + diagrams of the services the system
provides and its operational constraints.
✓ System requirements
(For) developers/contractor
detailed descriptions of the system’s functions, services and operational
constraints
✓ 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
Constraints on the system from the domain of operation
✓ Complete
They should include descriptions of all facilities
required.
✓ Consistent
There should be no conflicts or contradictions in the
descriptions of the system facilities.
✓ 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.
http://aita.gov.vn/Uploaded/file/CV%20HD%20huong%20dan%20YC%20phi%20chu
Sep 2019 c%20nang-130129.doc CHAPTER 4. REQUIREMENTS ENGINEERING 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.
✓ Goal
A general intention of the user such as ease of use.
Goal:
The system should be easy to use by
medical staff.
Non-functional requirement:
Medical staff shall be able to use all the system
functions after four hours of training.
Groups related
requirements
and organises
Prioritising
them into
requirements and
coherent
resolving conflicts
clusters
✓ Main concerns:
Stakeholders
Discovery techniques/approaches/…
✓ Observational technique
used to understand operational processes and help
derive support requirements for these processes
✓ How
A social scientist spends a considerable time
observing and analysing how people actually work.
People do not have to explain or articulate their
work.
Social and organisational factors of importance
may be observed.
✓ Notes:
User requirements have to be understandable by end-
users and customers who do not have a technical
background.
System requirements are more detailed requirements
and may include more technical information.
The requirements may be part of a contract for the
system development
✓ Problems
Lack of clarity: Precision is difficult without making the
document difficult to read.
Requirements confusion: Functional and non-functional
requirements tend to be mixed-up.
Requirements amalgamation: Several different
requirements may be expressed together.
Sep 2019 CHAPTER 4. REQUIREMENTS ENGINEERING 44
EXAMPLE REQUIREMENTS FOR THE INSULIN PUMP
SOFTWARE SYSTEM
Req 3.2. The system shall measure the blood
sugar and deliver insulin, if required, every 10
minutes.
Chapter Description
Preface define the expected readership of the document and describe
its version history
Introduction describe the need for the system, briefly describe the
system’s functions, how the system fits into the overall
business or strategic objectives
Glossary define the technical terms used in the document
User describe the services provided for the user, the nonfunctional
requirements system requirements; may use natural language, diagrams,
definition other notations that are understandable to customers; product
and process standards that must be followed
System present a high-level overview of the anticipated system
architecture architecture, the distribution of functions across system
modules
CHAPTER 4. REQUIREMENTS ENGINEERING 53
THE STRUCTURE OF A REQUIREMENTS DOCUMENT
Chapter Description
System describe the functional and nonfunctional requirements in
requirements more detail
specification
System might include graphical system models showing the
models relationships between the system components and the
system and its environment
System describe the fundamental assumptions, any anticipated
evolution changes due to hardware evolution, changing user needs,
…
Appendices provide detailed, specific information that is related to the
application being developed
Index May include several indexes to the document, a normal
alphabetic index; may be an index of diagrams, an index of
functions,…
✓ Validity.
Does the system provide the functions which best
support the customer’s needs?
✓ Consistency.
Are there any requirements conflicts?
✓ Completeness.
Are all functions required by the customer included?
✓ Realism.
Can the requirements be implemented given available
budget and technology
✓ Verifiability.
Can the requirements be checked?
CHAPTER 4. REQUIREMENTS ENGINEERING 57
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.