Métricas de software en lenguajes de cuarta generación

101  13  Descargar (0)

Texto completo

(1)

UNIVERSIDAD AUTONOMA DE NUEVO

UEON

FACULTAD DE INGENIERIA MECANICA y ELECTRICA

DIVISION DE ESTUDIOS DE POSTGRADO

METRICAS DE SOFTWARE EN LENGUAÍES

DE CUARTA GENBtAQON

TESIS

QUE PARA OBTENER EL TITULO DE

MAESTRO EN OENOAS DE LA ADMINISTRACION

ESPECIALIDAD EN SISTEMAS

P R E S E N T A

JOSE LUÍS MARTINEZ FLORES

(2)
(3)
(4)

UNIVERSIDAD AUíOrlOMA

DE

NUEVO LEON

F a c u l t a :

DE i ' M E C A N I C A

y ELECTRICA

DíVIS: I-.. £_ i. :: DS DE

POSTGRADO

McTR . . . ¡: '

V ARE EN

LENGUAJES

m C U / j U Í Á G E N E R A C I O N

QUE I-/ -/

C T l '

ER El

TITULO

D E

MAESTRO

I > C ,

c

DE LA

ADMINISTRACION

E5í .

A I ;

EN

SISTEMAS

P H L S Í N T A

(5)

U N I V E R S I D A D A U T O N O M A D E N U E V O L E O N

F A C U L T A D D E I N G E N I E R I A M E C A N I C A Y E L E C T R I C A

D I V I S I O N D E E S T U D I O S D E P O S T G R A D O

L o s m i e m b r o s del c o m i t é d e t e s i s r e c o m e n d a m o s q u e la

p r e s e n t e t e s i s r e a l i z a d a p o r el L i c . J o s é L u i s M a r t í n e z

F l o r e s s e a a c e p t a d a c o m o o p c i ó n p a r a o b t e n e r el g r a d o d e

M a e s t r o e n C i e n c i a s de la A d m i n i s t r a c i ó n c o n e s p e c i a l i d a d e n

S i s t e m a s .

El c o m i t é d e t e s i s

D r . O s c a r F l o r e s R o s a l e s

A s e s o r

(6)

" T M

. U Z

(7)
(8)

A G R A D E C I M I E N T O S

P o r e s t e m e d i o q u i e r o a g r a d e c e r p r o f u n d a m e n t e al a s e s o r

de e s t a t e s i s , D r . O s c a r F l o r e s R o s a l e s , p o r g u i a r e m e h a s t a

la c u l m i n a c i ó n d e e s t e o b j e t i v o m e d i a n t e s u s a c e r t a d o s

c o n s e j o s . D e la m i s m a forma, a l o s c o - a s e s o r e s D r . O s c a r L .

C h a c ó n M o n d r a g ó n y D r . J o s é M a n u e l S á n c h e z p o r su v a l i o s a

(9)

Í N D I C E

C O N T E N I D O P A G I N A

I N D I C E i

I N D I C E D E T A B L A S iv

I N D I C E D E F I G U R A S v i

P R O L O G O v i i

R E S U M E N x

C A P I T U L O 1.- I N T R O D U C C I O N 1

C A P I T U L O 2.- A N T E C E D E N T E S .

2 . 0 . - I n t r o d u c c i ó n 4

2 . 1 . - El S o f t w a r e .

2 . 1 . 1 . - C o n c e p t o d e S o f t w a r e 5

2 . 1 . 2 . - D e s a r r o l l o d e S o f t w a r e 7

2 . 1 . 3 . - P r o b l e m a s con el d e s a r r o l l o

de S o f t w a r e 9

2 . 1 . 4 . - C a u s a s d e l o s p r o b l e m a s d e l

d e s a r r o l l o de S o f t w a r e 9

2 . 2 . - L a I n g e n i e r í a d e S o f t w a r e .

2 . 2 . 1 . - D e f i n i c i ó n 11

2 . 2 . 2 . - P a r a d i g m a s d e la I n g e n i e r í a

del S o f t w a r e 13

2 . 2 . 3 . - U n i f i c a c i ó n de los p a r a d i g m a s . . 20

2 . 3 . - M é t r i c a s de S o f t w a r e 23

2 . 4 . - M é t r i c a s de C a l i d a d d e l S o f t w a r e .

2 . 4 . 1 . - C a l i d a d d e l S o f t w a r e 26

2 . 4 . 2 . - F a c t o r e s d e c a l i d a d d e l

(10)

2 . 4 . 3 . - M é t r i c a s C u a l i t a t i v a s d e la

c a l i d a d del S o f t w a r e 29

2 . 4 . 4 . - M é t r i c a s C u a n t i t a t i v a s d e la

c a l i d a d del S o f t w a r e 31

2 . 5 . - R e s u m e n 34

C A P I T U L O 3.- M E T R I C A S D E H A L S T E A D Y P R E G U N T A S D E L A I N V E S T I G A C I O N .

3 . 0 . - I n t r o d u c c i ó n 35

3 . 1 . - I m p o r t a n c i a 36

3 . 2 . - D e f i n i c i o n e s B á s i c a s 36

3 . 3 . - E s t i m a d o r d e la l o n g i t u d d e

u n p r o g r a m a 4 0

3 . 4 . - E s t i m a d o r del v o l ú m e n p o t e n c i a l

d e u n p r o g r a m a 41

3 . 5 . - E s t i m a d o r del n i v e l / d i f i c u l t a d d e u n p r o g r a m a y d e f i n i c i ó n del c o n t e n i d o

d e i n t e l i g e n c i a de u n p r o g r a m a 4 2

3 . 6 . - E s t i m a d o r del e s f u e r z o y del t i e m p o

d e p r o g r a m a c i ó n de u n p r o g r a m a 43

3 . 7 . - D e f i n i c i ó n del n i v e l del l e n g u a j e

d e p r o g r a m a c i ó n y su e s t i m a d o r 45

3 . 8 . - P r o p u e s t a de p r e g u n t a s e h i p ó t e s i s

d e i n v e s t i g a c i ó n 47

3 . 9 . - R e s u m e n 48

C A P I T U L O 4 . - M E T O D O L O G I A D E L A I N V E S T I G A C I O N .

4 . 0 . - I n t r o d u c c i ó n 49

4 . 1 . - D i s e ñ o d e i n v e s t i g a c i ó n 49

4 . 2 . - S e l e c c i ó n de los 4 G L ' s 50

4 . 3 . - S e l e c c i ó n d e la m u e s t r a 50

4 . 4 . - D e s a r r o l l o y v a l i d a c i ó n del

a n a l i z a d o r d e c ó d i g o 51

(11)

C A P I T U L O 5.- A N A L I S I S D E D A T O S .

5 . 0 . - I n t r o d u c c i ó n 53

5 . 1 . - R e v i s i ó n de la e x a c t i t u d d e

l o s d a t o s 53

5 . 2 . - E s t a d í s t i c a s D e s c r i p t i v a s 55

5 . 3 . - A n á l i s i s de d a t o s d e la p r i m e r a

h i p ó t e s i s de i n v e s t i g a c i ó n 59

5 . 4 . - A n á l i s i s de d a t o s d e la s e g u n d a

h i p ó t e s i s d e i n v e s t i g a c i ó n 61

5 . 5 . - R e s u m e n 65

C A P I T U L O 6.- C O N C L U S I O N E S 67

A P E N D I C E A . - A N A L I Z A D O R D E C O D I G O F U E N T E 71

(12)

L I S T A D E T A B L A S

T A B L A P A G I N A

T a b l a 2 . 1 : F a c t o r e s y m é t r i c a s d e c a l i d a d 31

T a b l a 3 . 1 : M e d i a y v a r i a n z a del n i v e l d e l l e n g u j e

p a r a s e i s l e n g u a j e s 46

T a b l a 3 . 2 : D i s t r i b u c i o n e s d e f r e c u e n c i a d e n i v e l e s

d e l l e n g u a j e p a r a d i f e r e n t e s l e n g u a j e s 47

T a b l a 5 . 1 : L o n g i t u d e s r e a l e s y e s t i m a d a s p a r a

D B A S E III 55

T a b l a 5 . 2 : L o n g i t u d e s r e a l e s y e s t i m a d a s p a r a

F 0 X P R Q 2 56

T a b l a 5 . 3 : N i v e l e s del l e n g u a j e p a r a D B A S E III 57

T a b l a 5 . 4 : N i v e l e s del l e n g u a j e p a r a F 0 X P R 0 2 57

