OOAD - Diagramas estructurados UML
Los diagramas estructurales de UML se clasifican de la siguiente manera: diagrama de clases, diagrama de objetos, diagrama de componentes y diagrama de implementación.
Diagrama de clase
Un diagrama de clases modela la vista estática de un sistema. Consta de las clases, interfaces y colaboraciones de un sistema; y las relaciones entre ellos.
Diagrama de clases de un sistema
Consideremos un sistema bancario simplificado.
Un banco tiene muchas sucursales. En cada zona, una sucursal se designa como la oficina central zonal que supervisa las otras sucursales en esa zona. Cada sucursal puede tener múltiples cuentas y préstamos. Una cuenta puede ser una cuenta de ahorros o una cuenta corriente. Un cliente puede abrir tanto una cuenta de ahorros como una cuenta corriente. Sin embargo, un cliente no debe tener más de una cuenta de ahorros o cuenta corriente. Un cliente también puede obtener préstamos del banco.
La siguiente figura muestra el diagrama de clases correspondiente.
Clases en el sistema
Banco, Sucursal, Cuenta, Cuenta de Ahorros, Cuenta Corriente, Préstamo y Cliente.
Relaciones
A Bank “has–a” number of Branches - composición, uno a varios
A Branch with role Zonal Head Office supervises other Branches - asociación unaria, uno a varios
A Branch “has–a” number of accounts - agregación, uno a varios
De la clase Cuenta, se han heredado dos clases, a saber, Cuenta de ahorros y Cuenta corriente.
A Customer can have one Current Account - asociación, uno a uno
A Customer can have one Savings Account - asociación, uno a uno
A Branch “has–a” number of Loans - agregación, uno a varios
A Customer can take many loans - asociación, uno a varios
Diagrama de objeto
Un diagrama de objetos modela un grupo de objetos y sus vínculos en un momento determinado. Muestra las instancias de las cosas en un diagrama de clases. El diagrama de objetos es la parte estática de un diagrama de interacción.
Example - La siguiente figura muestra un diagrama de objetos de una parte del diagrama de clases del Sistema Bancario.
Diagrama de componentes
Los diagramas de componentes muestran la organización y las dependencias entre un grupo de componentes.
Los diagramas de componentes se componen de:
- Components
- Interfaces
- Relationships
- Paquetes y subsistemas (opcional)
Los diagramas de componentes se utilizan para:
Construcción de sistemas mediante ingeniería directa e inversa.
modelado de la gestión de la configuración de los archivos de código fuente mientras se desarrolla un sistema utilizando un lenguaje de programación orientado a objetos.
representar esquemas en bases de datos de modelado.
modelado de comportamientos de sistemas dinámicos.
Example
La siguiente figura muestra un diagrama de componentes para modelar el código fuente de un sistema desarrollado con C ++. Muestra cuatro archivos de código fuente, a saber, myheader.h, otherheader.h, priority.cpp y other.cpp. Se muestran dos versiones de myheader.h, desde la versión reciente hasta su ancestro. El archivo priority.cpp depende de la compilación de other.cpp. El archivo other.cpp depende de la compilación de otherheader.h.
Diagrama de implementación
Un diagrama de implementación enfatiza la configuración de los nodos de procesamiento en tiempo de ejecución y sus componentes que viven en ellos. Por lo general, se componen de nodos y dependencias o asociaciones entre los nodos.
Los diagramas de implementación se utilizan para:
modelar dispositivos en sistemas integrados que normalmente forman parte de una colección de hardware intensiva en software.
representar las topologías de los sistemas cliente / servidor.
modelar sistemas totalmente distribuidos.
Example
La siguiente figura muestra la topología de un sistema informático que sigue la arquitectura cliente / servidor. La figura ilustra un nodo estereotipado como servidor que se compone de procesadores. La figura indica que cuatro o más servidores están implementados en el sistema. Conectados al servidor están los nodos de cliente, donde cada nodo representa un dispositivo terminal como una estación de trabajo, computadora portátil, escáner o impresora. Los nodos se representan mediante iconos que describen claramente el equivalente del mundo real.