12.07.2015 Views

Libro en PDF - DIT - Universidad Politécnica de Madrid

Libro en PDF - DIT - Universidad Politécnica de Madrid

Libro en PDF - DIT - Universidad Politécnica de Madrid

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Medidas <strong>de</strong> la complejidad <strong>de</strong>l software<strong>de</strong> tipo M, y los P (que suel<strong>en</strong> ser usados para modificar los M). Por último, losdatos tipo T casi no contribuy<strong>en</strong> a la complejidad, ya que simplem<strong>en</strong>te "pasan porel módulo". A partir <strong>de</strong> estas consi<strong>de</strong>raciones, asignaremos un factor <strong>de</strong> pon<strong>de</strong>racióndifer<strong>en</strong>te a cada uno <strong>de</strong> los tipos <strong>de</strong> datos: 3 para el tipo C, 2 para el M, 1 para el Py 0,5 para el T. Un poco más a<strong>de</strong>lante veremos cómo se utilizan estas pon<strong>de</strong>raciones.La métrica <strong>de</strong> Chapin int<strong>en</strong>ta medir la complejidad <strong>de</strong> la comunicación <strong>de</strong> datos<strong>en</strong>tre los módulos. Por ello sólo consi<strong>de</strong>ra los datos que recibe o que <strong>en</strong>vía cadamódulo. El algoritmo que usa para calcular su medida <strong>de</strong> complejidad <strong>de</strong> unprograma (Q) está recogido <strong>en</strong> la figura 14.PROCEDURE AnalizaTexto;VARFinDatos: BOOLEAN;Palabra: TPALABRA; (* Tipo que sirve para almac<strong>en</strong>ar cad<strong>en</strong>as <strong>de</strong> caracteres. Asociadocon él está la constante PAL_VACIA, palabra vacía. *)BEGINFinDatos := FALSE;WHILE (NOT FinDatos) DOBEGINLeePalabra (OUT Palabra, OUT FinDatos);IF (NOT FinDatos) THENProcesaPalabra (IN Palabra);END;END;PROCEDURE LeePalabra (OUT Palabra, OUT FinDatos);VARFinPalabra: BOOLEAN;Caracter: CHAR;Codigo: INTEGER;BEGINPalabra := PAL_VACIA;FinPalabra := FALSE;WHILE ((NOT FinPalabra) AND (NOT FinDatos)) DOBEGINLeeCodigo (OUT Codigo, OUT FinDatos);ConvCodigo (IN Codigo, OUT Caracter, OUT FinPalabra);IF (NOT FinPalabra) THENPalabra := Palabra+Caracter;END;END;Fig. 14. Parte <strong>de</strong> la codificación <strong>de</strong>l programa <strong>de</strong> ejemplo AnalizaTexto, que utilizaremospara ilustrar el cálculo <strong>de</strong> la Q <strong>de</strong> Chapin281

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!