Son modelos de Análisis y Diseño, principalmente con base en UML
This presentation is the property of its rightful owner.
Sponsored Links
1 / 33

Son modelos de Análisis y Diseño, principalmente con base en UML PowerPoint PPT Presentation


  • 72 Views
  • Uploaded on
  • Presentation posted in: General

Son modelos de Análisis y Diseño, principalmente con base en UML Comienza desde mapa de procesos y flujograma de información Clase 2: Despacho por Ventas. Evolución Informática S.A. Clases de Software del Método Genérico de Desarrollo de Sistemas de Información.

Download Presentation

Son modelos de Análisis y Diseño, principalmente con base en UML

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Son modelos de an lisis y dise o principalmente con base en uml

Son modelos de Análisis y Diseño, principalmente con base en UML

Comienza desde mapa de procesos y flujograma de información

Clase 2: Despacho por Ventas

Evolución Informática S.A.Clases de Software delMétodo Genérico de Desarrollo de Sistemas de Información


Son modelos de an lisis y dise o principalmente con base en uml

MAPA DE PROCESOS (como parte del Modelo de Negocios)

Macro-procesos

Ventas

Servicio postventa

Proyección ventas

Adquisiciones

Segundo Flujo-

grama de

Información

RECEPCIÓNPOR COMPRAS

DESPACHOPOR VENTAS

Procesos

operativos

Devoluciones

Devoluciones


Son modelos de an lisis y dise o principalmente con base en uml

3

3

1

G/D Interna

G/D Interna

G/D Interna

2

1

2

1’’

1’’

1’

Nota de Venta

Nota de

Venta.

Despachar Productos

de Bodega

1’’’

1’’’

2’’’

3

2’’

2’’

2’

2

1

G/D Interna

G/D

Interna

G/D

Interna

Recibir

Pago

1’

3’

1’

2’

Nota de Venta.

G/D

Interna

Flujograma : Proceso de Despacho de Productos a Clientes - (Guía Interna de Despacho por Venta )

Encargado

de Despacho

Despachador

(Bodega)

Depto. de

Contabilidad

Depto. de

Ventas

Cajero

Cliente

Emitir Guía de Despacho

Nota :

1) Este Flujograma no sigue

todas las reglas ortodoxas

del diseño, sin embargo,

cumple con la función de

mostrar la emisión de la

Guía de Despacho en su

contexto.

3’

2’

1’

G/D Interna

Normalmente la firma de

la Guía de Despacho se-

ría en conjunto entre el

Despachador y el Cliente.

(Copias 1 y 2 ).

Nota de

Venta


Son modelos de an lisis y dise o principalmente con base en uml

  • Administrador,

  • Encargado de Recepción,

  • Encargado de Despacho...

  • son “roles” que juegan las personas

  • de la Organización. ( No necesariamente

  • son tres personas distintas ).

Administrar Sistema ...

Son Casos de Uso Genéricos que

en el transcurso del análisis se des-

agregarían en otros Casos de Uso

Diseño de Clases:

Diagrama de Casos de Uso

(Casos de Uso Básicos)

Crear Guía Interna de

Recepción por Compra

Crear Guía Interna de

Despacho por Venta

Proveedor

Encargado

de Recepción

(Empleado)

Iniciar Sistema de

Bodegas

Cliente

Administrar Sistema de

Bodega de Recepción

Encargado

de Despacho

(Empleado)

Administrar Sistema de

Bodega de Despacho

Administrador

(Empleado)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases: Guía de Despacho

Caso de Uso: Crear Guía Interna de Despacho por Venta ( Productos con registro persistente )

Crear Guía Interna de

Despacho por Venta

Caso de Uso de Alto Nivel

Terminal Despacho

  • Caso de Uso: Crear Guía Interna de

  • Despacho por Venta

  • Actores: Cliente, Encargado de

  • Despacho

  • Tipo: Primario

  • Un Cliente llega para solicitar la

  • entrega de Mercadería, presentando

  • como documentación una Nota de

  • Venta. El Encargado de Despacho

  • registra los datos de la mercadería

  • emitiendo una Guía Interna de

  • Despacho por Venta y firma la docu-

  • mentación en todos sus ejemplares

  • para indicar la conformidad. El

  • Cliente se retira para pasar a la Caja

  • llevado su copia de la Nota de Venta

  • firmada por el Encargado de Despa-

  • cho, quien, a su vez, envía las partes

  • de la Guía de Despacho firmadas a

  • sus respectivos destinos. (Según

  • Flujograma de Información )

Comentarios relevantes :

1) Se trata de una transacción

entre dos entidades, (con Cliente

y Encargado de Despacho).

2) Se trata de una transacción

que implica una entrega /

recepción de Productos.

3) Existe un Registro de Clientes .

4) Existe un Registro de Encar-

gados de Despacho (Empleado).

5) Existe un Registro de Productos.

6) Se lleva un registro persistente

de la transacción

Cliente

Encargado

de Despacho

(Empleado)

Bibliografía: Esta presentación se basa principalmente en el libro

“ Applying UML and Patterns “ de Craig Larman - 1998 -

( Prentice Hall) ISBN 0-13-748880-7

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 también: (Craig Larman, 6.3.1,

pg. 49)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases :Caso de Uso: Crear Guía Interna de Despacho por Venta ( Productos con registro persistente)

