• Viernes 8 de Noviembre de 2024, 23:00

Autor Tema:  Diseno Modular?  (Leído 1548 veces)

digichap28

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
Diseno Modular?
« en: Miércoles 9 de Abril de 2008, 19:50 »
0
Puedan a ayudarme?

Es que necesito saber en que consiste el diseno modular , tengo entendido que el descendente es el mismo que el top-down, pero el modular segun lo que he leido por la web,  es lo mismo que el top down.

Puesto que se realiza por subprogramas.

CUALES SON LAS DIFERENCIAS?
GRACIAS

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Diseno Modular?
« Respuesta #1 en: Martes 22 de Abril de 2008, 22:12 »
0
Una programación en 'top-down' es solo una especificación de diseño, es decir de resolución de un problema. a partir de un problema dado se analiza y se va descomponiendo el problema en tareas, luego cada una de esas tareas se subdivide nuevamente en otras más pequeñas.

El diseño con módulos sería parecido pero con un enfoque distinto, tu creas pequeños módulos o rutinas que solucionan un caso particular (o varios) y con ello acabas reuniendo una 'librería' sobre el tema, luego a la hora de programar vas llamando a las rutinas apiladas en los módulos.

La diferencia principal como ves es que en el diseño top-down, vas creando todo el código a medida que surje su necesidad y normalmente todo el código está embebido en el programa, en el diseño modular se trata de generar todas las posibles rutinas necesarias para solucionar todo el rango de posibilidades, antes incluso de crear programas y luego cuando se hace un programa hacer llamadas a dichos rutinas según se necesite. En este caso las rutinas suelen dejarse en ficheros aparte, librerías, que los programas comparten y llaman individualmente.

Pero fíjate que ambos modelos pueden coexistir juntos, en ese caso las llamadas a las rutinas de los módulos se harían en el nivel más bajo alcanzado en el top-down.

Llevando al extremo el modelo modular, las rutinas se diseñan para que unas se llamen a otras más privadas y realizar acciones de 'más alto nivel', por ejemplo supongamos que queremos hacer un mundo 3D... hemos hecho un diseño top-down... en el último detalle nos toca dibujar un punto... por otro lado hemos construído una librería 3D y tenemos una función llamada dibujar_Punto(x,y) , si procedemos con modularidad en ese sentido más purista, no necesitaríamos llamar a esa función dibujar_punto(x,y) sino por ejemplo tendríamos una rutina llamada dibujar_Objeto(objeto) esta rutina toma el objeto y luego examina sus polígonos, los puntos de cada polígono, la rotación ejercida, el desplazamiento, la textura, etc... todas estas rutinas serían más priovadas y no accederíamos a ellas, de ese modo se consigue una mayor velocidad en la programación al no tener que programar hasta el nivel más bajo en el diseño top-down, éste acabaría justo donde empieza nuestro sistema modular...

Si te das cuenta entonces la programación modular va de abajo arriba ... justo al revés que el top-down...
No sé si te habré liado o si logras captar el sentido....
«Ma non troppo»
----> ModoVacaciones = False<----