Documente Academic
Documente Profesional
Documente Cultură
● Establishing the overall
structure of a software system
rtm
o
l
e
r G
rconitpoler
P
aseclykegitm
n
o
©Ian Sommerville 2000
Pasycktein
mCg o
ctrl n veyo
r
Software Engineering, 6th edition. Chapter 10 Slide 14
The repository model
● Subsystems must exchange data. This may be
done in two ways:
• Shared data is held in a central database or repository and may
be accessed by all subsystems
• Each subsystem maintains its own database and passes data
explicitly to other subsystems
● When large amounts of data are to be shared, the
repository model of sharing is most commonly
used
e
sanlyign
©Ian Sommerville 2000
R
ep
o
r
t
ergna
Software Engineering, 6th edition. Chapter 10 Slide 16
Repository model characteristics
● Advantages
• Efficient way to share large amounts of data
• Subsystems need not be concerned with how data is produced
Centralised management e.g. backup, security, etc.
• Sharing model is published as the repository schema
● Disadvantages
• Subsystems must agree on a repository data model. Inevitably
a compromise
• Data evolution is difficult and expensive
• No scope for specific management policies
• Difficult to distribute efficiently
C
om
p u
trcesaioninU
©Ian Sommerville 2000
stfearc hF
anu
ldter
Software Engineering, 6th edition. Chapter 10 Slide 26
Eventdriven systems
● Driven by externally generated events where the
timing of the event is outwith the control of the
subsystems which process the event
● Two principal eventdriven models
• Broadcast models. An event is broadcast to all subsystems.
Any subsystem which can handle the event may do so
• Interruptdriven models. Used in realtime systems where
interrupts are detected by an interrupt handler and passed to
some other component for processing
● Other event driven models include spreadsheets
and production systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 27
Broadcast model
● Effective in integrating subsystems on different
computers in a network
● Subsystems register an interest in specific
events. When these occur, control is transferred
to the subsystem which can handle the event
● Control policy is not embedded in the event and
message handler. Subsystems decide on events
of interest to them
● However, subsystems don’t know if or when an
event will be handled
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 28
S
ubs1ytemS
ubs2
y
tE em
Selective broadcasting
vent and m S ubs
3yt
e
m
esage handler S
u
b
s
y
t
e
m
4
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 29
Interruptdriven systems
● Used in realtime systems where fast response to
an event is essential
● There are known interrupt types with a handler
defined for each type
● Each type is associated with a memory location
and a hardware switch causes transfer to its
handler
● Allows fast response but complex to program and
difficult to validate
idcnm
v o P
iatseoucma y m
#
nter# cpent c
i
s
a u
n
t
s
o
m
u
(
)
e
n
d
R
e
c
p
t
Pe
r
m
i
n
d
a
ye
r
(
)
t
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 34
Dataflow models
● Functional transformations process their inputs to
produce outputs
● May be referred to as a pipe and filter model (as
in UNIX shell)
● Variants of this approach are very common.
When transformations are sequential, this is a
batch sequential model which is extensively used
in data processing systems
● Not really suitable for interactive systems
im
nd Isu
eutsrpeaym e
n
tidr R
em
inders
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 36
Domainspecific architectures
● Architectural models which are specific to some
application domain
● Two types of domainspecific model
• Generic models which are abstractions from a number of real
systems and which encapsulate the principal characteristics of
these systems
• Reference models which are more abstract, idealised model.
Provide a means of information about that class of system and
of comparing different architectures
● Generic models are usually bottomup models;
Reference models are topdown models
n Sy
m
b
o
t
a
el
talacsi S
eanm
alynsticgenC
ord
eation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 39
L
e x
ianlycsaelraS yn
tlasx
e
rS
ae
m
a
n
n
l
yt
i
c
s
e
r
P
rp
e
tE
diny
ritorsyS Ab
s
ny t
r
x
tamact
e G
r
a
m
d
e
f
i
na
r
t
o
n O
p
t
i
m
ze
r
Language processing system
beolR O
u
t
d
e
f
i
n
epositryp
o
n C
o
d
e
g
e
n
r
a
tr
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 40
Reference architectures
● Reference models are derived from a study of the
application domain rather than from existing
systems
● May be used as a basis for system
implementation or to compare different systems.
It acts as a standard against which systems can be
evaluated
● OSI model is a layered model for communication
systems
ahys lcianCD
lPa
om
iuhnyiscatnions m D
a
l
i
n
P
h
y
s
c
a
Application
©Ian Sommerville 2000
edium
Software Engineering, 6th edition. Chapter 10 Slide 42
Key points
● The software architect is responsible for deriving
a structural system model, a control model and a
subsystem decomposition model
● Large systems rarely conform to a single
architectural model
● System decomposition models include repository
models, clientserver models and abstract
machine models
● Control models include centralised control and
eventdriven models
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10 Slide 43
Key points
● Modular decomposition models include dataflow
and object models
● Domain specific architectural models are
abstractions over an application domain. They
may be constructed by abstracting from existing
systems or may be idealised reference models