250 likes | 363 Views
The Meaning Of Requirements. Michael Jackson 07/10/96 By: A. Rasoolzadegan. Abstract. In this paper we are concerned with functional requirements Requirements are located in environment , which is distinguished from the machine to be built
E N D
The Meaning Of Requirements Michael Jackson 07/10/96 By: A. Rasoolzadegan
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 Amirkabir 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 Amirkabir 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 Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
The importance of Req. • Failures reasons of systems: • relatively straightforward programming errors • 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. Amirkabir 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. Amirkabir 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 Amirkabir 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 Amirkabir 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 Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Reqs Are in the Env. Requirements are typically about these private phenomena • 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? Machine behaviour is about these shared phenomena only TheEnvironment Environment properties relate all of these shared and private phenomena, and so relate the requirements to the machine bahaviour The Machine Amirkabir 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. Amirkabir 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 Amirkabir 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” Amirkabir 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 £ , S ├ R Or Amirkabir 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. Amirkabir 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 Amirkabir 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 Amirkabir 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 Amirkabir 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 • optativemachine • Indicative (environment assertions)env. • Specification • Formalization: Ground terms+… Amirkabir 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 enoughfor the world as it is and as it will be during the operational lifetime of the system ~ Amirkabir 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 Amirkabir 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,sWidgetStock(t,s)ExpectedWidgetStock(t,s) An Assertion: Amirkabir 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 Amirkabir 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) Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh