UML
Introducción a UML Unified Modeling Language (UML) Lenguaje estándar para el modelado de sistemas de software Definido por Rational Corp. y actualmente propiedad del Object Management Group (OMG) Es extensible y adaptable. Útil para: Visualizar Especificar y documentar Mapeable con las construcciones de los lenguajes de programación
UML UML es un lenguaje para especificar, construir, visualizar y documentar los artefactos de un sistema de software OO El modelado permite abstraer la realidad para eliminar los detalles innecesarios en el proceso de entendimiento de la misma
UML Debe ser capaz de modelar no solo sistemas de software sino otro tipo de sistemas reales de la empresa, siempre utilizando conceptos de la orientación a objetos Crear un lenguaje para modelado utilizable a la vez por máquina y humanos Establecer un acoplamiento específico entre los conceptos y los artefactos Manejar los problemas típicos de los sistemas complejos de misión crítica
Clases en UML Representación de clases en UML + public private # protected Métodos y atributos de clase en subrayado
Asociación Los atributos pueden ser también clase, en el diagrama se dibuja una línea entre las clase. No se pone flecha por que tiene ambos sentidos
Asociación En este ejemplo se dice una empresa tiene mucho empleados y un empleado trabaja en una sola empresa Se leen las multiplicidades: siempre se comienza a partir de un objeto de una clase y se mira solo la multiplicidad en el extremo opuesto para saber cuantos de esos objetos podrá asociarse
Asociación Se hace evidente la necesidad de utilizar roles en los extremos de la asociación. En este ejemplo es uno claro
Multiplicidad Multiplicidad Significado 1 Mínimo 1 y máximo 1 0..1 Cero o uno 3..5 Entre 3 a 5 3,5,7 Tres, cinco o siete * Cualquier cantidad (desde cero a mucho) 1..* Uno a mucho
Agregación La agregación es una relación entre 2 clases en la que una forma parte de la otra
Agregación Este es una agregación exclusiva, significa que cada «parte» solo puede pertenece a un solo «todo»
Generalización
Package (Paquete) Son elementos de la notación que permiten particionar lógicamente el sistema. Son agrupaciones lógicas de elementos fuertemente relacionados pero con poco acoplamiento con elementos de otros paquete. Dentro de un paquete se pueden agrupar, clases, paquetes, colaboraciones, y/o casos de uso.
Package (paquete) UML