Está en la página 1de 15

Tema 3

Modelo de dominio
Temo 3 - ModeIo de dominio - Z
Definicin
Consiste en uno o ms diagramas de clase
UML que muestran:
los conceptos bsicos del dominio deI probIema,
sus propiedades ms importantes,
las reIaciones importantes entre dichos conceptos.
Temo 3 - ModeIo de dominio - 3
Modelo de dominio
El modelo de dominio es una herramienta de
comunicacin fundamental que:
Obliga a desarrolladores y usuarios a pensar
formalmente sobre el problema.
Permite a los desarrolladores validar su comprensin
del problema.
Estabece el vocabulario del problema.
Junto con los requerimientos, constituye la entrada
ms importante para el diseo.
Normalmente se requieren varias iteraciones
para obtener un buen modelo de dominio.
Temo 3 - ModeIo de dominio - 4
Perpectivas diagramas de clase
Cuando se elaboran diagramas de clase, se
pueden usar dos perspectivas. Hemos de ser
conscientes de la perspectiva apropiada en
cada caso:
Conceptual
De software
Temo 3 - ModeIo de dominio - b
Perspectiva conceptual
Elaboramos diagramas que reflejan los
conceptos del dominio del problema, sin pensar
en la solucin del mismo:
Una clase representa un concepto relevante
existente en el dominio del problema.
Un atributo representa una propiedad relevante
propia de ese concepto.
Las asociaciones representan relaciones
conceptuales entre los conceptos.
Temo 3 - ModeIo de dominio - o
Perspectiva conceptual
El propsito de la perspectiva conceptual es:
Reflejar lo ms fielmente posible el problema: sus
conceptos, propiedades de los conceptos, relaciones
entre conceptos.
No se trata de una solucin.
Aspectos como eficiencia, economa de conceptos, etc.
estn fuera de lugar.
Temo 3 - ModeIo de dominio - 7
Perspectiva de software
Estamos especificando una solucin.
En esta perspectiva:
Ms que las clases nos interesan los interfaces de
los objetos, las responsabilidades.
Un atributo o una asociacin representan la
responsabilidad de una clase de proporcionarnos esa
informacin y la existencia de los servicios
necesarios para mantenerla.
Las operaciones representan los servicios pblicos
de la clase. Normalmente no mostramos servicios
triviales de acceso porque pueden ser inferidos.
Temo 3 - ModeIo de dominio - 8
UML
Diagramas de clase
Para que un modelo de dominio sea una
herramienta de comunicacin eficaz, debe ser
fcil de comprender.
Muchas veces lo usaremos para que el usuario
valide nuestro conocimiento del problema.
Por ello los elementos de notacin UML
debern ser sencillos.
Diogromos
de cIose
UML
nicomenfe vomos o
ufiIi;or un
subconjunfo de Io
nofocion poro
diogromos de cIose
de UML
Temo 3 - ModeIo de dominio - 9
Clases
Representan los conceptos existentes en el
dominio del problema.
Cosos fsicos
Personos, orgoni;ociones,
Iugores, sisfemos,
disposifivos, efc.
Cosos Iogicos
Tronsocciones (evenfos, ...),
cosos concepfuoIes, efc.
Peservo
MofricuIo
Esfudionfe
Deporfomenfo
AuIo
Asignofuro
CIose
Procfico
PIon
Tesis
Hororio
Exomen
Temo 3 - ModeIo de dominio - I0
Atributos
Representan informacin relevante asociada a
los conceptos del dominio.
Opcionalmente, mostraremos otros adornos
como su tipo.
Asignofuro
nombre: Sfring
froncoI: booIeon
cuofrimesfre: inf
credifos: inf
Temo 3 - ModeIo de dominio - II
Asociacin
Las asociaciones representan relaciones entre
conceptos del dominio.
Asignofuro
0rupo
PIonDeEsfudios
Curso AIumno
Temo 3 - ModeIo de dominio - IZ
8emantica de una asociacin
0rupo
idenfificodor: chor
AIumno
nombre: Sfring
numero:Sfring
fechoMocimienfo:Dofe
emoiI:Sfring
quienes son Ios
oIumnos de un
deferminodo grupo7
en que grupo esfo
mofricuIodo un
deferminodo
oIumno7
Temo 3 - ModeIo de dominio - I3
Asociacin
Para precisar la semntica de la asociacin,
podemos utilizar adornos.
CIose A CIose 8
roI 8 roI A
cordinoIidod A cordinoIidod 8
Mombre
Temo 3 - ModeIo de dominio - I4
Cardinalidad
ndica el nmero de instancias como mnimo y
como mximo de un rol que pueden participar
en la asociacin con una instancia del otro rol.
Puede ser
Un nmero (1 4)
Un rango (0..1 1..3 0..*)
El signo * quiere decir cualquier nmero arbitrariamente grande
Temo 3 - ModeIo de dominio - Ib
Asociaciones mltiples y reflexivas
Pueden existir:
Ms de una asociacin entre dos conceptos.
Asociaciones de un concepto consigo mismo.
Asignofuro
prerrequisifo
0..^
0..^
0rupo AIumno
Esfo mofricuIodo
Asisfe
Temo 3 - ModeIo de dominio - Io
Adornos de una asociacin
Ejemplo:
EmpIeodo Proyecfo
jefe
I ^
superior
subordinodo
0,I
^
I..^
0..I Equipo
Temo 3 - ModeIo de dominio - I7
Tipos especiales de asociacin
Agregacin
Es una asociacin con la semntica "todo-parte,
"compuesto-componente, ...

