Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Anlisis
Modelado del Dominio
Contenido
Introduccin
Modelo de Dominio
Conceptos
Asociaciones
Atributos
Generalizaciones
Otros elementos
Restricciones
Introduccin
Modelo de Dominio
Contenido (cont.)
Conceptos
v1 : Venta
v2 : Venta
Conceptos
Identificacin de Conceptos
Conceptos
Comenzar la construccin de un
Modelo de Dominio haciendo una lista
de conceptos candidatos
Existen dos tcnicas para ello:
Conceptos
Categora
Objetos fsicos o tangibles
Descripciones de cosas
Lugares
Avin
DescripcionVuelo
Transacciones
Reserva
Roles
Piloto
Ejemplo
Aeropuerto
Conceptos
contenedores de cosas
cosas contenidas en contenedores
sistemas externos
sustantivos abstractos
organizaciones
eventos
reglas y polticas
catlogos
registro de asuntos financieros o legales
servicios e instrumentos financieros
10
Conceptos
Identificacin de sustantivos
11
Conceptos
Ejemplo:
Un cliente llega a un puesto de venta para reservar
un pasaje de avin El empleado hace la reserva en
el sistema de aerolnea.
12
Conceptos
Sugerencias
2.
3.
4.
13
Conceptos
Sugerencias (2)
Nombres y modelado
14
Conceptos
Sugerencias (3)
Granularidad de la especificacin
15
Conceptos
Sugerencias (4)
16
Conceptos
Sugerencias (5)
vs.
Vuelo
finaliza en
Aeropuerto
nombre
17
Conceptos
Sugerencias (6)
18
Conceptos
Sugerencias (7)
19
Conceptos
Sugerencias (8)
Especificaciones y descripciones:
20
Conceptos
Sugerencias (9)
Ejemplo:
Producto
numSerie
descripcion
codigo
precio
p1 : Producto
p2 : Producto
numSerie = "40-51-2"
descripcion = "Video..."
codigo = "VCR99A"
precio = 270
numSerie = "40-51-4"
descripcion = "Video..."
codigo = "VCR99A"
precio = 270
vs.
Producto
numSerie
EspProducto
descripcion
codigo
precio
p1 : Producto
numSerie = "40-51-2"
p2 : Producto
: EspProducto
descripcion = "Video..."
codigo = "VCR99A"
precio = 270
numSerie = "40-51-4"
Programacin Avanzada | Anlisis: Modelado del Dominio
21
Asociaciones
22
Asociaciones (2)
23
Asociaciones
Deteccin de Asociaciones
Ejemplo
Ala - Avin
Tramo - Ruta
Pasajero - Avion
Vuelo - PlanVuelo
A es un miembro de B
Piloto - Aerolinea
24
Asociaciones
A es una descripcin de B
A es un tem de una transaccin B
A es conocido/registrado/capturado en B
A es una subunidad organizacional de B
A usa o maneja B
A se comunica con B
A esta relacionado con la transaccin B
A es una transaccin relacionada con la transaccin B
A est cerca de B
A es propiedad de B
25
Asociaciones
Asociaciones a Considerar
26
Asociaciones
Sugerencias
27
Asociaciones
slo
need-to-know
Programacin Avanzada | Anlisis: Modelado del Dominio
todas las
concebibles
28
Asociaciones
Notacin
*
A
direccin
de lectura
asociada a
rol2
multiplicidad
1
B
rol1
agregacin
extremos de
asociacin
Programacin Avanzada | Anlisis: Modelado del Dominio
rol
29
Asociaciones
Notacin - Multiplicidades
asoc
a1
a2
b3
b3
30
Asociaciones
*
1..*
0..1
5
3,5,8
31
Asociaciones
Notacin - Roles
p1 : Persona
p1 es dueo o
empleado de e?
y p2?
Programacin Avanzada | Anlisis: Modelado del Dominio
dueo
e : Empresa
p2 : Persona
empleado
32
Asociaciones
Notacin - Restricciones
Empresa
{xor}
empleado
33
Asociaciones
Persona
Empresa
{subset}
empleado
34
Asociaciones
*
{ordered}
Alumno
35
Asociaciones
Notacin - Agregacin
Agregacin compartida
Habitacion
Pared
1..2
36
Asociaciones
Notacin - Agregacin
Agregacin compuesta
Dedo
1
0..5
37
Atributos
38
Atributos
Notacin
Representacin
mnima
Programacin Avanzada | Anlisis: Modelado del Dominio
Persona
-nombre[1] : String
+telefono[*] : String
-edad[1] : Integer = 0
Representacin
completa
39
Atributos
Notacin (2)
Alcance de atributos
Empleado
sueldo
De instancia
Empleado
sueldo
De clase
40
Atributos
Notacin (3)
nombre
fechaNacim
/edad
41
Atributos
Sugerencias
Avion
nombre
nombrePiloto
vs.
Avion
comanda
Piloto
nombre
42
Atributos
Sugerencias (2)
Concepto
atrib : NoPrimitivo
1
Concepto
datatype
NoPrimitivo
atrib
Programacin Avanzada | Anlisis: Modelado del Dominio
43
Generalizaciones
44
Generalizaciones
Notacin
abstracto
Evaluacion
concreto
Curso
fecha
Examen
minimo
Parcial
inst : InstanciaParcial
enumeration
InstanciaParcial
unico
primero
segundo
enumerado
(data type)
Programacin Avanzada | Anlisis: Modelado del Dominio
45
Generalizaciones
Sugerencias
Modelado de estados
Atributos
Conceptos (con cuidado)
46
Generalizaciones
Sugerencias (2)
Lampara
encendida? : Boolean
Encendida
Correcto
Programacin Avanzada | Anlisis: Modelado del Dominio
Apagada
Incorrecto
47
Tipos Asociativos
48
49
Tipos Asociativos
Notacin
1..*
Empresa
Persona
trabaja
sueldo
El tipo asociativo
permite
representar
multiplicidades
y atributos
50
Tipos Asociativos
Modelado Avanzado
1..*
Empresa
Persona
1
Empresa-Persona
La relacin
Empresa-Persona
acepta mltiples
trabajos
Programacin Avanzada | Anlisis: Modelado del Dominio
*
Trabaja
-sueldo
51
Modelo de Dominio
Errores Comunes
52
Modelo de Dominio
53
Restricciones
54
Restricciones
Motivacin
trabaja en
Empresa
1
Vendedor
*
Producto
produce }
| vende
55
Restricciones
Motivacin (2)
Permite o considera como vlidos casos como:
Un vendedor vende un producto producido
por una empresa para la cual l no trabaja
e1 : Empresa
e2 : Empresa
v1 : Vendedor
p1 : Producto
56
Restricciones
Motivacin (3)
57
Restricciones
58
Restricciones
Adjuntar Restricciones
59
Restricciones
Invariantes - Informal
60
Restricciones
Ventajas
Desventajas
61
Restricciones
Invariantes - Formal
62
Restricciones
Ventajas:
Desventajas:
63
Restricciones Habituales
Dominio de Atributos
Atributos Calculados
Integridad Circular
Reglas de Negocio
64
Restricciones
Ejemplos
trabaja en
Empresa
/cantEmp
Vendedor
edad
Producto
produce }
Unicidad de Atributos
(Invariante)
codigo
| vende
65
Restricciones
Ejemplos (2)
trabaja en
Empresa
/cantEmp
Vendedor
edad
1..*
1..*
1..*
Producto
produce }
Dominio de Atributos
(Invariante)
1..*
codigo
| vende
En la empresa no puede
haber vendedores mayores
de 65 aos de edad
66
Restricciones
Ejemplos (3)
trabaja en
Empresa
/cantEmp
Vendedor
edad
1..*
1..*
1..*
Producto
produce }
Integridad Circular
(Invariante)
1..*
codigo
| vende
Un vendedor no puede
vender productos de una
empresa en la que no
trabaja
67
Restricciones
Ejemplos (4)
trabaja en
Empresa
/cantEmp
Vendedor
edad
1..*
1..*
1..*
Producto
produce }
Atributos Calculados
(Invariante)
1..*
codigo
| vende
El atributo cantEmp es la
cantidad de empleados de
la empresa
68
Restricciones
Ejemplos (5)
trabaja en
Empresa
/cantEmp
Vendedor
edad
1..*
1..*
1..*
Producto
produce }
Reglas de Negocio
(Invariante)
1..*
codigo
| vende
69