Universidad CAECE
Año 2005
I
I
n
n
t
t
r
r
o
o
d
d
u
u
c
c
c
c
i
i
ó
ó
n
n
El siguiente ejemplo muestra la aplicación del proceso de desarrollo de software según Ivar Jacobson. En muchos de los pasos el método ha sido aplicado en forma dogmática. Esto lleva a que puedan realizarse optimizaciones sobre el resultado, las cuales serán llevadas a cabo por los alumnos como trabajo práctico.
Enunciado
Se lo ha convocado para participar en un proyecto de mejora de una empresa concesionaria de venta de automóviles. El problema que trata de solucionarse es que muchas veces no se mantiene el orden de llegada de los pedidos y algunos clientes deben esperar mucho mas que otros.
Los autos son entregados a los clientes luego que la fábrica los libera. El auto es llevado a la sucursal donde el cliente solicitó que le sea entregado el auto. No puede entregarse el automóvil si este no fue patentado ante el registro del automotor y si el mismo no fue pagado totalmente. No se venden autos a crédito.
Cuando un cliente realiza un pedido de una unidad, debe indicar marca, modelo y color elegidos. El vendedor en dicho momento confecciona un formulario de reserva en cual figuran, además de los datos anteriores, el precio convenido y la seña.
Todos los pagos, señas, saldo u otros, deben ser cursados en una sucursal de los bancos indicados, mediante un depósito en una de las cuentas de la empresa. La seña se paga dentro de las 48 Hs de la reserva, y el saldo dentro de siguientes 5 días desde que se le avisó al cliente que ya está disponible su unidad en el depósito (de la sucursal), luego de los 5 días se le cobra un costo por estacionamiento. Pasados los 20 días se cancela la reserva perdiendo el cliente el derecho a reclamo, tanto del auto como de la seña.
El taller debe realizar una inspección del auto antes de ser entregado al cliente y dentro de las 24 hs de recibido por parte de la fábrica. Si hubiera algún inconveniente (mala terminación, no funciona bien) la sucursal debe avisar a la fábrica y devolver la unidad. Nota, el control de si la unidad corresponde al modelo y color de alguno de los pedidos pendientes, debe realizarse en el momento de recibir el auto desde fábrica. Si no correspondiera con ninguno de los pedidos se debe devolver el auto en forma inmediata (no se baja del camión).
Los pedidos a la fábrica suelen realizarse los viernes, para todos los pedidos que fueron señados. Si un pedido no fue señado dentro de las 48 Hs se cancela la reserva.
Su trabajo consiste en:
1. Construir un modelo de objetos del dominio
2. Indicar los actores del Sistemas y brevemente sus responsabilidades
3. Describir el caso de uso de negocio principal (completo) y enumerar los casos de uso restante 4. Construir el modelo de objetos (Análisis)
5. Indicar una posible asignación al software y derivar los casos de uso de la aplicación (Sistema de Software) 6. Describir uno de los principales casos de uso de aplicación
7. Realizar el modelo de objetos de la aplicación
E
E
s
s
t
t
u
u
d
d
i
i
o
o
d
d
e
e
l
l
C
C
o
o
n
n
t
t
e
e
x
x
t
t
o
o
d
d
e
e
l
l
P
P
r
r
o
o
b
b
l
l
e
e
m
m
a
a
El modelo de negocio
Análisis de Dominio
“El análisis de dominio captura los tipos de objetos mas importantes en el contexto del sistema. Los objetos de dominio representan las "cosas" que existen o los eventos que ocurren en el ambiente dentro del cual trabaja el sistema”.
Lista de Objetos candidatos
Pedido Registro del
Automotor
Color Banco
Cliente Patente Vendedor Depósito
Automóvil Pago Seña Reserva
Fábrica Marca Saldo Unidad
Sucursal Modelo Precio convenido Taller
Primer Diccionario de conceptos
Uso1 Concepto Descripción
Pedido El acto por el cual el cliente solicita un automóvil
Cliente Quién solicita los servicios de la concesionaria para poder acceder a su automóvil
Automóvil El objeto del negocio.
Fábrica Quién produce los automóviles
Sucursal Cada una de los lugares donde se atiende a los clientes -- Registro del Automotor Entidad gubernamental que patenta los automóviles Atr Patente Identificación del automóvil en el Registro del automotor Pago El acto por el cual el cliente entrega dinero a la concesionaria Atr Marca Identificación que el Fabricante da a su línea de productos Atr Modelo Identificación particular de un determinado tipo de automóvil de
cierta marca
Atr Color Característica del automóvil. Corresponde al color de su carrocería
Vendedor Empleado de la Concesionaria encargado de atender al cliente a fin de llevar a cabo la venta
Atr Seña Tipo de pago en el cual se abona una parte de la deuda total a fin de que sirva como garantía de la intención de compra y el valor del mismo
Atr Saldo Importe que resta pagar para cancelar la deuda de la compra Atr Precio convenido Valor fijado para el automóvil y acordado en la venta
Banco Entidad externa a la concesionaria contratada para la cobranza de las deudas de los clientes con la concesionario
Sin Depósito Acción de entregar al Banco una suma de dinero para ser acreditada en una cuenta, en este caso como acto de pago Sin Reserva En este caso es el objeto para el cual se realiza el pedido.
Sin Unidad Cada uno de los automóviles
-- Taller Lugar de la concesionaria donde se realizan las revisiones técnicas
1
Nomenclatura: (Concepto modelado como Objeto), Sin (concepto sinónimo de otro, se utilizará el otro concepto en lugar de éste), Atr (el concepto simplemente descrie una característica simple de un objeto a lo cual no se lo representará como objeto en sí), -- (el concepto no será utilizado)
Diagrama Modelo del Dominio
Cliente Vendedor Sucursal Banco Automóvil Fábrica fabrica Pedido cliente unidad asignada vendedor sucursal Pago banco pedido señaDesarrollo del Modelo de Negocio
A
A
c
c
t
t
o
o
r
r
e
e
s
s
d
d
e
e
l
l
N
N
e
e
g
g
o
o
c
c
i
i
o
o
Actor Descripción Responsabilidades2
Cliente Es quién intenta adquirir un automóvil Realizar pedido Pagar Seña
Pagar Saldo de Compra Llevarse al automóvil Fábrica Es quién provee los automóviles que
deben ser entregados a los clientes
Recibir Pedido de Unidad Entregar Automóvil
Retirar automóvil que no cumple con las características solicitadas
Banco Empresa que ofrece el servicio de cobranza a la Concesionaria
Recibir depósitos en concepto de pagos de seña y saldos por parte de los clientes de la concesionario
Registro del Automotor
Entidad gubernamental que patenta los automóviles
Entregar la Patente del Automóvil
Casos de Uso de Negocio
De los dos actores podemos ver que el Cliente es quien hace un uso fundamental de la concesionaria, pues es el que compra (al que le vendemos). Por ello comenzaré con él.
Comprando Automóvil
1. El cliente solicita una Automóvil indicando Marca, Modelo y Color
1. El Sistema (Vendedor) confecciona un Pedido (Reserva) con los datos indicados y el Precio y Señas convenidos.
2
2. El cliente concurre a una Sucursal del Banco y abona la Reserva mediante un depósito en una de las Cuentas del Banco
2. El Sistema realiza la solicitud de la unidad a la Fábrica 3. La Fábrica libera la unidad entregándola en la Sucursal indicada
3. El Sistema recibe la unidad y verifica que correspondan a las características de algún Pedido pendiente
4. El Sistema (Taller) verifica el buen estado técnico del automóvil 5. El Sistema avisa al Cliente que ya tiene disponible la unidad
4. El Cliente realiza el pago del Saldo y se presenta en la Sucursal a retirar la Unidad
6. El Sistema verifica que se haya pagado completamente y que el Automóvil esté Patentado 7. El Sistema entrega el Automóvil
5. El Cliente3 se lleva su auto
Alternativas
En cliente no paga la reserva
8. El Sistema cancela la Reserva al detectar que pasadas las 24 Hs el Pedido no fue señado 9. Termina el Caso de uso
La unidad entregada por la Fábrica no corresponde a ningún pedido de la sucursal
10. El Sistema rechaza la unidad la cual NO se ingresa a la Concesionaria 11. El Sistema continua esperando la llegada de la unidad solicitada
La unidad entregada por la Fábrica tiene fallas técnicas
12. Luego de realizar la Inspección Técncia el Sistema detecta que la unidad tiene problemas técnicas. Entonces solicita a la Fábrica que se lleve la unidad
6. La Fábrica concurre a la Sucursal y retira la Unidad
13. El Sistema anula la recepción de la misma y continúa esperando que la Fábrica la envíe
El cliente no retira el automóvil
14. Pasados los 20 días de avisado al Cliente que su unidad está disponible, el Sistema cancela la reserva y termina el casos de uso
El automóvil no está pago
15. Cuando el Cliente pasa por la sucursal a retirar el Automóvil el Sistema detecta que el mismo no está Pago.
16. Informa al Cliente de dicha eventualidad y NO entrega la unidad 17. Continúa esperando a que el Cliente pague y vuelva a retirar el automóvil
El Cliente pasa a retirar el automóvil después del quinto días de que se le avisó pero antes del vigésimo
18. El Sistema calcula la suma por Costo de Estacionamiento
19. Continua el casos de uso con la verificación normal del pago pero incluyendo el saldo de la unidad mas éste costo
El Cliente pasa a retirar el automóvil pero éste no está patentado
20. El Sistema detecta que el automóvil no está Patentado a lo cual NO entrega la unidad 21. ASD y continúa esperando que el Cliente vuelva a retirar la unidad
Problemas detectados pendientes de resolución
1. ¿Qué pasa si el Cliente paga la reserva después de las 24 Hs? 2. ¿Cómo se entera la Concesionaria que el Cliente pagó la reserva? 3. ¿Qué pasa si la Fábrica no entrega la unidad en ASD días? 4. ¿Qué se hace con la seña de automóviles no retirados? 5. ¿Qué se hace con el automóvil no retirado?
6. ¿Qué se hace si el Cliente pagó el saldo del automóvil y no lo retiró? 7. ¿Qué se hace si el Cliente pasa a retirar el automóvil luego de los 20 días? 8. ¿Quién patenta el automóvil?
9. ¿Cómo se entera la Concesionaria que el Cliente pagó el saldo?
3
Diagrama de Casos de Uso de Negocio
A:Cliente Comprando Automóvil A:Fabrica
A:Registro del Automotor
Modelo de Análisis del Negocio
Modelo de Objetos de Negocio
I: Vendedor A:Fabrica I: Cobrador Pago Pedido pedido seña Automóvil unidad asignada Taller I: Almacén A:Cliente A: Banco
Responsabilidad de los Objetos
Objeto Estereotipo Responsabilidades
Vendedor Entidad Recibir el pedido del cliente y registrarlo Informarle el precio de la unidad Convenir un precio con éste
Pedido Control Mantener información de lo solicitado por el cliente
Mantener información que permita saber el estado del mismo Cobrador Entidad Averiguar y registrar los pagos de los cliente
Informar a fábrica cuando se recibe la seña
Pago Entidad Mantener información del dinero entregado por los clientes para cancelar deudas
Automóvil Entidad Mantener información de la unidad existente en la Sucursal Taller Interfaces Efectuar la revisión técnica a las unidades e informar de las
unidades con inconvenientes Almacén Entidad Recibir las unidades de la fábrica
Verificar que la misma corresponda con algún pedido Entregar los automóviles a los Clientes
D
D
e
e
r
r
i
i
v
v
a
a
c
c
i
i
ó
ó
n
n
d
d
e
e
l
l
S
S
i
i
s
s
t
t
e
e
m
m
a
a
d
d
e
e
S
S
o
o
f
f
t
t
w
w
a
a
r
r
e
e
En base a cada Objeto de Interface y a cada Objeto de Control, es posible asignar a cada uno de ellos el rol de una o grupo de personas (Trabajadores) de la organización que lleve o lleven a cabo las responsabilidades del mismo. A dicha persona se le pondrá un Sistema de Software (el Sistema) que lo apoye en su gestión.
Para ello se exigirá del sistema las funciones necesarias para cada responsabilidad del Trabajador al que da soporte. Estos trabajadores serán entonces “Actores” del Sistema (de Software).
Actores
Objeto Responsabilidades4
Vendedor Registrar el Pedido del Cliente Cobrador Registrar los pagos de los Clientes
Emitir las solicitudes a Fábrica del envío de Unidades Almacén Consultar los pedidos existentes
Registrar la Recepción de Unidades Registrar el estado de Pagos de un pedido Registrar la Entrega de las unidades Taller Registrar el estado técnica de una unidad
Casos de Uso
AS: Vendedor Recibiendo pedido AS: Cobrador Recibiendo Pagos Recibiendo Unidades AS: Taller Evaluando Unidad Entregando Unidad AS: Almacén Devolviendo unidad 4Recibiendo pedido
Nombre Recibiendo pedido
Id CU-1
Actor principal Vendedor Actor secundario
Resumen El Vendedor registra un nuevo pedido Precondiciones
Flujo de Eventos 7. El Vendedor solicita ingresar un pedido, indica datos del comprador
22. El sistema presenta la lista de Marcas y Modelos disponibles 8. El Vendedor selecciona los indicados por el usuario
23. El sistema presenta el precio estándar del automóvil 9. El Vendedor indica el precio convenido y el valor de la seña
24. El sistema registra el Pedido Postcondiciones Existe un nuevo pedido pendiente
Flujos alternativos y excepciones
Cancelando
10. El Vendedor cancela la operación
25. Termina el caso de uso sin registrarse nada Prioridad
Requerimientos No Funcionales
Existe ASD sucursales.
Se tienen hasta ASD Vendedores por sucursal. Todos pueden estar creando pedidos simultáneamente.
Se atienden ASD Pedidos por vendedor por día. Se concretan el ASD% de los intentos
Suposiciones
Temas pendientes ¿Se controla el valor acordado con algún límite respecto del precio de la unidad?
Recibiendo pago
Nombre Recibiendo pago
Id CU-2
Actor principal Cobrador Actor secundario Fábrica
Resumen El Cobrador consulta los depósitos de los Clientes a fin de registrar los pagos. Si se pagan señas, dispara la solicitud a la fábrica
Precondiciones
Flujo de Eventos 11. El Cobrador consulta el estado de Cuenta Bancaria y al detectar nuevos depósitos correspondientes a pagos de cliente, solicita ingresar un Pago, indicando los datos del Cliente
26. El sistema presenta el Pedido del Cliente indicado 12. El Vendedor indica el valor Pagado y ASD datos
27. El sistema registra el Pago
28. Si el mismo corresponde a la Seña de la unidad, el Sistema informa al Cobrador para que este curse el pedido a la Fábrica Postcondiciones Existe nuevos pagos
Se pueden haber realizado pedidos a la Fábrica Flujos alternativos y
excepciones
Cancelando
13. El Cobrador cancela la operación
29. Termina el caso de uso sin registrarse nada
El Pedido tiene vencido el Pago de la Seña
30. Cuando el Vendedor indica el Valor pagado el Sistema detecta que el Pedido estuvo con mas de 5 días sin la seña paga. 31. Registra el Pago pero no emite aviso de cursar el pedido. 32. El Sistema le informa al Cobrador de la eventualidad Prioridad
Requerimientos No Funcionales
La cantidad de pagos es similar al doble de la cantidad de pedidos (uno por la seña y uno por el saldo)
Suposiciones
Temas pendientes ¿Cómo se relaciona el depósito con el Pedido que le corresponde?
Recibiendo Unidad
Nombre Recibiendo Unidad
Id CU-3
Actor principal Almacén (Encargado de) Actor secundario Taller
Resumen El Almacén recibe el automóvil de la Fábrica verificando que corresponda Precondiciones
Flujo de Eventos 14. El Almacén indica el ingreso de un Automóvil. Para indica Marca, Modelo y Color
33. El Sistema busca el Pedido pendiente mas antiguo que haya solicitado dicho automóvil
15. El Almacén indica los datos del vehículo (ASD) 34. El Sistema registra la llegada de la unidad Postcondiciones Se recibieron unidades para entregar
Flujos alternativos y excepciones
Cancelando
16. El Almacén cancela la operación
35. Termina el caso de uso sin registrarse nada
No se tiene pedido pendiente para dicho automóvil
36. Al buscar Pedido pendiente, no se encuentra ninguno con dichas características
37. Se le informa al Almacén y termina el caso de uso sin registrar entrada
38. Se le informa a Taller la disponibilidad de la nueva unidad Prioridad
Requerimientos No Funcionales
Al llegar el camión de la Fábrica se reciben ASD unidades y debe despacharse en no mas de ASD minutos
Se estima unas ASD entregas semanales Suposiciones
Temas pendientes
Evaluando unidad
Nombre Evaluando Unidad
Actor principal Taller Actor secundario Vendedor
Resumen El Taller evalúa técnica la unidad para aprobar la misma Precondiciones Hay unidades pendientes de Verificar
Flujo de Eventos 17. El Taller selecciona una unidad para evaluar
39. El Sistema le presenta la información de la Unidad indicada 18. El Taller aprueba el estado de la unidad
40. El Sistema registra la aprobación
41. El Sistema le informa al vendedor que hay una unidad disponible para ser entregada
19. El Vendedor le comunica al Cliente que puede pasar a buscar la unidad (luego de pagar)
Postcondiciones Se aprobaron unidades Flujos alternativos y
excepciones
Cancelando
20. El Taller cancela la operación
42. Termina el caso de uso sin registrarse nada Prioridad
Requerimientos No Funcionales
La misma cantidad de unidades recibidas son las que deben revisarse Suposiciones Temas pendientes
Devolviendo unidad
21.Entregando unidad
22.Análisis
Recibiendo pedido
Pedido AS: Vendedor Nuevo Pedido IURecibiendo pago
Pago Asignador Pagos
AS: Cobrador
Solicitud Pedido a Fábrica Nuevo Pago Pedido pedido seña