Upload
inocencio-cabello
View
8
Download
0
Embed Size (px)
Citation preview
1
UMLUMLUMLUML
Wilson Peláez HernándezWilson Peláez Hernández
2
LAS CLASES – LAS CLASES – DIAGRAMAS DE DIAGRAMAS DE
CLASESCLASES
3UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Contenido
Introducción Qué es una clase Metamodelo de una clase Representación de una clase Ejemplos representación Utilidad de la presentación Atributos Operaciones Otras características Clases y requisitos
4UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Contenido
Diagramas de clase Elementos de un diagrama de clases Perspectivas de los diagramas de clases Tipos de diagramas Cardinalidad Asociación Agragación Composición Diferencia entre agregación y composición Dependencia
5UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Contenido
Herencia Especificación múltiple Síntesis de notación Clases parametrizadas Ejemplos Valores Enumerados Técnica común de modelado Lecturas recomendadas
6UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Introducción
Son los bloques de construcción mas importantes de cualquier sistema orientado a objetos
Se utilizan para capturar el vocabulario del sistema que se esta desarrollando.
Muchos lenguajes de programación soportan directamente el concepto de clases
7UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Qué es una Clase?
Una clase es una abstracción de las cosas que forman parte de un sistema.
Representa un conjunto de entidades que tienen propiedades comunes.
Define la estructura y comportamiento de una colección de objetos
8UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Una Clase representa a un tipo de objetos que comparten: Las mismas propiedades (Atributos) El mismo comportamiento (Métodos) Las mismas responsabilidades Las mismas relaciones con otros objetos
(asociaciones y agregaciones) La misma semántica dentro del sistema
Qué es una Clase?
9UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Metamodelo de una clase
10UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Representación de una clase en UML
En UML la clase está representada por un rectángulo con tres divisiones internas, son los elementos fundamentales del diagrama.
Cada clase debe tener un nombre que la distinga de las demás.
El nombre debe ser un sustantivo en singular
11UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Representación de una clase en UML
12UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Representación de una clase en UML
13UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo representación Clases
Cliente Java::awt::Rectangule
14UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Utilidad de la representacion de clase
Muestran los atributos y operaciones de una clase y las restricciones a que se ven sujetos, según las forma en que se conecten los objetos.
Ilustra los requerimientos funcionales del sistema (los servicios que proporcionará a los usuarios finales).
15UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Atributos
Atributo: Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado.
Las sintaxis de una atributo es: Visibilidad <nombre>: tipo = valor
incial { propiedades} Donde visibilidad es uno de los siguientes:
+ público. # protegido. - privado.
16UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Operaciones
Operación: El conjunto de operaciones que describen el comportamiento de los objetos de una clase.
La sintaxis de una operación en UML es: Visibilidad nombre (lista de parámetros): tipo
que retorna { propiedades}
En las operaciones se puede indicar si los parámetros son de entrada, salida o entrada/salida.
17UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Otras Características
Alcance : Específica si la característica es una instancia de clase o una instancia de objetos. (Subraya la instancia de clase).
Elemento abstracto: No existe objetos tangible ( su nombre esta en CURSIVA o explicito “abstract”)
Clase sin hijos (usa la palabra {leaf} ) Multiplicidad: Número de instancias que puede
tener una clase.
18UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo
# Titular: String # Número:Long { frozen} - Saldo:Double = 0.0 - CantidadCuentas:Int= 0
Cuenta{root}
+ Constructor + Titular() : String + Número(): Long + Saldo : Double + Consigne(Double valor):Double + Retire (Double valor): void + numeroCuentas :Int {leaf}
19UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Clases y requisitos
Las clases de un modelo conceptual representarán conceptos relevantes del dominio del problema sobre los que el sistema debe almacenar información, porque así se ha especificado en uno o más requisitos.
Toda clase de un modelo conceptual debe estar trazada hacia aquellos requisitos que la justifican, normalmente requisitos de información, reglas del negocio.
Un requisito puede estar modelado por varias clases, o una clase modelar varios requisitos a la vez.
20UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Definir las Clases
Atributos
Operaciones
21UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Diagramas de Clases
Los diagramas de clases han llegado a ser realmente la parte central dentro de los métodos orientados a objeto.
Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema.
22UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Diagramas de Clase
Nivel conceptual Se cuenta con un diagrama que representa los
conceptos del dominio Nivel de especificación
Se conocen las interfaces del software. No se pueden conocer las estructuras de datos de las clases.
Nivel de implementación En este nivel se especifican las estructuras
que forman las clases especificadas en el nivel anterior
23UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Conceptos Diagrama de Clases
Muestra de una manera estática la estructura de información del sistema y la visibilidad que tiene cada una de las clases, dada por sus relaciones con los demás en el modelo.
Contenido Básico: Clases (Atributos-Operaciones) Relaciones (Dependencia-Asociación- Generalización)
Contenido con mas detalles Interfaces Colaboraciones
24UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Elementos de un diagrama de Clases
25UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Perspectivas
Hay tres perspectivas que se pueden usar en los diagramas de clase: Conceptual. Obtendrá un diagrama que
representa los conceptos del dominio bajo estudio (Vocabulario)
Especificación. Ahora vemos el software, pero vemos las interfaces del software, no la implementación.
Implementación. En esta vista, nosotros realmente tenemos clases y ponemos la implementación real.
26UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Tipos de Diagramas
Solo las relaciones (multiplicidad)
Solo un aspecto del sistema (subsistemas)
Herencia – Composición - Agregación
Detallado (Clases –atributos-operaciones- Relaciones, multiplicidad, roles, notas)
27UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Cardinalidad
En UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas pueden ser: uno o muchos: 1..* (1..n) 0 o muchos: 0..* (0..n) número fijo: m (m denota el número).
28UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Cardinalidad
29UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Asociación
La relación entre clases conocida como Asociación, permite ligar objetos que colaboran entre si.
Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.
30UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo asociaciones
31UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Agregación
Asociación que representa una relacion TODO – PARTE
Se caracteriza por las siguientes propiedades: Una parte puede pertenecer a varios
agregados Una parte puede existir independientemente
del agregado Una parte puede cambiar de agregado La eliminación del agregado NO implica la
eliminación de las partes Es una relación transitiva y antisimétrica
32UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Notación agregación
33UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Composición
Agregación “fuerete”, donde se deben cumplir las siguientes caracterizticas:
Una parte sólo puede pertenecer a un agregado a la vez
La eliminación del agregado implica la eliminación de las partes. Agregación en que las partes nacen y mueren con el todo
34UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Notación Composición
35UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo Diferencia Agregación - Composición
36UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo agregación - composición
Un almacén posee cuentas y clientes.
Cuando se destruye el objeto almacén, tambien desaparecen los objetos cuentas asociados, mientras los objetos clientes no.
37UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Dependencia
Representa un tipo de relación muy particular, en la que una clase es instanciada.
El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra
38UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Herencia:(Especialización /Generalización)
Indica que una subclase hereda los métodos y atributos especificados por una súper clase.
La subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la súper clase (public y protected).
A la herencia se le conoce como una relacion ES-UN (ES – UNA)
39UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo: Herencia Especialización / Generalización
40UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo: Herencia Especialización / Generalización
41UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Clasificación multiple
Un conjunto de objetos puede clasificarse por diferentes criterios y un mismo objeto puede clasificarse como una especialización de varias clases.
42UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Síntesis notación para asociaciones
43UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Restricciones sobre asociaciones
Ordenación:Indica que en el conjunto de objetos asociados existe una relación de orden y que forman una secuencia ordenada.
Exclusividad:Indica que las instancias de la clase deben participar en una sóla asociación ala vez.
44UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Restricciones sobre asociaciones
Navegabilidad: Una flecha en el extremo de una asociación indica que solo es navegable en ese sentido.
Por defecto una asociación es navegable en ambos sentidos.
45UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Clases parametrizadas
Clases “genéricas” que reciben parametros. Una clase parametrizada se denota con un
subcuadro en el extremo superior de la clase, en donde se especifican los parámetros que deben ser pasados.
Ejemplo
47UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo
48UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo 2 : Subsistemas
49UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Valores enumerados
Los valores enumerados permiten modelar tipos de datos simples, que sólo pueden tomar valores dentro un rango o conjunto de datos.
Los atributos de las clases pueden tener como tipo una enumeración.
50UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Técnica común de modelado Revise el enunciado del problema, casos de uso
y escenarios para identificar sustantivos. Cree una lista de cantidatos. Incluya objetos
físicos y conceptos. Revise los sustantivos para ver si tienen
relevancia con el problema, así como para ver si están en contexto.
Elimine los sustantivos innecesarios. Una vez obtenidas las clases candidatas vea
como se relacionan entre sí (tipos de enlaces, roles, multiplicidad). Defina relaciones avanzadas como agregación o herencia
51UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Lecturas Recomendadas
52
LOS OBJETOS – LOS OBJETOS – DIAGRAMAS DE DIAGRAMAS DE
OBJETOSOBJETOS
53UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Contenido
Los Objetos Instancia de una clase Representación UML de un objeto Ejemplo Diagramas de objetos Ejemplos Lecturas recomendadas Bibliografía
54UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Los objetos
Un objeto representa una identidad del mundo real o inventada.
Es un concepto o una abstracción, que dispone de unos límites bien definidos, y tiene una significancia para el sistema que se pretende modelar.
Un objetos es una instancia de clase Los objetos tienen un estado y un ciclo de vida. Primero debemos crear una clase antes de poder
crear objetos o ejemplares de esa clase
55UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Objeto: instancia de clase
56UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Representación de un Objeto en UML
57UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo objeto Libro
LIBRO_titulo: Cien Años de Soledad
_autor: Gabriel García M
_editorial: Oveja Negra
_referencia: C234g
_num ejemplar: 7
DarTitulo()
DarAutor()
DarEditorial()
DarReferencia()
DarNumejemplar()
ActualizarReferencia()
Las operaciones son comunes a todos los objetos LIBROS y no se duplican
Los valores delos atributos en un momento dado representan el estado de un objeto
58UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Diagramas de objetos
Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases.
Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto.
Los diagramas de objetos se emplean para modelar la vista de diseño estática o la vista de procesos estática de un sistema al igual que se hace con los diagramas de clases, pero desde la perspectiva de instancias reales o prototípicas.
59UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Diagramas de objetos
Un diagrama de objetos representa una escena estática dentro de la historia representada por un diagrama de interacción.
Los diagramas de objetos se utilizan para visualizar, especificar, construir y documentar la existencia de ciertas instancias en el sistema, junto a las relaciones entre ellas.
60UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo diagrama objetos
61UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Ejemplo diagrama objetos
62UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Lecturas Recomendadas
63UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
Bibliografia
El Lenguaje Unificado de Modelado UML –G. Booch- J. Rumbauhugh – I Jacobson.
UML Distilled Martin Fowler – Kendall Scott
www.vico.org, http://www.creangel.com/uml/diagramas.php
64UML –Clases – Objetos Diagramas
Wilson Peláez Hernández
FinFin