Вы находитесь на странице: 1из 39

www.evolucion.

cl
Clases de Software
preparadas para libro
Diseo de Sistemas Computacionales

Son modelos de Anlisis y Diseo, principalmente con


base en UML
Comienza desde mapa de procesos y flujograma de
informacin
Clase 1: Recepcin por Compras
Etapa de Anlisis

Las pginas siguientes corresponden a la etapa de anlisis,


la cual se extiende hasta la documentacin de los contratos
de las operaciones del sistema inclusive -.
MAPA DE PROCESOS
(como parte del Modelo de Negocios)
(Base Juan Bravo C.)

Macro-
Proyeccin ventas Adquisiciones Ventas Servicio postventa
procesos

Primer Flujograma
de Informacin
RECEPCIN DESPACHO
POR COMPRAS POR VENTAS
Procesos
operativos

Devoluciones Devoluciones

Bibliografa: Esta presentacin se Bibliografa: Adicionalmente, esta presentacin se basa en la


basa principalmente en el libro serie de libros de gestin, anlisis y sistemas de Juan Bravo C.
Applying UML and Patterns de que incluye, entre otros, a: LA NUEVA VISION, Diseo y
Craig Larman - 1998 - construccin de sistemas computacionales (1996) y Gestin
(Prentice Hall) ISBN 0-13-748880-7 de Procesos (2002).
Flujograma : Proceso de Recepcin de Productos de Proveedores - (Gua Interna de Recepcin por Compra) (Base Juan Bravo C.)

Encargado Control de Inventario Depto. de Depto. de


Proveedor de Recepcin Calidad (Bodega) Compras Contabilidad
3 3
2 2
G/D 1 G/D 1
Proveed. Proveed.

Ingresar Gua Nota: Un determinado documento


de Recepcin (papel o electrnico) puede ser cambiado
(por ejemplo: VB, firma, tick) ... para
3 indicar algn tipo de accin que se ha
2 tomado con l - tal como: revisin, aproba-
G/R 1
Interna cin, etc -. Con ello, aunque el documento
G/R 2 sigue siendo el mismo, ya no es el
Interna mismo. Se indica grficamente esta situa-
cin por medio de cremillas, que se
3 incrementan, como se muestra en este
G/R 3
Interna 2 Verificar flujograma para diversos pasos que sigue la
G/R 1 Calidad de
Interna Productos copia # 2 de la Gua de Recepcin.

G/D 3 3
G/R 2
Proveed. 2 Interna
G/D 1 G/R 2
Proveed. Interna
Ingresar
Productos
a Bodega

G/R 2
Interna
Casos de Uso: Crear Guas Internas de Recepcin por Compra y Funciones Bsicas
de Despacho por Venta (Productos con registro persistente) (Base Craig Larman)
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 Recepcin, N de Gua de Recepcin (correlativo) evidente
y Fecha de la Transaccin, - aceptar eventual modificacin de Fecha (Ingreso Manual).
R1.3 Capturar el Cdigo del Encargado de Recepcin (Ingreso Manual). evidente
R1.4 Desplegar datos del Encargado de Recepcin registrados en almacenamiento persistente. evidente

R1.5 Capturar la informacin del Proveedor usando el RUT (Ingreso Manual) y desplegar datos evidente
pertinentes del Proveedor registrados en almacenamiento persistente.
R1.6 Capturar N de Gua de Despacho del Proveedor (Ingreso Manual), verificar validez (No evidente
Existencia previa) y desplegarlo.
R1.7 Capturar Fecha (Propia) de Gua de Despacho del Proveedor (Ingreso Manual) y desplegarla. evidente

R1.8 Capturar/Verificar (C/E) N de Orden de Compra (Ingreso Manual) y desplegarlo. evidente

R1.9 Registrar la transaccin en proceso: los Productos a recibir. Capturar la informacin del evidente
Producto a recibir usando el Cdigo (interno) (Ingreso Manual).
R1.10 Desplegar la descripcin del Producto registrado en almacenamiento persistente. evidente

R1.11 Capturar el Costo (Precio del Proveedor) 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 Recepcin en la Interfaz al dar OK a la lnea.
R1.13 Grabar en el Detalle de la Gua de Recepcin (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 recibido de Productos (evitando doble actualizacin) al oculta
dar OK a la Gua de Recepcin en su totalidad. Adems calcular el nuevo Costo Promedio.

Nota: (Craig Larman, 5.6.1.a 5.6.3, pgs. 42 a 44) Las funciones bsicas se descubren durante el
desarrollo de las entrevistas con los usuarios, quienes relatan qu es lo que el sistema debe hacer, (en
forma evidente u oculta). Tambin el analista agregar algunas que no son evidentes para el usuario.
Casos de Uso: Crear Guas Internas de Recepcin por Compra y Funciones Bsicas
de Despacho por Venta (Productos con registro persistente) (Base Craig Larman)
Ref. # Funcin Categora

R1.15 Ofrecer un mecanismo de almacenamiento persistente. oculta

R2.1 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).
R2.2 Capturar el Cdigo del Encargado de Despacho (Ingreso Manual). evidente

R2.3 Desplegar datos del Encargado de Despacho registrados en almacenamiento persistente. evidente

R2.4 Capturar la informacin del Cliente usando el RUT (Ingreso Manual) y desplegar datos evidente
pertinentes del Cliente registrados en almacenamiento persistente.
R2.5 Capturar N de Nota de Venta del Cliente (Ingreso Manual), verificar validez (No Existencia evidente
previa) y desplegarlo.
R2.6 Capturar Fecha (Propia) de Nota de Venta del Cliente (Ingreso Manual) y desplegarla. evidente

R2.7 Capturar/Verificar Condicin de Pago de la Venta (Ingreso Manual) y desplegarla. evidente

R2.8 Registrar la transaccin en proceso: los Productos a despachar. Capturar la informacin del evidente
Producto a despachar usando el Cdigo (interno) (Ingreso Manual).
R2.9 Desplegar la descripcin del Producto registrado en almacenamiento persistente. evidente

R2.10 Capturar el Precio al Cliente del Producto (Ingreso manual) y desplegarlo. evidente

R2.11 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.
R2.12 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.
R2.13 Actualizar los valores de existencia y despachado de Productos (evitando doble actualizacin) oculta
al dar OK a la Gua de Despacho en su totalidad.
Funciones Bsicas - Atributos y restricciones de las funciones del sistema
(Base Craig Larman)

