56
Curso de UML Actividad 4 Diagramas de Clases, de objetos y de Estructura compuesta Dra. Anaisa Hernández González

actividad4 diagrama de clases, objetos y estructura compuesta

Embed Size (px)

Citation preview

Page 1: actividad4 diagrama de clases, objetos y estructura compuesta

Curso de UML

Actividad 4 Diagramas de Clases, de objetos y de Estructura compuesta

Dra. Anaisa Hernández González

Page 2: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de clases

Page 3: actividad4 diagrama de clases, objetos y estructura compuesta

¿Qué es un Diagrama de clases?

Modela los conceptos del dominio de la aplicación, así como los conceptos internos generados como parte de la implementación de la aplicación. Es un paso esencial en el análisis OO.

Es una colección de elementos declarativos del modelo (clases y sus relaciones), conectados como un grafo.

Page 4: actividad4 diagrama de clases, objetos y estructura compuesta

Un diagrama de clases es una colección estática de los

elementos declaratorios del modelo, como clases, tipos y sus

relaciones, conectados unos a otros y a sus contenidos.

Diagrama de clases

Page 5: actividad4 diagrama de clases, objetos y estructura compuesta

• Definición: Descriptor para un juego de datos con estructura, conducta, y relaciones similares. [UML]

Ventana<<estereotipo>>

{abstracta}

+tamaño: TTamaño#visibilidad: boleano = v

+presentar()+ocultar()-conectar()

Nombre

Estereotipo

Atributos

Operaciones

Definición de abstracta

Visibilidad

Clases

Ícono estereotipo

Page 6: actividad4 diagrama de clases, objetos y estructura compuesta

• Sintaxis:– visibilidad nombre: tipo = valor_inicial

{cadena de propiedades}

• Visibilidad:– + pública– # protegida– - privada

Ventana<<estereotipo>>

{abstracta}

+tamaño: TTamaño#visibilidad: boleano = v

+presentar()+ocultar()-conectar()

Atributos de las Clases

• Definición: Identifican las características propias de cada clase. Son de tipos simples.

Page 7: actividad4 diagrama de clases, objetos y estructura compuesta

Operaciones de las Clases

• Sintaxis:– visibilidad nombre(lista_parametros) :

expresion_tipo_retorno {cadena de propiedades}

• lista_parametros: una lista separada por comas de parámetros formales

Ventana<<estereotipo>>

{abstracta}

+tamaño: TTamaño#visibilidad: boleano = v

+presentar()+ocultar()-conectar()

• Definición: El conjunto de operaciones describen el comportamiento de los objetos de una clase.

Page 8: actividad4 diagrama de clases, objetos y estructura compuesta

• Invariantes: Siempre es cierta

Se definen sobre los atributos

Restricciones de las clases

Estudiante

Nombre: stringDNI: stringSexo: charTotal de asignaturas matrículadas: integer

Actualizar asignaturas matrículadas (Cantidad: string)

DNI Not Empty()

Page 9: actividad4 diagrama de clases, objetos y estructura compuesta

• Pre/Postcondiciones: Se definen sobre los métodos. Se chequean antes/después de que se ejecute. Se usan para validar entradas/Muestra cómo deben quedar los atributos después de ejecutarse el método.

Restricciones de las clases

EstudianteNombre: stringDNI: stringSexo: charTotal de asignaturas matriculadas: integerActualizar asignaturas matriculadas (Cantidad: integer)

Actualizar asignaturas matriculadas (cantidad:integer)Pre: Total de asignaturas matriculadas >= 0

Post: Total de asignaturas matriculadas <=0

Page 10: actividad4 diagrama de clases, objetos y estructura compuesta

Modelo de objetos del negocio

Page 11: actividad4 diagrama de clases, objetos y estructura compuesta

Modelo de objetos del negocio

• El modelo de objetos del negocio identifica todos los “ROLES” y “COSAS” en el negocio, los cuales son representados como clases en la Vista Lógica.

• Existen dos tipos diferentes de clases en el modelo de negocio:

Page 12: actividad4 diagrama de clases, objetos y estructura compuesta

¿de dónde salen las clases?

Page 13: actividad4 diagrama de clases, objetos y estructura compuesta

Modelo de objetos del negocio

Jefe de obra Económico

Proyecto

Evalúa económicamenteEvalúa técnicamente, aprueba/rechaza

Page 14: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de clases del análisis

Page 15: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de clases del análisis

1. Clases

2. Atributos3. Relaciones entre las clases

• Asociaciones• Agregación/Composición• Generalización/Especialización• Tipos asociativos

Page 16: actividad4 diagrama de clases, objetos y estructura compuesta

Clases del análisis

• Se centran en los requisitos funcionales.• Es más evidente en el contexto del

