Prototipos De Alcance
carlosspliego19 de Mayo de 2013
517 Palabras (3 Páginas)379 Visitas
Introducción
Es importante conocer algunas definiciones de la arquitectura de software, ya que son herramientas fundamentales para el diseño de nuestros sistemas de software, la idea básica es obtener una visión amplia, completa y humana del software, como un producto tanto del conocimiento como de la intuición del diseñador de software.
Después de que se haya elegido la organización del sistema en su totalidad, es necesario decidir la aproximación a usar para descomponer los subsistemas en módulos. No existe una distinción rígida entre la organización del sistema y la descomposición modular. Sin embargo, los componentes de los módulos son normalmente más pequeños que en los subsistemas, lo cual permite usar estilos alternativos de descomposición.
Descomposición modular
La idea del diseño modular es dividir las partes del sistema en partes diferentes y definir sus ventajas. Las ventajas son claridad, reutilización y reducción de costos, para desarrollar la descomposición modular se siguen tres pasos:
• Identificar los módulos
• Describir cada modulo
• Describir las relaciones entre módulos
Una descomposición modular debe de contar con una serie de cualidades para que sea válido:
• Independencia funcional
• Acoplamiento
• Cohesión
• Compresibilidad
• 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. Es una medida de la interconexión entre módulos en la estructura del programa, pero por lo general se tiende a que el acoplamiento sea lo menor posible. El grado de acoplamiento mide la interrelación entre dos módulos. Hay tres tipos de acoplamiento según su conexión con los módulos.
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.
• Por etiqueta, en intercambio de datos se realiza mediante una referencia a la estructura completa de datos.
Débil
• De datos, viene dado por los datos que intercambian los módulos. Es el mejor.
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. Un módulo coherente es aquel que intenta realizar solamente una cosa.
Comprensión. Para facilitar los cambios, la reutilización, el mantenimiento de los módulos se necesita que estos sean comprensibles. Son algunas características:
• Identificación, el nombre debe de ser adecuado y descriptible.
• Documentación, todos los detalles de diseño e implementación.
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.
• Previsión, es necesario prever que aspectos del sistema pueden ser susceptibles 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
...