Definición Elementos Relaciones Descomposition Style Se utiliza para descomponer un sistema en unidades de implementación (módulos). Describe la organización del código en módulos y submódulos y muestra como las responsabilidades están distribuidas. Módulo Uses Style Descomposición (is-part-of) Restricciones - No ciclos - Un módulo debe tener un único padre. Para qué - Razonar y comunicar la estructura en trozos “digeribles” - Para tener una entrada para la asignación de trabajos en los equipos. - Para razonar acerca de la localización de los cambios Generalization Style Se utiliza para soportar extensión y evolución de la arquitectura y sus elementos individuales. Layered Style Aspects Style Data Model Style Agrupa conjuntos de módulos que ofrecen un conjunto de servicios cohesivos con una relación unidireccional entre ellos “puede-usar” Muestra módulos de aspectos que implementan áreas transversales. Muestra módulos que describen la estructura de las entidades de datos y sus relaciones Módulo Módulo Layer, la descripción de una capa debe definir qué módulos contiene dicha capa. Usar (dependson) Generalización (is-a). (herencia) “puede usar”, especialización de la relación “depende-de” Se utiliza para mostrar cómo los módulos dependen unos de otros, útil para planificar el desarrollo y mantenimiento. - No restricciones - Un módulo puede - Cada módulo topológicas. tener múltiples pertenece a una capa. - Respetar algunos padres. - Al menos hay dos principios de - No se permiten capas. caldiad (ciclos, ciclos - Una capa inferior fan-out) nunca “puede-usar” a una capa superior - Para planificar - Expresar - Promover la desarrollos herencia. cambiabilidad y incrementales y - Describir portabilidad. subconjuntos. incrementalmente - Lidiar con la - Para debugging la evolución y la complejidad y facilitar y testing extensión. la comunicación de la - Para controlar - Capturar estructura los efectos de comunalidades y - Promover la los cambios variaciones. reutilización - Soportar la - Conseguir separación reutilización de áreas Aspecto, módulo Entidad de datos que representa especializado que un objeto que guarda contiene la información que debe ser implementación de un almacenada persistentemente área transversal “crosscuts”, vincula un Uno-uno, Uno-Muchos, módulo de aspecto a Generalización/Especificación, un módulo que se vera Agregación. afectado por la lógica transversal. - Un aspecto puede - Evitar dependencias funcionales. cruzar uno o más módulos. - Un aspecto que se cruza a sí mismo puede causar recursión infinita - Modelar áreas - Describir la estructura de los transversales. datos del sistema. - Favorecer la - Analizar el impacto de los modificabilidad. cambios en el modelo de datos - Reforzar la calidad de los datos.