Professional Documents
Culture Documents
Composition Trees
Geoff Dromey
Software Quality Institute
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
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 "
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
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
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 ]
B EEP ER
RGD -
Two Axioms …
FR-01
2.2.1 Report Satellite Health
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
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
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
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
System
S y s t e m Composition
C o m p o s itio n
Component Component
Inputs Outputs
System
S y s t e m Composition
C o m p o s itio n
Data Exchanged/
Components
Relations
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
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 ]
( 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
P ip e P ip e
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
Ex h a u s t S y s te m E le c tr ic a l S y s te m
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
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
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
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
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
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
L e v e l - 1 C o m p o n e n ts
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
O V EN
US ER
D OO R
1 D O [ CO l oRs e d ]
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
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
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