T a b l a 5 . 5 : M e d i a y d e s v i a c i ó n e s t á n d a r p a r a l o s

n i v e l e s del l e n g u a j e D B A S E III y F 0 X P R 0 2 58

T a b l a 5 . 6 : T a b l a de f r e c u e n c i a s p a r a el n i v e l d e l

l e n g u a j e D B A S E III 58

T a b l a 5 . 7 : T a b l a de f r e c u e n c i a s p a r a el n i v e l d e l

l e n g u a j e FOX PRO 2 59

T a b l a 5 . 8 : C o e f i c i e n t e s de c o r r e l a c i ó n d e P e a r s o n

e n t r e N y Nest 60

T a b l a 5 . 9 : R e s u l t a d o s de l a s p r u e b a s Z e n t r e l o s

4 G L ' s y los 3 G L ' s 63

T a b l a 5 . 1 0 : R e s u l t a d o s de la p r u e b a Z, e n t r e el n i v e l

d e l l e n g u a j e d e los 4 G L ' s y el I n g l é s

(13)

T A B L A P A G I N A

T a b l a 5 . 1 1 : R e s u l t a d o s d e la p r u e b a Z, c o m p a r a n d o l a s

m e d i a s de los n i v e l e s del l e n g u a j e p a r a

(14)

L I S T A D E F I G U R A S

F I G U R A P A G I N A

F i g . 2 . 1 : C u r v a de f a l l a s del h a r d w a r e 6

F i g . 2 . 2 : C u r v a de f a l l a s del s o f t w a r e 6

F i g . 2 . 3 : El c i c l o de v i d a c l á s i c o 15

F i g . 2 . 4 : C r e a c i ó n de p r o t o t i p o s 17

F i g . 2 . 5 : El m o d e l o en e s p i r a l 18

F i g . 2 . 6 : C l a s i f i c a c i ó n de m é t r i c a s 25

F i g . 2 . 7 : F a c t o r e s de c a l i d a d d e l s o f t w a r e d e M c C a l l 28

F i g . 2 . 8 : C o m p l e j i d a d de la red d e f l u j o d e c o n t r o l 33

F i g . 6 . 1 : R e l a c i ó n ideal e n t r e la l o n g i t u d r e a l y la

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

c o r r e l a c i ó n l i n e a l p r á c t i c a 68

F i g . 6 . 2 : R e l a c i ó n ideal e n t r e el n i v e l d e l l e n g u a j e y

la l o n g i t u d r e a l de u n p r o g r a m a 70

F i g . A.ls D i a g r a m a de c o n t e x t o del a n a l i z a d o r

d e c ó d i g o 77

F i g . A . 2 : D i a g r a m a de f l u j o d e d a t o s d e l a n a l i z a d o r

(15)

P R O L O G O

A l m e n o s en n u e s t r o e n t o r n o r e g i o n a l e s m u y c o m ú n q u e

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

e n b a s e a su e x p e r i e n c i a . A u n q u e é s t o p u e d e d a r b u e n o s

r e s u l t a d o s si el a n a l i s t a t i e n e m u c h a e x p e r i e n c i a , d e j a

m u c h o q u e d e s e a r la f o r m a l i d a d con q u e se h a c e n l a s

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

O t r o h e c h o , es q u e a a l g u n o s a n a l i s t a s s o l a m e n t e l e s

i n t e r e s a q u e el s o f t w a r e " f u n c i o n e " . C u a n d o el s o f t w a r e e s t á

f u n c i o n a n d o , g e n e r a l m e n t e se o l v i d a n d e él p a r a e m p e z a r a

d e s a r r o l l a r o t r o . E s t o p u e d e c a u s a r p r o b l e m a s c u a n d o el

s o f t w a r e r e q u i e r a m a n t e n i m i e n t o , m a n i f e s t a n d o p o r lo t a n t o ,

la b a j a c a l i d a d del s o f t w a r e .

D a d o lo a n t e r i o r , s e r í a c o n v e n i e n t e e n c o n t r a r a l g u n a

f o r m a d e m e d i r la c a l i d a d d e l s o f t w a r e q u e se d e s a r r o l l a ,

a s í c o m o e s t i m a r su t a m a ñ o y t i e m p o d e d e s a r r o l l o .

P o r o t r a p a r t e , es u n h e c h o q u e l o s l e n g u a j e s d e c u a r t a

g e n e r a c i ó n (4GL's), d e s d e l o s p i o n e r o s c o m o el D B A S E e n

t o d a s s u s v e r s i o n e s y c o n t i n u a n d o c o n el F O X P R O , C L I P P E R ,

F O X B A S E , P A R A D O X , h a s t a los a c t u a l m e n t e m á s p o d e r o s o s 4 G L ' s

d e l o s 9 0 ' s c o m o el P R O G R E S S y el O R A C L E , c a d a v e z s o n m á s

(16)

P o r c o n s i g u i e n t e , es m u y r e c o m e n d a b l e el a n á l i s i s d e

c ó d i g o d e l o s 4 G L ' s , p a r a e n c o n t r a r u n a f o r m a d e e s t i m a r el

t a m a ñ o y t i e m p o d e d e s a r r o l l o d e l s o f t w a r e , a s i c o m o p a r a

e n c o n t r a r u n a f o r m a d e m e d i r la c a l i d a d d e l s o f t w a r e q u e se

d e s a r r o l l a .

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

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

a s í c o m o f o r m a s de m e d i r la c a l i d a d del s o f t w a r e q u e s e

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

q u e f o r m a n el s o f t w a r e . E s t a s e s t i m a c i o n e s s o n v á l i d a s p a r a

l e n g u a j e s d e t e r c e r a g e n e r a c i ó n y no s e h a d e m o s t r a d o su

v a l i d e z p a r a l e n g u a j e s d e c u a r t a g e n e r a c i ó n .

L a p r e s e n t e t e s i s da u n a s o l u c i ó n p a r c i a l a e s t e

p r o b l e m a , a n a l i z a n d o : 1) l o s 4 G L ' s D B A S E III, F O X P R O 2 ; 2) El

e s t i m a d o r d e la l o n g i t u d d e u n p r o g r a m a e s c r i t o e n D B A S E III

o F O X P R O 2 ; 3) L o s n i v e l e s d e l o s l e n g u a j e s D B A S E III y

F 0 X P R 0 2 .

A d i c i o n a l m e n t e , se a n e x a a la p r e s e n t e t e s i s u n a

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

h a c e r e s t i m a c i o n e s d e s o f t w a r e i m p l e m e n t a d o e n F 0 X P R 0 2 o en

D B A S E I I I . E s t a h e r r a m i e n t a la l l a m a m o s : a n a l i z a d o r d e

c ó d i g o . E n el a p é n d i c e A se da u n a b r e v e d e s c r i p c i ó n d e su

(17)

E l a n a l i z a d o r h a c e u n a n á l i s i s d e c ó d i g o f u e n t e e s c r i t o

e n F 0 X P R 0 2 o e n D B A S E III, p e r o c o n a l g u n a s m o d i f i c a c i o n e s

p u e d e h a c e r a n á l i s i s de c ó d i g o f u e n t e e s c r i t o e n c u a l q u i e r '

l e n g u a j e .

E s p e r o q u e e s t a t e s i s p u e d a d a r a l g u n a s g u í a s p a r a

h a c e r m e j o r e s e s t i m a c i o n e s y r e v i s i o n e s d e la c a l i d a d d e l

s o f t w a r e .

J O S E L U I S M A R T I N E S F L O R E S .

(18)

R E S U M E N

L a s m é t r i c a s d e H a l s t e a d d e l a s C i e n c i a s d e l S o f t w a r e

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

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

t i e m p o d e d e s a r r o l l o de é s t o s . L o s r e s u l t a d o s d e e s t a t e o r í a

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

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

H a l s t e a d p r o p o n e u n e s t i m a d o r de la l o n g i t u d d e u n

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

es v á l i d o p a r a l e n g u a j e s d e t e r c e r a g e n e r a c i ó n . H a l s t e a d

d e f i n e el n i v e l d e u n l e n g u a j e y h a c e u n a c l a s i f i c a c i ó n d e

d i f e r e n t e s l e n g u a j e s . E s t a c l a s i f i c a c i ó n t i e n e s e n t i d o

p r á c t i c o .

L a t e s i s t i e n e p o r o b j e t i v o r e s p o n d e r l a s s i g u i e n t e s

