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

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

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

© FUOC • P05/75062/00112 10 <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>nteen algún criterio guiado por <strong>la</strong>s abstracciones que creyésemos convenientes<strong>de</strong>l problema.Para ilustrar los conceptos que se dan en este apartado, os proponemos el siguienteproblema:Una editorial está interesada en analizar los errores <strong>de</strong> un texto presentado por un autor<strong>de</strong> materiales. Nos encarga diseñar un algoritmo, que, una vez realizado el análisis <strong>de</strong> errores<strong>de</strong> un texto, nos indique el porcentaje <strong>de</strong> frases, <strong>la</strong> media <strong>de</strong> pa<strong>la</strong>bras por frase y elmáximo <strong>de</strong> pa<strong>la</strong>bras por frase que <strong>de</strong>ben ser corregidos. Si no es necesario hacerlo, no sedice nada en <strong>la</strong> salida.En <strong>la</strong> entrada <strong>de</strong>l algoritmo tendremos un texto como secuencia <strong>de</strong> caracteres. Cada frasetermina con una pa<strong>la</strong>bra que finaliza, a su vez, con un punto.Cada pa<strong>la</strong>bra está separada <strong>de</strong> <strong>la</strong> siguiente por un único espacio. En el caso <strong>de</strong> que <strong>la</strong> pa<strong>la</strong>braacabe en punto, el espacio aparece a continuación <strong>de</strong>l punto. En el inicio <strong>de</strong>l textono hay espacios. Las pa<strong>la</strong>bras que <strong>de</strong>ben ser corregidas contienen uno o más signos <strong>de</strong>asterisco “*”. Si <strong>la</strong> pa<strong>la</strong>bra consiste sólo en el carácter asterisco, se trata también <strong>de</strong> unacorrección que es preciso hacer (una pa<strong>la</strong>bra que se tiene que añadir, por ejemplo).Se ha convenido en que el final <strong>de</strong>l texto original se marcará por una frase que no tieneninguna pa<strong>la</strong>bra; simplemente aparecerá el carácter <strong>de</strong> punto <strong>de</strong> final <strong>de</strong> frase.Por ejemplo, si en <strong>la</strong> entrada tenemos:Ho<strong>la</strong> qu* tal. Como B*a to*o. .En <strong>la</strong> salida tendremos:100 1.5 2El <strong>diseño</strong> pue<strong>de</strong> llegar a ser complicado si pensamos en <strong>la</strong> aplicación a partir <strong>de</strong><strong>la</strong> secuencia <strong>de</strong> caracteres. En cambio, si lo p<strong>la</strong>nteamos proponiendo un conjunto<strong>de</strong> abstracciones que son naturales y convenientes para el problema, el <strong>de</strong>sarrolloresultará más sencillo <strong>de</strong> hacer. Aquí nos resulta útil pensar que el textoes una secuencia <strong>de</strong> frases y proponer un algoritmo que vaya obteniendo y tratandocada una. Después nos ocuparíamos <strong>de</strong>l siguiente nivel, que consiste enp<strong>la</strong>ntear el subproblema <strong>de</strong> cómo obtener una frase, el subproblema <strong>de</strong> cómotratar<strong>la</strong>, y cómo i<strong>de</strong>ntificar también que se trata <strong>de</strong> <strong>la</strong> última frase. La consi<strong>de</strong>ración<strong>de</strong> una frase como una secuencia <strong>de</strong> pa<strong>la</strong>bras nos será conveniente y darálugar a <strong>la</strong> creación <strong>de</strong> los subproblemas <strong>de</strong>dicados a <strong>la</strong>s pa<strong>la</strong>bras, que se resolveránen el último nivel como problemas <strong>de</strong> secuencia <strong>de</strong> caracteres.El uso <strong>de</strong> <strong>la</strong>s abstracciones frase y pa<strong>la</strong>bra es propio <strong>de</strong>l problema y natural a éste;su correspon<strong>de</strong>ncia en un nivel <strong>de</strong> <strong>de</strong>scomposición hace que nos podamos concentraren los <strong>de</strong>talles más concretos <strong>de</strong> una abstracción, y que <strong>de</strong>jemos paramás a<strong>de</strong><strong>la</strong>nte los <strong>de</strong>talles <strong>de</strong> <strong>la</strong>s abstracciones que estén pendientes <strong>de</strong> resolver.Debemos procurar que cada nivel tenga un número <strong>de</strong> <strong>de</strong>talles que lo haga fácil<strong>de</strong> seguir y que asegure <strong>la</strong> corrección <strong>de</strong> <strong>la</strong>s soluciones p<strong>la</strong>nteadas.1.2. ¿Análisis ascen<strong>de</strong>nte o <strong>de</strong>scen<strong>de</strong>nte?El primer nivel <strong>de</strong> <strong>de</strong>scomposición es el más abstracto, mientras que los siguienteslo son menos o, dicho <strong>de</strong> otro modo, son más concretos, hasta llegar

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

Saved successfully!

Ooh no, something went wrong!