Funciones Básicas

Ref. # Función Categoría

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

Capturar y activar opciones desde un Menú de Opciones, aceptar Opción (Selección Manual).

Desplegar la Interfaz de Creación de Guía de Despacho, Nº de Guía de Despacho (correlativo) y Fecha de la Transacción, - aceptar eventual modificación de Fecha (Ingreso Manual).

Capturar el Código del Encargado de Despacho (Ingreso Manual).

Desplegar datos del Encargado de Despacho registrados en almacenamiento persistente

Capturar la información del Cliente usando el RUT (Ingreso Manual) y desplegar datos pertinentes del Cliente registrados en almacenamiento persistente.

Capturar Nº de Nota de Venta del Cliente (Ingreso Manual), verificar validez ( No Existencia previa) y desplegarlo.

Capturar Fecha (Propia) de Nota de Venta del Cliente (Ingreso Manual) y desplegarla.

Capturar/Verificar. Condición de Pago de la Venta (Ingreso Manual) y desplegarla.

Registrar la transacción en proceso: los Productos a despachar. Capturar la información del Producto a despachar usando el Código (interno) (Ingreso Manual).

Desplegar la descripción del Producto registrado en almacenamiento persistente

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

Capturar la Cantidad de unidades del Producto respectivo (Ingreso manual). y calcular valor de la línea actualizando los totales de la Guía de Despacho en la Interfaz al dar OK a la línea.

Grabar en el Detalle de la Guía de Despacho (línea a línea) los datos de cada línea a medida que se completa y calcula cada una de ellas.

Actualizar los valores de existencia y despachado de Productos (evitando doble actualización) al dar OK a la Guía de Despacho en su totalidad.

Ofrecer un mecanismo de almacenamiento persistente.

evidente

evidente

evidente

evidente

evidente

evidente

evidente

evidente

evidente

evidente

evidente

evidente

oculta

oculta

oculta


Son modelos de an lisis y dise o principalmente con base en uml

Terminal Despacho

Caso de Uso Expandido

Encargado de Despacho

Cliente

Diseño de Clases :

Caso de Uso: Crear Guía Interna de

Despacho por Venta ( Productos

con registro persistente).

Crear Guía Interna de

Despacho por Ventas

Caso de Uso Expandido

Nota : (Craig Larman, 2.7.2, pg. 26):

“Los Casos de Uso Expandidos son

extensas narrativas de descripción

de un proceso - pueden contener

cientos de frases - “

Ver también: (Craig Larman, 6.3.2,

pg. 50)

Caso de Uso : Crear Guía Interna de Despacho por Venta

Actores : Cliente (Iniciador) , Encargado de Despacho (Actor Primario)

Propósito: 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 Transacción requerida la documenta con una Nota de

Venta. El Encargado de Despacho verifica los datos indicados por el Documento

y los ingresa en el Terminal de Despacho, al terminar confirma la Transacción. El

Cliente recibe la 1ª copia de la Nota de Venta firmada por el Encargado de Despa-

cho, quien envía a sus respectivos destinos las copias firmadas de la Guía deDespa-

cho y las restantes de la Nota de Venta ( según Flujograma del Proceso ).

El Cliente se retira en dirección 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

Este Caso de Uso comprende

desde la Hoja # 7 (la actual) hasta

la Hoja # 11


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases : Caso de Uso:

Crear Guía Interna de Despacho por Venta

(Expandido ) ( Base Craig Larman )

(Productos con registro persistente)

Curso Normal de los Eventos

Acción 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 efectúe una Despacho de Productos.

(Petición)

2. El Encargado de Despacho acuerda realizar la Transacción.

(Aceptación del compromiso) y para ello ingresa a la opción de

Crear Guía de Despacho del Menú de Opciones haciendo (Click)

y después oprimiendo la tecla (Tab).

3. El sistema despliega la interfaz de Creación de Guía de Despacho,

asigna y despliega automáticamente en A el Nº de Guía de Despacho

correlativo correspondiente y en B la fecha del sistema.

4. El Encargado de Despacho verifica visualmente el Nº de Guía de

Despacho y Fecha ofrecidos por el sistema y a continuación

ingresa su identificación (Código) en C.

6. El Encargado de Despacho ingresa en E el RUT del Cliente y

verifica los datos del mismo desplegados por el sistema.

5. El sistema obtiene y despliega el nombre del Encargado de Despacho

en D.

7.El sistema despliega los datos básicos del Cliente (Razón Social,

Dirección, e-Mail, Comuna, Ciudad, Teléfono, Fax) en F, G, H, I, J, K

y L respectivamente,

8. El Encargado de Despacho ingresa en M, N y O respectivamente

el Nº de Nota de Venta, la Fecha de la Nota de Venta y las Condi-

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 sección de detalle, en el cual

ingresa el Código del Producto en P.

11. El sistema despliega el Nº de Línea en LL, obtiene y despliega la

descripción 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 línea actual y crear una

nueva línea o terminar el ingreso de datos.

13. El sistema calcula el valor de la línea ingresada y lo acumula, desplegan-

do los valores en T y U, a la vez que graba la línea recién completada.

14. Al terminar de ingresar los Productos, el Encargado de Despacho

oprime el botón 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, además actualiza los datos de la

transacción en el sistema de almacenamiento persistente.

Genera tres copias de la transacción realizada utilizando la inter-