p r e g u n t a s d e i n v e s t i g a c i ó n :

1) ¿ E s el e s t i m a d o r de l o n g i t u d p r o p u e s t o p o r H a l s t e a d u n

b u e n e s t i m a d o r p a r a u n p r o g r a m a e s c r i t o e n a l g ú n 4 G L ?

2) ¿Es el n i v e l del l e n g u a j e d e los 4 G L ' s m a y o r q u e e l n i v e l

del l e n g u a j e d e l o s 3 G L ' s y m e n o r q u e el n i v e l d e l l e n g u a j e

n a t u r a l ?

P a r a r e s p o n d e r e s t a s p r e g u n t a s se p r o c e d i ó d e la

(19)

1) S e s e l e c c i o n a r o n l o s 4 G L ' s p a r a h a c e r la i n e v e s t i g a c i ó n

(DBASE III, F 0 X P R 0 2 ) .

2) S e s e l e c c i o n ó la m u e s t r a p a r a l o s l e n g u a j e s a n t e s

m e n c i o n a d o s (26 e l e m e n t o s p a r a D B A S E III, 117 e l e m e n t o s p a r a

F 0 X P R 0 2 ) .

3) S e c o n s t r u y ó u n a n a l i z a d o r d e c ó d i g o f u e n t e p a r a o b t e n e r

l a s m é t r i c a s d e H a l s t e a d , p a r a c a d a u n o d e l o s p r o g r a m a s .

4) Se h i z o u n a n á l i s i s de c o r r e l a c i ó n p a r a r e s p o n d e r la

p r i m e r a p r e g u n t a de i n v e s t i g a c i ó n .

5) S e h i c i e r o n p r u e b a s Z p a r a r e s p o n d e r la s e g u n d a p r e g u n t a

d e i n v e s t i g a c i ó n .

M e d i a n t e u n a n á l i s i s d e l o s d a t o s o b t e n i d o s s e l l e g ó a

l a s s i g u i e n t e s c o n c l u s i o n e s :

1) El e s t i m a d o r de la l o n g i t u d d e u n p r o g r a m a p r o p u e s t o p o r

H a l s t e a d es u n b u e n e s t i m a d o r e n l o s l e n g u a j e s F 0 X P R 0 2 y

D B A S E I I I .

2) H a y e v i d e n c i a e s t a d í s t i c a d e q u e el n i v e l d e l l e n g u a j e

F 0 X P R 0 2 es m a y o r q u e el n i v e l del l e n g u a j e d e l o s 3 G L ' s . C o n

el l e n g u a j e D B A S E III n o h u b o s u f i c i e n t e e v i d e n c i a

e s t a d í s t i c a p e r o sí n u m é r i c a .

3) N o h a y e v i d e n c i a e s t a d í s t i c a d e q u e l o s n i v e l e s d e l o s

l e n g u a j e s F 0 X P R 0 2 y D B A S E III s e a n d i f e r e n t e s .

4) N o h a y e v i d e n c i a e s t a d í s t i c a d e q u e l o s n i v e l e s d e l o s

l e n g u a j e s F O X P R O 2 y D B A S E III s e a n m e n o r e s q u e el n i v e l d e l

(20)

C A P I T U L O I

I N T R O D U C C I O N

H a y m u c h o s f a c t o r e s q u e a f e c t a n el d e s a r r o l l o d e u n

p r o g r a m a . E s t o s i n c l u y e n : el t i p o d e p r o g r a m a q u e e s t á

s i e n d o d e s a r r o l l a d o , el t a m a ñ o d e l p r o g r a m a , el l e n g u a j e d e

i m p l e m e n t a c i ó n , la e x p e r i e n c i a d e l o s p r o g r a m a d o r e s

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

el a m b i e n t e c o m p u t a c i o n a l .

L a c i e n c i a del s o f t w a r e (Halstead, 1 9 7 7 ) es u n m o d e l o

d e l p r o c e s o d e p r o g r a m a c i ó n que se b a s a e n u n n ú m e r o

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

p r o g r a m a c i ó n . E s t o o f r e c e u n a g u í a h a c i a e s t i m a d o r e s q u e

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

s o f t w a r e .

L o s r e s u l t a d o s de e s t a t e o r í a se h a n u t i l i z a d o y se

s i g u e n u t i l i z a n d o (Wrigley, 1991; B o w m a n , 1 9 9 0 ) , c o n s u s

c o r r e s p o n d i e n t e s c r í t i c a s y e v a l u a c i o n e s (Shen, 1 9 8 3 ;

W e y u c k e r , 1 9 8 8 ; R a m a m u r t h y , 1 9 8 8 ) .

L o s r e s u l t a d o s d e e s t a t e o r í a se b a s a n e n m u e s t r a s d e

p r o g r a m a s e s c r i t o s en l e n g u a j e m á q u i n a , e n s a m b l a d o r y d e

(21)

s i g u i e n t e : ¿Los r e s u l t a d o s de las c i e n c i a s d e l s o f t w a r e

t i e n e n s e n t i d o en los l e n g u a j e s de c u a r t a g e n e r a c i ó n

