Saltar la navegación

UML

Que es UML?

  • UML (Unified Modeling Language) es un lenguaje gráfico que permite definir diseños de software, particularmente orientado a objetos
  • En lugar de palabras claves tiene conjuntos de elementos gráficos y símbolos
  • Como cualquier lenguaje UML tiene reglas sintácticas

 

En qué lo utilizaremos

  • Diseñar con diagramas de clases
    • Subclasificación
    • Definición de las interfaces de las clases (métodos, parámetros, etc)
    • Colaboraciones
    • Dependecias
  • Diagrama de secuencia 
    • Interacción entre instancias 
    •  Envío de mensajes
    • Respuesta en los envío de los mensajes.

 

Diagramas de Clase en UML

Definición de una clase:

En la imagen se ve la estructura de una clase, la cual es un rectángulo dividido en tres partes, la parte superior posee el nombre de la clase, en el medio se encuentran los atributos de la misma, y en la parte inferior están las operaciones

En la imagen hay dos diagrama que representan dos clase en lenguaje UML. Una clase UML se representa con un rectangulo, separado en tres secciones horizontales. En la primer seccion se indica el nombre de la clase, en la segunda seccion los atributos y en la tercer seccion las operaciones. En esta imagen, se expone como ejemplo la clase Empleado donde en la primer seccion se encuentra el nombre de la clase, en la segunda seccion los atributos nombre y apellido y en la tercer seccion las operaciones getNombre, new y setNombre.

  • Nombre
    • Por convención deben comenzar en mayúsculas
    • Es único en todo el diagrama, si se repite referencia a la misma entidad
  • Atributos
    • Representa a las variables de instancia que no son relaciones con otras clases
  • Operaciones
    • Es el protocolo, se indican los métodos y los parámetros que pueden recibir, también es posible indicar el tipo del retorno

Relaciones entre clases:

Herencia

En la parte superior hay una clase llamada Superclase y en la parte inferior una clase llamada subclase, están unidas  por una flecha que va desde la subclase hasta la superclase, la flecha tiene una punta con forma de triángulo blanca

En este diagrama UML queda expresada la herencia entre dos clases, unidas por una flecha. Esta fecha tiene su punta, representada por un triangulo sin relleno, señalando a la super clase y su base en la subclase que va a heredar el comportamiento.

  • La flecha indica subclasificación
  • No es necesario que la subclase se encuentre abajo 

Relaciones entre clases:

Asociación

UML-Orden-Emisor

Este diagrama de clases UML, muestra la relacion entre dos clases representada con una fecha .Esta flecha cuya punta se identifica con un angulo recto, señala a la clase que va a actuar como colaboradora de la clase que esta en la base de la fecha. La clase colaboradora tiene por nombre, en la primer seccion  Emisor, como atributos, en la segunda seccion, nombre, apellido, dni, cuit, direccion y fechaRegistro y como operaciones, en la tercer seccion, los metodos nombre, apellido, dni, cuit, direccion y fechaRegistro. La clase que va ser colaborada lleva a por nombre Orden, como atributos cantidadUnidades, precio y fechaIngreso y como operaciones newOrden, precio, emisor, cantidadUnidades, fechaIngreso, validoParaEstePrecio, marchingConParaPrecio, precioUnitario. Sobre la fecha que describe la relacion entre la clase Orden y la clase Emisor, se escribe el nombre que lleva esta relacion que en este caso es: emisor. Sobre la punta y las base de la fecha se deja reflejado la cardinalidad, en este caso, sobre la base de fecha con un asterisco y sobre la punta con un numero uno.

  • Indica el rol en la relación (ej: emisor)
  • Tiene navegabilidad (dirección de la flecha)
  • Tiene cardinalidad (ej: *, 1)
  • Se lee: una orden posee solamente un emisor

En la imagen se ve la clase Orden y Orden de venta, Orden de venta es subclase de Orden, y orden esta asociada a la clase Emisor

En este diagrama, se refleja, al igual que en la imagen anterior, la realcion entre la misma clase Orden y la clase Emisor, con los mismos atributos y las mismas operaciones. Ademas, se agrega una clase llamada OrdenDeVenta que hereda de la clase Orden, utilizando la nomenclatura indicada en la seccion de herencia. Esta clase OrdenDeVenta tiene como atributos: fechaDisponibilidad y fechaDePago y como operaciones newOrdenDeVenta, validoParaEstePrecio, matchingConParaPrecio