+ All Categories
Home > Documents > The Meaning Of Requirements Michael Jackson 07/10/96 By: A. Rasoolzadegan.

The Meaning Of Requirements Michael Jackson 07/10/96 By: A. Rasoolzadegan.

Date post: 21-Dec-2015
Category:
View: 244 times
Download: 1 times
Share this document with a friend
Popular Tags:
25
1 Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems L aboratory,Requirements Engineering Course, Dr. Abdollahzadeh The Meaning Of Requirements Michael Jackson 07/10/96 By: A. Rasoolzadegan
Transcript

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)

25Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh


Recommended