Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Programación Orientada a Objetos Diseño e implementación de clases en UML Paradigmas y Lenguajes Dpto Informática, FCE, Universidad Nacional de Salta Ismael Orozco {ciorozco.unsa@gmail.com} UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Outline 1 UML: Lenguaje Unificado de Modelado 2 Diagrama de clases 3 Ejercicio UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio UML I Definición: UML es un lenguaje de propósito general que ayuda a especificar, visualizar y documentar modelos de sistemas software, incluido su estructura y diseño, de tal forma que se unifiquen todos sus requerimietos. I Objetivo: Estandarizar el modelado de sistema software. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Elementos UML I Elementos estructurales Partes estáticas del modelo. Representan elementos conceptuales, f́ısicos o materiales. Clases, objetos, interfaces, casos de uso, actor, etc. I Elementos de comportamiento Describen el funcionamiento de un sistema. Interacciones, máquinas de estado. I Elementos de agrupación Permiten agrupar otros elementos del modelo. Componentes, paquetes, nodos. I Elementos de anotación Sirven para realizar anotaciones extra. Notas. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Diagramas UML I Diagramas estructurales Diagrama de casos de uso Diagrama de clases Diagrama de objetos I Diagramas de comportamiento Diagrama de estados Diagrama de actividad I Diagramas de interacción Diagrama de secuencia Diagrama de colaboración I Diagramas de implementación Diagrama de componentes Diagrama de despliegue/distribución UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Elementos estructurales: Clases I Una clase es una definición de un modelo abstracto de datos, que incluye todos los atributos y métodos del elemento a modelar. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Elementos de anotación I Nota: Sirve para anotar comentarios en los modelos con la finalidad de describir, clarificar y hacer observaciones UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Outline 1 UML: Lenguaje Unificado de Modelado 2 Diagrama de clases Encapsulamiento Herencia Polimorfismo Asociación 3 Ejercicio UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Diagrama de clases I Describe la definición de cada uno de los posibles objetos pertenecientes al sistema. I Muestra las clases del sistema, sus atributos, métodos, y las relaciones entre los objetos. I Diagrama cercano a la implementación. Construido y refinado a través del desarrollo. I Desarrollado por analistas, diseñadores y desarrolladores. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Encapsulamiento Encapsulamiento I ¿Qué es el encapsulamiento? I Ocultamiento de datos de un objeto de tal forma que solo sean accesibles mediante los métodos definidos por el propio objeto. I Ventajas: Se protegen los datos privados del objeto de lecturas y escrituras no permitidas. Permite una mejor estructuración y manipulación de los datos. I En UML, los niveles de encapsulamiento vienen heredados de C++ - Privado: Atributo o proceso totalmente invisible. # Protegido: Visibles para las clases amigas o para clases derivadas de la original. + Publico: Visibles a otras clases. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Herencia Herencia I Las subclases heredan propiedades de sus clases padre, esto es, los atributos, métodos y asociaciones de la clase padre están disponibles en sus clases hijos. I La herencia se expresa mediante una flecha hueca. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Polimorfismo Polimorfismo UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Asociación Asociación I Las asociación expresa una conexión entre clases, esto es, que existe algún tipo de relación entre ambos. I Se representa mediante una ĺınea que une ambas clases. Se puede indicar el tipo de asociación y el sentido de la misma (navegavilidad). I Se indica la multiplicidad de cada clase, que representa con cuantos objetos de la clase unida por la asociación se pueden relacionar un objeto determinado. 1 0..1 ∗ 1..∗ I La multiplicidad ≥ 1 establece una restricción de existencia. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Asociación Asociación especial: Agregación I Una clase puede estar relacionada por un conjunto de clases que la representan y, sin las cuales, no tenga sentido. I A esta relación se la llama Agregación o Composición débil y se representa mediante un rombo blanco. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Asociación Ejemplo de agregación I Una computadora posee, como ḿınimo los siguientes elementos: 1 CPU 1 Teclado 1 Monitor 1 Mouse I Un CPU se compone por: 1 o varias unidades de disco rigido Varios módulos de memoria RAM 1 tarjeta gráfica UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Asociación Diagrama de clase: Ejemplo agregación UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Asociación Asociación especial: Composición I La Composición o Composición fuerte es una relación entre clases similar a la agregación, pero en la que las clases que componen a la principal no tiene sentido sin dicha clase principal. I Se representa mediante un rectángulo de color negro. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Outline 1 UML: Lenguaje Unificado de Modelado 2 Diagrama de clases 3 Ejercicio UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Ejercicios Para el siguiente caso de estudio: 1 Modele el problema utilizando Diagrama de clases. 2 Implemente en Java el modelo propuesto. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Caso de Estudio 1: Gimnasio Se desea realizar una aplicación para gestionar los socios y cursos de un gimnasio. I Para cada socio del gimnasio se almacena su nombre y DNI. Existen tres tipos de socios: Jubilado, Normal e Infante. La cuota mensual básica es de $800, $1000 y $500 respectivamente. Pagando esta cuota se tiene derecho a disfrutar de las instalaciones del gimnasio y piscina. I Además, el gimnasio ofrece una amplia oferta de cursos a los que los socios se pueden inscribir. Todo curso tiene un código, nombre, una descripción, un cupo máximo permitido de alumnos y un precio mensual. I La cuota mensual que debe abonar un socio se calcula del siguiente modo: Suma de la cuota mensual básica más el precio de todos los cursos en el que se encuentra inscripto el socio. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Caso de Estudio 1: Gimnasio A los jubilados se les aplica un descuento del 20% sobre la cuota mensual total. Los socios infantiles pueden estar asociados a un socio adulto (Siempre que éste socio sea un socio normal), en cuyo caso, se le aplica un 15% de descuento sobre la cuota total. UML: Lenguaje Unificado de Modelado Diagrama de clases Ejercicio Bibliograf́ıa M. Fowler & K. Scott (1999). UML Gota a Gota. 5th ed. ISBN: 968-444–364- 1. UML: Lenguaje Unificado de Modelado Diagrama de clases Encapsulamiento Herencia Polimorfismo Asociación Ejercicio
Compartir