Professional Documents
Culture Documents
El diseño modular propone dividir el sistema en partes diferenciadas y definir sus interfaces. sus
ventajas: claridad, reducción de costos y reutilizacion
Una descomposicion modular debe poseer ciertas cualidades mínimas para que se pueda
considerar suficiente válidad.
1. Independencia funcional
2. Acoplamiento
3. Cohesión
4. Comprensibilidad
5. Adaptabilidad
a) 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.
b) Acoplamiento
. 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 estan 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.
c) Cohesión
Para que n° de módulos no sea demaciado elevado y complique el diseño se tratan de agrupar
elementos afines y relacionados en un mismo módulo.
ALTA
. Cohesion abstraccional, se logra cuando se diseña el módulo como tipo abstracto de datos o
como una clase de objetos
MEDIA
. Cohesión de comunicación, elementos que operan con el mismo conjunto de datos de entrada o
de salida
BAJA
d) 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:
- Documentación, debe aclarar todos los detalles de diseño e implementación que no queden de
manifiesto en el propio código
e) Adaptabilidad
La adaptación de un sistema resulta más dificil cuando no hay idependencia 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 suseptibles 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
La tecnología CASE supone la automatización del desarrollo del software, contribuyendo a mejorar la
calidad y la productividad en el desarrollo de sistemas de información. Para mejorar la calidad y la
productividad de los sistemas de información a la hora de construir software se plantean los siguientes
objetivos :
Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con una
herramienta conseguimos agilizar el trabajo.
Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones.
Simplificar el mantenimiento de los programas.
Mejorar y estandarizar la documentación.
Aumentar la portabilidad de las aplicaciones.
Facilitar la reutilización de componentes software.
Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilización de
gráficos.
De una forma esquemática podemos decir que una herramienta CASE se compone de los siguientes
elementos:
Repositorio (diccionario) donde se almacenan los elementos definidos o creados por la
herramienta, y cuya gestión se realiza mediante el apoyo de un Sistema de Gestión de Base de
Datos (SGBD) o de un sistema de gestión de ficheros.
Metamodelo (no siempre visible), que constituye el marco para la definición de las técnicas y
Consistencia:
Debe ser congruente la terminología, y las guías seguidas, para evitar confusión al usuario. Si por
ejemplo, en el mismo contexto apareciera en un lugar "archivo" y en otro "documento", esto
causaría duda en el usuario, sobre el significado de los mismos.
metodologías soportadas por la herramienta.
C
Atajos para usuarios frecuentes: a
Los usuarios casuales pueden considerar buena la interfaz, pero cuando un usuario frecuentemente
hace uso del diálogo, requerirá de herramientas para agilizar su trabajo; tales como el uso de
r
atajos mediante el teclado (shortcuts, accelerators o hot-keys). Recordemos que entre los objetivos g
de una buena interfaz están reducir el tiempo de respuesta y aumentar la productividad. a
o
descarga de datos, son facilidades que permiten cargar el repertorio de la herramienta CASE con
datos provenientes de otros sistemas, o bien generar a partir de la propia herramienta esquemas de
base de datos, programas, etc. que pueden, a su vez, alimentar otros sistemas. Este elemento
proporciona así un medio de comunicación con otras herramientas.
Comprobación de errores, facilidades que permiten llevar a cabo un análisis de la exactitud,
integridad y consistencia de los esquemas generados por la herramienta.
Interfaz de usuario, que constará de editores de texto y herramientas de diseño gráfico que
permitan, mediante la utilización de un sistema de ventanas, iconos y menús, con la ayuda del
ratón, definir los diagramas, matrices, etc. que incluyen las distintas metodologías.
Diseño de dialogos
Retroalimentación:
Toda acción del usuario, debe mostrar sus efectos; esto para evitar que el usuario dude de que
haya
ocurrido la acción. Esto se logra mediante mensajes, iconos, cambios en la figura que representa
el ratón, cambios en la pantalla, o sonido, entre otros métodos.
Por ejemplo, siempre debe haber un indicador de avance, un reloj de arena o algún elemento
similar, cuando se está realizando un proceso largo. De los dos elementos mencionados, será
mejor un indicador de avance, pues le da mayor información al usuario y da expectativas
apropiadas.
Diseño modular
La solución a un problema suele venir dada por un programa representado por un módulo
principal, el cual se descompone en subprogramas (submódulos), los cuales, a su vez, también se
pueden fraccionar, y así sucesivamente, es decir, el problema se resuelve de arriba hacia abajo. A
este método se le denomina diseño modular o descendente (top-down).