Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Next
Next Week:
Week: “… Application of scientific knowledge …”
Project
ProjectStarting
Startingpoints:
points: ! Systematic application of analytical techniques
{Stakeholders,
{Stakeholders, Boundaries,
Boundaries,
Goals,
Goals,Scenarios,
Scenarios,Risks}
Risks}
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
Level of abstraction
! a process of stepwise refinement system system
! largely a high level management requirements integration
requirements view
integrate
time
Release 1
Incremental development
design code test integrate O&M
(each release adds more
Preliminary design build evaluate release 2
functionality)
Requirements
requirements prototype prototype prototype design code test integrate O&M
release 3
design code test integrate O&M
version 1
! Prototyping is used for:
reqts design code test integrate O&M
! understanding the requirements for the user interface
! examining feasibility of a proposed design approach lessons learnt
version 2
! exploring system performance issues
reqts design code test integrate O&M
! Problems: lessons learnt
! users treat the prototype as the solution Evolutionary development version 3
! a prototype is only a partial specification (each version incorporates reqts design code test integrate
new requirements)
© 2000-2004, Steve Easterbrook 13 © 2000-2004, Steve Easterbrook 14
Source: Adapted from Dorfman, 1997, p10
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
ysi
es
" cards
Con
3
3
es
ri limited use
na
aint
s2 ana sk " On-site
" On-site customer
customer representative
representative
tiv
er
es
ive -
alt
is ! Pair
! Pair Programming
Programming
at ern
tiv
er
na ints risk 2
s2
analysi
alt stra ! Small
Small releases
releases
Al
ire
i r e ar
nt
aile
operation "
w
r e soft
ycle
Weaknesses
sig e
at
at the
the beginning
beginning of
of each
each release
det
release
des
plan
de war
dev !
qu
elo
n
! Write
Write test
test cases
cases before
before code
ft
int
egr pla
n valid ents ! The
! The program
program code
code is
is the
the design
design doc
doc
" Code can be hard to maintain
ati irem
de
Collect
User stories
Specification
Planning
Each cycle: game
Release
approx 2 weeks complete Agreement
integrate personal
view
test vague
Representation
informal semi-formal formal
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
Inquiry Cycle
Note similarity with
Prior Knowledge Process of scientific can you RAIN, RAIN
(e.g. customer feedback) Investigation: stop the GO AWAY!
Requirements models are
RAIN?
Initial hypothesis theories about the world;
Designs are tests of those
theories
Observe
(what is wrong with
the current system?)
Look for anomalies - what can’t
the current theory explain?
Model …it’s what is it you
Intervene really want?
(describe/explain the snowing!
(replace the old system)
observed problems)
Carry out the Design experiments to Create/refine
experiments test the new theory a better theory
Design
(invent a better system)
! Engineering Projects
! You cannot control that which you cannot measure Systems Thinking
" …and many important measures are derived from initial problem analysis
! Constraints:
" Is there a customer?
" Existing system / existing components / existing product family
! Project Lifecycles
! Useful for comparing projects in general terms
! Represent different philosophies in software development
! Requirements evolve through their own lifecycles too!
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
! But sometimes neither of these work: ! For complex systems, this is not possible
! Systems that are too interconnected to be broken into parts ! Cannot fully eliminate the observer
! Behaviour that is not random enough for statistical analysis " E.g. Probe effect - measuring something often changes it
" E.g. Hawthorne effect - people react to being studied
! General systems theory ! Our observations biased by past experience
! Originally developed for biological systems: " We look for familiar patterns to make sense of complex phenomena
" E.g. to understand the human body, and the phenomena of ‘life’ " E.g. try describing someone’s accent
! Basic ideas:
" Treat inter-related phenomena as a system
! Achieving objectivity in systems thinking
" Study the relationships between the pieces and the system as a whole ! Study the relationship between observer and observations
" Don’t worry if we don’t fully understand each piece ! Look for observations that make sense from many perspectives
Current
" The set of categories we use for understanding the world
" The language we develop for describing what we observe
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
Uses Uses
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
! Living systems
! Special kind of open system that can preserve its identity and reproduce
" Also known as “neg-entropy” systems
! E.g. biological systems
" Reproduction according to DNA instructions
! E.g. Social systems
" Rules of social interaction act as a kind of DNA
University of Toronto Department of Computer Science University of Toronto Department of Computer Science
Subscriber’s
Analysis of repair Wires, connectors,
problems receivers household phone Telephone calls.
interrupts system
! Discrete vs continuous
! a discrete system:
" the states can be represented using natural numbers
! a continuous system:
" state can only be represented using real numbers
! a hybrid system:
" some aspects of state can be represented using natural numbers
! Observability
! the state space is defined in terms of the observable behavior
! the perspective of the observer determines which states are observable