Professional Documents
Culture Documents
CH 7
CH 7
● Abstract descriptions of
systems whose requirements
are being analysed
csoyutm er M asinytem
ance U
s
a
g
e
d
t
b
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 9
Process models
● Process models show the overall process and the
processes that are supported by the system
● Data flow models may be used to show the
processes and the flow of information from one
process to another
iS
u p sp
m
e
n
c
.t
ldatbaiser suF Su
p
l
ie
r
l
i
s
t
ipnlders sCh
os
u
est
m
el
i
e
r
a
t
uplirBO
rd d n o
e O
t
i
f rd
e
c
a
t
i
o
P
e
q
u
o n
l
ia
p
m
r
dc
en t I
e
q
u n
is
pta
l
m I
i
en
ns
t
a
l
r
u
c
tt
i
o
n
s
len
tfakrilm
os +
rsigC
h
e
c k d A
d
e
nd oreanfodrmqum c
l
iv e
p
r I
ac
t
d
ns
a
l
e
pt
i
o
n
c
e
E
q u
idatpbm Equ
i
p
m
d
e
t
a
easnte
n
t
l
s
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 11
Behavioural models
● Behavioural models are used to describe the
overall behaviour of a system
● Two types of behavioural model are shown here
• Data processing models that show how data is processed as it
moves through the system
• State machine models that show the systems response to events
● Both of these models are required for a
description of the system’s behaviour
idgn
e fodrm a
dO
r
d
e
m
o
u
n
c
e
t
i
lt
s
O rfd
eilsB ufidlget
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 14
Data flow diagrams
● DFDs model the system from a functional
perspective
● Tracking and documenting how the data
associated with a process is helpful to develop an
overall understanding of the system
● Data flow diagrams may also be used in showing
the data exchange between a system and other
systems in its environment
ogden skrealtroncodedD
eatsbigane
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 16
State machine models
● These model the behaviour of the system in
response to external and internal events
● They show the system’s responses to stimuli so
are often used for modelling realtime systems
● State machine models show system states as
nodes and events as arcs between these nodes.
When an event occurs, the system moves from
one state to another
● Statecharts are an integral part of the UML
pow
er d e pH
o wa lf
ep
rF
u
o
wl
e
r
T
id
o
m
e
r:
x S
ige t
s i
n m
u te b
r
cD
o
r
l
s
e
d O
p
e
r
a
t
d
o
:
vi
o
n
eC
a
nc
e
l
H a
l o:=
fs3e t0pow
erD Dpoe nrcDlo
r
s
edE
n
a
d
o
:
d
'
RS
b
l
e
d
i
s
p
at
a
r
y
' D
o
r
p
e
n W
a
d
o
:
i
t
n
g
d
s
p
l
a
m
ey
©Ian Sommerville 2000
ido:'W
s dabp
ltinedgy'
Software Engineering, 6th edition. Chapter 7 Slide 18
Microwave oven state description
f
a
ul
pnltayD d
oD
o
:
b
u
fzn
5er
o
n
s
c
.
D
©Ian Sommerville 2000
isabled W o
p
er
naitng C
a
n
ce
l
Software Engineering, 6th edition. Chapter 7 Slide 22
Semantic data models
● Used to describe the logical structure of data
processed by the system
● Entityrelationattribute model sets out the
entities in the system, the relationships between
these entities and the entity attributes
● Widely used in database design. Can readily be
implemented using relational databases
● No specific notation provided in the UML but
objects and associations can be used
tyn
o
d
e
a
m
p1
2 h a
s
l
i
nl
i
n
k
s
k
s n
1L
i
n
k
a
m
e
t
y
pn
1
haslbelsnntiecL
axom
beln 1
h
a
s
l
b
e
l
s
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 24
Data dictionaries
● Data dictionaries are lists of all of the names used
in the system models. Descriptions of the entities,
relationships and attributes are also included
● Advantages
• Support name management and avoid duplication
• Store of organisational knowledge linking analysis, design and
implementation
● Many CASE workbenches support data
dictionaries
lTPu b
iitlesrhed item T MR
e
c
o
i
t
l
d
ur
d
e
mi
t
em
Au
tE
d
iPh
b
lISB
o
r
nk
on date P
c
a
tB
iN Y
IseM
a
g
z
a
r
ui
n
e D i
ar
se c
tF
o
f
bi
l
m
r
e
a
us
e V
e rsC
p
io
m
p
u
t
e
r
g
a
m
n
latfomr
P
RL
iN
aA
m
d
h
o
g
iD b
e
nrsa y us
tesrea (io)rn #er
A Read
r
filtion S ItafM
team Bor wer
xs. nlsanS
User class hierarchy
D eparm
en phoneM a
jH
o
rm tude n
t
esabjrcs
Multiple inheritance
● Rather than inheriting the attributes and services
from a single parent class, a system which
supports multiple inheritance allows object
classes to inherit from several superclasses
● Can lead to semantic conflicts where
attributes/services with the same name in
different superclasses have different semantics
● Makes class hierarchy reorganisation more
complex
h
b
lISB
o
r
n
c
a
tB
iNk
on dateR V
S
p
D
uo
i
a
rc
e
r
k
t
i
oc
nordin
g
ecdg date
©Ian Sommerville 2000
T a
l# pkeisng bok
Software Engineering, 6th edition. Chapter 7 Slide 34
Object aggregation
● Aggregation model shows how classes which are
collections are composed of other classes
● Similar to the partof relationship in semantic
data models
iAscIeuppet llaiycenIsue licen
©Ian Sommerville 2000
Deliver C
o
mp
r
e
s
Software Engineering, 6th edition. Chapter 7 Slide 38
CASE workbenches
● A coherent set of tools that is designed to support
related software process activities such as
analysis, design or testing
● Analysis and design workbenches support system
modelling during both requirements engineering
and system design
● These workbenches may support a specific design
method or may provide support for a creating
several different types of system model
a d
l tos facils
©Ian Sommerville 2000
c h e k ly
ns
i
g I
mpo rt
/
e x po
r
t
Software Engineering, 6th edition. Chapter 7 Slide 40
Analysis workbench components
● Diagram editors
● Model analysis and checking tools
● Repository and associated query language
● Data dictionary
● Report definition and generation tools
● Forms definition tools
● Import/export translators
● Code generation tools