13.07.2015 Views

Análisis y Dise˜no

Análisis y Dise˜no

Análisis y Dise˜no

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.3. Descomposición y modularizaciónLa descomposición y modularidad son consecuencia de la complejidadde los problemas, y de la necesidad de hacer manejable el desarrollo de lasolución de los mismos. Para abarcar el desarrollo del sistema complejo, elproblema se divide en subproblemas más fácilmente manejables, que integradosformarán la solución al sistema completo. Más formalmente, Meyer [30]ha definido una serie de propiedades para evaluar la modularidad:Descomposición Esta propiedad permite definir componentes de alto nivelen otros de bajo nivel. Esta descomposición puede ser recursiva, esdecir, aplicando la máxima de divide y vencerás.Composición La composición se puede ver como el problema inverso ala descomposición. Un modulo de programación preserva la composiciónmodular si facilita el diseño de elementos de programación quese pueden ensamblar entre sí para desarrollar aplicaciones. Un ejemplode composición modular son los componentes ya desarrollados (COTS,Commercial-off-the-Shelf ), como se describen en la sección 4.2. La composiciónmodular está directamente vinculada con la reutilización, mediantemecanismos que permitan diseñar elementos que respondan afuncionalidades bien definidas y reutilizables en diversos de contextos.Comprensión Un método de programación preserva la comprensión modularsi facilita el diseño de elementos de programación que se puedeninterpretar fácilmente sin tener que conocer el resto de los módulos.Un aspecto fundamental de la comprensión es la documentación y enel caso particular de los componentes COTS, la gestión e indexaciónde los mismos para facilitar su reutilización.Continuidad La continuidad se refiere a que un pequeño cambio en la especificacióndebe conllevar en la implementación un cambio igualmentepequeño. Una de las leyes de Lehman sobre la evolución del software(ver sección ?? ), afirma que si un proyecto esta vivo inevitablementeevolucionará y cambiará. Por tanto, es importante que los cambios en4

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

Saved successfully!

Ooh no, something went wrong!