LESSON 5 System Design
LESSON 5 System Design
UML -A Genera ted De pend ency C lass :aRou teCol lectio n Ass ociatio n (0. 25)
theVehicleCollection
UM L-A Generated Association Class:aW arehouse Association (1.0)
aVehicle
theCarg oRouter
UML -A Genera ted As socia tion C lass: theWa rehou seCo llectio n De pende ncy ( 0.25)
UM L-A Generated Association Class:aRoute Association (0.5)
theAWT aLocation
UM L-A Generated Association Class:theRouter Association (0.25)
UM Association
L-A Generated Association Class:aRoute Association (0.25)
UMUML-AL-A
UM L-A Generated
UM L-A Generated
Generated
Generated Association
Class:aNavPoint
Association
Association
Class:aRoute
Association
Class:aRoute
Class:aNavPoint
UM
Association
(0.5)
Association
L-A Generated
Association
(0.25)
(0.5) (0.25)
Association Class:aRoute Association (0.25)
UM L-A Generated
UMAssociation
L-A Generated
Class:availableGoods
Association Class:aW
Association
arehouse(0.5)
Association (0.5)
aLocation
aVehicle
theRouter
RegularStorage
aRouteCollection
theStorage availableVehicleCollection
aWarehous e
theWarehous eCollection
RefrigeratedStorage
availableGoods
aPortDialog
aVehiceDialog
aWarehous eDialog
aPortCollection
8 : re q u e st
Cl o ckCo n n
9 : n oti fi ca ti o n 1 0 : no ti fi ca ti o n
Wa reh o u se De l i ve ryPo rt Ve h i cl e
7 : re q u e st
1 : re q u e st
4 : re q u e st 3 : re q u e st
Ro u te rCo n n
2 : n oti fi ca ti o n
Ca rgo Rou te r
5 : re q u e st
G ra p h i csCo n n
6 : n oti fi ca ti o n
G ra p h i csB i n d i n g :
G ra p h i csB i n d i n g
Design acti
vities
Architectur
al Abstract Interface Component Data Algorithm
design specifica
tio design design structur
e design
n design
Software Data
System Interface Component Algorithm
specifica
tion structure
architectur
e specifica
tion specifica
tion specifica
tion
specification
Design pr
oducts
Performance
Security
Safety
Reliability
Availability
Maintainability
Quality
Abstraction
Modularity, coupling and cohesion
Information hiding
Limit complexity
Hierarchical structure
Understandability
Adaptability
abstraction subproblems
time
simpler data
general structure
data structures
28
Sommerville, Mejia-Alvarez, 2009 Software Engineering, Slide 31
Tight coupling
Module A Module B
Module C Module D
Shared data
area
A’s data
Module B Module C
Module D
D’s data
Sub-system
level
32
Sommerville, Mejia-Alvarez, 2009 Software Engineering, Slide 39
Adaptability
A design is adaptable if:
• Its components are loosely coupled
• It is well-documented and the documentation is up to date
• There is an obvious correspondence between design levels
(design visibility)
• Each component is a self-contained entity (tightly cohesive)
To adapt a design, it must be possible to trace the
links between design components so that change
consequences can be analysed
33
Sommerville, Mejia-Alvarez, 2009 Software Engineering, Slide 40
Design traceability
C
F
B
D Object interaction
A level
P O R
Object decomposition
level
36
Sommerville, Mejia-Alvarez, 2009 Software Engineering, Slide 42