Ref. # Funcin Categora Atributo Restriccin Categora

R1.5 Capturar la informacin del Proveedor evidente Tiempo de res- mx. 2 segundos obligatoria
usando el RUT y desplegar sus datos. puesta
Interfaz Estilo Windows obligatoria

En colores y opcional
efectos 3D

R1.12 Capturar la Cantidad de unidades del evidente Tiempo de res- mx. 2 segundos obligatoria
Producto respectivo y calcular valor de puesta
la lnea actualizando los totales de la
Gua de Recepcin en la Interfaz al dar
OK a la lnea.

R1.15 Ofrecer un mecanismo de almacena- Plataforma Usar base de da- obligatoria


oculta
miento persistente. tos corporativa
actualmente ins-
talada

Nota: (Craig Larman, 5.7.1, pgs. 45 y 46) Los atributos y restricciones de las funciones bsicas se
descubren durante el desarrollo de las entrevistas con los usuarios, quienes relatan qu atributos
debiera tener el sistema y cules eventualmente seran las correspondientes restricciones, - si las
hubiera - y si ellas seran obligatorias u opcionales. (Aqu, por razones de espacio, se dan unos
pocos ejemplos).
Diagrama de Casos de Uso
(Casos de Uso Bsicos)
(Base Craig Larman)

Nota:
Para ejemplificar el mtodo de Crear Gua Interna de
Desarrollo en espiral, se estara Recepcin por Compra
proponiendo estos casos de uso para ser
desarrollados en las primeras vueltas de
la espiral. (No se muestran aqu todos
por razones de espacio).
Crear Gua Interna de
Despacho por Venta Proveedor
Encargado
Nota:
de Recepcin
Administrador,
(Empleado)
Encargado de Recepcin,
Encargado de Despacho...
son roles que juegan las personas de la Iniciar Sistema de
Organizacin. (No necesariamente son tres Bodegas
personas distintas).
Cliente

Encargado
Administrar Sistema de
de Despacho Bodega de Recepcin
(Empleado) y Despacho

Realizar procesos de
Fin de Da Administrador
(Empleado)
Nota:
Administrar Sistema ...
Son Casos de Uso Genricos que en el
transcurso del anlisis se desagregaran
en otros Casos de Uso.
Caso de Uso de Alto Nivel
Caso de Uso: Crear Gua Interna
Terminal Recepcin
de Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman) Crear Gua Interna de
Recepcin por Compra

Caso de Uso: Crear Gua Interna de


Recepcin por Compra.
Comentarios relevantes :
Actores: Proveedor, Encargado de
1) Se trata de una transaccin Recepcin.
entre dos entidades, (con Provee-
dor y Encargado de Recepcin). Tipo: Primario. Proveedor
2) Se trata de una transaccin Encargado
de Recepcin Descripcin: Este Caso de Uso co-
que implica una entrega / mienza cuando un Proveedor llega con
(Empleado)
recepcin de Productos. mercadera acompaando la documen-
3) Existe un Registro de Provee- tacin legal de rigor. El Encargado
Nota: El inicio y el fin del
dores. registra el ingreso de la mercadera,
Caso de Uso deberan estar
4) Existe un Registro de Encar- emite la Gua Interna de Recepcin por inequvocamente indicados
gados de Recepcin (Empleado). Compra, firma toda la documentacin, en la narrativa. Ello evita las
5) Existe un Registro de Productos. entrega las copias pertinentes al Pro- superposiciones y ambige-
6) Se lleva un registro persistente veedor y enva las restantes copias a dades en las especificaciones.
sus respectivos destinos.
de la transaccin.
El Proveedor se retira, con lo cual
Nota: Descripcin - Sigue termina el Caso de Uso.
la narrativa que se desprende
del Flujograma de Informacin
correspondiente -.
Nota : (Craig Larman, 2.7.2, pg. 26)
Los Casos de Uso de Alto Nivel son
breves descripciones de un proceso
- usualmente dos o tres frases - .
Ver tambin: (Craig Larman, 6.3.1, pg. 49)
Caso de Uso Expandido
Caso de Uso: (Expandido) Crear Gua
Terminal Recepcin
Interna de Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman) Crear Gua Interna de
Recepcin por Compras

Caso de Uso Expandido


Nota : (Craig Larman, 2.7.2, pg. 26) Encargado de Recepcin
Los Casos de Uso Expandidos son
extensas narrativas de descripcin de un Caso de Uso : Crear Gua Interna de Recepcin por Compra Proveedor
proceso - pueden contener cientos de
frases - . Actores : Proveedor (Iniciador) , Encargado de Recepcin (Actor Primario).
Ver tambin: (Craig Larman, 6.3.2, pg. 50).
Propsito: Capturar Datos de Recepcin de Productos Comprados.
Resumen: Este Caso de Uso comienza cuando un Proveedor contacta a un Encargado de Re-
cepcin para solicitarle que reciba los Productos que est entregando, la Trans-
accin requerida la documenta con una Gua de Despacho o Factura. El Encargado
de Recepcin verifica la entrega fsica (Cantidad y Estado General) contra lo indi-
cado por el Documento adjunto y despus registra en el Terminal de Recepcin los
datos consignados en el mismo, al terminar confirma la Transaccin. El Proveedor
recibe la 3 copia de la Gua de Recepcin y la 3 copia de su Gua de Despacho o
Factura ambas firmadas por el Encargado de Recepcin, quien enva a sus respec-
tivos destinos las restantes copias tambin firmadas (segn Flujograma de Infor-
macin correspondiente). El Caso de Uso termina cuando el Proveedor se retira.
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

Nota: Este Caso de Uso com-


prende desde la Hoja actual hasta
las siguientes 4 Hojas (5 en total)
Caso de Uso: (Expandido) Crear Gua
Interna de Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman ) Curso Normal de los Eventos
Accin de los actores Respuestas del Sistema

1. Este caso comienza cuando un Proveedor se contacta con un


