1Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
The Meaning Of Requirements
Michael Jackson07/10/96
By: A. Rasoolzadegan
2Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Abstract
In this paper we are concerned with functional requirements Requirements are located in environment, which is distinguished
from the machine to be built Explains a distinction between requirements and specifications
A specification is a restricted form of requirement, providing enough information for the implementer to build the machine without further
environment knowledge Requirements appropriate description needs an appropriate
structure for our description which consider the distinction between: The machine and the environment
Indicatives description and optative descriptions
3Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Abstract (cont..)
Discusses techniques of formalizing and describing requirements in away that allows them to be
More clearly expressed More easily understood and validated
Formalization is a fundamental problem of requirement engineering Most environments are parts of the physical world (informal)
Mentioned techniques to formalize: Designations + Definition + Assertion
Purposes: Create a narrow bridge between the environment and its description in
the requirements Obtained a sufficiently faithful approximation to the informal reality
4Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Introduction
The Importance of Requirements A Concept of Requirements The Machine and the Environment Shared Phenomena
5Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
The importance of Req.
Failures reasons of systems:1. relatively straightforward programming errors2. mismatch between the designed behavior of the computer part of the
system and the effects in the environment The computer hardware may perform correctly, and the software may
satisfy its specification; but the results are not what was intended, and maybe disastrous
second kind of failure’s reasons: Errors in system requirements engineering req. of the systems are
not correctly identified Imprecisely expressed based on faulty reasoning about the env. Based on faulty approximations to the reality of the phenomena and
properties of the env.
6Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
A concept of Requirements
Some requirements are often excluded from the corpus of functional requirements for no better reason than the technical difficulty of treating them in a sufficiently formal way (nonfunctional requirements)
An example of a requirement If passenger in the lift presses the open-doors button while the
lift is stationary at a floor, the doors should begin to open within 0.5 secs.
7Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
The machine and Environment
The requirements do not directly concern the machine, they concern the environment into which it will be installed The environment is the part of the world with which the machine will interact, in which the effects of the machine
will be observed and evaluated Example
Machine: Lift-control system Environment: floors served, lift shaft, motor, doors and etc.
Environment: what is given Machine: what is to be constructed
8Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Shared Phenomena
The machine can affect, and be affected by, the environment only because they have some shared phenomena in common (events and states)
Example in the lift system Shared event: turn-motor-on (between motor and machine) Shared state: up-sensor-2-on (between a sensor located in the lift at
floor 2 and machine’s store) In considering shared phenomena, it is essential to distinguish
between those that are controlled by the machine and those that are controlled by the environment turn-motor-on event is controlled by machine up-sensor-2-on state is controlled by environment
9Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Reqs and Env. Properties
Requirements Are in the Environment Optative and Indicative Why Env. Assertions Are Necessary Requirements and Specifications The Nature of a specification
10Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Reqs Are in the Env.
Reqs are conditions over the events and states of the env. Example:
The customer for the lift control system requires that when a button is pressed the lift should come to the floor as requested
Requirements are phenomena of the environment (either are shared with the machine or not )
How can the machine ensure satisfaction of a requirement that concern private phenomena of the environment, in
which it does not participate?
The Environment
The Machine
Machine behaviour is about these shared phenomena only
Requirements are typically about these private phenomena
Environment properties relate all of these shared and private phenomena, and so relate the requirements to the machine bahaviour
11Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Reqs Are in the Env. (cont..)
Example: in the lift system Given properties of the env.
If the lift motor is switched on while its polarity is set in the upwards sense, the car will start to rise within 0.2 seconds
When the lift car is at any point between -8.25 inches and +0.25 inch of a floor position, the up-sensor at that floor is on
If the lift motor is switched off while it is raising the car, the car will halt after rising a further 8 inches
By virtue of these properties, the machine can cause the car to rise to a floor by controlling and sensing shared phenomena
The machine sets the motor polarity upwards and switches the motor on, then waits until the up-sensor at the floor flips on, then switches the motor off.
12Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Optative and Indicative
The full description of a requirement consists of at least two parts:
We must describe the requirement itself The desired condition over the phenomena of the environment (optative) guaranteed by the machine
We must also describe the given properties of the environment (indicative) guaranteed by the env.
(environment assertions) By virtue of which it will be possible for a machine,
participating only in the shared phenomena, to ensure that the req. is satisfied
13Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Why Env. Assertions Are Necessary
A vital way of obtaining the necessary understanding of the env. In which the customer requirements are located
To show that the requirement is satisfiable by some machine It may be that the env. does not embody enough constraints
and enough causal chains to connect the shared phenomena appropriately to the phenomena that are of direct interest to the customer
“If a passenger in the lift requests travel to a floor, but then leaves the lift before that floor is reached, the request should be cancelled”
14Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Requirements and Specifications
To show that the reqs are satisfiable by some machine we derive a specification S of the
machine (optative description) If a machine whose behaviour satisfies S is
installed in the environment and the environment has the properties described in £, then the
environment will exhibit the properties described in R:
£ , S ├ R Or £ ∧ S R
15Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
The Nature of a specification
A specification forms a bridge between requirements engineering which is concerned with the environment, and software engineering, which is concerned with the
machine A spec. allows reqs engineers to reason about the req. and
its satisfaction in the environment, without mentioning the properties of the machine
It also allows programmers to reason about the software and its adequacy for its purpose without mentioning either the
env. properties or the customer’s req.
16Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Description and the Env.
Formalization and Informal Environments Ground Terms Designations The Use of Definition The Discipline of Designation and Definition
17Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Formalization and Informal Environments
The environment is usually a part of the physical world that has not been formalized
We normally speak of it in natural language, with all its attendant ambiguities and uncertainties
The informal nature of the env. presents fundamental difficulty to formalize the requirements
18Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Ground Terms
The first need is to establish an adequate set of ground terms for our descriptions
Example: in human biological relationships we can defined all words such as: mother, father, uncle, brother, aunt, niece,
grand daughter, second cousin and etc with just a sufficient set of ground term such as {male, female, parent}
In req. description use only those phenomena as ground terms that admit sufficiently reliable and unambiguous
recognition
19Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
overview
The importance of Requirements A concept of Requirements
How can the machine ensure satisfaction of a requirement that concern private phenomena of the environment, in which it does not
participate? Given properties of the env. + Shared Phenomena
The full description of a requirement optative machine
Indicative (environment assertions) env. Specification
Formalization: Ground terms+…
20Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Designations
An appropriate tool for explicitly made and captured the ground terms
A designation associates a formal ground term, such as a predicate, with the denoted phenomena, such as an event or entity class or a relationship over events or
entities Example:
Mother(x,y) ≈ x is the genetic mother of y We should try to write the right-hand side of
designation ,which is informal, good enough for the world as it is and as it will be during the operational
lifetime of the system
~
21Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Formal Definition
The appropriate tool to extend the terminology of our descriptions beyond the narrow confines of reliable
designations We define new terms on the basis of terms previously
designated or previously formally defined The formal definition add
nothing to the bridge between the reality and its description nor do they constitute fresh assertions about the reality
they merely provide more convenient terminology for saying what we could have said less conveniently without them
22Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Difference between designation and definition
WidgetMvmt(t,e,m) ≈ In event e a stock movement of m widgets occurs at time t
How many widgets should we have in stock?
ExpectedWidgetStock(t,s) = s = ( ∑ tm,e,m | WidgetMvmt(t,e,m) ∧ tm<t)
How many widgets do we actually have in stock?
WidgetStock(t,s) ≈ At Time t the number of widgets in the warehouse is s
~
def
~
√ t,s WidgetStock(t,s) ExpectedWidgetStock(t,s) An Assertion:
23Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Difference between designation and definition (cont..)
Designations Plane(p) ≈ p is a plane Land(e,p,t) ≈ in event e the plane p lands at time t TakeOff(e,p,t) ≈ in event e the plane p takes off at time t
Definition (Trip(i) TripPlane(∧ p,i) starttrip(∧ e,i) FinishesTrip(∧ f,i))
= (p,e,f,t1,t2 | Plane(p) TakeOff(∧ e,p,t1) Land(∧ f,p,t2) ∧ t1<t2 (¬∧ э g,t3 (Land(g,p,t3) ∧ t1<t3<t2 ) )
~
~
~
def
24Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
The Discipline of Designation and Definition
The two tools, designation and definition, underpin an essential discipline in description
Every terms used in every description must be either designated or defined
Meaning of this term must therefore be directly or indirectly grounded in reliable observation of the environment
Benefits of the discipline inhibits ambiguities in requirements description
With it we can know what our descriptions mean (precludes any misunderstanding)
Top Related