Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Macro-
Proyeccin ventas Adquisiciones Ventas Servicio postventa
procesos
Segundo Flujo-
grama de
Informacin
RECEPCIN DESPACHO
POR COMPRAS POR VENTAS
Procesos
operativos
Devoluciones Devoluciones
Flujograma : Proceso de Despacho de Productos a Clientes - (Gua Interna de Despacho por Venta )
Emitir Gua de
Despacho
Nota :
1) Este Flujograma no sigue
3 todas las reglas ortodoxas
2 del diseo, sin embargo,
G/D 1
Interna cumple con la funcin de
2 mostrar la emisin de la
G/D 1
Interna Gua de Despacho en su
contexto.
3
2
Recibir
G/D 1 Pago
Interna
2
G/D 1
2 Interna
G/D 1
Normalmente la firma de
Interna
Despachar la Gua de Despacho se-
3 Productos
1 ra en conjunto entre el
Nota de 2 de Bodega
Nota de 1 Despachador y el Cliente.
Venta
Venta. (Copias 1 y 2 ).
G/D 1
Interna G/D 1
Interna G/D 2
Interna
25/09/2002 3
Diseo de Clases:
Diagrama de Casos de Uso
(Casos de Uso Bsicos)
Crear Gua Interna de
Recepcin por Compra
Administrar Sistema de
Encargado Bodega de Recepcin
de Despacho
(Empleado)
Administrar Sistema de
Bodega de Despacho
Administrar Sistema ... Administrador
Son Casos de Uso Genricos que (Empleado)
en el transcurso del anlisis se des-
agregaran en otros Casos de Uso
25/09/2002 4
Diseo de Clases: Gua de Despacho Caso de Uso de Alto Nivel
Caso de Uso: Crear Gua Interna de
Terminal Despacho
Despacho por Venta ( Productos con registro
persistente )
Crear Gua Interna de
Despacho por Venta
R1.5 Capturar la informacin del Cliente usando el RUT (Ingreso Manual) y desplegar datos evidente
pertinentes del Cliente registrados en almacenamiento persistente.
R1.6 Capturar N de Nota de Venta del Cliente (Ingreso Manual), verificar validez ( No Existencia evidente
previa) y desplegarlo.
R1.7 Capturar Fecha (Propia) de Nota de Venta del Cliente (Ingreso Manual) y desplegarla. evidente
R1.9 Registrar la transaccin en proceso: los Productos a despachar. Capturar la informacin del evidente
Producto a despachar usando el Cdigo (interno) (Ingreso Manual).
R1.10 Desplegar la descripcin del Producto registrado en almacenamiento persistente evidente
R1.11 Capturar el Precio al Cliente del Producto (Ingreso manual) y desplegarlo. evidente
R1.12 Capturar la Cantidad de unidades del Producto respectivo (Ingreso manual). y calcular valor de evidente
la lnea actualizando los totales de la Gua de Despacho en la Interfaz al dar OK a la lnea.
R1.13 Grabar en el Detalle de la Gua de Despacho (lnea a lnea) los datos de cada lnea a medida que oculta
se completa y calcula cada una de ellas.
R1.14 Actualizar los valores de existencia y despachado de Productos (evitando doble actualizacin) oculta
al dar OK a la Gua de Despacho en su totalidad.
R1.15 Ofrecer un mecanismo de almacenamiento persistente. oculta
25/09/2002 6
Caso de Uso Expandido
Diseo de Clases :
Terminal Despacho
Caso de Uso: Crear Gua Interna de
Despacho por Venta ( Productos
con registro persistente). Crear Gua Interna de
Despacho por Ventas
Caso de Uso Expandido
Nota : (Craig Larman, 2.7.2, pg. 26):
Los Casos de Uso Expandidos son
Encargado de Despacho
extensas narrativas de descripcin
de un proceso - pueden contener
Cliente
cientos de frases -
Ver tambin: (Craig Larman, 6.3.2, Caso de Uso : Crear Gua Interna de Despacho por Venta
pg. 50)
Actores : Cliente (Iniciador) , Encargado de Despacho (Actor Primario)
Propsito: Capturar Datos de Despacho de Productos Vendidos.
Resumen: Un Cliente contacta a un Encargado de Despacho para solicitar la Entrega de Pro-
ductos que ha pedido, la Transaccin requerida la documenta con una Nota de
Este Caso de Uso comprende
Venta. El Encargado de Despacho verifica los datos indicados por el Documento
desde la Hoja # 7 (la actual) hasta y los ingresa en el Terminal de Despacho, al terminar confirma la Transaccin. El
la Hoja # 11 Cliente recibe la 1 copia de la Nota de Venta firmada por el Encargado de Despa-
cho, quien enva a sus respectivos destinos las copias firmadas de la Gua deDespa-
cho y las restantes de la Nota de Venta ( segn Flujograma del Proceso ).
El Cliente se retira en direccin a la Caja.
Tipo: Primario y real.
Referencias cruzadas: Funciones: R1.1, R1.2, R1.3, R1.4, R1.5, R1.6, R1.7, R1.8
R1.9, R1.10, R1.11, R1.12, R1.13, R1.14, R1.15
25/09/2002 7
Diseo de Clases : Caso de Uso:
Crear Gua Interna de Despacho por Venta
(Expandido ) ( Base Craig Larman )
(Productos con registro persistente) Curso Normal de los Eventos
Accin de los actores Respuestas del Sistema
1. Este caso comienza cuando un Cliente se contacta con un
Encargado de Despacho, presentando una Nota de Venta,
para solicitar que se efecte una Despacho de Productos.
(Peticin)
2. El Encargado de Despacho acuerda realizar la Transaccin.
(Aceptacin del compromiso) y para ello ingresa a la opcin de
Crear Gua de Despacho del Men de Opciones haciendo (Click)
y despus oprimiendo la tecla (Tab). 3. El sistema despliega la interfaz de Creacin de Gua de Despacho,
asigna y despliega automticamente en A el N de Gua de Despacho
4. El Encargado de Despacho verifica visualmente el N de Gua de correlativo correspondiente y en B la fecha del sistema.
Despacho y Fecha ofrecidos por el sistema y a continuacin
ingresa su identificacin (Cdigo) en C. 5. El sistema obtiene y despliega el nombre del Encargado de Despacho
en D.
6. El Encargado de Despacho ingresa en E el RUT del Cliente y
verifica los datos del mismo desplegados por el sistema.
7. El sistema despliega los datos bsicos del Cliente (Razn Social,
8. El Encargado de Despacho ingresa en M, N y O respectivamente Direccin, e-Mail, Comuna, Ciudad, Telfono, Fax) en F, G, H, I, J, K
el N de Nota de Venta, la Fecha de la Nota de Venta y las Condi- y L respectivamente,
ciones de Pago de la Venta.
9. El sistema verifica la validez / no existencia del N de la Nota de
Venta
10. El Encargado de Despacho pasa a la seccin de detalle, en el cual
ingresa el Cdigo del Producto en P. 11. El sistema despliega el N de Lnea en LL, obtiene y despliega la
descripcin del Producto en Q.
12. El Encargado de Despacho verifica los datos del Producto e
ingresa el Precio unitario y la cantidad a despachar en R y
S. Luego oprime (Tab) para grabar la lnea actual y crear una
nueva lnea o terminar el ingreso de datos. 13. El sistema calcula el valor de la lnea ingresada y lo acumula, desplegan-
do los valores en T y U, a la vez que graba la lnea recin completada.
14. Al terminar de ingresar los Productos, el Encargado de Despacho
oprime el botn V para indicar al sistema el fin de la captura de
datos. 15. El sistema calcula los valores subtotales / total y los despliega / re-
16. El Encargado de Despacho cierra la interfaz de Transaccin opri- despliega en los campos T y U, adems actualiza los datos de la
miendo el botn XX para volver al Men de Opciones y entrega la transaccin en el sistema de almacenamiento persistente.
1 copia de la Nota de Venta (firmada) al Cliente (Notificacin de Genera tres copias de la transaccin realizada utilizando la inter-
cumplimiento del compromiso). El Cliente se retira en direccin a faz de salida indicada. Limpia la interfaz de entrada y posiciona el
la Caja. cursor en A
Las restantes copias de la Nota de Venta y Gua Interna de Despacho (fir-
madas), el Encargado de Despacho las enva por la va de comunicacin
preestablecida.
25/09/2002 8
Diseo de Clases :
Caso de Uso ( Expandido ): Crear Gua
Interna de Despacho por Venta
( Productos con registro persistente)
Interfaz de Entrada
Gua Interna de Despacho por Venta N Gua Despacho A
Cdigo Enc. Despacho C Encargado Despacho
D
Fecha Despacho B
Razn Social Cliente
RUT Cliente E - F
Direccin Cliente G e-Mail H
Comuna I Ciudad J Fono K Fax L
Nota de Venta N M Fecha Nota de Venta N Cond. Pago O
Cerrada W Cerrar X XX V
Anulada Y Anular Z Salir Grabar Total acumulado U
25/09/2002 9
Diseo de Clases :
Caso de Uso ( Expandido ): Crear Gua Interna de
Despacho por Venta
( Productos con registro persistente)
Curso Normal
1) Considerar operacion(es) de Cerrado en Encabezado
2) Considerar operacion(es) y flag de Cerrada en Lneas
Excepciones
3) Considerar operacin(es) y flag de Reversado en Encabezado
4) Considerar operacion(es) de Anulado de Encabezado
5) Considerar operacion(es) y flag de Anulada en Lneas
6) Considerar operacion(es) y flag de Reversada en Lneas
7) Considerar operacin(es) de Modificar en Encabezado
8) Considerar operacin(es de Modificar en Encabezado
9) Considerar operacin(es) de Cancelar en Encabezado
10) Considerar operacin(es) de Cancelar en Lneas
25/09/2002 10
Diseo de Clases :
Caso de Uso ( Expandido ): Crear Gua
Interna de Despacho por Venta
( Productos con registro persistente)
Interfaz de Salida
N de Nota de Venta 999.999 Fecha Nota de Venta 99/99/9999 Cond. Pago XXXXXXX
Conforme : Caja
Despachador
Encargado
Cliente Total Neto 99999999,99
Despacho
25/09/2002 11
Diseo de Clases:
Modelo Conceptual (simplificado)
Crear Gua Interna de
Despacho por Venta
(Productos con registro persistente)
Nota : En este modelo se consideran
los conceptos mnimos. En un anlisis Encabezado de
y desarrollo posteriores se podran in- Gua Interna de
cluir conceptos tales como Bodega,
* Despacho por *
Venta
Terminal, Empresa, etc.
N de Gua 1
Emplea- Fecha
dos Cliente Clientes
Nombre Nombre 1
1 RUT
1 Nombre
1..* Direccin
Detalle de Gua
Interna de Despa-
cho por Venta
*
Descripcin Notas de
Productos Precio Venta
1
Cdigo
1 Cantidad
N Nota de Venta
Descripcin Fecha
Precio
25/09/2002 12
Diseo de Clases:
Diagrama de Diseo
de Clases ( Borrador inicial )
Crear Gua Interna de
Despacho por Venta Encabezado de
(Productos con registro persistente) Gua Interna de
Despacho por
Venta
Nota: Segn Craig Larman
( pg.257 ) : Si bien la presen- N de Gua
tacin de los diagramas de clases Fecha
es posterior a la creacin de los Cliente *
diagramas de interaccin, en la prc- Emplea- Nombre 1
tica usualmente se crean en paralelo.
*
dos
Muchas clases, mtodos y relaciones Clientes
pueden bosquejarse tempranamente Nombre
en la etapa de Diseo 1 RUT
1 1 Nombre
1..* Direccin
Detalle de Gua
Interna de Despa-
Nota: Segn Craig Larman cho por Venta
(21.8.4 a 21.8.8 - pgs.262 - 264) * Notas de
Salvo casos especificos, es conve- Descripcin
Productos Precio Venta
niente omitir los mtodos : crear(), 1
modificar(), eliminar() y consultar() Cdigo
1 Cantidad
N Nota de Venta
en los diagramas de clases dado que Descripcion Fecha
no agregan valor y aumentan el Precio
ruido - se consideran implcitos -
25/09/2002 13
Diseo de Clases: Crear Gua
Interna de Despacho por Venta
Diagrama de Secuencia del Sistema
(Productos con registro persistente) Versin en Lenguaje Natural
(Base Craig Larman)
Caso de Uso:
Crear Gua de Despacho :Sistema
( Curso Normal de los Eventos) Encargado de Despacho
Ingresar a la Opcin Crear Gua de Despacho
Obtener / Ingresar(Tab) N de
Gua Despacho y Fecha sistema,
verificar correlativo y fecha.
Ingresar Cdigo del Empleado y Ingresar Cdigo del Empleado en Encabezado
obtener / verificar el nombre del
mismo.
Ingresar RUT del Cliente en Encabezado
Ingresar RUT del Cliente y
obtener / verificar los datos del
mismo.
Ingresar N Nota de Venta, Fecha y C. Pago en Encabezado
Ingresar datos de Nota de Venta
( N Nota, Fecha, Condiciones )
Para cada lnea: Ingresar Cdigo del Producto en Lnea Detalle
Ingresar el Cdigo del
Producto
Obtener / Verificar datos del Reiterar hasta
Producto que no haya
ms Productos Ingresar Precio y Cantidad del Producto
Ingresar precio y cantidad del que ingresar
Producto
Dar OK a la lnea (Grabar) Dar OK a la Lnea de Detalle
Al terminar:
Dar OK al Final para Terminar la Creacin
Dar OK a la Transaccin
(Grabar)
Salir al Men
Salir al Men
25/09/2002 14
Diseo de Clases: Crear Gua Interna
de Despacho por Venta
Diagrama de Secuencia del Sistema Versin llamando los Eventos
(Productos con registro persistente) por su Nombre
(Base Craig Larman) ( equivalente a Operaciones del sistema)
Caso de Uso:
Crear Gua de Despacho :Sistema
( Curso Normal de los Eventos) Encargado de Despacho
crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)
Obtener / Ingresar(Tab) N de
Gua Despacho y Fecha sistema,
verificar correlativo y fecha.
ingresarCodEmpleado(CodigoEmpleado)
Ingresar Cdigo del Empleado y
obtener / verificar el nombre del
mismo.
ingresarRutCliente(RutCliente)
Ingresar RUT del Cliente y
obtener / verificar los datos del
mismo. ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)
Ingresar datos de Nota de Venta
( N Nota, Fecha, Condiciones )
Para cada lnea: ingresarCodProducto(CodigoProducto)
Ingresar el Cdigo del
Producto
Obtener / Verificar datos del Reiterar hasta
Producto que no haya
ms Productos
Ingresar precio y cantidad del que ingresar
ingresarPrecioCantidad(Precio,Cantidad)
Producto
Dar OK a la lnea (Grabar) grabarLnea()
Al terminar:
Dar OK a la Transaccin terminarTransaccin()
(Grabar)
Salir al Men salirAMen()
25/09/2002 15
Diseo de Clases:
Crear Gua Interna de Despacho
por Venta
Operaciones del Sistema
(Productos con registro persistente)
(Base Craig Larman)
Visin Dinmica del Sistema
Sistema
crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)
ingresarCodEmpleado(CodigoEmpleado)
ingresarRutCliente(RutCliente)
ingresarCodProducto(CodigoProducto)
ingresarPrecioCantidad(Precio,Cantidad)
grabarLnea()
terminarTransaccin()
salirAMenu()
25/09/2002 16
Diseo de Clases: Contratos
Crear Gua Interna Contrato
de Despacho Nombre: crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)
por Venta Responsabilidades: Aceptar (Click) en la opcin del Men.Desplegar la Interfaz de Creacin
de Gua de Despacho. Aceptar (Tab) para iniciar el ingreso de la transac-
(Productos con registro cin. Crear instancias de EncGuiaDespVenta y DetGuiaDespVenta, obtener
persistente) y desplegar NumGuiaDespVen, obtener y desplegar FechaV desde la fecha
del sistema, opcionalmente aceptar modificacin manual de la fecha.
(Base Craig Larman) Tipo: Sistema
25/09/2002 18
Diseo de Clases: Contratos
Crear Gua Interna de Contrato
Despacho por Venta
(Productos con registro Nombre: ingresarRutCliente(RutCliente)
Tipo: Sistema
25/09/2002 19
Diseo de Clases: Contratos
Crear Gua Interna de
Despacho por Venta
(Productos con registro Contrato
persistente)
Nombre: ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)
(Base Craig Larman)
Responsabilidades: Aceptar el ingreso de NumNV, FecNV, CPag, verificar no existencia del
N de Nota de Venta en registros del sistema de almacenamiento persis-
tente. A continuacin posicionar el cursor en el campo P.
Tipo: Sistema
Nota: Referencias cruzadas: R1.6, R1.7 y R1.8, R1.15
Los nombres de elementos usados
en los contratos hacen referencia
Notas: Usar Base de Datos MS Access - el Encargado de Despacho oprime
(Tab) para pasar a los sucesivos campos -
al Diagrama de Secuencia de pg. 15,
Excepciones: El N de Nota de Venta ya existe.
al Modelo Funcional de pg. N 32
y al Modelo de Clases de pg. N 33. Salida: N /A
Precondiciones: El sistema conoce a EncGuiaDespVenta.NumNV (Registrado oportuna-
mente con anterioridad). Estn disponibles los Encabezados de Guas de
Despacho previas.
Postcondiciones:
Se despleg NumNV, FecNV, CPag en los campos M, N y O
Se asign NumNV a EncGuiaDespVenta.NumNV (modificacin de atributo)
Se asign FecNV a EncGuiaDespVenta.FecNV (modificacin de atributo)
Se asign CPag a EncGuiaDespVenta.CPag (modificacin de atributo)
Se posicion el cursor en el campo P:Cdigo.
25/09/2002 20
Diseo de Clases: Contratos Contrato
Crear Gua Interna de Nombre: ingresarCodProducto(CodigoProducto)
Despacho por Venta Responsabilidades: Aceptar el ingreso de CodigoProducto. Basado en CodigoProducto, ob-
(Productos con registro tener y desplegar los Datos del Producto registrados en el sistema de
almacenamiento persistente. Al oprimir (Tab) - fin de ingreso de Codi-
persistente)
goProducto - asignar Nmero correlativo a la Instancia de DetGua-
(Base Craig Larman) DespVenta.NumLinea y pasar al campo Q. Si la Descripcin es la cor-
recta pasar (Tab) al campo R: Precio.
Tipo: Sistema
Referencias cruzadas: R1.9, R1.10, R1.15
25/09/2002 21
Diseo de Clases: Contratos
Crear Gua Interna de
Despacho por Venta
(Productos con registro Contrato
persistente)
Nombre: ingresarPrecioCantidad(Precio, Cantidad)
(Base Craig Larman)
Responsabilidades: Aceptar el Precio del Producto del Cliente en R, avanzar con (Tab)
hasta el campo S. Aceptar Cantidad en S.
Si todo est correcto pasar con (Tab) al campo T.
Tipo: Sistema
25/09/2002 22
Diseo de Clases: Contratos Contrato
Crear Gua Interna de Nombre: grabarLnea()
Despacho por Venta
Responsabilidades: Aceptar avance con (Tab) hasta la siguiente lnea de la interfaz, creando
(Productos con registro
una nueva Lnea de DetGuiaDespVenta. Calcular /ValorLnea y desple-
persistente) garlo en T de la lnea previa. Grabar en almacenamiento persistente un
(Base Craig Larman) registro de DetGuiaDespVenta con los datos ingresados/calculados en la
lnea previa (anterior). Calcular /ValorTotal y desplegarlo en U. Posicio-
nar el cursor en P de la nueva lnea.
Tipo: Sistema
Referencias cruzadas: R1.13, R1.15
Notas: Usar Base de Datos MS Access. En este punto el sistema queda listo para
Nota:
reiterar el ingreso de un nuevo cdigo CodigoProducto o caso contrario,
Los nombres de elementos usados pasar a terminarTransaccin()
en los contratos hacen referencia
Excepciones: N /A
al Diagrama de Secuencia de pg. 15,
al Modelo Funcional de pg. N 32 Salida: N /A
y al Modelo de Clases de pg. N 33.
Precondiciones: N/A
Postcondiciones: Se calcul /ValorLnea y se despleg en T
Se calcul/recalcul /ValorTotal y se despleg/redespleg en U.
Se asign /ValorLnea a DetGuiaDespVenta./ValorLnea
( modificacin de atributo )
Se grab en almacenamiento persistente el registro de DetGuiaDespVenta
recin completado
Se cre una nueva Lnea de DetGuiaDespVenta (creacin de instancia)
Se asoci la nueva Lnea de DetGuiaDespVenta a EncGuiaDespVenta
(asociacin formada)
Se posicion el cursor en P de la nueva Lnea de DetGuiaDespVenta.
25/09/2002 23
Diseo de Clases: Contratos Contrato
Crear Gua Interna de
Nombre: terminarTransaccin()
Despacho por Venta
Responsabilidades: Aceptar (click) del Botn V (Grabar). Recalcular /ValorTotal y redesple-
(Productos con registro garlo en U. Grabar en almacenamiento persistente la instancia actual de
persistente) EncGuiaDespVenta.Limpiar los datos desplegados en la interfaz. Actua-
(Base Craig Larman) lizar Productos.Existencia, Productos.Despachado y DetGuiaDesp-
Venta.notAct. Posicionar en A el cursor.
Tipo: Sistema
Notas: Usar Base de Datos MS Access. Al terminar, el sistema queda listo pa-
Nota:
ra ingresar una nueva transaccin o volver al Men de opciones.
Los nombres de elementos usados Excepciones: Productos.Existencia y Productos.Despachado ya fueron actualizados.
en los contratos hacen referencia Salida: N /A
al Diagrama de Secuencia de pg. 15, Precondiciones: N /A
al Modelo Funcional de pg. N 32
y al Modelo de Clases de pg. N 33. Postcondiciones: Se activ onClick_CBGrabar de commandGrabar
Se recalcul /ValorTotal y se grab/regrab en almacenamiento persistente la
instancia EncGuiaDespVenta y las lneas completadas DetGuiaDespVenta.
Se verific notAct() de DetGuiaDespVenta y se actualiz Productos.Existencia,
Productos.Despachado, regrabando los registros de Productos afectados por la
transaccin (modificacin de atributo), despus de ello, se le asign el valor
false al atributo DetGuiaDespVenta.notAct (modificacin de atributo), regra-
bando los registros correspondientes de DetGuiaDespVenta.
Se cre una nueva EncGuiaDespVenta (creacin de instancia) (en blanco)
La nueva EncGuiaDespVenta fue asociada a Terminal (asociacin formada)
Se cre una nueva DetGuiaDespVenta ( creacin de instancia) (en blanco)
Se asoci la nueva instancia de DetGuiaDespVenta a EncGuiaDespVenta
(asociacin formada)
Se posicion el cursor en A, esperando la prxima accin del usuario.
25/09/2002 24
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin
ingresarOpcion(CrearGuiaDespacho)
(Productos con registro persistente)
(Base Craig Larman)
siguiente():NumGuia
ahora():Fecha
1:NumGuiaDespVen := siguiente():NumGuia
t1:Terminal :EncGuiaDespVenta
El mensaje invoca un mtodo de
clase ( no de instancia ), especficamente
el mtodo ahora() de la clase Fecha
2:FechaV := ahora():Fecha
Fecha
crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)
25/09/2002 25
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin
ingresarCodEmpleado(CodigoEmpleado)
ingresarRutCliente(RutCliente)
(Productos con registro persistente) ingresarCodEmpleado(CodigoEmpleado)
(Base Craig Larman)
1:ingresarCodEmpleado(CodigoEmpleado)
t1:Terminal d1:EncGuiaDespVenta
1.1:Nombre := consultar(CodigoEmpleado)
e1:Empleados
ingresarRutCliente (RutCliente)
2:ingresarRutCliente (RutCliente)
t1:Terminal d1:EncGuiaDespVenta
c1:Clientes
25/09/2002 26
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin
ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)
(Productos con registro persistente)
(Base Craig Larman)
La instancia especfica :
d1:EncGuaDespVenta hace la con- ll:DetGuiaDespVenta
sulta a los Encabezados de Gua anterio-
res. ( Condicin de NO existencia previa )
25/09/2002 27
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin
ingresarCodProducto(CodigoProducto)
(Productos con registro persistente)
(Base Craig Larman)
ingresarCodProducto(CodigoProducto)
siguiente () : NumLinea
1:ingresarCodProducto(CodigoProducto)
2 *:[i:=1...6] NumLnea:= siguiente () : NumLinea
t1:Terminal d1:EncGuiaDespVenta
1.1:aceptarCodigo(CodigoProducto)
2.2:crearLinea(NumLinea)
1.2:Descripcion := consultar(CodigoProducto)
ll:DetGuiaDespVenta
b1:Productos
Omisin del Contenedor de Lneas
Nota: Segn Craig Larman
( 21.8.6 - pg.262 ) : Un mensaje
a un multiobjeto se interpreta como
un mensaje al objeto contenedor / colec-
cin en s mismo... estas clases ( tales como
java.util.Vector... ) son clases predefinidas
de la biblioteca de clases... no es til mos-
trarlas explcitamente... agregan ruido
pero poca informacin nueva.
25/09/2002 28
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin
ingresarPrecioCantidad(Precio, Cantidad)
grabarLnea()
ingresarPrecioCantidad(Precio, Cantidad)
(Productos con registro persistente)
(Base Craig Larman)
1:ingresarPrecioCantidad(Precio, Cantidad)
t1:Terminal d1:EncGuiaDespVenta
1.1:aceptarDatos(Precio, Cantidad)
calcularTotales()
ll:DetGuiaDespVentaa
2: /ValorTotal := calcularTotales()
t1:Terminal d1:EncGuiaDespVenta
ll:DetGuiaDespVenta
25/09/2002 29
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin Este Diagrama reitera lo indicado
en grabarLnea() al recalcular los
terminarTransaccion() totales ( se expone por completitud )
(Primera Parte)
calcularTotales()
(Productos con registro persistente)
(Base Craig Larman) 1: /ValorTotal := calcularTotales()
d1:EncGuiaDespVenta
t1:Terminal
restarExistencia(CodigoProducto, Cantidad)
sumarDespachado(CodigoProducto, Cantidad) ll:DetGuiaDespVenta
25/09/2002 30
Diseo de Clases:
Creacin de EncGuiaDespVenta
Diagramas de Colaboracin Esta Segunda Parte del Diagrama
de terminarTransaccin() reitera
terminarTransaccion() lo indicado en pg 25 ingresarOpcin()
(Segunda Parte) ( se expone por completitud )
3:NumGuiaDespVen := siguiente():NumGuia
t1:Terminal :EncGuiaDespVenta
4:FechaV := ahora():Fecha
Fecha
crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)
l1:DetGuiaDespVenta
25/09/2002 31
Encabezado de Gua
de Despacho Clientes
Diseo de Clases : N Guia de Despacho
C/E, msg1, msg2, C/E y msg4
Modelo Funcional RUT Cliente msg6 y msg10 RUT Cliente
N Nota de Venta Razn Social
(Detallado y Generalizado) Fecha Despacho Direccin
Crear Gua Interna de Cdigo Empleado Terminal e_Mail
Fecha Nota de Venta
Despacho por Venta Condicin de Pago Encabezado, detalle y totales segn Comuna
/ Valor Total formato de pantalla adjunto. Ciudad
(Productos con Registro Pas
Transaccin Cerrada 1.Cargar correlativo y fecha de sistema
persistente) Transaccin Anulada 2. Aceptar datos. Contacto
3. Enviar mensajes de C/E a registros. Fono
1. Crear Encabezado()
4. Enviar mensajes de consulta de datos Fax
2. Aceptar datos()
5. Calcular totales cumulativos
6. Calcular Totales() 4. Consultar datos()
6. Enviar mensajes de actualizacin de
7. Cerrar Transaccin()
existencias y actualizar lnea a lnea
8. Anular Transaccin()
el registro de la transaccin Empleados
9. Copiar Transaccin()
10. Siguiente() C/E y msg4
Cdigo
Empleado
C/E, msg1, msg2, msg3,
C/E, msg4, Productos Nombre
msg6, msg10 y msg11
msg7, msg9 ...
Detalle de Gua de Cdigo Producto
y msg10 Descripcin
Despacho 4. Consultar datos()
N Lnea U.Medida
Cdigo Producto Precio
Precio Costo Unitario
Cantidad C/E y msg4
/ Valor lnea Existencia Inicial
notAct Existencia Notas de
Lnea Cerrada Recibido Venta
Lnea Anulada Despachado
4. Consultar datos() N Nota
1. Crear Lnea()
2. Aceptar Codigo() Al crear la lnea 6. Sumar Existencia() de Venta
de detalle, notAct se 7. Restar Existencia()
3. Aceptar datos() incializa a: true
Datos
6. Calcular Valor() 8. Sumar Recibido()
7. Cerrar Lnea() 9. Sumar Despachado() 4. Consultar datos()
8. Anular Lnea() 10. Existencia Negativa()
9. Copiar Lnea() 11. Calcular CPP()
25/09/2002 10. Siguiente() 32
11. notAct()
Diseo de Clases : Modelo de Datos EncGuaDespVenta
Diagrama de Diseo de Clases * NumGuaDespVen
RUTCliente
Crear Gua Interna de Clientes
NumNV
FechaV
1 CdigoEmpleado *
Despacho por Venta 1 FecNV Empleados
RUTCliente CPag
(Productos con Registro RaznSocial /ValorTotal CdigoEmpleado
TransaccinCerrada 1
persistente) Direccin TransaccinAnulada Nombre
eMail crearEncGuiaDespVenta()
Comuna ingresarCodEmpleado()
Dentro de los requerimientos, ingresarRutCliente()
podra sustituirse por la consulta Ciudad ingresarNumNVFechaNVCond()
a los Encabezados de Gua anteriores. Pas ingresarCodProducto()
ingresarPrecioCantidad()
( Condicin de NO existencia previa ) Contacto restarExistencia()
Fono sumarDespachado()
calcularTotales() Agregado para clarificar
Fax cerrarTransaccin() contexto, en principio es una
anularTransaccin() lista de valores posibles
Notas de
copiarTransaccin()
Venta siguiente()
1 1
NumNV 1..*
RUTCliente
Productos DetGuaDespVenta
FechaNV
etc... CodigoProducto NumLinea
Descripcin 1 CodigoProducto
UMedida * Precio
Precio Cantidad
/ValorLnea
CostoUnitario notAct
ExistenciaInicial LneaCerrada
Nota: Segn Craig Larman Existencia LneaAnulada
(21.8.4 a 21.8.8 - pgs.262 - 264) Recibido crearDetGuiaDespVenta()
Salvo casos especificos, es conve- Despachado crearLnea() Al crear la lnea
niente omitir los mtodos : crear(), aceptarCodigo() de detalle, notAct se
modificar(), eliminar() y consultar() sumarExistencia() aceptarDatos() incializa a: true
en los diagramas de clases dado que restarExistencia() calcularValor()
no agregan valor y aumentan el restarExistencia()
sumarRecibido()
ruido - se consideran implcitos - sumarDespachado()
sumarDespachado() cerrarLnea()
existenciaNegativa() anularLnea()
calcularCPP() copiarLnea()
25/09/2002 siguiente() 33
notAct()