You are on page 1of 52

System Composition and

Composition Trees

Geoff Dromey
Software Quality Institute

© R.G.Dromey, Griffith University, 2005


A Big Challenge

One of the greatest challenges that


systems/software engineers face is
how they should first proceed when
they are initially given documentation
supplied by a customer describing
their needs for a system.
My Last Five years …
Have been about the search for:
Repeatable Outcomes
• when different people
• apply the same Design/analysis methods
• and the same representations
• to a particular problem
• given the same initial information.
“Mere information by itself is worth little,
unless it is arranged in ways that make sense
to its possessors, and enables them to act
effectively … To make sense of information
– to understand it one has to put it into
fruitful relationship with other information,
and grasp the meaning of that relationship;
which implies … seeing the whole”.
– A.C.Grayling
Starting Position
• Confronted with a statement of requirements our
job is to systematically and effectively increase our
understanding of the problem to be solved.

• To increase understanding we need to create useful


usable, new order in a repeatable, constructive way.

• It turns out that constructing the system composition


is probably the most effective way to initiate the
analysis/design phase ( CLAIM )
System Composition

The System Composition plays a role


in system design of comparable
importance to the role laying the
foundations plays in constructing a
house – it comes first and it supports
all subsequent activities.

Metaphor – the components are like the stumps of


the foundation for a house – we need all their details.
System Analysis and Design Strategy
S y s t e m A n a ly s is Creating
Integrated Views
S ta te m e n t o f
R e q u ir e m e n t s

D a t a /C o m p o s it io n F u n c tio n a l
R e q u ir e m e n ts R e q u ir e m e n ts

D e s ig n
C o m p o s itio n T r e e
B e h a v io r T r e e
In t e g r a t e d V ie w o f In t e g r a t e d V ie w o f
D a t a R e q u ir e m e n t s F u n c t io n a l R e q u ir e m e n t s

C o m p o s it io n a l Com ponent D a ta B e h a v io r Com ponent B e h a v io r


A r c h ite c tu r e D a ta M o d e ls D e fe c ts A r c h ite c tu r e B e h a v io r T r e e s D e fe c ts

What is needed to systematically tackle the complexity


and defects associated with building LARGE Systems.
Composition

Composition is a concept that is


widely used in a number of
disciplines to provide a useful
summary information about an
entity.
Composition
HOUSE: 4 b e d r o o m s , 2 b a th r o o m s , ...
E th a n e : C 2H 6

D IC T IO N A R Y :
T a b le : " A p ie c e o f fu r n itu r e c o n s is tin g o f a
fla t to p s e t h o r iz o n ta lly o n le g s "

Concept of composition is also highly relevant when it


comes to analyzing, designing and formally
representing large systems – it can quickly tell us
about the relative size and type of system we are
dealing with – subsequently supports design.
A Way to Look at Things - Chemistry
Representations Ethane Molecule

1 C O M P O S IT IO N C 2H 6

H H
2 STRUCTURE H C C H
H H

D e t a ile d
3 B E H A V IO R d e s c r ip t io n
o f b e h a v io r
What Is Important About Composition

It should be UNIQUE
for a given statement
of requirements.
Table - Composition Tree

T a b le

Leg+ Top

Structural Dependency
Light System - Composition Tree

L ig h t S y s t e m

B a tte ry S w it c h L ig h t 3 W ir e s

Functional Dependency
Living Entities - Composition Tree

L iv in g E n t it ie s

{ P la n t s } { A n im a ls }

Classification Dependency
Sentence - Composition Tree

S E NTE NC E

W o rd + Space* EOLN * F u ll_ S t o p

“A sentence contains one or more words terminated by


a full-stop. Pairs of words are separated by a space. An
end-of-line follows the last word on each line and
separates it from the first on the next line. There are no
leading or trailing spaces.”
Composite - Composition Tree
C o m p o s it io n T r e e NOTE:
“Game” is a virtual
S y s te m
construct
Te a m -1 T e a m -2 Game

