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
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 13 <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>ntedan en <strong>la</strong> entrada estuviese organizado por párrafos, ya que <strong>la</strong> consi<strong>de</strong>ración<strong>de</strong> párrafos no tiene ninguna utilidad en <strong>la</strong> resolución <strong>de</strong> nuestro problema.La fuerza <strong>de</strong> <strong>la</strong> abstracción resi<strong>de</strong> en esta afirmación: sólo consi<strong>de</strong>ramos aquelloque es relevante para nuestro problema. En cada nivel <strong>de</strong>finiremos <strong>la</strong> representaciónque <strong>de</strong>be tener cada abstracción elegida, y qué acciones y/o funcionesasociaremos a cada una.1.4. Formas <strong>de</strong> trabajar y presentar el <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nteAhora necesitamos expresar <strong>de</strong> algún modo nuestro <strong>de</strong>sarrollo, siguiendo <strong>la</strong><strong>metodología</strong> <strong>de</strong>l <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte. Una forma <strong>de</strong> hacerlo podría consistiren proponer en el primer nivel un borrador <strong>de</strong> algoritmo informal.Observemos qué suce<strong>de</strong> en nuestro ejemplo si resolvemos el primer nivel. Enprimer lugar, <strong>de</strong>bemos establecer los objetivos <strong>de</strong>l <strong>diseño</strong> mediante <strong>la</strong> especificación,manteniendo el nivel <strong>de</strong> abstracción que nos hayamos propuesto. Ennuestro caso, consiste en imaginarnos el texto como una secuencia <strong>de</strong> frases.De este modo, una vez examinado el enunciado, escribimos <strong>la</strong> siguiente especificación:Dicho <strong>de</strong> otro modo,...... p<strong>la</strong>nteamos el nivel comosi dispusiésemos <strong>de</strong> un procesadorvirtual (o un lenguajevirtual) que sabe lo que es unasecuencia <strong>de</strong> frases y cómoobtener<strong>la</strong>s y tratar<strong>la</strong>s.{ Pre: en <strong>la</strong> entrada tenemos una secuencia <strong>de</strong> frases, T, que pue<strong>de</strong> estar vacía. Cada frase<strong>de</strong> T contiene información para saber si hace falta corregir<strong>la</strong> o no }AnalisisCorrecciones{ Post: en el caso <strong>de</strong> que no sea necesario corregir T, no se escribe nada. En el caso <strong>de</strong> queT sea un texto que haya que corregir, se generará en <strong>la</strong> salida una secuencia R, formadapor tres elementos:R1 Representa <strong>la</strong> media <strong>de</strong> pa<strong>la</strong>bras que hay que corregir por frase <strong>de</strong> T.R2 Representa el porcentaje <strong>de</strong> frases que hay que corregir en T.R3 Representa el máximo <strong>de</strong> pa<strong>la</strong>bras que hay que corregir por frase <strong>de</strong> T }Se pi<strong>de</strong> un análisis <strong>de</strong>l texto, para e<strong>la</strong>borar una estadística <strong>de</strong> <strong>la</strong>s correccionesque se <strong>de</strong>ben llevar a cabo. Hay que hacerlo mediante <strong>la</strong> aplicación <strong>de</strong>l esquema<strong>de</strong> recorrido, ya que los datos <strong>de</strong>l análisis <strong>de</strong>l texto <strong>de</strong>pen<strong>de</strong>rán <strong>de</strong> los datosparciales que aportará cada una <strong>de</strong> sus frases. Las acciones <strong>de</strong>l análisis, asícomo <strong>la</strong> obtención <strong>de</strong> <strong>la</strong> secuencia, irían a cargo <strong>de</strong> nuestro procesador virtualo nuestro lenguaje virtual inteligente. De este modo, si aplicamos el esquema<strong>de</strong> recorrido, obtenemos informalmente:algoritmo AnalisisCorreccionesvar ... fvar“Inicializar los resultados <strong>de</strong>l análisis <strong>de</strong>l texto.”“Obtener <strong>la</strong> primera frase.”mientras “<strong>la</strong> frase obtenida no sea <strong>la</strong> última frase” hacer“Actualizar los resultados <strong>de</strong>l análisis <strong>de</strong>l texto a partir <strong>de</strong> <strong>la</strong> frase actual.”“Obtener <strong>la</strong> siguiente frase.”fmientras“Escribir los resultados <strong>de</strong>l análisis <strong>de</strong>l texto.”falgoritmoEn el siguiente nivel, refinaríamos cada una <strong>de</strong> <strong>la</strong>s acciones o funciones expresadasinformalmente con posibles nuevos nombres informales. Seguiríamos