Descomposición modular
Capacidad de empleo de componentes modulares. Si un
método de diseño permite ensamblar los componentes de diseño (reusables)
existentes en un sistema nuevo, producirá una solución modular que no inventa
nada ya inventado.
Capacidad de comprensión modular. Si un módulo se puede comprender como una unidad autónoma (sin referencias a otros módulos) será más fácil de construir y de cambiar.
Continuidad modular. Si pequeños cambios en los requisitos del sistema provocan cambios en los módulos individuales, en vez de cambios generalizados en el sistema, se minimizará el impacto de los efectos secundarios de los cambios.
Protección modular. Si dentro de un módulo se produce una condición aberrante y sus efectos se limitan a ese módulo, se minimizará el impacto de los efectos secundarios inducidos por los errores.
Finalmente, es importante destacar que un sistema se puede diseñar modularmente, incluso aunque su implementación deba ser «monolítica». Existen situaciones (por ejemplo, software en tiempo real, software empotrado) en donde no es admisible que los subprogramas introduzcan sobrecargas de memoria y de velocidad por mínimos que sean (por ejemplo, subrutinas, procedimientos). En tales situaciones el software podrá y deberá diseñarse con modularidad como filosofía predominante.
El código se puede desarrollar «en línea». Aunque el código fuente del programa puede no tener un aspecto modular a primera vista, se ha mantenido la filosofía y el programa proporcionará los beneficios de un sistema modular.
Capacidad de comprensión modular. Si un módulo se puede comprender como una unidad autónoma (sin referencias a otros módulos) será más fácil de construir y de cambiar.
Continuidad modular. Si pequeños cambios en los requisitos del sistema provocan cambios en los módulos individuales, en vez de cambios generalizados en el sistema, se minimizará el impacto de los efectos secundarios de los cambios.
Protección modular. Si dentro de un módulo se produce una condición aberrante y sus efectos se limitan a ese módulo, se minimizará el impacto de los efectos secundarios inducidos por los errores.
Finalmente, es importante destacar que un sistema se puede diseñar modularmente, incluso aunque su implementación deba ser «monolítica». Existen situaciones (por ejemplo, software en tiempo real, software empotrado) en donde no es admisible que los subprogramas introduzcan sobrecargas de memoria y de velocidad por mínimos que sean (por ejemplo, subrutinas, procedimientos). En tales situaciones el software podrá y deberá diseñarse con modularidad como filosofía predominante.
El código se puede desarrollar «en línea». Aunque el código fuente del programa puede no tener un aspecto modular a primera vista, se ha mantenido la filosofía y el programa proporcionará los beneficios de un sistema modular.
El diseño modular propone dividir el sistema en partes
diferenciadas y definir sus interfaces. sus ventajas: claridad, reducción de
costos y reutilización.
Los pasos a seguir son:
1. Identificar los módulos
2. Describir cada módulo
3. Describir las relaciones entre módulos
Una descomposición modular debe poseer ciertas cualidades mínimas para que se pueda considerar suficiente validad.
1. Independencia funcional
2. Acoplamiento
3. Cohesión
4. Comprensibilidad
5. Adaptabilidad

Los pasos a seguir son:
1. Identificar los módulos
2. Describir cada módulo
3. Describir las relaciones entre módulos
Una descomposición modular debe poseer ciertas cualidades mínimas para que se pueda considerar suficiente validad.
1. Independencia funcional
2. Acoplamiento
3. Cohesión
4. Comprensibilidad
5. Adaptabilidad

