+ All Categories
Home > Documents > Dealing with change - An approach using non-functional requirements

Dealing with change - An approach using non-functional requirements

Date post: 08-Apr-2018
Category:
Upload: danderj
View: 213 times
Download: 0 times
Share this document with a friend

of 50

Transcript
  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    1/50

    J a n u a r y 1 9 9 7 . R e v i s i o n p r e p a r e d f o r R e q u i r e m e n t s E n g i n e e r i n g , V o l u m e 1 , N u m b e r 4 .

    D e a l i n g w i t h C h a n g e :

    A n A p p r o a c h U s i n g N o n - F u n c t i o n a l R e q u i r e m e n t s

    1

    L a w r e n c e C h u n g B r i a n A . N i x o n E r i c Y u

    C o m p u t e r S c i e n c e P r o g r a m D e p a r t m e n t o f C o m p u t e r S c i e n c e F a c u l t y o f I n f o r m a t i o n S t u d

    T h e U n i v e r s i t y o f T e x a s a t D a l l a s U n i v e r s i t y o f T o r o n t o U n i v e r s i t y o f T o r o n t o

    P . O . B o x 8 3 0 6 8 8

    R i c h a r d s o n , T X 7 5 0 8 3 { 0 6 8 8 T o r o n t o , O n t a r i o M 5 S 3 H 5 T o r o n t o , O n t a r i o M 5 S 3 G

    U . S . A . C a n a d a C a n a d a

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

    ( 1 { 9 7 2 ) 8 8 3 { 2 1 7 8 ( 1 { 4 1 6 ) 9 7 8 { 4 2 9 9 ( 1 { 4 1 6 ) 9 7 8 { 3 1 0 7

    F a c s i m i l e ( 1 { 9 7 2 ) 8 8 3 { 2 3 4 9 F a c s i m i l e ( 1 { 4 1 6 ) 9 7 8 { 1 4 5 5

    1

    T h i s i s a n e x t e n d e d a n d r e v i s e d v e r s i o n o f a p a p e r 1 3 ] a p p e a r i n g i n t h e P r o c e e d i n g s o f t h e S e c o n d

    I n t e r n a t i o n a l S y m p o s i u m o n R e q u i r e m e n t s E n g i n e e r i n g , Y o r k , E n g l a n d , M a r c h 1 9 9 5 . A d r a f t o f t h a t p a p e r

    w a s p r e p a r e d w h e n a l l t h r e e a u t h o r s w e r e a t t h e D e p a r t m e n t o f C o m p u t e r S c i e n c e , U n i v e r s i t y o f T o r o n t o .

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

    1

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    2/50

    A b s t r a c t

    N o n - f u n c t i o n a l r e q u i r e m e n t s ( o r Q u a l i t y R e q u i r e m e n t s , N F R s ) s u c h a s c o n d e n t i a l i t y , p e r f o r -

    m a n c e a n d t i m e l i n e s s a r e o f t e n c r u c i a l t o a s o f t w a r e s y s t e m . C o n c e r n s f o r s u c h N F R s a r e o f t e n

    t h e i m p e t u s f o r c h a n g e . T o s y s t e m a t i c a l l y s u p p o r t s y s t e m e v o l u t i o n , t h i s p a p e r a d a p t s t h e

    \ N F R - F r a m e w o r k " w h i c h t r e a t s N F R s a s g o a l s t o b e a c h i e v e d d u r i n g d e v e l o p m e n t . T h r o u g h -

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

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

    r e c o r d s . W e s h o w h o w s u c h h i s t o r i c a l r e c o r d s o f t r e a t i n g N F R s a s g o a l s a l s o s y s t e m a t i c a l l y

    s u p p o r t s y s t e m e v o l u t i o n . T h i s a p p r o a c h i s i l l u s t r a t e d b y a s t u d y o f c h a n g e s i n l o a n p o l i c i e s

    a t B a r c l a y s B a n k . T h e s t u d y c o n s i d e r e d c h a n g e s i n N F R s , a n d a s s o c i a t e d c h a n g e s i n p r i o r i -

    t i e s , w o r k l o a d a n d f u n c t i o n a l i t y . T h e s t u d y ' s h i s t o r i c a l r e c o r d s h e l p e d q u i c k l y d e t e r m i n e t h e

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

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

    K e y w o r d s : c h a n g e , n o n - f u n c t i o n a l r e q u i r e m e n t s , s o f t w a r e q u a l i t y , s o f t w a r e e v o l u t i o n .

    2

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    3/50

    1 I n t r o d u c t i o n

    N o n - F u n c t i o n a l r e q u i r e m e n t s ( o r q u a l i t y r e q u i r e m e n t s , N F R s ) s u c h a s c o n d e n t i a l i t y , p e r -

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

    b a n k i n g i n f o r m a t i o n s y s t e m o r m e d i c a l a n d g o v e r n m e n t i n f o r m a t i o n s y s t e m s . S u c h c o n c e r n s

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

    a s y s t e m . F u r t h e r m o r e , t h e c o n t i n u e d s u c c e s s o f a s o f t w a r e s y s t e m o f t e n r e q u i r e s m e e t i n g

    c h a n g i n g o r g a n i s a t i o n a l n e e d s i n a c o m p e t i t i v e m a r k e t p l a c e 3 2 ] .

    I n f a c t , c h a n g i n g a n d c o n i c t i n g r e q u i r e m e n t s w e r e o n e o f t h e t h r e e m a i n p r o b l e m s f o r

    s o f t w a r e d e v e l o p m e n t , a s i d e n t i e d i n p r o b l e m - d r i v e n e m p i r i c a l s t u d i e s 2 0 ] . C o n s e q u e n t l y ,

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

    t h e p r e s e n c e o f a c h a n g i n g e n v i r o n m e n t . B u t d e a l i n g w i t h c h a n g e i s d i c u l t . W h y ?

    C h a n g e s t o e x i s t i n g s o f t w a r e r e q u i r e s d e a l i n g w i t h m a n y c h a n g e s , a n d m a n y t y p e s o f

    c h a n g e s . F o r a b a n k i n g s y s t e m , f o r e x a m p l e , t h e s e i n c l u d e c h a n g e s i n o r g a n i s a t i o n ( e . g . ,

    r e d u c t i o n i n s t a ) , n o n - f u n c t i o n a l r e q u i r e m e n t s ( e . g . , g r e a t e r i n f o r m a t i v e n e s s ) , f u n c t i o n a l

    r e q u i r e m e n t s ( i . e . , w h a t t h e s y s t e m d o e s , e . g . , w h a t t h e s y s t e m s h o u l d p r i n t o n s t a t e m e n t s ) ,

    p r i o r i t i e s ( e . g . , c o n d e n t i a l i t y i s m o r e i m p o r t a n t t h a n s p e e d ) , o r g a n i s a t i o n a l w o r k l o a d ( e . g . ,

    t h e n u m b e r o f b a n k c l i e n t s ) , t a r g e t - s y s t e m t e c h n i q u e s ( e . g . , h o w t o a c h i e v e g o o d r e s p o n s e

    t i m e ) a n d t h e l i k e . T h i s i n v o l v e s i d e n t i f y i n g i m p o r t a n t c h a n g e s , d e t e r m i n i n g t h e i r p o t e n t i a l

    i m p a c t o n q u a l i t y i s s u e s , a n d i n c o r p o r a t i n g t h e i m p a c t t h r o u g h t h e p r o c e s s o f i m p r o v e m e n t .

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

    d e g r e e o f m e e t i n g r e q u i r e m e n t s | b o t h t h e r e q u i r e m e n t w h i c h w a s c h a n g e d , a n d o t h e r s . I n

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

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

    n e e d t o k n o w w h i c h d e c i s i o n s t o r e - c o n s i d e r .

    T o a l l e v i a t e t h e s e d i c u l t i e s i n d e a l i n g w i t h c h a n g e , g i v e n t h e n e e d f o r s y s t e m q u a l i t y , t h i s

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

    g o a l - o r i e n t e d f r a m e w o r k , t h e N F R F r a m e w o r k 9 , 4 1 , 1 6 ] w h i c h t r e a t s q u a l i t y r e q u i r e m e n t s

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

    3

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    4/50

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

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

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

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

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

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

    e v o l u t i o n o f t h e s y s t e m .

    S t u d y . T h i s p r o c e s s - o r i e n t e d i n c r e m e n t a l a p p r o a c h i s i l l u s t r a t e d b y a s t u d y o f c h a n g e s

    i n b a n k l o a n p o l i c i e s a t B a r c l a y s B a n k . I n t h e s t u d y , w e c o n s i d e r t h e i m p a c t o f c h a n g e s ,

    p r i m a r i l y c h a n g e s i n n o n - f u n c t i o n a l r e q u i r e m e n t s d r i v e n b y c h a n g e s i n o r g a n i s a t i o n a l p o l i c y .

    T h e s c e n a r i o i s b a s e d o n t w o e d i t i o n s o f T h e B a r c l a y s C o d e o f B u s i n e s s B a n k i n g 2 , 3 ]

    w h i c h i s i n r e a l - w o r l d u s e , s e t t i n g o u t t h e g e n e r a l p r i n c i p l e s a n d t e r m s o f B a r c l a y s B a n k ' s

    d e a l i n g s w i t h i t s b u s i n e s s l o a n c u s t o m e r s . O n e e d i t i o n o f t h e C o d e 2 ] w a s a c o m m o n e x a m p l e

    f o r t h e W o r k s h o p o n R e s e a r c h I s s u e s i n t h e I n t e r s e c t i o n b e t w e e n S o f t w a r e E n g i n e e r i n g a n d

    A r t i c i a l I n t e l l i g e n c e , S o r r e n t o , I t a l y , M a y 1 9 9 4 .

    I n r e v i e w i n g b o t h e d i t i o n s o f t h e C o d e 2 , 3 ] , w e s e e t h a t t h e b a n k h a s a n u m b e r o f

    q u a l i t y c o n c e r n s , i n c l u d i n g s e c u r i t y , a c c u r a c y a n d t i m e l i n e s s . F u r t h e r m o r e , w e a s s u m e t h a t

    p e r f o r m a n c e i s a l s o a n i m p o r t a n t q u a l i t y c o n c e r n .

    T h e r s t e d i t i o n 2 ] i d e n t i e s a n u m b e r o f c h a n g e s w h i c h w e r e t o b e i m p l e m e n t e d i n 1 9 9 2 ,

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

    b a n k - l o a n s t a t e m e n t s . T h i s t r e n d t o w a r d s g r e a t e r i n f o r m a t i v e n e s s c o n t i n u e d i n t h e s e c o n d

    e d i t i o n 3 ] , w h i c h i s q u i t e s i m i l a r t o t h e r s t e d i t i o n .

    W e c o n s i d e r e d h o w o u r a p p r o a c h m i g h t b e u s e d t o h e l p b a n k e r s d e a l w i t h c h a n g e s . I n

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

    r e q u i r e m e n t s a n d o p e r a t i o n s . W e c o n s i d e r e d a v a r i e t y o f n o n - f u n c t i o n a l r e q u i r e m e n t s ( f o r

    i n f o r m a t i v e n e s s , p e r f o r m a n c e , t i m e l i n e s s , e t c . ) . W e a d d r e s s e d c h a n g e s i n N F R s , a s w e l l a s

    a s s o c i a t e d c h a n g e s i n p r i o r i t i e s ( e . g . , t h e r e w a s a t r e n d t o w a r d s g r e a t e r i n f o r m a t i v e n e s s ) ,

    w o r k l o a d ( e . g . , i n c r e a s e s i n s t a t e m e n t s g e n e r a t e d ) a n d f u n c t i o n a l i t y ( e . g . , s e n d i n g a d d i t i o n a l

    4

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    5/50

    o r m o r e d e t a i l e d s t a t e m e n t s t o c l i e n t s ) . W e a l s o c o n s i d e r e d a c h a n g e i n t e c h n i q u e s u s e d t o

    p r o d u c e a t a r g e t s y s t e m .

    U s i n g t h e a p p r o a c h i n v o l v i n g h i s t o r i c a l r e c o r d s , w e w e r e a b l e t o q u i c k l y r e p r e s e n t a n d d e a l

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

    N F R s f o r t h e c h a n g e d s y s t e m .

    P a p e r O u t l i n e . S e c t i o n 2 p r e s e n t s a n o v e r v i e w o f o u r p r o c e s s f o r d e a l i n g w i t h c h a n g e . I n

    a s t u d y u s i n g t h e s c e n a r i o o f t h e B a r c l a y s C o d e o f B u s i n e s s B a n k i n g , S e c t i o n 3 i l l u s t r a t e s

    t h e r s t h a l f o f t h e c h a n g e p r o c e s s , n a m e l y h o w w e g e n e r a t e a n i n i t i a l d e s i g n f r o m t h e b a n k ' s

    i n i t i a l r e q u i r e m e n t s . I t a l s o g i v e s a b r i e f t u t o r i a l o n t h e N F R F r a m e w o r k . S e c t i o n 4 c o n t i n u e s

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

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

    B a r c l a y s C o d e s . S e c t i o n 5 o e r s g u i d a n c e f o r t h e c h a n g e p r o c e s s i n t e r m o f g u i d e l i n e s f o r

    c o n s i s t e n t l y m a n a g i n g h i s t o r i c a l r e c o r d s i n t h e p r e s e n c e o f c h a n g e s i n t h e w o r l d . S e c t i o n 6

    d i s c u s s e s t h e c a t a l o g u i n g o f d o m a i n a n d N F R - s p e c i c k n o w l e d g e t o a i d t h e p r o c e s s o f d e a l i n g

    w i t h N F R s a n d c h a n g e . S e c t i o n 7 d e s c r i b e s a s e t o f f e a t u r e s t h a t a t o o l s h o u l d h a v e t o s u p p o r t

    t h e c h a n g e p r o c e s s . S e c t i o n 8 p r e s e n t s r e l a t e d w o r k a n d f u t u r e w o r k , w h i l e S e c t i o n 9 p r e s e n t s

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

    2 A n O v e r v i e w o f t h e C h a n g e P r o c e s s

    T h i s s e c t i o n d e s c r i b e s a p r o c e s s o f c h a n g e w h i c h e x p l o i t s t h e g o a l - o r i e n t e d r e q u i r e m e n t s e n g i -

    n e e r i n g p a r a d i g m , c o n s i s t e n t w i t h t h e r e q u i r e m e n t s e n g i n e e r i n g p r o c e s s o f 3 7 ] . T h i s p r o c e s s

    i s i n t e n d e d t o a l l e v i a t e t h e d i c u l t i e s i n d e a l i n g w i t h c h a n g e , w h i l e m a i n t a i n i n g a f o c u s o n

    q u a l i t y . I n o r d e r t o d e a l w i t h c h a n g e , w e g o b a c k t o t h e s o u r c e w h e r e t h e c h a n g e s o r i g i n a t e d ,

    n a m e l y t h e p r e v i o u s r e q u i r e m e n t s d e s c r i p t i o n , a n d c o m p a r e w i t h t h e n e w o n e . C h a n g e s c a n

    b e i n t r o d u c e d t o d e a l w i t h t h e c u r r e n t n e e d s o f t h e o r g a n i s a t i o n . T h i s c a n i n v o l v e c h a n g e s t o

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

    l o a d , a n d s o o n . S i n c e t h i s m a y i n v o l v e i m p r o v i n g t h e q u a l i t y o f t h e e x i s t i n g s y s t e m , i t i s

    5

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    6/50

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

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

    B y a d a p t i n g t h e g o a l - o r i e n t e d N F R F r a m e w o r k 9 , 4 1 ] , w e t r e a t q u a l i t y r e q u i r e m e n t s a s

    g o a l s t o b e a c h i e v e d d u r i n g t h e p r o c e s s o f s y s t e m d e v e l o p m e n t , a s w e l l a s d u r i n g s u b s e q u e n t

    s y s t e m e v o l u t i o n . T h r o u g h o u t t h e p r o c e s s , c o n s i d e r a t i o n o f d e s i g n a l t e r n a t i v e s , a n a l y s i s o f

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

    r e l a t i o n t o t h e s t a t e d g o a l s . T h i s p r o c e s s n o t o n l y s e r v e s a s a m e a n s f o r q u a l i t y - f o c u s s e d

    d e v e l o p m e n t , b u t a l s o r e s u l t s i n a n h i s t o r y r e c o r d . I n t e r m s o f t h e h i s t o r i c a l r e c o r d , c h a n g e s

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

    t h e e x i s t i n g s y s t e m c o m p o n e n t s t h a t n e e d c h a n g e .

    O u r p r o c e s s - o r i e n t e d i n c r e m e n t a l a p p r o a c h i s d e p i c t e d p i c t o r i a l l y i n F i g u r e 1 . I n t h i s

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

    a v a i l a b l e . H e r e , w e r e p r e s e n t t h e i n i t i a l r e q u i r e m e n t s a n d m a p o u t a n i n i t i a l d e s i g n . T h e

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

    l e f t - h a n d s i d e o f F i g u r e 1 . W e t h e n r e p r e s e n t c h a n g e i n r e q u i r e m e n t s , p r o d u c e a r e v i s e d

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

    r e s u l t i n g f r o m t h i s c h a n g e p r o c e s s i s s h o w n o n t h e r i g h t - h a n d s i d e o f F i g u r e 1 . N o t e t h a t t h i s

    c h a n g e p r o c e s s c a n c o n t i n u e t o s u c c e s s i v e l y y i e l d n e w s y s t e m s . I n t h i s c a s e , t h e t e r m \ i n i t i a l "

    s h o u l d b e r e p l a c e d b y \ o l d " ( \ p r e v i o u s " o r \ c u r r e n t l y e x i s t i n g " ) .

    I n i t i a l R e q u i r e m e n t s E n g i n e e r i n g . N o w w e g o t h r o u g h t h i s s y s t e m a t i c p r o c e s s , i n m o r e

    d e t a i l , w h i c h i n v o l v e s a n i n i t i a l r e q u i r e m e n t s e n g i n e e r i n g p r o c e s s f o l l o w e d b y a c h a n g e p r o c e s s .

    A n e a r l y s t e p i n t h e i n i t i a l p r o c e s s i s t o i d e n t i f y t h e i n i t i a l t o p - l e v e l r e q u i r e m e n t s . B y c o n -

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

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

    r e p r e s e n t t h e m a s g o a l s t o a c h i e v e i n a n h i s t o r y r e c o r d . I f n e e d e d , w e a l s o p r i o r i t i s e t h e g o a l s

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

    I n a b a n k l o a n s y s t e m , s u c h a s b u s i n e s s b a n k i n g a t B a r c l a y s B a n k , w e w o u l d b e d e a l i n g

    w i t h a c o m b i n a t i o n o f N F R s i n c a l c u l a t i n g l o a n i n t e r e s t , p r i n t i n g s t a t e m e n t s , p r o v i d i n g i n f o r -

    6

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    7/50

    Initial Design

    Initial Requirement

    Before 1992 greaterinformativeness

    performance

    informativeness

    Result: New Design

    New Requirement

    After

    F i g u r e 1 : C h a n g e p r o c e s s .

    m a t i o n t o c l i e n t s , e t c . S u c h N F R s w o u l d i n c l u d e : i n f o r m a t i v e n e s s o f l o a n i n f o r m a t i o n , g o o d

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

    e t c .

    A s N F R s a r e o f t e n i n t e r p r e t e d d i e r e n t l y b y d i e r e n t g r o u p s o f p e o p l e , w e m a y a l s o w a n t

    t o c l a r i f y t h e m , v i a d e c o m p o s i t i o n s , a n d j u s t i f y t h e w a y t h e y a r e c l a r i e d , v i a r a t i o n a l e . T h e

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

    l e f t - h a n d s i d e o f F i g u r e 1 .

    I n m o v i n g t o a t a r g e t s y s t e m , w e c o n s i d e r d e s i g n t e c h n i q u e s , f r o m a c a t a l o g u e o f s u c h

    t e c h n i q u e s , t o a c h i e v e N F R s r e p r e s e n t e d a s g o a l s . T o s e l e c t a t e c h n i q u e a m o n g a l t e r n a t i v e s ,

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

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

    7

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    8/50

    t o p g o a l s . T h i s a n a l y s i s m a y i n v o l v e c o n s i d e r a t i o n o f d o m a i n k n o w l e d g e , p r i o r i t i e s , t h e s y s -

    t e m ' s w o r k l o a d , e t c . A f t e r w a r d s , w e n a l l y c h o o s e t h e t a r g e t a n d r e c o r d r a t i o n a l e b e h i n d

    t h e d e c i s i o n . T h i s k i n d o f d e c i s i o n r a t i o n a l e f a c i l i t a t e s l a t e r r e v i e w , j u s t i c a t i o n a n d s y s t e m

    e v o l u t i o n , a s w e l l a s e n h a n c i n g t r a c e a b i l i t y . T h e r e s u l t i n g h i s t o r y r e c o r d i s s h o w n o n t h e

    b o t t o m p o r t i o n o f t h e l e f t - h a n d s i d e o f F i g u r e 1 .

    W e c a n t h e n e v a l u a t e t h e i m p a c t o f d e c i s i o n s ( a t t h e b o t t o m o f t h e h i s t o r i c a l r e c o r d ) u p o n

    N F R s ( a t t h e t o p o f t h e r e c o r d ) b y t r a c i n g u p w a r d s .

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

    r a t i o n a l e a r e a l l c o n s i d e r e d i n r e l a t i o n t o t h e N F R s s t a t e d a s g o a l s , m a n a g e d s y s t e m a t i c a l l y ,

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

    D e a l i n g w i t h C h a n g e . N o w l e t u s t u r n t o d e a l i n g w i t h c h a n g e . W e c o n s i d e r b o t h t h e

    s o u r c e s o f c h a n g e ( e . g . , c h a n g e s i n o r g a n i s a t i o n a l p o l i c y ) a n d t h e e e c t s o f c h a n g e ( e . g . ,

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

    T h e s o u r c e s o f c h a n g e c a n b e m a n i f o l d : c h a n g e s i n o r g a n i s a t i o n ( e . g . , r e d u c t i o n i n s t a ) ,

    N F R s ( e . g . , g r e a t e r i n f o r m a t i v e n e s s , i n a b a n k l o a n s y s t e m , b e c a u s e t h e b a n k w a n t s t o s e r v e

    c u s t o m e r s b e t t e r ) , f u n c t i o n a l r e q u i r e m e n t s ( i . e . , w h a t t h e s y s t e m d o e s , e . g . , w h a t t h e s y s t e m

    s h o u l d p r i n t o n s t a t e m e n t s ) , p r i o r i t i e s ( e . g . , i n f o r m a t i v e n e s s i s m o r e i m p o r t a n t t h e n c o n -

    d e n t i a l i t y ) , w o r k l o a d ( e . g . , t h e n u m b e r o f b a n k c l i e n t s ) , a n d t h e l i k e . T h e e e c t s o f c h a n g e

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

    r e q u i r e m e n t s | b o t h t h e r e q u i r e m e n t w h i c h w a s c h a n g e d , a n d o t h e r s .

    T h e r e s u l t o f t h e i n i t i a l r e q u i r e m e n t s e n g i n e e r i n g p r o c e s s w a s a n h i s t o r y r e c o r d o f g o a l s ,

    d e s i g n a l t e r n a t i v e s , t r a d e o s , d e c i s i o n s a n d r a t i o n a l e . T h i s h i s t o r y r e c o r d e n a b l e s d e v e l o p -

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

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

    I m p o r t a n t l y , w e d o n o t s t a r t a g a i n \ f r o m s c r a t c h . " I n s t e a d , w e s t a r t w i t h t h e i n i t i a l

    r e q u i r e m e n t s w h i c h h a v e a l r e a d y b e e n r e p r e s e n t e d a s g o a l s i n t h e h i s t o r y r e c o r d . W e r e e c t t h e

    c h a n g e s i n t o t h e h i s t o r y r e c o r d b y : e x a m i n i n g t h e d i e r e n c e s b e t w e e n t h e i n i t i a l r e q u i r e m e n t s ,

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

    8

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    9/50

    n e e d t o b e e x t r a c t e d f r o m t h e i r c o r r e s p o n d i n g s o u r c e s ; a n d r e p r e s e n t i n g t h e n e w r e q u i r e m e n t s

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

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

    r e l e v a n t c o m p o n e n t ( o r c o m p o n e n t s ) i n t h e i n i t i a l h i s t o r i c a l r e c o r d a n d m a k i n g a d j u s t m e n t s

    t o i t b y a d d i n g a n e w c o m p o n e n t , c h a n g i n g p r i o r i t y , c h a n g i n g w o r k l o a d , r e e c t i n g c h a n g e i n

    o r g a n i s a t i o n a l p o l i c y , e t c . T h i s w a y , w e a r e a b l e t o r e p r e s e n t t h e n e w s e t o f r e q u i r e m e n t s a n d

    a s s o c i a t e d c h a n g e s q u i t e c o n c i s e l y a n d q u i c k l y . A d d i t i o n o f t h e n e w r e q u i r e m e n t s a s g o a l s

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

    o f t h e n e w r e q u i r e m e n t s o r e v e n i n i t i a l o n e s . T h e s e c h a n g e s , i n t u r n , m a y l e a d t o n e w

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

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

    c o n s i d e r e d p r e v i o u s l y f o r t h e i n i t i a l d e s i g n . A s w e l l , t h e r e m a y b e n e w t a r g e t - s y s t e m a l t e r -

    n a t i v e s a n d n e w o r r e v i s e d t r a d e o s t o c o n s i d e r i n t h e n e w c o n t e x t . A f t e r w a r d s , w e n a l l y

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

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

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

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

    c h a n g e .

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

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

    t h e r e a s o n s w h y .

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

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

    9

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    10/50

    3 S t u d y ( I ) : G e n e r a t i n g t h e I n i t i a l D e s i g n f r o m I n i t i a l R e -

    q u i r e m e n t s

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

    B a r c l a y s C o d e o f B u s i n e s s B a n k i n g , d e s c r i b e d i n S e c t i o n 1 . T h i s s e c t i o n d e s c r i b e s h o w a n

    i n i t i a l d e s i g n o f t h e b a n k l o a n i n f o r m a t i o n s y s t e m m i g h t b e g e n e r a t e d f r o m t h e i n i t i a l q u a l i t y

    r e q u i r e m e n t s b e f o r e c h a n g e s w e r e m a d e . I t a l s o i n t r o d u c e s t h e N F R F r a m e w o r k a n d i t s m a i n

    c o m p o n e n t s . S e c t i o n 4 c o n t i n u e s t h e s t u d y , w i t h c o n s i d e r a t i o n o f c h a n g e s i n t h e b a n k ' s

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

    t e c h n i q u e s .

    3 . 1 I n i t i a l T o p - L e v e l R e q u i r e m e n t s

    W e r s t c o n s i d e r a d e v e l o p m e n t p r o c e s s w h i c h r e e c t s t h e s i t u a t i o n p r i o r t o t h e 1 9 9 2 c h a n g e s

    i n t h e B a r c l a y s C o d e 2 ] . A t t h e s a m e t i m e , w e r e v i e w t h e m a i n c o n c e p t s o f t h e N F R F r a m e -

    w o r k . A n u m b e r o f q u a l i t y r e q u i r e m e n t s a r e i d e n t i e d i n t h e C o d e , i n c l u d i n g i n f o r m a t i v e n e s s ,

    c o n d e n t i a l i t y ( s e c u r i t y ) a n d a c c u r a c y . A s B a r c l a y s i s i n c r e a s i n g a u t o m a t i o n w h i l e i t s s t a

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

    q u i r e m e n t .

    O n e t y p e o f s e r v i c e t h a t B a r c l a y s B a n k p r o v i d e s i s l e n d i n g m o n e y . W h e n c l i e n t s w a n t t o

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

    r a t e s , m e t h o d o f p a y m e n t , e t c . T h e b a n k c a n c h a n g e s o m e c o n d i t i o n s d u r i n g t h e l o a n p e r i o d ,

    a n d w a n t s t o k e e p c l i e n t s i n f o r m e d i n a t i m e l y m a n n e r . T h e b a n k a l s o w a n t s t o k e e p c l i e n t s '

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

    I n t e r e s t r a t e s o n l o a n s h a v e t w o c o m p o n e n t s : a b a s e r a t e ( p r i m e r a t e ) , w h i c h i s s e t n a -

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

    e a c h c u s t o m e r b a s e d o n t h e r i s k i n v o l v e d . T h e b a n k g i v e s a d v a n c e w r i t t e n n o t i c e o f c h a n g e s

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

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

    1 0

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    11/50

    I n r e v i e w i n g B a r c l a y s ' p o l i c i e s , s u p p l e m e n t e d w i t h o u r i n t u i t i o n a b o u t b a n k i n g , w e i d e n t i -

    e d i m p o r t a n t N F R g o a l s . S o m e a r e c a p t u r e d a n d s h o w n i n F i g u r e 2 ( a d a p t e d f r o m 1 1 , 1 2 ] ) .

    A l e g e n d f o r a l l g o a l g r a p h s ( h i s t o r i c a l r e c o r d s ) i s s h o w n i n F i g u r e 3 .

    [loan-info]TimelyAccuracy

    [loan-info]Confirmation Accurate

    [loan-info]Attributes

    [loan-info]

    AccurateProperties

    Time[changeBaseRate] BaseRate]

    Time[changestatements]

    Time[producestatements]

    +

    Time[loan-info]

    Timeliness[loan-info]

    Informativeness[loan-info] Accuracy

    +[loan-info]

    Security

    Time[produce

    [loan-info]

    F i g u r e 2 : I n i t i a l t o p - l e v e l g o a l g r a p h f o r l o a n i n f o r m a t i o n s y s t e m .

    neutral or unspecified

    Goal Types:

    AND node

    satisficing link

    correlation link

    Legend

    unknown

    positive

    ?

    +very satisficed

    Node Values:Values:

    argument

    satisficing goal

    NFR goal

    Link Types:

    satisficed

    partially denied

    denied

    partially satisficed

    or neutral

    Link (Correlation)

    very positive++

    very negative--negative-

    F i g u r e 3 : L e g e n d f o r g r a p h i c a l s y m b o l s f o r g o a l g r a p h s .

    M a i n g o a l s a r e s h o w n a t t h e t o p o f F i g u r e 2 . N o d e s r e p r e s e n t g o a l s , w h i c h s t a n d f o r

    r e q u i r e m e n t s . A s a p e r f o r m a n c e r e q u i r e m e n t 4 9 ] , f o r e x a m p l e , t h e g o a l T i m e l o a n - i n f o ] ( o r

    T i m e P e r f o r m a n c e l o a n - i n f o ] ) m e a n s l o a n i n f o r m a t i o n s h o u l d b e p r o c e s s e d b y t h e s y s t e m w i t h

    g o o d t i m e p e r f o r m a n c e , i . e . , r a p i d l y . T i m e l i n e s s l o a n - i n f o ] m e a n s t h a t c l i e n t s s h o u l d b e q u i c k l y

    n o t i e d a b o u t l o a n i n f o r m a t i o n . S i m i l a r l y , I n f o r m a t i v e n e s s l o a n - i n f o ] m e a n s l o a n i n f o r m a t i o n

    s h o u l d b e i n f o r m a t i v e , a n d S e c u r i t y l o a n - i n f o ] m e a n s t h a t l o a n i n f o r m a t i o n s h o u l d b e m a i n -

    t a i n e d s e c u r e l y , i . e . , k e p t c o n d e n t i a l . F i n a l l y A c c u r a c y l o a n - i n f o ] m e a n s t h a t l o a n i n f o r m a t i o n

    s h o u l d b e m a i n t a i n e d a c c u r a t e l y . T h e s e r e q u i r e m e n t s a r e s h o w n a t t h e t o p o f F i g u r e 2 a s N F R

    g o a l s . T h e n o d e s r e p r e s e n t g o a l s , w h i c h s t a n d f o r r e q u i r e m e n t s . E a c h g o a l h a s a s o r t , e . g . ,

    1 1

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    12/50

    S e c u r i t y , w h i c h i n d i c a t e s t h e k i n d o f r e q u i r e m e n t a s s o c i a t e d w i t h t h e g o a l , a n d a p a r a m e t e r ,

    e . g , . l o a n - i n f o ] , t o i n d i c a t e t h e s u b j e c t o f t h e g o a l .

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

    F o r e x a m p l e , t h e p a r e n t g o a l T i m e l i n e s s l o a n - i n f o ] c a n b e d e c o m p o s e d i n t o o s p r i n g g o a l s

    T i m e l i n e s s c h a n g e B a s e R a t e ] a n d T i m e l i n e s s p r o d u c e S t a t e m e n t s ] , w h i c h a r e c o n n e c t e d b y a n

    A N D l i n k . T h e i n t e r p r e t a t i o n i s t h a t i f t h e b a s e r a t e c a n b e c h a n g e d i n a t i m e l y m a n n e r ,

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

    t i m e l i n e s s o f l o a n i n f o r m a t i o n c a n b e \ s a t i s c e d . " S i n c e g o a l s r e p r e s e n t i n g N F R s a r e r a r e l y

    \ s a t i s e d " i n a c l e a r - c u t s e n s e , b u t d e c i s i o n s d o c o n t r i b u t e t o , o r h i n d e r , a p a r t i c u l a r g o a l , w e

    u s e g o a l s a t i s c i n g 5 4 ] t o s u g g e s t t h a t g e n e r a t e d s o f t w a r e i s e x p e c t e d t o s a t i s f y N F R s w i t h i n

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

    B e s i d e s A N D l i n k s , o t h e r k i n d s o f l i n k t y p e s ( b e y o n d 4 4 ] ) a r e a v a i l a b l e , w h i c h i n d i c a t e

    d i e r e n t r e l a t i o n s h i p s ; f o r e x a m p l e a n e g a t i v e l i n k ( s h o w n a s \ - " i n g u r e s ) i n d i c a t e s t h a t i f

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

    G o a l s c a n b e d e c o m p o s e d u s i n g a v a r i e t y o f m e t h o d s . A b o v e , w e u s e d a m e t h o d w h i c h

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

    p r e - d e n e d g e n e r i c m e t h o d i s u s e d t o d e c o m p o s e t h e t o p - l e v e l T i m e P e r f o r m a n c e g o a l .

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

    s t u d y ( e . g . , p e r f o r m a n c e o r s e c u r i t y ) . I n o r d e r t o s u p p o r t t h e d e v e l o p m e n t p r o c e s s , w e h a v e

    c a t a l o g u e d ( S e e S e c t i o n 6 ) i n a k n o w l e d g e b a s e s u c h e x p e r t k n o w l e d g e a b o u t s o r t s , d e c o m -

    p o s i t i o n s , c o r r e l a t i o n s a n d s a t i s c i n g g o a l s , f o r s o m e s p e c i c N F R s . T h i s s t u d y d r a w s o n

    t h o s e c a t a l o g u e s , w h i c h w e r e d e v e l o p e d a s p a r t s o f s p e c i a l i s a t i o n s o f t h e N F R F r a m e w o r k t o

    d e a l w i t h a c c u r a c y , s e c u r i t y a n d p e r f o r m a n c e 7 , 1 0 , 9 , 4 6 , 4 7 , 4 8 , 4 9 ] . S u c h c a t a l o g u e s a r e

    a v a i l a b l e t o t h e d e v e l o p e r 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 n a d d i t i o n , d e v e l o p e r s c a n

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

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

    t i a l i t y a n d a v a i l a b i l i t y , w h i c h a r e t h e m a j o r c o m p o n e n t s o f s e c u r i t y a s v i e w e d b y s e c u r i t y

    e x p e r t s ( e . g . , 2 8 ] ) . T h e c a t a l o g u i n g o f s u c h e x p e r t k n o w l e d g e i s c o n s i d e r e d i n S e c t i o n 6 .

    1 2

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    13/50

    S i m i l a r l y , a c c u r a c y c a n b e d e c o m p o s e d 9 ] i n t o g o a l s f o r a c c u r a t e a t t r i b u t e s , a c c u r a t e p r o p e r -

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

    i n f o r m a t i o n s y s t e m , w i l l b e f u r t h e r c o n s i d e r e d i n S e c t i o n 4 .

    A s a t i s c i n g g o a l i s o n e w h i c h i s i n t e n d e d t o s a t i s c e a n N F R g o a l . I t t a k e s i t s p a r e n t

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

    B a r c l a y s p o l i c i e s s t a t e t h a t l o a n i n f o r m a t i o n b e c o n r m e d i n w r i t i n g f o r i n f o r m a t i v e n e s s .

    T h e s a t i s c i n g g o a l o f C o n r m a t i o n i s a g o o d c h o i c e , n o t o n l y f o r i n f o r m a t i v e n e s s , b u t a l s o f o r

    a c c u r a c y . A c c o r d i n g l y , a p o s i t i v e c o n t r i b u t i o n o f c o n r m a t i o n t o w a r d s a c c u r a c y i s e s t a b l i s h e d

    t h r o u g h a c o r r e l a t i o n l i n k ( s h o w n a s a d o t t e d l i n e ) l a b e l l e d w i t h \ + "

    E a c h o f t h e g o a l s i s a s s o c i a t e d w i t h a l a b e l i n d i c a t i n g w h e t h e r i t i s s a t i s c e d ( \

    p

    " ) , d e n i e d

    ( \ X " ) o r h a s s o m e i n t e r m e d i a t e o r u n k n o w n v a l u e . T h e l a b e l l i n g a l g o r i t h m c a n b e v i e w e d a s

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

    n o d e l a b e l v a l u e s a n d l i n k t y p e s . H e r e , s a t i s c i n g c o n r m a t i o n g i v e s s o m e p o s i t i v e c o n t r i b u -

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

    s e c u r i t y . W e c a l l t h e k i n d o f h i s t o r i c a l r e c o r d s h o w n i n F i g u r e 2 a \ g o a l g r a p h . "

    2

    3 . 2 G e n e r a t i n g t h e I n i t i a l D e s i g n

    T o g e n e r a t e a n i n i t i a l d e s i g n ( F i g u r e 4 ) , w e c o n t i n u e t h e p r o c e s s o f d e a l i n g w i t h t h e i n i t i a l

    q u a l i t y r e q u i r e m e n t s , f o c u s s i n g o n a p o r t i o n o f F i g u r e 2 w h i c h d e a l s w i t h t i m e l i n e s s a n d t i m e

    p e r f o r m a n c e . A s m e n t i o n e d a b o v e , c h a n g e s i n b a s e i n t e r e s t r a t e s

    3

    m u s t b e p u t i n t o e e c t

    i m m e d i a t e l y . W e c o n s i d e r a c h a n g e i n b a s e r a t e p r i o r t o 1 9 9 2 ( A f t e r 1 9 9 2 , t h i s d i s c u s s i o n a l s o

    a p p l i e s , b u t a s w e w i l l s e e i n S e c t i o n 4 , i t w i l l i n t e r a c t w i t h c h a n g e s i n o t h e r r e q u i r e m e n t s ) .

    T h e n e e d t o i d e n t i f y a n d f o c u s o n p r i o r i t y g o a l s ( c r i t i c a l g o a l s , o r g o a l s i n v o l v i n g d o m i n a n t

    p a r t s o f t h e w o r k l o a d ) h a s b e e n p o i n t e d o u t f o r p e r f o r m a n c e g o a l s i n p a r t i c u l a r 5 5 ] , a n d

    q u a l i t y g o a l s i n g e n e r a l 3 9 , 3 3 ] . T h u s w e r e n e t h e t i m e p e r f o r m a n c e g o a l f o r c h a n g i n g t h e

    b a s e r a t e b y i d e n t i f y i n g i t a s c r i t i c a l ; t o s u p p o r t t h i s , w e a t t a c h a n a r g u m e n t ( C l a i m ) t h a t

    2

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

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

    3

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

    1 3

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    14/50

    change value for each of many clients"]

    ++change just 1 central value"]

    Claim["fast:

    [produce stmts]Time

    done immediately"]Claim["must be

    Timeliness[loan-info]

    [change BaseRate]Timeliness

    +

    Time[loan-info]

    TimelinessTime

    [change BaseRate] [produce stmts]

    Claim["very slow:

    StoreForEachClient

    -

    StoreCentrallyOnce[BaseRate][BaseRate]

    Time[change BaseRate; critical]

    T h i s h i s t o r y r e c o r d s h o w s :

    1 . I d e n t i c a t i o n o f p r i o r i t y ( c r i t i c a l ) g o a l ;

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

    2 . C o r r e l a t i o n o f T i m e w i t h T i m e l i n e s s

    3 . C o n s i d e r a t i o n o f t a r g e t a l t e r n a t i v e s

    F i g u r e 4 : G o a l g r a p h w i t h p o r t i o n o f i n i t i a l d e s i g n o f l o a n i n f o r m a t i o n s y s t e m .

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

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

    N o w f o r c h a n g i n g t h e b a s e r a t e , t h e g o a l f o r t i m e l i n e s s , t h e p r o v i s i o n o f i n f o r m a t i o n i n

    a t i m e l y w a y , w i l l b e h e l p e d b y q u i c k l y c h a n g i n g t h e b a s e r a t e . T h e r e a s o n i s t h a t a s y s t e m

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

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

    t h e g u r e w i t h a \ + " s i g n .

    I n m o v i n g t o w a r d s a t a r g e t s y s t e m f o r c h a n g i n g t h e b a s e r a t e , w e c o n s i d e r t h e s a t i s c i n g

    g o a l s . O n e a l t e r n a t i v e i s t o s t o r e t h e n e w r a t e f o r e a c h c l i e n t . E v e n t h o u g h t h e r e i s o n l y

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

    1 4

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    15/50

    F o r e x a m p l e , t h i s c a n b e h e l p f u l i f t h e b a s e r a t e i s k e p t a t o n e p l a c e , a n d c l i e n t - s p e c i c

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

    ( s h o w n a s \ - " i n F i g u r e 4 ) w h e n t h e b a s e r a t e i s c h a n g e d , s i n c e e a c h c l i e n t r e c o r d m u s t b e

    u p d a t e d , a n d t h a t t h e r e a r e m a n y c l i e n t s . T h i s l a t e r a r g u m e n t i s b a s e d o n w o r k l o a d , a n d i s

    s u g g e s t e d b y s t a t i s t i c s 4 , 5 ] a v a i l a b l e t o u s .

    4

    A l t h o u g h t h i s a l t e r n a t i v e i s n e g a t i v e f o r t i m e

    p e r f o r m a n c e , t h e c h a n g e i n r e q u i r e m e n t s i n S e c t i o n 4 w i l l i n t r o d u c e a t r a d e o w h i c h s h o w s a

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

    A n o t h e r t a r g e t a l t e r n a t i v e i s t o s t o r e t h e b a s e r a t e o n c e , a s a s i n g l e v a l u e i n t h e i n f o r m a t i o n

    s y s t e m . T h i s t r e a t s t h e b a s e r a t e a s a n a t t r i b u t e o f t h e g r o u p o f a l l l o a n s t a k e n a s a w h o l e .

    A s o n l y o n e v a l u e m u s t b e c h a n g e d , i t i s a r g u e d t h a t t h i s p r o v i d e s a v e r y f a s t m e t h o d ( s h o w n

    a s \ + + " ) o f b r i n g i n g t h e n e w b a s e r a t e i n t o e e c t , a n d t h i s m e t h o d i s c h o s e n f o r t h e t a r g e t

    s y s t e m .

    N o w w e h a v e l a b e l l e d s o m e l e a f n o d e s a s s a t i s c e d o r d e n i e d . T o d e t e r m i n e t h e i m p a c t

    o n h i g h e r - l e v e l g o a l n o d e s , t h e l a b e l l i n g a l g o r i t h m i s u s e d . W o r k i n g b o t t o m - u p , i t t a k e s i n t o

    a c c o u n t t h e l a b e l s o f o s p r i n g , a n d t h e l i n k t y p e ( e . g . , \ + " , \ - " ) . F o r e x a m p l e , s t o r i n g t h e

    b a s e r a t e o n c e , w h e n c o m b i n e d w i t h i t s v e r y p o s i t i v e ( \ + + " ) p a r e n t - o s p r i n g l i n k , l e a d s t o

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

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

    o v e r a l l g o a l s f o r t i m e p e r f o r m a n c e a n d t i m e l i n e s s , s h o w n a t t h e t o p o f F i g u r e 4 . N o t e t h a t a

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

    e x a m p l e , i f w e h a d c h o s e n S t o r e F o r E a c h C l i e n t , t h e c r i t i c a l t i m e g o a l w o u l d h a v e b e e n d e n i e d .

    T h e p r o c e s s o f c o n s t r u c t i n g t h e g o a l g r a p h w a s f a c i l i t a t e d b y t h e u s e o f t h e f r a m e w o r k ' s

    m e t h o d s f o r c a p t u r i n g k n o w l e d g e a b o u t N F R s , a n d t h e d e c o m p o s i n g a n d s a t i s c i n g o f N F R

    g o a l s , a s w e l l a s k n o w l e d g e a b o u t j u s t i f y i n g d e s i g n d e c i s i o n s . U s i n g t h e a p p r o a c h , w e w e r e

    a b l e t o d r a w o n c a t a l o g u e s o f N F R k n o w l e d g e , d e s c r i b e d i n S e c t i o n 6 . W e w e r e a l s o a b l e t o

    r e p r e s e n t d o m a i n k n o w l e d g e , i n c l u d i n g p r i o r i t i e s a n d w o r k l o a d i n f o r m a t i o n . T h i s p r o c e s s w a s

    4

    W h i l e w e d o n o t h a v e t h e n u m b e r o f c l i e n t s a v a i l a b l e t o u s , i n 1 9 9 3 , t h e a v e r a g e b a l a n c e o f l o a n s a n d

    a d v a n c e s t o c u s t o m e r s o f U n i t e d K i n g d o m o c e s w a s 6 0 2 3 0 m i l l i o n P o u n d s S t e r l i n g , a n d t h e w o r l d w i d e s t a

    n u m b e r e d 9 7 8 0 0 .

    1 5

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    16/50

    a l s o f a c i l i t a t e d b y t h e u s e o f t h e f r a m e w o r k ' s c o r r e l a t i o n r u l e s f o r c a p t u r i n g k n o w l e d g e a b o u t

    g o a l i n t e r a c t i o n s , p o s i t i v e a n d n e g a t i v e . T h e f r a m e w o r k o e r s t h e e v a l u a t i o n p r o c e d u r e , b y

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

    e a c h d e s i g n d e c i s i o n u s i n g t h e f r a m e w o r k ' s e v a l u a t i o n p r o c e d u r e .

    W e h a v e n o w c o n s i d e r e d t h e u s e o f t h e N F R F r a m e w o r k , b u t w i t h o u t d e a l i n g w i t h a

    c h a n g e i n r e q u i r e m e n t s . T h e n e x t s e c t i o n w i l l c o n s i d e r t h e i m p a c t o f c h a n g i n g r e q u i r e m e n t s .

    4 S t u d y ( I I ) : C h a n g i n g t h e D e s i g n t o D e a l w i t h C h a n g e d

    R e q u i r e m e n t s

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

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

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

    4 . 1 C h a n g i n g t h e D e s i g n b y A d d i n g a N e w R e q u i r e m e n t

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

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

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

    s t a r t e d i n 1 9 9 2 . B o t h e d i t i o n s o f t h e C o d e 2 , 3 ] r e e c t t h e c h a n g e s i n o r g a n i s a t i o n a l p o l i c y ,

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

    b r e a k d o w n o f c h a r g e s .

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

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

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

    s t a t e m e n t s a r e n o t m e n t i o n e d i n t h e B a r c l a y s C o d e s .

    I n F i g u r e 5 , w e c o n s i d e r t h e a d d i t i o n o f a r e q u i r e m e n t f o r g o o d t i m e p e r f o r m a n c e f o r

    p r o d u c i n g e n h a n c e d s t a t e m e n t s . F i g u r e 6 p r o v i d e s a l e g e n d f o r c h a n g e d g o a l g r a p h s , a n d i s

    t o b e u s e d i n c o n j u n c t i o n w i t h t h e b a s i c l e g e n d o f F i g u r e 3 .

    1 6

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    17/50

    +

    Informativeness[loan-info]

    [produce enhanced statements][change Base Rate][produce statements]

    TimeTime Time

    Time[include Margin Rates]

    Time[include Base Rates]

    Time[loan-info]

    T h i s h i s t o r y r e c o r d s h o w s :

    1 N e w N F R G o a l d u e t o o r g a n i s a t i o n a l p o l i c y c h a n g e

    2 . A d d e d o s p r i n g t o A N D n o d e

    3 . A d d e d p o s i t i v e C o r r e l a t i o n t o I n f o r m a t i v e n e s s

    4 . A s s u m e d e n h a n c e d s t a t e m e n t s i n c l u d e

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

    F i g u r e 5 : G o a l g r a p h w i t h n e w r e q u i r e m e n t .

    Legend for Changes

    new satisficing goal

    new correlation link

    new link

    new NFR goal

    new argument

    AND node with a new offspring

    Link Types Goal Types

    F i g u r e 6 : L e g e n d f o r g r a p h i c a l s y m b o l s f o r c h a n g e d g o a l g r a p h s .

    1 7

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    18/50

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

    b o t h b a s e r a t e s a n d m a r g i n r a t e s i n s t a t e m e n t s . T h e g u r e ' s l e g e n d s h o w s h o w n e w g o a l s

    a n d n e w l i n k s t o o s p r i n g a r e p r e s e n t e d .

    N o t e t h a t t h e c h a n g e i n r e q u i r e m e n t s ( e . g . , i n c r e a s e d i n f o r m a t i v e n e s s ) m a y r e e c t a c h a n g e

    i n p r i o r i t i e s , a n d m a y l e a d t o a c h a n g e i n f u n c t i o n a l i t y ( e . g . , p r o v i d i n g m o r e d e t a i l e d s t a t e -

    m e n t s ) , a n d a n c h a n g e i n w o r k l o a d ( h e r e , a n i n c r e a s e i n s y s t e m p r o c e s s i n g ) .

    4 . 2 A d d i n g a N e w T a r g e t T e c h n i q u e

    overhead"]but some

    Time[change BaseRate; critical]

    Claim["must bedone immediately"]

    Time

    Time[loan-info]

    Time[produce statements]

    Time[produce enhanced statements]

    +

    Time[include Margin Rates]

    Time

    [include Base Rates]

    change just1 central value"]

    Claim["fast:Claim["fast:

    ++ -

    [change Base Rate]

    Informativeness[loan-info]

    Claim["very slow:change value foreach of many clients"]

    StoreCentrallyThenForEachClient[BaseRate]

    StoreCentrallyOnce[BaseRate] [BaseRate]

    StoreForEachClient

    +

    T h i s h i s t o r y r e c o r d s h o w s :

    1 N e w t a r g e t a l t e r n a t i v e a d d e d

    2 . A d d e d r e l a t i o n s h i p o f n e w a l t e r n a t i v e t o e x i s t i n g p r i o r i t y ( c r i t i c a l ) N F R g o a l

    F i g u r e 7 : G o a l g r a p h w i t h n e w r e q u i r e m e n t a n d t a r g e t t e c h n i q u e .

    I n F i g u r e 7 , w e e x t e n d F i g u r e 5 t o s h o w t h e a d d i t i o n o f a n e w p o s s i b l e s a t i s c i n g g o a l ,

    1 8

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    19/50

    S t o r e C e n t r a l l y T h e n F o r E a c h C l i e n t B a s t R a t e ] , s h o w n a t t h e b o t t o m c e n t r e o f t h e g u r e . T h i s

    r e p r e s e n t s a n e w t e c h n i q u e s f o r t h e t a r g e t s y s t e m , w h i c h w i l l b e d i s c u s s e d b e l o w . N o t e t h a t

    t h e n e w s a t i s c i n g g o a l h a s b e e n a s s o c i a t e d t o i t s p a r e n t g o a l b y a n e w l i n k , w h i c h h a s a l a b e l

    v a l u e . A s w e l l , a n e w a r g u m e n t ( C l a i m ) h a s b e e n a s s o c i a t e d w i t h t h a t l i n k .

    4 . 3 C h a n g i n g t h e D e s i g n t o M e e t t h e N e w R e q u i r e m e n t

    I n F i g u r e 8 , t h e h i s t o r y r e c o r d s h o w s t h e r e s u l t s o f a d d i t i o n a l N F R g o a l T i m e p r o d u c e e n h a n c e d

    s t a t e m e n t s ]

    1 . D e c o m p o s e i n t o T i m e i n c l u d e B a s e R a t e s ] a n d a n o t h e r g o a l

    2 . C o r r e l a t i o n ( + + , + , - ) o f T i m e i n c l u d e B a s e R a t e s ] w i t h 3 a l t e r n a t i v e s a t i s c i n g g o a l s

    3 . D e c o m p o s e T i m e l y A c c u r a c y l o a n - i n f o ]

    4 . C o r r e l a t i o n s w i t h n e w g o a l T i m e l y A c c u r a c y p r o d u c e e n h a n c e d s t a t e m e n t s ]

    5 . A d d a r g u m e n t s

    6 . A r g u m e n t a d d e d r e w o r k l o a d

    7 . R e s u l t : C h a n g e i n s a t i s c i n g g o a l c h o s e n , i . e . , c h a n g e i n t a r g e t s y s t e m

    I n F i g u r e 8 , t h e n e w r e q u i r e m e n t s r e s u l t i n i n t e r a c t i o n w i t h e x i s t i n g r e q u i r e m e n t s , l e a d i n g

    t o n e w t r a d e o s ( e . g . , a c c u r a c y - p e r f o r m a n c e ) , a n d a n e w t a r g e t s y s t e m , w i t h n e w a r g u m e n t s

    l e a d i n g t o t h e r e v i s e d s y s t e m . I n p a r t i c u l a r , t h e r e i s i n t e r a c t i o n b e t w e e n c h a n g i n g t h e b a s e

    r a t e ( F i g u r e 5 ) a n d p r o d u c i n g s t a t e m e n t s ( w h i c h a r e a s s u m e d t o n o w i n c l u d e t h e b a s e r a t e s ) .

    T h i s l e a d s t o a t r a d e o b e t w e e n t i m e p e r f o r m a n c e a n d t i m e l y a c c u r a c y , t h e t i m e l y r e c o r d i n g

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

    F i g u r e 8 s h o w s a g o a l f o r T i m e l y A c c u r a c y o f l o a n i n f o r m a t i o n . T h i s w o u l d b e d e c o m p o s e d ,

    p r i o r t o 1 9 9 2 , i n t o g o a l s f o r a c c u r a c y f o r c h a n g i n g t h e b a s e r a t e , a n d f o r p r o d u c i n g ( b a s i c )

    s t a t e m e n t s . A f t e r 1 9 9 2 , a n o t h e r o s p r i n g , f o r t h e a c c u r a c y o f p r o d u c i n g e n h a n c e d s t a t e m e n t s ,

    w o u l d b e a d d e d . A s i m i l a r d e c o m p o s i t i o n w a s s h o w n p r e v i o u s l y i n F i g u r e 5 , i n w h i c h a t i m e

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

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

    1 9

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    20/50

    [includeTime

    Base Rates]

    Claim[#2]

    Claim[#3]

    Claim[#1]

    Informativeness

    [loan-info]Timeliness

    ++

    +

    +[loan-info]

    immediately"]

    be doneClaim["must

    TimelyAccuracy[changeBaseRate]

    TimelyAccuracy

    [producestmts.]

    stmts.]enhanced[produceTimeTime

    Base Rate][change

    stmts.][produce

    Time

    [BaseRate]

    StoreCentrallyThenForEachClient

    [BaseRate]

    StoreCentrally

    Once

    [BaseRate]ForEachClient

    Store

    AccuracyTimely

    stmts.]enhanced[produce

    Time[change BaseRate;critical]

    Time

    [loan-info]TimelyAccuracy

    [loan-info]

    Time

    Margin Rates][include

    ++ -

    ++-+

    C l a i m # 1 : " s l o w : e x t r a r a t e r e t r i e v a l s f o r E A C H o f M A N Y c l i e n t s " ]

    C l a i m # 2 : " f a s t ( b u t s o m e o v e r h e a d ) s i n c e r e t r i e v i n g e a c h c l i e n t r e c o r d a n y h o w , a n d e a c h h a s

    i n t e r e s t r a t e i n f o ; c o r r e c t r i g h t a f t e r r a t e c h a n g e " ]

    C l a i m # 3 : " f a s t s i n c e r e t r i e v i n g e a c h c l i e n t r e c o r d a n y h o w , a n d e a c h h a s i n t e r e s t r a t e i n f o ;

    i n c o r r e c t r i g h t a f t e r r a t e c h a n g e " ]

    F i g u r e 8 : N e w d e s i g n r e s u l t i n g f r o m a d d i n g a n e w r e q u i r e m e n t .

    2 0

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    21/50

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

    n a t i v e s f o r a t a r g e t s y s t e m , a n d t h e a s s o c i a t e d a r g u m e n t s . T h i s i s a n e x a m p l e o f \ d o w n w a r d

    c o r r e l a t i o n " 9 ] : a c o r r e l a t i o n l i n k i s e s t a b l i s h e d f r o m a N F R t o a s a t i s c i n g t e c h n i q u e . S t o r -

    i n g t h e b a s e r a t e f o r e a c h c l i e n t w i l l r e s u l t i n v e r y f a s t t i m e p e r f o r m a n c e ( s h o w n a s \ + + " ) ,

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

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

    o b t a i n t h e m . S t o r i n g r a t e s c e n t r a l l y w o u l d r e s u l t i n p o o r p e r f o r m a n c e ( s h o w n a s \ - " ) d u e t o

    t h e e x t r a r a t e r e t r i e v a l s r e q u i r e d f o r e a c h c l i e n t ; w e c a n a r g u e , b a s e d o n t h e o r g a n i s a t i o n ' s

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

    T h e c h o i c e o f t a r g e t s y s t e m d e s i g n i s n o t y e t c o m p l e t e , h o w e v e r , d u e t o t h e i m p a c t o f t h e

    t a r g e t a l t e r n a t i v e s u p o n t h e T i m e l y A c c u r a c y g o a l f o r p r o d u c i n g e n h a n c e d s t a t e m e n t s . T h i s

    i s a n e x a m p l e o f \ u p w a r d c o r r e l a t i o n " 9 ] ) : a c o r r e l a t i o n l i n k i s e s t a b l i s h e d f r o m a s a t i s c i n g

    t e c h n i q u e t o a N F R . H e r e t h e r e i s a n a c c u r a c y i s s u e w h i c h s t e m s f r o m i n c l u d i n g t h e b a s e r a t e

    i n s t a t e m e n t s .

    S u p p o s e t h e b a s e r a t e i s c h a n g e d j u s t b e f o r e s t a t e m e n t s a r e p r e p a r e d . N o w i f o n l y o n e

    b a s e - r a t e v a l u e i s c h a n g e d i n t h e e n t i r e s y s t e m , t h i s c a n b e q u i c k l y c h a n g e d , p r e s e r v i n g

    a c c u r a c y . H o w e v e r , i f t h e r a t e i s c h a n g e d f o r e a c h c l i e n t , t h i s m i g h t t a k e a l o n g p e r i o d o f t i m e

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

    r a t e .

    N o w w e i n t r o d u c e a n e w a l t e r n a t i v e , S t o r e C e n t r a l l y T h e n F o r E a c h C l i e n t B a s e R a t e ] , w h i c h

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

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

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

    \ + " ) i s i n b e t w e e n t h e o t h e r t w o m e t h o d s . I t i s a l i t t l e s l o w e r t h a n o n l y s t o r i n g t h e v a l u e

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

    c h a n g e d , e t c .

    H o w e v e r , t h i s h y b r i d m e t h o d c a n m a i n t a i n a c c u r a c y , a s i t c h e c k s w h e t h e r t h e b a s e r a t e

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

    2 1

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    22/50

    t h e ( c o r r e c t ) c e n t r a l v a l u e ; o t h e r w i s e i t u s e s t h e ( c o r r e c t ) v a l u e i n t h e c l i e n t r e c o r d .

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

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

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

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

    c e n t r a l l y a l o n e i s r u l e d o u t , a s i t i s g e n e r a l l y s l o w , e v e n t h o u g h a c c u r a t e . T h u s t h e h y b r i d

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

    R e c a l l t h a t w i t h t h e p r i o r r e q u i r e m e n t s ( F i g u r e 4 ) , t h e r a t e w o u l d h a v e b e e n s t o r e d o n l y

    c e n t r a l l y . I f t h e h y b r i d m e t h o d h a d b e e n c o n s i d e r e d e a r l i e r , i t w o u l d h a v e b e e n r u l e d o u t ,

    d u e t o i t s p e r f o r m a n c e o v e r h e a d . N o w , h o w e v e r , i n t h e p r e s e n c e o f t h e a c c u r a c y - p e r f o r m a n c e

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

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

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

    s y s t e m .

    G i v e n t h e c h o i c e o f t a r g e t s y s t e m , w e w i s h t o s e e t h e i m p a c t o n q u a l i t y r e q u i r e m e n t s . W e

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

    v a l u e s ( s a t i s c e d , d e n i e d , e t c . ) o f l o w e r n o d e s , a n d t h e l i n k r e l a t i o n s h i p s ( p o s i t i v e o r n e g a t i v e )

    t o d e t e r m i n e w h e t h e r h i g h e r n o d e s a r e s a t i s c e d . H e r e , f o r e x a m p l e , t h e c h o i c e o f t h e h y b r i d

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

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

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

    p r o d u c i n g e n h a n c e d s t a t e m e n t s . T h e o v e r a l l i m p a c t o n t o p g o a l s i s s h o w n i n F i g u r e 9 .

    T o s i m p l i f y t h e p r e s e n t a t i o n , n o t e t h a t s o m e n o d e s ( b o t h t h o s e b e f o r e a n d a f t e r t h e

    c h a n g e s ) a r e n o t d e c o m p o s e d t o s a t i s c i n g g o a l s , o r a r e n o t l a b e l l e d . F o r e x a m p l e , w e d i d

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

    i n s t a t e m e n t s . L i k e w i s e w e d i d n o t c o n s i d e r , e i t h e r i n i t i a l l y o r s u b s e q u e n t l y , T i m e p r o d u c e

    s t a t e m e n t s ]

    B u t f o r a c h i e v i n g g o o d t i m e p e r f o r m a n c e f o r l o a n i n f o r m a t i o n , q u i c k l y i n c l u d i n g t h e m a r -

    2 2

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    23/50

    enhancedstatements]

    Time[produce

    BaseRate][changeTime

    statements]

    [produceTime

    + + +Accuracy

    [loan-info]

    +

    [loan-info]Security

    [loan-info]Informativeness

    [loan-info]Timeliness

    Confirmation[loan-info] Properties

    Accurate

    [loan-info]Attributes[loan-info]

    AccurateTimelyAccuracy[loan-info]

    [loan-info]Time

    F i g u r e 9 : I m p a c t o n t o p - l e v e l r e q u i r e m e n t s o f a d d i n g n e w r e q u i r e m e n t .

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

    w a s a n d i s i m p o r t a n t . S o h e r e , w i t h o u t s a t i s c i n g t h e o s p r i n g w e c a n n o t l a b e l t h e t o p - l e v e l

    p a r e n t T i m e P e r f o r m a n c e l o a n - i n f o ] a s s a t i s c e d . W h a t w e c a n s a y a b o u t t h e u n l a b e l l e d g o a l s

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

    s a t i s c i n g t h e p a r e n t s . L i k e w i s e , s a t i s c i n g n e w o s p r i n g w i l l h e l p t o s a t i s c e t h e p a r e n t s .

    4 . 4 I m p a c t o f C h a n g e o n O t h e r T o p - L e v e l R e q u i r e m e n t s

    W h a t h a s b e e n t h e i m p a c t o f t h e c h a n g e i n r e q u i r e m e n t s ?

    1 T h e g o a l g r a p h ( F i g u r e 9 ) n o w i n c l u d e s t h e h i s t o r y o f d e a l i n g w i t h t h e c h a n g e . G o a l s

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

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

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

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

    2 W e h a v e c o n s i d e r e d c h a n g e s i n p r i o r i t i e s , w o r k l o a d a n d f u n c t i o n a l i t y w h i c h a r e a s s o c i -

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

    3 T h i s h a s l e a d t o a c h a n g e i n t h e t a r g e t s y s t e m . T h i s w a s d r i v e n b y c h a n g e s i n r e q u i r e -

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

    4 T h i s h a s a l s o c h a n g e d t h e e x t e n t t o w h i c h w e h a v e s a t i s c e d t h e o v e r a l l t o p - l e v e l r e q u i r e -

    2 3

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    24/50

    m e n t s , n o t j u s t t h e l o w e r - l e v e l o n e s c o n s i d e r e d i n t h e p r e v i o u s s u b - s e c t i o n . T h e e e c t w a s t o

    m e e t t h e n e w g o a l s , w h i c h c o n t r i b u t e d p o s i t i v e l y t o w a r d s t h e t o p - l e v e l g o a l s . F o r e x a m p l e ,

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

    i t i v e c o n t r i b u t i o n t o w a r d s T i m e l y A c c u r a c y l o a n - i n f o ] . A s p a r t o f t h e t r a d e o , h o w e v e r , t i m e

    p e r f o r m a n c e f o r c h a n g i n g t h e b a s e r a t e w e n t f r o m b e i n g v e r y s a t i s c e d t o b e i n g s a t i s c e d ,

    w h i c h i s s t i l l a c c e p t a b l e f o r t h i s c r i t i c a l g o a l . B y c o m p a r i n g F i g u r e 9 w i t h F i g u r e s 2 a n d 4 , i t

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

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

    e n h a n c e d s t a t e m e n t s .

    5 G u i d e l i n e s f o r t h e C h a n g e P r o c e s s

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

    f u n c t i o n a l r e q u i r e m e n t s , f u n c t i o n a l r e q u i r e m e n t s , p r i o r i t i e s a n d w o r k l o a d , a n d t h e l i k e . F u r -

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

    m a n y o p t i o n s a t e a c h d e c i s i o n p o i n t a n d m a n y c r i t e r i a f o r e a c h d e c i s i o n . I n v i e w o f t h e n e e d ,

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

    s u c h c h a n g e s .

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

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

    t h e h i s t o r y r e c o r d , i . e . , g o a l g r a p h . T h i s p r o c e s s o f i d e n t i c a t i o n a n d a s s o c i a t i o n i s o f t e n

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

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

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

    A n i m p o r t a n t a s p e c t o f o u r w o r k i s i t s k n o w l e d g e - b a s e d a p p r o a c h , h e l p i n g t h e d e v e l o p e r

    c a p t u r e , u s e a n d r e - u s e d e v e l o p m e n t k n o w l e d g e . T o m o r e f u l l y r e a l i s e t h e b e n e t s o f t h i s

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

    W e h a v e d e v e l o p e d t o o l s f o r d e a l i n g w i t h q u a l i t y r e q u i r e m e n t s f o r t h e N F R F r a m e w o r k

    ( S e e S e c t i o n 7 ) . T h e s e t o o l s p r i m a r i l y h e l p t h e d e v e l o p e r s t a t e a n d r e n e g o a l s . B u t n o w ,

    2 4

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    25/50

    d e a l i n g w i t h c h a n g e m a y r e q u i r e o p e r a t i o n s , s u c h a s r e m o v a l o f a g o a l , w h i c h m a y t e m p o r a r i l y

    m a k e t h e g o a l g r a p h i n c o n s i s t e n t . I n t h e s e c a s e s , h e l p i s n e e d e d t o r e s t o r e t h e g o a l g r a p h t o a

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

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

    d e a l w i t h s i t u a t i o n s r e l a t i n g t o c h a n g e , s o m e o f w h i c h w e r e i l l u s t r a t e d i n S e c t i o n 4 .

    5 . 1 D e s i r a b l e P r o p e r t i e s o f G o a l G r a p h s

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

    i n t e r a c t i o n s , d i s a m b i g u a t i n g t e r m i n o l o g y , a n d d e t e c t i n g c o n i c t s , o m i s s i o n s a n d r e d u n d a n c i e s .

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

    B a s i c T r a c e a b l e G o a l G r a p h .

    T h e s e n o t i o n s a p p l y t o a l l g o a l g r a p h s , w h e t h e r i n i t i a l o r c h a n g e d .

    T h e u s e o f t h e n o t i o n o f s t r u c t u r a l l y t r a c e a b l e g o a l g r a p h p r o v i d e s s o m e \ s y n t a c t i c " p r i n -

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

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

    2 . E a c h l i n k s h o u l d h a v e i t s d i r e c t i o n ( p o s i t i v e , n e g a t i v e o r n e u t r a l ) a n d s t r e n g t h ( s t r o n g ,

    w e a k , t o - b e - s p e c i e d ) o f c o n t r i b u t i o n s p e c i e d .

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

    T h i s k n o w l e d g e - b a s e d p r o c e s s b e c o m e s m o r e j u s t i a b l e b y t h e u s e o f t h e n o t i o n o f a

    k n o w l e d g e - s o u r c e t r a c e a b l e g o a l g r a p h :

    1 . E a c h d e c o m p o s i t i o n , s a t i s c i n g o r a r g u m e n t a t i o n s h o u l d b e a s s o c i a t e d w i t h e i t h e r a

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

    2 . E a c h c o r r e l a t i o n l i n k s h o u l d b e a s s o c i a t e d w i t h a g e n e r i c - o r u s e r - s u p p l i e d c o r r e l a t i o n

    r u l e .

    2 5

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    26/50

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

    k n o w l e d g e o f a p a r t i c u l a r N F R ( e . g . , s e c u r i t y o r p e r f o r m a n c e ) , a n d t h e d e v e l o p e r ' s e x p e r t i s e .

    W h e n a g o a l g r a p h i s c o m p l e t e d w i t h r e s p e c t t o t h e i n c o r p o r a t i o n o f c h a n g e s , w e u s e t h e

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

    1 . E a c h N F R g o a l s h o u l d h a v e a t l e a s t o n e t a r g e t - s y s t e m d e s i g n a l t e r n a t i v e s e l e c t e d f o r

    i t ( f o r w a r d t r a c e a b l e ) ; c o n v e r s e l y , a d e s i g n a l t e r n a t i v e n e e d s t o b e t r a c e a b l e t o a N F R

    g o a l ( b a c k w a r d t r a c e a b l e )

    2 . E a c h g o a l n e e d s t o b e a s s o c i a t e d w i t h a n o r i g i n a t o r , s u c h a s a r e s p o n s i b l e p e r s o n o r a

    d o c u m e n t .

    3 . E a c h p r i o r i t y ( c r i t i c a l i t y o r d o m i n a n c e ) o f a g o a l n e e d s t o b e a s s o c i a t e d w i t h a n o r i g i -

    n a t o r .

    4 . E a c h l i n k n e e d s t o b e a s s o c i a t e d w i t h a n o r i g i n a t o r .

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

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

    M e a n i n g f u l l y - C h a n g e d G o a l G r a p h .

    T h e p r o c e s s o f c h a n g e i s i n c r e m e n t a l , i . e . , t h e r e i s a g o a l g r a p h b e f o r e t h e c h a n g e , a n d c h a n g e s

    a r e r e e c t e d i n t o t h e e x i s t i n g g o a l g r a p h , w h i c h r e s u l t s i n a n e w g o a l g r a p h . H o w e v e r , t h e

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

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

    g o a l g r a p h . W e t h u s i n t r o d u c e t h e n o t i o n o f a v a l u e - c h a n g e d g o a l g r a p h :

    1 . W h e n a c h a n g e p r o c e s s i s c o m p l e t e d , e a c h s i n k ( i . e . , a n o d e w i t h o u t a n y o u t g o i n g l i n k )

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

    2 . A n a r g u m e n t o r a n o r i g i n a t o r s h o u l d b e r e c o r d e d f o r a c h a n g e , a s s u g g e s t e d b y t h e

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

    2 6

  • 8/7/2019 Dealing with change - An approach using non-functional requirements

    27/50

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

    s h o u l d b e r e c o r d e d ( S e e S e c t i o n 7 ) .

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

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

    I n o r d e r t o c l e a r l y r e c o g n i s e t h e e e c t s o f c h a n g e s , w e i n t r o d u c e t h e n o t i o n o f i d e n t i a b l y -

    c h a n g e d g o a l g r a p h : T h e i m p a c t o f e a c h a d d i t i o n , d e l e t i o n a n d c h a n g e i n i m p o r t a n c e o f

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

    m a r k e d a s s u c h . T h i s n o t i o n h e l p s e x t r a c t t h e i m p a c t o f c h a n g e s u p o n t h e p r e v i o u s s y s t e m .

    5 . 2 G u i d e l i n e s f o r D i e r e n t C a t e g o r i e s o f C h a n g e s

    I n c o r p o r a t i n g r e v i s i o n s i n t o a g o a l g r a p h i s f a c i l i t a t e d b y a s c h e m e w h i c h d i v i d e s N F R - r e l a t e d

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

    F i g u r e 3 ) a n d u s e s a s e t o f g u i d e l i n e s f o r p r o p a g a t i n g t h e c h a n g e s . T h e g u i d e l i n e s a r e b a s e d

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

    g o a l g r a p h .

    G u i d e l i n e s f o r C h a n g e s i n N F R G o a l s . A c h a n g e i n a N F R g o a l u s u a l l y p r o c e e d s i n a

    d o w n w a r d d i r e c t i o n , l i n k i n g a n d e x p a n d i n g t h e g o a l t o o t h e r N F R , s a t i s c i n g a n d a r g u m e n t

    g o a l s :

    ( a ) a d d i t i o n o f a q u a l i t y r e q u i r e m e n t : A n e w g o a l s h o u l d g e n e r a l l y b e l i n k e d w i t h e x i s t -

    i n g g o a l s ( N F R , s a t i s c i n g a n d a r g u m e n t a t i o n g o a l s ) . I f a f t e r w a r d s t h e r e r e m a i n a n y

    i s o l a t e d N F R g o a l s w i t h o u t o s p r i n g , w e s e e i f o s p r i n g c a n b e c r e a t e d a n d r e l a t e d t o

    o t h e r e x i s t i n g g o a l s . T h i s i n v o l v e s a n i t e r a t i v e s t a g e o f d e c o m p o s i n g t h e a d d e d g o a l s ,

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

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

    ( b ) d e l e t i o n o f a q u a l i t y r e q u i r e m e n t : T h i s c a n i n v o l v e d e l e t i n g ( p o s s i b l y r e c u r s i v


Recommended