Encargado de Recepcin para solicitar que se efecte una
Recepcin de Productos. (Peticin).
2. El Encargado de Recepcin acuerda realizar la Transaccin.
(Aceptacin del compromiso) y para ello ingresa a la opcin de
Crear Gua de Recepcin del Men de Opciones haciendo (Click)
y despus oprimiendo la tecla (Tab). 3. El sistema despliega la interfaz de Creacin de Gua de Recepcin,
asigna y despliega automticamente en A el N de Gua de Recepcin
4. El Encargado de Recepcin verifica visualmente el N de Gua de correlativo correspondiente y en B la fecha del sistema.
Recepcin 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 Recepcin
6. El Encargado de Recepcin ingresa en E el RUT del Proveedor y en D.
verifica los datos del mismo desplegados por el sistema.
7. El sistema despliega los datos bsicos del Proveedor (Razn Social,
8. El Encargado de Recepcin ingresa en M, N y O respectivamente Direccin, e-Mail, Comuna, Ciudad, Telfono, Fax) en F, G, H, I, J, K
el N de Gua de Despacho del Proveedor, la Fecha de la Gua de y L respectivamente.
Despacho y el N de la Orden de Compra.
9. El sistema verifica la validez / existencia del N de la Orden de Compra.
10. El Encargado de Recepcin 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 Recepcin verifica los datos del Producto e
ingresa el costo unitario(Precio) y la cantidad recibida 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 Recep-
cin 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-
despliega en los campos T y U, adems actualiza los datos de la
16. El Encargado de Recepcin cierra la interfaz de Transaccin opri- transaccin en el sistema de almacenamiento persistente. Calcula el
miendo el botn XX para volver al Men de Opciones y entrega o costo promedio y lo actualiza Genera un original y 2 copias de la
enva una copia de la Transaccin terminada al Proveedor por la transaccin realizada utilizando la interfaz de salida indicada.
va de comunicacin preestablecida. (Notificacin de cumpli- Limpia la interfaz de entrada y posiciona el cursor en A.
miento del compromiso). Opcionalmente vuelve a oprimir (Tab)
para ingresar otra recepcin, con lo cual el sistema pasa a 3.
Caso de Uso: (Expandido) Crear Gua
Interna de Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman)
Interfaz de Entrada
Gua Interna de Recepcin por Compra N Gua Recepcin A
Cdigo Enc. Recepcin C Encargado Recepcin
D
Fecha Recepcin B
Razn Social Proveedor
RUT Proveedor E - F

Direccin Proveedor G e-Mail H

Comuna I Ciudad J Fono K Fax L


Gua de Despacho de Proveedor N M Fecha G/ D. Proveedor N N de O/C. 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
Caso de Uso: (Expandido) Crear Gua
Interna de Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman)

Excepciones al Curso Normal de los Eventos:


- Cursos Alternos al Curso Normal de los Eventos -
(para desarrollar los Casos de Uso correspondientes en otras vueltas de la espiral)
1) Campo F : Producto no registrado (Cdigo no existe). Comunicarse con Administrador.
2) Campo M : N de Gua ya existe para el RUT del Proveedor. Indicar error, rechazar.
3) Campo E : RUT de Proveedor no registrado (RUT no existe). Comunicarse con Administrador.
4) Campo C : Encargado de Recepcin no registrado (Cdigo no existe). Comunicarse con Administrador.
5) Campo O : N de Orden de Compra no existe. Comunicarse con Departamento de Compras.

Notas adicionales a la Interfaz de Entrada: Nota:


( para desarrollar en vueltas futuras de la espiral) Se indican algunas de las excepcio-
nes posibles nicamente a modo de
Curso Normal ejemplo.
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
Caso de Uso (Expandido): Crear Gua
Interna de Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman)
Interfaz de Salida
Gua de Recepcin N 999.999 Fecha 99/99/9999
RUT Proveedor 999.999.999 - X Encargado Recepcin XXXXXXX

Razn Social Proveedor XXXXXXX

Direccin Proveedor XXXXXXX e-Mail XXXXXXX

Comuna XXXXXXX Ciudad XXXXXXX Telfono XXXXXXX Fax XXXXXXX

N G/D del Proveedor 999.999 Fecha G/D Proveedor 99/99/9999 N de O/C. 999.999

L. Cdigo Descripcin Precio Cantidad Valor Neto

99 XXXXXXX XXXXXXXXXXXX 9999,99 9999 999999,99

Firma Autorizada
y Timbre
Total Neto 99999999,99
Modelo Conceptual (simplificado)
Crear Gua Interna de
Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman)

Encabezado de
Nota : En este modelo se consideran Gua Interna de
los conceptos mnimos. En un anlisis * Recepcin por *
y desarrollo posteriores se podran in- Compra
cluir conceptos tales como Bodega, *
N de Gua
Terminal, Empresa, etc. Por lo contrario, Emplea- Fecha
se podran excluir : Empleados, Ordenes dos Proveedor
Provee-
de Compra. dores
Cdigo Nombre 1
Nombre 1 RUT
1 Nombre
Nota: 1..5 Direccin
La flecha gruesa entre el Encabe-
zado y el Detalle indica una Relacin Detalle de Gua
de Pertenencia. (Base Juan Bravo C.- Interna de Recep-
La Nueva Visin... pg 200) cin por Compra
*
Descripcin Ordenes
Productos Costo de Compra
1
1 Cantidad
Cdigo N OC
Descripcin Fecha
Nota: Segn Craig Larman Costo
(9.3 y 9.4 - pgs. 87 a 91 -,
adems de 9.6.1 a 9.6.3 - pgs.96
y 97) Se trata de conceptos, asocia-
ciones y atributos del mundo real, no Nota:
se trata de un modelo de software. Dentro de los requerimientos,
no necesariamente se encuentra
el concepto de Orden de Compra.
(Puede ser un ingreso manual).
Diagrama de Diseo de Clases
(Borrador inicial) Nota: A diferencia del Modelo
Crear Gua Interna de Conceptual, que muestra atributos
tiles para entender los concep-
Recepcin por Compra Encabezado de Gua tos del contexto, se descubri - obser-
(Productos con registro persistente) Interna de Recep- vando la interfaz de entrada -, la conve-
cin por Compra niencia de agregar otros atributos al enca-
(Base Craig Larman) bezado. (A su vez se elimin : Nombre)
RUT Proveedor
Nota: Segn Craig Larman N de Gua Proveedor
(21.3, pg.257): Si bien la pre- N Gua Interna
sentacin de los diagramas de Fecha Recepcin
clases es posterior a la creacin
*
Cdigo Enc. Recepcin
de los diagramas de interaccin, en la Emplea- Fecha Gua Proveedor *
prctica usualmente se crean en para-
*
dos N de Ord. de Compra Provee-
lelo. Muchas clases, mtodos y relacio- Cdigo
nes pueden bosquejarse tempranamente total() dores
Nombre
en la etapa de Diseo 1 RUT
1 1 Nombre
1..5 Direccin
Detalle de Gua validarRut()
Interna de Recep-
Nota: Segn Craig Larman cin por Compra
(21.8.4 a 21.8.8 - pgs.262 - 264) *
Salvo casos especficos, es conve- Descripcin Ordenes
Productos Costo de Compra
niente omitir los mtodos : crear(), 1
modificar(), eliminar() y consultar() 1 Cantidad
Cdigo N OC
en los diagramas de clases dado que Descipcin
subtotal() Fecha
no agregan valor y aumentan el Costo
ruido - se consideran implcitos -
costoProm()