faz de salida indicada. “Limpia” la interfaz de entrada y posiciona el

cursor en A

  • 16. El Encargado de Despacho cierra la interfaz de Transacción opri-

  • miendo el botón XX para volver al Menú de Opciones y entrega la

  • 1ª copia de la Nota de Venta (firmada) al Cliente (Notificación de

  • cumplimiento del compromiso). El Cliente se retira en dirección a

  • la Caja.

  • Las restantes copias de la Nota de Venta y Guía Interna de Despacho (fir-

  • madas), el Encargado de Despacho las envía por la vía de comunicación

  • preestablecida.


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases :

Caso de Uso ( Expandido ): Crear Guía Interna de Despacho por Venta

( Productos con registro persistente)

Interfaz de Entrada

G

F

E

D

P

B

W

A

X

Y

Z

C

V

U

H

I

L

M

N

O

T

LL

S

R

XX

Q

K

J

Grabar

Anular

Cerrar

Salir

Guía Interna de Despacho por Venta

Nº Guía Despacho

Código Enc. Despacho

Encargado Despacho

Fecha Despacho

Razón Social Cliente

RUT Cliente

-

Dirección Cliente

e-Mail

Fax

Fono

Comuna

Ciudad

Nota de Venta Nº

Fecha Nota de Venta

Cond. Pago

L.

Código

Descripción

Precio

Cantidad

Valor Neto

Cerrada

Anulada

Total acumulado


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases :

Caso de Uso ( Expandido ): Crear Guía Interna de Despacho por Venta

( Productos con registro persistente)

Notas adicionales a la Interfaz de Entrada:

( para desarrollar en una próxima vuelta de la espiral)

Curso Normal

1) Considerar operacion(es) de Cerrado en Encabezado

2) Considerar operacion(es) y “flag” de Cerrada en Líneas

Excepciones

3) Considerar operación(es) y “flag” de Reversado en Encabezado

4) Considerar operacion(es) de Anulado de Encabezado

5) Considerar operacion(es) y “flag” de Anulada en Líneas

6) Considerar operacion(es) y “flag” de Reversada en Líneas

7) Considerar operación(es) de Modificar en Encabezado

8) Considerar operación(es de Modificar en Encabezado

9) Considerar operación(es) de Cancelar en Encabezado

10) Considerar operación(es) de Cancelar en Líneas

Excepciones al Curso Normal de los Eventos:

(para desarrollar los Casos de Uso correspondientes en una próxima vuelta de la espiral )

1) Producto no registrado (Código 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 (Código no existe)

5) Existencia negativa (Inventario insuficiente)

6) Nota de Venta de más de 6 productos


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases :

Caso de Uso ( Expandido ): Crear Guía

Interna de Despacho por Venta

( Productos con registro persistente)

Interfaz de Salida

Razón Social Cliente

XXXXXXX

XXXXXXX

XXXXXXX

999.999

Fecha Nota de Venta

Nº de Nota de Venta

99/99/9999

Guía de Despacho Nº

999.999

Fecha

99/99/9999

RUT Cliente

999.999.999

-

X

XXXXXXX

Encargado Despacho

Dirección Cliente

e-Mail

Comuna

Ciudad

Teléfono

Fax

XXXXXXX

XXXXXXX

XXXXXXX

XXXXXXX

Cond. Pago

XXXXXXX

L.

Código

Descripción

Precio

Cantidad

Valor Neto

99

XXXXXXX

XXXXXXXXXXXX

9999,99

9999

999999,99

Conforme :

Caja

Despachador

Encargado

Despacho

Cliente

Total Neto

99999999,99


Son modelos de an lisis y dise o principalmente con base en uml

Emplea-dos

Productos

Clientes

Nombre

Notas de Venta

Dentro de los requerimientos,

podría sustituirse por la consulta

a los Encabezados de Guía anteriores.

( Condición de NO existencia previa )

Diseño de Clases:

Modelo Conceptual (simplificado)

Crear Guía Interna de

Despacho por Venta

(Productos con registro persistente)

Nota : En este modelo se consideran

los conceptos mínimos. En un análisis

y desarrollo posteriores se podrían in-

cluir conceptos tales como Bodega,

Terminal, Empresa, etc.

Encabezado de Guía Interna de Despacho por Venta

*

*

1

Nº de Guía

Fecha

Cliente

Nombre

1

1

RUT

Nombre

Dirección

1

1..*

Detalle de Guía Interna de Despa- cho por Venta

*

Descripción

Precio

Cantidad

1

1

Código

Descripción

Precio

Nº Nota de Venta

Fecha


Son modelos de an lisis y dise o principalmente con base en uml

Emplea-dos

Clientes

Notas de Venta

Nota: Según Craig Larman

( pg.257 ) : “ Si bien la presen-

tación de los diagramas de clases

es posterior a la creación de los

diagramas de interacción, en la prác-

tica usualmente se crean en paralelo.

Muchas clases, métodos y relaciones

pueden bosquejarse tempranamente

en la etapa de Diseño”

Nota: Según Craig Larman

(21.8.4 a 21.8.8 - pgs.262 - 264)

Salvo casos especificos, es conve-

niente omitir los métodos : crear(),

modificar(), eliminar() y consultar()

en los diagramas de clases dado que

no agregan valor y aumentan el

“ruido” - se consideran implícitos -

