You are on page 1of 43

System models


Abstract descriptions of
systems whose requirements
are being analysed

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1


Objectives

To explain why the context of a system should be
modelled as part of the RE process

To describe behavioural modelling, data
modelling and object modelling

To introduce some of the notations used in the
Unified Modeling Language (UML)

To show how CASE workbenches support
system modelling

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 2


Topics covered

Context models

Behavioural models

Data models

Object models

CASE workbenches

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 3


System modelling

System modelling helps the analyst to understand
the functionality of the system and models are
used to communicate with customers

Different models present the system from
different perspectives
• External perspective showing the system’s context or
environment
• Behavioural perspective showing the behaviour of the system
• Structural perspective showing the system or data architecture

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 4


Structured methods

Structured methods incorporate system modelling
as an inherent part of the method

Methods define a set of models, a process for
deriving these models and rules and guidelines
that should apply to the models

CASE tools support system modelling as part of a
structured method

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 5


Method weaknesses

They do not model non-functional system
requirements

They do not usually include information about
whether a method is appropriate for a given
problem

The may produce too much documentation

The system models are sometimes too detailed
and difficult for users to understand

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 6


Model types

Data processing model showing how the data is
processed at different stages

Composition model showing how entities are
composed of other entities

Architectural model showing principal sub-systems

Classification model showing how entities have
common characteristics

Stimulus/response model showing the system’s
reaction to events

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 7


Context models

Context models are used to illustrate the
boundaries of a system

Social and organisational concerns may affect the
decision on where to position system boundaries

Architectural models show the a system and its
relationship with other systems

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 8


B
racsyoaunectm
iB h
g Sseycuri
t
my A
c
o
u
n
d
a
t
b
a
st
e
A
u to -e
l r
The context of an ATM system

rcsoyuantcm h
er Ms y 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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 10


S
p e
c
ieqruE
fm y n E
q
u
s
trqusdipmi
p
m
c
.e
n
t
V
s
p
ea
c l
i
fda te
i
o
nC
he
c
k
d
s
p
.G
e
t
s
i
mc
Equipment procurement process

o
as
et D enl
i
v
o
t
de
r
A
e
ly
c
i
vep
t
r
yof De
l
i
v
e
r
y
n
o
tC
d h
l
ivec
r kd
S
u p e
n
t
c
.
ldatbaiser suF Su
p
l
ie
r
l
i
s
t
ipnlders sCh
os
u
eS
sp
t
m
ec
.
+
l
i
e
r
a
t n oO
t
i
f r d
e
c
aq
u
t
i
o
Pn
lm
ac
en I t
nsm
ta
l s
I
ins
t
a
l
r
u
ct
i
o
n
s
uplirBO
rd
len d
tfakrilme
os+ e
rsigCq
ui
p
o
rm
d nt e
q
u ipm e
I
an
ct
s
a
l
e
pt
i
o
n
c
e
hec
k d
and
ndoreformEA
d
e
q
u c
l
ivme
p
r Et
d
n
qu
i
p
m
d
e
t
ae
n
t
l
s
©Ian Sommerville 2000
q u
idatpbm
easnt
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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 12


Data-processing models

Data flow diagrams are used to model the
system’s data processing

These show the processing steps as data flows
through a system

Intrinsic part of many analysis methods

Simple and intuitive notation that customers can
understand

Show end-to-end processing of data

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 13


O
rodrebtad
einlfsokr+C
o
m
p
l
r
d
e
f
oC
o
m
r
d
e
t
r
mp
l
e
t
f
o
r
Order processing DFD

m O d
m
V
a
ol
i
d
a
t
e
rS
o
r
di
g
n
e
d
f
o
rm Roo
e r
c
r
d S
di
g
n
e
f
o d
rm S
se
u
Apn
d d
jl
ut
i
e
so
r
t C
h
e
s
i
g
+
oc
k
d
n
o
t
f
i
c
aa
n
d
r
e
t
i
n
rtd
eailsorS av
idgnfeodrmiblagbe+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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 15


Idnepsu
tignR
D
sedD
ifede g
tdatsiebgo
CASE toolset DFD

n V
da
l
i
d
e
s
g
n
rnacsnsedC D e
cdrhoesik si
g
n
cgnhk
eC
h
d
rdC
ae
sc
i
nk
g
d nd D
an es
i
g
n
l
y
erD
ae
ns
i
g
n
l
ys
gR
n ep oa r
tU
s
e
r
r
p
ot
Out
p
ogdenskrealtroncodedD
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 real-time 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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 17


F
uw
p
olerdF o
:
=u
Microwave oven model
sl6ep
t
0o
we
r
T
im
e
r
W
iH a
tadlof:dm
n
s
p
eg
l
ay pH
o w a lf
ep
rF
u
o
wl
e
rd
o:
xSigets i
n m
u te b
r N
u
mb
e
r O
p
e
r
a
t
d
o
:
vi
o
n
e
pow
er dH ao:=
ls3fet0powT
im
e
r
erD Dpoe nr D c
o
rD
o
r
l
s
e
dE
n
a
d
o
:
dS
b
l
e
d
i
s
p
at
a
r
y D
o
r
p
e
n C
a
nc
e
l
W
a
d
o
:i
t
n
g
d
s
p
l
ay
ido:'W
sdabp c ls
e
ltinedgy'd'
R ' m
e
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 18
Microwave oven state description

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 19


Microwave oven stimuli

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 20


Statecharts

Allow the decomposition of a model into sub-
models (see following slide)

