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 30 <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>nteComo ya sabemos, lo primero que hay que hacer siempre es saber qué queremosconseguir: si no tenemos c<strong>la</strong>ro cuál es el problema que se <strong>de</strong>be resolver, no encontraremossu solución. Debemos interpretar correctamente el enunciado y<strong>de</strong>finir <strong>de</strong> forma c<strong>la</strong>ra y sin ambigüeda<strong>de</strong>s qué es necesario hacer. Por ello especificaremosel algoritmo que hay que diseñar. Si es necesario usar abstracciones,<strong>la</strong> especificación se expresará en términos <strong>de</strong> <strong>la</strong>s abstracciones convenidas. Enotros niveles <strong>de</strong> <strong>de</strong>scomposición más concretos ya se especificarán los <strong>de</strong>tallesque ahora ocultan <strong>la</strong>s abstracciones.Recordad que...… cuando especificamos, sólopensamos en qué es necesariohacer, y no en cómo hay quehacerlo.La especificación nos indica cuál es el problema que se <strong>de</strong>be resolver; por lotanto, <strong>de</strong>bemos especificar <strong>la</strong> precondición y <strong>la</strong> postcondición <strong>de</strong> cada algoritmo,acción y función que queramos diseñar.A pesar <strong>de</strong> que <strong>la</strong> especificaciónse redacta en lenguaje natural, esnecesario que procuremos hacerlocon precisión.La precondición <strong>de</strong>scribe el estado inicial en el que se encuentra el entorno<strong>de</strong>l que partimos.La postcondición <strong>de</strong>scribe el estado final <strong>de</strong>l entorno al que <strong>de</strong>bemos llegar<strong>de</strong>spués <strong>de</strong> que el algoritmo resuelva el problema.2. P<strong>la</strong>ntear el problemaLa etapa <strong>de</strong> p<strong>la</strong>nteamiento empieza una vez establecidas <strong>la</strong> precondición y <strong>la</strong>postcondición <strong>de</strong> un algoritmo, una acción o función. La especificación correspon<strong>de</strong>ráal problema en sí o a una parte <strong>de</strong>l problema (subproblema). Ahora hayque <strong>de</strong>cidir cómo se <strong>de</strong>be resolver el problema, y por lo tanto, cómo po<strong>de</strong>mosseguir y aplicar gran parte <strong>de</strong> <strong>la</strong> <strong>metodología</strong> que conocemos.En primer lugar, <strong>de</strong>bemos ver si po<strong>de</strong>mos resolver el problema directamentecon facilidad. Es <strong>de</strong>cir, si para resolverlo po<strong>de</strong>mos aplicar directamente <strong>la</strong>s estructurasy los esquemas que conocemos sobre los datos reales <strong>de</strong>l problema.En este caso nos encontramos ante un problema concreto y re<strong>la</strong>tivamente sencillo<strong>de</strong> resolver. A pesar <strong>de</strong> ello, para realizar con unas ciertas garantías <strong>de</strong> correcciónun problema que se correspon<strong>de</strong> a un seguimiento <strong>de</strong> una secuencia,<strong>de</strong>beremos utilizar <strong>la</strong>s pautas que os hemos ido proponiendo y que sintetizamosahora:• Reconocer <strong>la</strong> secuencia que se <strong>de</strong>be tratar. En algunos casos será sencillo,porque trabajaremos directamente con <strong>la</strong> secuencia explícita que sigue losdatos <strong>de</strong>l enunciado. En otros casos, tendremos que reconocer que para resolverel problema nos hace falta generar una secuencia. La i<strong>de</strong>ntificación<strong>de</strong>l primer elemento, <strong>de</strong>l siguiente y <strong>de</strong>l que <strong>de</strong>termina el final <strong>de</strong> <strong>la</strong> secuenciaconcretará <strong>la</strong> secuencia que se <strong>de</strong>be tratar.Recordad que…… <strong>la</strong> secuencia pue<strong>de</strong> venirdada por el enunciado <strong>de</strong>lproblema, o bien, pue<strong>de</strong> ocurrirque los propios objetivos<strong>de</strong>l problema nos pidan generar<strong>la</strong>.

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

Saved successfully!

Ooh no, something went wrong!