Este documento presenta los conceptos clave relacionados con la creación de un modelo de dominio. Explica que un modelo de dominio es un "diccionario visual" de los términos más importantes de un dominio particular y no representa objetos de software. Además, describe cómo identificar los conceptos clave de un dominio, modelar sus atributos y relaciones, y organizar el modelo en paquetes lógicos.
2. Introducción
Patrician y presenta los conceptos importantes
relacionados con el dominio.
Una actividad clásica del análisis orientado a
objetos.
¿Cuáles son los objetos de interés en el dominio?
– ¿Sus atributos?
– ¿Sus relaciones?
ATENCIÓN: no son objetos software, sino un
“diccionario visual” de conceptos del dominio.
3. Un modelo del dominio
no representa objetos software
Un modelo de conceptos del dominio, no de
objetos software:
– Un “diccionario visual” de términos importantes en
el dominio.
Utiliza la notación UML de diagrama de estructura
estática:
Vídeo
ID
Almacena4
Alquila4
Alquila-de 4
1
1..*
Videoclub
dirección
nombre
teléfono
1 * 1 *
Cliente
dirección
nombre
teléfono
4. Particionado del modelo del dominio
Aunque es
conceptualmente
correcto, nadie
representaría
recuadros de
paquetes como
indica el ejemplo.
Una herramienta
de CASOS
permitiría
desarrollaría esta
tarea de forma
más eficaz.
Conceptos del dominio
Núcleo/Misc. Pagos Productos Ventas
Núcleo/Misc.
Persona
Vídeoclub
dirección
nombre
Gestionado por
1 1
...etc...
Productos
Alquila
1 1..*
Producto
descripción
...
Película de
vídeo
...
Videojuego
...
Cinta de
audio
...
Núcleo:: Videoclub
Obsérvese
cómo se pueden
relacionar tipos
procedentes de
otros paquetes
5. La búsqueda de los
conceptos del dominio
Listas de candidatos.
Análisis “Abbott”.
Patrones de análisis disponibles:
– Analysis Patterns, Fowler M.
– Data Model Patterns, Hay, D.
– The Data Model Resource Book, Silverston, L.
6. Asociaciones
-”Flecha de la dirección de lectura”.
- No tiene significado salvo indicar la dirección
de lectura de la etiqueta de la asociación.
- A menudo se excluye.
Registra-la-actual4
TPDV Venta
1 1
Nombre de la asociación multiplicidad
7. Multiplicidad
1..40
3, 5, 8
cero o más
"muchos"
uno o más
de uno a 40
exactamente 5
T
T
T
T
*
1..*
5
T
Exactamente
3, 5 u 8
Cliente
Alquila 6
*
Vídeo
Una instancia de un
Vendedor puede ser alquilar
cero o más Vídeos.
Una instancia de un Vídeo
puede ser que se alquile por
cero o por un Cliente.
0..1
8. Centrarse en las asociaciones
importantes
Vídeo
Alquila4 ...
Influido-por 4
1
1..*
1 Política de préstamos
...
Cliente
...
Asociación importante
Necesito recordar
Asociación de poco valor
Es posible, pero ¿y qué?
9. Atributos
Mostrar sólo tipos primitivos relativamente
“simples” como atributos.
Las conexiones a otros conceptos se
representarán como asociaciones, no como
atributos.
Pago
fecha : Fecha
hora : Hora
cantidad : Dinero
atributos
10. No utilizar atributos para
relacionar conceptos
¿Por qué?
Vídeo
...
Alquila Cliente 1 4 1..*
...
Mejor
Vídeo
alquilador : Cliente
Cliente
Vídeos alquilados: Lista de Vídeos
Peor
11. Un ejemplo
4
Pagos-por-retrasos 4
Transacción de alquiler
Catálogo
* *
Descripción del vídeo
título
Categoría artículo
Alquiler de vídeo
Hora límite
Fecha de devolución
Hora de devolución
Pago en efectivo
cantidad : Dinero
Vídeo
ID
Almacena4
Alquila4
Pago-por 4
Inicia 4
Alquila-de 4
Posee-un4
Descrito-por 6
Carnet de socio
ID
Fecha inicio
1
1
1..*
1
1
1
1..*
1
1
*
1
1
1
*
* 1
fecha
Política de préstamos
Cargo alquiler por día
Cargo alquiler por día extra
Determina-cargo-alquiler
1
Define 3
1..*
*
1..*
1
1
Videoclub
dirección
nombre
teléfono
Cliente
dirección
nombre
teléfono
1
1
1..*
0..1
Registra-alquiler-de6
1
Tiene6 Mantiene6
*
1
1