P la y e r * P la y e r * A T T R IB U T E S F ir s t - H a lf S e c o n d - H a lf

C u r r e n t_ S c o r e

F in a l_ S c o r e

Entities like “Game” record behavior


Or functionality  Database Definition
Two Axioms …

Composition is a fundamental
property of a system.

Composition is a fundamental
property of a set of functional
requirements of a system.
Two Axioms …

O V EN
Composition
US ER
is a
D OOR
fundamental
property
1 D O [ CO l oRs e d ]

3C B U TB[ EUTn TaOTb lONe dN ]


of a system.
L IG H T
P O W ER -T U B E

B EEP ER

RGD - 
Two Axioms …
FR-01
2.2.1 Report Satellite Health

Satellite health information is requested to aid in planning required satellite


maintenance.

MG2) The SCS shall process each HR (satellite health request) command message
received from the GCS.

MG2.1) An HR command message shall be the first message received after the
initiation of each "Manage Satellites" transaction.

MG2.2) The SCS may receive a satellite health request message anytime during a
"Manage Satellites" transaction. (Describes order during transaction.)

MG2.3) A satellite health request command message will only be accepted by the
SCS during an active "Manage Satellites" transaction. (Describes condition under
which an HR may be received.)

MG3) The SCS shall prepare and send an HA (satellite health acknowledgment)
message to the GCS in response to an HR (satellite health request) command
message.

FR-02
Composition is a
fundamental
2.2.1 Report Satellite Health

a l
Satellite health information is requested to aid in planning required satellite

n
maintenance.

io ents
MG2) The SCS shall process each HR (satellite health request) command message

t
received from the GCS.

c
MG2.1) An HR command message shall be the first message received after the

Fun uirem property of a set


initiation of each "Manage Satellites" transaction.

MG2.2) The SCS may receive a satellite health request message anytime during a
"Manage Satellites" transaction. (Describes order during transaction.)

MG2.3) A satellite health request command message will only be accepted by the
SCS during an active "Manage Satellites" transaction. (Describes condition under

Req
which an HR may be received.)

MG3) The SCS shall prepare and send an HA (satellite health acknowledgment)
message to the GCS in response to an HR (satellite health request) command
message.

of functional
FR-M
requirements
2.2.1 Report Satellite Health

Satellite health information is requested to aid in planning required satellite


maintenance.

MG2) The SCS shall process each HR (satellite health request) command message
received from the GCS.

MG2.1) An HR command message shall be the first message received after the
of a system.
initiation of each "Manage Satellites" transaction.

MG2.2) The SCS may receive a satellite health request message anytime during a
"Manage Satellites" transaction. (Describes order during transaction.)

MG2.3) A satellite health request command message will only be accepted by the
SCS during an active "Manage Satellites" transaction. (Describes condition under
which an HR may be received.)

MG3) The SCS shall prepare and send an HA (satellite health acknowledgment)
message to the GCS in response to an HR (satellite health request) command
message.
Saying the Same Thing …

O r ig in a l S t a t e m e n t
S y s te m D e s ig n
o f R e q u ir e m e n t s

S y s t e m C o m p o s it io n S y s t e m C o m p o s it io n
System Composition

Building a deep understanding


of a system depends on first
building a deep understanding
of the components that make up
the system and how they are
organised.
The Problem We Face

The problem we face in attempting to build an


understanding of the components in a system is
that in statements of requirements for a system,
information about individual components in the
system is usually widely spread throughout
the
set of requirements.
Starting at the Top …

System
S y s t e m Composition
C o m p o s itio n
Starting at the Top …

System
S y s t e m Composition
C o m p o s itio n

Components Data Exchanged


Starting at the Top …

System
S y s t e m Composition
C o m p o s itio n

Components Data Exchanged

Component Component
Inputs Outputs

We can model data exchange as component inputs/outputs


Starting at the Top …

System
S y s t e m Composition
C o m p o s itio n

Data Exchanged/
Components
Relations

We can model relation change as data exchange


Component Composition

Component Composition contributes


in a significant way to system
composition
Component Composition

