Diferència entre revisions de la pàgina «M3 - Programació estructurada / Continguts UF2: Disseny modular»
De wikiserver
(→Descomposició funcional) |
|||
Línia 27: | Línia 27: | ||
==Reutilització de subproblemes resolts== | ==Reutilització de subproblemes resolts== | ||
+ | |||
+ | :*La descomposició mitjançant disseny descendent permet reaprofitar la solució de subproblemes idèntics, o força semblants. | ||
+ | |||
+ | :*Qualsevol subproblema d’un nivell donat pot ser part de qualsevol subproblema d’un nivell superior. Per remarcar | ||
+ | |||
+ | [[Imatge:m3uf2_disseny_modular_2.png |600px|center| Disseny modular]] | ||
+ | |||
+ | :*En descompondre un problema, s'ha d'intentar fer-ho de manera que es forci l’aparició de subproblemes repetits, i així la seva resolució es pot reaprofitar en diversos llocs. | ||
==Aplicació correcta del disseny descendent== | ==Aplicació correcta del disseny descendent== |
Revisió del 14:05, 8 març 2018
Contingut
Descomposició funcional
- L’objectiu serà resoldre el problema general com a una suma de subproblemes més petits.
- La solució a cada subproblema s’anomena subrutina o subprograma, i a Java, mètode.
- Permet la reutilització del codi, facilita la seva lectura i el seu manteniment.
- Escriure codi més genèric facilita la seva reutilització.
Disseny descendent
- El mètode del disseny descendent consisteix en descompondre el problema a resoldre en altres més senzills. A aquests se'ls aplica el mateix procediment fins arribar a problemes prou petits que podem resoldre directament.
- Refinament de l’algorisme (stepwise refinement) és com es coneix aquest procediment de descomposició.
- Representació en forma d'arbre:
- - Cada node és un mòdul, o problema, o solució hipotètica.
- - Cada subarbre depenent d'aquest node es fa servir per a la resolució d'aquest subproblema.
- - El node del nivell més alt és el problema de partida.
- - L’algorisme serà correcte si la solució que es dóna a cada nivell ho és.
- - El programa es pot construir de sota a dalt creant primer procediments que resolguin els mòduls de detall que, un cop comprovats seran utilitzats per altres procediments més generals fins a arribar a la creació del programa.
Reutilització de subproblemes resolts
- La descomposició mitjançant disseny descendent permet reaprofitar la solució de subproblemes idèntics, o força semblants.
- Qualsevol subproblema d’un nivell donat pot ser part de qualsevol subproblema d’un nivell superior. Per remarcar
- En descompondre un problema, s'ha d'intentar fer-ho de manera que es forci l’aparició de subproblemes repetits, i així la seva resolució es pot reaprofitar en diversos llocs.