Dentro de los requerimientos,

podría sustituirse por la consulta

a los Encabezados de Guía anteriores.

( Condición de NO existencia previa )

Diseño de Clases:

Diagrama de Diseño

de Clases ( Borrador inicial )

Crear Guía Interna de

Despacho por Venta

(Productos con registro persistente)

Encabezado de Guía Interna de

Despacho por Venta

Nº de Guía

Fecha

Cliente

Nombre

*

1

*

Nombre

1

RUT

Nombre

Dirección

1

1

1..*

Detalle de Guía Interna de Despa-cho por Venta

*

Descripción

Precio

Cantidad

Productos

1

1

Código

Descripcion

Precio

Nº Nota de Venta

Fecha


Son modelos de an lisis y dise o principalmente con base en uml

Encargado de Despacho

Diseño de Clases: Crear Guía

Interna de Despacho por Venta

Diagrama de Secuencia del Sistema

(Productos con registro persistente)

(Base Craig Larman)

Versiónen Lenguaje Natural

  • Caso de Uso:

  • Crear Guía de Despacho

  • ( Curso Normal de los Eventos)

  • Obtener / Ingresar(Tab) Nº de Guía Despacho y Fecha sistema, verificar correlativo y fecha. Ingresar Código del Empleado y obtener / verificar el nombre del mismo.

  • Ingresar RUT del Cliente y obtener / verificar los datos del mismo.

  • Ingresar datos de Nota de Venta

  • ( Nº Nota, Fecha, Condiciones )

  • Para cada línea:

  • Ingresar el Código del

  • Producto

  • Obtener / Verificar datos del

  • Producto

  • Ingresar precio y cantidad del

  • Producto

  • Dar OK a la línea (Grabar)

  • Al terminar:

  • Dar OK a la Transacción

  • (Grabar)

  • Salir al Menú

:Sistema

Ingresar a la Opción Crear Guía de Despacho

Ingresar Código del Empleado en Encabezado

Ingresar RUT del Cliente en Encabezado

Ingresar RUT del Cliente en Encabezado

Ingresar Nº Nota de Venta, Fecha y C. Pago en Encabezado

Ingresar Código del Producto en Línea Detalle

Reiterar hasta

que no haya

más Productos

que ingresar

Ingresar Precio y Cantidad del Producto

Dar OK a la Línea de Detalle

Dar OK al Final para Terminar la Creación

Salir al Menú


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases: Crear Guía Interna

de Despacho por Venta

Diagrama de Secuencia del Sistema

(Productos con registro persistente)

(Base Craig Larman)

  • Caso de Uso:

  • Crear Guía de Despacho

  • ( Curso Normal de los Eventos)

  • Obtener / Ingresar(Tab) Nº de Guía Despacho y Fecha sistema, verificar correlativo y fecha. Ingresar Código del Empleado y obtener / verificar el nombre del mismo.

  • Ingresar RUT del Cliente y obtener / verificar los datos del mismo.

  • Ingresar datos de Nota de Venta

  • ( Nº Nota, Fecha, Condiciones ) Para cada línea:

  • Ingresar el Código del

  • Producto

  • Obtener / Verificar datos del

  • Producto

  • Ingresar precio y cantidad del

  • Producto

  • Dar OK a la línea (Grabar)

  • Al terminar:

  • Dar OK a la Transacción

  • (Grabar)

  • Salir al Menú

Encargado de Despacho

Versiónllamando los Eventos

por su Nombre

( equivalente a Operaciones del sistema)

:Sistema

crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

ingresarCodEmpleado(CodigoEmpleado)

ingresarRutCliente(RutCliente)

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

ingresarCodProducto(CodigoProducto)

Reiterar hasta

que no haya

más Productos

que ingresar

ingresarPrecioCantidad(Precio,Cantidad)

grabarLínea()

terminarTransacción()

salirAMenú()


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases:

Crear Guía Interna de Despacho

por Venta

Operaciones del Sistema

(Productos con registro persistente)

(Base Craig Larman)

Visión Dinámica del Sistema

Sistema

crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

ingresarCodEmpleado(CodigoEmpleado)

ingresarRutCliente(RutCliente)

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

ingresarCodProducto(CodigoProducto)

ingresarPrecioCantidad(Precio,Cantidad)

grabarLínea()

terminarTransacción()

salirAMenu()


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases: Contratos

Crear Guía Interna

de Despacho

por Venta

(Productos con registro

persistente)

(Base Craig Larman)

Contrato

Nombre:

crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

Aceptar (Click) en la opción del Menú.Desplegar la Interfaz de Creación

de Guía de Despacho. Aceptar (Tab) para iniciar el ingreso de la transac-

ción. Crear instancias de EncGuiaDespVenta y DetGuiaDespVenta, obtener

y desplegar NumGuiaDespVen, obtener y desplegar FechaV desde la fecha

del sistema, opcionalmente aceptar modificación manual de la fecha.

Responsabilidades:

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

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Salida:

N / A

Precondiciones:

El sistema tiene el Menú y la opción Crear Guía de Despacho por Venta

requerida instalados y activos