Independencia funcional
-Cada módulo debe realizar una función concreta o un
conjunto de funciones afines. Es recomendable reducir las relaciones entre
módulos al mínimo.
- Para medir la independencia funcional hay dos criterios: acoplamiento y cohesión
Acoplamiento
- El acoplamiento es una medida de la interconexión entre
módulos en la estructura del programa. Se tiende a que el acoplamiento sea lo
menor posible, esto es a reducir las interconexiones entre los distintos módulos
en que se estructure nuestra aplicación. El grado de acoplamiento mide la
interrelación entre dos módulos, según el tipo de conexión y la complejidad de
la interface:
- Fuerte
- Por contenido, cuando desde un módulo se puede cambiar
datos locales de otro.
- Común, se emplea una zona común de datos a la que
tienen acceso varios módulos.
- Moderado
- De control, la zona común es un dispositivo externo al
que están ligados los módulos, esto implica que un cambio en el formato de
datos los afecta a todos.
- Débil
- De datos, viene dado por los datos que intercambian los
módulos. Es el mejor.
- Sin acoplamiento directo, es el acoplamiento que no
existe
Cohesión
- Un módulo coherente ejecuta una tarea sencilla en un
procedimiento y requiere poca interacción con procedimientos que se ejecutan en
otras partes de un programa. Podemos decir que un módulo coherente es aquel que
intenta realizar solamente una cosa.
Comprensibilidad
- Para facilitar los cambios, el mantenimiento y la
reutilización de módulos es necesario que cada uno sea comprensible de forma
aislada.
Para ello es bueno que posea independencia funcional,
pero además es deseable:
- Identificación, el nombre debe ser adecuado y descriptivo
- Documentación, debe aclarar todos los detalles de diseño
e implementación que no queden de manifiesto en el propio código
Adaptabilidad
- La adaptación de un sistema resulta más difícil cuando no
hay independencia funcional, es decir, con alto acoplamiento y baja cohesión, y
cuando el diseño es poco comprensible. Otros factores para facilitar la adaptabilidad:
- Previsión, es necesario prever que aspectos del
sistema pueden ser suceptibles de cambios
en el futuro, y poner estos elementos en
módulos independientes, de manera que su
modificación afecte al menor número de módulos posibles
- Accesibilidad, debe resultar sencillo el acceso a
los documentos de especificación,
diseño, e implementación para obtener un
conocimiento suficiente del sistema antes de
proceder a su adaptación
- Consistencia, después de cualquier adaptación se
debe mantener la consistencia del sistema,
incluidos los documentos afectados

http://unidad6daps.blogspot.mx/2010/05/61-descomposicion-modular.html
http://genesis9.comxa.com/tareas/UNIDAD6.pdf

