Introducción a la metodología de diseño descendente

Introducción a la metodología de diseño descendente Introducción a la metodología de diseño descendente

12.07.2015 Views

© FUOC • P05/75062/00112 8 Introducción a la metodología de diseño descendenteObjetivosCuando hayáis estudiado este módulo, seréis capaces de:• Analizar problemas de cierta complejidad y descomponerlos en subproblemasmás sencillos, aplicando la técnica de diseño descendente por refinamientossucesivos.• Saber que hay descomposiciones de problemas más convenientes y efectivasque otras para el diseño. La elección de abstracciones convenientes al problemay el seguimiento de las pautas indicadas en este módulo os llevarán adescomposiciones efectivas.• Aplicar los conceptos estudiados en los módulos anteriores para resolvercada uno de los subproblemas sencillos, utilizando la abstracción de códigoy datos.• Desarrollar algoritmos de forma efectiva y en un tiempo razonable para resolverproblemas más reales.

© FUOC • P05/75062/00112 9 Introducción a la metodología de diseño descendente1. Diseño descendente1.1. Análisis problemas complejosComo ya hemos adelantado en la introducción, la forma de enfrentarse a unproblema complejo consiste en descomponerlo en una colección de subproblemasmás sencillos e independientes, de forma que la solución de estos subproblemasimplique la solución del problema en cuestión. Al mismo tiempo, lossubproblemas se pueden descomponer en otros subproblemas si los primerosno son suficientemente sencillos. Estamos hablando de niveles de descomposición.Es decir, el primer nivel descompondrá el problema en los subproblemasque sea necesario; el segundo, descompondrá cada uno de los subproblemas resultantesde la descomposición del primero en otros, etc. El número de nivelesde descomposición en subproblemas dependede la complejidad del problema.En el último nivel encontraremos los subproblemas más sencillos de resolver,es decir, los más concretos y elementales. La solución de cada subproblemacontribuye parcialmente a la solución global del problema. Observad la siguientefigura:Sólo mediante la práctica seremos capaces de realizar buenas descomposiciones.No todas las descomposiciones de un problema en subproblemas son adecuadaspara desarrollar un buen diseño. La descomposición se debería basar

© FUOC • P05/75062/00112 9 <strong>Introducción</strong> a <strong>la</strong> <strong>metodología</strong> <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte1. Diseño <strong>de</strong>scen<strong>de</strong>nte1.1. Análisis problemas complejosComo ya hemos a<strong>de</strong><strong>la</strong>ntado en <strong>la</strong> introducción, <strong>la</strong> forma <strong>de</strong> enfrentarse a unproblema complejo consiste en <strong>de</strong>scomponerlo en una colección <strong>de</strong> subproblemasmás sencillos e in<strong>de</strong>pendientes, <strong>de</strong> forma que <strong>la</strong> solución <strong>de</strong> estos subproblemasimplique <strong>la</strong> solución <strong>de</strong>l problema en cuestión. Al mismo tiempo, lossubproblemas se pue<strong>de</strong>n <strong>de</strong>scomponer en otros subproblemas si los primerosno son suficientemente sencillos. Estamos hab<strong>la</strong>ndo <strong>de</strong> niveles <strong>de</strong> <strong>de</strong>scomposición.Es <strong>de</strong>cir, el primer nivel <strong>de</strong>scompondrá el problema en los subproblemasque sea necesario; el segundo, <strong>de</strong>scompondrá cada uno <strong>de</strong> los subproblemas resultantes<strong>de</strong> <strong>la</strong> <strong>de</strong>scomposición <strong>de</strong>l primero en otros, etc. El número <strong>de</strong> niveles<strong>de</strong> <strong>de</strong>scomposición en subproblemas <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong> <strong>la</strong> complejidad <strong>de</strong>l problema.En el último nivel encontraremos los subproblemas más sencillos <strong>de</strong> resolver,es <strong>de</strong>cir, los más concretos y elementales. La solución <strong>de</strong> cada subproblemacontribuye parcialmente a <strong>la</strong> solución global <strong>de</strong>l problema. Observad <strong>la</strong> siguientefigura:Sólo mediante <strong>la</strong> práctica seremos capaces <strong>de</strong> realizar buenas <strong>de</strong>scomposiciones.No todas <strong>la</strong>s <strong>de</strong>scomposiciones <strong>de</strong> un problema en subproblemas son a<strong>de</strong>cuadaspara <strong>de</strong>sarrol<strong>la</strong>r un buen <strong>diseño</strong>. La <strong>de</strong>scomposición se <strong>de</strong>bería basar

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

Saved successfully!

Ooh no, something went wrong!