(4GL's)?

L a p r e g u n t a es b a s t a n t e c o m p l e j a . S i n e m b a r g o

p u d i é r a m o s c o n t e s t a r l a a n a l i z a n d o u n e s t i m a d o r de l o s q u e

p r o p o n e H a l s t e a d , y c l a s i f i c a n d o a l g u n o s 4 G L ' s d e n t r o de la

t a b l a de c l a s i f i c a c i o n e s de H a l s t e a d .

H a l s t e a d p r o p o n e un e s t i m a d o r de la l o n g i t u d d e u n

p r o g r a m a (Nest). H a y e v i d e n c i a e m p í r i c a q u e d e m u e s t r a que

N e s t es u n b u e n e s t i m a d o r p a r a l e n g u a j e s de t e r c e r a

g e n e r a c i ó n (3GL's) (Shen, 1983), p e r o ¿Es N e s t u n b u e n

e s t i m a d o r de la l o n g i t u d de un p r o g r a m a p a r a los 4 G L ' s ?

H a l s t e a d , a d e m á s hace u n a c l a s i f i c a c i ó n de d i f e r e n t e s

n i v e l e s de l e n g u a j e (Inglés P r o s a i c o , PL/I, A l g o l 58,

F o r t r a n , Pilot, E n s a m b l a d o r ) . ¿Tiene s e n t i d o c l a s i f i c a r los

4GL's, c o m o lo h i z o H a l s t e a d ? E s t o es, ¿Es el n i v e l d e l

l e n g u a j e de los 4 G L ' s m a y o r que el n i v e l d e l l e n g u a j e d e los

3 G L ' s y m e n o r q u e el nivel d e l l e n g u a j e I n g l é s P r o s a i c o

(lenguaje n a t u r a l ) ?

La p r e s e n t e tesis t r a t a de d a r r e s p u e s t a a las

a n t e r i o r e s p r e g u n t a s m e d i a n t e el l o g r o de los s i g u i e n t e s

(22)

O b j e t i v o 1. D e t e r m i n a r si el e s t i m a d o r d e la l o n g i t u d d e u n

p r o g r a m a , c o m o el p r o p u e s t o p o r H a l s t e a d (1977), e s u n b u e n

e s t i m a d o r p a r a l e n g u a j e s de c u a r t a g e n e r a c i ó n .

O b j e t i v o 2. D e t e r m i n a r si el n i v e l d e l l e n g u a j e d e l o s 4 G L ' s

es m a y o r q u e el n i v e l del l e n g u a j e d e l o s 3 G L ' s y m e n o r q u e

(23)

C A P I T U L O 2

A N T E C E D E N T E S

2.0 I N T R O D U C C I O N

E l o b j e t i v o f u n d a m e n t a l de la i n v e s t i g a c i ó n es h a c e r u n

a n á l i s i s d e l a s m é t r i c a s d e H a l s t e a d e n l e n g u a j e s d e c u a r t a

g e n e r a c i ó n (4GL's). P o r lo t a n t o , es i m p o r t a n t e d a r u n a

e x p l i c a c i ó n del l u g a r en q u e se u b i c a n l a s m é t r i c a s d e

H a l s t e a d , a s í c o m o el de los c o n c e p t o s q u e n o s c o n d u c e n a su

s i g n i f i c a d o .

El p r e s e n t e c a p í t u l o se c o n d u c i r á d e la s i g u i e n t e

f o r m a . E n 2 . 1 se d a r á u n a e x p l i c a c i ó n d e l c o n c e p t o d e

s o f t w a r e , d e su d e s a r r o l l o y de sus p r o b l e m a s . E n 2 . 2 se

d a r á u n a e x p l i c a c i ó n d e lo q u e es la i n g e n i e r í a d e s o f t w a r e ,

d e t r e s d i f e r e n t e s c o n c e p t u a l i z a c i o n e s , y, f i n a l m e n t e , d e la

u n i f i c a c i ó n d e t a l e s c o n c e p t u a l i z a c i o n e s . E n 2.3 se d a r á u n a

e x p l i c a c i ó n d e lo que son l a s m é t r i c a s de s o f t w a r e , su

c l a s i f i c a c i ó n y sus d i m e n s i o n e s . E n 2.4 s e d a r á u n a

e x p l i c a c i ó n d e l a s m é t r i c a s d e c a l i d a d d e l s o f t w a r e , y su

(24)

2 . 1 E L S O F T W A R E

2 . 1 . 1 C O N C E P T O D E SOFTWARE! .

E l s o f t w a r e es u n c o n c e p t o m u y d i f í c i l d e d e f i n i r ,

a u n q u e se le d i e r a u n a d e f i n i c i ó n f o r m a l se p o d r í a n

e n c o n t r a r o t r a s d e f i n i c i o n e s m á s c o m p l e t a s . S e n e c e s i t a a l g o

m á s q u e u n a d e f i n i c i ó n f o r m a l p a r a p o d e r c o m p r e n d e r lo q u e

es el s o f t w a r e . S i n e m b a r g o , p o d e m o s d e f i n i r s o f t w a r e c o m o :

" p r o g r a m a s o c o n j u n t o de i n s t r u c c i o n e s q u e d i r i g e n l a s

o p e r a c i o n e s d e p r o c e s a m i e n t o d e i n f o r m a c i ó n e j e c u t a d a s p o r

m e d i o d e l h a r d w a r e " {Athey, 1988, p . 15) .

P a r a c o m p r e n d e r lo que es el s o f t w a r e , es i m p o r t a n t e

e x a m i n a r s u s c a r a c t e r í s t i c a s q u e lo h a c e n s e r d i f e r e n t e d e

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

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

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

1. El s o f t w a r e se d e s a r r o l l a , n o se f a b r i c a e n u n s e n t i d o

c l á s i c o .

2. El s o f t w a r e n o se e s t r o p e a c o n el t i e m p o . (Ver F i g . 2 . 1 y

(25)

F u e n t e : (Pressman, 1993) .

F i g . 2.2 C u r v a d e f a l l a s d e l s o f t w a r e ( i d e a l i z a d a ) .

F u e n t e : (Pressman, 1 9 9 3 ) .

3. L a m a y o r í a d e l s o f t w a r e se c o n s t r u y e a la m e d i d a , e n v e z

d e e n s a m b l a r c o m p o n e n t e s e x i s t e n t e s . E s t a c a r a c t e r í s t i c a

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

(26)

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

(Yourdon, 1 9 9 2 ) .

2 . 1 . 2 D E S A R R O L L O D E S O F T W A R E .

E l s o f t w a r e se d e s a r r o l l a m e d i a n t e u n l e n g u a j e de

p r o g r a m a c i ó n q u e t i e n e u n v o c a b u l a r i o l i m i t a d o , u n a

g r a m á t i c a d e f i n i d a e x p l í c i t a m e n t e y r e g l a s b i e n f o r m a d a s d e

s i n t a x i s y s e m á n t i c a . L a s c l a s e s d e l e n g u a j e s q u e se

u t i l i z a n a c t u a l m e n t e son los l e n g u a j e s m á q u i n a , los

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

(más a d e l a n t e se e x p l i c a lo que e s u n l e n g u a j e p r o c e d i m e n t a l

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

L o s l e n g u a j e s m á q u i n a son u n a r e p r e s e n t a c i ó n s i m b ó l i c a

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

p r o c e s o (CPU). Si u n b u e n p r o g r a m a d o r p r o d u c e p r o g r a m a s

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

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

d e la m e m o r i a y o p t i m i z a r la v e l o c i d a d d e e j e c u c i ó n d e l

p r o g r a m a .

L o s l e n g u a j e s de a l t o n i v e l (por e j e m p l o , C O B O L ,

F O R T R A N , P A S C A L , C, A D A , Ct+, O B J E C T P A S C A L , A P L , L I S P ,

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

(27)

el v o c a b u l a r i o , la g r a m á t i c a , la s i n t a x i s y la s e m á n t i c a d e

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

q u e l o s l e n g u a j e s m á q u i n a . L o s c o m p i l a d o r e s e i n t é r p r e t e s d e

l o s l e n g u a j e s d e alto n i v e l p r o d u c e n l e n g u a j e m á q u i n a c o m o

s a l i d a .

El c ó d i g o m á q u i n a , l o s l e n g u a j e s e n s a m b l a d o r e s (nivel

m á q u i n a ) y l o s l e n g u a j e s de p r o g r a m a c i ó n d e a l t o n i v e l son

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

d e l e n g u a j e s d e c o m p u t a d o r a s . C o n c u a l q u i e r a de e s t o s

l e n g u a j e s , el p r o g r a m a d o r se p r e o c u p a t a n t o d e la

e s p e c i f i c a c i ó n de la e s t r u c t u r a de la i n f o r m a c i ó n , c o m o d e

la e s p e c i f i c a c i ó n del c o n t r o l d e l p r o p i o p r o g r a m a . D e b i d o a

é s t o , l o s l e n g u a j e s de las t r e s p r i m e r a s g e n e r a c i o n e s se

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

E n l o s 8 0 ' s s u r g i ó u n g r u p o de l e n g u a j e s n o

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

e j e m p l o D B A S E , F O X P R O , F O X B A S E , P A R A D O X ; y a c t u a l m e n t e , e n

l o s 9 0 ' s , e s t á n s u r g i e n d o p o d e r o s o s l e n g u a j e s d e c u a r t a

g e n e r a c i ó n c o m o P R O G R E S S y O R A C L E . En v e z d e r e q u e r i r q u e

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

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

h a c e la " e s p e c i f i c a c i ó n d e l r e s u l t a d o d e s e a d o , e n v e z d e la

e s p e c i f i c a c i ó n d e la a c c i ó n r e q u e r i d a p a r a c o n s e g u i r el

(28)

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

b a s e d e d a t o s .

2 . 1 . 3 P R O B L E M A S CON E L D E S A R R O L L O D E S O F T W A R E .

L o s p r o b l e m a s que a f l i g e n al d e s a r r o l l o d e s o f t w a r e se

p u e d e n c a r a c t e r i z a r b a j o p e r s p e c t i v a s d i f e r e n t e s , p e r o s e

c e n t r a n e n l a s s i g u i e n t e s (Pressman, 1 9 9 3 ) :

1) L a p l a n i f i c a c i ó n y e s t i m a c i ó n d e c o s t o s s o n

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

2) L a p r o d u c t i v i d a d de los d e s a r r o l l a d o r e s d e s o f t w a r e n o

s a t i s f a c e lo q u e los u s u a r i o s d e m a n d a n .

3) L a c a l i d a d del s o f t w a r e es c u e s t i o n a b l e .

2 . 1 . 4 C A U S A S D E LOS P R O B L E M A S D E L D E S A R R O L L O D E S O F T W A R E .

L o s p r o b l e m a s con el d e s a r r o l l o d e s o f t w a r e se h a n

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

e r r o r e s de l a s p e r s o n a s e n c a r g a d a s de su d e s a r r o l l o . C o m o se

d i j o a n t e r i o r m e n t e , el s o f t w a r e es u n e l e m e n t o l ó g i c o e n v e z

d e f í s i c o y p o r lo tanto, el é x i t o se m i d e p o r l a c a l i d a d de

él c o m o u n t o d o .

E l s o f t w a r e no se r o m p e . S i se e n c u e n t r a n f a l l a s , lo

m á s p r o b a b l e e s q u e se i n t r o d u j e r a n i n a d v e r t i d a m e n t e d u r a n t e

(29)

2 . 2 . 1 D E F I N I C I O N .

N o e x i s t e u n e n f o q u e q u e s e a el m e j o r p a r a la s o l u c i ó n

d e l o s p r o b l e m a s del s o f t w a r e . S i n e m b a r g o , m e d i a n t e la

c o m b i n a c i ó n de m é t o d o s c o m p l e t o s p a r a t o d a s l a s f a s e s d e l

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

a u t o m a t i z a r e s t o s m é t o d o s , b l o q u e s de c o n s t r u c c i ó n m á s

p o t e n t e s p a r a la i m p l e m e n t a c i ó n d e s o f t w a r e , m e j o r e s

t é c n i c a s p a r a la g a r a n t í a de c a l i d a d del s o f t w a r e y u n a

f i l o s o f í a p r e d o m i n a n t e p a r a la c o o r d i n a c i ó n , c o n t r o l y

a d m i n i s t r a c i ó n , p o d e m o s e n c o n t r a r u n a d i s c i p l i n a p a r a el

d e s a r r o l l o d e s o f t w a r e - i n g e n i e r í a de s o f t w a r e .

U n a d e f i n i c i ó n de la i n g e n i e r í a d e s o f t w a r e (Sigwart,

1 9 9 0 , p . 6) es la s i g u i e n t e :

"La i n g e n i e r í a de s o f t w a r e es el e n f o q u e s i s t e m á t i c o

h a c i a la e s p e c i f i c a c i ó n , d e s a r r o l l o , o p e r a c i ó n ,

m a n t e n i m i e n t o y r e t i r o del s o f t w a r e . "

C o m o se c o m e n t ó e n el c o n c e p t o d e s o f t w a r e , se n e c e s i t a

c o m p r e n d e r lo q u e es la i n g e n i e r í a d e s o f t w a r e m á s q u e su

d e f i n i c i ó n f o r m a l . L a i n g e n i e r í a d e s o f t w a r e a b a r c a u n

(30)

R e e m p l a z a m o s las p a r t e s d e f e c t u o s a s d u r a n t e el m a n t e n i m i e n t o

d e l s o f t w a r e ; es d e c i r , el m a n t e n i m i e n t o i n c l u y e n o r m a l m e n t e

la c o r r e c c i ó n o m o d i f i c a c i ó n del d i s e ñ o .

F r e c u e n t e m e n t e , los r e s p o n s a b l e s d e l d e s a r r o l l o d e

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

c o n o c i m i e n t o s d e s o f t w a r e . El a d m i n i s t r a d o r d e s o f t w a r e d e b e

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

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

y o t r o s . L a c o m u n i c a c i ó n p u e d e r o m p e r s e d e b i d o a q u e se

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

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

L o s p r o g r a m a d o r e s ( i n g e n i e r o s d e s o f t w a r e ) h a n t e n i d o

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

d e s a r r o l l o d e s o f t w a r e . C a d a i n d i v i d u o e n f o c a su t a r e a d e

p r o g r a m a c i ó n c o n la e x p e r i e n c i a o b t e n i d a e n t r a b a j o s

a n t e r i o r e s . A l g u n a s p e r s o n a s d e s a r r o l l a n u n m é t o d o o r d e n a d o

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

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

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

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

(31)

2 . 2 . 1 D E F I N I C I O N .

N o e x i s t e u n e n f o q u e que sea el m e j o r p a r a la s o l u c i ó n

d e l o s p r o b l e m a s del s o f t w a r e . Sin e m b a r g o , m e d i a n t e la

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

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

a u t o m a t i z a r e s t o s m é t o d o s , b l o q u e s d e c o n s t r u c c i ó n m á s

p o t e n t e s p a r a la i m p l e m e n t a c i ó n d e s o f t w a r e , m e j o r e s

t é c n i c a s p a r a la g a r a n t í a de c a l i d a d del s o f t w a r e y u n a

f i l o s o f í a p r e d o m i n a n t e p a r a la c o o r d i n a c i ó n , c o n t r o l y

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

d e s a r r o l l o d e s o f t w a r e - i n g e n i e r í a d e s o f t w a r e .

U n a d e f i n i c i ó n de la i n g e n i e r í a d e s o f t w a r e (Sigwart,

1 9 9 0 , p . 6) es la s i g u i e n t e :

"La i n g e n i e r í a de s o f t w a r e es el e n f o q u e s i s t e m á t i c o

h a c i a la e s p e c i f i c a c i ó n , d e s a r r o l l o , o p e r a c i ó n ,

m a n t e n i m i e n t o y r e t i r o del s o f t w a r e . "

C o m o se c o m e n t ó en el c o n c e p t o d e s o f t w a r e , s e n e c e s i t a

c o m p r e n d e r lo q u e es la i n g e n i e r í a d e s o f t w a r e m á s q u e s u

d e f i n i c i ó n f o r m a l . L a i n g e n i e r í a d e s o f t w a r e a b a r c a u n

(32)

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

c o n t r o l a r el p r o c e s o d e d e s a r r o l l o d e s o f t w a r e y a

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

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

p r o d u c t i v a .

L o s m é t o d o s d e la i n g e n i e r í a d e s o f t w a r e i n d i c a n "cómo"

c o n s t r u i r t é c n i c a m e n t e el s o f t w a r e . L o s m é t o d o s a b a r c a n u n

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

e s t i m a c i ó n d e p r o y e c t o s , a n á l i s i s d e l o s r e q u i s i t o s d e l

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

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

c o d i f i c a c i ó n , p r u e b a y m a n t e n i m i e n t o .

L a s h e r r a m i e n t a s d e la i n g e n i e r í a d e s o f t w a r e

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

m é t o d o s . C u a n d o se i n t e g r a n l a s h e r r a m i e n t a s d e tal m a n e r a

q u e la i n f o r m a c i ó n c r e a d a p o r u n a h e r r a m i e n t a p u e d a s e r

u s a d a p o r o t r a , se e s t a b l e c e u n s i s t e m a p a r a el s o p o r t e d e l

d e s a r r o l l o d e s o f t w a r e l l a m a d o i n g e n i e r í a d e s o f t w a r e

a s i s t i d a p o r c o m p u t a d o r a (CASE).

L o s p r o c e d i m i e n t o s d e la i n g e n i e r í a d e s o f t w a r e s o n el

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

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

(33)

m é t o d o s , l a s e n t r e g a s (documentos, r e p o r t e s , f o r m a s , e t c . )

q u e se r e q u i e r e n , los c o n t r o l e s q u e a y u d a n a a s e g u r a r la

c a l i d a d y c o o r d i n a r los c a m b i o s , y las d i r e c t r i c e s q u e

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

p r o g r e s o .

2 . 2 . 2 P A R A D I G M A S D E L A I N G E N I E R I A D E S O F T W A R E .

L a i n g e n i e r í a de s o f t w a r e e s t á c o m p u e s t a p o r u n a s e r i e

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

p r o c e d i m i e n t o s . E s t o s p a s o s se d e n o m i n a n f r e c u e n t e m e n t e

p a r a d i g m a s d e la i n g e n i e r í a d e s o f t w a r e . L a e l e c c i ó n d e u n

p a r a d i g m a p a r a la i n g e n i e r í a d e s o f t w a r e se l l e v a a c a b o d e

a c u e r d o c o n la n a t u r a l e z a del p r o y e c t o y d e la a p l i c a c i ó n .

E x i s t e n t r e s p a r a d i g m a s c l á s i c o s q u e se h a n d e b a t i d o

a m p l i a m e n t e : el c i c l o de v i d a c l á s i c o , la c o n s t r u c c i ó n d e

p r o t o t i p o s , y el m o d e l o e n e s p i r a l .

E l c i c l o d e v i d a c l á s i c o .

E l p a r a d i g m a del c i c l o d e v i d a c l á s i c o (Fig. 2 . 3 ) p a r a

la i n g e n i e r í a d e s o f t w a r e e x i g e u n e n f o q u e s i s t e m á t i c o y

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

l a s s i g u i e n t e s a c t i v i d a d e s :

a) I n g e n i e r í a y a n á l i s i s d e l s i s t e m a . E n e s t a a c t i v i d a d

(34)

d e l s i s t e m a y l u e g o se a s i g n a a l g ú n s u b c o n j u n t o d e e s t o s

r e q u i s i t o s al s o f t w a r e . E s t e p l a n t e a m i e n t o d e l s i s t e m a es

e s e n c i a l c u a n d o el s o f t w a r e d e b e i n t e r r e l a c i o n a r s e c o n o t r o s

e l e m e n t o s , t a l e s como h a r d w a r e , p e r s o n a s y b a s e s de d a t o s .

b) A n á l i s i s d e los r e q u i s i t o s del s o f t w a r e . E l p r o c e s o d e

r e c o p i l a c i ó n de los r e q u i s i t o s se c e n t r a e i n t e n s i f i c a

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

c) D i s e ñ o . El p r o c e s o de d i s e ñ o t r a d u c e l o s r e q u i s i t o s e n