Nota:
Dentro de los requerimientos,
no necesariamente se encuentra
el concepto de Orden de Compra.
(Puede ser un ingreso manual).
Diagrama de Secuencia del Sistema
Crear Gua Interna de Recepcin
por Compra
(Productos con registro persistente)
(Base Craig Larman) Versin en Lenguaje Natural

Caso de Uso: :Sistema


Crear Gua de Recepcin Encargado de Recepcin
( Curso Normal de los Eventos)
Ingresar a la Opcin del Men
Obtener / Ingresar(Tab) N de
Desplegar la Interfaz
Gua Recepcin y Fecha sistema,
verificar correlativo y fecha. Crear la Gua de Recepcin
Ingresar Cdigo del Empleado y
obtener / verificar el nombre del Ingresar Cdigo del Empleado en Encabezado
mismo.
Ingresar RUT del Proveedor y Ingresar RUT del Proveedor en Encabezado
obtener / verificar los datos del
mismo.
Ingresar datos de G/D Provee- Ingresar N Gua Proveedor, Fecha y N O/C en Encabezado
dor ( N Gua, Fecha, N O/C )
Para cada lnea: Ingresar Cdigo del Producto en Lnea Detalle
Ingresar el Cdigo del
Producto Ingresar Precio y Cantidad del Producto
Obtener / Verificar datos del Reiterar hasta
Producto que no haya
ms Productos Dar OK a la Lnea de Detalle
Ingresar precio y cantidad del
Producto que ingresar
Dar OK a la lnea (Grabar) Calcular 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
Diagrama de Secuencia del Sistema
Crear Gua Interna de Recepcin
por Compra 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 Recepcin :Sistema
Encargado de Recepcin
( Curso Normal de los Eventos)
ingresarOpcin(CrearGuiaRecepcion)
Obtener / Ingresar(Tab) N de
Gua Recepcin y Fecha sistema, desplegar(NumGuiaRecCom, FechaR)
verificar correlativo y fecha.
Ingresar Cdigo del Empleado y crearEncabezado(NumGuiaRecCom, FechaR)
obtener / verificar el nombre del
mismo. ingresarCodEmpleado(CodigoEmpleado)
Nota: desplegar
Ingresar RUT del Proveedor y
es subordinado de
obtener / verificar los datos del ingresarRutProveedor(RutProveedor) ingresarOpcion y no es
mismo. invocado por el actor en
Ingresar datos de G/D Provee- forma directa.
ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)
dor ( N Gua, Fecha, N O/C )
Para cada lnea: ingresarCodProducto(CodigoProducto)
Ingresar el Cdigo del Nota: calcularTo-
Producto tales es subordinado
Obtener / Verificar datos del Reiterar hasta de grabarLnea y no
que no haya ingresarPrecioCantidad(Precio,Cantidad)
Producto es invocado por el actor
Ingresar precio y cantidad del ms Productos en forma directa.
que ingresar grabarLnea()
Producto
Dar OK a la lnea (Grabar) calcularTotales()
Al terminar:
Dar OK a la Transaccin terminarTransaccin()
(Grabar)
Salir al Men salirAMen()
Operaciones del Sistema
Crear Gua Interna de
Recepcin por Compra
(Productos con registro persistente)
(Base Craig Larman)
Visin Dinmica del Sistema

Sistema
ingresarOpcin(CrearGuiaRecepcion)

desplegar(NumGuiaRecCom, FechaR)

crearEncabezado(NumGuiaRecCom, FechaR)
crearEncabezado(NumGuiaRecCom, FechaR)

ingresarCodEmpleado(CodigoEmpleado)

ingresarRutProveedor(RutProveedor)
ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)

ingresarCodProducto(CodigoProducto)

ingresarPrecioCantidad(Precio,Cantidad)
grabarLnea()
calcularTotales()
terminarTransaccin()
salirAMenu()
Contratos: Crear Gua Contrato
Interna de Recepcin Nombre: ingresarOpcion(CrearGuiaRecepcion)
por Compra
Responsabilidades: Aceptar (Click) en la opcin del Men. Obtener el siguiente N de Gua
(Productos con registro correlativo (NumGuiaRecCom). Obtener la fecha del sistema (FechaR) .
persistente) Usar ambos parmetros para invocar el despliegue de la interfaz de
(Base Craig Larman) CrearGuiaRecepcin
Tipo: Sistema
Referencias cruzadas: R1.1

Notas: Usar Sistema de Men; Ahora() de MS Access; obtener ltimo N


de Gua de Recepcin vlido y sumarle 1 (uno) para obtener el
nuevo N correlativo de Gua de Recepcin.
Nota:
Excepciones: N/A
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 Recepcin por Compra
al Diagrama de Secuencia de pg. 18,
requerida instalados y activos.Adems conoce y tiene acceso a
al Modelo de Clases de pg. N 38 EncGuiaRecCompra.NumGuiaRecCom
y al Modelo Funcional de pg. N 39.
Postcondiciones: Se acept (Click) en el Men de Opciones.
Nota: Obtener Fecha del sistema y obtener N de Gua correlativo son opera-
ciones (mtodos) que no son evidentes para el usuario en este momen-
to, sin embargo, se harn evidentes al momento real de despliegue,
(descrito por el siguiente contrato).
Se obtuvo la fecha del sistema (FechaR).
Se obtuvo el ltimo N vigente y se calcul el nuevo N correlativo de Gua de
Recepcin por Compra (NumGuiaRecCom).
Se invoc el despliegue de la interfaz de Creacin de la Gua de Recepcin
por Compra usando los parmetros NumGuiaRecCom y FechaR.
Contratos:Crear Gua
Contrato
Interna de Recepcin
Nombre: desplegar(NumGuiaRecCom, FechaR)
por Compra
(Productos con registro Responsabilidades: Desplegar la Interfaz de Creacin de Gua de Recepcin. Aceptar (Tab)
para iniciar el ingreso de la transaccin. Desplegar NumGuiaRecCom,
persistente) desplegar FechaR, opcionalmente aceptar modificacin manual de la fecha.
(Base Craig Larman)
Tipo: Sistema

