Está en la página 1de 33

Evolucin Informtica S.A.

Clases de Software del


Mtodo Genrico de Desarrollo de
Sistemas de Informacin

Son modelos de Anlisis y Diseo, principalmente


con base en UML
Comienza desde mapa de procesos y flujograma de
informacin
Clase 2: Despacho por Ventas
MAPA DE PROCESOS
(como parte del Modelo de Negocios)

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 )

Encargado Despachador Depto. de Depto. de


Cliente Cajero
de Despacho (Bodega) Contabilidad Ventas
3 3
2 2
Nota de 1 Nota de 1
Venta 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

Crear Gua Interna de


Despacho por Venta Proveedor
Encargado
de Recepcin
(Empleado)
Administrador,
Encargado de Recepcin, Iniciar Sistema de
Encargado de Despacho... Bodegas
son roles que juegan las personas
de la Organizacin. ( No necesariamente
son tres personas distintas ). Cliente

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

Caso de Uso: Crear Gua Interna de


Despacho por Venta
Comentarios relevantes : Actores: Cliente, Encargado de
Despacho
1) Se trata de una transaccin Tipo: Primario
entre dos entidades, (con Cliente Un Cliente llega para solicitar la
entrega de Mercadera, presentando Cliente
y Encargado de Despacho). Encargado
2) Se trata de una transaccin como documentacin una Nota de
de Despacho
que implica una entrega / (Empleado)
Venta. El Encargado de Despacho
recepcin de Productos. registra los datos de la mercadera
emitiendo una Gua Interna de
3) Existe un Registro de Clientes . Despacho por Venta y firma la docu-
4) Existe un Registro de Encar- mentacin en todos sus ejemplares
gados de Despacho (Empleado). para indicar la conformidad. El
5) Existe un Registro de Productos. Cliente se retira para pasar a la Caja
6) Se lleva un registro persistente llevado su copia de la Nota de Venta
de la transaccin firmada por el Encargado de Despa-
cho, quien, a su vez, enva las partes
de la Gua de Despacho firmadas a
sus respectivos destinos. (Segn
Bibliografa: Esta presentacin se Flujograma de Informacin )
basa principalmente en el libro
Applying UML and Patterns de
Craig Larman - 1998 - Nota : (Craig Larman, 2.7.2, pg. 26):
Los Casos de Uso de Alto Nivel son
( Prentice Hall) ISBN 0-13-748880-7
breves descripciones de un proceso
- usualmente dos o tres frases -
Ver tambin: (Craig Larman, 6.3.1,
pg. 49)
25/09/2002 5
Diseo de Clases :Caso de Uso: Crear Gua Interna de Funciones Bsicas
Despacho por Venta ( Productos con registro persistente)
Ref. # Funcin Categora
R1.1 Capturar y activar opciones desde un Men de Opciones, aceptar Opcin (Seleccin Manual). evidente
R1.2 Desplegar la Interfaz de Creacin de Gua de Despacho, N de Gua de Despacho (correlativo) y evidente
Fecha de la Transaccin, - aceptar eventual modificacin de Fecha (Ingreso Manual).
R1.3 Capturar el Cdigo del Encargado de Despacho (Ingreso Manual). evidente
R1.4 Desplegar datos del Encargado de Despacho registrados en almacenamiento persistente evidente

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.8 Capturar/Verificar. Condicin de Pago de la Venta (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

L. Cdigo Descripcin Precio Cantidad Valor Neto


LL P Q R S T

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)

Excepciones al Curso Normal de los Eventos:


(para desarrollar los Casos de Uso correspondientes en una prxima
vuelta de la espiral )
1) Producto no registrado (Cdigo no existe)
2) N de Nota de Venta ya existe.
3) RUT de Cliente no registrado ( RUT no existe)
4) Encargado de Despacho no registrado (Cdigo no existe)
5) Existencia negativa (Inventario insuficiente)
6) Nota de Venta de ms de 6 productos

Notas adicionales a la Interfaz de Entrada:


( para desarrollar en una prxima vuelta de la espiral )

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

Gua de Despacho N 999.999 Fecha 99/99/9999

RUT Cliente 999.999.999 - X Encargado Despacho XXXXXXX

Razn Social Cliente XXXXXXX

Direccin Cliente XXXXXXX e-Mail XXXXXXX

Comuna XXXXXXX Ciudad XXXXXXX Telfono XXXXXXX Fax XXXXXXX

N de Nota de Venta 999.999 Fecha Nota de Venta 99/99/9999 Cond. Pago XXXXXXX

L. Cdigo Descripcin Precio Cantidad Valor Neto

99 XXXXXXX XXXXXXXXXXXX 9999,99 9999 999999,99

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

Dentro de los requerimientos,


podra sustituirse por la consulta
a los Encabezados de Gua anteriores.
( Condicin de NO existencia previa )

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 -

Dentro de los requerimientos,


podra sustituirse por la consulta
a los Encabezados de Gua anteriores.
( Condicin de NO existencia previa )

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)

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

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