u n a r e p r e s e n t a c i ó n de s o f t w a r e q u e o b t e n g a la c a l i d a d

r e q u e r i d a a n t e s de que c o m i e n c e la c o d i f i c a c i ó n .

d) C o d i f i c a c i ó n . En el p r o c e s o d e c o d i f i c a c i ó n el d i s e ñ o se

t r a d u c e e n u n a f o r m a l e g i b l e p a r a la m á q u i n a .

e) P r u e b a . U n a v e z que se ha g e n e r a d o el c ó d i g o , c o m i e n z a la

p r u e b a d e l p r o g r a m a . La p r u e b a se c e n t r a e n la l ó g i c a

i n t e r n a d e l s o f t w a r e , a s e g u r a n d o q u e t o d o s l o s e s t a t u t o s se

h a n p r o b a d o ; y p a r a las f u n c i o n e s e x t e r n a s , r e a l i z a n d o

p r u e b a s q u e a s e g u r e n q u e la e n t r a d a y a d e f i n i d a p r o d u z c a los

r e s u l t a d o s q u e r e a l m e n t e se r e q u i e r e n .

f) M a n t e n i m i e n t o . I n d u d a b l e m e n t e , el s o f t w a r e s u f r i r á

c a m b i o s d e s p u é s de que se e n t r e g u e al c l i e n t e . L o s c a m b i o s

