Del Modelo Conceptual a los
Diagramas de Clases
A. Soriano1,2
1 Universidad Central de Venezuela 2 Universidad Simón Bolivar
Octubre 2005
Caso de Estudio: Point of Sale : POS
2
Proceso Unificado:
Referencia Básica
Craig Larman
“Applying UML and Patterns: An Introduction to
Object Oriented Analysis and Design and the
Unified Process”
Segunda edición
3
Oct 2005 A Soriano
Proceso Unificado:
Referencias Complementarias
“El Proceso unificado de desarrollo de Software”
I. Jacobson, G. Booch y J.Rumbaugh
Addison Wesley - Pearson Education 1999
“The Rational Unified Process”
Ph. Kruchten
Addison Wesley 2000
“El Lenguaje Unificado de Modelado: Manual de Referencia”
J.Rumbaugh, I. Jacobson y G. Booch
Addison Wesley - Pearson Education 2000.
4
- Computador,
- Lector de código de barra
- Sofware del Sistema.
- registrar ventas
- manejar los pagos
Caso de Estudio:
Sistema de Punto de Venta
Punto de Venta para ventas al detal: POS (
P
oint
o
f
S
ale)
Uso principal:
Compuesto por:
Ilustración extraída de: Appliyng UML and patterns. 2° ediciónC. Larman Prentice Hall. 2002
Caso de Estudio:POS
5
Oct 2005 A Soriano
1° iteración Casos de Uso
Servicio de
Autorizaciones de Pago
<<actor>>
Sistema de
Suscripciones
<<actor>>
Sistema Calculador
de Impuestos
Manejar Seguridad Manejar Usuarios Analizar Actividad Procesar Venta Manejar Devoluciones AlquilarCajero
Administrador del
Sistema
<<actor>>
Sistema de
Actividad de Ventas
CobrarPOS
POS
Servicio de
Autorizaciones de Pago
<<actor>>
Sistema de
Suscripciones
<<actor>>
Sistema Calculador
de Impuestos
Administrador del
Sistema
<<actor>>
Sistema de
Actividad de Ventas
Manejar Seguridad Manejar Usuarios Analizar ActividadPOS
Procesar Venta<<actor>>
Sistema Calculador
de Impuestos
6Modelo del dominio:
agregando clases y asociaciones
Producto
Punto de
Venta
Tienda
LíneaDe VentaDe ProductoPago
_________
monto
Venta
1..* 1..* O..1 * 1 Registra-venta-de registra-en Almacenado-en Tiene Contenida-en Cancelado-porCliente
Cajero
Manager
Descripción
Producto
Descritas-porCatalogo
Producto
Iniciado-por Iniciado-por Iniciada-por * 1..* *√
√
√
√
√
Caso de Estudio:POS
7
Oct 2005 A Soriano
Modelo del dominio:
agregando atributos
Producto Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* O..1 1 * 1 1 1 Registra-venta-de registra-en Almacenado-en Tiene Contenida-en Cancelado-porCliente Cajero Gerente
Descritas-por Catalogo Producto Iniciado-por Iniciado-por Iniciada-por * 1 1..* *
√
√
√
Descripción Producto descripción precio id 1√
√
Caso de Estudio:POS
8Simplificando el modelo para la iteración
1) No almacenaremos información del
cliente, ni del cajero, ni del gerente
2) No tendremos objetos específicos para
cada uno de los productos en existencia
9
Oct 2005 A Soriano
Modelo del dominio:
Simplificando el modelo para la iteración
Producto Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* O..1 1 * 1 1 1 Registra-venta-de registra-en Almacenado-en Tiene Contenida-en Cancelado-por
Cliente Cajero Gerente
Descritas-por Catalogo Producto Iniciado-por Iniciado-por Iniciada-por * 1 1..* * Descripción Producto descripción precio id 1 1 2 3 4 5 5 6 10
Modelo del dominio:
Simplificando el modelo para la iteración
Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* 1 1 Tiene Contenida-en Cancelado-por Descritas-por Catalogo Producto Iniciado-por * 1 * Descripción Producto descripción precio id 1
11
Oct 2005 A Soriano
Identificando agregaciones
12
Modelo del dominio:
colocando agregaciones
Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* 1 Tiene Cancelado-por Descripción Producto descripción precio id Descritas-por Catalogo Producto Iniciado-por * 1 * 113
Oct 2005 A Soriano
Colocando Calificadores
14
Modelo del dominio:
colocando calificadores
Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* 1 Tiene Cancelado-por Descripción Producto Descripcion precio id Descritas-por Catalogo Producto Iniciado-por * 1 * 1 CUP15
Oct 2005 A Soriano
Modelo del dominio:
Restricciones de Integridad
• monto del pago
≥
total de la venta
• costo de un producto en un renglón acorde con
la especificación
• solo se venden productos del catálogo de la
tienda
• el Punto de Venta al que se asocia una venta
debe estar alojado en la tienda donde se realiza
la venta
16
Modelo del dominio:
Identificando las capas
Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* 1 Tiene Cancelado-por Descripción Producto Descripcion precio id Descritas-por Catalogo Producto Iniciado-por * 1 * 1 CUP
Lógica
de la Aplica
ción
Repositorio de Datos
17
Oct 2005 A Soriano
¿Qué elemento de la lógica de la
Aplicación controlará el flujo de eventos
del caso de uso?
18
1° iteración
Diagramas de Secuencia de Procesar Venta
:Cajero
:Sistema
iniciarVenta()
pagar(monto) vuelto y factura total con impuestos
terminarVenta() introducirProducto(cod,cantidad)
descripción, subtotal
19
Oct 2005 A Soriano
Identificando las capas
Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* 1 Tiene Cancelado-por Descripción Producto Descripcion precio id Descritas-por Catalogo Producto Iniciado-por * 1 * 1 CUP
Lógica
de la Aplica
ción
Repositorio de Datos
PuntoDe Venta 20Identificando las operaciones del
Punto de Venta
iniciarVenta()
pagar(monto)
terminarVenta()
introducirProducto(cod,cantidad)
PuntoDeVenta
21
Oct 2005 A Soriano
¿Quién será el responsable de la
mediación con el Repositorio de Datos?
22
Identificando las capas
Punto de Venta Tienda dirección nombre LíneaDe VentaDe Producto cantidad Pago monto Venta fecha hora 1..* 1..* 1 Tiene Cancelado-por Descripción Producto Descripcion precio id Descritas-por Catalogo Producto Iniciado-por * 1 * 1 CUP
Lógica
de la Aplica
ción
Repositorio de Datos
PuntoDe VentaMediador a
Repositorio
23
Oct 2005 A Soriano