Postcondiciones:

  • Se aceptó (Click) en el Menú de Opciones para pasar a CrearGuíaDespacho

  • Se desplegó la interfaz de Crear Guía de Despacho por Venta (“limpia”)

  • Se creó una nueva instancia de EncGuiaDespVenta (creación de instancia)

  • Se asoció EncGuiaDespVenta a Terminal (asociación formada)

  • Se creó una nueva instancia DetGuiaDespVenta (creación de instancia)

  • Se asoció DetGuiaDespVenta a EncGuiaDespVenta (asociación formada)

  • Se posicionó el cursor en A y se aceptó (Tab) para proseguir

  • Se desplegó el Número correlativo de Guía de Despacho: NumGuiaDespVen

  • en A y la Fecha: FechaV en B

  • Se asignó el Número correlativo de Guía de Despacho al campo:

  • EncGuiaDespVenta .NumGuiaDespVen (modificación de atributos)

  • Se asignó la Fecha del sistema al campo:

  • EncGuíaDespVenta .FechaV ( modificación de atributos)

  • Se posicionó el cursor en el campo C : Código Enc. Despacho


Son modelos de an lisis y dise o principalmente con base en uml

Contrato

Nombre:

ingresarCodEmpleado(CodigoEmpleado)

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 continuación posicionar el cursor en el campo E.

Tipo:

Sistema

Referencias cruzadas:

R1.3, R1.4, R1.15

Notas:

Excepciones:

Error en ingreso manual del Código o Código no registrado

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Usar Base de Datos MS Access y (Tab) para sucesivos campos

Salida:

N / A

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 (asociación formada)

  • Se asignó CodigoEmpleado a EncGuiaDespVenta.CodigoEmpleado (modi-

  • ficación de atributo)

  • Nota : Alternativamente ( desde Lista de Valores Posibles ) - Sustituyendo

  • CodigoEmpleado por Nombre -

  • - Se asignó Nombre a EncGuiaDespVenta.Nombre (modificación de

  • atributo).

  • Se posicionó el cursor en el campo E: RUT Cliente

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)


Son modelos de an lisis y dise o principalmente con base en uml

Contrato

Nombre:

ingresarRutCliente(RutCliente)

Responsabilidades:

Aceptar el ingreso de RutCliente, por su intermedio, obtener y des-

plegar los Datos del Cliente registrados en el sistema de almacena-

miento persistente. A continuación 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 Despacho oprime

(Tab) para pasar a los sucesivos campos -

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Excepciones:

Error en ingreso manual del RUT o RUT no registrado

Salida:

N / A

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 (asociación formada)

  • Se asignó RutCliente a EncGuiaDespVenta.RutCliente (modificación de

  • atributo)

  • Se desplegaron los datos básicos del Cliente según 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º

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)


Son modelos de an lisis y dise o principalmente con base en uml

Contrato

Nombre:

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

Responsabilidades:

Aceptar el ingreso de NumNV, FecNV, CPag, verificar noexistencia del

Nº de Nota de Venta en registros del sistema de almacenamiento persis-

tente. A continuación posicionar el cursor en el campo P.

Tipo:

Sistema

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Referencias cruzadas:

R1.6, R1.7 y R1.8, R1.15

Notas:

Usar Base de Datos MS Access - el Encargado de Despacho oprime

(Tab) para pasar a los sucesivos campos -

Excepciones:

El Nº de Nota de Venta ya existe.

Salida:

N / A

El sistema conoce a EncGuiaDespVenta.NumNV (Registrado oportuna-

mente con anterioridad). Están disponibles los Encabezados de Guías de

Despacho previas.

Precondiciones:

Postcondiciones:

  • Se desplegó NumNV, FecNV, CPag en los campos M, N y O

  • Se asignó NumNV a EncGuiaDespVenta.NumNV (modificación de atributo)

  • Se asignó FecNV a EncGuiaDespVenta.FecNV (modificación de atributo)

  • Se asignó CPag a EncGuiaDespVenta.CPag (modificación de atributo)

  • Se posicionó el cursor en el campo P:Código.

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)


Son modelos de an lisis y dise o principalmente con base en uml

Contrato

Nombre:

ingresarCodProducto(CodigoProducto)

Aceptar el ingreso de CodigoProducto. Basado en CodigoProducto, ob-

tener y desplegar los Datos del Producto registrados en el sistema de

almacenamiento persistente. Al oprimir (Tab) - fin de ingreso de Codi-

goProducto - asignar Número correlativo a la Instancia de DetGuía-

DespVenta.NumLinea ypasar al campo Q. Si la Descripción es la cor-

recta pasar (Tab) al campo R: Precio.

Responsabilidades:

Tipo:

Sistema

Referencias cruzadas:

R1.9, R1.10, R1.15

Notas:

Excepciones:

Error en ingreso manual del Código o Código no registrado

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Salida:

N / A

Precondiciones:

El sistema conoce a Productos.CodigoProducto (Registrado oportuna-

mente con anterioridad)

Postcondiciones:

  • Se redesplegó CodigoProducto en P

  • Se desplegó el Número de Línea NumLínea en LL

  • Se asoció DetGuíaDespVenta a una instancia de Productos basado en una

  • igualdad de CodigoProducto (asociación formada)

  • Se asignó NumLínea a DetGuiaDespVenta.NumLínea ( modificación de

  • atributo )

  • Se asoció la nueva línea de DetGuíaDespVenta a EncGuíaDespVenta

  • (asociación formada)

  • Se asignó CodigoProducto a DetGuiaDespVenta.CodigoProducto (modi-

  • ficación de atributo)

  • Se desplegó la Descripción del Producto, Descripcion en Q.

  • Se posicionó el cursor en R: Precio

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)

