Beruflich Dokumente
Kultur Dokumente
SOFTWARE ENGINEERING
Ian Sommerville
Lancaster University
The 1960s
n 1961-1963
u New hardware
technology
n 1963 -1968
u The emerging
software crisis
n 1968, 1970
u The birth of
software
engineering
3
The 1970s
n Structured programming
n Types and type checking
n System modelling
n Testing techniques
n Inspections and reviews
n Configuration management
6
Is there still a software crisis?
n Responsiveness
u Businesses must
continually respond to
their changing
environment
n Openness
u Centralised IT is no longer
viable -
n Global competition
u Competitive pressures are
changing the nature of
software
8
Rapid software development
Heterogeneous systems
n Adaptiveness
u Software must be
adaptive to respond to
rapid business change
n Resilience
u Software must be resilient
to cope with change
n Adequacy
u Software must be ‘good
enough’ for its purpose
11
Technical challenges
n New techniques of
software development
n New types of
architecture for software
systems
n New methods of
evaluating software
technology innovation
12
Measurement
n Underpinning all
successful engineering
innovations is the
notion of measurement
- you can objectively
assess if a tool or
technique is effective
13
William Thomson
(Lord Kelvin)
1824 -1907
The ultimate empiricist?
15
Software measurement
n Measurement of products
or systems is absolutely
fundamental to the
engineering process.
n I am convinced that
measurement as practised
in other engineering
disciplines is IMPOSSIBLE
for software engineering
16
Software engineering is different!
17
System categories
n Natural systems
u People, rainfall, bodies in
motion
n Designed physical systems
u Hammers, engines, rockets
n Designed abstract systems
u Mathematics, systems theory,
software
n Human-activity systems
u Software development, research
18
Human-activity systems
19
n Patients
u Convenient hospital
appointments
n Administrators
u Reduced administration
costs
n Doctors
u Improved patient care
20
Designed physical systems
21
Natural system
Constrains
Designs
Traditional Designed physical
Engineering system
Supports
Human-activity
system
Traditional measurement
23
n Attributes to assess
effectiveness of new
techniques are drawn from
natural systems and are
universally agreed
u Higher performance
u Lower weight / size
n These can be related to the
requirements of the human
activity system
24
Software engineering
25
Designs
Software Designed abstract
Engineering system
Supports
Human-activity
system
Software measurement
27
Consequences
28
Laboratory experiments
Usability
n The fundamental concepts
and organisation of a
method and tool profoundly
affect its usability
n If these are inherently alien
to the final end-users then
any assessment of the
functionality of the tool is
meaningless
30
Software experimentation
31
Research challenges
33
34