Composicin
Es una agregacin muy fuerte donde el ciclo de vida
de la parte est ligado al todo.
Asignofuro Curso
I..^
CopifuIo Libro
I..^
Temo 3 - ModeIo de dominio - I8
Atributo o asociacin
Dos modelos alternativos:
Cundo utilizaremos uno u otro?
Asignofuro
-nombre: Sfring
-curso:int
-froncoI:booIeon
-cuofrimesfre:inf
-credifos:inf
Asignofuro
-nombre: Sfring
-froncoI:booIeon
-cuofrimesfre:inf
-credifos:inf
Curso
I..^ I
Temo 3 - ModeIo de dominio - I9
Generalizacin
En este nivel puede utilizarse la generalizacin.
Todo lo que es cierto para la clase base
(atributos, asociaciones, ...) lo es para las
clases derivadas.
AsignofuroTroncoI AsignofuroOpfofivo
nombre
credifos
cuofrimesfre
Asignofuro
Curso
I I..^
Ifinerorio
I I..^
Temo 3 - ModeIo de dominio - Z0
Restricciones y notas
El modelo puede completarse con restricciones
y anotaciones asociados a cualquier elemento:
clases, atributos, asociaciones, ...
nombre
credifos
cuofrimesfre
Asignofuro
Curso I..^
numero:inf {I..b}
AsignofuroTroncoI AsignofuroOpfofivo
Los osignofuros froncoIes
de un curso deben
represenfor oI menos eI
o07 de Ios credifos
Temo 3 - ModeIo de dominio - ZI
Estrategias y patrones
1. Actores y participantes
2. Lugares
3. Descripciones de items e items especficos
4. Transacciones
5. Generalizacin-especializacin
Temo 3 - ModeIo de dominio - ZZ
Actores y participantes
Buscaremos actores: personas u
organizaciones que participan en el sistema.
Ej.: Persona, Organizacin (Agencia, Compaa, Corporacion,
Departamento, ...)
Los actores pueden participar en el sistema de
varias maneras. Analizaremos de qu maneras
participa cada actor en el sistema:
Ej.: Cliente, Proveedor, Agente, Cajero, Distribuidor, Empleado,
nversor, Propietario, Arrendatario, Socio, Estudiante, Profesor,
Suscriptor
Temo 3 - ModeIo de dominio - Z3
Lugares
Buscaremos lugares que contengan a otros
objetos.
Ej.: LineaEnsamblaje, Aeropuerto, Oficina, Pais,
ComunidadAutonoma, Region, Comarca, Planta,
Estante, Almacen, ...
Temo 3 - ModeIo de dominio - Z4
Descripciones e items especificos
Los items son objetos descriptivos cuya
informacin aplica a un conjunto de items
especficos.
Otros ejemplos: descripcin video video concreto,
descripcin vuelo vuelo concreto, libro ejemplar
CocheEspecifico
num8osfidor
mofricuIo
coIor
morco
modeIo
ciIindrodo
pofencio
numPuerfos
DescripcionCoche
I 0..^
Temo 3 - ModeIo de dominio - Zb
Transacciones
Una transaccin es algo que el sistema debe
recordar para responder a preguntas o hacer
clculos y que
tiene lugar en un instante de tiempo o

