actividad4 diagrama de clases, objetos y estructura compuesta
Post on 10-Jun-2015
9.820 Views
Preview:
TRANSCRIPT
Curso de UML
Actividad 4 Diagramas de Clases, de objetos y de Estructura compuesta
Dra. Anaisa Hernández González
Diagrama de clases
¿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.
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
• 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
• 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.
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.
• 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()
• 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
Modelo de objetos del negocio
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:
¿de dónde salen las clases?
Modelo de objetos del negocio
Jefe de obra Económico
Proyecto
Evalúa económicamenteEvalúa técnicamente, aprueba/rechaza
Diagrama de clases del análisis
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
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
Clases de Interfaz
Modelan la interacción entre el sistema y sus actores
CI_Aprobar/Rechazar proyecto
Clases de interfazEjemplo
Económico
Evaluar un proyecto económicamente
Evaluar un proyecto técnicamente
Jefe de obra
Aprobar/rechazar proyecto
Clases de interfazEjemplo
CI-Aceptar/Rechazar Proyecto
Jefe de obra
Evaluar técnicamente
Económico
Evaluar económicamente
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
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
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
Patrón Controlador
Niveles de abstracción
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.
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
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.
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
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
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
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
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
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
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
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
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
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}
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:
• 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
Resumiendo …
< < tipo > >
Diagrama de clases del diseño
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>>
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
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
Diagrama de objetos
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
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
Diagrama de 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
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
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
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
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
Artículo
Diagrama de estructura compuesta
Artículo
Introducción Cuerpo
empieza 1 1 desarrolla
1Empieza :Introducción
1Desarrolla: Cuerpo
Artículo
Diagrama de estructura compuesta
Artículo
Autor Cuerpo
escrito 0..3 1 desarrolla
0..3Escrito: Autor
1Desarrolla: Cuerpo
Diagrama de estructura compuesta
IC: Interfaz cajero
ISC: Servicio de tarjeta de crédito
CC: Controlador del cajero
1
*
CAJERO AUTOMÁTICO
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 …
top related