Professional Documents
Culture Documents
CH 11
CH 11
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide1
Objectives
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide2
Topics covered
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide3
Software architecture
The design process for identifying the subsystems making up a system and the
framework for sub-system control and
communication is architectural design.
The output of this design process is a
description of the software architecture.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide4
Architectural design
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide5
Stakeholder communication
System analysis
Large-scale reuse
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide6
Performance
Security
Availability
Safety
Maintainability
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide7
Architectural conflicts
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide8
System structuring
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide9
iidentifi
V
sion
system
Objec
Ar
m
Gri
tion
cont
oller
con
olle
system
P
iselec
a
g
ng
cka
syste
P
a
ckin
Con
v
e
or
y
syste
con
olle
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide10
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide11
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide12
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide13
Architecture reuse
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide14
Architectural styles
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide15
Architectural models
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide16
System organisation
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide17
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide18
Desi
Co
edit
gen
a
t
or
Desig
Pr
ojec
Pr
o
g
r
a
tr
ansla
tor
r
e
po
ed
Des
R
e
t
p
anal
yser
gen
aor
CASE toolset architecture
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide19
Advantages
Disadvantages
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide20
Client-server model
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide21
Clien
Clien
Clie
Cl
Inte
Ca
talo
gue
V
i
deo
Pic
e
W
e
e
b
serv
er
serv
er
ser
er
Dig
itis
ed
Film
Librar
Fi
pho
g
ra
pph
h
files
ca
talo
gue
Film and picture library
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide22
Client-server characteristics
Advantages
Disadvantages
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide23
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide24
Confi
Obje
Data
Ope
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide25
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide26
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide27
Modular decomposition
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide28
Object models
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide29
Custo
R
e
c
custo
in
v
o
i
name
da
te
ad
dr
ess
am
In
v
o
ice
cr
edit
cu
p
in
v
o
ice
da
te
amo
cust
P
a
y
men
issu
sen
in
v
o
ice#
acce
a
y
m
da
te
amou
custo
Invoice processing system
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide30
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide31
Function-oriented pipelining
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide32
Issue
R
e
ce
r
e
cei
R
e
ad
Identi
iss
in
v
o
pa
ices
ymen
Find
Issu
pa
yme
pa
ym
R
e
m
due
r
e
m
In
v
oP
a
ices
ymen
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide33
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide34
Control styles
Event-based control
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide35
Centralised control
Manager model
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide36
Mai
pr
o
g
r
a
m
R
o
R
utin
o
R
ut
o
u
R
oR
o
utin
utin
R
oR
o
uu
Call-return model
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide37
Sens
Ac
to
pr
oces
pr
oc
S
y
ste
con
olle
Comp
tion
Use
F
a
u
pr
oces
inte
fac
ha
Real-time system control
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide38
Event-driven systems
Broadcast models. An event is broadcast to all subsystems. Any sub-system which can handle the event
may do so;
Interrupt-driven models. Used in real-time systems where
interrupts are detected by an interrupt handler and
passed to some other component for processing.
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide39
Broadcast model
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide40
Sub-s
Sub
Sub
Su
1Ev
2
3
4
ent
ge
Selective broadcasting
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide41
Interrupt-driven systems
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide42
Inte
Interr
v
e
ctor
Hand
Hand
Han
Ha
1
2
3
4
Pr
ocess
Pr
oces
Pr
oce
Pr
oc
1234
Interrupt-driven control
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide43
Reference architectures
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide44
Reference architectures
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide45
7
A
p
tion
plic
A
p
tio
p
6
Pr
esen
Pr
es
5
Sess
Se
4
T
r
a
t
nsp
T
r
a
t
n
3
Netw
or
k
Net
or
k
Ne
or
k
2
Da
ta
Da
ta
Da
lin
ta
l
1Ph
ysica
Ph
ysic
Ph
ys
Com
unic
tion
OSI reference model
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide46
Messaging services
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide47
Da
Dat
rat
T
o
ol
slots
T
a
sk
M
User
face
s
The ECMA reference model
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide48
Key points
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide49
Key points
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide50
Architectural models
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide51
Architecture attributes
Performance
Security
Availability
Safety
Maintainability
IanSommerville2004
SoftwareEngineering,7thedition.Chapter11Slide52