La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introduccion a UML Wilson Peláez Hernández

Presentaciones similares


Presentación del tema: "Introduccion a UML Wilson Peláez Hernández"— Transcripción de la presentación:

1 Introduccion a UML Wilson Peláez Hernández

2 LAS CLASES – DIAGRAMAS DE CLASES

3 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

4 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

5 Contenido Herencia Especificación múltiple Síntesis de notación
Clases parametrizadas Ejemplos Valores Enumerados Técnica común de modelado Lecturas recomendadas

6 Introduccion a UML 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 El modelado de un sistema implica identificar las cosas que son importantes, estas cosas son el vocabulario del sistema.

7 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

8 Introduccion a UML Qué es una Clase? 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

9 Metamodelo de una clase

10 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

11 Representación de una clase en UML

12 Representación de una clase en UML

13 Ejemplo representación Clases
Cliente Java::awt::Rectangule

14 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).

15 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. 

16 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.

17 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.

18 Ejemplo Cuenta {root} # 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}

19 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.

20 Definir las Clases Operaciones Atributos

21 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.

22 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

23 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

24 Elementos de un diagrama de Clases

25 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.

26 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)

27 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).

28 Cardinalidad

29 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.

30 Ejemplo asociaciones

31 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

32 Notación agregación

33 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

34 Notación Composición

35 Ejemplo Diferencia Agregación - Composición

36 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.

37 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

38 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)

39 Ejemplo: Herencia Especialización / Generalización

40 Ejemplo: Herencia Especialización / Generalización

41 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.

42 Síntesis notación para asociaciones

43 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.

44 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.

45 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.

46 Ejemplo

47 Ejemplo

48 Ejemplo 2 : Subsistemas

49 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.

50 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

51 Lecturas Recomendadas

52 LOS OBJETOS – DIAGRAMAS DE OBJETOS

53 Contenido Los Objetos Instancia de una clase
Representación UML de un objeto Ejemplo Diagramas de objetos Ejemplos Lecturas recomendadas Bibliografía

54 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

55 Objeto: instancia de clase

56 Representación de un Objeto en UML

57 Ejemplo objeto Libro LIBRO _titulo: Cien Años de Soledad
_autor: Gabriel García M _editorial: Oveja Negra _referencia: C234g _num ejemplar: 7 Los valores delos atributos en un momento dado representan el estado de un objeto DarTitulo() DarAutor() DarEditorial() DarReferencia() DarNumejemplar() ActualizarReferencia() Las operaciones son comunes a todos los objetos LIBROS y no se duplican

58 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.

59 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.

60 Ejemplo diagrama objetos

61 Ejemplo diagrama objetos

62 Lecturas Recomendadas

63 Bibliografia El Lenguaje Unificado de Modelado UML –G. Booch- J. Rumbauhugh – I Jacobson. UML Distilled Martin Fowler – Kendall Scott

64 Fin


Descargar ppt "Introduccion a UML Wilson Peláez Hernández"

Presentaciones similares


Anuncios Google