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
© 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 dependerá de 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
- Page 1: Introduccióna la metodologíade di
- Page 5 and 6: © FUOC • P05/75062/00112 5 Intro
- Page 7: © FUOC • P05/75062/00112 7 Intro
- Page 11 and 12: © FUOC • P05/75062/00112 11 Intr
- Page 13 and 14: © FUOC • P05/75062/00112 13 Intr
- Page 15 and 16: © FUOC • P05/75062/00112 15 Intr
- Page 17 and 18: © FUOC • P05/75062/00112 17 Intr
- Page 19 and 20: © FUOC • P05/75062/00112 19 Intr
- Page 21 and 22: © FUOC • P05/75062/00112 21 Intr
- Page 23 and 24: © FUOC • P05/75062/00112 23 Intr
- Page 25 and 26: © FUOC • P05/75062/00112 25 Intr
- Page 27 and 28: © FUOC • P05/75062/00112 27 Intr
- Page 29 and 30: © FUOC • P05/75062/00112 29 Intr
- Page 31 and 32: © FUOC • P05/75062/00112 31 Intr
- Page 33 and 34: © FUOC • P05/75062/00112 33 Intr
- Page 35: © FUOC • P05/75062/00112 35 Intr
- Page 38 and 39: © FUOC • P05/75062/00112 38 Intr
- Page 40 and 41: © FUOC • P05/75062/00112 40 Intr
- Page 42 and 43: © FUOC • P05/75062/00112 42 Intr
- Page 44 and 45: © FUOC • P05/75062/00112 44 Intr
- Page 46 and 47: © FUOC • P05/75062/00112 46 Intr
- Page 48 and 49: © FUOC • P05/75062/00112 48 Intr
- Page 50 and 51: © FUOC • P05/75062/00112 50 Intr
- Page 52 and 53: © FUOC • P05/75062/00112 52 Intr
- Page 54 and 55: © FUOC • P05/75062/00112 54 Intr
- Page 56 and 57: © FUOC • P05/75062/00112 56 Intr
© 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