Usar Base de Datos MS Access y tecla (Tab)


Son modelos de an lisis y dise o principalmente con base en uml

Contrato

Nombre:

ingresarPrecioCantidad(Precio, Cantidad)

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.

Responsabilidades:

Tipo:

Sistema

Referencias cruzadas:

R1.11 y R1.12

Notas:

Excepciones:

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Salida:

Usar Base de Datos MS Access

N / A

Precondiciones:

El sistema conoce a Productos.Existencia (Registrado oportuna-

mente con anterioridad)

  • 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 ( modificación de atributos)

  • Se posicionó el cursor en T: Valor Neto

Postcondiciones:

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)

Existencia negativa ( falta producto para despachar).


Son modelos de an lisis y dise o principalmente con base en uml

Contrato

Nombre:

grabarLínea()

Aceptar avance con (Tab) hasta la siguiente línea de la interfaz, creando

una nueva Línea de DetGuiaDespVenta. Calcular /ValorLínea y desple-

garlo en T de la línea previa. Grabar en almacenamiento persistente un registro de DetGuiaDespVenta con los datos ingresados/calculados en la

línea previa (anterior). Calcular /ValorTotal y desplegarlo en U. Posicio-

nar el cursor en P de la nueva línea.

Responsabilidades:

Tipo:

Sistema

Referencias cruzadas:

R1.13, R1.15

Notas:

Usar Base de Datos MS Access. En este punto el sistema queda listo para

reiterar el ingreso de un nuevo código CodigoProducto o caso contrario,

pasar a terminarTransacción()

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Excepciones:

N / A

Salida:

N / A

Precondiciones: N / A

Postcondiciones:

  • Se calculó /ValorLínea y se desplegó en T

  • Se calculó/recalculó /ValorTotal y se desplegó/redesplegó en U.

  • Se asignó /ValorLínea a DetGuiaDespVenta./ValorLínea

  • ( modificación de atributo )

  • Se grabó en almacenamiento persistente el registro de DetGuiaDespVenta

  • reciéncompletado

  • Se creó una nuevaLínea de DetGuiaDespVenta (creación de instancia)

  • Se asoció la nueva Línea de DetGuiaDespVenta a EncGuiaDespVenta

  • (asociación formada)

  • Se posicionó el cursor en P de la nueva Línea de DetGuiaDespVenta.

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)


Son modelos de an lisis y dise o principalmente con base en uml

Nota:

Los nombres de elementos usados

en los contratos hacen referencia

al Diagrama de Secuencia de pág. 15,

al Modelo Funcional de pág. Nº 32

y al Modelo de Clases de pág. Nº 33.

Diseño de Clases: Contratos

Crear Guía Interna de

Despacho por Venta

(Productos con registro

persistente)

(Base Craig Larman)

Contrato

Nombre:

terminarTransacción()

Responsabilidades:

Aceptar (click) del Botón V (Grabar). Recalcular /ValorTotal y redesple-

garlo en U. Grabar en almacenamiento persistente la instancia actual de

EncGuiaDespVenta.”Limpiar” los datos desplegados en la interfaz. Actua-

lizar Productos.Existencia, Productos.Despachado y DetGuiaDesp-

Venta.notAct. Posicionar en A el cursor.

Tipo:

Sistema

Referencias cruzadas:

R1.2, R1.14, R1.15

Usar Base de Datos MS Access. Al terminar, el sistema queda listo pa-

ra ingresar una nueva transacción o volver al Menú de opciones.

Notas:

Excepciones:

Productos.Existencia y Productos.Despachado ya fueron actualizados.

Salida:

N / A

Precondiciones:

N / A

Postcondiciones:

  • Se activó onClick_CBGrabar de commandGrabar

  • Se recalculó /ValorTotal y se grabó/regrabó en almacenamiento persistente la

  • instancia EncGuiaDespVenta y las líneas completadas DetGuiaDespVenta.

  • Se verificó notAct() de DetGuiaDespVenta y se actualizó Productos.Existencia,

  • Productos.Despachado, regrabando los registros de Productos afectados por la

  • transacción (modificación de atributo), después de ello, se le asignó el valor

  • false al atributo DetGuiaDespVenta.notAct (modificación de atributo), regra-

  • bando los registros correspondientes de DetGuiaDespVenta.

  • Se creó una nueva EncGuiaDespVenta (creación de instancia) (en blanco)

  • La nueva EncGuiaDespVenta fue asociada a Terminal (asociación formada)

  • Se creó una nueva DetGuiaDespVenta ( creación de instancia) (en blanco)

  • Se asoció la nueva instancia de DetGuiaDespVenta a EncGuiaDespVenta

  • (asociación formada)

  • Se posicionó el cursor en A, esperando la próxima acción del usuario.


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

ingresarOpcion(CrearGuiaDespacho)

(Productos con registro persistente)

(Base Craig Larman)

d1:EncGuiaDespVenta

t1:Terminal

Fecha

1:NumGuiaDespVen := siguiente():NumGuia

t1:Terminal

2:FechaV :=ahora():Fecha

3 :[NuevaGuiaDespacho] crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

Omisión del Contenedor de Líneas

Nota: Según Craig Larman