http://unidad6daps.blogspot.mx/2010/05/61-descomposicion-modular.html
http://genesis9.comxa.com/tareas/UNIDAD6.pdf
mas o menos lo que entendí:
ResponderEliminarLa capacidad de comprensión modular se define como un módulo que se puede comprender como una unidad autónoma.
Por otro lado la continuidad modular es o son pequeños cambios en los requisitos del sistema que provocan cambios en los módulos individuales.
Los pasos a seguir son:
1. Identificar los módulos.
2. Describir cada módulo.
3. Describir las relaciones entre módulos.
Cualidades mínimas.
1. Independencia funcional.
2. Acoplamiento.
3. Cohesión.
4. Comprensibilidad.
5. Adaptabilidad.
La descomposicion modular es un tema realmente importante que nos maneja como un módulo suele ser un componente de un subsistema, que brinda uno o más servicios a otros módulos .A su vez éste usa los servicios proporcionados por otros módulos. No se le puede considerar como un sistema independiente. ya que en ocasiones este suele necesitar de otros modulos,al hacer la descompocicion modular nos permite hacer un problema grande en pequeños problemas lo cual es mas facil de resolver.
EliminarEsta tema de Descomposición Modular me gusta porque se puede reutilizar en diferentes casos. Y como dise Misty Soloriio, al hacer la Descomposición Modular nos permite hacer un problema grande en pequeños problemas lo cual es mas facil de resolver.
ResponderEliminarmas que nada uno delos bueno ya que muchas veces vemos el problema como algo que no se que de resolver pero si vamos descomponiendo el problema en pequeños este se va resolviendo mas amenas y sencilla mente por que no tenemos que centrarnos en todo el problema sino aora en los pequeños problemas que tenemos pero mas sencillo que uno difícil y muy grande el problema claro esta :)
ResponderEliminarSi un módulo se puede comprender como una unidad autónoma (sin referencias a otros módulos) será más fácil de construir y de cambiar.
ResponderEliminarContinuidad modular. Si pequeños cambios en los requisitos del sistema provocan cambios en los módulos individuales, en vez de cambios generalizados en el sistema, se minimizará el impacto de los efectos secundarios de los cambios.
Protección modular. Si dentro de un módulo se produce una condición aberrante y sus efectos se limitan a ese módulo, se minimizará el impacto de los efectos secundarios inducidos por los errores.
Los pasos a seguir son:
ResponderEliminarIdentificar los módulos
Describir cada módulo
Describir las relaciones entre módulos
Tipos de módulos:
- Código fuente, en el lenguaje de programación usado
- Tabla de datos, para datos de inicialización u otros
- Configuración, se agrupa en un módulo toda la información de configuración en el entorno de trabajo
- Otros: ficheros de ayuda en línea, manuales, etc.
Una descomposición modular debe poseer ciertas cualidades mínimas para que se pueda considerar suficientemente válida
- Independencia fucional
- Acoplamiento
- Cohesión
- Comprensibilidad
- Adaptabilidad
Yo que entendí que la descomposición es la capacidad de empleo de diferentes componentes capaces de ser adaptados a las necesidades del diseñador.
ResponderEliminarSi un método de diseño permite ensamblar los componentes de diseño (reusables) existentes en un sistema nuevo, producirá una solución modular que no inventa nada ya inventado, si no que solamente reutilice algo que ya fue creado, por alguien mas esto nos facilitara el trabajo.
a mi en lo personal es una buena técnica de diseño y me gusta la descomposición modular
AM YO ENTENDI QUE MEDIANTE LA DESCOMPOCICION MODULAR, SE REALIZA PARA DE FORMA MAS SENCILLA PODER LLEGAR A LA SOLUCION DEL PROBLEMA DE UNA FORM FACIL, Y SENCILLA DE FORMA ORDENANA.
ResponderEliminarAM POES YO TAMBIÉN ENTENDÍ QUE LA DESCOMPOSICIÓN MODULAR BÁSICAMENTE CONSISTE EN EL RESURGIMIENTO DE NUEVAS IDEAS POR PARTE DEL DISEÑADOR, EN LAS CUALES PODEMOS ENCONTRAR QUE CUANDO SE REALIZA UN CAMBIO EN LOS MÓDULOS INDIVIDUALES, SU FUNCIONAMIENTO NO AFECTA A LOS DEMÁS Y EN CAMBIO, SI SE HACE ESE CAMBIO A UN MODULO DEPENDIENTE; EN ESTE SI SURGEN ALGUNAS ANOMALÍAS.
ResponderEliminarTAMBIÉN CABE MENCIONAR QUE SON DE SUMA IMPORTANCIA EN LOS SISTEMAS
El diseño modular propone dividir el sistema en partes diferenciadas y definir sus interfaces. Sus ventajas: claridad, reducción de costos y reutilización.
ResponderEliminarLos pasos a seguir son:
1. Identificar los módulos.
2. Describir cada modulo.
3. Describir las relaciones entre módulos.
Una descomposición modular debe poseer ciertas cualidades mínimas para que se pueda considerar suficiente validad.
1. Independencia funcional.
2. Acoplamiento.
3. Cohesión.
4. Comprensibilidad.
5. Adaptabilidad.
La descomposición modular es como la creación de pequeñas partes de un software es más fácil crear un software en los módulos existen pequeñas partes de un programa por ejemplo un modulo solo contiene datos de los usuarios otro las acciones que realiza el otro de que partes se componen de todos lo módulos que se juntan se compone el programa principal estos módulos se parecen a las bases de datos por que se van creando uno detrás de otro y además de contener información para la creación de toda la base de datos
ResponderEliminarContinuidad modular. Si pequeños cambios en los requisitos del sistema provocan cambios en los módulos individuales, en vez de cambios generalizados en el sistema, se minimizará el impacto de los efectos secundarios de los cambios.
ResponderEliminarProtección modular. Si dentro de un módulo se produce una condición aberrante y sus efectos se limitan a ese módulo, se minimizará el impacto de los efectos secundarios inducidos por los errores.
Finalmente, es importante destacar que un sistema se puede diseñar modularmente, incluso aunque su implementación deba ser «monolítica». Existen situaciones (por ejemplo, software en tiempo real, software empotrado) en donde no es admisible que los subprogramas introduzcan sobrecargas de memoria y de velocidad por mínimos que sean (por ejemplo, subrutinas, procedimientos). En tales situaciones el software podrá y deberá diseñarse con modularidad como filosofía predominante.
El diseño modular propone dividir el sistema en partes diferenciadas y definir sus interfaces. sus ventajas: claridad, reducción de costos y reutilización.
Los pasos a seguir son:
1. Identificar los módulos
2. Describir cada módulo
3. Describir las relaciones entre módulos
Una descomposición modular debe poseer ciertas cualidades mínimas para que se pueda considerar suficiente validad.
1. Independencia funcional
2. Acoplamiento
3. Cohesión
4. Comprensibilidad
5. Adaptabilidad