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 33 <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>nte• Para cada abstracción correspondiente al nivel <strong>de</strong> <strong>de</strong>scomposición es necesariorepresentar los tipos que hay que trabajar en <strong>de</strong>talle y que todavía nose han <strong>de</strong>finido.• Para cada acción y/o función ya especificada (subproblema) que se <strong>de</strong>be <strong>de</strong>sarrol<strong>la</strong>ren este nivel, hay que:– Reconocer, si hace falta, <strong>la</strong> secuencia que hay que tratar. En estos casoses más complicado, ya que los datos abstractos a<strong>de</strong>cuados que forman<strong>la</strong> secuencia <strong>de</strong>ben ser i<strong>de</strong>ntificados.– Decidir el esquema que se <strong>de</strong>be aplicar sobre <strong>la</strong> secuencia abstracta. Comosiempre, es necesario observar cuál <strong>de</strong> los esquemas que conocemos (búsqueday recorrido) nos ayudará a resolver el problema.– Aplicar el esquema elegido al problema concreto, efectuando <strong>la</strong>s variacionesque convengan en cada caso. La aplicación se <strong>de</strong>be hacer respetando<strong>la</strong>s abstracciones que correspondan a otro nivel más concreto, enel caso <strong>de</strong> que existan.– Especificar <strong>la</strong>s acciones y funciones auxiliares que hayan aparecido enel paso anterior.El punto c<strong>la</strong>ve en <strong>la</strong> abstracción <strong>de</strong> código consiste en <strong>de</strong>terminar cuálesson los niveles <strong>de</strong> abstracción a<strong>de</strong>cuados. Normalmente, los objetos quetrata el problema son el criterio que seguimos en el momento <strong>de</strong> <strong>de</strong>terminarlos niveles y <strong>de</strong>scomponer el problema.Notad que…… normalmente hacemosuna <strong>de</strong>scomposición orientadaa objetos.En cada nivel <strong>de</strong> <strong>de</strong>scomposición expresamos los algoritmos en función <strong>de</strong>unos tipos, acciones y funciones que <strong>de</strong>sarrol<strong>la</strong>remos en el siguiente nivel. Laabstracción que hemos hecho en cada nivel nos permite concentrarnos sóloen <strong>la</strong> resolución <strong>de</strong> un subproblema concreto; no tenemos por qué preocuparnos<strong>de</strong> cómo se diseñan los tipos, acciones y funciones que necesitamos; simplementelos utilizamos sabiendo qué hacen y, más a<strong>de</strong><strong>la</strong>nte, en otros niveles,ya los iremos diseñando.La <strong>de</strong>scomposiciónen niveles...... se pue<strong>de</strong> enten<strong>de</strong>r como situviésemos un procesador distintopara cada uno que fuesecapaz <strong>de</strong> enten<strong>de</strong>r todos lostipos, <strong>la</strong>s acciones y <strong>la</strong>s funcionesque aún esperan a ser <strong>de</strong>sarrol<strong>la</strong>dos.Recordad que para cada nivel <strong>de</strong> abstracción <strong>de</strong> <strong>diseño</strong> iría bien releer el enunciado,con el fin <strong>de</strong> captar los <strong>de</strong>talles que son relevantes.Notad que, a pesar <strong>de</strong> toda <strong>la</strong> exposición que acabamos <strong>de</strong> hacer sobre <strong>la</strong> tipología<strong>de</strong> problemas que po<strong>de</strong>mos resolver en este curso, todavía nos faltaría añadir uncaso. Nos po<strong>de</strong>mos encontrar ante un problema en el que no reconozcamos oi<strong>de</strong>ntifiquemos ninguna secuencia que nos convenga al p<strong>la</strong>ntearlo. En este caso,<strong>de</strong>beremos <strong>de</strong>scubrir el or<strong>de</strong>n <strong>de</strong> <strong>la</strong>s acciones que pue<strong>de</strong>n alcanzar el objetivo queque preten<strong>de</strong> el algoritmo.En ocasiones el número <strong>de</strong> acciones elementales que se <strong>de</strong>ben proponer paraconseguir un objetivo pue<strong>de</strong> ser excesivo; en este caso conviene reconocer <strong>la</strong>s

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

Saved successfully!

Ooh no, something went wrong!