( 21.8.6 - pg.262 ) : “ Un mensaje

a un multiobjeto se interpreta como

un mensaje al objeto contenedor / colec-

ción en sí mismo... estas clases ( tales como

java.util.Vector... ) son clases predefinidas

de la biblioteca de clases... no es útil mos-

trarlas explícitamente... agregan “ruido”

pero poca información nueva. ”

:EncGuiaDespVenta

El mensaje invoca un método de

clase ( no de instancia), específicamente

el método ahora() de la clase Fecha

l1:DetGuiaDespVenta

siguiente():NumGuia

ahora():Fecha

crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

3.1 :[NuevaGuiaDespacho] crearDetGuiaDespVenta(NumGuiaDespVen)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

ingresarCodEmpleado(CodigoEmpleado) ingresarRutCliente(RutCliente)

(Productos con registro persistente)

(Base Craig Larman)

d1:EncGuiaDespVenta

1:ingresarCodEmpleado(CodigoEmpleado)

d1:EncGuiaDespVenta

1.1:Nombre := consultar(CodigoEmpleado)

2:ingresarRutCliente (RutCliente)

t1:Terminal

t1:Terminal

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)

e1:Empleados

c1:Clientes

ingresarCodEmpleado(CodigoEmpleado)

ingresarRutCliente (RutCliente)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

(Productos con registro persistente)

(Base Craig Larman)

1: ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

d1:EncGuiaDespVenta

ll:DetGuiaDespVenta

:EncGuiaDespVenta

t1:Terminal

La instancia específica :

d1:EncGuíaDespVenta hace la con-

sulta a los Encabezados de Guía anterio-

res. ( Condición de NO existencia previa )

ingresarNumNVFechaNVCond(NumNV, FecNV, CPag)

1.1:consultar (NumNV)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

ingresarCodProducto(CodigoProducto)

(Productos con registro persistente)

(Base Craig Larman)

d1:EncGuiaDespVenta

1.1:aceptarCodigo(CodigoProducto)

ll:DetGuiaDespVenta

1.2:Descripcion:= consultar(CodigoProducto)

t1:Terminal

b1:Productos

Omisión del Contenedor de Líneas

Nota: Según Craig Larman

( 21.8.6 - pg.262 ) : “ Un mensaje

a un multiobjeto se interpreta como

un mensaje al objeto contenedor / colec-

ción en sí mismo... estas clases ( tales como

java.util.Vector... ) son clases predefinidas

de la biblioteca de clases... no es útil mos-

trarlas explícitamente... agregan “ruido”

pero poca información nueva. ”

ingresarCodProducto(CodigoProducto)

siguiente () : NumLinea

1:ingresarCodProducto(CodigoProducto)

2 *:[i:=1...6] NumLínea:= siguiente () : NumLinea

2.1 *:[i:=1...6] NumLínea:= siguiente () : NumLinea

2.2:crearLinea(NumLinea)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

ingresarPrecioCantidad(Precio, Cantidad)

grabarLínea()

(Productos con registro persistente)

(Base Craig Larman)

1:ingresarPrecioCantidad(Precio, Cantidad)

1.1:aceptarDatos(Precio, Cantidad)

2: /ValorTotal := calcularTotales()

d1:EncGuiaDespVenta

ll:DetGuiaDespVentaa

2.1*:[i:=1...6]: /ValorLínea := calcularValor()

t1:Terminal

t1:Terminal

ll:DetGuiaDespVenta

ingresarPrecioCantidad(Precio, Cantidad)

d1:EncGuiaDespVenta

calcularTotales()

Después de grabarLinea() el usua-

rio vuelve a la acción anterior de

ingresarCodProducto() hasta que

no queden más productos que

ingresar, en cuyo caso pasa a la siguiente acción :

teminarTransaccion()


Son modelos de an lisis y dise o principalmente con base en uml

1: /ValorTotal := calcularTotales()

d1:EncGuiaDespVenta

1.1*:[i:=1...6] /ValorLínea := calcularValor()

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

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

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

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

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

ll:DetGuiaDespVenta

ll:DetGuiaDespVenta

d1:EncGuiaDespVenta

t1:Terminal

b1:Productos

t1:Terminal

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

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

Este Diagrama reitera lo indicado

en grabarLínea() al recalcular los

totales ( se expone por completitud )

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

terminarTransaccion()

(Primera Parte)

(Productos con registro persistente)

(Base Craig Larman)

calcularTotales()

restarExistencia(CodigoProducto, Cantidad)

sumarDespachado(CodigoProducto, Cantidad)


Son modelos de an lisis y dise o principalmente con base en uml

d1:EncGuiaDespVenta

t1:Terminal

Fecha

5 :[NuevaGuiaDespacho] crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)

3:NumGuiaDespVen := siguiente():NumGuia

:EncGuiaDespVenta

5.1 :[NuevaGuiaDespacho] crearDetGuiaDespVenta (NumGuiaDespVen)

Esta Segunda Parte del Diagrama

de terminarTransacción() reitera

lo indicado en pág 25 ingresarOpción()

( se expone por completitud )

l1:DetGuiaDespVenta

Diseño de Clases:

Creación de EncGuiaDespVenta

Diagramas de Colaboración

terminarTransaccion()

(Segunda Parte)

(Productos con registro persistente)

(Base Craig Larman)

siguiente():NumGuia

