Professional Documents
Culture Documents
Diagrama de Clases
Herencia
Relación de Herencia
InformaciónEstudiante
Subclase
¿Qué es heredado?
VehículoTerrestre
Peso
númeroLicencia
VehículoTerrestre
peso
númeroLicencia
registrar( )
Un camión tiene tres atributos:
númeroLicencia
peso
Auto Camión tonelaje
tonelaje y dos operaciones:
obtenerImpuestos( ) registrar()
obtenerImpuestos()
Herencia
Generalización / Especialización
Agregación
Asociación
Heredando Relaciones
Las relaciones también son heredados y deben ser definidas en el más alto
nivel de la jerarquía de herencia en la cual son aplicables
Las subclases de una clase heredan todas las relaciones
Cada subclase puede participar en relaciones adicionales
VehículoTerrestre Persona
peso dueño
númeroLicencia 0..* 1
Un auto es relacionado con
registrar( ) un propietario
Un camión es relacionado
con un propietario
Auto Camión Trailer Un camión también tiene un
tonelaje trailer
obtenerImpuestos( )
Herencia vs. Agregación
Herencia Agregación
Window Scrollbar
WindowWithScrollbar
Un WindowWithScrollbar “tiene un” Window
Un WindowWithScrollbar “tiene un” Scrollbar
Window Scrollbar
WindowWithScrollbar Scrollbar
1 1
WindowWithScrollbar
<<control>> <<entidad>>
AdministradorRegistro Curso
Nombrando Asociaciones
Persona Maestro
Curso
Asociaciones Múltiples
Puede existir más de una asociación entre dos clases
Si hay más de una asociación entre dos clases entonces se le DEBE
poner un nombre
Muchos
*
Exactamente uno
1
Cero o mas
0..*
Uno o mas
1..*
Cero o uno
0..1
Rango especificado
2..4
Ejemplo: Multiplicidad
Maestro
Persona
Curso
1 1..*
¿Qué significa Multiplicidad?
Curso Maestro
0..* 1
Curso 0..
*
0..
Pre-requisito *
1
ParteProducto
Calificaciones
Encontrando Asociaciones y Colecciones
Mostrar
Crear
¿Asociación o Colección?
<<interfaz>> <<interfaz>>
FormRegistración FormularioPrograma
1 1
1
ScheduleForm and
RegistrationManager
are independent
1
AdministraciónRegistro
Relaciones entre Paquetes
Business Rules
University
Artifacts
Relaciones durante Análisis y Diseño
Durante el análisis, establecer conexiones (asociaciones y
colecciones) entre las clases
Dichas conexiones existen por la misma naturaleza de las
clases, no por una implementación específica
Hacer una estimación inicial de multiplicidad de manera de
exponer suposiciones ocultas
Los diagramas de clase son actualizados para mostrar sus relaciones
agregadas
Durante el diseño:
Las estimaciones de multiplicidad son refinadas y actualizadas
Asociaciones y colecciones son evaluadas y refinadas
Las relaciones de paquetes son re evaluadas y refinadas
Los diagramas de clases maduran
Actualización de Diagrama de Clase
Principal para el Sistema de Registro
Interfaces Reglas
Negocio
Artefactos
Universidad
Interfaces Actualizadas de Diagrama de
Clase Principal
<<interfaz>> <<interfaz>>
FormRegistración FormPrograma
1 1
1
1
1
<<control>>
AdministraciónRegistro 1
(desde ReglasNegocio) <<entidad>>
Catalogo
1 (desde ArtefactoUniversidad)
1
<<interfaz>>
SistemaCobro
Actualización de Diagrama de clase
principal de ArtefactosUniversidad
<<interfaz>> <<entidad>>
Formularioregistración Curso
(de Interface) Agrega a Alumno
1
0..4
1
1
1
<<control>>
AdministradorRegistro
1
<<entidad>> (de Reglas Negocio)
Catálogo
1 1 1 accede
Agrega a Alumno
crea 1 <<entidad>>
1
<<entidad>> RegistroEstudiante
RegistroCurso 1
<<entidad>>
ListaCurso
Actualización de Diagrama de clase
Principal de Reglamento Económico
<<entidad>>
<<interfaz>> RegistroCurso
FormularioItinerario (desde ArtefactosUniversidad)
(from Interfaces)
1 1
Agrega a Alumno
1
1
<<Interfaz>> 1 1 <<control>>
SistemaCobro AdministradorRegistro
(desde Interfaz 1 Agrega a Alumno
1 1 <<entidad>>
accede crea 0..4 Curso
(desde ArtefactosUniversidad)
1
1
<<entidad>> <<entidad>>
Registro de Estudiante ListaCursos
(desde ArtefactosUniversidad) (desde ArtefactosUniversidad)
OTROS CONCEPTOS
Existen varios elementos que contribuyen a la sintaxis de los atributos y
operadores de las clases en el diagrama. Estas son:
Visibilidad: Indica que tan visible será el elemento. Esto puede ser +
(público), # (protegido), - (privado).
Valor por Omisión:
Es el valor por defecto que debe tener ese elemento en caso de ser
inicializado.