Component Composition

Composite Encapsulated
Components Multiplicity Classification
Data
Composition Trees
• Provide an integrated view of data requirements
• Provide integrated knowledge of each component
• Provide a systematic way of finding many types of defects
• Approach repeatability of construction
• Provide information that supports subsequent steps
• Provide an important perspective of the size/dimensionality
of the a large system
• Provide vital information that supports understanding
and subsequent maintenance of the system
• Provide information that can be easily and usefully
refined during later stages of development
• Identify important system architecture information
• Serve to construct the vocabulary of a system
Composition Tree -- By Translation

Consider as an example, a communication system 
(incomplete) that might involve a network of mobile 
nodes and a set of physical locations each of which 
has a local network consisting of fixed hub node 
connected to a number of fixed support nodes. Each 
mobile node has a mobile_ID and a classification.  
Composition Tree – Translation

C O M M U N IC A T IO N * --- zero o r m o re
SYSTEM # - - - a r b it r a r y m e m b e r o f s e t

M o b ile _ N o d e * P h y s ic a l_ L o c a t io n *

M o b ile _ N o d e # P h y s ic a l_ L o c a t io n #

/ M o b i l e - ID
/ C la s s if ic a t io n
L o c a l_ N e t w o rk

In te r n a l D a ta fo r
M o b ile _ N o d e # F ix e d _ H u b _ N o d e F ix e d _ S u p p o r t _ N o d e *
Composite Components - House, Kitchen
Need to add
T h e m a n w e n t f r o m t h e b e d r o o m v ia t h e h a llw a y a n d Preconditions here
S y s te m
t h e n t o t h e k it c h e n w h e r e h e p u t f o o d o n t a b le in t o For Behavior implied
t h e M ic r o w a v e a n d p r e s s e d t h e b u t t o n .
In description

In general we need to use C o m p o s it io n


S tru c tu re T re e B e h a v io r T r e e
compositional, structural T re e
and Behavioral knowledge
to represent large systems + H ouse B edroom
M an
[ In _ B e d r o o m ]

