… any program is a model of a model within a
theory of a model of an abstraction of some portion of
the world or of some universe of discourse.
–Manny Lehman
Programs, Life Cycles, and Laws of Evolution. 1980
Slide 4
Slide 4 text
Lehman's categories of software system
S-type formally defined by and derivable from a specification
P-type solves a real-world problem but does not affect the world it models
E-type embedded in the world it models; its operation changes that world
Slide 5
Slide 5 text
E-type Systems
Slide 6
Slide 6 text
Deploying the system
changes what it must do
Slide 7
Slide 7 text
The system is only useful if you
can change what it does
Slide 8
Slide 8 text
The way you change the system
is part of the system
Slide 9
Slide 9 text
The tests of the system
are part of the system
Slide 10
Slide 10 text
The people who change the system
are part of the system
Slide 11
Slide 11 text
The system is part of the organisational
system that directs its evolution
Slide 12
Slide 12 text
Changing how the organisation
delivers the system
is a delivery of the system