ahora():Fecha

t1:Terminal

4:FechaV :=ahora():Fecha

crearEncGuiaDespVenta(NumGuiaDespVen, FechaV)


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases :

Modelo Funcional

(Detallado y Generalizado)

Crear Guía Interna de

Despacho por Venta

(Productos con Registro

persistente)

Encabezado de Guía de Despacho

Clientes

  • RUT Cliente

  • Razón Social

  • Dirección

  • e_Mail

  • Comuna

  • Ciudad

  • País

  • Contacto

  • Fono

  • Fax

Terminal

Encabezado, detalle y totales según

formato de pantalla adjunto.

1.Cargar correlativo y fecha de sistema

2. Aceptar datos.

3. Enviar mensajes de C/E a registros.

4. Enviar mensajes de consulta de datos

5. Calcular totales cumulativos

6. Enviar mensajes de actualización de

existencias y actualizar línea a línea

el registro de la transacción

Empleados

  • Código

  • Empleado

  • Nombre

  • ...

Notas de Venta

Al crear la línea

de detalle, notAct se incializa a: true

C/E, msg1, msg2,

C/E y msg4

  • Nº Guia de Despacho

  • RUT Cliente

  • Nº Nota de Venta

  • Fecha Despacho

  • Código Empleado

  • Fecha Nota de Venta

  • Condición de Pago

  • / Valor Total

  • Transacción Cerrada

  • Transacción Anulada

msg6 y msg10

1. Crear Encabezado()

2. Aceptar datos()

6. Calcular Totales()

7. Cerrar Transacción()

8. Anular Transacción()

9. Copiar Transacción()

10. Siguiente()

4. Consultar datos()

C/E y msg4

C/E, msg1, msg2, msg3,

msg6, msg10 y msg11

C/E, msg4,

msg7, msg9

y msg10

Productos

  • Código Producto

  • Descripción

  • U.Medida

  • Precio

  • Costo Unitario

  • Existencia Inicial

  • Existencia

  • Recibido

  • Despachado

Detalle de Guía de Despacho

4. Consultar datos()

  • Nº Línea

  • Código Producto

  • Precio

  • Cantidad

  • / Valor línea

  • notAct

  • Línea Cerrada

  • Línea Anulada

C/E y msg4

  • Nº Nota

  • de Venta

4. Consultar datos()

6. Sumar Existencia()

7. Restar Existencia()

8. Sumar Recibido()

9. Sumar Despachado()

10. Existencia Negativa()

11. Calcular CPP()

1. Crear Línea()

2. Aceptar Codigo()

3. Aceptar datos()

6. Calcular Valor()

7. Cerrar Línea()

8. Anular Línea()

9. Copiar Línea()

10. Siguiente()

11. notAct()

Datos

4. Consultar datos()


Son modelos de an lisis y dise o principalmente con base en uml

Diseño de Clases : Modelo de Datos

Diagrama de Diseño de Clases

Crear Guía Interna de

Despacho por Venta

(Productos con Registro

persistente)

Clientes

  • RUTCliente

  • RazónSocial

  • Dirección

  • eMail

  • Comuna

  • Ciudad

  • País

  • Contacto

  • Fono

  • Fax

Agregado para clarificar contexto, en principio es una lista de valores posibles

1

1..*

  • CodigoProducto

  • Descripción

  • UMedida

  • Precio

  • CostoUnitario

  • ExistenciaInicial

  • Existencia

  • Recibido

  • Despachado

Nota: Según Craig Larman

(21.8.4 a 21.8.8 - pgs.262 - 264)

Salvo casos especificos, es conve-

niente omitir los métodos : crear(),

modificar(), eliminar() y consultar()

en los diagramas de clases dado que

no agregan valor y aumentan el

“ruido” - se consideran implícitos -

sumarExistencia()

restarExistencia()

sumarRecibido()

sumarDespachado()

existenciaNegativa()

calcularCPP()

Dentro de los requerimientos,

podría sustituirse por la consulta

a los Encabezados de Guía anteriores.

( Condición de NO existencia previa )

Al crear la línea

de detalle, notAct se incializa a: true

EncGuíaDespVenta

*

NumGuíaDespVen

RUTCliente

NumNV

FechaV

CódigoEmpleado

FecNV

CPag

/ValorTotal

TransacciónCerrada

TransacciónAnulada

1

*

Empleados

1

  • CódigoEmpleado

  • Nombre

1

crearEncGuiaDespVenta()

ingresarCodEmpleado()

ingresarRutCliente()

ingresarNumNVFechaNVCond()

ingresarCodProducto()

ingresarPrecioCantidad()

restarExistencia()

sumarDespachado()

calcularTotales()

cerrarTransacción()

anularTransacción()

copiarTransacción()

siguiente()

Notas de

Venta

  • NumNV

  • RUTCliente

  • FechaNV

  • etc...

1

Productos

DetGuíaDespVenta

1

  • NumLinea

  • CodigoProducto

  • Precio

  • Cantidad

  • /ValorLínea

  • notAct

  • LíneaCerrada

  • LíneaAnulada

*

crearDetGuiaDespVenta()

crearLínea()

aceptarCodigo()

aceptarDatos()

calcularValor()

restarExistencia()

sumarDespachado()

cerrarLínea()

anularLínea()

copiarLínea()

siguiente()

notAct()


  • Login