o c u r r i r á n d e b i d o a q u e se h a y a n e n c o n t r a d o e r r o r e s , a q u e el

s o f t w a r e d e b a a d a p t a r s e a c a m b i o s d e e n t o r n o e x t e r n o (por

e j e m p l o , u n c a m b i o s o l i c i t a d o d e b i d o a q u e se t i e n e u n n u e v o

r e q u i s i t o d e la a p l i c a c i ó n , s i s t e m a o p e r a t i v o o d i s p o s i t i v o

p e r i f é r i c o ) , o d e b i d o a q u e el c l i e n t e r e q u i e r a a m p l i a c i o n e s

(35)

a p l i c a c a d a u n o de los p a s o s p r e c e d e n t e s d e l c i c l o d e v i d a a

u n p r o g r a m a e x i s t e n t e en v e z d e a u n o n u e v o .

Ingtnlcrlt

9* fltateniAft

~L

E L

n

h

n

F i g . 2.3 El c i c l o d e v i d a c l á s i c o . F u e n t e : (Pressman, 1993)

C o n s t r u c c i ó n d e p r o t o t i p o s .

L a c o n s t r u c c i ó n d e p r o t o t i p o s es u n p r o c e s o q u e

f a c i l i t a al p r o g r a m a d o r la c r e a c i ó n de u n m o d e l o d e s o f t w a r e

a c o n s t r u i r . El m o d e l o t o m a r á u n a de las t r e s f o r m a s

s i g u i e n t e s :

a) U n p r o t o t i p o en p a p e l o u n m o d e l o b a s a d o e n c o m p u t a d o r a

q u e d e s c r i b a la i n t e r a c c i ó n h o m b r e - m á q u i n a , d e f o r m a q u e

f a c i l i t e al u s u a r i o la c o m p r e n s i ó n d e c ó m o se p r o d u c i r á tal

i n t e r a c c i ó n .

b) U n p r o t o t i p o q u e i m p l e m e n t e a l g u n o s s u b c o n j u n t o s d e la

(36)

c) U n p r o g r a m a e x i s t e n t e q u e e j e c u t e p a r t e o t o d a la f u n c i ó n

d e s e a d a , p e r o q u e t e n g a o t r a s c a r a c t e r í s t i c a s q u e d e b a n s e r

m e j o r a d a s e n el n u e v o t r a b a j o d e d e s a r r o l l o .

L a s e c u e n c i a de e t a p a s del p a r a d i g m a d e c o n s t r u c c i ó n d e

p r o t o t i p o s se m u e s t r a en la F i g . 2 . 4 . C o m o en t o d o s l o s

m é t o d o s d e d e s a r r o l l o d e s o f t w a r e , la c o n s t r u c c i ó n de

p r o t o t i p o s c o m i e n z a con la r e c o l e c c i ó n d e l o s r e q u i s i t o s .

L u e g o se p r o d u c e u n " d i s e ñ o r á p i d o " . El d i s e ñ o r á p i d o se

e n f o c a s o b r e la r e p r e s e n t a c i ó n d e l o s a s p e c t o s del s o f t w a r e

v i s i b l e s al u s u a r i o (por e j e m p l o , m é t o d o s d e e n t r a d a y

f o r m a t o s d e s a l i d a ) . El d i s e ñ o r á p i d o c o n d u c e a la

c o n s t r u c c i ó n d e u n p r o t o t i p o . El p r o t o t i p o es e v a l u a d o p o r

el c l i e n t e / u s u a r i o y se u t i l i z a p a r a r e f i n a r l o s r e q u i s i t o s

del s o f t w a r e a d e s a r r o l l a r . Se p r o d u c e u n p r o c e s o

i n t e r a c t i v o e n el que el p r o t o t i p o es " a f i n a d o " p a r a q u e

s a t i s f a g a l a s n e c e s i d a d e s del c l i e n t e , al m i s m o t i e m p o q u e

f a c i l i t a al q u e lo d e s a r r o l l a u n a m e j o r c o m p r e n s i ó n d e lo

q u e h a y q u e h a c e r .

I d e a l m e n t e , el p r o t o t i p o s i r v e c o m o m e c a n i s m o p a r a

i d e n t i f i c a r l o s r e q u i s i t o s d e s o f t w a r e . Si se v a a c o n s t r u i r

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

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

h e r r a m i e n t a s (por e j e m p l o , g e n e r a d o r e s d e r e p o r t e s ,

(37)

g e n e r a c i ó n d e p r o g r a m a s q u e f u n c i o n e n .

Comienzo

F i g . 2.4 C r e a c i ó n d e p r o t o t i p o s . F u e n t e : (Pressman, 1993) .

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

El m o d e l o e n e s p i r a l p a r a la i n g e n i e r í a de s o f t w a r e h a

s i d o d e s a r r o l l a d o p a r a c u b r i r l a s m e j o r e s c a r a c t e r í s t i c a s

t a n t o d e l c i c l o de v i d a c l á s i c o , c o m o d e la c r e a c i ó n d e

p r o t o t i p o s , a ñ a d i e n d o al m i s m o t i e m p o u n n u e v o e l e m e n t o : el

a n á l i s i s d e r i e s g o . El m o d e l o r e p r e s e n t a d o e n la F i g . 2.5,

(38)

a) P l a n i f i c a c i ó n : d e t e r m i n a c i ó n d e o b j e t i v o s , a l t e r n a t i v a s y

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

b) A n á l i s i s d e r i e s g o : a n á l i s i s d e a l t e r n a t i v a s e

i d e n t i f i c a c i ó n / r e s o l u c i ó n de r i e s g o s .

c) I n g e n i e r í a : d e s a r r o l l o del p r o d u c t o a u n n i v e l s u p e r i o r .

d) E v a l u a c i ó n d e l c l i e n t e : v a l o r a c i ó n d e l o s r e s u l t a d o s d e

la i n g e n i e r í a .

A n á l i s i s d e r i e s g o b a s a d o e n los r e q u i s i t o s iniciales A n á l i s i s d e r i e s g o ^ ^ b a s a d o e n la

r e a c c i ó n del cliente R e c o l e c c i ó n d e

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

P l a n i f i c a c i ó n A n á l i s i s d e r i e s g o

A n á l i s i s d e r i e s g o b a s a d o e n los r e q u i s i t o s iniciales A n á l i s i s d e r i e s g o ^ ^ b a s a d o e n la

r e a c c i ó n del cliente a e i p r o y e c t a

i n i c i a l e s

A n á l i s i s d e r i e s g o b a s a d o e n los r e q u i s i t o s iniciales A n á l i s i s d e r i e s g o ^ ^ b a s a d o e n la

r e a c c i ó n del cliente

P l a n i f i c a c i ó n .

— i / k ' *

D e c i s i ó n d e s e g u i r o no 1

4 1

b a s a d a el i lub / í "/ /

D e c i s i ó n d e s e g u i r o no 1

4 1

