Está en la página 1de 18

Ministerio de Educación y Deportes

Clasificación de clases del dominio del problema


Roles desempeñados Humanos que llevan a cabo alguna función. Ejemplo: Madre, profesor, político.
por Personas
Lugares Denotan espacios geográficos o elementos para contención de casas. Ejemplo: País, Barrio,
Estantería.
Cosas Objetos físicos, o grupos de objetos, que son tangibles. Ejemplo: Vehículos, libros, sensores de
temperatura
Roles desempeñados Colecciones formalmente organizadas de personas, recursos, instalaciones y posibilidades que
Organizaciones tienen una misión definida, cuya existencia es, en gran medida, independiente de los individuos.
Ejemplo: Banco, Ministerio, Administradora de Tarjeta de Crédito

Conceptos Principios o ideas no tangibles, utilizados para organizar o llevar cuenta de actividades de negocios
y/o comunicaciones. Ejemplo: Materia, Carrera, Tratamiento Médico.

Eventos Cosas que suceden, que habitualmente vinculan a clases de alguna de las otras categorías, en una
fecha y/u horas concretas, o como pasos dentro de una secuencia ordenada. Ejemplo: Aterrizaje,
Inscripción, Venta, Reserva, Donación.
Modelos y la importancia de modelar

22
¿Qué es un Modelo?

Un modelo es una simplificación de la realidad

23
¿ Por qué Modelamos?

 Para visualizar un sistema como es, o como queremos que sea.

 Para especificar la estructura o el comportamiento de un sistema.

 Nos dan una plantilla que nos guía en la construcción del sistema.

 Documentan las decisiones que hemos tomado.

24
¿Qué es un UML?

Es un lenguaje de modelado, de propósito general,


usado para la visualización, especificación,
construcción y documentación de sistemas
Orientados a Objetos

25
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

26
¿ Por qué UML es un lenguaje?

 Provee un vocabulario y reglas para combinar los elementos del


vocabulario con el propósito de comunicar.

 En un lenguaje de modelado esos vocabularios y reglas se focalizan


en representaciones conceptuales y físicas de un sistema.

27
Estructura de UML

BLOQUES DE CONSTRUCCIÓN MECANISMOS COMUNES ARQUITECTURA

28
Ministerio de Educación y Deportes

Diagrama de Clases

 CLASIFICACION: De estructura, estático, lógico.


 USO:
 Explorar conceptos del dominio
Analizar requerimientos
 Mostrar el diseño detallado de software orientado a objetos

 Muestra un conjunto de clases, interfaces y colaboraciones y sus relaciones


 Contiene comúnmente:
 Clases
 Interfaces
 Relaciones de asociación (agregación, composición), generalización, dependencia
(traza, realización) y/o anidado
Ministerio de Educación y Deportes

Diagrama de Clases
Clase Clase Activa
Alumno

ManejadorNotas

Alumno
nombre de la clase

atributos

operaciones
Ministerio de Educación y Deportes

Relaciones: Asociación
Es una relación estructural que especifica que los objetos de un elemento se conectan a los
objetos de otro.

asociación multiplicidad

Gasto 1 TipoDeGasto
.

navegabilidad
Ministerio de Educación y Deportes

Relaciones: Agregación y Composición


Es un tipo especial de asociación, que representa una relación completamente conceptual entre un
“todo” y sus “partes”.
todo parte

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

Diagrama de Clases: Visibilidad

Visibilidad Símbolo Accesible a:

Pública + Todos los objetos del


sistema

Protegida # Instancias de la clase y


de sus subclases

Instancias de la clase
Privada -

Paquete ~ Instancias de la clase del


mismo paquete
Ministerio de Educación y Deportes

Diagrama de Clases: Ejemplos


EmpleadoVideo
0..*
Abono
1..* 1
DetalleAbono
0..1 TipoAbono
Persona
0..1
Alquiler DetalleTicket Ticket 1
1..*
1..*
0..1 1..*
DetalleTipoAbono
Socio
Ubicacion Calificación

1
1
1 1 Rubro
Ejemplar Pelicula
0..* 1

0..*
1 1 Categoria
Reserva 1..*
0..* Actor
Director
Ministerio de Educación y Deportes
class Domain Objects 111 mil
«entity»
«entity»
«entity» Genero
PaisDeOrigen
Pelicula descripcion
idioma 1..* paisDeOrigen género
añoEstreno nombre
nombre 1
disponible
duracion
fechaIngreso
nombre

Ejemplo «entity»
personaje
«entity»
Elenco
nombreEnPelicula 1..*
elenco
tituloOriginal
estaDisponible()
estaEnCartel()
calificacion

1
«entity»
Calificacion
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()

También podría gustarte