B edroom M an
H a llw a y K it c h e n )- M a n -( H a llw a y
[ in _ H a llw a y ]

M ic r o w a v e T a b le )- F o o d -( M an
K it c h e n
[ In _ K it c h e n ]

T a b le Food
M ic r o w a v e [ ? C o n t a in ? ] [ ? P la c e d ? ] M an
B u tto n
[ ? C o n t a in ? ] [ P la c e d ]
: > Food on T a b le
: > Food : > Food
in M ic r o w a v e
Food
B u tto n
[ ? P la c e d ? ]
[? P re s s e d ? ]
in M ic r o w a v e
:b y M an M an
[ P ressed ]

R e la tio n s : > B u tto n


of M ic r o w a v e

Behavior can alter relations


Composite Components → Composition
A U T O M O B IL E

( s e e a ls o p .8 0 R u m b a u g h f o r O b je c t D ia g r a m )

B ody P o w e r T r a in S t e e r in g S y s t e m

D oo rs E n g in e S y s t e m T r a n s m is s io n W h e e ls W h e e ls S t e e r in g W h e e l

E n g in e E xhaust G as T ank S ta rrter

P ip e P ip e

Engine-System is a composite component


Class Diagram vs Composition
C la s s D ia g r a m - R u m b a u g h , e t a l, p . 8 0

Door Body G as Tank Why here?

A u to m o b ile

P o w e r T ra in S t e e r in g S y s t e m B r a k in g S y s t e m

E n g in e T ra n sm issio n W heel B ra k e B r a k e S w itc h B ra k e L ig h t

Ex h a u s t S y s te m E le c tr ic a l S y s te m

M u ffle r P ip e S ta r te r B a tte r y A lte r n a to r

Network – no repeatability of construction


Encapsulated Data → Composition
C o m p o s it io n T r e e

CA RD_RE A DE R F R -0 5 K e y b o a rd F R -0 1 V ID E O _ T A P E * F R -0 1 C U S TO M E R * F R -0 1 C LE R K * B A R _CO D E _R E A DE R

F R -0 1 V ID E O _ T A P E # F R -0 1 C U S TO M E R #

FR 15/ Nam e

FR 15/ A d d re s s

P hone N um ber
2 .4 / - M is s in g f r o m
F R -0 2 V id e o _ In v e n t o r y R e c o r d
2 .4 / - D e p o s it r e q u ir e m e n ts
/ + V id e o _ D a t a F R 1 9 /- D a t e R e g is t e re d

A t t r ib u t e s F R 1 9 /- D a t e D e le t e d
/ +
I s s u e : d o s e p a ra te V id e o _ N a m e : T it le (a lia s )/ F R 1 9 FR 15/ C r e d it _ C a r d _ in fo r m a t io n
F R -0 6 /
c o p ie s h a v e
F R 1 9 /- Type FR 19/ G o o d c re d it | B a d C r e d it N o F u n c t io n a lit y t o s e t t h is
s e p a ra te I D s ? ? ?
D a y s R e n t e d b y T it le FR 07/ + P a s t_ D u e _ F e e s
F R 1 9 /-
R e n ta l F e e FR 04/ A c c o u n t_ N u m b e r
2 .4 /-

F R -0 6 / R e n t a l_ P ric e

F R -0 6 / B a r _ c o d e _ ID : T a p e _ ID
A c c o u n t_ C a rd F R -1 9 R e n t a l_ H is t o r y _ R e c o rd
F R -0 3 R e n t a l_ T r a n s a c t io n _ R e c o r d F R -0 3
-

W h a t is r e q u ir e d h e r e is t o o
v a g u e t o s p e c if y d a t a
+ F R -0 3 V ID E O _ T A P E * F R -0 3 A c c o u n t_ N u m b e r r e q u ir e m e n t s
F R -1 9 Y e a r+ F R -1 9 M o n th + F R -1 9 CO P Y { R e n te d }

F R -0 3 V ID E O _ T A P E #
F R -1 9 Y e a r# F R -1 9 M o n th # F R -1 9 CO P Y # { R e n te d }

FR 13/ D a t e _ o f_ R e t u r n
F R 1 9 /- D a y s R e n te d b y Y e a r F R 1 9 /- D a y s R e n te d b y M o n th / C opy N um ber

F R -0 2 /+ C u rre n t S ta tu s

F R 1 9 /- D a te o f L a s t R e tu rn I n F R 1 9 c o p y a p p e a r s in t w o
F R 1 9 /- D a y s R e n te d b y C o p y r e q u ir e m e n t s - is a m b ig u o u s
Encapsulated Data → Composition
C o m p o s it io n T r e e

F R -0 1 C U S TO M E R *

F R -0 1 C U S TO M E R #

FR15/ Nam e

FR15/ A d d re s s

2 .4 / - P hone N um ber

2 .4 / - D e p o s it

F R 1 9 /- D a t e R e g is t e re d

F R 1 9 /- D a t e D e le t e d

FR15/ C r e d it _ C a r d _ in fo r m a t io n

FR19/ G o o d c re d it | B a d C re d it

FR07/ + P a s t_ D u e _ F e e s

FR04/ A c c o u n t_ N u m b e r

Integration of data requirements from different FRs


Multiplicity → Composition
S c h o o l S ys te m

DR9
SCHOO L+
“+” One or more
+
schools

Particular RELATION
DR9 SCHO O L#
school DR7 SCHOOL#
School
+ [ H a s _ r e g is t e r e d ]
has registered
S TUDENT%
some “%” students

Some
DR9 + DR3 CO URS E+
departments DEPA RTM ENT%
DR15 IN S T R U C T O R +

RELATION
One or more CO URS E#

courses
DR3
[ A tte n d e d ]
DR13 D E P A R TM E N T#
by S TUDENT%
Classification → Composition
O rd e r S y s te m

O RDER* EM PLO Y EE* PR O D U C T* CUS TO M ER*

D R 8 CUSTO M ER#
{S a le s R e p re se n ta tiv e } + [ Has Lodged ]
O RDER#

O RDER%

S a le s R e p re se n ta tiv e #

O R D E R L IN E % to
[ A s s ig n e d ]

C o r p o r a te %
{ C o r p o r a te } { Pe rs o n a l }
Classification

C o r p o r a te #
O R D E R L IN E #
[ R e f e r s to ]

PRO DUCT# C o r p o r a te #
[ H a s A s s ig n e d ]

S a le s _ R e p r e s e n ta ti ve 0 |1

Classification – is a vehicle for composition/decomposition


of sets/types of entities
Relations → Composition
O rd e r S y s te m

O RDER* EM PLO Y EE* PR O D U C T* CUS TO M ER*

D R 8 CUSTO M ER#
{S a le s R e p re se n ta tiv e } + [ Has Lodged ]
O RDER#

O RDER%

S a le s R e p re se n ta tiv e #
[ A s s ig n e d ] { C o r p o r a te } { Pe rs o n a l }

O R D E R L IN E % to C o r p o r a te %

C o r p o r a te #
O R D E R L IN E #
[ R e f e r s to ]

PRO DUCT# C o r p o r a te #
[ H a s A s s ig n e d ]

S a le s _ R e p r e s e n ta ti ve 0 |1

In database applications relations record behavior –


Implemented by exchange of information
Component Information – Integrated View

S a te llite C o n tr o l S y s te m
- C o m p o s it io n T r e e S a t e llit e S y s t e m

C o m p o s it io n T r e e

2 .1 2 .1 2 .3 .1 U p lin k S it e * 2 .1
GCS SCS D o w n lin k S it e * S Y S TEM
IN 1 IN 1 IN 1

D e fin itio n s 2 .1 2 .1 2 .3 .3 2 .3 .1 U p lin k S it e # 2 .1


G C S { O u tp u ts } G C S { In p u t s } 2 .2 . 3 BR 2 .3 .1 TG S C S { O u tp u t.s } S C S { In p u t . s } 2 .2 . 2 FA 2 . 2 .3 BA 2 .2 . 3 B / L T a b le 2 .3 .1 TS CA N P B _ L is t D o w n l in k S it e #
IN 1 IN 1 + IN 1
G C S : G ro u n d C o n t ro l S y s te m
< IN > SC S 2 .1 > IN A < S C S 2 .1
/ U p lin k S it e ID 2 .1 IN A 2 .1 IN
S C S : S a t e l l i te C o n tro l S y ste m < MG > SC S 2 .2 > MGA < S C S 2 .2
2 .2 MGA 2 .2 MG
/ D o w n lin k S i t e ID
IN : In it ia liz e S C S < HR> SC S 2 . 2 .1 > HA < S C S 2 .2 .1 2 .2 .1 HA
2 .2 . 3 T a b le _ E n t r y +
/ P l a n n e d T i m e _ S lo t_ D u r a tio n 2 .2 .1 HR
M G : M a n a g e t im e s lo t g o < FR > SC S 2 . 2 .2 > FA < S C S 2 .2 .2 2 .2 .2 S ta tu s _ C o d e 2 .2 .2 F u e l_ P r e s s u r e _ D a ta 2 . 2 .3 S t a tu s _ C o d e 2 .2 . 3 T a b le _ E n t r y * / 2 .3 .1 S ta tu s _ C o d e / 2 .3 .3 PB* 2 .3 .1 U p lin k S it e { O u t p u t } 2 .3 .1 U p li n k S it e { In p u t } 2 .3 .2 D I : D a ta P a c k e t/ 2 .3 .1 D o w n l i n k S i te {O u tp u t} 2 .3 . 1 D o w n l in k S it e { In p u t } 2 . 3 .3 P B : P a c k e t is B a d /
2 .3 .1 TS CA N 2 .2 .2 FR
M G : M a n a g e t im e s lo t g o < BR> SC S 2 . 2 .3 > BA < S C S 2 .2 .3 2 .3 .1 TG / U p lin k _ ID ;
2 .2 .2 FA */ [ 1 .. 9 9 9 9 > / [ 0 .. 4 ] 2 .3 .1 UG 2 .3 .1 DG 2 .3 . 1 TG / U p l in k _ ID ;
2 .3 .1 TG
< TG > SC S 2 . 3 .1 > TSC AN < S C S 2 .3 .1 2 .3 .2 DI
H R : H e a lt h R e q u e s t 2 .2 .3 BR 2 .3 .1 UB / D o w n lin k _ ID ; 2 .3 .1 DB 2 .3 .2 DI / D o w n lin k _ ID ;
2 .2 . 3 T a b le _ E n t r y # 2 .3 .3 2 . 3 .3 PB
< TE> SC S 2 . 3 .2 > TC< S C S 2 .3 .4 2 .3 .3 PB PB S #/ / P a c k e t _ ID ;
F R : F i r in g R e q u e s t 2 .3 .1 TG 2 .3 .2 DI 2 .3 .3 PB / P a c k e t _ ID ;
+
2 . 3 .5
M issin g c a se 2 .3 .1 UG T E : M is s in g In p u t / P a c k e t_ D a ta ;
B R : B a n d w id /L o c a tio n R e q u e st / U p lin k _ ID ; 2 .3 .4 T C :T r a n s m is s io n C o m p le te d -
w h e n O K fo r sta tu s
2 .3 .1 DG / D o w n lin k _ ID ;
TG : D a ta T r a n s m is s io n T im e - s l o t g o
2 .2 .3 2 .3 .1 UB
R U L E : I n tr o d u c e d a ta 2 .3 .3 DO
2 .2 .3 S e n d e r : U p lin k ID R e c e iv e r :D o w n l in k S ite I D
T E : T im e s lo t E x p i r e d
/ P a c k e t _ ID ;
t h a t f lo w s a t p o i n t o f I n c o n s is te n c y - m is s in g
2 .3 .1 DB
P r o b le m w i t h P B s - c a n g e t i n a n i n f i n i t e lo o p ( d e a d lo c k ) /+ R e p la c e d _ S t a t u s o r ig in r e s p o n s e t a b le
Is U p lin k S ite ID S A M E a s U p lin k ID ? 2 .3 .2 DI i f P B s f a i l t o g e t t r a n s m i t t e d p r o p e r ly t o
2 .3 .2 TE U p li n k s i t e - i t m a y n o t k n o w i s m i s s i n g a
2 .3 .3 PB n e e d e d r e s e n d . G C S a n d S C S h a v e a c k n o w le d g e m e n t
2 .3 .4 T C :T r a n s m is s io n C o m p le te d b u i lt i n b u t U p li n d a n d D o w n li n k d o n 't c o m p l e t e ly .

GCS – Component
Information
Component Information – Integrated View

2 .1
GCS
IN 1

D e fin itio n s G C S { O u tp u ts } G C S { In p u t s } 2 .2 .3 BR 2 .3 .1 TG
G C S : G ro u n d C o n tro l S y ste m
< IN > S CS 2 .1 > IN A < S CS 2 .1
/ U p lin k S it e ID
S C S : S a te llite C o n tro l S y ste m < MG> S CS 2 .2 > MGA < S CS 2 .2
/ D o w n lin k S it e ID
IN : In it ia liz e S C S < HR> S CS 2 .2 .1 > HA < S CS 2 .2 .1
2 .2 .3 +
T a b le _ E n t r y / P l a n n e d T i m e _ S lo t_ D u r a ti o n
M G : M a n a g e t im e s lo t g o < FR> S CS 2 .2 .2 > FA < S CS 2 .2 .2
< BR> S CS 2 .2 .3 > BA < S CS 2 .2 .3
M G : M a n a g e t im e s lo t g o
< TG > S CS 2 .3 .1 > TSC AN < S CS 2 .3 .1
H R : H e a lt h R e q u e s t
2 .2 .3 T a b le _ E n t r y #
< TE> S CS 2 .3 .2 > TC< S CS 2 .3 .4
F R : F ir in g R e q u e s t
M issin g c a se
B R : B a n d w id /L o c a tio n R e q u e st
w h e n O K fo r sta tu s
TG : D a ta T r a n s m is s io n T i m e - s l o t g o
2 .2 .3 S e n d e r : U p lin k ID 2 .2 .3 R e c e i ve r :D o w n l i n k S ite ID
T E : T im e s lo t E x p ir e d

Is U p lin k S ite ID S A M E a s U p lin k ID ?


System Architecture – Layered View
LA RG E_S Y S TEM

L e v e l - 1 C o m p o n e n ts

C o m p o n e n t- A 1 S Y S TEM -L 1 1 C o m p o n e n t- B 1 S Y S TEM -L 1 2 Language - 01

L e v e l - 2 C o m p o n e n ts
Language - 02 C o m p o n e n t- C 2 C o m p o n e n t- D 2 S Y S TEM -L 2 C o m p o n e n t- E 2 C o m p o n e n t- F 2
Language - 03

L e v e l - 3 C o m p o n e n ts
C o m p o n e n t- G 3 C o m p o n e n t- H 3 C o m p o n e n t - I3
Language - 04

Identifies Systems Within Systems


Architecture – Composition Tree Relationship

O V EN

US ER

D OO R
1 D O [ CO l oRs e d ]

3C B U TB[ EUTn TaOTb lONe dN ]

L IG H T
P O W ER -T U B E

B EEP ER
Architecture – Composition Tree Relationship

M ic r o w a v e O v e n
SYSTEM

USER DO O R B U TTO N L IG H T P O W E R _TU B E B E E P E R


Architecture – Composition Tree Relationship

K IT C H E N
PHONE ( S y s t e m B e h a v io r
In t e r f a c e
C o m p o n e n t)

ROBO T

M ic r o w a v e
R E F R ID G E R A T O R O VEN
(S y s te m
C o m p o n e n t)
What a Composition Tree Documents
• Which components are composite and their constituents
• Outputs a component sends to others
• Inputs a component receives from others
• Multiplicity of a component relative to others
• Classification of components in a system
• Information a component hides/encapsulates
• States a component realizes
• Relational Behavior/Interactions of a component
• Definitions of components and information

A composition tree can look very different for different


types of application and different specification types
but it always provides an integrated view..
Advantages of Composition Trees
• Provide an integrated view of data requirements
• Provide integrated knowledge of each component
• Provide a systematic way of finding many types of defects
• Approach repeatability of construction
• Provide information that supports subsequent steps
• Provide an important perspective of the size/dimensionality
of the a large system
• Provide vital information that supports understanding
and subsequent maintenance of the system
• Provide information that can be easily and usefully
refined during later stages of development
• Identify important system architecture information
• Serve to construct the vocabulary of a system
System Analysis and Design Strategy
S y s t e m A n a ly s is

S ta te m e n t o f
R e q u ir e m e n t s

D a ta F u n c tio n a l
R e q u ir e m e n ts R e q u ir e m e n ts

D e s ig n
C o m p o s itio n T r e e
B e h a v io r T r e e
In t e g r a t e d V ie w o f In t e g r a t e d V ie w o f
D a t a R e q u ir e m e n t s F u n c t io n a l R e q u ir e m e n t s

D a ta Com ponent D a ta B e h a v io r Com ponent B e h a v io r


A r c h ite c tu r e D a ta M o d e ls D e fe c ts A r c h ite c tu r e B e h a v io r T r e e s D e fe c ts

What is needed to systematically tackle the complexity


and defects associated with building LARGE Systems.
Where We Have Got To
• Many problems with a set of requirements cannot
be revealed by inspecting, reading, analyzing only
the textual representation of those requirements
no matter how conscientious we are.

• To discover some requirements problems with


a large system we need to look beyond the
functional/behavioral view

• What a composition tree provides is a formal


statement of vital information needed to proceed
in a systematic and effective way.

You might also like