A brief description of the actions is included
following the ‘do’ in each state

Can be complemented by tables describing the
states and the stimuli

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 21


C
d h
o
s
Microwave oven operation

: te
a c k
ui
sn gO
p
e
O
Kr
a
t
i
on
d
oC
:
r
u
n
g
eo k
r
aT
i
t
o
rm
e
T
ufrntab
ldoA
e:ldeavirsm E
m
i
f
a
ut
e
r
l
pnltayD d
oD
o
:
b
u
fzn
5eT
i
m
e
o
r
o
n
s
c
.u
t
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

Entity-relation-attribute 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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 23


1
is
-
a n
d
C
M
Software design semantic model
D
a
m
c
-e
r
as
i
g
n
p
t
o
e1 h
a
s
-
l
in
k
s
has-nodensN
n
o
d
e
a
m1 h a
s-
l1
i
n
k
s L
n
an
i
n
k
m
e
typ
12
has-lbelsnntiecL l
i
axomnk
s
belnt
y
1p
1
ha
s
-
lb
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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 25


Data dictionary entries

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 26


Object models

Object models describe the system in terms of
object classes

An object class is an abstraction over a set of
objects with common attributes and the services
(operations) provided by each object

Various object models may be produced
• Inheritance models
• Aggregation models
• Interaction models

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 27


Object models

Natural ways of reflecting the real-world entities
manipulated by the system

More abstract entities are more difficult to model
using this approach

Object class identification is recognised as a
difficult process requiring a deep understanding of
the application domain

Object classes reflecting domain entities are
reusable across systems

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 28


Inheritance models

Organise the domain object classes into a
hierarchy

Classes at the top of the hierarchy reflect the
common features of all classes

Object classes inherit their attributes and services
from one or more super-classes. these may then be
specialised as necessary

Class hierarchy design is a difficult process if
duplication in different branches is to be avoided

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 29


The Unified Modeling Language

Devised by the developers of widely used object-
oriented analysis and design methods

Has become an effective standard for object-oriented
modelling

Notation
• Object classes are rectangles with the name at the top, attributes in
the middle section and operations in the bottom section
• Relationships between object classes (known as associations) are
shown as lines linking objects
• Inheritance is referred to as generalisation and is shown ‘upwards’
rather than ‘downwards’ in a hierarchy

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 30


iC
aT
tN
lA
A
cS
iCq
e
u L
u o
tytoacapm
s
bsgb r r
ua
e
o
oy
i
t
e
m
n
u
b
d
a
t
e
f
c
o
p
ir
e
s
tDq
iisutpeorn(sg)eu()
lIR
Library class hierarchy

lTPu b
iitlesrheditem T R
e
i
t
l
M
dc
o
r
d
e
u
mi
t
em
Au
tE
d
iPh
b
lISB
o
r
nk
ondate P
c
a
tB
iN Y
IseM
a
g
z
a
r
ui
n
e D
i
r
e
c
a
sF
i
l
m
t
o
r
f
e
b
ua
s
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
te-srea(io)rn#er User class hierarchy

A Read
r
filtion S ItafM
team Bor wer
xs.nlsanS
D eparm
enphoneM a
jH
o
rm t
ude n
t
seabjrcs
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 super-classes

Can lead to semantic conflicts where
attributes/services with the same name in
different super-classes have different semantics

Makes class hierarchy reorganisation more
complex

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 33


A
Multiple inheritance

u
tE
d
iPh
b
lISB
o
r
n
c
a
tB
iNk
ondateR V
S
p
D
uo
i
a
rc
e
r
k
t
i
oc
no
rdin
g
ecdgdate
©Ian Sommerville 2000
T a
l#pkeisngbok
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 part-of relationship in semantic
data models

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 35


Object aggregation
S
tC
o
rY u
sd
eyp ac
k
tIneatucoirle
Nm b
A
sC
iredtgnm
entS OH Ps
llideidesT L
excotusreT
n V
iapdeost.ape
#D
PE xer
c
rosblmi
se
ptonD TeS
xto
lu
t
i
o
n
s
iagrm
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 36
Object behaviour modelling

A behavioural model shows the interactions
between objects to produce some particular
system behaviour that is specified as a use-case

Sequence diagrams (or collaboration diagrams) in
the UML are used to model interaction between
objects

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 37


:L
ibrayU
seL
roD
Issue of electronic items
E
c
a
t
:
C
lo
g :
Li
b
r
a
yI
t
e
m L
i
b
1
:
N
e
t
S
rv
e
iA ku
scIeupp p
letlaiycenIsuelicen
©Ian Sommerville 2000
Deliver Co
m
p
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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 39


tdiconry dS
D a tiagruocm
en
tlsreidng gfR
An analysis and design workbench

C tral
eancp
Q u
o
rlaietsn
e ry
C
gceF
no o d
reartm e ien
aitsnr D frsigo m
ipn,saoy ln
ys
i l
fa
n g
ci
l a
t g e
s
a d
l tos facils
©Ian Sommerville 2000
c h e k ng 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

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 41


Key points

A model is an abstract system view. Complementary
types of model provide different system information

Context models show the position of a system in its
environment with other systems and processes

Data flow models may be used to model the data
processing in a system

State machine models model the system’s behaviour
in response to internal or external events

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 42


Key points

Semantic data models describe the logical structure
of data which is imported to or exported by the
systems

Object models describe logical system entities,
their classification and aggregation

Object models describe the logical system entities
and their classification and aggregation

CASE workbenches support the development of
system models

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 43

You might also like