dominio del problema porque representa conceptos y relaciones del dominio.

• Tiene atributos reconocibles en el dominio.• Estereotipos en clases: • Interfaz

• Control• Entidad

Esta clasificación da robustez al modelo porque los cambios al modelo tienden a afectar a un área

en específico

Page 17: actividad4 diagrama de clases, objetos y estructura compuesta

Clases de Interfaz

Modelan la interacción entre el sistema y sus actores

CI_Aprobar/Rechazar proyecto

Page 18: actividad4 diagrama de clases, objetos y estructura compuesta

Clases de interfazEjemplo

Económico

Evaluar un proyecto económicamente

Evaluar un proyecto técnicamente

Jefe de obra

Aprobar/rechazar proyecto

Page 19: actividad4 diagrama de clases, objetos y estructura compuesta

Clases de interfazEjemplo

CI-Aceptar/Rechazar Proyecto

Jefe de obra

Evaluar técnicamente

Económico

Evaluar económicamente

Page 20: actividad4 diagrama de clases, objetos y estructura compuesta

Clases de Entidad

•Modelan información que posee una vida larga y que es a menudo persistente.

•Modelan la información y el comportamiento asociado de algún fenómeno o concepto, como una persona, un objeto del mundo real o un suceso del mundo real.

Proyecto

Page 21: actividad4 diagrama de clases, objetos y estructura compuesta

Clases de control

Coordinan la realización de uno o unos pocos CU, coordinando las actividades de los objetos que

implementan la funcionalidad del CU:

CC-Aceptar/Rechazar proyecto

• Definen el flujo de control y transacciones dentro de un CU.

• Delegan trabajo a otros objetos.

EN PRINCIPIO, SE DEFINE UNA CLASE DE CONTROL POR CU

Page 22: actividad4 diagrama de clases, objetos y estructura compuesta

Clases de controlEjemplo

Aceptar/Rechazar proyecto

CC-Evaluar proyecto económicamente

CC-Evaluar proyecto técnicamente

Aceptar/Rechazar un proyectoEvaluar económicamente un proyecto

Evaluar técnicamente un proyecto

Page 23: actividad4 diagrama de clases, objetos y estructura compuesta

Patrón Controlador

Niveles de abstracción

Page 24: actividad4 diagrama de clases, objetos y estructura compuesta

Resumiendo...Identificar clases del análisis

1. Identificar clases de entidad a partir del estudio de los CU del sistema y del modelo de objetos, extrayendo la información que debe utilizarse y manipularse en la realización del CU.

2. Identificar una clase de interfaz por cada actor que sea un sistema externo (SW y HW) y dejar que esta clase represente la interfaz de comunicación.

Page 25: actividad4 diagrama de clases, objetos y estructura compuesta

Resumiendo...Identificar clases del análisis

3. Identificar una clase de interfaz por cada actor humano y dejar que esta clase represente la ventana principal del interfaz de usuario con el cual interactúa el sistema.

4. Identificar una clase de control responsable del tratamiento de control y de coordinación de la realización del CU.

CONSTRUIR EL DIAGRAMA DE CLASES DEL ANÁLISIS

Page 26: actividad4 diagrama de clases, objetos y estructura compuesta

Atributos

Atributo : Características o propiedades de todas las instancias de la clase.

Reglas para definirlos:• Incluir aquellos atributos que se

requieren según los requerimientos de información de los casos de uso en los que está involucrada la clase.

• Conservar atributos simples, los complejos sugieren relaciones entre clases.

• Ningún atributo como llave foránea.

Page 27: actividad4 diagrama de clases, objetos y estructura compuesta

Asociaciones

Relaciones estructurales entre instancias que especifican que los objetos de un elemento están

conectados con los objetos de otros.

Asignatura Sustentación0..n1

TIENE1

+Evaluación

Nombre de la relación Dirección en la que se lee el nombre

Rol

Cardinalidad

Page 28: actividad4 diagrama de clases, objetos y estructura compuesta

Ejemplo:

Multiplicidad: Describe la cardinalidad de la relación, es el indicador de cuántos objetos pueden participar en una relación. Rango de las cardinalidades permisibles que un conjunto puede asumir.

0..* 1..1 0..1

TProfesor TAsignatura

0..*1..*11

imparte

dirige

1..* 0..*11

Multiplicidad de las relaciones

1..* *0..constante

1..constanteconstante..constante

Page 29: actividad4 diagrama de clases, objetos y estructura compuesta

Rol en las relaciones

Rol: Un extremo puede ser explícitamente nombrado con una etiqueta, ésta describe la semántica de la relación en el sentido indicado (opcionalmente se documenta con un nombre).

Ejemplo:TProfesor TAsignatura

0..*1..*11

imparte

dirige

1..* 0..*11+Jefe de Colectivo