c o m e n t a r i o s

del cliente J / * r * • . iW H a c i a al s i s t e m a final P r o t o t i p o inicial E v a l u a c i ó n ^ ^ V " - del software a s i cliente V Prototipo del

\

s i g u i e n t e nivel S h t r m n 'IP E v a l u a c i ó n d e l c l i e n t e I n g e n i e r í a i n g e n i e r í a

F i g . 2.5 El m o d e l o e n e s p i r a l . F u e n t e : (Pressman, 1 9 9 3 ) .

E n c a d a i t e r a c i ó n a l r e d e d o r d e la e s p i r a l ( c o m e n z a n d o

el c e n t r o y s i g u i e n d o h a c i a e l e x t e r i o r ) , se c o n s t r u y e n

(39)

D u r a n t e la p r i m e r a v u e l t a a l r e d e d o r d e la e s p i r a l se d e f i n e n

l o s o b j e t i v o s , las a l t e r n a t i v a s y las r e s t r i c c i o n e s , y se

a n a l i z a n e i d e n t i f i c a n los r i e s g o s . Si el a n á l i s i s d e r i e s g o

i n d i c a q u e h a y u n a i n c e r t i d u m b r e en los r e q u i s i t o s , se p u e d e

u s a r la c r e a c i ó n d e p r o t o t i p o s en el c u a d r a n t e d e i n g e n i e r í a

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

al c l i e n t e .

E l c l i e n t e e v a l ú a el t r a b a j o de i n g e n i e r í a ( c u a d r a n t e

d e e v a l u a c i ó n d e l c l i e n t e ) y s u g i e r e m o d i f i c a c i o n e s . E n b a s e

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

d e p l a n i f i c a c i ó n y d e a n á l i s i s de r i e s g o . E n c a d a b u c l e

a l r e d e d o r de la e s p i r a l , la c u l m i n a c i ó n del a n á l i s i s d e

r i e s g o r e s u l t a en u n a d e c i s i ó n de " s e g u i r o n o s e g u i r " . Si

l o s r i e s g o s son d e m a s i a d o s g r a n d e s , se p u e d e d a r p o r

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

S i n o se d a p o r t e r m i n a d o el p r o y e c t o , se s i g u e

a v a n z a n d o a l r e d e d o r del c a m i n o de la e s p i r a l , y e s e c a m i n o

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

m á s c o m p l e t o del s i s t e m a , y, al final, al p r o p i o s i s t e m a

o p e r a c i o n a l . C a d a v u e l t a a l r e d e d o r d e la e s p i r a l r e q u i e r e

i n g e n i e r í a (Fig. 2.5 c u a d r a n t e i n f e r i o r d e r e c h o ) , q u e se

p u e d e l l e v a r a c a b o m e d i a n t e el e n f o q u e d e l c i c l o d e v i d a

(40)

2 . 2 . 3 U N I F I C A C I O N D E L O S P A R A D I G M A S .

I n d e p e n d i e n t e m e n t e del p a r a d i g m a d e i n g e n i e r í a e l e g i d o ,

el p r o c e s o d e d e s a r r o l l o d e s o f t w a r e c o n t i e n e t r e s f a s e s

g e n é r i c a s : d e f i n i c i ó n , d e s a r r o l l o y m a n t e n i m i e n t o .

L a f a s e d e d e f i n i c i ó n .

L a f a s e d e d e f i n i c i ó n se c e n t r a s o b r e el q u é . E s t o es,

d u r a n t e la d e f i n i c i ó n , el q u e d e s a r r o l l a el s o f t w a r e i n t e n t a

i d e n t i f i c a r q u é i n f o r m a c i ó n h a d e s e r p r o c e s a d a , q u é f u n c i ó n

y r e n d i m i e n t o se d e s e a , q u é i n t e r f a s e s h a n d e e s t a b l e c e r s e ,

q u é r e s t r i c c i o n e s de d i s e ñ o e x i s t e n y q u é c r i t e r i o s d e

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

P o r lo t a n t o , h a n de i d e n t i f i c a r s e los r e q u i s i t o s c l a v e del

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

L o s p a s o s e s p e c í f i c o s en la fase d e d e f i n i c i ó n s o n l o s

s i g u i e n t e s :

a) A n á l i s i s d e l s i s t e m a . El a n á l i s i s del s i s t e m a d e f i n e el

p a p e l d e c a d a e l e m e n t o de u n s i s t e m a d e i n f o r m a c i ó n ,

a s i g n a n d o f i n a l m e n t e al s o f t w a r e el p a p e l q u e v a a

d e s e m p e ñ a r .

b) P l a n i f i c a c i ó n del p r o y e c t o d e s o f t w a r e . U n a v e z

e s t a b l e c i d o el á m b i t o del s o f t w a r e , se a n a l i z a n l o s r i e s g o s ,

(41)

l a s t a r e a s y se p l a n i f i c a el t r a b a j o .

c) A n á l i s i s de r e q u i s i t o s . El á m b i t o e s t a b l e c i d o p a r a el

s o f t w a r e p r o p o r c i o n a la d i r e c c i ó n a s e g u i r , p e r o a n t e s d e

c o m e n z a r a t r a b a j a r es n e c e s a r i o d i s p o n e r d e u n a i n f o r m a c i ó n

m á s d e t a l l a d a d e l á m b i t o d e i n f o r m a c i ó n y d e f u n c i ó n d e l

s o f t w a r e .

L a f a s e d e d e s a r r o l l o .

L a f a s e d e d e s a r r o l l o se c e n t r a en el c ó m o . E s t o es,

d u r a n t e e s t a fase, el q u e d e s a r r o l l a el s o f t w a r e i n t e n t a

d e s c u b r i r c ó m o h a n d e d i s e ñ a r s e las e s t r u c t u r a s d e d a t o s y

la a r q u i t e c t u r a del s o f t w a r e , c ó m o h a n d e i m p l e m e n t a r s e l o s

d e t a l l e s p r o c e d i m e n t a l e s , c ó m o ha de t r a d u c i r s e el d i s e ñ o a

u n l e n g u a j e d e p r o g r a m a c i ó n (o l e n g u a j e n o p r o c e d i m e n t a l ) y

c ó m o h a d e r e a l i z a r s e la p r u e b a .

L o s p a s o s e s p e c í f i c o s en la f a s e d e d e s a r r o l l o s o n l o s

s i g u i e n t e s :

a) D i s e ñ o del s o f t w a r e . El d i s e ñ o t r a d u c e l o s r e q u i s i t o s d e l

s o f t w a r e a u n c o n j u n t o de r e p r e s e n t a c i o n e s (algunas g r á f i c a s

y o t r a s t a b u l a r e s o b a s a d a s e n l e n g u a j e s ) q u e d e s c r i b e n la

e s t r u c t u r a d e l o s d a t o s , la a r q u i t e c t u r a , el p r o c e d i m i e n t o

a l g o r í t m i c o y las c a r a c t e r í s t i c a s d e la i n t e r f a s e .

b ) C o d i f i c a c i ó n . L a s r e p r e s e n t a c i o n e s d e l d i s e ñ o d e b e n s e r

(42)

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

c o d i f i c a c i ó n es el que l l e v a a c a b o e s a t r a d u c c i ó n ,

c) P r u e b a d e l s o f t w a r e . U n a v e z q u e el s o f t w a r e h a s i d o

i m p l e m e n t a d o en u n a f o r m a e j e c u t a b l e p o r la m á q u i n a , d e b e

s e r p r o b a d o p a r a d e s c u b r i r los d e f e c t o s q u e p u e d e n e x i s t i r

e n la f u n c i ó n , e n la l ó g i c a y e n la i m p l e m e n t a c i ó n .

L a f a s e d e m a n t e n i m i e n t o .

L a f a s e de m a n t e n i m i e n t o se c e n t r a e n el c a m b i o q u e v a

a s o c i a d o a la c o r r e c c i ó n d e e r r o r e s , a l a s a d a p t a c i o n e s

r e q u e r i d a s p o r la e v o l u c i ó n del e n t o r n o del s o f t w a r e y a l a s

m o d i f i c a c i o n e s d e b i d a s a los c a m b i o s d e l o s r e q u i s i t o s d e l

c l i e n t e d i r i g i d o s a r e f o r z a r o a m p l i a r el s i s t e m a .

D u r a n t e la f a s e de m a n t e n i m i e n t o se e n c u e n t r a n t r e s

t i p o s d e c a m b i o s :

