Nerson - 1992 - Applying Object-Oriented Analysis and Design

download Nerson - 1992 - Applying Object-Oriented Analysis and Design

of 12

Transcript of Nerson - 1992 - Applying Object-Oriented Analysis and Design

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    1/12

    a r / ~ i G l e s

    J e a n - M a r c N e r s o n

    A p p l y i n g O b j e c t - O r i e n t e d

    A n a l y s i s a n d D e s i g n

    : io n a l a n a l y s i s a n d d e s i g n t e c h n i q u e s i m p l y c o n s t a n t p a r a d i g m s h i ft s , s i n c e

    m a n i p u l a t e d i f f e r e n t c o n c e p t s a t e a c h d i f f e r e n t p h a s e o f s o f t w a r e d e v e l o p -

    t. T h e o b j e c t - o r i e n t e d t e c h n i q u e o f fe r s a s e a m l e s s p r o c e s s th a t h e l p s v i e w i n g

    t h e s o f t w a r e a r c h i t e c t u r e i n t e r m s o f p r o b l e m s p a c e e l e m e n t s .

    Th i s a r t i c l e p r e s e n t s a n a n a l y s i s

    a n d d e s i g n t e c h n i q u e r e l y i n g o n a

    s e t o f n o t a t i o n s a n d g u i d e li n e s . I t

    p r o m o t e s a d e s c r i p t i v e m e t h o d t h a t

    a d d r e s s e s b o t h a n a l y s i s a n d d e s i g n

    i s su e s . Ke y c r i t e r i a h a v e g u i d e d

    t h e d e f i n i t i o n o f t h e t e c h n i q u e :

    s c a l a b i l i t y , r e v e r s e e n g i n e e r i n g s u p -

    p o r t , d o c u m e n t a t i o n a i d , s t r u c t u r -

    i n g m e c h a n i s m s , s y s t e m a t i c d e s i g n

    s u p p o r t a n d c o m p o n e n t m a n a g e -

    m e n t s u p p o r t . A c a s e s t u d y s h o w s

    h o w t h e t e c h n i q u e w o r k s a n d f o s -

    t e r s th e p r o d u c t i o n o f r e u sa b l e

    c o m p o n e n t s .

    The Object -Or iented

    Deve lopment Process

    I n d u s t r i a l - q u a l i t y s o f t w a r e p r o d u c -

    t i on o f t o d a y h a s b e c o m e e x t r e m e l y

    d e m a n d i n g . A p p l i c a t io n s t e n d t o b e

    m u c h l a r g e r a n d m o r e c o m p l e x

    a n d t h u s m o r e d i f f i c u l t to d e v e l o p .

    T h e i r f u n c t i o n a l i t y i s s h i f t i n g f r o m

    p r o c e s s i n g t o s y s te m s i m u l a t i o n a n d

    i n t e g r a t i o n ; f r o m c e n t r a l i ze d t o di s-

    t r i b u t e d c o m p u t i n g ; f r o m t e x t -

    b a s e d t o g r a p h i c s a n d m u l t i m e d i a -

    b a s e d s y s t e m s [ 2 3 ] .

    H i g h l y v o la t il e r e q u i r e m e n t s a n d

    s t r o n g c o m p e t i t i o n c a l l f o r e v e n

    s h o r t e r d e v e l o p m e n t t i m e s . T h i s

    c o n f l ic t c au s e s m a n y s o f t w a r e p r o d -

    u c t s t o b e c o m e d e l a y e d , o r w o r s e ,

    r e l e a s e d w i t h o u t a d e q u a t e p r o d u c -

    t i o n q u a l i t y .

    T h e i m p o r t a n c e o f a p p li c at i on

    p o r t a b i l i t y a m o n g a l a r g e n u m b e r

    o f r a p id l y c h a n g i n g h a r d w a r e p la t-

    f o r m s a n d t h e n e e d t o b e e a s y t o

    l e a rn a n d u n d e r s t a n d b y e n d u s e r s

    w i t h d i f f e r e n t b a c k g r o u n d s , m a k e

    t h i n g s e v e n m o r e d i f f i c u l t .

    T h e r e f o r e , t h e r e i s n o l o n g e r a n y

    t i m e t o w a s t e o n r e i n v e n t i o n o r i n -

    e f f i c ie n t i m p l e m e n t a t i o n o f w e ll -

    k n o w n a l g o r i t h m s a n d u s e r i n t e r -

    f a c e t e c h n i q u e s .

    I n t h e l o n g r u n , o b j e c t - o r i e n t e d

    s o f t w a r e i s a i m e d a t h e l p i n g t o s i m -

    p l i f y t h e wa y we v i e w t h e r e a l wo r l d

    a s i t i s ( o r a s i t s h o u l d b e ) a n d t r a n s -

    l a t e o u r v i e w i n t o s o f t wa r e s y s t e m s .

    O b j e c t - o r i e n t e d t e c h n i q u e s e x i s t t o

    h e l p m a n a g e t h e c o m p l e x i t y a c -

    c o r d i n g t o s o m e k e y p o i n t s :

    * O b j e c t - o r i e n t e d a r c h i t e c t u r e s a r e

    d e c e n t r a l i z e d ;

    C l a s s i f i c a ti o n i s p a r t o f t h e s y s t e m

    s t r u c t u r e ;

    T h e s a m e i d e a s a n d c o n c e p t s a r e

    m a n i p u l a t e d f r o m t h e r e q u i r e -

    m e n t s p h a s e d o w n t o t h e i m p l e -

    m e n t a t i o n p h a s e .

    Th e o b j e c t l i f e c y c l e s h o wn i n

    F i g u r e 1 a n d i n s p i r e d b y [ 9, 1 6 , 1 8 ],

    c o n v e n i e n t l y r e f l e c t s a d e v e l o p -

    m e n t s c h e m e i n w h i c h a k n o w l e d g e

    b a s e r e p r e s e n t e d b y li b ra r ie s o f

    r e u s a b l e a n d p l u g g a b l e c o m p o -

    n e n t s i m p a c t t h e d i f f e r e n t p r o d u c -

    t i o n p h a s e s . T h e c l a s s r e u s e a n d

    g e n e r a l i z a t i o n p r o c e s s i s a n i t e r a -

    t iv e p r o c e s s i n f l u e n c i n g b o t h a n a l y -

    s is ( r e u s e o f f r a m e w o r k s [ 6 ]) a n d

    des ign ( r eus e o f c l a s s i f i ca t ions [ 10 ]) .

    C o m p a r e d t o t r a d i ti o n a l t e c h -

    n i q u e s , o b j e c t - o r i e n t e d d e v e l o p -

    m e n t i s a s e a m l e s s p r o c e s s : t h e r e i s

    n o p a r a d i g m s h i f t b e t w e e n t h e d i f -

    f e r e n t s t a g e s o f t h e l i f e c y c l e. Un i -

    f o r m p r i n c i p l e s a p p l y t h r o u g h o u t

    t h e d e v e l o p m e n t p r o c e s s . I f t y p e s

    o f o b j ec t s i d e n t if i e d d u r i n g s y s t e m

    a n a ly s is a r e s p e c i f i e d b y a n a m e a n d

    a p r e c i s e s e t o f p r o p e r t i e s , t h e y w i ll

    t r a n s l a t e i n t o s y n t a c t i c a l u n i t s ( u s u -

    a l ly ca l l ed "c l a s ses" ) in the f ina l p ro -

    g r a m . T h i s o b s e r v a t i o n i s b o t h

    g o o d n e w s a n d b a d n e w s .

    T h e g o o d n e w s i s t h a t o n c e t h e

    i n t e l le c t u a l p r o c e s s o f o b j e c t -

    o r i e n t e d d e v e l o p m e n t i s p r o p e r l y

    u n d e r s t o o d a n d m a s t e r e d , i t c a n b e

    s u c c e s s f u l l y u s e d ( w i t h s o m e v a r i a -

    t i o n s i m p o s e d b y t h e l e v el s o f a b -

    s t r a c t i o n ) t o t h e d i f f e r e n t d e v e l o p -

    m e n t s ta g es . T r a c i n g r e q u i r e m e n t s

    b e c o m e s e a s i e r s i n c e m a n i p u l a t i o n

    o f e n ti t ie s i s m o r e n a t u r a l a n d

    s m o o t h .

    T h e b a d n e w s i s t h a t w h e n e v e r

    i n a p p r o p r i a t e t y p e s o f o b je c t s a r e

    s e l e c t e d , o r w h e n e v e r a w k w a r d

    s t r u c t u r i n g c h o i c e s a r e m a d e , t h e

    f i n a l a r c h i t e c t u r e r e f l e c t s t h e s e

    p o o r d e c i s i o n s .

    B e c a u s e o f t h e c o n t i n u o u s d e v e l -

    o p m e n t p r o c e s s i n v o l v e d , o b j e c t -

    o r i e n t e d t e c h n i q u e s t e n d t o b l u r

    t h e b o r d e r l i n e b e t w e e n a n a ly s i s a n d

    d e s i g n .

    I n t h e n e x t s e c t i o n s , we w i ll s t u d y

    h o w a n o b j e c t - o r i e n t e d a n a l y s is a n d

    d e s i g n m e t h o d a n d t e c h n i q u e i s

    a p p l i e d . T h e t e c h n i q u e u s e d i s

    b a s e d o n a m e t h o d a n d n o t a t i o n

    c a l l e d B O N ( B e t t e r O b j e c t N o t a t i o n

    [ 1 4 , 1 5 ] ) . A l t h o u g h t h e B O N n o t a -

    t i o n i s b o t h g r a p h i c a l a n d t e x t u a l ,

    w e s h a l l u s e t h e g r a p h i c a l f o r m . I n

    t h e r e m a i n i n g t e x t , a l l B O N -

    s p e c i f i c t e r m s w i l l a p p e a r i n

    b o l d -

    i t a l i c t y p e w h e n f i r s t i n t r o d u c e d .

    Object -Or iented Ana lys is w i th

    a n Exa m p l e

    T h e s o f t w a r e t o b e d e v e l o p e d is i n-

    t e n d e d t o a u t o m a t e t h e r e s e r v a t io n

    a n d i n v o i c i n g sy s t e m o f a c a r r e n t a l

    COMMUNICATIONSOF THE ACM/September 1992/Vol.35, No.9 6 3

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    2/12

    c o m p a n y . A s h o r t o u t li n e o f t h e

    m a j o r r e q u i r e m e n t s is g i v e n b e lo w .

    Vehicles are taken f r om one locat ion

    and re turned to the same locat ion .

    D i f f e re n t m o d e l s o f c a r a re g ro u p e d

    i n t o a sm a l l n u m b e r o f p r i c e c la s se s .

    D i f f e re n t r e n t a l p l a n s a re a v a il a b l e ,

    wi th a specia l weekend ra te to a t t ract

    nonbusiness customers.

    T he price charged i s estab li shed in

    a d v a n c e .

    Fre e o p t io n s a re : a u t o m a t i c o r m a n -

    u a l t ra n sm i s s io n , t w o o r f o u r d o ors ,

    l = ig u f e 1 . T h e objec t -oriented soft -

    ware l ife cycle

    sm o k e r o r n o n sm o k e r c a r .

    N o n f i t t e d e x t ras a re : ro o f ra c k ,

    t ra i ler , snow chains, c h i ld sea ts . T hese

    extras are charged to the c l ien t .

    Th e system mus t handle b lock booking

    o f c a rs a n d k e e p t ra c k o f c a r a v a i l a b i l -

    ity.

    Ob j e c t - o r i e n t e d a n a l y s i s t r i e s t o

    i d e n t i f y t h e t y p e o f o b je c t s t h a t m a p

    i n t o e l e m e n t s o f t h e a p p l i c a t i o n

    d o m a i n t o b e m o d e l e d . T h i s a c t iv i ty

    h e l p s t o f i n d t h e m a j o r r e l a t i o n -

    s h i p s b e t w e e n t h e d i f f e r e n t t y p e s o f

    o b j e c t s c o n s i d e r e d a s c l a s s i n -

    s t a n c e s . C l a s s e s a r e d e f i n e d w i t h

    t h e i n f o r m a t i o n t h e y m a i n t a i n , t h e

    IV USER R EQUIREMENTS

    INFORMAL 1

    REQUIREMENTS

    ~ ANALYSIS

    I DESCRIPTIVEMODEL I ~~ I t #

    - - - . 1 ~ ~ R E U S A B L E /

    I

    D E S I G N + ]

    C O M P O N E N T S |

    ~CONSTRUCTION

    I /

    ~ ( CLASSESNETWORK ) ~ L J

    o

    (3

    ABSTRACTION/GENERALIZATION

    1 ~ b l e 1 .

    C l u s t e r c h a r t o f t h e c a r r e n t a l s y s t e m

    CLUSTER CHA RT: C A R R E N T A L

    CLASS

    C L I E N T

    CONTRACT

    R E N T A L

    V EH I C L E

    M O D E L

    RATE

    DEFINITION

    Car renter , individual or corporate customer

    Rental

    erms wi th payment condi t ions

    Rental nform ation

    completed wh en

    taking

    out and returning a vehicle

    AutOmObilese lec ted rom the renta l

    l eet

    Description of selected features

    Pricing conditions

    s e r v i c e s t h e y p r o v i d e , t h e c o n -

    s t ra i n ts t h e y c o m p l y w i th a n d h o w

    t h e y r e l a t e t o o t h e r c l a s s e s . An a l y s i s

    c l a s s e s m u s t s a t i s f y s o m e f u n c t i o n a l

    r e q u i r e m e n t s a n d u s u a l ly r e fl e c t a

    c e r t a i n s y s t e m v i e w p o i n t . A t t h e

    ana lys i s l eve l a l l i den t i f i ed c l a s s in -

    f o r m a t i o n i s c o n s i d e r e d p u b l i c .

    An a l y s i s i n v o l v e s s o m e k e y a c t i v i -

    t ie s t h a t r e p r e s e n t t h i n g s t o b e p e r -

    f o r m e d b y t h e a n a l y s t to g e t a b e t t e r

    u n d e r s t a n d i n g o f w h a t n e e ds t o be

    d o n e . I n t h a t r es p e c t, B O N p r o -

    v i d es a n o t a t i o n a n d a s e t o f g u i d e -

    l i n e s a n d r e c o m m e n d a t i o n s a p p l i -

    c a b l e t o t h e p r e a n a l y s i s a n d a n a l y s i s

    p h a s e d o w n t o d e ta i l e d d e s i g n ; t h e

    r e s u l t b e i n g a s t a r t i n g p o i n t f o r t h e

    f i n a l c l a s s p r o g r a m m i n g i n s o m e

    o b j e c t - o r i e n t e d l a n g u a g e .

    T h e n o t a t i o n i s b a c k e d w i t h a s e t

    o f g u i d e l i n e s t h a t s p e c i f y a c ti v i ti e s

    a n d d e l i v e r a b l e s . A l t h o u g h a c t i v i -

    t i e s a r e o f t e n l i s t e d i n s e q u e n t i a l

    o r d e r , t h e y a r e i t e r a t i v e i n p r a c t i c e .

    F o r i n s t a n c e , t h e r e i s s o m e t i m e s n o

    c l e a r d i s t i n c t i o n b e t w e e n w h a t

    r e a l l y b e l o n g s t o a n a l y s i s a n d w h a t

    r e a l l y b e l o n g s t o d e s i g n . V e r y

    r o u g h l y o n e c o u l d s a y t h a t a n a l y s i s

    b e c o m e s d e s i g n w h e n e v e r i m p l e -

    m e n t a t i o n d e c i s i o n s a r e t a k e n ,

    w h e n e v e r n o n p u b J i c i n f o r m a t i o n is

    i n t r o d u c e d i n a s y s t e m , o r w h e n -

    e v e r n e w l y i n t r o d u c e d c l a s s e s d o

    n o t r e l a t e t o p r o b l e m s p a c e o b j e c t s .

    F i n d i n g , N a m i n g , a n d C l u s t e r i n g

    Classes

    Lo ok in g for ob jec ts and c lasses is

    the very f i rs t s tep o f ob jec t -or ien ted

    ana lys is . I t resem bles he ac t iv ity o f

    desc r i b i ng a p i c tu re v iew ing the

    p rob lem space o r w h i ch the sys tem

    borde r l ine i s t he f r ame .

    Bo th imag ina t i on and abs t rac -

    t i on g u i d e t h e a n a l y s t . T h e s u b t l e

    e f f o r t i s t o d e c o u p l e " n o u n s " p o -

    t e n t i a l l y r e p r e s e n t i n g s e r v i c e s f r o m

    t h o s e m a p p i n g t o e f f e c t i v e c a n d i -

    d a t e c l a s s e s . N o m i r a c l e f o r m u l a

    e x i s t s i n t h a t r e s p e c t b e s i d e s e x p e r i -

    e n c e a n d r e c al l o f g o o d p r a c ti c e s.

    S o m e g u i d e l i n e s e x i s t , b u t b e t t e r

    s e r v e a s c h e c k l i s t s t o t h i n g s n o t t o

    miss .

    W e r e t a i n b a s i c a n d s i m p l e i d e a s

    a s p r i n c i p l e s : t h e a i m o f a n a l y s i s is

    6 4 September 1992/Vol.35, No.9/COMMUNICATIONS F T H E A C M

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    3/12

    a r t i c l e s

    t o p u t s o m e o r d e r t o o u r p e r c e p -

    t i o n o f t h e r e a l w o r l d . T h e r e s u l t is

    n o t t o p r o d u c e s o m e t h i n g t h a t

    c o m p l i c a t e s t h e p r o b l e m t o s o lv e o r

    t h e r e a l i t y t o m a p . O n t h e c o n t r a r y ,

    t h e p u r p o s e i s t o s i m p l i fy , to m a s t e r

    t h e c o m p l e x i t y b y r e f o r m u l a t i n g

    t h e p r o b l e m . A n a l y si s m u s t r e m o v e

    n o i s e a n d o v e r s p e c i f i c a t i o n , f i n d

    i n c o n s i s t e n c i e s , p o s t p o n e i m p l e -

    m e n t a t i o n d e c i s i o n s , p a r t i t i o n t h e

    p r o b l e m s p a c e , t ak e a c e r t a i n v i ew -

    p o i n t a n d d o c u m e n t i t. O b j e c t o ri -

    e n t a t i o n s i m p l y a d d s s t r u c t u r i n g

    m e c h a n i s m s f o r d e f i n i n g r e l a t i o n -

    s h i p s b e t w e e n s y s t e m e l e m e n t s a n d

    d e c e n t r a l i z i n g l o c al d e c i s i o n s .

    A s y s t e m u s u a l l y i n t e r a c t s w i t h

    d i f f e r e n t u s e r s . U s e r s a r e n o t

    e q u a l l y q u a l i f i e d t o a c c e s s s p e c i f i c

    p i ec e s o f i n f o r m a t i o n . T h e r e a r e

    v a r i o u s r e a s o n s f o r t h i s : t h e l e v e l o f

    r e s p o n s i b i l i t y i n a n o r g a n i z a t i o n ;

    a c c e s s r i g h t s ( u s e r , a d m i n i s t r a t o r ) ;

    t h e l e v e l o f c o n f i d e n c e ( n o v ic e , a d -

    v a n c e d u s e r ) ; t h e l e v e l o f e x p e r t i s e

    o r k n o w l e d g e o f t h e a p p l i c a t i o n

    d o m a i n . O c c u p a t i o n a l n a m e s g i v e

    s o m e i d e a s a b o u t p o s s i b l e c l a s se s

    f o r u s e r s :

    engineer, employer, cus-

    tomer,

    e t c .

    L a r g e s y s t e m s a r e e x p e c t e d t o b e

    u s e d i n c o m p l e t e l y d i f f e r e n t c o n -

    t e x ts . F o r a c o m p a n y u s i n g a s y s te m

    o p e r a t i n g t h r o u g h a c o m m u n i c a -

    t i o n n e t w o r k

    branches, affiliates, sub-

    sidiaries,

    a n d o t h e r

    manufacturing

    plants

    m a y b e s i m i l a r ly d e s c r i b e d

    r e g a r d l e s s o f t h e g e o g r a p h i c a l l o c a -

    t i o n .

    F o r o t h e r s p e c i f i c s y s t e m s , t h e

    p l a c e o f o p e r a t i o n i m p a c t s t h e b e -

    h a v io r . I n t h e c a se o f a n e m b e d d e d

    s y s t em , t h e p l a c e o f e x e c u t i o n m a y

    c o n f i g u r e t h e s y s t e m a c c o r d i n g t o

    e x t e r n a l c o n s t r a i n t s : s e v e r e o r p r o -

    t e c t e d e n v i r o n m e n t , a b i l it y t o t u n e

    t h e t i m e / s p a c e t r a d e o f f , a b i l i t y t o

    l i m i t o r e x t e n d t h e a c c u r a c y o f a

    c o m p u t a t i o n d e p e n d i n g o n t h e

    c o n t e x t .

    S i n c e o b j e c t - o r i e n t e d a r c h i t e c -

    t u r e s a r e f l e x ib l e , t h e y c a n m o d e l

    d i f f e r e n t p r o b l e m s p a c e d e s c r i p -

    t i o n s d i r e c t l y a s p a r t o f t h e s y s t e m

    d e s c r i p t i o n .

    I n f o r m a t i o n s y s t em s r e f l e c t t h e

    w a y o r g a n i z a t i o n s w o r k . I n t h e c a s e

    o f c o m m u n i c a t i o n s y s te m s , i n f o r -

    m a t i o n i s p r e s e n t e d d i f f e r e n t l y a c -

    c o r d i n g t o i m p l i e d a c t o r s . A m i l i -

    t a r y s y s t e m w i l l n o t d i s p l a y

    ground

    information

    i n t h e s a m e f a s h i o n f o r

    t h e a r m y g e n e r a l a s f o r t h e f r o n t -

    l i n e s o ld i e r . A c t o r s i n a n o r g a n i z a -

    t i o n w i l l a c c e s s t h e s a m e i n f o r m a -

    t i o n , b u t i t w i ll b e p r e s e n t e d

    d i f f e r e n t l y . T h e t e r m " o r g a n i z a -

    t io n " h e r e m u s t h e u n d e r s t o o d n o t

    o n l y a s th e m a p p i n g o f t h e w o r k

    b r e a k d o w n s t r u c t u r e o n t o a r e -

    s p o n s i b i l it y a s s i g n m e n t c h a r t b u t

    a l so a s a w a y i n f o r m a t i o n m u s t b e

    d e t a i l e d o r n o t , d e p e n d i n g o n t h e

    a c t o r s ' l e v e l s o f r e s p o n s i b i l i t y .

    A n i n f o r m a t i o n s y s t e m b e h a v e s

    a s a s e t o f b l a c k b o x e s o f w h i c h t h e

    i n t r in s i c s a r e h i d d e n a n d t h e o n l y

    v i s i b le p a r t i s t h e l i s t o f s e r v i c e s a n d

    s t a t e s p r o v i d e d t o t h e u s e r . A l -

    t h o u g h i t m a y b e t e m p t i n g t o v ie w

    t h e s y s t e m a s a c o l l e c t i o n o f f u n c -

    t i o n s, t h e o b j e c t a p p r o a c h e n f o r c e s

    t h e u s e o f d a t a a b s t r a c t i o n t h a t e n -

    c a p s u l a t e s s e r v i c e s . T h e r e f o r e ,

    e v e n i f s e r v i c e s c o m e t o m i n d f i r s t ,

    o n e s h o u l d l o o k f o r t h e u n d e r l y i n g

    c l as s es t h a t r e p r e s e n t t h e g r o u p i n g

    o f t h e s e o p e r a t i o n s .

    M a n y s y s t e m s c a n b e d e f i n e d , a t

    t h e r e q u i r e m e n t l e ve l s, a s s ta t e

    m a c h i n e s . A s t a t e - t r a n s i t i o n d i a -

    g r a m , i n t h i s c a s e, i s n o t a n i m p l e -

    m e n t a t i o n t e c h n i q u e , s i m p l y a c o n -

    v e n i e n t w a y t o e x p r e s s h o w t h e

    s y s t e m c h a n g e s a c c o r d i n g t o i n t e r -

    n a l e v e n t s . I t i s g e n e r a l l y t o o c o m -

    p l i c a t e d , h o w e v e r , t o r e p r e s e n t t h e

    e n t i r e l o g i c u s i n g t h i s m o d e l . L o o k -

    i n g a t t h e i n f o r m a t i o n s y st e m m o d -

    e l i n g t e c h n i q u e s , d i a g r a m s a r e p r o -

    d u c e d t o s t re s s t h e i n f o r m a t i o n

    f lo w s . S u c h d i a g r a m s a r e a l s o a v a r-

    i a t i o n o f t h e s t a t e - t r a n s i t i o n d i a -

    g r a m a n d c a n l e ad t o th e p r o d u c -

    t i o n o f s y s t e m c l a s s e s .

    A f i r s t p r i n c i p l e is t o c o n s i d e r

    c l as s es a s r e p r e s e n t a t i o n s o f a b -

    s t r a c t d a t a t y p e s a s o p p o s e d t o

    " t h i n g s t h e y d o , " w h i c h i s f a r t o o

    c l o s e t o p r o c e d u r a l t e c h n i q u e s . A

    c l a ss h a s a n i n t e r n a l s t a t e a n d o f f e r s

    s e r v i c e s .

    T h e n , c l a s se s a r e g r o u p e d i n t o

    clusters.

    T h e g r o u p i n g f a c to r m a y

    v a r y , b u t i n p r i n c i p l e i t i s s i m p l e r t o

    d e s i g n a t e a c e r t a i n v i e w p o i n t a s t h e

    m a i n f o c u s o f i n t e r e s t .

    C l u s t e r s p l a y v a r i o u s r o l e s . D u r -

    i n g a n a l y s i s t h e y h e l p g r o u p i n g

    c l as s es a c c o r d i n g t o p r o x i m i t y c r i t e -

    r i a b a s e d o n a s u b s y s t e m f u n c t i o n -

    a l i t y , a n a b s t r a c t i o n l e v e l o r a n e n d -

    u s e r s t a n d p o i n t . D u r i n g d e s i g n

    t h e y a r e o f t e n u s e d a s a s t r u c t u r i n g

    t e c h n i q u e t o s e l e c t i v e l y v i s u a l i z e t h e

    c o u p l i n g b e t w e e n c l as s es . I n a n y

    c a s e t h e y s h o u l d n o t b e c o n f u s e d

    w i t h c l a s s e s .

    F r o m t h e a n a l y s i s o f t h e c a r

    r e n t a l s y s t e m , a n i n i t i a l s e t o f c l as s e s

    c o m e s t o m i n d a n d p a r t i c i p a t e s i n

    t h e d e f i n i t i o n o f a f i r s t c l u s t e r .

    I n t h e e a r l y s t a g e s o f a n a l y s i s ,

    B O N u s e s v a r i o u s c h a r t s f o r d e -

    s c r i b i n g th e d i f f e r e n t t y p e s o f o b -

    j e c t s . T h e s e c h a r t s a r e u s e d a s a

    c o m m u n i c a t i o n t o o l b e t w e e n e n d

    u s e r s a n d a n a l y s t s a n d w e r e i n -

    s p i r e d b y t h e C R C t e c h n i q u e [ 1] ,

    b u t w i t h a d i f f e r e n t r a t i o n a l e .

    T h e

    cluster chart

    l i s t s c l a s s e s p a r -

    t i c i p a t i n g in t h e i d e n t i f i e d c l u s t e r s

    a n d g i v es a s h o r t d e f i n i t i o n f o r e a c h

    o f t h e m . I t is v e r y c o m m o n t o s t a rt

    w i t h o n l y o n e g e n e r a l c l u s t e r a n d

    t h e n c o m e u p w i t h n e w o n e s a f t e r

    d o i n g s o m e c l a ss g r o u p i n g . A s i m -

    p l i f i e d c l u s t e r c h a r t f o r t h e c a r

    r e n t a l s y s t e m i s g i v e n i n T a b l e 1 .

    I t i s a l s o i m p o r t a n t t o l o c a t e th e

    p l a c e o f a c l a s s w i t h i n t h e o v e r a l l

    s t r u c t u r e . T h i s m e a n s t h a t f i n d i n g

    r e l a t e d c l a s s e s i s m o r e i m p o r t a n t

    t h a n f i n d i n g a s i n g l e c l a s s . D e s i g n

    w i l l d e c i d e w h e t h e r c l a s s e s a r e

    l i n k e d b y d e r i v a t i o n , a s s o c i a t i o n ,

    g e n e r a l i z a t i o n , o r s p e c i a l iz a t i o n r e -

    l a t i o n s h i p s. T a b l e 2 i l l u s tr a t e s h o w

    c l u s t er i n g m a y g r o u p t o g e t h e r w i t h

    a c l a s s , s a y

    A U T O M O B I L E ,

    q u i t e

    d i f f e r e n t c l as se s d e p e n d i n g o n a p -

    p l i c a t i o n d o m a i n s .

    W e w i l l t h e n c o n t i n u e o u r s y s t e m

    a n a l y s is b a s e d o n t w o t y p e s o f r e p -

    r e s e n t a t i o n : a

    dynamic model ,

    s h o w -

    i n g p a r t s o f i ts b e h a v i o r a n d a

    s tat ic

    model

    d e s c r i b i n g i ts s t r u c t u r e .

    E v e n t s a n d O b j e c t C o m m u n ic a t io n

    Protocols

    T w o d i f f e r e n t k i n d s o f e v en t s t h a t

    a c t o n s y s t e m b e h a v i o r m u s t b e

    s o r t e d o u t :

    external events

    a n d i n -

    C O M M U N I C A T I O N S O F T H E

    ACM/September 1992/ 1.35, No.9 6 S

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    4/12

    t e r n a l e v en t s .

    E x t e r n a l e v e n t s a r e a c t i o n s i n i ti -

    a t e d b y t h e e x t e r n a l i n te r ac t or ., ~ t h a t

    p r o d u c e a n i n c o m i n g d a t a f l ou r t h a t

    c r o s s es t h e b o u n d a r y o f t h e s y s te m .

    T h e y r e f e r t o s t i m u l i r e c e i v e d f r o m

    t h e o u t s i d e u p o n w h i c h t h e s y s t e m

    r e a c t s a c c o r d i n g t o a c e r t a i n b e h a v -

    i o r . E x t e r n a l e v e n t s h e l p t o f i n d

    c l a s s es t h a t i n t e r f a c e t h e s y s t e m

    w i t h t h e o u t s i d e w o r l d . ' ] ' h e y

    s h o u l d n o t b e c o n s i d e r e d a s " u n e x -

    p e c t e d " e v e n t s . T h e y a r e t h i n g s

    t h a t c a n p o s s i b ly h a p p e n b u t o v e r

    w h i c h t h e s y s t e m h a s n o c o n t r o l o n

    w h e t h e r o r w h e n t h e y m a y o c c ur .

    E x t e r n a l e v e n t s m a y b e c o m e c l as s es

    o r i n p u t p a r a m e t e r d a t a p a s s e d t o

    c l a s s f e a t u r e s .

    I n t e r n a l e v e n t s a r e t i m e - r e l a t e d

    s t i m u l i t h a t m a y b e r e l a t i v e o r a b s o -

    l u t e . T h e y r e f e r t o p a r t s o f s y s t e m

    b e h a v i o r t h a t s i m p l y t r a n s l a t e i n to

    c l a s s f e a t u r e s t h a t w i l l l e a d t o m e s -

    s a g e s d e f i n i n g t h e objec t communi -

    cation protocols.

    S i n c e t h e y a c t o n

    t h e s y s t e m s t a t e , t h e y a l s o t r a n s l a t e

    i n t o a s s e r t i o n s t h a t c o n t r o l t h e

    p r o p e r b e h a v i o r o f t h e s y st e m .

    T h i s t e c h n i q u e r e l a t e s t o p r i n c i-

    p l e s a p p l i e d i n " O b j e c t B e h a v i o r

    A n a l y s i s " [ 1 9 ] .

    T a b l e 3 g i v e s a n e x a m p l e o f

    e v e n t s a p p l i c a b l e t o t h e c a r r e n t a l

    s y s te m a n d c a n b e c o m p a r e d w i t h a

    n o n r e l a t e d s y s t e m ( a t r a f f ic l i g h t

    c o n t r o l l e r ) .

    E v e n t s h e l p t o i n t r o d u c e t h e

    d y n a m i c m o d e l t h a t c o m p l e m e n t s

    t h e s t a t ic s y s t e m s t r u c t u r e . I t h i g h -

    l i g h t s o b j e c t s r e l e v a n t t o s e l e c t e d

    s y s t e m b e h a v i o r s . T h e d y n a m i c

    m o d e l c o n s i s t s o f s c e n a r i o s d e m o n -

    s t r a t i n g s i g n i f i c a n t o b j e c t c o m m u -

    n i c a t i o n p r o t o c o l s . T h e p u r p o s e i s

    t w o f o l d : i t h e l p s t o v a l i d a t e t h e

    s t at i c m o d e l a n d t o m a k e s u r e o b -

    j e c t s a r e r e a c h a b l e f r o m o t h e r s ; i t

    m a p s t h e s y s t e m b e h a v i o r b e t t e r a s

    o p p o s e d t o t h e s t at i c m o d e l t h a t

    o n l y r e f l e c t s t h e s t r u c t u r e .

    D e c i d i n g w h i ch m o d e l s h o u l d b e

    p r o d u c e d f ir s t r e a ll y d e p e n d s o n

    t h e n a t u r e o f t h e a p p l i c a ti o n a n d

    t h e a n a l y s t 's l e v e l o f c o n f i d e n c e .

    D e f i n i n g C l as s e s a n d S k e t c h i n g

    O u t t h e K e r n e l A r c h i t e c t u r e

    F r o m t h e i n i t i a l l i s t o f c l a s s e s ,

    class

    char t s

    a r e t h e n f i l le d o u t . F o r e a c h

    c l a s s e n t r y i n t h e i n i t i a l c l u s t e r

    c h a r t , a c l as s c h a r t i s d e f i n e d a c -

    c o r d i n g t o t h r e e b a s i c t y p e s o f i n -

    f o r m a t i o n :

    T h e

    questions:

    w h a t i n f o r m a t i o n

    c a n o t h e r c l a s s e s a s k f r o m t h e c l a s s?

    T h e

    c om m ands :

    w h a t s e r v ic e s c a n

    o t h e r c l a s s e s a s k t h e c l a s s t o p r o -

    v i d e ?

    T h e

    cons t raint s :

    w h a t k n o w l e d g e

    m u s t t h e c l a s s m a i n t a i n ?

    T h e c h a r t i s s t r u c t u r e d i n t h r e e c o l -

    u m n s , f i l l e d w i t h f r e e - f o r m a t E n g -

    l i s h t e x t .

    T h e c l as s c h a r t d e s c r i b e s a ty p e

    o f o b j e ct t h a t s h o u l d c o r r e s p o n d t o

    a c la s s e n t r y i n t h e c l u s t e r c h a r t . I t

    i s a l s o p o s s i b l e t o s t a t e t h a t t h e d e -

    s c r i b e d t y p e o f o b j e c t i s s u s p e c t e d

    t o b e h a v e l i k e o t h e r t y p e s o f o b j e c t.

    T h i s m a y h e l p r e f i n i n g t h e i n h e r i -

    t a n c e c l a s s i f i c a t i o n l a t e r i n t h e p r o -

    c e ss . E x a m p l e s o f c l a ss c h a r t s a r e

    g i v e n i n F i g u r e 2 .

    A n a l y s i s p r o c e e d s u s i n g a m o r e

    f o r m a l w a y t o r e p r e s e n t t h e s y s t e m

    s t r u c t u r e a n d b e h a v i o r . T h e s t a ti c

    m o d e l s h o w s t h e s y s t e m s t r u c t u r e

    b y i t s d e c o m p o s i t i o n , i t s e l e m e n t s

    a n d t h e i r r e l a t i o n s h i p s , a l o n g w i t h

    t h e c o n s t r a i n t s t h a t t h e c l as s es m u s t

    f u l f i ll . T w o l e v e l s o f d e t a i l a r e s u p -

    p o r t e d : t h e c l a s s l e v e l a n d t h e c l u s -

    t e r l e v e l t h a t d e f i n e s r e l a t i o n s h i p s

    b e t w e e n l o g i c a ll y g r o u p e d c l as s e s.

    T h e m o d e l i n t r o d u c e s t y p e d i n f o r -

    m a t i o n v e r y e a r l y i n t h e a n a l y s i s

    p r o c e s s . I n p r a c t i c e , th i s m e a n s t h a t

    a n y c l a ss d e f i n i t i o n i n t r o d u c e s a

    t y p e d e f i n i t i o n .

    R e l a t i o n s h i p s b e t w e e n c l u s t e r s

    a r e m o s t l y s t r u c t u r a l . T h e y h e l p

    s c a l i n g u p o r d o w n t h e s y s t e m a c -

    c o r d i n g t o g r o u p i n g f a c t o r s o r a b -

    s t r a c t i o n l e v e l s . C l a s s r e l a t i o n s h i p s

    m a y c a p t u r e a d d i t i o n a l s e m a n t i c

    i n f o r m a t i o n t h a t t r a n s l a t e i n t o

    class

    a n n o t a t i o n s . R e l a t i o ns h i p s b e t w e e n

    c l a ss e s a r e r e p r e s e n t e d i n a q u i t e

    d i f f e re n t m a n n e r c o m p a r e d w i th

    T a b l e 2 .

    C la s s A U T O M O B I L E w i t h r e l a t e d c l u s t e r c la s se s

    APPLICATION DOMA IN

    A u t O m o b i le m a n u f a c t u re r

    T r a f f i c - li g h t c o n t r o l l e r

    Repair

    s t a t i o n

    C a r re n tal c om p a ny

    CLASSES RELATED TO A U T OMO B I L E

    L I MO COUPE S ED AN S T A T ION _WAGON

    PEDESTR IAN B I KE VEH I C L E

    FORE IGN_CAR DOMEST I C _CAR

    TRUCK TRA IL ER COMPACT _CAR

    LUXURY_CAR

    T a b l e 3 .

    E v e n t c h a r t s

    APPLICATION DOMA IN EXTERNAL EVENT INTERNAL EVENT

    Car r e n ta l c o m p a n y C u s t o m e r m a k e s a c a r r e s e r v a ti o n . R e n t a l c o n t r a c t p r i n t e d w h e n c a r r e t u r n e d .

    A r e n t e d c a r b r e a k s d o w n . T a n k r e f i l l e d o n r e t u r n ,

    A n e w c a r j o i n s t h e f l e e t M i l e a g e c h e c k e d o n r e t u r n .

    A c a r i s r e t u r n e d . C a r i n s p e c t i o n d o n e o n l e a v e a n d o n r e t u rn ,

    Traffic-light c o n t r o l l e r

    A v eh i c l e i s a r r i v i ng a t t he i n t e rs ec t i on . L i gh t t u rns g reen .

    A veh ic le i s leav ing

    t h e

    i n t e rs ec t i on , Red l i gh t s t a r t s f l a s h ing .

    A roa d i s c los ed t o t ra f f ic .

    6 6

    September 1992/Vol.35,

    N o . 9 / C O M M U N I C A T I O N S O F T H E

    AC:M

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    5/12

    a r t i c l e s

    t e c h n i q u e s s u c h a s t h e e n t i t y - r e l a -

    t i o n s h i p m o d e l . T a b l e s 4 a n d 5

    m a k e a p a r a l l e l b e t w e e n t h e e n t i t y -

    t o - e n t i t y r e l a t i o n s h i p s i n t h e r e l a -

    t i o n a l m o d e l a n d t h e c l a s s - t o - c l a s s

    s t r u c t u r in g m e c h a n i s m s o f t h e o b-

    j e c t m o d e l . T h e c l a s s s t r u c t u r i n g

    m e c h a n i s m i s b a s e d o n t w o b a s i c

    r e l a t i o n s h i p s : t h e inheritance rela-

    tionship a n d t h e client-supplier rela-

    tionship. T h e c l i e n t - s u p p l i e r r e l a -

    t i o n s h i p u s u a l l y e n c o m p a s s e s t w o

    t h i n g s : t h e association relationship

    a n d t h e aggregation relationship, as

    e x p l a i n e d i n [ 1 3 ] .

    C l a s s es a l wa y s b e l o n g t o a c l u s t e r

    u s u a l l y d i s p l a y e d i n a b s t r a c t e d

    f o r m , t h a t i s o n l y w i t h t h e i r h e a d e r .

    F i g u r e 3 i l l u s t r a t e s s t a t i c a n d d y -

    n a m i c m o d e l n o t a t i o n s u s e d i n

    B O N .

    T a b l e 4 .

    S e m a n t i c s o f e n t i t y

    r e l a t i o n s h i p s I n t h e r e l a t i o n a l

    m o d e l

    TYPE O F R E L A T IO N S H I P (m u l t i p l iC i t y )

    has_a(1:1)

    o w n s , c o n t a i n s , i s - c o n t a i n e d - l n ( l : m )

    c ons i s t s -o f ( re : m )

    i s - a ( l : l l

    O b j e c t - O r ie n t e d D e s i g n w i t h

    a n E x a m p l e

    O b j e c t - o r i e n t e d d e s i g n t r a n s f o r m s

    t h e a n a l y s i s c la s s es i n t o a c o m p u t e r -

    i z e d m o d e l t h a t b e l o n g s t o t h e s o l u -

    t i o n s p a c e . Th i s a c t i v it y s t a r t s f r o m

    t h e a n a l y s i s c l a s s e s a n d p r o d u c e s

    a d d i t i o n a l t y p e s o f o b j e c t s t h a t b e -

    c o m e c l a s s e s n o t d i r e c t l y r e l a t e d t o

    t h e p r o b l e m s p a c e . T h e s e c l a s s e s

    e x t e n d , g e n e r a l i z e , o r i m p l e m e n t

    the in i t i a l s e t o f ana lys i s c l a s ses .

    P r i m i t i v e s i n t r o d u c e d d u r i n g d e -

    s i g n a r e n o t n e c e s s a r i l y p u b l i c a n d

    m a y r el a t e t o i m p l e m e n t a t i o n d e c i -

    s i o n s s u c h a s t o d e t e r m i n e w h i c h

    T a b l e s .

    S e m a n t i c s o f In h e r i t a n c e a n d c l i e n t - s u p p l i e r r e l a t i o n s h i p s In t h e o b j e c t - o r i e n t e d m o d e l

    CLASS

    T Y P E O F R E L A T I O N S H IP

    CLASS

    i n h e r i t a n c e

    r e l a t i o n s h i p s

    d e s c e n d a n t i s - a p a r e n t

    d e s c e n d a n t

    b e h a v e s - l i k e

    p a r e n t

    d e s c e n d a n t i m p l e m e n t s p a r e n t

    d e s c e n d a n t c o m b i n e s paren t s

    p a r e n t

    d e f e r s - t o

    d e s c e n d a n t

    p a r e n t f a c t o r s - o u t des c endan t s

    C l i e n t / S u p p l i e r

    r e l a t i o n s h i p s

    c l i en t

    u s e s

    s upp l i e r s

    c l i en t n e e d s s upp l i e r s

    c l i en t h a s - a s upp l i e r

    c l i en t

    c o n s i s t s - o f

    s upp l i e r s

    s upp l i e r

    p r o v i d e s - t o

    c l i en t s

    CONTRA

    C T

    Cluster name: CAR RENTAL

    S Y S T E M

    Behaves l ike:

    Y P E O F O B J E C T :

    R e n t a l t e r m s w i t h p a y m e n t c o n d i ti o n s

    Questions ....... I C Om m a n d s

    PURCHASE ORDER

    Constraints

    Means of paymenL Invoice c l ie nL Corporate cus tomers

    Indiv idual or Acknowledge do not get weeX-end

    corporate customer, a reservat ion, rate discounts.

    Rental documents.

    VEHICLE

    Cluste r name:

    RENTAL PROPERTIES

    T YPE O F O B JEC T : B e h a v es l ik e :

    A u t o m o b i l e s e l e c t e d f r o m RENTED_ITEM

    t h e r e n t a l fl e e t

    I

    Quest ions Comma nds Const ra in ts

    [ Model o f c a r , Checkmi leage, Depar ting and

    License_plate. Ref i l l gas ta nk . returning locat ions

    Availabi li ty . Change oi l . are the same.

    Depart ing locat ion.

    Returning locat ion.

    CUENT

    Cluste r name: C O N T R A C T E L E M E N T S

    T Y P E O F O B J E C T : B e h a v e s l ik e :

    Car renter, i n d i v i d u a l o r P E R S O N

    corporate customer

    Quest ions Com mand s Const ra in ts

    Name. Enter in Client has already

    Address , date b a s e . reserved or rented

    Corporate cus tom er. Give special a car.

    Spec ial rate. rate.

    RENTAL

    Cluster name:

    CONTRACTELEMENTS

    T YPE O F O B JEC T : B e h a v es l ik e :

    R e n t a l I n fo r m a t i o n c o m p l e t e d w h e n

    t a k i n g o u t a n d r e t u r n i n g v e h i c l e

    QuesUone Com mand s Const ra in ts

    Selected automobile.

    List o f authorized drivers,

    Selected insurance policy.

    Applicable rate.

    E x t r a

    choices,

    Start ing and end ing mileage.

    Depart ing and returning dates.

    Start ing mileage

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    6/12

    c l a s s es w i ll i n t e r f a c e t o t h e o u t s i d e

    o f t h e s y s t e m , d e a l w i t h m a c h i n e o r

    s y s te m d e p e n d e n t i n f o r m a t i o n ,

    l e a d t o p e r s i s t e n t o b j e c t s , b e i n

    c h a r g e o f e r r o r r e c o v e r y , et c .

    D e s c r i b i n g , I n d e x i n g a n d

    I n s t a n t i a t i n g

    Classes

    D u r i n g d e s i g n w i t h B O N , c l a s s

    c h a r t s a r e t r a n s l a t e d i n t o

    class de-

    s c r i p t i ons .

    T h e s e c l as s d e s c r i p t i o n s

    r e p h r a s e t h e s a m e i n f o r m a t i o n i n a

    m o r e s t r u c t u r e d a n d f o r m a l m a n -

    n e r t h a t w i l l h e l p t h e g e n e r a t i o n o f

    p r e f i l l e d c l a s s t e m p l a t e s i n a n a p -

    p r o p r i a t e o b j e c t - o r ie n t e d l a n g u a g e .

    T h e d e s c r i p t i o n d e t a i l s c l as s f ea -

    t u r e s a n d c o n t r a c t i n g c o n d i t i o n s .

    C l a s s d e s c r i p t i o n s f i r s t f o c u s o n v i s -

    F ig u re 3 . G raph ica l notat ions used in

    BON static and dynamic models

    i b l e f e a t u r e s .

    C l a s s c h a r t c o l u m n e n t r i e s b e -

    c o m e c o m m e n t s a s s o c i a t e d to c la s s

    f e a t u r e s ; w h i c h m e a n s t h a t a n y

    c o n s i s t e n c y c h e c k i n g a t t h a t l e v e l

    c a n o n l y b e d o n e b y a n a u t o m a t e d

    t o o l. T h e t r a n s l a t i o n s c h e m e i s

    s t r a i g h t f o r w a r d :

    Q u e s t i o n s a r e m a p p e d i n t o a tt r i -

    butes

    ( s t a t e v a r i a b l e s )

    or func t ions

    in

    t h e E i f f e l s e n s e ;

    C o m m a n d s a r e m a p p e d i n to

    p r o -

    cedu res ;

    C o n s t r a i n t s a r e m a p p e d i n t o

    as-

    se r t i ons a n d class

    invar iants ;

    B e h a v i o r r e s e m b l a n c e t r a n s l a t e s

    i n t o i n h e r i t a n c e ( s e e [ 1 1 ] ) .

    R o u t i n e s i g n a t u r e s

    ( input

    o r ou t p u t

    p a r am e t er s p r e -

    a n d

    posteonditions)

    a r e a l s o l i s t e d . I n a d d i t i o n t o t h i s ,

    o n e s h o u l d r e c a l l t h a t i n t e r n a l

    e v e n t s m a y b e c o m e c l a s s f e a t u r e s .

    F i g u r e 4 i s t h e t r a n s l a t i o n t o c l a ss

    d e s c r i p t i o n s o f t h e c l a s s c h a r t s d e -

    f i n e d d u r i n g t h e a n a l y s i s s t a g e. T h e

    e x p l a n a t i o n o f s o m e s y m b o l s i s a l s o

    g i v e n i n a n a s s o c i a t e d t a b l e . C l a s s e s

    a r e n o w f u l ly d e s c r i b e d : w i t h t h e i r

    h e a d e r a n d t h e i r b o dy . T h e c la ss

    b o d y i s d e c o m p o s e d i n t o d i f f e r e n t

    p a r ts . T h e m o s t c o m m o n l y d e -

    s c r i b e d p a r t s a r e : t h e r e f e r e n c e t o a

    d i r e c t p a r e n t , t h e l i st o f t y p e d f e a -

    t u r e s w i t h t h e i r a s s e r t io n s a n d c o m -

    m e n t s , i f a n y , a n d t h e c l a s s i n v a r i -

    a n t , i f a n y .

    F o r i n s t a n c e , t h e

    R E N T A L

    c l a s s

    s h o u l d m a k e s u r e t h a t w h e n e v e r a

    v e h i c l e i s r e t u r n e d , i t h a s p r e v i o u s l y

    b e e n t a k e n o u t . T h i s o b v i o u s s t a t e -

    m e n t a v o i d s p o s s i b l e m i s u s e o f t h e

    s y s t em . T h e r e i s a l w a y s a s t r a n g e

    s i t u a t i o n w h i c h i s a p o t e n t i a l s o u r c e

    o f e r r o r : d r i v e r s o f t h e s a m e c o m -

    p a n y t h a t h a v e e a c h r e n t e d a c a r

    *

    /

    pi lot

    ow ner

    % , s

    I T R A N S P O R T A T I O N

    S tat i c mod el ( l e f t s ide) :

    I

    I

    I

    I

    I

    2' -5-~D DRIVER

    A car i s purchased by someone I

    The driver enters the car 2

    The car 's engine starts and runs 3

    The car 's engine stops 4

    The driver leaves t h e c a r 5

    Clusters are represented wi th rounded corner rectangles drawn wi th dashed l ines and are tagged wi th a name .

    C lasse s are represented a s a nam e inside an ell ipse, with optional annotations: deferred classes are topped with

    a star sign, non-deferred descendant classes are topped with a plus sign, reused classes have an underlined name.

    Inheritance relationships are represented with a single l ine ending by an arrowhead oriented from the descendant

    to the pa rent Cl ient-suppl ier relat ionships are represented wi th a double l ine ending by an arrowhea d in case of

    association and with an ope n curly bracket in case of aggregation. The d ouble l ine may be tag ged w ith class feature

    name s involved in the c l i e n t - s u p p l i e r relat ionship. Relationships are def ined betw een classes and can b e extende d

    to clusters

    Dynamic model ( r igh t s ide) :

    Objects are represented inside rectangles. A shadowed rectangle denotes multiple instances.

    C omm unication protocols are represented w ith das h lines, labele d with numb ers. Th ese num bers are then referred

    to in comm ented scenarios

    68

    Septernbcr 1992/Vo1.35,

    N o . 9 /C O M M U N i C A T I O N $ O F T H E A C M

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    7/12

    a r t i c l e s

    a n d t h e n s w i t ch e d t h e m w i t h o u t

    n o t i f y in g t h e r e n t a l c o m p a n y . I n

    t h a t c a s e , t h e c l a s s i n v a r i a n t s e r v e s

    a s a s y s t e m c o n s i s t e n c y c h e c k e r .

    I n t h e CONTRACT c l a s s , t h e i n -

    v a r i a n t tr a n s la t e s a m a n a g e m e n t

    r u l e s t a t e d i n t h e i n i t i a l s e t o f r e -

    q u i r e m e n t s : c o r p o r a t e c u s t o m e r s

    d o n o t h a v e a c c e s s t o sp e c i a l w e e k -

    e n d f e e s. F r o m t h e d e s c r i p t i o n o f

    t h e c l a s s e s , a f i r s t d r a f t o f t h e a r c h i -

    t e c t u re i s t h e n d e f i n e d a n d a p p e a r s

    i n F i g u r e 5 . A d y n a m i c s c e n a r i o i s

    g i v e n in F i g u r e 6 . T h e d e s i g n t e c h -

    n i q u e e m p h a s i z e s t h e s y s t e m f l e x i -

    b i l i t y w i t h r e s p e c t t o i t s p o s s i b l e e x -

    t e n s i o n s o r a d a p t a t i o n s . H i g h - l e v e l

    c l a s s es c a n e a s i l y b e c u s t o m i z e d o r

    p a r t i c u l a r i z e d u s i n g i n h e r i t a n c e .

    C l a s s e s a r e a p p l i c a t i o n - d e p e n -

    d e n t . T h e o n l y w a y t o s o l v e t h e

    p r o b l e m o f f i n d i n g s u i t a b l e c l a s s e s

    f o r r e u s e i s t o a d d c l as s i n d e x i n g

    F i g u r e 4 . C la ss de s c r ip t i ons o f t h e

    c a r r e n t a l s y s t e m

    ~ l l c e n s e _ p l at e

    K E Y

    t y pe

    MODEL

    s t a t u s

    A V A I L A B I L I T Y

    depar t ing_ f rom , re t u rn ing_ t o

    L O C A T I O N

    J

    I E - S E T [ O P T I O N ] [

    I ava i lab i l i t y date I

    m eans _ o f pa y m en t

    M E A N S O F P A Y M E N T

    c l ient

    . . Ind iv idual or corporate cus tome

    C LI EN T

    doc um en t s

    - - R e n l a l contracts

    SET [ R EN T AL ]

    invoice

    - - D o the invoicing

    means_of_payment #= ~

    make_ reservat ion

    client ~ ,-~

    J

    v e h i c l e

    - - S e l e c t e d a u t o m o b i l e

    V E H I C L E

    authorized_ d r i v e r s

    S E T [ D R I V E R ]

    I ns u ranc e_po l i c y

    I N S U R A N C E

    d i s c o u n t

    - - Rate used to compute the tee

    R A T E

    ext ra_ I tems

    S E T [ E X T R A ]

    s tar t ing_mi leage, re turn ing_mi leage

    VALUE

    tak ing_out_date, re turn ing_date

    D A T E

    J

    Sy mbol s u s e d

    Input argument --;-]

    Output a rgument

    Routine precondit ion -- I

    Routine postcondit lon I- -

    Class Invarlanl

    Void reference ,,~

    C O M M U N I C A T I O N S O F T HE ACM/September 1992/Vol.35, No.9

    69

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    8/12

    : : : ~ i l e s

    a n d d o c u m e n t i n g i n f o r m a t i o n t o

    r e t r i e v e t h e m e a s i l y f r o m l i b r a r i e s

    o r d a t a ba s e s o f c o m p o n e n t s a c c o r d-

    i n g t o g i v e n s e l e c t i o n c r i t e r i a .

    T o i m p l e m e n t a u t o m a t e d t o o l s

    m a n a g i n g i n d e x i n g t e c h n i q u e s , i t is

    n e c e s s a r y t o p r e p a r e t h e f u t u r e

    r e u s e b y e n f o r c i n g d e s i g n g u i d e -

    l i n e s b y w h i c h a n y c o m p l e t e d c l a s s

    F i g u r e 5 . Pa r t i a l s t a t i c m o d e l o f t h e

    ca r r e n t a l s y s t e m

    s h o u l d b e d o c u m e n t e d a c c o r d i n g t o

    a p r e f i l l e d h e a d e r t e m p l a t e . C l a s s

    h e a d e r t e m p l a t e s i n c l u d e r e f e r -

    e n c e s t o t h e c o v e r e d a p p l i c a t i o n

    d o m a i n s , t o p r o j e c t m a n a g e m e n t

    i n f o r m a t i o n , t o r e q u i r e m e n t d o c u -

    m e n t s , e t c. A n e x a m p l e o f s u c h a n

    i n d e x i n g c l a u s e i s g i v e n i n F i g u r e 7 .

    On c e a n a l y s i s a n d d e s i g n c l a s s e s

    a r e a l l i d e n t i f i e d , w e n e e d t o k n o w

    h o w t h e i r i n s t a n c e s a r e c r e a t e d

    u n d e r c e r t a i n c i r c u m s t a n c e s . T h e

    s t a t i c a r c h i t e c t u r e o n l y d e f i n e s c l a s s

    r e l a t i o n s h i p s ; t h e d y n a m i c m o d e l

    o n l y e m p h a s i z e s s e l e c te d c o m m u n i -

    c a t i o n p r o t o c o l s b e t we e n o b j e c t s .

    T h e r e f o r e , a w a y t o m a p o n e m o d e l

    t o t h e o t h e r i s t o p r o d u c e d u r i n g

    t h e d e s i g n p h a s e a n ob j ec t c r ea t i on

    c h a r t .

    T h e p u r p o s e o f th i s c h a r t i s t o

    d e t e r m i n e w h i c h c la s s i s r e s p o n s i b l e

    f o r t h e c r e a t i o n o f th e i n s t a n c e s o f

    o t h e r c l as s e s. A t t h i s l e v el o f d e -

    s c r i p t i o n , o n e s h o u l d c o n c e n t r a t e

    o n l y o n c l a s s e s f o u n d d u r i n g t h e

    /

    f %

    I C A R _ R E N T A L S Y S T E M I

    o f _ p a y m e n t , c li e n t ,

    ( d o c u m e n t s )

    / d ~

    I d e p a r t in g _ d a t e 1 ,

    r e t u r n i n g _ d a t e t ~

    , . n a m e . N S _ O F P A I

    @

    , . .

    , ' , . ~ s ~ ;,~ - z_ - ~ ~ Z ~

    I , . S U P P O R T s , , - - . ,

    V E H I C L E _ P R O P E R T I E S

    @ , ' @ @

    I

    I I

    @ , - -

    I

    i I

    .1 (options)

    ' ~ O P T I O N S , ~

    I

    RENTAL_PROPERTIES'~'

    < - ; w e ; p e R ; - > i

    UAL_G l

    I

    I

    ~. O PTION . TYP E

    %.

    7 0

    S e p t e m b e r 1 9 9 2 / % 1 . 3 5 ,

    N o . 9 /C O M M U N I C A T I O N S O F

    T H E A C M

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    9/12

    ar l~ | les

    v e r y f i r s t s t a g e s . T a b l e 6 s h o w s a n

    e x a m p l e o f t h e o b j e c t c r e a t i o n t a b l e

    c o r r e s p o n d i n g t o t h e c a r r e n t a l

    e x a m p l e r e v i e w e d e a r l i e r .

    A b s t r a c t i n g a n d C l a s s i f y i n g

    W h a t r e a l l y m a k e s o b j e c t - o r ie n t e d

    s o f t w a r e s o a t t r a c t i v e i s t h a t i t s

    s t r u c t u r e " i s " i t s o w n c l a s s i f i c a t i o n

    a n d t h a t t h i s c l a s s i f i c a t i o n i s

    a c h i e v e d s o as to b e g e n e r a l e n o u g h

    t o a c c o m m o d a t e a n y p o s s ib l e e x -

    t e n s i o n o r m o d i f i c a t i o n w i t h o u t

    i m p a c t i n g o r c o m p l i c a t i n g t h e e x -

    i s t i n g a r c h i t e c t u r e .

    F i gu r e G . E x am ple o f a dyn am ic sce -

    nario

    F i gu r e 7 . In dex in g c lau se o f t he c lass

    VEH ICLE

    R e f e r r i n g t o [ 1 0 ] , w h i c h c o n -

    c e r n s t h e d e s i g n o f a l i b r a r y o f re -

    u s a b l e c o m p o n e n t s , i t is i n t e r e s ti n g

    t o n o t e t h a t a n y o f a w i d e r a n g e o f

    d a t a s t r u c t u r e s c o u l d a l w a y s b e

    l i n k e d t o o n e o f t h e f o l l o w i n g c l as si -

    f i c a t i o n c r i t e r i a :

    T h e

    storage;

    a c l a s s i f i c a t i o n d i -

    m e n s i o n t h a t c a p t u r e s w h e t h e r t h e

    d a t a s t r u c t u r e is b o u n d e d , f ix e d ,

    r es i zab le , . . .

    T h e

    t ravers ing;

    a c l a s s i f i c a t i o n

    d i m e n s i o n t h a t c a p t u re s t h e s t r u c -

    t u r a l r e l a t i o n b e t w e e n t h e d a t a

    s t r u c t u r e e l e m e n t s , . . .

    T h e access method; a c l a s s i f i c a t i o n

    d i m e n s i o n t h a t c a p t u re s t h e w a y s

    e l e m e n t s a r e a c c e s s e d .

    T h u s , i t b e c o m e s m u c h e a s ie r t o

    12

    - - - - -

    R E N T A , i

    : 4

    A contract is prepared for a client: 1 V

    R e q u e s te d r e n te d c a r s a r e g r o u p e d b y c l ie n t : 2 3 ] V E H I C L E I

    A rentalplan Is established for a specific vehicle: 4

    I

    A v e h i c le mo d e l i s c h o s e n : 5 ~ 5

    Se l ec t e d mo d e / i s a t w o - d o o r m a n u a l g e a r ca r :. 6

    p . 8

    I ] I

    f

    s y n o n y m s : c a r t r a n s p o r t a t io n m e a n

    a p p l i c a t i o n d o m a i n s :

    c a r r e n t a l c a r e a s e

    a u t h o r :

    J . M . N e r s o n

    dat e :

    M a y 1 1 9 9 2

    r e v i s i o n : 2 . 1

    s p e c - r e f s :

    s r s . 1 . 3 . 3 s r s . 3 . 4 . 7

    k e y w o r d s : r e n t a l a g e n c y c a r v e h i c l e a u t o m o b i l e

    J

    1 1 n b l e 6 .

    O b j e c t c r e a t i o n t a b l e

    l~/pe of object

    CONTRACT

    RENTA L

    VEH ICLE

    Creates

    R E N TA L R A T E

    VEH ICLE

    M O D E L

    p r o d u c e a n y k i n d o f d a t a s t r u c t u r e

    s i m p l y b y p i c k i n g a n d a s s e m b l i n g

    c l a s se s f r o m t h e s e t h r e e b a s i c c l a ss i -

    f i c a t i o n s .

    Y e t a c l a s s i f i c a t i o n i s n e v e r p e r -

    f e c t . I t i s i n t e n d e d t o r e f l e c t a s

    c l o s e l y a s p o s s i b l e a r e a l i t y w h i c h

    h a s n o s i m p l e o r d e r . A

    n o n s o f t w a r e - r e l a t e d e x a m p l e i s t h e

    p e r i o d i c a l c l a s s if i c a ti o n o f c h e m i c a l

    e l e m e n t s b y M e n d e l e i ' v : i t f i t s r e a l -

    i ty v e r y w e l l, b u t n o t e x a c t ly . T h e r e

    a r e s o m e " h o le s "; n o t b e c a u s e m i n -

    e r a l e l e m e n t s a r e y e t t o b e f o u n d ,

    b u t b e c a u s e i n s o m e c a s es t h e c l a s si -

    f i c a t i o n s c h e m e i s b e t t e r r e p r e -

    s e n t e d i n 3 D w h e r e a s i t w a s i n i ti a l ly

    d e s i g n e d i n 2 D .

    B a c k t o o b j e c t - o r i e n t e d s o f t w a r e ,

    a s s u m e t h a t a li b ra r y m a n a g e m e n t

    s o f tw a r e i s d e s i g n e d a r o u n d t h e

    a s s u m p t i o n t h a t b o o k authors a r e

    h u m a n b e i n g s. T o c a p t u r e t h is id e a ,

    a c l a s s i f i c a t i o n i s d e f i n e d s o a s t o

    m a k e c l a s s

    A U T H O R

    a d e s c e n d a n t

    o f c l a s s

    P E R S O N .

    U n f o r t u n a t e l y ,

    s o m e t i m e l a t e r , a n e w b o o k i s

    a d d e d t o t h e l i b r a r y st o c k t h a t is n o t

    w r i t t e n b y a p e r s o n b u t b y a g r o u p

    o f u n k n o w n a u t h o r s u s i n g a p se u -

    d o n y m . W h a t t o d o t h e n w i t h o u t

    d a m a g i n g t h e e x i s t i n g a rc h i t e c t u re ?

    T h e o n l y p o s s i b l e s o l u t i o n i s t o d e -

    f i n e a n e w c l a s s ,

    W R I T E R

    f o r i n -

    s t an c e , p r o b a b l y a d e f e r r e d o n e ,

    w h i c h i s a n e w p a r e n t o f

    A U T H O R

    ( t hi s w il l n o t c h a n g e t h e i n t e r f a c e o f

    A U T H O R )

    a n d t o e x t e n d t h e c l a s s i -

    f i c at i o n d o w n f r o m t h e

    W R I T E R

    c l a s s s o a s t o i n t r o d u c e a c l a s s

    A C R O N Y M . . A U T H O R .

    A s a c o n c l u s i o n w e c a n s t a t e:

    A c l a s s if i c a t i o n , p r o p e r l y l a i d o u t

    b y t h e a n a l y s t a c c o r d i n g t o th e u n -

    d e r s t a n d i n g o f t h e p r o b l e m s p a ce ,

    m o d e l s r e a l i t y ;

    O b j e c t - o r i e n t e d f a c i l i t i e s p e r m i t

    m o d i f i c a t i o n o f th e m o d e l w i t h o u t

    GOMMUNICATIONS

    O F T H E

    ACM/September 1992/Vol.35, No.9 7 1

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    10/12

    b r e a k i n g t h e c o r e a r c h i t e c t u r e

    w h e n e x t e n s i o n s o r s p e c i a l

    c a s e s

    s h o w u p .

    G e n e ra l i z a t i o n o f t h e Ex a m p l e

    A t t h e c o m p l e t i o n o f t h e o b j e c t -

    o r i e n t e d a n a l y s i s a n d d e s i g n , b e -

    f o r e c l a s s c o d i n g h a s e v e n s t a r t e d , a

    g e n e r a l i z a t i o n p r o c e s s m u s t b e g i n .

    L o o k i n g a t o u r s y s t e m a r c h i t e c t u r e ,

    w e m a y w o n d e r i f it is s u f fi c i e n t ly

    g e n e r a l t o m a x i m i z e f u t u r e r e u s e .

    T h e a n s w e r u s u a l l y v a r i e s a c c o r d -

    i n g t o t h e d o m a i n o f a c t iv i t y o f t h e

    d e v e l o p m e n t t e a m . I n t h e c a s e o f a

    l a r g e s o f t w a r e h o u s e , i t m a y b e

    a p p r o p r i a t e t o d o s o m e e x t r a w o r k

    t o g e n e r a l i z e t h e i n i t i a l a r c h i t e c -

    t u r e . H i g h - l e v e l c l a ss a b s t r a c t i o n s

    u s u a l l y d o n o t c o m e f i r s t t o m i n d .

    T h e i m p r o v e m e n t p ro c e s s o f t e n

    r e s u l t s i n t h e f o l l o w i n g s c e n a r i o :

    A f i r s t v e r s i o n o f t h e s y s t e m i s

    w r i t t e n .

    L a t e r , s p e c i a l i z e d v e r s i o n s o f" e x -

    i s t i n g

    c l a ss e s a r e w r i t t e n . T h e y a r e

    h e i r c l a s s e s o f t h e e x i s t i n g c l a s s e s ,

    e x t e n d i n g o r r e i m p l e m e n t i n g p a r -

    e n t f e a t u r e s .

    S i n c e t h e i n i t i a l s e t o f c l a s s es a p -

    p e a r s t o o p r o b l e m - s p e c i f i c , s o m e

    c o m m o n f e a t u r e s a r e fa c t o r e d o u t

    i n t o v e r y h i g h - l e v e l c l a s s e s . T h e s e

    h i g h - l e v e l c la s s es s e r v e a s p a r e n t

    c l a s s e s

    o f t h e c l a s s e s b e l o n g i n g t o

    t h e i n i t i a l s y s t e m a n d t o t h e

    c l a s s e s

    n e w l y i n t r o d u c e d . T h e s e n e w

    c l a s s e s

    k e e p t h e s a m e i n t e r f a c e a s

    t h e o n e s t h e y a r e p a r e n t o f .

    B e f o r e t h e i m p l e m e n t a t i o n o f

    t h e c a r r e n t a l s y s t e m i s c o m p l e t e d ,

    o n e m a y a s k h o w t o p a v e t h e w a y

    f o r c o p i n g w i t h o t h e r s y s t em s s i m i -

    l a r t o o u r i n i ti a l p r o b l e m s u c h a s :

    A b o a t r e n t a l s y s t e m ( m o t o r b o a t

    a n d s a i l b o a t ) ;

    A s p o r t e q u i p m e n t l o a n s y s t e m

    ( s n o w s k i s , d i v i n g m a t e r i a l , e t c ) .

    R e f e r r i n g t o o u r i n i t i a l c a r r e n t a l

    s y s te m , m a n y c o m m o n f e a t u r e s

    e x i s t , b u t o t h e r e l e m e n t s m u s t

    c h a n g e : t h e r e i s l i tt l e c h a n c e t h a t

    t h e p r i c e o f a p a i r o f s k is c a n b e

    l i n k e d t o a n u m b e r o f m il e s . . . f o r

    e x a m p l e .

    E v e n a p p l i c a t i o n s s u c h a s a h o t e l

    r e s e r v a t i o n s y s t e m o r a b o x o f f i c e

    t i c k e t i n g s y s t e m h a v e s i m i l a r i t i e s

    w i t h o u r i n i ti a l s y s t em . F r o m t h i s

    o b s e r v a t i o n , t w o o p t i o n s a r e p o s s i -

    b l e :

    D o n o t h i n g a n d t h e b e n e f i t

    g a i n e d f r o m a p p l y i n g o b je c t-

    o r i e n t e d t e c h n i q u e s i s l i m i t e d t o th e

    s t r u c t u r i n g o f t h e a p p l i c a t i o n .

    D o s o m e e x t r a w o r k i n v o l v i n g t h e

    s e a r c h f o r m o r e g e n e r a l s t r u c t u r e s .

    L o o k i n g a t o u r c u r r e n t s y s t em

    a r c h i t e c t u r e ; c l a s s e s i n s i d e t h e

    C O N T R A C T . _ E L E M E N T S

    c l u s t e r

    c a n p o s s i b l y b e k e p t a f t e r s o m e

    m i n o r m o d i f i c a t i o n s . C l a s s e s i n s i d e

    t h e

    R E N T A L _ P R O P E R T I E S

    c l u s t e r

    a r e

    m u c h t o o p r o b l e m - s p e c i f i c . T o

    b e g e n e r a l i z e d , n e w c l as s e s h a v e t o

    b e i n t r o d u c e d a s a n c e s t o r c l a s s e s .

    C l a s s e s

    s u c h a s

    V E H I C L E , D R I V E R ,

    R A T E , I N S U R A N C E

    m a y n o w b e

    d e f i n e d a s d e s c e n d a n t c l as s es o f

    m o r e g e n e r a l a n d a b s t r a c t c la s s es

    t h a t c o u l d r e s p e c t i v e l y b e :

    P R O D -

    U C T , C O N S U M E R , P R I C E , W A R -

    R A N T Y .

    T h e s e c l a s se s i n t r o d u c e f e a t u r e s

    t h a t w i ll b e i m p l e m e n t e d o r r e i m -

    p l e m e n t e d i n o u r p r e v i o u s ly d e-

    f i n e d c l a s s e s . F o r i n s t a n c e , t h e

    P R O D U C T

    c l a s s is i n i t i a l l y d e f i n e d

    b y a b s t r a c t i n g f e a t u r e s o r i g i n a l l y

    i n t r o d u c e d i n t h e

    V E H I C L E

    c la ss .

    T h e c a r r e n t a l s y s t e m c l as s es li s t e d

    i n s i d e t h e

    R E N T A L

    c l u s t e r c a n n o w

    b e r e w r i t t e n a c c o r d i n g t o t h e g e n -

    e r a l i z a t i o n p r o c e s s . C o n s e q u e n t l y ,

    t h e V E H I C L E c l a s s c h a n g e s a s d e -

    t a i l e d i n F i g u r e 8 .

    S o m e c l a s s i n v a r i a n t s i n i t i a l l y i n -

    t r o d u c e d i n th e

    V E H I C L E

    c l a s s

    a r e

    n o w m o v e d u p i n to t h e

    P R O D U C T

    c l a s s . S i n c e f e a t u r e license_plate is

    a d a p t e d f r o m f e a t u r e

    serial_number

    i n t r o d u c e d i n p a r e n t c l a s s

    P R O D -

    UCT,

    a p l u s s y m b o l s i g n ( + ) i s a p -

    p e n d e d t o t h e f e a t u r e n a m e . F e a -

    t u r e s l i s t e d i n t h e

    V E H I C L E

    c l a s s

    n o w s i m p l y a d d r e s s c a r r e n t a l s y s-

    t e m s p e c if i cs . I t is w o r t h n o t i n g t h a t

    s o m e f e a t u r e s n o w i n t r o d u c e d i n

    c l a s s

    P R O D U C T ,

    s u c h a s

    serial-

    _number

    o r

    stocking place,

    m a y s i m p l y

    b e k e p t u n d e r a n e w n a m e i n c l as s

    P R O D U C T ,

    w h i c h i s w h y t h e i r

    n a m e s a r e a ls o a p p e n d e d w i th a

    p l u s s i g n .

    T h i s w i ll n o t h a p p e n t h o u g h ,

    w i t h f e a t u r e

    t y pe

    t h a t i s o n l y r e l e -

    v a n t t o t h e c l a s s

    V E H I C L E

    a s o u t -

    l i n e d d u r i n g o u r i n i ti a l a n a ly s i s.

    BON and Tools

    T h e m e t h o d o l o g y a n d n o ta t i o n

    p r e s e n t e d r e s u l t f r o m a n E S P R I T

    P r o j e c t ( " B u s i n e s s C l a s s " [ 8 ] ) i n

    w h i c h a n o b j e c t - o r i e n t e d a n a ly s i s

    a n d d e s i g n t e c h n i q u e w a s d e v e l -

    o p e d a f t e r e x p e r i m e n t i n g o n p i l o t

    p r o j e ct s d i f f e r e n t e x i s ti n g m e t h o d -

    o l o g i e s [ 2 , 5 , 7 , 1 7 , 2 0 , 2 2 , 2 4 ] . S p e -

    c i fi c a t t e n t i o n w a s a l s o d e v o t e d t o

    p o s si b le e n h a n c e m e n t s o f a m o d e l -

    i n g t e c h n i q u e n a m e d O * [ 3 , 4 ] w i t h

    a s t r o n g d a t a b a s e o r i e n t a t i o n a n d

    s o m e s i m i l a r i ti e s t o O O S A [ 21 ].

    T h i s i n s p i r e d t h e B O N o b je c t-

    o r i e n t e d a n a ly s is a n d d e s i g n m o d e l

    a n d n o t a t i o n d e s i g n e d s o a s t o s u p -

    p o r t t h e f o l l o w i n g c a p a b il i t ie s :

    A n a l y s i s a n d d e s i g n :

    t h e f o r m a l -

    i s m h e l p s t h e a n a l y s t i n s k e t c h i n g a

    f i r st s e t o f c l a ss e s a n d r e l a t i o n s h i p s

    t h a t c a n d i r e c t l y b e t r a n s l a t e d i n t o a

    s y s t e m d e s i g n , i t s e l f t r a n s l a t a b l e

    i n t o a s e t o f p r o g r a m m i n g l a n g u a g e

    c l a s s e s .

    S c a l a b i l i t y : t h e f o r m a l i s m f o r

    r e p r e s e n t i n g g r o u p s o f cl a ss e s

    s ca le s u p a n d s u p p o r t s p r o b l e m

    p a r t i t i o n i n g b a s e d o n l a y e r s o f a b -

    s t r a c t i o n u s i n g c l as s c l u s t e r i n g t e c h -

    n i q u e s .

    R e v e r s e e n g i n e e r i n g :

    s i n c e a n y

    k i n d o f i n f o r m a t i o n i s s t o r e d i n a

    c o h e r e n t i n t e r n a l d a t a s t r u c t u r e , i t

    i s p o s s i b l e t o r e u s e e x i s t i n g s y s t e m s

    a n d t r a n s l a t e t h e m b a c k i n t o a s c h e -

    m a t i c f o r m . T h i s e n a b l e s t h e a n a -

    l y s t to v i s u a l i z e e x i s t i n g c l a s s l i b r a r -

    i es n o t d e v e l o p e d w i th a m o d e l i n g

    t e c h n i q u e , o r f o r w h i c h t h e a c c o m -

    p a n y i n g a n a l y s is a n d d e s i g n d o c u -

    m e n t a t i o n d o e s n o t c o m e w i t h t h e

    o f f - t h e - sh e l f p r o d u c t .

    D o c u m e n t a t i o n :

    a n y e l e m e n t

    t h a t a p p e a r s i n t h e s c h e m a t i c d i a -

    g r a m o r i n th e t e x t u al f o r m s h o u l d

    b e t r a c e a b l e . A r e p o s i t o r y o f c l a ss e s ,

    p r o p e r t i e s , r e l a t i o n s h i p s a n d d e -

    p e n d e n c i e s i s m a i n t a i n e d a n d c a n

    I ~ September 1992/Vol.35,

    N o . 9 /C O M M U N I C A T I O N S O F T H E

    A C M

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    11/12

    a r t i c l e s

    b e q u e r i e d t o p r o d u c e b r o w s e r - li k e

    i n f o r m a t i o n o r c r o s s - r e f e r e n c e

    f o r m s .

    Structur ing mechanism : t h e

    m o d e l o f f e r s t w o g r a p h i c a l r e p r e -

    s e n t a t i o n s : a s t a t i c d i a g r a m a n d a

    d y n a m i c g r a p h . T h e s ta ti c d i a g r a m

    r e p r e s e n t s c l a s s e s a n d c l u s t e r s o f

    c l a s s e s a l l l i n k e d t h r o u g h d i f f e r e n t

    k i n d s o f r e l a t i o n s h i p s . I t p e r m i t s

    t h e d e f i n i t i o n a n d v i s u a l i z a t i o n o f

    we l l - d e c e n t r a l i z e d s o f t wa r e a r c h i -

    t e c t u r e s p r o m o t e d b y o b j e ct -

    o r i e n t e d t e c h n i q u e s . T h e d y n a m i c

    g r a p h i l l u s t r a t e s c o m m u n i c a t i o n

    s c e n a r i o s b e t we e n o b j e c t s .

    Systematic des ign:

    t h e m o d e l

    f o s t e rs t h e a p p l i c a t i o n o f t h e c o n -

    t r a c t m o d e l b e t we e n c l a s s e s . As s e r -

    t i o n s s u c h a s p r e - a n d p o s t c o n d i -

    t i o n s o f c l a ss i n v a r i a n t s , c a n b e

    e x p r e s s e d w i t h a f o r m a l i s m r e l y i n g

    o n s y m b o l s c o m m o n l y u s e d i n s e t

    t h e o r y a n d t h e n d i r e c t l y i m p l e -

    m e n t e d i n E i f f e l .

    C o m p o n e n t m a n a g e m e n t :

    so f t -

    wa r e e l e m e n t s s u c h a s c l a s s e s , f e a -

    t u r e s , c l u s t e r s , r e l a t i o n s h i p s a r e

    k e p t u n d e r c o n f i g u r a t i o n m a n a g e -

    m e n t c o n t r o l , t h a n k s t o t h e i n d e x -

    i n g c l a u s e s . Ea c h c l a s s i s k n o wn b y

    i ts v e rs i o n a n d o t h e r k e y in f o r m a -

    t i o n c a n p o t e n t i a l l y b e i n t e r f a c e d

    w i t h a d a p t e d q u e r y i n g t o o l s .

    A s u m m a r y o f t h e d i f fe r e n t m e t h -

    o d o l o g i c a l s t e p s t o f o l l o w i s g i v e n i n

    T a b l e 7 . A n y o b j e c t - o r i e n t e d a n a l y -

    s i s a n d d e s i g n t e c h n i q u e m u s t b e

    b a c k e d w i t h s u p p o r t i n g C A S E

    t o o ls . I n t h e s c o p e o f " Bu s i n e s s

    C l a s s " a w o r k b e n c h s u p p o r t i n g

    B O N i s b e i n g i m p l e m e n t e d :

    E if fe lC a s e .

    T h i s w o r k b e n c h , d e -

    s ig n e d w i th B O N a n d p r o g r a m m e d

    i n E i f f e l [ 1 1 ] , c o n s is t s o f t wo d i f f e r -

    e n t c o m p o n e n t s .

    T h e f i r s t E i f f e l C a s e c o m p o n e n t

    i s a d r a w i n g t o o l t h a t s u p p o r t s t h e

    n o t a t i o n a n d g e n e r a t e s c l a ss te m -

    p l a t e s f r o m a n i n t e r n a l f o r m o f

    c l u s t e r s a n d s y s t e m d e p e n d e n c i e s .

    A t a n y t i m e , t h r e e d i f f e r e n t v i e w s

    c a n b e d i s p l a y e d a n d m a n i p u l a t e d :

    T h e c l a ss c h a r t s ;

    Th e c l u s t e r s ;

    T h e c l a s s d e s c r i p t i o n s .

    F o r t h e s e t h r e e v i e ws a c o n s i s t e n t

    i n t e r n a l s t r u c t u r e is m a i n t a i n e d .

    A n y c h a n g e m a d e t o o n e o f t h e

    v i e w s i s a u t o m a t i c a l l y p r o p a g a t e d

    i n t o t h e o t h e r t w o a s s o o n a s s o m e

    " c o m m i t " o p e r a t i o n i s t r i g g e r e d .

    T h e c la s s c h a r t v i e w o f f e r s f o r m s

    t o fi ll o u t . Th e g r a p h i c a l v i e w o f f e r s

    a d r a wi n g - t o o l i n t e r f a c e , w i t h a p a l -

    e t t e o f g r a p h i c a l e l e m e n t s t o b e s e -

    l e c t e d a n d p l a c e d o n t h e s c r e e n .

    T h e l a y o u t o f t h e g r a p h i c a l c l a ss e s

    a n d c l u s t e r s r e m a i n s u n d e r t h e

    u s e r ' s c o n t r o l .

    T h e s e c o n d E i f f e l C a s e c o m p o -

    n e n t is a i m e d a t h e l p i n g t h e a n a l y s t

    t o f i n d a n d m a n a g e c o l l e c t i o n s o f

    c l a s ses . I t i s a l a rge - sca le b rowse r

    t h a t q u e r i e s a n d u p d a t e s a d a t a b a s e

    o f c la s s i n f o r m a t i o n a c c o r d i n g t o

    v a r i o u s c r it e r ia . T h e s u p p o r t i n g

    r e p o s i t o r y i s l a y e r e d o n t o p o f t h e

    P C T E ( P or ta b le C o m m o n T o o l

    E n v i r o n m e n t ) O b j e c t M a n a g e m e n t

    S y s t e m e m e r g i n g a s a C A S E t o o l s

    i n t e g r a t i o n s t a n d a r d .

    Acknowledgments

    I a m v e r y g r a te f u l t o B e r t r a n d

    M e y e r f o r h i s c o n st a n t s u p p o r t a n d

    f o r s u g g e s t i n g b r i g h t a n d p r o d u c -

    t iv e i d e as . a l so t h a n k v e r y m u c h

    I I = l g u T e 8 . M o d i f i e d

    V E H I C L E

    class de-

    s cr i p t i o n

    f -ser ial_number

    KEY

    s t o c k i n g _ p l a c e

    LOCATION

    s t a t u s

    ACCESSIBILITY

    H e i r o f : P R O D U C T

    ~

    l i c e n s e _ p l a t e +

    K E Y

    d e p a r t i n g _ f r o m + , r e t u r n i n g _ t o

    LOCATION

    s t a t u s +

    AVAILABILITY

    type

    MODEL

    I d e p a r t i n g _ f r o m = r e t u r n in g _ t o I

    J

    T a b l e 1 .

    S u m m a r y o f B 0 N m e t h o d o l o g i c a l s t e p s

    DEL I NEAT E T H E S YS T EM B O R DER L I NE

    L I S T C ANDI DAT E C L AS SES O B S ER VED I N T H E PR O B L EM DO M AI N

    GR OU P CLASSES INTO CLUSTERS

    DEF I NE C ANDI DAT E C L AS S ES I N T E R M S O F Q U ES T I O NS /C O M M ANDS /

    CONSTRAINTS

    DEF INE BEHA VIORS: EVENTS, OBJECT COMM UNICATION PROTOCOLS, OBJECT

    C R EAT I O N C H AR T

    DEF I NE C L AS S FEAT U R ES , I NVAR IANT S AND C O NT R AC T I NG C O NDI T IO NS

    REF INE C LASS DESCR IPTIONS

    W O R K O N GENER AL I Z AT IO N

    C O M PL ET E AND R EVI EW AR C H IT EC T U R E

    C O M M U N I C A T I O N S O F

    THE

    ACM/S eptember 1992/Vol.35, No.9

    73

  • 7/25/2019 Nerson - 1992 - Applying Object-Oriented Analysis and Design

    12/12

    K i m W a l d e n a n d a ll t h e r e v i e w e r s

    f o r t h e i r e x t r e m e l y h e l p f u l c o m -

    m e n t s . []

    R e f e r e n c e s

    1 . B e c k , K ., C u n n i n g h a m , W . A l a bo -

    r a t o r y f o r t e a c h i n g o b j e c t - o r i e n t e d

    t h i n k i n g . O O P S L A ' 8 9 , O c t . 1 . 9 8 9 ,

    p p . 1 - 6 .

    2 . B ooch , G. Object Oriented Design with

    Applications.

    T h e B e n j a m i n /

    C u m m i n g s P u b l i s h i n g C o m p a n y ,

    Inc. 1991.

    3 . B r u n e t , J . M o d e l i n g t h e w o r l d w i t h

    s em ant i c ob jec t s . Univer s i ty o f Par i s

    I , I n t e rna l Repo r t , 1991 .

    4 . Cauvet , C . , Roland , C . , P ro ix , C . A

    d e s i g n m e t h o d o l o g y f o r o b j e c t o r i -

    e n t e d d a t a b a s e . I n t e r n a t i o n a l C o n -

    f e r e n c e o n M a n a g e m e n t o f D a t a ,

    H y d e r a b a d , I n d i a , 1 9 8 9 .

    5 . C o a d , P . a n d Y o u r d o n , E . Object Ori-

    ented Analysis, S e c o n d E d i t i o n , P r e n -

    t i ce-Hal l , Englewood C l i f f s , N. J . ,

    1991.

    6 . C o a d , P . O b j e c t - o r i e n t e d p a t t e r n s .

    Commun. ACM 35,

    9 (Sept. 1992).

    G i v e t h e g i f t o f l if e .

    C all (800)877-5833 or inform ation

    ~ S T . J U D E C H / L D R E N ' S

    ~ R E S E A R C H

    H O S P / T A L

    II~mn r~Nr~*i.Founder

    7. Du ke, R. , K ing , P. , Rose, G. ,

    Sm i th , G. Th e ob jec t -Z s pec i f ica t ion

    l a n g u a g e . I n Proceedings TOOLS 5,

    ( S a n t a B a r b a r a , J u l y - A u g u s t 1 9 91 ),

    P ren t i ce Hal l , Englewood C l i f f s ,

    N. J . , 1991 , pp . 465-483 .

    8 . E S P R I T I I , B u s i n e s s C la s s T e c h n i -

    c a l A n n e x . P r o j e c t # 5 3 1 1 , C o m m i s -

    s i o n o f t h e E u r o p e a n E c o n o m i c

    C o m m u n i t y , B r u x e l l e s , S e p t . 1 9 90 .

    9 . H e n d e r s o n - S e l l e r s , B . BOOK o f Ob-

    ject-Oriented Knowledge.

    O b j e c t O r i -

    e n t e d S e r i e s , P r e n t i c e - H a l l , E n g l e -

    wood Clif fs , N.J . , 1991.

    10 . Meyer , B . Tool s fo r the new cu l -

    t u r e : L e s s o n s fr o m t h e d e s i g n o f th e

    Eiffel l ibrar ies ,

    Commun. ACM 33, 9

    (Sep t . 1990) , 69-88 .

    11. Meyer , B. Eiffel: T he Language. O b -

    j e c t O r i e n t e d S e r i e s , P r e n t i c e - H a l l ,

    Engle wo od C l i f f s , N.J . , 1992.

    12 . Meyer , B . Des ign by con t r ac t . I n

    Advances in Object-Oriented Software

    Engineering,

    D . M a n d r i o l i a n d

    B . M e y e r , E d . , O b j e c t - O r i e n t e d

    S e r i e s , P r e n t i c e - H a l l , E n g l e w o o d

    Clif fs , N.J . , 1991, pp. 1-5 0.

    1 3 . M o n a r c h i , D ., P u h r , G , I . A r e s e a r c h

    t y p o l o g y f o r o b j e c t - o r i e n t e d a n a l y -

    s i s and des ign .

    Commun. ACM 35, 9

    (Sept. 1992).

    1 4 . N e r s o n , J. E x t e n d i n g E i f fe l to w a r d

    O - O a n a l y s is a n d d e s i g n . I n

    Proceed-

    ings TOOLS 5, ( S a n ta B a r b a ra , J u l y -

    Augus t 1991) , P ren t i ce Hal l , Engle-

    wood C l i f f s , N. J . , 1991 , pp . 377-

    392 .

    15 . Ner s on , J .

    Object-Oriented Architec-

    tures: Analysis and Design of Reliable

    Systems. P r e n t i c e H a l l , E n g l e w o o d

    Cl i f f s , N. J . To appear .

    16 . Nier s t r az , O. , Ts i chr i t z i s , D. ,

    G i b b s , S . C o m p o n e n t - O r i e n t e d

    s o f t w a r e d e v e l o p m e n t .

    Commun.

    A C M 3 5 , 9 (Sept. 1992).

    17 . P age- J ones , M. , Co ns tan t ine , L . an d

    Weis s , S . Model ing ob jec t o r i en ted

    s y s t e m s : t h e u n i f o r m o b j e c t n o t a -

    t ion .

    Comput. Lang. 7,

    (Oct. 1990),

    6 9 - 8 7 .

    1 8 . P o t t e r , J. S o f t w a r e d e v e l o p m e n t

    w i t h E i f f e l , T O O L S 4 T u t o r i a l

    Notes , Par i s , J u ne 1990.

    1 9 . R u b i n , K . , G o l d b e r g , A . O b j e c t b e -

    hav io r ana lys i s .

    Commun. ACM 35, 9

    (Sept. 1992).

    2 0 . R u m b a u g h , J . , B l a h a , M . , P r e m e r -

    l an i , W. , Eddy , F . and Lorens en , W.

    Object Oriented Modeling and Design.

    Pren t i ce-Hal l , Englewood C l i f f s ,

    N.J. , 1991.

    21 . Sh laer , S . and Mel ln r , S . J .

    Object

    Oriented Systems Analysis, Modeling

    th

    World in Data.

    Y o u r d n n P r e s s C o r n -

    p u t i n g S e r ie s , P r e n t i c e - H a l l , E n g l e -

    wood Clif fs , N.J . , 1988.

    22 . Wa s s erma n , A. I . , P i r cher , P . A. ,

    Mul l e r , R . J . Concep t s o f ob jec t -

    o r i e n t e d s t r u c t u r e d d e s i g n . I n

    Pro-

    ceedings TOO LS '89 Conference, Paris ,

    Nov . 1989 , pp . 269-280 .

    23 . Win blad , A . L . , E dwa rds , S . D.,

    King , D. R . Object Oriented Software.

    A d d i s o n - W e s l e y P u b l i s h i n g C o m -

    pany , 1990 .

    24 . Wi r f s -Brock , R . , Wi lker s on , B . and

    W e i n e r , L .

    Designing Object-Oriented

    Software. P r e n t i c e - H a l l , E n g l e w o o d

    Clif fs , N.J . , 1990.

    C R C a t e g o r i e s a n d S u b j e c t D e s c r i p -

    tors : D .2 .1 [ Sof tware] : S o f t w a r e E n g i -

    n e e r i n g - - requirements / specifications;

    D. 2 . 10

    [ Sof tware] :

    S o f t w a r e E n g i -

    n e e r i n g - d e s i g n ; 1.6.0 [ C o m p u t i n g

    M e t h o d o l o g i e s ] :

    S i m u l a t i o n a n d M o d -

    e l ing -genera l ;

    1.6.3

    [ C o m p u t i n g M e t h -

    o d o l o g i e s ] :

    S i m u l at io n a n d M o d e l i n g - -

    applications;

    K. 6 . 3

    [ C o m p u t i n g

    M i l i e u x ] : M a n a g e m e n t o f C o m p u t i n g

    a n d I n f o r m a t i o n

    Systems--software

    management; K. 6 . 4 [ C o m p u t i n g

    M i l i e u x ] : M a n a g e m e n t o f C o m p u t i n g

    a n d I n f o r m a t i o n

    Systems--system man-

    agement

    G e n e r a l T e r m s :

    D e s i gn , E x p e r i m e n -

    t a t i o n

    A d d i t i o n a l K e y W o r d s a n d P h r a s e s :

    Analys i s , des ign , f l ex ib le s of tware a r ch i -

    t e c t u r e , o b j e c t - o r i e n t e d n o t a t i o n a n d

    m e t h o d o l o g y , o b j e c t - o r i e n t e d s o f t w a r e

    e n g i n e e r i n g , r e l ia b l e c o m p o n e n t r e u s -

    ab i l i t y , s t a t i c c l as s model and dynamic

    o b j e c t m o d e l

    A b o u t t h e A u t h o r :

    J E A N - M A R C N E R S O N i s m a n a g i n g

    di r ec tor o f the Soc i4 t~ des Out i l s du

    Logiciel (Par is ) . C u r r e n t r e s e a r c h i n t e r -

    e s t s i n c l u d e t h e a n a l y s i s a n d d e s i g n o f

    r e l i ab le s ys t ems .

    A u t h o r ' s P r e s e n t A d d r e s s :

    Soci~t6 des

    Out i l s du Logic i e l , 104 rue Cas tagnary ,

    7 5 0 1 5 P a r i s , F r a n c e ; e m a i l : m a r c @

    eiffel . f r

    Permission to copy witho ut fee all or pa rt of

    this mater ial is granted provided that the

    copies are no t made or dis t r ibuted for direct

    commercial advantage, the ACM copyright

    not ice a nd the t i tle of the publ icat ion and i ts

    date appear, and n otice is given that copying

    is by permission of the Association for

    Com puting Machinery. To copy otherwise, or

    to republish, requires a fee and/or specific

    permission.

    ACM0002-0782/92/0900-063 $1.50