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 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

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

Saved successfully!

Ooh no, something went wrong!