Referencias cruzadas: R1.1, R1.2, R1.15


Notas: Usar Sistema de Men, Ahora() de MS Access,
- el Empleado oprime (Tab) para iniciar el ingreso -
Excepciones: N /A
Nota:
Los nombres de elementos usados Salida: N/A
en los contratos hacen referencia
Precondiciones: El sistema tiene el Men y la opcin Crear Gua de Despacho por Venta
al Diagrama de Secuencia de pg. 15,
requerida instalados y activos
al Modelo Funcional de pg. N 32
y al Modelo de Clases de pg. N 33. Postcondiciones: Se acept (Click) en el Men de Opciones para pasar a CrearGuaDespacho
Se despleg la interfaz de Crear Gua de Despacho por Venta (limpia)
Se cre una nueva instancia de EncGuiaDespVenta (creacin de instancia)
Se asoci EncGuiaDespVenta a Terminal (asociacin formada)
Se cre una nueva instancia DetGuiaDespVenta (creacin de instancia)
Se asoci DetGuiaDespVenta a EncGuiaDespVenta (asociacin formada)
Se posicion el cursor en A y se acept (Tab) para proseguir
Se despleg el Nmero correlativo de Gua de Despacho: NumGuiaDespVen
en A y la Fecha: FechaV en B
Se asign el Nmero correlativo de Gua de Despacho al campo:
EncGuiaDespVenta .NumGuiaDespVen (modificacin de atributos)
Se asign la Fecha del sistema al campo:
EncGuaDespVenta .FechaV ( modificacin de atributos)
Se posicion el cursor en el campo C : Cdigo Enc. Despacho
25/09/2002 17
Diseo de Clases: Contratos
Crear Gua Interna de
Despacho por Venta
Contrato
(Productos con registro
persistente) Nombre: ingresarCodEmpleado(CodigoEmpleado)
(Base Craig Larman) Responsabilidades: Aceptar el ingreso de CodigoEmpleado. Basado en CodigoEmpleado,
obtener y desplegar Nombre registrado en el sistema de almacenamiento
persistente. (Alternativa a Lista de Valores Posibles).
A continuacin posicionar el cursor en el campo E.
Tipo: Sistema

Nota: Referencias cruzadas: R1.3, R1.4, R1.15


Los nombres de elementos usados Notas: Usar Base de Datos MS Access y (Tab) para sucesivos campos
en los contratos hacen referencia
al Diagrama de Secuencia de pg. 15,
Excepciones: Error en ingreso manual del Cdigo o Cdigo no registrado
al Modelo Funcional de pg. N 32 Salida: N /A
y al Modelo de Clases de pg. N 33.
Precondiciones: El sistema conoce a Empleados.CodigoEmpleado (Registrado opor-
tunamente con anterioridad)
Postcondiciones: Se despleg CodigoEmpleado en C y Nombre en D..
Se asoci EncGuiaDespVenta a una instancia de Empleados basado en
una igualdad de CodigoEmpleado (asociacin formada)
Se asign CodigoEmpleado a EncGuiaDespVenta.CodigoEmpleado (modi-
ficacin de atributo)
Nota : Alternativamente ( desde Lista de Valores Posibles ) - Sustituyendo
CodigoEmpleado por Nombre -
- Se asign Nombre a EncGuiaDespVenta.Nombre (modificacin de
atributo).
Se posicion el cursor en el campo E: RUT Cliente

25/09/2002 18
Diseo de Clases: Contratos
Crear Gua Interna de Contrato
Despacho por Venta
(Productos con registro Nombre: ingresarRutCliente(RutCliente)

persistente) Responsabilidades: Aceptar el ingreso de RutCliente, por su intermedio, obtener y des-


(Base Craig Larman) plegar los Datos del Cliente registrados en el sistema de almacena-
miento persistente. A continuacin posicionar el cursor en el campo M.

Tipo: Sistema

Referencias cruzadas: R1.5, R1.15


Nota:
Notas: Usar Base de Datos MS Access - el Encargado de Despacho oprime
Los nombres de elementos usados
(Tab) para pasar a los sucesivos campos -
en los contratos hacen referencia
Excepciones: Error en ingreso manual del RUT o RUT no registrado
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: El sistema conoce a Clientes.RutCliente (Registrado oportuna-
mente con anterioridad)

Postcondiciones: Se despleg RutCliente en el campo E


Se asoci EncGuiaDespVenta a una instancia de Clientes basado en una
igualdad de RutCliente (asociacin formada)
Se asign RutCliente a EncGuiaDespVenta.RutCliente (modificacin de
atributo)
Se desplegaron los datos bsicos del Cliente segn los campos de la interfaz
( RazonSocial, Direccion, eMail, Comuna, Ciudad, Fono, Fax) (Campos F,
G, H, I, J, K, L )
Se posicion el cursor en el campo M: Nota de Venta N

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

Notas: Usar Base de Datos MS Access y tecla (Tab)

