● Managing the processes of
software system change
u
(1l
t
r
e
p
7
%
)a
i
r
ri)oenFun
tmc
iad o
n
a
lo(6f5%
i) ortny
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 12
S
pecifR
aeltiaosneSt
a
r I
m
p
lem n ti
o
n
Spiral maintenance model
OpraR
1
tieolnase 32Validation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 13
Maintenance costs
● Usually greater than development costs (2* to
100* depending on the application)
● Affected by both technical and nontechnical
factors
● Increases as software is maintained.
Maintenance corrupts the software structure so
makes further maintenance more difficult.
● Ageing software can have high support costs
(e.g. old languages, compilers etc.)
0
evlopm 50 1
01
5
0
2
ent costM0 250 303
ainteance ost
©Ian Sommerville 2000
5
0
4
04
5
0
50
Software Engineering, 6th edition. Chapter 27 Slide 15
Maintenance cost factors
● Team stability
• Maintenance costs are reduced if the same staff are involved with
them for some time
● Contractual responsibility
• The developers of a system may have no contractual responsibility
for maintenance so there is no incentive to design for future change
● Staff skills
• Maintenance staff are often inexperienced and have limited domain
knowledge
● Program age and structure
• As programs age, their structure is degraded and they become
harder to understand and change
encmC
o
rainectaiv
enc
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 18
Change requests
● Change requests are requests for system changes
from users, customers or management
● In principle, all change requests should be
carefully analysed as part of the maintenance
process and then implemented
● In practice, some change requests must be
implemented urgently
• Fault repair
• Changes to the system’s environment
• Urgently required business changes
d abrye mP
r
e
d
i
a
i
n
t
ac
t
n
g
b
i
lt
y W
h
a
t
w
i
l
b
ep
a
h
ore tsm o
i f
n t
ahe
i
n
s
x
?y
p n t
sem
iv
Pr
e
d
i
c
t
h
an
g
s
y
et
e
mP
r
m
ae
d
i
c
t
n
a
o
sn
g
c
e mW h a
i
n t
ew i
al
n
sy
cb e t
mh
o e
s
?
l i
f
oe
t
m
e
h
i
s
H orew axepstnye cdh?abnge W
qum mhoain
tv ew
irnlh bgetxhies co
yasrt?e m
of
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 23
Change prediction
● Predicting the number of changes requires and
understanding of the relationships between a
system and its environment
● Tightly coupled systems require changes
whenever the environment is changed
● Factors influencing this relationship are
• Number and complexity of system interfaces
• Number of inherently volatile system requirements
• The business processes where the system is used
UseS
r eirnvtiecrefasce
Ideal mD a t b a s e
odel fordistrbution tR D a b
eal egacy stema s e s
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 30
rA
D
Layered distribution model
P
a
tIn e
s
pelrD
v nta
lcation
d ion
tba cso
n
revicoels
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 31
Ap
lera itnvicbeaartefisocne M
Legacy system distribution
sU
rsD e Le
g
a
c
y
s
te
m D
e
s
k
t
o
p
PC c l
ie n t s
ru n ig
apli
c
a
t
i
on
idlL
eew
agarcey l asyetre (m
w
raper)
C
harcter m inals
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 32
Distribution options
● The more that is distributed from the server to the
client, the higher the costs of architectural
evolution
● The simplest distribution model is UI distribution
where only the user interface is implemented on
the server
● The most complex option is where the server
simply provides data management and application
services are implemented on the client
eC
rlievnt:: P
S
eD
rraetsvib
cnateasionSe
r
v
C
l
i
ent:
D
:
Pa
r t
e sb na s
t ae i
o n
C
lient: P
resntaion ID nat vclda ctiontrolIncrID
n
tdaes ern
aS figvc recsoldta ctiontrol
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 34
User interface distribution
● UI distribution takes advantage of the local
processing power on PCs to implement a
graphical user interface
● Where there is a clear separation between the UI
and the application then the legacy system can be
modified to distribute the UI
● Otherwise, screen management middleware can
translate text interfaces to graphical interfaces