Page 30: actividad4 diagrama de clases, objetos y estructura compuesta

Navegabilidad de las relaciones

Navegabilidad: Indica el grado de visibilidad que tienen las instancias de una clase respecto a otra. Indica la posibilidad de navegar unidireccionalmente en una asociación.

Las asociaciones por defecto son bidireccionales si usted quiere especificar unidirección debe especificarlo con una flecha.

TProfesor TAsignatura

0..*1..*11

imparte

dirige

1..* 0..*11

Page 31: actividad4 diagrama de clases, objetos y estructura compuesta

Reduce la multiplicidad del rol opuesto al considerar el valor

del cualificador

Aerolínea Viajero0..1

nro_billete* 0..1*

nro_billete

Tablero Ajedrez

Cuadro1fila

columna

1filacolumna

11

Asociación cualificada

Page 32: actividad4 diagrama de clases, objetos y estructura compuesta

Clase que modela una abstracción que se genera por la relación entre dos o más clases.

Tipo asociativo

PERSONA CENTRO DE TRABAJO0..**

PUESTO

Page 33: actividad4 diagrama de clases, objetos y estructura compuesta

Agregación Compositiva o Composición

Es una forma fuerte de agregación donde el tiempo de vida de la parte coincide con el todo. Las partes no deben sobrevivir fuera del todo. Operaciones de copia o eliminación al todo deben propagarse a las partes. La multiplicidad en el extremo del compuesto puede ser a lo sumo 1. Indica que únicamente el compuesto posee la parte y que se encuentra en una jerarquía de partes con estructura de árbol.

Mano Dedo0..7

Agregación compositiva o simplemente composición

Page 34: actividad4 diagrama de clases, objetos y estructura compuesta

Agregación compartida

Se identifican con relaciones entre tipos que impliquen que uno “tiene a” otro. Es aquella, en que la parte puede estar en muchas instancias compuestas porque la relación entre el todo y sus partes no liga las vidas del todo y las partes. Cuando deja de existir la agregada no necesariamente dejan de existir las partes.

ESTUDIANTEGRUPO0..1

1..*

tiene

Agregación compartida o simplemente agregación

Page 35: actividad4 diagrama de clases, objetos y estructura compuesta

Generalización/Especialización

Actividad que consiste en identificar aspectos comunes entre conceptos y definir las relaciones entre el supertipo (concepto general) y el subtipo (concepto específico).

Pago

Pago en efectivo

Pago con tarjeta

Pago con cheque

supertipo

subtipos

notación

Page 36: actividad4 diagrama de clases, objetos y estructura compuesta

Vehículo

Veihículo Terrestre Vehículo Aéreo

Coche Camión Avión Helicóptero

Generalización/Especialización

Restricciones predefinidas en UML: •disjunta - no disjunta•total (completa) - parcial (incompleta)•Estática/dinámica

{disjunta/incompleta/estática}

Page 37: actividad4 diagrama de clases, objetos y estructura compuesta

Relaciones entre las clases

1. Entre clases de un mismo tipo:• Asociaciones• Agregación/Composición• Generalización/Especialización

2. Entre clases de diferentes tipos:

Page 38: actividad4 diagrama de clases, objetos y estructura compuesta

• Una de las varias asociaciones potenciales que pueden ser instanciadas en cada momento para cualquier objeto.

Reservación

Suscripción Reservación individual

Restricciones XOR

(XOR)

Ticket

0..1

3..6

0..1

1

Page 39: actividad4 diagrama de clases, objetos y estructura compuesta

Resumiendo …

< < tipo > >

Page 40: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de clases del diseño

Page 41: actividad4 diagrama de clases, objetos y estructura compuesta

Clases del diseño

· Tienen operaciones, parámetros, atributos, tipos, etc. ; necesarios para su implementación en el lenguaje de programación elegido.

Persona

Nombree-mail

GetNombre()GetCorreo()

<<entity>>

Page 42: actividad4 diagrama de clases, objetos y estructura compuesta

Relación entre Modelos del Negocio y Modelos del Sistema (2)

Modelo delSistema

Candidatos obtenidos del modelo delnegocio

Modelosdel

Negocio

Claseentidad

Clases de entidad candidatas seencuentran entre las entidades delnegocio. Buscar entidades delnegocio que deben mantenerse orepresentarse en el sistema deinformación.

Clases de entidad candidatas seencuentran entre atributos en elmodelo de objetos del negocio.Buscar atributos que debenmantenerse o representarse en elsistema de información.

Entidadesdel

Negocio

Atributos

Relacionesentre

clases deentidad

Relaciones entre Entidades delNegocio muchas veces indican unarelación correspondiente entre lasclases en el modelo del sistema deinformación.

Relacionesentre

Entidadesdel

Negocio