Nota: Excepciones: Error en ingreso manual del Cdigo o Cdigo no registrado


Los nombres de elementos usados
en los contratos hacen referencia Salida: N /A
al Diagrama de Secuencia de pg. 15, Precondiciones: El sistema conoce a Productos.CodigoProducto (Registrado oportuna-
al Modelo Funcional de pg. N 32 mente con anterioridad)
y al Modelo de Clases de pg. N 33.
Postcondiciones: Se redespleg CodigoProducto en P
Se despleg el Nmero de Lnea NumLnea en LL
Se asoci DetGuaDespVenta a una instancia de Productos basado en una
igualdad de CodigoProducto (asociacin formada)
Se asign NumLnea a DetGuiaDespVenta.NumLnea ( modificacin de
atributo )
Se asoci la nueva lnea de DetGuaDespVenta a EncGuaDespVenta
(asociacin formada)
Se asign CodigoProducto a DetGuiaDespVenta.CodigoProducto (modi-
ficacin de atributo)
Se despleg la Descripcin del Producto, Descripcion en Q.
Se posicion el cursor en R: Precio

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

Nota: Referencias cruzadas: R1.11 y R1.12


Los nombres de elementos usados
Notas: Usar Base de Datos MS Access
en los contratos hacen referencia
al Diagrama de Secuencia de pg. 15, Excepciones: Existencia negativa ( falta producto para despachar).
al Modelo Funcional de pg. N 32
Salida: N /A
y al Modelo de Clases de pg. N 33.
Precondiciones: El sistema conoce a Productos.Existencia (Registrado oportuna-
mente con anterioridad)
Postcondiciones: Se posicion el cursor en R
Se redespleg Precio en R y se posicion el cursor en S.
Se redespleg Cantidad en S
Se asign Precio a DetGuiaDespVenta.Precio y Cantidad a
DetGuiaDespVenta.Cantidad ( modificacin de atributos)
Se posicion el cursor en T: Valor Neto

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

Referencias cruzadas: R1.2, R1.14, R1.15

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)

3 :[NuevaGuiaDespacho] crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)


t1:Terminal d1:EncGuiaDespVenta

Omisin del Contenedor de Lneas


Nota: Segn Craig Larman 3.1 :[NuevaGuiaDespacho] crearDetGuiaDespVenta(NumGuiaDespVen)
( 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- l1:DetGuiaDespVenta
trarlas explcitamente... agregan ruido
pero poca informacin nueva.

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

2.1.a:RazonSocial := consultar (RutCliente)


2.1.b:Direccion := consultar (RutCliente)
2.1.c: eMail := consultar (RutCliente)
2.1.d:Comuna := consultar (RutCliente)
2.1.e:Ciudad := consultar (RutCliente)
2.1.f: Fono := consultar (RutCliente)
2.1.g:Fax := consultar (RutCliente)

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)

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

1: ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)


t1:Terminal d1:EncGuiaDespVenta

1.1: consultar (NumNV)


:EncGuiaDespVenta

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.1 *:[i:=1...6] NumLnea:= siguiente () : NumLinea

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

2.1*:[i:=1...6]: /ValorLnea := calcularValor()

ll:DetGuiaDespVenta

Despus de grabarLinea() el usua-


rio vuelve a la accin anterior de
ingresarCodProducto() hasta que
no queden ms productos que
ingresar, en cuyo caso pasa a la
siguiente accin :
teminarTransaccion()

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

1.1*:[i:=1...6] /ValorLnea := calcularValor()

restarExistencia(CodigoProducto, Cantidad)
sumarDespachado(CodigoProducto, Cantidad) ll:DetGuiaDespVenta

2.a*:[i:=1...6 ][notAct] restarExistencia(CodigoProducto, Cantidad)


2.b*:[i:=1...6 ][notAct] sumarDespachado(CodigoProducto, Cantidad)
t1:Terminal d1:EncGuiaDespVenta

2.1.a*:[i:=1...6 ][notAct] restarExistencia(CodigoProducto, Cantidad)


2.1.b*:[i:=1...6 ][notAct] sumarDespachado(CodigoProducto, Cantidad)

2.3*:[i:=1...6 ][notAct] notAct := notAct(notAct := false)


ll:DetGuiaDespVenta
2.2.a*:[i:=1...6 ][notAct] restarExistencia(CodigoProducto, Cantidad)
2.2.b*:[i:=1...6 ][notAct] sumarDespachado(CodigoProducto, Cantidad)
b1:Productos

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 )

(Productos con registro persistente)


(Base Craig Larman)
siguiente():NumGuia
ahora():Fecha

3:NumGuiaDespVen := siguiente():NumGuia
t1:Terminal :EncGuiaDespVenta

4:FechaV := ahora():Fecha
Fecha

crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

5 :[NuevaGuiaDespacho] crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)


t1:Terminal d1:EncGuiaDespVenta

5.1 :[NuevaGuiaDespacho] crearDetGuiaDespVenta (NumGuiaDespVen)

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()

También podría gustarte