Referencias cruzadas: R1.2


Notas: Esta operacin es invocada por ingresarOpcion. 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 Recepcin por Compra
al Diagrama de Secuencia de pg. 18,
requerida instalados y activos. Tiene disponibles a NumGuiaRecCom y
al Modelo de Clases de pg. N 38 FechaR.
y al Modelo Funcional de pg. N 39. Postcondiciones: Se despleg la interfaz de Crear Gua de Recepcin por Compra (limpia).
Se posicion el cursor en A y se acept (Tab) para proseguir.
Se despleg el Nmero correlativo de Gua de Recepcin: NumGuiaRecCompra
en A y la Fecha: FechaR en B.
Contratos: Crear Gua
Contrato
Interna de Recepcin
Nombre: crearGuiaRecCompra(NumGuiaRecCom, FechaR)
por Compra
(Productos con registro Responsabilidades: Crear instancias de EncGuiaRecCompra y DetGuiaRecCompra
y establecer las asociaciones necesarias entre Terminal,
persistente) EncGuiaRecCompra y DetGuiaRecCompra
(Base Craig Larman)
Tipo: Sistema

Referencias cruzadas: R1.15


Notas: El Empleado oprime (Tab) para cambiar de campo en la interfaz
para el ingreso. Opcionalmente usa el mouse
Excepciones: N/A
Nota:
Los nombres de elementos usados Salida: N/A
en los contratos hacen referencia
Precondiciones: El sistema tiene el Men, la opcin Crear Gua de Recepcin por Compra
al Diagrama de Secuencia de pg. 18,
y la interfaz correspondiente requerida instalados y activos.
al Modelo de Clases de pg. N 38
y al Modelo Funcional de pg. N 39. Postcondiciones: Se cre una nueva instancia de EncGuiaRecCompra (creacin de instancia)
Se asoci EncGuiaRecCompra a Terminal (asociacin formada)
Se cre una nueva instancia DetGuiaRecCompra (creacin de instancia)
Se asoci DetGuiaRecCompra a EncGuiaRecCompra (asociacin formada)
Se asign el Nmero correlativo de Gua de Recepcin al campo:
EncGuiaRecCompra.NumGuiaRecCom (modificacin de atributos)
Se asign la Fecha del sistema al campo:
EncGuaRecCompra.FechaR ( modificacin de atributos)
Se posicion el cursor en el campo C : Cdigo Enc. Recepcin
Contratos: Crear Gua Interna
de Recepcin por Compra
(Productos con registro Contrato
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
Referencias cruzadas: R1.3, R1.4, R1.15
Nota:
Los nombres de elementos usados
Notas: Usar Base de Datos MS Access y (Tab) para sucesivos campos
en los contratos hacen referencia Excepciones: Error en ingreso manual del Cdigo o Cdigo no registrado
al Diagrama de Secuencia de pg. 18,
Salida: N/A
al Modelo de Clases de pg. N 38
y al Modelo Funcional de pg. N 39. Precondiciones: El sistema conoce a Empleados.CodigoEmpleado (Registrado opor-
tunamente con anterioridad)
Postcondiciones: Se despleg CodigoEmpleado en C y Nombre en D..
Se asoci EncGuiaRecCompra a una instancia de Empleados basado en
una igualdad de CodigoEmpleado (asociacin formada)
Se asign CodigoEmpleado a EncGuiaRecCompra.CodigoEmpleado (modi-
ficacin de atributo)
Nota : Alternativamente ( desde Lista de Valores Posibles ) - Sustituyendo
CodigoEmpleado por Nombre -
- Se asign Nombre a EncGuiaRecCompra.Nombre (modificacin de
atributo).
Se posicion el cursor en el campo E: RUT Proveedor
Contratos: Crear Gua Interna
de Recepcin por Compra Contrato
(Productos con registro
persistente) Nombre: ingresarRutProveedor(RutProveedor)

(Base Craig Larman) Responsabilidades: Aceptar el ingreso de RutProveedor, por su intermedio, obtener y des-
plegar los Datos del Proveedor 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

Notas: Usar Base de Datos MS Access - el Encargado de Recepcin oprime


Nota:
(Tab) para pasar a los sucesivos campos -
Los nombres de elementos usados
Excepciones: Error en ingreso manual del RUT o RUT no registrado
en los contratos hacen referencia
al Diagrama de Secuencia de pg. 18, Salida: N/A
al Modelo de Clases de pg. N 38
Precondiciones: El sistema conoce a Proveedores.RutProveedor (Registrado oportuna-
y al Modelo Funcional de pg. N 39. mente con anterioridad)

Postcondiciones: Se despleg RutProveedor en el campo E


Se asoci EncGuiaRecCompra a una instancia de Proveedores basado en una
igualdad de RutProveedor (asociacin formada)
Se asign RutProveedor a EncGuiaRecCompra.RutProveedor (modificacin de
atributo)
Se desplegaron los datos bsicos del Proveedor 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: Gua de Despacho de Proveedor N
Contratos: Crear Gua Interna
de Recepcin por Compra
(Productos con registro
persistente) Contrato
(Base Craig Larman) Nombre: ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)
Responsabilidades: Aceptar el ingreso de NumGDP, FecGD, NumOC, eventualmente verificar
existencia del N de Orden de Compra registrada en el sistema de almace-
namiento persistente. 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 Recepcin oprime
(Tab) para pasar a los sucesivos campos -
al Diagrama de Secuencia de pg. 18,
Excepciones: N/A
al Modelo de Clases de pg. N 38
y al Modelo Funcional de pg. N 39. Salida: N/A
Precondiciones: El sistema eventualmente conoce a EncOrdCompra.NumOC (Registrado
oportunamente con anterioridad). Est disponible la Gua de Despacho
del Proveedor.
Postcondiciones: Se despleg NumGDP, FecGD, NumOC en los campos M, N y O
Eventualmente, se asoci EncGuiaRecCompra a una instancia de EncOrdCom-
pra basado en una igualdad de NumOC (asociacin formada)
Se asign NumGDP a EncGuiaRecCompra.NumGDP
(modificacin de atributo)
Se asign FecGD a EncGuiaRecCompra.FecGD (modificacin de atributo)
Se asign NumOC a EncGuiaRecCompra.NumOC (modificacin de atributo)
Se posicion el cursor en el campo P:Cdigo.
Contratos: Contrato
Crear Gua Interna de Nombre: ingresarCodProducto(CodigoProducto)
Recepcin por Compra 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) RecCompra.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. 18, Precondiciones: El sistema conoce a Productos.CodigoProducto (Registrado oportuna-
al Modelo de Clases de pg. N 38 mente con anterioridad)
y al Modelo Funcional de pg. N 39.
Postcondiciones: Se redespleg CodigoProducto en P
Se despleg el Nmero de Lnea NumLnea en LL
Se asoci DetGuaRecCompra a una instancia de Productos basado en una
igualdad de CodigoProducto (asociacin formada)
Se asign NumLnea a DetGuiaRecCompra.NumLnea ( modificacin de
atributo )
Se asoci la nueva lnea de DetGuaRecCompra a EncGuaRecCompra
(asociacin formada)
Se asign CodigoProducto a DetGuiaRecCompra.CodigoProducto (modi-
ficacin de atributo)
Se despleg la Descripcin del Producto, Descripcion en Q.
Se posicion el cursor en R: Precio
Contratos: Crear Gua Interna
de Recepcin por Compra
(Productos con registro
persistente) Contrato
(Base Craig Larman)
Nombre: ingresarPrecioCantidad(Precio, Cantidad)
Responsabilidades: Aceptar el Precio del Producto del Proveedor 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. 18, Excepciones: N/A
al Modelo de Clases de pg. N 38
Salida: N/A
y al Modelo Funcional de pg. N 39.
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 DetGuiaRecCompra.Precio y Cantidad a
DetGuiaRecCompra.Cantidad ( modificacin de atributos)
Se posicion el cursor en T: Valor Neto
Contratos: Crear Gua Contrato
Interna de Recepcin por Nombre: grabarLnea()
Compra
Responsabilidades: Aceptar avance con (Tab) hasta la siguiente lnea de la interfaz, creando
(Productos con registro
una nueva Lnea de DetGuiaRecCompra. Calcular /ValorLnea y desple-
persistente) garlo en T de la lnea previa. Grabar en almacenamiento persistente un
(Base Craig Larman) registro de DetGuiaRecCompra 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. 18,
al Modelo de Clases de pg. N 38 Salida: N/A
y al Modelo Funcional de pg. N 39.
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 DetGuiaRecCompra./ValorLnea
( modificacin de atributo )
Se grab en almacenamiento persistente el registro de DetGuiaRecCompra
recin completado
Se cre una nueva Lnea de DetGuiaRecCompra. (creacin de instancia)
Se asoci la nueva Lnea de DetGuiaRecCompra. a EncGuiaRecCompra
(asociacin formada)
Se posicion el cursor en P de la nueva Lnea de DetGuiaRecCompra.
Contratos: Crear Gua Contrato
Interna de Recepcin Nombre: terminarTransaccin()
por Compra
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) EncGuiaRecCompra.Limpiar los datos desplegados en la interfaz. Actua-
(Base Craig Larman) lizar Productos.Existencia, Productos.Recibido, Productos.CostoUn y
DetGuiaRecCompra.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.Recibido ya fueron actualizados.
en los contratos hacen referencia Salida: N/A
al Diagrama de Secuencia de pg. 18, Precondiciones: N/A
al Modelo de Clases de pg. N 38
y al Modelo Funcional de pg. N 39. Postcondiciones: Se activ onClick_CBGrabar de commandGrabar
Se recalcul /ValorTotal y se grab/regrab en almacenamiento persistente la
instancia EncGuiaRecCompra y las lneas completadas DetGuiaRecCompra.
Se verific notAct() de DetGuiaRecCompra y se actualiz Productos.Existencia,
Productos.Recibido y Productos.CostoUn, regrabando los registros de Productos
afectados por la transaccin (modificacin de atributo), despus de ello, se le
asign el valor false al atributo DetGuiaRecCompra.notAct (modificacin de
atributo), regrabando los registros correspondientes de DetGuiaRecCompra.
Se cre una nueva EncGuiaRecCompra (creacin de instancia) (en blanco)
La nueva EncGuiaRecCompra fue asociada a Terminal (asociacin formada)
Se cre una nueva DetGuiaRecCompra ( creacin de instancia) (en blanco)
Se asoci la nueva instancia de DetGuiaRecCompra a EncGuiaRecCompra
(asociacin formada)
Se posicion el cursor en A, esperando la prxima accin del usuario.
Etapa de Diseo

