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 32 <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>nteque se <strong>de</strong>ben diseñar con el fin <strong>de</strong> que, combinadas <strong>de</strong> forma conveniente, alcancenel objetivo final. En estos casos, cada acción o función (elemental ono) resuelve un subobjetivo, y compuestas a<strong>de</strong>cuadamente resolverán el objetivofinal <strong>de</strong>l algoritmo.Las pautas expuestas hasta ahora son también aplicables a problemas complejosque no pue<strong>de</strong>n ser expresados directamente con los elementos <strong>de</strong> <strong>la</strong> notaciónalgorítmica. Ahora ampliaremos <strong>la</strong>s indicaciones que nos servirán parap<strong>la</strong>ntear estos tipos <strong>de</strong> problemas más complejos.Cuando nos hal<strong>la</strong>mos ante un problema complejo, <strong>de</strong>bemos encontrar abstraccionesconvenientes que simplifiquen los <strong>de</strong>talles que hay que tener en cuentaen el p<strong>la</strong>nteamiento <strong>de</strong>l problema, y que por ello nos permitan resolverlo concomodidad y con suficiente c<strong>la</strong>ridad (por ejemplo, que facilite <strong>la</strong> aplicación <strong>de</strong>los esquemas). Una vez que hemos elegido estas abstracciones, <strong>de</strong>bemos mantener<strong>la</strong>sa lo <strong>la</strong>rgo <strong>de</strong>l p<strong>la</strong>nteamiento <strong>de</strong>l problema; es <strong>de</strong>cir, no <strong>de</strong>bemos entraren <strong>de</strong>talles que correspon<strong>de</strong>rán a otro nivel <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte.Recordad que…... los esquemas algorítmicosno imponen ninguna restricciónrespecto <strong>de</strong>l tipo <strong>de</strong> loselementos <strong>de</strong> <strong>la</strong> secuencia y,por lo tanto, se pue<strong>de</strong>n aplicara secuencias <strong>de</strong> tipos no elementales<strong>de</strong>finidos mediantetup<strong>la</strong>s y tab<strong>la</strong>s, para resolverproblemas más complejos.Estamos haciendo una abstracción<strong>de</strong> datos.Al aplicar <strong>la</strong> <strong>metodología</strong> <strong>de</strong> <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte, i<strong>de</strong>ntificaremos <strong>la</strong> secuencia<strong>de</strong> elementos abstractos; cuando apliquemos el esquema elegido, <strong>de</strong>beremos <strong>de</strong>finiracciones y/o funciones correspondientes a <strong>la</strong> i<strong>de</strong>ntificación <strong>de</strong>l primer elemento,el siguiente y <strong>la</strong> marca <strong>de</strong> elemento. De este modo, en lugar <strong>de</strong> concretar<strong>la</strong>s operaciones anteriores con sentencias y tipos elementales <strong>de</strong>l lenguaje, <strong>la</strong>sencapsu<strong>la</strong>mos mediante acciones y/o funciones con tipos no elementales queescon<strong>de</strong>n los <strong>de</strong>talles concretos <strong>de</strong> <strong>la</strong> abstracción o <strong>la</strong>s abstracciones realizadas.Suponer <strong>la</strong> existencia <strong>de</strong> un tipo no elemental con un conjunto <strong>de</strong> acciones y/o funciones que no existen no nos <strong>de</strong>be comportar ningún problema: siemprelos podremos diseñar más a<strong>de</strong><strong>la</strong>nte.En el momento <strong>de</strong> formu<strong>la</strong>r un esquema sobre los datos abstractos, <strong>de</strong>beremosintroducir tantas acciones y funciones y tipos nuevos como sea necesario. Deeste modo, <strong>la</strong> aplicación <strong>de</strong> <strong>la</strong> <strong>metodología</strong> <strong>de</strong>l <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte comporta<strong>la</strong> creación <strong>de</strong> nuevos enunciados <strong>de</strong> subproblemas (tipos, acciones y funciones),que se <strong>de</strong>berán p<strong>la</strong>ntear en su nivel correspondiente (y, por lo tanto, porcada subproblema <strong>de</strong>beremos enten<strong>de</strong>r el enunciado, p<strong>la</strong>ntearlo, formu<strong>la</strong>rlo yevaluarlo; si el subproblema no es suficientemente concreto, dará lugar a otrossubproblemas que habrá que resolver). Iremos siguiendo este proceso <strong>de</strong> formasucesiva, hasta que sea posible aplicar los esquemas directamente sobre los datosreales <strong>de</strong>l problema.Estamos haciendo una abstracción<strong>de</strong> código.Por lo tanto, en cada nivel más concreto <strong>de</strong>l <strong>diseño</strong> <strong>de</strong>scen<strong>de</strong>nte tendremos quehacer primero un p<strong>la</strong>nteamiento <strong>de</strong>l nivel, y a continuación el p<strong>la</strong>nteamiento,<strong>la</strong> formu<strong>la</strong>ción y <strong>la</strong> evaluación <strong>de</strong> cada uno <strong>de</strong> los subproblemas para resolveren el nivel <strong>de</strong> trabajo.

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

Saved successfully!

Ooh no, something went wrong!