Professional Documents
Culture Documents
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide1
Objectives
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide2
Topics covered
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide3
Software reuse
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide4
Component reuse
Software components that implement a single welldefined object or function may be reused.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide5
Reuse benefits 1
Increased dependability
Reused software, that has been tried and tested in working systems,
should be m ore dependable than new software. The initial use of the
software reveals any design and implementation faults. These are then
fixed, thus reducing the number of failures when the software is reused.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide6
Reuse benefits 2
Standards compliance
Accelerated development
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide7
Reuse problems 1
Increased maintenance
costs
Not-invented-here
syndrome
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide8
Reuse problems 2
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide9
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide10
Des
patt
Com
App
As
fram
prod
so
Comp
C
O
T
S
Pr
ra
develo
inte
rat
ge
Lega
wrap
Con
tic
app
Servic
syste
Prog
ram
libra
The reuse landscape
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide11
Reuse approaches 1
Design patterns
Component-based
development
Application
frameworks
Legacy system
wrapping
Service-oriented
systems
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide12
Reuse approaches 2
Application product
lines
COTS integration
Configurable vertical
applications
Program libraries
Program generators
Aspect-oriented
software development
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide13
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide14
Concept reuse
Design patterns;
Generative programming.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide15
Design patterns
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide16
Pattern elements
Name
Problem description.
Solution description.
Consequences
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide17
5
0
D
A
2
C
A
B
C
D
B
0
Sub
Obse
Ob
A:
4
B:
5
2
C:
1
D:
0
Multiple displays
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide18
Name
Description
Solution description
Problem description
Observer.
Consequences
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide19
Obs
Subjec
Attach
Upd
Detach
for
al
Notify
(
o
->
Con
Concre
ob
return
Upd
GetSta
s
subject
obs
The Observer pattern
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide20
Generator-based reuse
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide21
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide22
A
p
tion
plica
Pr
o
g
r
a
a
t
m
or
Ge
a
t
o
g
r
a
e
descr
A
p
tion
pli
D
tba
kno
wle
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide23
Aspect-oriented development
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide24
Aspe
Asp
Ge
Input
Asp
<
<state
W
e
av
As
join
po
<
<state
Aspect-oriented development
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide25
Application frameworks
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide26
Framework classes
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide27
Extending frameworks
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide28
Model-view controller
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide29
User
view
Contr
V
i
e
inputs
mes
Contr
V
i
ew
M
a
n
Mode
Mod
Mod
Model-view-controller
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide30
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide31
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide32
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide33
Clie
W
e
b
b
E-m
Serv
E-com
Or
Ada
syste
inv
Ad
E-m
E-procurement system
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide34
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide35
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide36
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide37
Platform specialisation
Environment specialisation
Functional specialisation
Process specialisation
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide38
COTS configuration
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide39
Confi
plan
Ge
P
s
Confi
data
S
yst
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide40
ERP systems
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide41
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide42
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide43
Use
fac
Res
Qu
User
deli
ma
auth
Reso
Re
Res
mana
all
con
T
rReso
ans
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide44
Vehicle despatching
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide45
Com
User
face
int
fac
Rep
t
Qu
Map
Oper
gen
ma
plan
authe
Equ
V
e
Incid
hicle
V
e
h
V
e
hic
ma
mana
logg
loc
des
Inc
T
r
ans
Equip
datab
V
ehic
Ma
A despatching system
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide46
Ren
req
Elicit
Choo
stakeh
close
require
famil
Ada
D
sys
fa
Product instance development
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide47
Re-negotiate requirements
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide48
Key points
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide49
Key points
IanSommerville2004
SoftwareEngineering,7thedition.Chapter18
Slide50