Las pginas siguientes corresponden a la etapa de diseo,


la cual se extiende hasta la documentacin de las clases
de diseo y los diagramas correspondientes -.
Diagramas de Colaboracin: Nota:
Creacin de EncGuiaRecCompra ingresarOpcion(CrearGuiaRecepcion)
es un mtodo del Men. La clase Fecha es
ingresarOpcion(CrearGuiaRecepcion) una clase del Sistema en s - siendo ahora() un
mtodo de la misma-, mientras que desplegar(Guia
desplegar(GuiaRecCompra) RecCompra) pertenece a Terminal y siguiente()
crearEncabezado(NumGuiaRecCom, FechaR) pertenece a la clase EncRecCompra - an cuando esta
ltima es una funcin genrica reutilizable-.
(Productos con registro persistente)
(Base Craig Larman) Nota: En forma excepcional se
representan en este diagrama de
Nota: desplegar() es colaboracin los mensajes correspon-
ingresarOpcion(CrearGuiaRecepcion)
mtodo propio de Termi- dientes a dos operaciones y sus respec-
nal, por ello este mensaje no desplegar(GuaRecCompra)
tivos contratos (desplegar es subordinado
va ms all de este punto. de ingresarOpcion).

1:NumGuiaRecCom := siguiente():NumGuia
t1:Terminal :EncGuiaRecCompra