a) C o r r e c c i ó n . Es m u y p r o b a b l e q u e el c l i e n t e d e s c u b r a

d e f e c t o s e n el s o f t w a r e , a u n q u e se h a y a n l l e v a d o a c a b o l a s

m e j o r e s a c t i v i d a d e s d e g a r a n t í a d e c a l i d a d . E l m a n t e n i m i e n t o

c o r r e c t i v o c a m b i a el s o f t w a r e p a r a c o r r e g i r l o s d e f e c t o s .

b ) A d a p t a c i ó n . C o n el p a s o del t i e m p o e s p r o b a b l e q u e c a m b i e

el e n t o r n o o r i g i n a l (por e j e m p l o , l o s r e q u i s i t o s d e la

a p l i c a c i ó n , el CPU, el s i s t e m a o p e r a t i v o , l o s p e r i f é r i c o s )

p a r a el c u a l se d e s a r r o l l ó el s o f t w a r e . E l m a n t e n i m i e n t o

(43)

a l o s c a m b i o s d e su e n t o r n o e x t e r n o .

c) M e j o r a . C o n f o r m e u t i l i c e el s o f t w a r e , el c l i e n t e / u s u a r i o

p u e d e d e s c u b r i r f u n c i o n e s a d i c i o n a l e s q u e p u d i e r a n

i n t e r e s a r l e q u e e s t u v i e r a n i n c o r p o r a d a s e n el s o f t w a r e . E l

m a n t e n i m i e n t o p e r f e c t i v o a m p l í a el s o f t w a r e m á s a l l á d e s u s

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

2.3 M E T R I C A S D E S O F T W A R E

L a m e d i c i ó n es m u y c o m ú n en el m u n d o d e la i n g e n i e r í a .

M e d i m o s p o t e n c i a s de c o n s u m o , p e s o s , d i m e n s i o n e s f í s i c a s ,

t e m p e r a t u r a s , v o l t a j e s , e t c . D e s a f o r t u n a d a m e n t e , la m e d i c i ó n

se a l e j a de lo c o m ú n en el m u n d o d e la i n g e n i e r í a d e

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

s o b r e q u é m e d i r y cómo e v a l u a r las m e d i d a s .

A l g u n a s de las r a z o n e s p a r a m e d i r el s o f t w a r e s o n l a s

s i g u i e n t e s :

1) P a r a i n d i c a r la c a l i d a d del p r o d u c t o .

2) P a r a e v a l u a r la p r o d u c t i v i d a d d e la g e n t e q u e d e s a r r o l l a

el p r o d u c t o .

3) P a r a e v a l u a r l o s b e n e f i c i o s (en t é r m i n o s d e p r o d u c t i v i d a d

y c a l i d a d ) q u e se d e r i v a n d e l u s o d e n u e v o s m é t o d o s y

h e r r a m i e n t a s de la i n g e n i e r í a d e s o f t w a r e .

4) P a r a e s t a b l e c e r u n a l í n e a d e b a s e p a r a la e s t i m a c i ó n .

(44)

la f o r m a c i ó n a d i c i o n a l de o t r a s h e r r a m i e n t a s .

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

c a t e g o r í a s : m e d i d a s d i r e c t a s y m e d i d a s i n d i r e c t a s . E n t r e l a s

m e d i d a s d i r e c t a s se e n c u e n t r a n : el c o s t o y e l e s f u e r z o

r e q u e r i d o p a r a c o n s t r u i r el s o f t w a r e , el n ú m e r o d e l í n e a s d e

c ó d i g o , e t c . E n t r e las m e d i d a s i n d i r e c t a s d e l p r o c e s o d e

i n g e n i e r í a d e s o f t w a r e se e n c u e n t r a n : la c a l i d a d y

f u n c i o n a l i d a d del s o f t w a r e , la e f i c i e n c i a y f a c i l i d a d d e

m a n t e n i m i e n t o .

El c a m p o d e las m é t r i c a s del s o f t w a r e se p u e d e n

c l a s i f i c a r e n d o s d i m e n s i o n e s (Fig. 2 . 6 ) . E n u n a d i m e n s i ó n

t e n e m o s l a s s i g u i e n t e s m é t r i c a s :

1) M é t r i c a s d e p r o d u c t i v i d a d . E s t a s m é t r i c a s se c e n t r a n e n

el r e n d i m i e n t o del p r o c e s o de la i n g e n i e r í a d e s o f t w a r e .

2) M é t r i c a s de c a l i d a d . E s t a s m é t r i c a s p r o p o r c i o n a n u n a

i n d i c a c i ó n de c ó m o se a j u s t a el s o f t w a r e a l o s r e q u i s i t o s

i m p l í c i t o s y e x p l í c i t o s del c l i e n t e .

3) M é t r i c a s t é c n i c a s . E s t a s m é t r i c a s se c e n t r a n e n l a s

c a r a c t e r í s t i c a s del s o f t w a r e m á s q u e e n el p r o c e s o a t r a v é s

(45)

Métricas del software

/ Métricas técnicas" / Métricas de calidad /

Métricas de productividad Métricas orientadas

al tamaño Métricas orientadas

a la función Métricas orientadas

a la persona

/

/

/

/

/

/

F i g . 2.6 C l a s i f i c a c i ó n d e m é t r i c a s . Fuent e: (Pre s sman, 1993)

E n o t r a d i m e n s i ó n t e n e m o s l a s s i g u i e n t e s m é t r i c a s :

1) M é t r i c a s o r i e n t a d a s al t a m a ñ o . E s t a s m é t r i c a s s o n m e d i d a s

d i r e c t a s d e l s o f t w a r e y del p r o c e s o p o r el c u a l s e

d e s a r r o l l a . P o r e j e m p l o ; l í n e a s d e c ó d i g o (LOC), e s f u e r z o y

c o s t o .

2) M é t r i c a s o r i e n t a d a s a la f u n c i ó n . E s t a s m é t r i c a s s o n

m e d i d a s i n d i r e c t a s del s o f t w a r e y del p r o c e s o p o r el c u a l se

d e s a r r o l l a . E n l u g a r de c a l c u l a r las LOC, l a s m é t r i c a s

o r i e n t a d a s a la f u n c i ó n se c e n t r a n e n la f u n c i o n a l i d a d o

u t i l i d a d del p r o g r a m a .

3) M é t r i c a s o r i e n t a d a s a la p e r s o n a . E s t a s m é t r i c a s

p r o p o r c i o n a n i n f o r m a c i ó n s o b r e la f o r m a e n q u e la g e n t e

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

(46)

2.4 M E T R I C A S D E C A L I D A D D E L S O F T W A R E

2 . 4 . 1 C A L I D A D D E L S O F T W A R E .

P r e s s m a n (Pressman, 1983, p . 576) d e f i n e la c a l i d a d del

s o f t w a r e c o m o :

" C o n c o r d a n c i a c o n los r e q u i s i t o s f u n c i o n a l e s y d e

r e n d i m i e n t o e x p l í c i t a m e n t e e s t a b l e c i d o s , c o n l o s e s t á n d a r e s

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

c a r a c t e r í s t i c a s i m p l í c i t a s que se e s p e r a d e t o d o s o f t w a r e

d e s a r r o l l a d o p r o f e s i o n a l m e n t e . "

L a d e f i n i c i ó n de c a l i d a d del s o f t w a r e h a c e é n f a s i s e n

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

1) L o s r e q u i s i t o s (funcionales) del s o f t w a r e s o n la b a s e de

l a s m e d i d a s de la c a l i d a d . La f a l t a d e c o n c o r d a n c i a c o n los

r e q u i s i t o s es u n a falta de c a l i d a d .

2) L o s e s t á n d a r e s e s p e c i f i c a d o s d e f i n e n u n c o n j u n t o d e

c r i t e r i o s de d e s a r r o l l o q u e g u í a n la f o r m a e n q u e se a p l i c a

la i n g e n i e r í a de s o f t w a r e . Si n o se s i g u e n e s o s c r i t e r i o s ,

c a s i s i e m p r e h a b r á f a l t a d e c a l i d a d .

3) E x i s t e u n c o n j u n t o d e r e q u i s i t o s i m p l í c i t o s q u e a m e n u d o

n o s e m e n c i o n a n (por e j e m p l o , el d e s e o d e u n b u e n

m a n t e n i m i e n t o ) . Si el s o f t w a r e se a j u s t a a s u s r e q u i s i t o s

Figure

Actualización...

Referencias

Actualización...