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 20 <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>ntePara el análisis <strong>de</strong>l texto, a partir <strong>de</strong>l objeto <strong>de</strong> tipo tAnalisisDatos, <strong>de</strong>bemoscentrarnos en <strong>la</strong> postcondición <strong>de</strong>l problema. Recordad que <strong>de</strong>bemos obtenerel porcentaje <strong>de</strong> frases que hay que corregir, y <strong>la</strong> media <strong>de</strong> pa<strong>la</strong>bras y el máximo<strong>de</strong> pa<strong>la</strong>bras a corregir por frase. Los dos primeros datos se obtienen a partir<strong>de</strong> los elementos siguientes:• El número <strong>de</strong> frases <strong>de</strong>l texto (nfrases).• El número <strong>de</strong> frases que hay que corregir (nfrasesC) <strong>de</strong>l texto.• El número <strong>de</strong> pa<strong>la</strong>bras que hay que corregir <strong>de</strong>l texto (npa<strong>la</strong>brasC).Hemos puesto entre paréntesis unos nombres que nos servirán para abreviar<strong>la</strong> especificación. Abreviaremos también el máximo <strong>de</strong> pa<strong>la</strong>bras por frase medianteel nombre mx. Si seguimos estos nombres, <strong>la</strong> especificación nos queda<strong>de</strong> <strong>la</strong> siguiente forma:accion InicioResultadosAnalisis(sal a: tDatosAnalisis){ Pre: }{ Post: en a tenemos nfrases, nfrasesC, npa<strong>la</strong>brasC y mx <strong>de</strong> un texto vacío }accion actualizaResultadosAnalisis(ent f: tFrase; entsal a: tDatosAnalisis){ Pre: a = A y f = F }{ Post: en a tenemos nfrases, nfrasesC, npa<strong>la</strong>brasC y mx <strong>de</strong>l texto que resulta <strong>de</strong> añadir e<strong>la</strong>nálisis <strong>de</strong> <strong>la</strong> frase F al texto ya analizado en A }accion escribirResultadosAnalisis(ent A: tDatosAnalisis){ Pre: a = A }{ Post: si los datos <strong>de</strong> A son <strong>de</strong> un texto a corregir, se escribe por el canal <strong>de</strong> salida unasecuencia R formada por tres elementos:R1 representa <strong>la</strong> media <strong>de</strong> pa<strong>la</strong>bras a corregir por frase presente en el texto analizado en A.R2 representa el porcentaje <strong>de</strong> frases a corregir en el texto analizado en A.R3 representa el máximo <strong>de</strong> pa<strong>la</strong>bras a corregir por frase existente en el texto analizadoen A }En el caso <strong>de</strong> que A tenga los datos <strong>de</strong> un texto vacío, no se escribe nada }Notad que mediante <strong>la</strong> especificación establecemos <strong>la</strong> separación entre niveles:1) Con <strong>la</strong> especificación en <strong>la</strong> mano po<strong>de</strong>mos comprobar si el primer nivel escorrecto, sin tener que saber los <strong>de</strong>talles internos <strong>de</strong> cada acción o función.2) Cada tripleta (encabezamiento acción o función)-(precondición)-(postcondición)es el enunciado formalizado <strong>de</strong> un subproblema que hay que resolveren el segundo nivel, y marca los objetivos que se tienen que trabajar.De este modo, <strong>la</strong>s acciones y funciones <strong>de</strong> <strong>la</strong> notación algorítmica nos permitenencapsu<strong>la</strong>r los subproblemas que necesitamos, sin que tengamos que reescribirel algoritmo, ya que una vez que se hayan diseñado <strong>la</strong>s acciones y funciones queprecisamos, el <strong>diseño</strong> estará completo. Como herramientas <strong>de</strong> abstracción <strong>de</strong>Notad que...... <strong>la</strong> especificación tambiénnos permite dividir entre ungrupo <strong>de</strong> personas el trabajo<strong>de</strong> <strong>la</strong> aplicación que hay que<strong>de</strong>sarrol<strong>la</strong>r, <strong>de</strong> forma que cadapersona no <strong>de</strong>penda <strong>de</strong> <strong>la</strong> otraen el momento <strong>de</strong> llevara cabo el <strong>de</strong>sarrollo.

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

Saved successfully!

Ooh no, something went wrong!