Beruflich Dokumente
Kultur Dokumente
Lecture 2: Basics of RE
Last Week:
INTRO
Syllabus
Requirements Engineering: Course Goals
Literature on RE
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
2000-2003, Steve Easterbrook 2000-2003, Steve Easterbrook Refs: Brooks 1987, Boehm 1981, Lutz 1993
3 4
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
Validation
Correspondence
Problem
...Requirements Engineering is the branch of systems engineering concerned
Attain agreement on the
Verification
Statement
Correctness
with real-world goals for, services provided by, and constraints on software nature of the problem
systems. Requirements Engineering is also concerned with the relationship of validation, conflict resolution,
these factors to precise specifications of system behaviour and to their negotiation
evolution over time and across system families... [Zave94] requirements management -
maintain the agreement!
... RE is concerned with identifying the purpose of a software system, and Implementation
the contexts in which it will be used. Hence, RE acts as the bridge between Statement
the real world needs of users, customers, and other constituencies affected
by a software system, and the capabilities and opportunities afforded by
software-intensive technologies. [RE01 CfP]
System
2000-2003, Steve Easterbrook 2000-2003, Steve Easterbrook Source: Adapted from Loucopoulos & Karakostas, 1995, p20 and Blum, 1992
5 6
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
S + D imply R S + D imply R
But what if the domain model is wrong? But what if the domain assumptions are wrong?
A definition Definitions:
gives a formal definition of a term that may be used in other descriptions mother(x,m) Parent(x,m) and Female(m)
Note: definitions can be more or less useful, but never right or wrong.
sister(x,y) Female(x) and mother(x,m) and mother(y,m) and
A refutable description father(x,f) and father (y,f)
states some property of a domain that could in principle be refuted
Might not be practical to refute it, but refutation should be conceivable
Refutable Description:
For all m and x, Parent(x, p) implies not(Parent(m, p))
Refutability depends on an appeal to the designated phenomena of the
domain being described A rough sketch
A rough sketch Everyones related somehow
is a tentative description that is being developed
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
What is a system?
can you RAIN, RAIN Definition of a System:
stop the GO AWAY! Some part of reality that can be observed to interact with its environment
RAIN? Separated from its environment by a boundary
A system receives inputs from the environment & send outputs to the environment
A system usually have subsystems
Systems that endure have a control mechanism
Systems have interesting emergent properties
Examples:
cars, cities, houseplants, rocks, spacecraft, buildings, weather,...
operating systems, DBMS, the internet, an organization
Non-examples (there arent many!):
numbers, truth values, letters.
its what is it you A closed system doesnt interact with its environment (there arent many!)
snowing! really want?
Systems might have no physical existence
Only manifestations are symbolic/analogical representations of the system
Such systems are social constructs: they exist because we agree on ways to
observe them
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
Examples:
All human activity systems Next Week:
(what else?) Elicitation (II)
Cognitive approaches
Contextual approaches
Ethnography
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
possible links
Descriptions may be inaccurate rationalizations of expert behaviour 50
Limited Observability 40
The problem owners might be too busy solving it using the existing system 30
Presence of an observer may change the problem 20
E.g. the Probe Effect and the Hawthorne Effect
10
Bias 0
People may not be free to tell you what you need to know
major
financial
s/w div
of h/w co.
manuf. of
medium
CASE tool
manuf.
major
prog. env.
s/w devel.
s/w devel.
company
company
hotel chain
elec. goods
beverage co.
UNIX tool
office
developer
auto. devel
airline
a telecoms
tool devel.
large comp.
software
supplier
developer
P1 P2 P3 P5 P8 P9 P10 P11 C1 C2 C3 C4 C5 C6
Political climate & organisational factors matter
People may not want to tell you what you need to know Company
The outcome will affect them, so they may try to influence you (hidden agendas)
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
Categories Disadvantages
Most conventional approaches assume preexisting categories Extremely time consuming!
This may mislead the observer (appropriation) Resulting rich picture is hard to analyze
Ethnography attempts to use the subjects own categories Cannot say much about the results of proposed changes
Related to postmodern deconstruction: there is no grand narrative
Watch for
Measurement going native!
No scientific objectivity, so use the subjects own measurement theory
Modern Post-Modern
societies are based on
local language games and
cannot be unified or neatly
allow for
divided into parts
assume a multiple views Pluralistic
single within society
objective Unitary
reality
Divisive Cooperative