2:FechaR := ahora():Fecha
Fecha

crearEncabezado(NumGuiaRecCom, FechaR)

3 :[NuevaGuiaRecepcion] crearEncabezado(NumGuiaRecCom, FechaR)


t1:Terminal r 1:EncGuiaRecCompra

Omisin del Contenedor de Lneas


Nota: Segn Craig Larman 3.1 :[NuevaGuiaRecepcion] crearDetRecCompra(NumGuiaRecCom)
( 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 Nota :
java.util.Vector... ) son clases predefinidas crearDetRecCompra() es
de la biblioteca de clases... no es til mos- l1:DetGuiaRecCompra
trarlas explcitamente... agregan ruido una de las 4 funciones
pero poca informacin nueva. bsicas implcitas. (Podra
ser omitida en el Modelo de
Datos).
Diagramas de Colaboracin:
Creacin de EncGuiaRecCompra
ingresarCodEmpleado(CodigoEmpleado)
ingresarRutProveedor(RutProveedor)
(Productos con registro persistente) ingresarCodEmpleado(CodigoEmpleado)
(Base Craig Larman)
1:ingresarCodEmpleado(CodigoEmpleado)
t1:Terminal r1:EncGuiaRecCompra

1.1:Nombre := consultarDatos(CodigoEmpleado)

Asignacin de Responsabilidades
Nota: Segn Craig Larman
( 18.9 a 18.11 - pg.193 a 205 )
La aplicacin de los patrones GRASP e1:Empleados
es la gua para determinar las responsa-
bilidades y la estructura del diagrama.
La forma y secuencia de los mensajes que
activarn las operaciones respectivas se ingresarRutProveedor(RutProveedor)
derivan de la aplicacin de estos patrones.

2:ingresarRutProveedor(RutProveedor)
t1:Terminal r1:EncGuiaRecCompra

2.1.a:RazonSocial := consultarDatos (RutProveedor)


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

p1:Proveedores
Diagramas de Colaboracin:
Creacin de EncGuiaRecCompra
ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)
(Productos con registro persistente)
(Base Craig Larman)

ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)

1: ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)


t1:Terminal r1:EncGuiaRecCompra

ingresarNGuiaFechaNOrdC(NumGDP, FecGD, NumOC)

es equivalente a repetir tres veces la funcin aceptarDatos(),


enviando cada vez un parmetro correspondiente a un atributo
distinto de la misma instancia de
1.a: aceptarDatos(NumGuiaRecCom, NumGDP)
1.b: aceptarDatos(NumGuiaRecCom, FecGD) ll:DetGuiaRecCompra
1.c: aceptarDatos(NumGuiaRecCom, NumOC)
Diagramas de Colaboracin:
Creacin de EncGuiaRecCompra
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 r1:EncGuiaRecCompra

Asignacin de Responsabilidades 1.1:aceptarCodigo(CodigoProducto)


Nota: Segn Craig Larman
( 18.9 a 18.11 - pg.193 a 205 ) 2.1 *:[i:=1...6] NumLnea:= siguiente () : NumLinea
La aplicacin de los patrones GRASP
es la gua para determinar las responsa- 2.2:crearLinea(NumLinea)
bilidades y la estructura del diagrama.
La forma y secuencia de los mensajes que
activarn las operaciones respectivas se
derivan de estos patrones. 1.2:Descripcion := consultarDatos(CodigoProducto)
ll:DetGuiaRecCompra

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.
Diagramas de Colaboracin:
Creacin de EncGuiaRecCompra
ingresarPrecioCantidad(Precio, Cantidad)
grabarLnea() y calcularTotales()
(Productos con registro persistente) ingresarPrecioCantidad(Precio, Cantidad)
(Base Craig Larman)
1:ingresarPrecioCantidad(Precio, Cantidad)
t1:Terminal r1:EncGuiaRecCompra

Nota: calcularTotales es
1.1:aceptarDatos(Precio, Cantidad)
subordinado de grabarLnea
y no es invocado por el actor
grabarLinea() en forma directa.
calcularTotales()
ll:DetGuiaRecCompra
2: /ValorTotal := calcularTotales()
t1:Terminal r1:EncGuiaRecCompra

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

Nota:No se muestra la secuen-


ll:DetGuiaRecCompra
cia de mensajes que correspondera
a grabarLinea(). Esta corresponde-
ra a la interaccin entre la capa
Nota:
del dominio (aplicacin) y la capa de
Despus de grabarLinea() el
servicios de almacenamiento per-
usuario vuelve a la accin anterior
sistente. (Otro conjunto de diagra-
de ingresarCodProducto() hasta que
mas - no abordado aqu -).
no queden ms productos que ingre-
sar, en cuyo caso pasa a la siguiente
accin :
terminarTransaccion()
Nota:terminarTransaccin() es realmente un mensaje
Diagramas de Colaboracin: compuesto , que se desdobla en :
Creacin de EncGuiaRecCompra calcularTotales() y los mensajes que interactan con las
capas de almacenamiento persistente y presentacin. Esto
terminarTransaccion() (Primera Parte) es, por ejemplo, sumarExistencia() se realiza en la capa de
(Productos con registro persistente) dominio, sin embargo se registra en la capa de almacena-
miento persistente (Tema no considerado aqu)
(Base Craig Larman) calcularTotales()

Nota:
1: /ValorTotal := calcularTotales()
terminarTransaccion() es muy t1:Terminal r1:EncGuiaRecCompra
amplio y se presenta dividido en
dos partes.
1.1*:[i:=1...6] /ValorLnea := calcularValor()

sumarExistencia(CodigoProducto, Cantidad)
sumarRecibido(CodigoProducto, Cantidad) ll:DetGuiaRecCompra
calcularCPP(CodigoProducto, Cantidad, Precio)

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


2.b*:[i:=1...6 ][notAct] sumarRecibido(CodigoProducto, Cantidad)
2.c*:[i:=1...6 ][notAct] calcularCPP(CodigoProducto, Cantidad, Precio)
t1:Terminal r1:EncGuiaRecCompra

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


2.1.b*:[i:=1...6 ][notAct] sumarRecibido(CodigoProducto, Cantidad)
2.1.c*:[i:=1...6 ][notAct] calcularCPP(CodigoProducto, Cantidad, Precio)

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


