Professional Documents
Culture Documents
¿Qué es un Modelo?
Nos dan una plantilla que nos guía en la construcción del sistema.
¿Qué es un UML?
Contribuciones al UML
Meyer Harel
Gamma, et al
Statecharts
Before and after Frameworks and patterns,
conditions
HP Fusion
Booch
Operation descriptions and
Booch method message numbering
Rumbaugh Embley
OMT Singleton classes and
high-level view
Jacobson Wirfs-Brock
OOSE Responsibilities
Shlaer - Mellor Odell
Object lifecycles Classification
Ministerio de Educación y Deportes
Estructura de UML
10
Ministerio de Educación y Deportes
Diagramas
Ministerio de Educación y Deportes
Diagrama de Clases
Diagrama de Clases
Clase
Alumno
Alumno
nombre de la clase
atributos
operaciones
Ministerio de Educación y Deportes
Diagrama de Clases
Visibilidad: normalmente se desea ocultar los detalles de implementación y mostrar sólo las características
necesarias para llevar a cabo las responsabilidades de la abstracción. Hay tres niveles disponibles:
o Pública: Cualquier clasificador externo con visibilidad hacia el clasificador dado puede utilizar la
característica. Se representa con el símbolo “+”.
o Protegida: Cualquier descendiente del clasificador puede utilizar la característica. Se representa con el
símbolo “#”.
o Privada: Sólo el propio clasificador puede utilizar la característica. Se representa con el símbolo “-”
Ministerio de Educación y Deportes
Diagrama de Clases
Clases de análisis
Clase de Entidad
La clase de entidad modela información en el sistema que debería guardarse por mucho tiempo. Las clases de entidad se
utilizan para modelar abstracciones del dominio del problema.
Clase de Interfaz
La clase de interface modela el comportamiento e información que es dependiente de la frontera del sistema con el ambiente.
Así todo lo que concierne a cualquier vínculo entre el sistema y los actores, se ubica en un objeto de interfaz.
Clase de Control
La clase de control modela funcionalidad que implica operar sobre varios objetos diferentes de entidad, haciendo algunos
cálculos y retornando el resultado al objeto de interface. La clase de control actúa como vínculo, que une los otros tipos de
clase.
Ministerio de Educación y Deportes
Diagrama de Clases
Interface
Una interface es un tipo especial de clase que agrupa una colección de operaciones que
especifican un servicio de una clase o componente.
Ministerio de Educación y Deportes
Diagrama de Clases
Relaciones: Asociación
asociación multiplicidad
Gasto 1 TipoDeGasto
.
navegabilidad
Ministerio de Educación y Deportes
1..*
Factura DetalleFactura
agregación
Es una variación de la agregación simple, con una fuerte relación de pertenencia y vidas coincidentes
de la parte con el todo.
todo parte
Estantería Estante
composición
Ministerio de Educación y Deportes
Relaciones: Generalización
Es una relación entre un elemento general (superclase o padre) y un tipo más específico de ese
elemento (subclase o hijo). El hijo puede añadir nueva estructura y comportamiento, o modificar el
comportamiento del padre.
ElementoConInterés ElementoAsegurable
herencia
herencia múltiple
CuentaBancaria
simple
CuentaCorriente CuentaDeAhorro
Ministerio de Educación y Deportes
Relaciones: Dependencia
Es una asociación de uso, la cual especifica que un cambio en la especificación de un
elemento puede afectar a otro elemento que lo utiliza, pero no necesariamente a la
inversa.
dependencia
Ministerio de Educación y Deportes
Relaciones: Contención
Es una relación que especifica que una clase esta contenida dentro de otra.
Contención
cd Logical Model
VentanaInicio ControladorMouse
Ministerio de Educación y Deportes
Instancias de la clase
Privada -
Instancias de la clase del
Paquete ~ mismo paquete
Ministerio de Educación y Deportes
1
1
1 1 Rubro
Ejemplar Pelicula
0..* 1
0..*
1 1 Categoria
Reserva 1..*
0..* Actor
Director
Ministerio de Educación y Deportes
Ejemplo nombre
paisDeOrigen
añoEstreno
disponible
duracion
fechaIngreso
1
nombre
nombre calificacion
«entity» tituloOriginal
elenco «entity»
Elenco estaDisponible()
personaje Calificacion
nombreEnPelicula 1..* estaEnCartel()
«entity» 1
mostrarFuncHabilitadas() descripcion
Personaje nombre
animado 1
apellido «entity»
nombre funcion 1 Sala
sexo pelicula
rol 0..* sala capacidad
numero
«entity» 1..*
«entity» estaDisponible()
Rol
Funcion 1
descripcion sala
diaSemana 1..*
nombre
duracion
fechaHabilitacion
horaInicio
«entity»
numero
Cine
calcularDisponibilidad()
capacidadSala() direccion
controlarHoraFuncion() fechaInauguracion
estaEnLaFuncion() nombre
estasIniciada() buscarDisponibilidadSalasParaPeriodo()
hayLugar() buscarPreciosEntrada()
mostrarDiaHoraPel() mostrarCine()
permiteVenta() obtenerInfoHorariosFuncion()
1 funcion
1..*
«entity»
Entrada 0..* programacion
horarioFunción
fechaFuncion 0..*
«entity»
fechaVenta
Programacion «entity»
horaFuncion
horaVenta estado HorarioFuncion
pelicula fechaFinProgramacion diaDeSemana
precioCobrado fechaInicioProgramacion duracionIntervaloFunc
sala fechaProgramacion duracionPublicidad
ticketNro horaProgramacion esTrasnoche
estaAnulada() estáCompleta() horaPrimeraFuncion
estaEnPeriodoVigencia() horaUltimaFuncion
estaIniciadaFuncion() mostrarHorarioFuncion()
estaVigente()
mostrarProgramacion()