P. 1
actividad4 diagrama de clases, objetos y estructura compuesta

actividad4 diagrama de clases, objetos y estructura compuesta

4.0

|Views: 9.826|Likes:
Publicado porcesar marcano

More info:

Published by: cesar marcano on Mar 22, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPTX, PDF, TXT or read online from Scribd
See more
See less

07/22/2013

pdf

text

original

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
Operacione
s
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: string
DNI: string
Sexo: char
Total de asignaturas matrículadas: integer
Actualizar asignaturas matrículadas
(Cantidad: string)
DNI ÷ No t
Eµr tw( )

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
Restricciones de las clases
Estudiante
Nombre: string
DNI: string
Sexo: char
Total de asignaturas matriculadas: integer
Actualizar asignaturas matriculadas
(Cantidad: integer)
Actualizar asignaturas matriculadas
()ovti ôoô:ivt ryrp)
Hpr: To toi ô r ooiyv otupoo µot pi)uioô oo
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:
Trabajador
del negocio
Entidad
del negocio
¿de dónde salen las clases?
Modelo de objetos del negocio
Jefe de obra
Económico
Proyecto
Evalúa económicamente
Evalúa técnicamente,
aprueba/rechaza
Diagrama de clases del análisis
Diagrama de clases del análisis
1. Clases
2. Atributos
3. 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
Esta clasificación da robustez al modelo porque
los cambios al modelo tienden a afectar a un área
los cambios al modelo tienden a afectar a un área
en específico
en específico
Clases de Interfaz
Modelan la interacción entre el sistema
Modelan la interacción entre el sistema
y sus actores
y sus actores
CI_Aprobar/Rechazar proyecto
Clases de interfaz
Ejemplo
Económico
Evaluar un proyecto
económicamente
Evaluar un proyecto
técnicamente
Jefe de obra
Aprobar/rechazar proyecto
Clases de interfaz
Ejemplo
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
Modelan información que posee una vida larga y
que es a menudo persistente.
que es a menudo persistente.

Modelan la información y el comportamiento
Modelan la información y el comportamiento
asociado de algún fenómeno o concepto, como
asociado de algún fenómeno o concepto, como
una persona, un objeto del mundo real o un
una persona, un objeto del mundo real o un
suceso del mundo real.
suceso del mundo real.
Proyecto
Clases de control
Coordinan la realización de uno o unos pocos CU,
Coordinan la realización de uno o unos pocos CU,
coordinando las actividades de los objetos que
coordinando las actividades de los objetos que
implementan la funcionalidad del CU:
implementan la funcionalidad del CU:
CC-Aceptar/Rechazar
proyecto

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

Delegan trabajo a otros objetos.
Delegan trabajo a otros objetos.
EN PRINCIPIO, SE DEFINE UNA CLASE DE
EN PRINCIPIO, SE DEFINE UNA CLASE DE
CONTROL POR CU
CONTROL POR CU
Clases de control
Ejemplo
Aceptar/Rechazar
proyecto
CC-Evaluar proyecto
económicamente
CC-Evaluar proyecto
técnicamente
Aceptar/Rechazar un proyecto
Evaluar 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
CONSTRUIR EL DIAGRAMA DE CLASES DEL
ANÁLISIS
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
Relaciones estructurales entre instancias que
especifican que los objetos de un elemento están
especifican que los objetos de un elemento están
conectados con los objetos de otros.
conectados con los objetos de otros.
Asignatur
a
Sustentaci
ón
0
..n
1
TIENE
1
+Evaluación
Nombre de la relación Nombre de la relación
Dirección en la que se Dirección en la que se
lee el nombre lee el nombre
Rol Rol
Cardinalidad 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..*
1 1
imparte
dirige
1..* 0.. *
1 1
Multiplicidad de las relaciones
1..*
*
0..constante
1..constante
constante..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 TAsignat ura
0..* 1..*
1 1
imparte
dirige
1..* 0..*
1 1
+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..*
1 1
imparte
dirige
1..* 0.. *
1 1
Reduce la multiplicidad del rol opuesto al considerar el
valor
del cualificador
Aerolínea
Viajero
0..1
nro_billete
*
0..1
*
nro_billete
Tablero
Ajedrez
Cuadro
1
fila
columna
1
fila
columna
1 1
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 TRABAJO
0
..*
*
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 Dedo
0
..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.
ESTUDIANTE
GRUPO
0..1
1..*
tien
e
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).
Conce
Pago
Pago
en efectivo
Pago
con tarjeta
Pago
con cheque
supertip
o
subtipo
s
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 …
Asociaci
Generaliza
Realizac
Dependen
< < 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.
Person
a
Nombre
e-mail
GetNombre()
GetCorreo()
<<entity>>
Diagrama de objetos
Diagrama de
Diagrama de
Muestra la
abstracción de una
parte del dominio
Representa una
situación concreta
del dominio
TProfesor TAsignatura
0.. * 1..*
1 1
imparte
dirige
1..* 0.. *
1 1
P:TProfesor A:TAsignatura
0
..*
1
..*
1 1
impart
e
dirig
e
1
..*
0
..*
1 1
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
..*
1 1
impart
e
dirig
e
1
..*
0
..*
1 1
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
Conce
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
Contene
Parte
multplicida
d
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
Contene
Parte
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
Nombre: tipo
Nombre1: tipo1
conector
puerto
Nombre: tipo
Nombre1: tipo1
conecto
r
Artículo
Diagrama de estructura compuesta
Artículo
Introducción Cuerpo
empieza 1 1
desarrolla
1
Empieza :Introducción
1
Desarrolla: Cuerpo
Artículo
Diagrama de estructura compuesta
Artículo
Autor Cuerpo
escrito 0..3 1
desarrolla
0..3
Escrito: Autor
1
Desarrolla: 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 …

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->