Modelos del diseño arquitectónico
Los modelos estructurales representan la arquitectura como una colección organizada de componentes de programa.
Los modelos del marco de trabajo aumentan el nivel de abstracción del diseño en un intento de identificar los marcos de trabajo (patrones) repetibles del diseño arquitectónico que se encuentran en tipos similares de aplicaciones.
Los modelos dinámicos tratan los aspectos de comportamiento de la arquitectura del programa, indicando cómo puede cambiar la estructura o la configuración del sistema en función de los acontecimientos externos.
Los modelos de proceso se centran en el diseño del proceso técnico de negocios que tiene que adaptar el sistema.
Los modelos funcionales se pueden utilizar para representar la jerarquía funcional de un sistema.
Jerarquía de control
Representa la organización de los componentes de programa (módulos) e implica una jerarquía de control. No representa los aspectos procedimentales del software.
División estructural
La estructura de datos
Es una representación de la relación lógica entre elementos individuales de datos. Como la estructura de la información afectará invariablemente al diseño procedimental final, la estructura de datos es tan importante como la estructura de programa para la representación de la arquitectura del software.
La estructura de programa
La estructura de programa define la jerarquía de control sin tener en consideración la secuencia de proceso de decisiones. El procedimiento de software se centra en el procesamiento de cada módulo individualmente.
El procedimiento debe proporcionar una especificación precisa de procesamiento, incluyendo la secuencia de sucesos, los puntos de decisión exactos, las operaciones repetitivas e incluso la estructura/organización de datos.
Ocultación de información
En otras palabras, los módulos deberán especificarse y diseñarse de manera que la información (procedimiento y datos) que está dentro de un módulo sea inaccesible a otros módulos que no necesiten esa información.
Diseño modular efectivo
Independencia funcional
Diseñar el software de manera que cada módulo trate una subfunción de requisitos y tenga una interfaz sencilla cuando se observa desde otras partes de la estructura del programa.
Los módulos independientes son más fáciles de mantener (y probar) porque se limitan los efectos secundarios originados por modificaciones de diseño/código; porque se reduce la propagación de errores; y porque es posible utilizar módulos usables
Independencia funcional
La independencia se mide mediante dos criterios cualitativos: la cohesión y el acoplamiento.
La cohesión es una medida de la fuerza relativa funcional de un módulo. la cohesión es una indicación cualitativa del grado que tiene un módulo para centrarse en una sola cosa. Un módulo cohesivo deberá (idealmente) hacer una sola cosa.
cohesión
Los niveles moderados de cohesión están relativamente cerca unos de otros en la escala de independencia modular. Cuando los elementos de procesamiento de un módulo están relacionados, y deben ejecutarse en un orden específico, existe cohesión procedimental.
Cuando todos los elementos de procesamiento se centran en un área de una estructura de datos, tenemos presente una cohesión de comunicación.
Una cohesión alta se caracteriza por un módulo que realiza una única tarea.
acoplamiento
El acoplamiento es una medida de la independencia relativa entre los módulos.
El acoplamiento es una medida de interconexión entre módulos dentro de una estructura de software. El acoplamiento depende de la complejidad de interconexión entre los módulos, el punto donde se realiza una entrada o referencia a un módulo, y los datos que pasan a través de la interfaz.
En el diseño del software, intentamos conseguir el acoplamiento más bajo posible. Una conectividad sencilla entre los módulos da como resultado un software más fácil de entender y menos propenso a tener un «efecto ola» [STE75] causado cuando ocurren errores en un lugar y se propagan por el sistema.
Tipos de acoplamiento
Tarea
Leer Heuristica para el diseño de una modularidad efectiva. Numeral 13.6 del libro Rogger Pressman, 5 edición.
Página anterior | Volver al principio del trabajo | Página siguiente |