tiene lugar en un intervalo de tiempo:

Ejemplos:
Acuerdo, Autorizacion, Contrato, Entrega, Deposito,
Prestamo, ncidencia, Compra, Registro, Suscripcion,
Venta, Reserva, Alquiler, Pedido, Solicitud,
Notificacin, Devolucion, Reclamacion, .....
f
0
f
f
f
Temo 3 - ModeIo de dominio - Zo
Transacciones
Las transacciones pueden:
Haber sido realizadas por participantes
Estar asociadas a un lugar
Estar asociadas a un item especfico o bien tener lneas de
transaccin asociadas a items especficos
Estar asociadas a posteriores transacciones
unidodes
LineoPedido
I..^
Pedido
fecho
Enfrego
ArficuIo
0..^ I
CIienfe
0..^
I
0,I
I
Porficiponfe
Lneos de fronsoccion
Tronsoccion
posferior
Tiendo
I 0..^
Ifem especfico Lugor
Temo 3 - ModeIo de dominio - Z7
Generalizacin-especializacin
Mirar cada clase como una
generalizacin/especializacin y pensar en
posibles especializaciones/generalizaciones,
viendo si tienen cabida en el modelo.
Libro
LibroTexfo, MonuoI, MoveIo, Comic, Diccionorio, EncicIopedio, ...
PecursoDidocfico
Temo 3 - ModeIo de dominio - Z8
Cmo empezar
Una clnica privada nos ha encargado un sistema para
gestionar las citas de los pacientes con los
mdicos de la clnica. Cada mdico pasa consulta uno
o varios das a la semana desde una hora inicial a una
hora final. Estas horas pueden ser diferentes para cada
da que se pasa consulta. Adems, cada da de
consulta tiene un cupo de pacientes, de manera que no
se conceden ms citas una vez alcanzado el cupo.
Los susfonfivos sueIen
corresponder o concepfos
o propiedodes.
Lo sinfoxis nos do
pisfos sobre Ios
reIociones.
Pocienfe Cifo Medico
Temo 3 - ModeIo de dominio - Z9
Buenos modelos
Un buen modelo debe contener toda la
informacin relevante del problema:
Quines son los mdicos de la clnica? Cul es su
nombre, nmero de colegiado, direccin, ...?
Qu citas tiene un determinado paciente en el prximo
mes? Con qu mdicos?
Qu citas tiene programadas un mdico la prxima
semana? Qu das y a qu horas? Con qu pacientes?
Cul es el nombre de un paciente, su edad, su nmero de
la seguridad social, su mutualidad, su direccin, ...?
Cul es el programa de visitas de un mdico: das de la
semana, hora de inicio y fin de la consulta, cupo de
pacientes?
...
Temo 3 - ModeIo de dominio - 30
Cmo continuar
Dudos
VoIidor eI modeIo
Pensor
CuoIquier informocion fiI
Pespuesfos o Ios dudos
Feedbock
Descorfor y
empe;or de
nuevo
Un modelo de dominio, sobre todo de un
problema complejo, es un proceso iterativo.

También podría gustarte