Page 43: actividad4 diagrama de clases, objetos y estructura compuesta

Relación entre Modelos del Negocio y Modelos del Sistema (2)

Modelo delSistema

Candidatos obtenidos del modelo delnegocio

Modelosdel

Negocio

Claseentidad

Clases de entidad candidatas seencuentran entre las entidades delnegocio. Buscar entidades delnegocio que deben mantenerse orepresentarse en el sistema deinformación.

Clases de entidad candidatas seencuentran entre atributos en elmodelo de objetos del negocio.Buscar atributos que debenmantenerse o representarse en elsistema de información.

Entidadesdel

Negocio

Atributos

Relacionesentre

clases deentidad

Relaciones entre Entidades delNegocio muchas veces indican unarelación correspondiente entre lasclases en el modelo del sistema deinformación.

Relacionesentre

Entidadesdel

Negocio

Page 44: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de objetos

Page 45: actividad4 diagrama de clases, objetos y estructura compuesta

Muestra la abstracción de una parte del dominio

Representa una situación concreta del dominio

TProfesor TAsignatura

0..*1..*11

imparte

dirige

1..* 0..*11

P:TProfesor A:TAsignatura

0..*1..*11

imparte

dirige

1..* 0..*11

Page 46: actividad4 diagrama de clases, objetos y estructura compuesta

Se usa para representar cómo los objetos en un determinado escenario trabajan juntos, por lo que no están todas las clases ni todas sus características

P:TProfesor A:TAsignatura

0..*1..*11

imparte

dirige

1..* 0..*11

Diagrama de objetos

Page 47: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de estructura compuesta

Page 48: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de estructura compuesta · Diagrama que muestra la estructura

interna de las clases y las relaciones que se establecen entre ellas en un contexto dado.

· Es una forma alternativa de mostrar las relaciones de asociación y agregación/composición.

Nombre: tipo

Nombre1: tipo1

conector

puerto

Page 49: actividad4 diagrama de clases, objetos y estructura compuesta

Estructura interna de una clase· Estructura interna de las clases y las relaciones.· Contiene un conjunto de partes unidas por conectores· Una parte tiene un tipo y una multiplicidad dentro de

un contenedor.

Nombre: tipo

Nombre1: tipo1

conector

puerto

multplicidad

Page 50: actividad4 diagrama de clases, objetos y estructura compuesta

Estructura interna de una clase· Un conector es una relación contextual entre las partes.· Es un mecanismo fuerte que encapsula las relaciones

entre el medio externo y las partes internas al establecer que la relación es por un puerto.

Nombre: tipo

Nombre1: tipo1

conector

puerto

Page 51: actividad4 diagrama de clases, objetos y estructura compuesta

Estructura interna de una clase· Un puerto es un tipo de interacción con el medio. · Los mensajes que recibe un puerto, los pasa a las partes.· Un puerto tiene un conjunto de interfaces que definen las

operaciones que son permitidas con el medio externo.

Nombre: tipo

Nombre1: tipo1

conector

puerto

Page 52: actividad4 diagrama de clases, objetos y estructura compuesta

Estructura interna de una clase· Las interfaces pueden ser:

Interfaz proporcionada: Conjunto de servicios disponibles de esa clase

Interfaz requerida: Conjunto de servicios que esa clase necesita que le proporcione otro elemento

Nombre: tipo

Nombre1: tipo1

conector

puerto Nombre: tipo

Nombre1: tipo1

conector

Page 53: actividad4 diagrama de clases, objetos y estructura compuesta

Artículo

Diagrama de estructura compuesta

Artículo

Introducción Cuerpo

empieza 1 1 desarrolla

1Empieza :Introducción

1Desarrolla: Cuerpo

Page 54: actividad4 diagrama de clases, objetos y estructura compuesta

Artículo

Diagrama de estructura compuesta

Artículo

Autor Cuerpo

escrito 0..3 1 desarrolla

0..3Escrito: Autor

1Desarrolla: Cuerpo

Page 55: actividad4 diagrama de clases, objetos y estructura compuesta

Diagrama de estructura compuesta

IC: Interfaz cajero

ISC: Servicio de tarjeta de crédito

CC: Controlador del cajero

1

*

CAJERO AUTOMÁTICO

Page 56: actividad4 diagrama de clases, objetos y estructura compuesta

1. Los diagramas de clases resultan esenciales en la modelación OO pues son su columna vertebral.

2. Representan clases y asociaciones.

3. Muestran atributos y operaciones.

4. Tipos de asociaciones: Asociaciones, Agregación y Generalización-especialización.

5. Los diagramas de objetos muestran algunas de las clases y algunas de sus características.

6. Los diagramas de estructura compuesta muestran las partes que contienen las clases y las relaciones entre ellas.

Resumiendo …