12.07.2015 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

© FUOC • P05/75062/00112 12 <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>nte<strong>de</strong>scen<strong>de</strong>nte y superar este inconveniente inicial es su práctica en distintos problemas,ya que el análisis ascen<strong>de</strong>nte o <strong>la</strong> combinación <strong>de</strong>l análisis ascen<strong>de</strong>ntey <strong>de</strong>scen<strong>de</strong>nte hace que el <strong>de</strong>sarrollo sea un proceso más lento, a menudo confuso,disperso y que presente incoherencias en los resultados.1.3. Orientaciones <strong>de</strong> <strong>la</strong>s abstraccionesDisponemos <strong>de</strong> dos orientaciones para hacer abstracciones <strong>de</strong> un problema osubproblema y, <strong>de</strong> este modo, guiar su <strong>de</strong>scomposición en subproblemas:• Orientación funcional: en el enunciado <strong>de</strong>l problema se pi<strong>de</strong> un tratamientomuy amplio <strong>de</strong> <strong>de</strong>talles y pasos. Descubrimos que este tratamiento ampliose pue<strong>de</strong> <strong>de</strong>scomponer en varias etapas conceptualizadas para que cada unarealice una función parcial que contribuya a <strong>la</strong> solución global <strong>de</strong>l problema.Una vez i<strong>de</strong>ntificadas estas etapas, proce<strong>de</strong>mos a expresar su composición algorítmica,para más a<strong>de</strong><strong>la</strong>nte <strong>de</strong>sarrol<strong>la</strong>r cada etapa por separado.• Orientación a objetos: un objeto real <strong>de</strong>l problema no es directamente representablepor los tipos elementales <strong>de</strong>l lenguaje algorítmico. En primerlugar <strong>de</strong>finiremos un tipo conveniente para el objeto; a lo <strong>la</strong>rgo <strong>de</strong> todo el<strong>diseño</strong>, para hacer cualquier cambio <strong>de</strong> estado o acceso <strong>de</strong> este objeto, seránecesario llevar a cabo unas acciones y/o funciones diseñadas expresamentepor el tipo <strong>de</strong> objeto <strong>de</strong>finido. Es <strong>de</strong>cir, asociamos unas acciones y/o funcionesal tipo, y sólo estas acciones y/o funciones serán <strong>la</strong>s que modificaráno consultarán el estado <strong>de</strong> un objeto <strong>de</strong>l tipo <strong>de</strong>finido.Po<strong>de</strong>mos encontrar un ejemplo <strong>de</strong> abstracción funcional en el siguiente problema:Se dispone <strong>de</strong> <strong>la</strong>s temperaturas medias diarias <strong>de</strong> un mes en una tab<strong>la</strong>. Se quiere diseñarun algoritmo que nos <strong>de</strong>vuelva el día <strong>de</strong>l mes en estudio que tiene <strong>la</strong> temperatura máspróxima a <strong>la</strong> media.Es necesario recorrer toda <strong>la</strong> tab<strong>la</strong> para calcu<strong>la</strong>r <strong>la</strong> temperatura media <strong>de</strong>l mes; una vezcalcu<strong>la</strong>da, se <strong>de</strong>be buscar el valor <strong>de</strong> temperatura diaria que más se acerca a el<strong>la</strong>. De estemodo, hemos dividido el problema en dos subproblemas más concretos según su función,que son:1)Cálculo <strong>de</strong> <strong>la</strong> media <strong>de</strong> temperaturas <strong>de</strong> un mes.2)Búsqueda <strong>de</strong>l día <strong>de</strong> temperatura más próxima a <strong>la</strong> media <strong>de</strong>l mes.Ambos problemas trabajan sobre el mismo objeto, que es una tab<strong>la</strong> <strong>de</strong> temperaturas mediasdiarias <strong>de</strong> un mes.En el ejemplo propuesto para ser trabajado a lo <strong>la</strong>rgo <strong>de</strong>l apartado, se han hechoabstracciones orientadas a objetos. Hemos interpretado parte <strong>de</strong> <strong>la</strong> informaciónimplícita que guarda <strong>la</strong> secuencia <strong>de</strong> caracteres como frases y pa<strong>la</strong>bras.Notad que po<strong>de</strong>mos consi<strong>de</strong>rar un texto <strong>de</strong> distintas formas; por ejemplo, eltexto como una secuencia <strong>de</strong> capítulos <strong>de</strong> un libro, el capítulo como una secuencia<strong>de</strong> apartados, etc. Pasamos por alto el hecho <strong>de</strong> que el texto que nos

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

Saved successfully!

Ooh no, something went wrong!