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