ll:DetGuiaRecCompra
2.2.a*:[i:=1...6 ][notAct] sumarExistencia(CodigoProducto, Cantidad)
2.2.b*:[i:=1...6 ][notAct] sumarRecibido(CodigoProducto, Cantidad)
2.2.c*:[i:=1...6 ][notAct] calcularCPP(CodigoProducto, Cantidad, Precio)
b1:Productos
Nota: terminarTransaccin() finalmente termina
Diagramas de Colaboracin: enviando los mensajes para crearEncadezado() y ob-
Creacin de EncGuiaRecCompra tener los datos de inicializacin desplegndolos en la interfaz
limpia. Por cierto que esto implica una interaccin entre la
terminarTransaccion() (Segunda Parte) capa de dominio y la capa de presentacin. (Tema no abor-
(Productos con registro persistente) dado aqu). Para implementar el mensaje compuesto
terminarTransaccin() (completo), se usaran los patrones
(Base Craig Larman) aplicables - entre otros, por ejemplo, Indireccin, Fachada,
Observador -.

siguiente():NumGuia
ahora():Fecha

3:NumGuiaRecCom := siguiente():NumGuia
t1:Terminal :EncGuiaRecCompra

4:FechaR := ahora():Fecha
Fecha

crearEncabezado(NumGuiaRecCom, FechaR)

5 :[NuevaGuiaRecepcion] crearEncabezado(NumGuiaRecCom, FechaR) r 1:EncGuiaRecCompra


t1:Terminal

5.1 :[NuevaGuiaRecepcion] crearDetRecCompra(NumGuiaRecCom)

l1:DetGuiaRecCompra
Diagrama de Diseo de Clases Encabezado de Gua
de Recepcin
Crear Gua Interna de * RUT Proveedor
Recepcin por Compra Proveedores N Gua Proveedor
1 1 N de Gua Recepcin Empleados
(Productos con Registro RUT Proveedor Fecha Recepcin
persistente) Razn Social Cdigo Empleado * Cdigo
Direccin Fecha Guia Proveedor 1 Empleado
N Orden de Compra *
e-Mail Nombre
/ Valor Total
Comuna
Transaccin Cerrada
Ciudad Transaccin Anulada
Nota: Agregado para
Pas crearEncabezado()
clarificar el contex- Contacto aceptarDatos()
to, (ingreso manual). Fono calcularTotales() Nota: Agregado para
Fax cerrarTransaccin() clarificar el contexto,
anularTransaccin() en principio es una Lista
Gua de Despa- de Valores Posibles.
copiarTransaccin()
cho de Proveedor siguiente()
1 Nota: Agregado para
N Gua de 1 1..* clarificar el contex-
Proveedor to, (ingreso manual).
Detalle de Gua de
RUT Proveedor Productos
Recepcin Ordenes
Fecha Gua Cdigo Producto
etc... N Lnea de Compra
Descripcin 1
U.Medida Cdigo Producto N Orden
* Precio
Costo Unitario 1 de Compra
Cantidad
Existencia Inicial / Valor Lnea
Nota: Segn Craig Larman Existencia Datos
notAct
(21.8.4 a 21.8.8 - pgs.262 - 264) Recibido Lnea Cerrada
Salvo casos especificos, es conve-
Despachado Lnea Anulada
niente omitir los mtodos : crear(),
modificar(), eliminar() y consultar() sumarExistencia() crearLnea() Nota: Al crear la
en los diagramas de clases dado que restarExistencia() aceptarCodigo() lnea de detalle,
no agregan valor y aumentan el aceptarDatos() notAct se incializa
sumarRecibido() calcularValor() a: true
ruido - se consideran implcitos -
sumarDespachado() cerrarLnea()
existenciaNegativa() anularLnea()
copiarLnea()
calcularCPP() siguiente()
notAct()
Encabezado de Gua
Modelo Funcional de Recepcin Proveedores
C/E, msg1, msg2,
(Detallado y Generalizado) RUT Proveedor C/E y msg4
RUT Proveedor
N Guia Proveedor msg6 y msg10
Crear Gua Interna de N Gua Recepcin Razn Social
Recepcin por Compra Fecha Recepcin Direccin
Cdigo Empleado Terminal e_Mail
(Productos con Registro Fecha Gua Proveedor
Comuna
N Orden de Compra Encabezado, detalle y totales segn
persistente) / Valor Total formato de pantalla adjunto. Ciudad
(Base Juan Bravo C.- La Transaccin Cerrada 1. Desplegar interfaz(Correlativo, Fecha).
Pas
Transaccin Anulada 2. Aceptar datos. Contacto
Nueva Visin..., pg. 221) 3. Enviar mensajes de C/E a registros. Fono
1. crearEncabezado()
2. aceptarDatos()
4. Enviar mensajes de consulta de datos Fax
5. Calcular totales cumulativos
6. calcularTotales()
6. Enviar mensajes de actualizacin de 4. consultarDatos()
7. cerrarTransaccin()
existencias y actualizar lnea a lnea
8. anularTransaccin()
el registro de la transaccin Empleados
9. copiarTransaccin()
10. siguiente() C/E y msg4
Cdigo
C/E, msg1, msg2, msg3, Empleado
Nota: Agregado para
clarificar el contex- C/E, msg4, Productos Nombre
to, (ingreso manual). msg6, msg10 y msg11 msg6, msg8 ...
Detalle de Gua de y msg11 Cdigo Producto
C/E y msg4 Recepcin Descripcin 4. consultarDatos()
N Lnea U.Medida
Cdigo Producto
Gua de Despacho Precio Costo Unitario
Cantidad Existencia Inicial C/E y msg4
de Proveedor / Valor lnea Existencia Ordenes
notAct
N Gua de Lnea Cerrada Recibido de Compra
Proveedor Lnea Anulada Despachado
RUT Proveedor 4. consultarDatos() N Orden
1. crearLnea()
Fecha Gua 2. aceptarCodigo()
Nota: Al crear la 6. sumarExistencia() de Compra
lnea de detalle,
etc... 3. aceptardatos() notAct se incializa
7. restarExistencia() Datos
6. calcularValor() a: true 8. sumarRecibido()
4. consultarDatos() 9. sumarDespachado()
7. cerrarLnea() 4. consultarDatos()
8. anularLnea() 10. existenciaNegativa()
9. copiarLnea() 11. calcularCPP()
10. siguiente()
11. notAct()

Вам также может понравиться