minimercado san lorenzo

138
Sistemas de Información II SISTEMA DE INFORMACIÓN PARA LA COMERCIALIZACIÓN DE PRODUCTOS DE CONSUMO MASIVO PARA EL HOGAR, CON MÓDULOS DE COMPRAS, VENTAS E INVENTARIO, PARA EL MINIMERCADO “SAN LORENZO”. 1.- INTRODUCCION Todas las mini y macro empresas de Bolivia comenzaron con el manejo de sus datos de forma manual, llenando kardex, planillas, recibos, comprobantes de pago y demás informes, debido principalmente a que los datos eran reducidos y no existía la necesidad de automatizar el registro de datos. Actualmente la mayoría de estas mini y macro empresas para poder registrar mayor cantidad de datos, cuentan con un sistema de información, debido a esta necesidad se produce mayor expansión en la demanda de la informática. Santa Cruz es una ciudad donde la población está creciendo aceleradamente. Por consecuencia lógica la demanda de productos de consumo masivo también se ha masificado. Este proyecto está dirigido al desarrollo de un sistema de comercialización de productos para el Minimercado “San SISCOMVE

Upload: andreita-mb

Post on 08-Nov-2015

48 views

Category:

Documents


5 download

DESCRIPTION

Perfil de un informe de un sistema de informacion

TRANSCRIPT

DIAGRAMAS DE CASO DE USO

Sistemas de Informacin II

SISTEMA DE INFORMACIN PARA LA COMERCIALIZACIN DE PRODUCTOS DE CONSUMO MASIVO PARA EL HOGAR, CON MDULOS DE COMPRAS, VENTAS E INVENTARIO,PARA EL MINIMERCADO SAN LORENZO.

1.- INTRODUCCION

Todas las mini y macro empresas de Bolivia comenzaron con el manejo de sus datos de forma manual, llenando kardex, planillas, recibos, comprobantes de pago y dems informes, debido principalmente a que los datos eran reducidos y no exista la necesidad de automatizar el registro de datos.Actualmente la mayora de estas mini y macro empresas para poder registrar mayor cantidad de datos, cuentan con un sistema de informacin, debido a esta necesidad se produce mayor expansin en la demanda de la informtica.

Santa Cruz es una ciudad donde la poblacin est creciendo aceleradamente. Por consecuencia lgica la demanda de productos de consumo masivo tambin se ha masificado.Este proyecto est dirigido al desarrollo de un sistema de comercializacin de productos para el Minimercado San Lorenzo, ubicado en la zona de la Pampa de la Isla, con el propsito de: Proveer al Minimercado de una herramienta que facilite el control y organizacin de los productos existentes.

Brindar un reporte del stock de los productos actuales y el estado de los mismos (vencimiento).

Maximizar el control de ventas para elevar sus ingresos.

Minimizar los riesgos de prdida y extravo de los productos. 2.- ANTECEDENTES

El Minimercado San Lorenzo comenz a brindar sus servicios en el ao 1980, como una pequea despensa con una pequea variedad de productos de consumo masivo del hogar, el cual fue creciendo a travs de los aos.

El Minimercado est ubicado en la zona de la Pampa de la Isla, Barrio Venezuela sobre la Carretera a Cotoca, frente al matadero municipal y est desde sus inicios bajo la direccin de su propietaria la Sra. Teodora Dvila Campos.Las diferentes actividades que se realizan en el Minimercado son:

La emisin de los pedidos de los productos.

Recepcin de los productos comprados.

Ventas, control de inventarios los cuales se realizan manualmente causando prdida de tiempo.

El horario de atencin es de horario contnuo de lunes a sbado de 8:30 a.m. hasta las 9:00 p.m. y los domingos desde las 9:30 a.m. hasta las 8:00 de la noche.

Hoy en da es considerada uno de los mejores lugares de abastecimiento, por su grata atencin y por contar con una variedad de productos que satisfacen las necesidades de los clientes, con precios econmicos.

VISION

Ser una Microempresa de cara al futuro, abierta a todo cambio positivo, mejorando las relaciones propietario-cliente y viceversa. Innovador y contar con un manual de funciones de acorde a las necesidades imperantes de la poca.

Ubicacin

Unidad Vecinal # 141Manzana # 2

Barrio Venezuela

Calle # 3

Zona Pampa de la Isla

Matadero Municipal

Carretera a Cotoca

Minimercado

San LorenzoAv.

Pampa de la Isla

3.- ESTRUCTURA ORGANIZACIONAL:

El Minimercado cuenta con una estructura organizacional pequea, definida de la siguiente manera:

ORGANIGRAMA :

Gerente: Est encargado de todo el Minimercado y es administrada por su propietaria la Sra. Teodora Dvila C.

Empleados: Se encargan de la venta, entrega de los productos, limpieza, ordenar o colocar los productos en sus lugares respectivos y otros.

4.- OBJETIVOS:

OBJETIVO GENERAL:Desarrollar un sistema de informacin para la comercializacin, con mdulos de compras, ventas e inventario, para el Minimercado San Lorenzo.OBJETIVO ESPECIFICO.:

Para dar respuestas a esta problemtica, el proyecto plantea los siguientes objetivos especficos.

Realizar obtencin de requerimientos mediante entrevistas con preguntas

abiertas a todas las personas involucradas en el tratamiento de la informacin.

Analizar la informacin recolectada en las entrevistas, determinar los mdulos y funciones de nuestro Sistema.

Disear las interfaces del sistema en forma interactiva con la ayuda de un usuario, para obtener interfaces amigables y fciles de manejar.

Implementar el sistema de informacin en un lenguaje de alto nivel.

Analizar y establecer los datos de entrada, los procesos y la salida que debe tener nuestro Sistema, para determinar que es lo que tiene que hacer el Sistema.

Disear un Sistema de informacin en base a los resultados obtenidos en el anlisis, para lo cual se utilizaran un mtodo de diseo.

Codificar la representacin del Sistema obtenido en la fase del diseo.

Realizar las pruebas correspondientes al Sistema de informacin.

Minimizar el margen de error en los datos ingresados.

Establecer mecanismos para reducir el tiempo requerido para elaboracin de informes.

Evitar prdida de informacin y almacenamiento redundante.

5.- DESCRIPCION DEL PROBLEMA:

Los problemas ms sobresalientes en este Minimercado son:

a) No se cuenta con un registro de control de productos tanto de compra como de venta, por este motivo se tiene dificultades para saber la cantidad de productos existentes y algunas veces se presenta la prdida repentina de algunos productos sin justificacin alguna.b) Existe problemas en la organizacin y distribucin del gran stock de productos con el que cuenta la microempresa, ocasionando as prdida de tiempo en su localizacin.

c) No tiene una lista de precios actualizados de los productos ofrecidos a los clientes, muchas veces es difcil recordar el precio exacto y es preciso consultarlo a otras personas causando prdida de tiempo a la clientela.

d) No se tiene un sistema de control para las fechas de vencimiento de los productos, por esta razn se genera una disminucin de venta impidiendo el crecimiento de la misma.e) No existe datos reales sobre el ingreso y egreso de dinero, que realiza el Minimercado ya que no cuenta con un registro de compra y venta de algunos productos.6.- FORMULACION DEL PROBLEMA:

Nuestro sistema formular las soluciones ms apropiadas para los siguientes problemas:

Un control de las compras y ventas efectuadas diariamente y as actualizar automticamente los productos dentro del inventario.

Controlar las existencias y cantidad de los productos en el inventario para mantenerlos estos actualizados.

Elaborar reportes peridicamente sobre las compras, ventas o reposicin de los productos.

Controlar las fecha de vencimientos de los productos para as darlos de baja antes de su comercializacin y registrarlos en el reporte.

Proporcionar un informe de las ganancias obtenidas y generar nota de venta.

7.- JUSTIFICACION:La necesidad de disear un sistema de informacin para el Minimercado San Lorenzo se fundamenta de la siguiente manera:

Tener un mejor control de compra y venta de mercadera.

Manejar la informacin de una forma rpida y precisa, promoviendo una mejor atencin a sus clientes.

Presentar un informe confiable del estado monetario del Minimercado, como de los productos que existen para la venta.

8.- ALCANCE:

El sistema a desarrollar espera cubrir las carencias en cuanto a registro del manejo y al almacenamiento de los productos, permitiendo reducir los costos, aumentar los ingresos y reducir los tiempos de bsqueda de los productos en inventario.

El sistema contar con los sgtes mdulos:

Mdulo de Compras.-Este mdulo permitir registrar: La compra de productos adquiridos por el Minimercado a un proveedor, aqu se detallaran los productos comprados, su cantidad precio.

Los gastos totales que implica una compra adquiridos por el Minimercado.

Mdulo de Ventas.-

Este mdulo permitir registrar:

Notas de venta de productos vendidos por la empresa a un cliente.- dichas notas debern detallar los productos vendidos, su cantidad y precio.

Los gastos totales que implica una venta adquiridos por el cliente.

Mdulo de Directorio.-

Este mdulo permitir registrar:

Clientes.- datos del cliente como ser (Nombre, Apellido paterno, Apellido materno), con el objeto de facilitar futuras ventas.

Proveedor.- datos del proveedor como ser (Nombre/ Razn social, direccin y telfono), con el objeto de facilitar futuras compras.

Empleado.- datos del empleado como ser (Nombre, Apellido paterno, Apellido materno, login, password), tomando en cuenta el rea en la que desempear sus funciones.Mdulo de Inventario.-Este mdulo permitir registrar:

Productos.- toda la informacin de un producto (descripcin, vencimiento, cantidad, precio unitario, precio de venta, stock mnimo), adems de su costo y la actualizacin de dicho costo.

Manejar productos disponibles.

Controlar la existencia mnima de un producto en stock para realizar un nuevo pedido.Mdulo de Administracin.- El proceso de administracin registra a los usuarios con sus respectivos permisos segn el tipo de usuario que le asigne la empresa. Se registrarn las transacciones realizadas por el usuario dando a conocer en la bitcora los movimientos de las transacciones con respecto al sistema.

Se generarn reportes dando a conocer datos referentes al tipo de reporte seleccionado.

Este sistema realizar lo siguiente:

Gestin de Compra y Venta.

Atencin al cliente.

Generar reportes de los productos que fueron vencidos.

Generar reportes de todos los proveedores.

Generar reportes de compra y venta de productos.

Emitir nota de venta.

METODOLOGA.-El paradigma que se utilizar ser el Proceso Unificado de desarrollo de Software (P.U.D.S.), debido a que es una proceso dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental, el P.U.D.S. permite desarrollar un sistema de software mediante el desarrollo de sucesivas iteraciones que tienen como resultado subproductos, hasta obtener un producto final.El ciclo de vida del P.U.D.S. consiste en n iteraciones de las cuatro fases principales: Inicio, Elaboracin, Construccin y Transicin. A su vez, cada una de estas fases consiste de n iteraciones de los cinco flujos de trabajo fundamentales: Captura de requisitos, Anlisis, Diseo, Implementacin y Prueba.

9.- ENTREVISTA

Entrevista a la administradora del Minimercado

Sra. Teodora Dvila C.

1.- Cmo est estructurado su Minimercado?

Solo trabajamos yo que soy la gerente y empleados.

2.- Cuntas personas trabajan en el Minimercado?

Trabajamos tres personas, mi persona, yo soy la encargada de la administracin de todo el Minimercado, y los empleados que son los encargados de la entrega de los productos.

3.- Tiene algn registro que indique los precios de cada producto?No, lo que hago es poner una etiqueta en cada producto indicando el precio, pero no es muy eficiente este mtodo por que las etiquetas pueden sufrir algunas alteraciones o perderse y como son muchos los productos me es difcil recordar el precio de todos a la hora de venderlos es por ello que hay das que no se ven las ganancias por las ventas

4.- Cmo trabaja para proveerse de sus productos? Se realizan ventas al crdito en su Minimercado?Trabajo con proveedores para algunos productos, y el resto lo compro en el mercado, pero todo es al contado, al igual que las ventas.

6.- Cuando realiza una venta Emite algn comprobante de pago?

Si, se emite una factura cuando el monto de la venta es alto o cuando los clientes as lo exigen.

7.- Cuenta con algn sistema de informacin para el control de compra y venta de los productos?

Actualmente no, no tengo ningn sistema de control, no se cuanto vendo ni que productos fueron vendidos, como tambin no se cuanto es mi ganancia.

8.- Tiene algn registro de todos los productos que tiene guardado en el almacn?

No, lo nico que puedo hacer para saber que es lo que tengo, es ir a fijarme y ver cuales productos tengo en menor cantidad para luego hacer nuevos pedidos de ella, y esto me causa prdida de tiempo.

9.- Si contara con un sistema de informacin que le gustara que hiciera este?

Que realice el manejo de inventario, compra, venta, que lleve un control de las fechas de vencimientos, y que emita nota de venta..

ELEMENTOS DEL SISTEMA:

Aqu especificaremos con detalles las entradas, sujeto, objeto, ambiente interno como externo y la salida.

a) Entrada: Datos de los productos, datos de los proveedores y los clientes.

b) Proceso: Seguimiento de las existencias y estado de los productos.

c) Salida: El retiro de los productos por las ventas realizadas

El retiro de los productos por vencimiento de fecha

O por algn defecto.

d) Sujeto:

Esta el Gerente se encarga de cobrar por el monte de la compra que realiza el cliente.

Los empleados acomodan los productos en su lugar respectivos, alcanzan o pesan algunos productos y embolsan los productos comprados.

Los proveedores, los cuales se encargaran de abastecer al Micromercado con sus productos ofrecidos.

e) Objeto: Forman parte lo siguiente

Escritorio

Armarios

Vitrinas

Refrigeradores

Freezer

Manual de escritorio

Material de limpieza

Los diferentes productos.

f) Ambiente interno:

Los clientes de la zona y alrededor

Los proveedores

Los empleados

El Gerente

.

g) Ambiente externo: Los diferentes supermercados que hay a su alrededor y en la ciudad.

METODO ISA (Sistema de informacin y anlisis de cambio)

1. Identificar los problemas

1.1.1. Lista de problemas

P1: El sistema manual con el que cuenta no es adecuado.

P2: No se registran todas las ventas realizadas.

P3: Los productos no estn bien organizados.

P4: La bsqueda de producto es deficiente.

P5: No se tiene control adecuado en el traspaso de los datos ocasionando redundancia y doble trabajo.

P6: El calculo de la cuenta total de las compra realizadas es muy moroso y ha veces se equivocan.

P7: Deficiente control de las fechas de vencimiento de los productos.

P8: Los clientes no saben el precio de los diferentes productos.

P9: Retardo al realizar un reporte.

P10: No se sabe que productos se tiene en poca cantidad.

P11: Los producto no muy adquirido son difciles de acordarse su precio.

P12: No se sabe que productos se tiene a la venta, o que productos ya se terminaron, tanto del almacn como el de la venta.

P13: No se sabe que producto fue comprado de que proveedor.

P14: El llenado de nota de venta causa perdida de tiempo.

P15: Control de Perdida de algunos productos por robos o descuido en la manipulacin.

1.1.2. Depuracin de problema

P1: El sistema manual con el que cuenta no es adecuado.

P2: No se registran todas las ventas realizadas.

P3-P4-: La bsqueda de producto es deficiente.P4-P5 No se tiene control adecuado en el traspaso de los datos ocasionando redundancia y doble trabajo.

P5-P6: El clculo de la cuenta total de las compras realizadas es muy moroso y ha veces se equivocan.

P6-P7: Deficiente control de las fechas de vencimiento de los productos.

P7-P8: Los clientes no saben el precio de los diferentes productos.

P8- P9: Retardo al realizar un reporte.P9- P11: Los producto no muy adquirido son difciles de acordarse su precio.

P10- P12: No se sabe que productos se tiene a la venta, o que productos ya se terminaron, tanto del almacn como el de la venta.

P11- P13: No se sabe que producto fue comprado de que proveedor.

P12-P14: El llenado de nota de venta causa prdida de tiempo.

P13-P15: Control de Perdida de algunos productos por robos o descuido en la manipulacin.

1.1.3. Lista de los problemas a resolver

P1: El sistema manual con el que cuenta no es adecuado.

P2: No se registran todas las ventas realizadas.

P3: La bsqueda de producto es deficiente.P4: No se tiene control adecuado en el traspaso de los datos ocasionando redundancia y doble trabajo.

P5: El clculo de la cuenta total de las compras realizadas es muy moroso y ha veces se equivocan.

P6: Deficiente control de las fechas de vencimiento de los productos.P7: Los clientes no saben el precio de los diferentes productos.

P8: Retardo al realizar un reporte.P9: Los producto no muy adquirido son difciles de acordarse su precio.

P10: No se sabe que productos se tiene a la venta, o que productos ya se terminaron, tanto del almacn como el de la venta.

P11: No se sabe que producto fue comprado de que proveedor.

P12: El llenado de nota de venta causa prdida de tiempo.

P13: Control de Perdida de algunos productos por robos o descuido en la manipulacin.

2. Lista de los propietarios de los problemas

Gerente Empleado Proveedor Cliente3. MATRIZ DE PROBLEMASProblemas Propietarios de los Problemas

ClienteEmpleadoProveedorGerente

P1XXX

P2XX

P3XXX

P4XX

P5XX

P6XXXX

P7XXXX

P8XXXX

P9X

P10XXXX

P11XXX

P12XX

P13XX

4. RED DE PROBLEMAS

1. Modelo de la actividad actual

Entidades

1. Cdigo + Pedido.

2. Monto.

3. Cdigo + Cantidad

4. Monto de la Venta

5. Descripcin del producto, Monto de la Venta

6. Cdigo + Cantidad.

7. Monto

8. Precios Cantidad

9. Cdigo + Cantidad

10. Descripcin, precio de Venta

11. Cdigo, Descripcin del Producto, Precio de compra y venta.

12. Cantidad del producto.

2. Analizar los objetivos

Gerente

Obj 1 Realizar rpido la bsqueda de productos

Obj 2 Calcular la cuenta de las comprar realizadas

Obj 3 Saber que productos ya se han vencido

Obj 4 Saber cuanto y que productos se han vendido

Obj 5 Saber que productos tiene en almacn.

Obj 6 Saber los precios de todos los productos

Obj 7 Automatizar el llenado de factura

Empleado

Obj 1 Realizar rpido la bsqueda de productos

Obj 2 Entregar los productos vendidos al cliente

Obj 3 Organizar los productos en sus respectivos sitios para la venta.

Cliente

Obj 1 Saber el precio de todos los productos.

Obj 2 Saber el detalle de la compra realizada.

Obj 3 Recibir una atencin rpida.

Obj 4 Tener la nota de venta al momento.

3. Definir las necesidades o alternativas de cambio

Obj 1 Realizar rpido la bsqueda de productos

Obj 2 Calcular la cuenta de las comprar realizadas

Obj 3 Saber que productos ya se han vencido

Obj 4 Saber cuanto y que productos se han vendido

Obj 5 Saber que productos tiene en almacn.

Obj 6 Saber los precios de todos los productos

Obj 7 Automatizar el llenado de factura.

Obj 8 Entregar los productos vendidos al cliente

Obj 9 Organizar los productos en sus respectivos sitios para la venta.

Obj 10 Recibir una atencin rpida.

Obj 11 Tener la nota de venta al momento.

MATRIZ DE OBJETIVOS

Objetivos

P1P2P3P4P5P6P7P8P9P10P11P12P13

Obj 1XXXXX

Obj 2XXXX

Obj 3XXX

Obj 4XXXXX

Obj 5XXXX

Obj 6XXXX

Obj 7XX

Obj 8XXX

Obj 9

Obj 10XXXXXXXX

Obj 11XX

Conclusin

Desarrollar un sistema para resolver los problemas que fueron habilitados para la compra, venta de los diferentes productos que tiene el Minimercado San Lorenzo.MODELO DE NEGOCIO

Diagrama de actividad para la venta de productos.

Diagrama de actividad para la compra de productos.

DIAGRAMAS ERE:

MODELO DE DOMINIO:

DIAGRAMA DE CLASES:

FLUJO DE TRABAJO: REQUERIMIENTOS

DIAGRAMAS DE CASO DE USO

1. Identificar una lista de casos de uso y actores

1.1 ACTORES

Cliente.- Es la persona que requerir del Sistema para realizar una transaccin. Gerente.-, Es el propietario del Minimercado, El puede acceder al sistema. Proveedor.- Son los que proveen los productos al Minimercado. Empleado.- Es el encargado de atender al cliente como tambin tiene acceso al sistema..

1.2 LISTA DE CASOS DE USOC.U.1: Controlar El Acceso Al Sistema.

C.U.2: Administrar Usuario

C.U.3: Gestionar Proveedor.

C.U.4: Administrar Unidad

C.U.5: Gestionar Cliente.

C.U.6: Administrar Baja de producto

C.U.7: Administrar Productos.

C.U.8: Gestionar Compra de Productos.

C.U.9: Gestionar Venta

C.U.10: Administrar Salida Producto

C.U.11: Gestionar Detalle Salida.

C.U.12: Emitir Nota de Venta.CU.13: Generar Listado de Productos existentes.CU.14: Generar Listado de Empleados.

CU15: Registrar datos en la bitcora

CU16: Gestionar grupos de usuario, Tipos de acciones realizadas, y permisos para cada grupo de Usuario.CU17: Generar detalle de transacciones realizadas

ACTOR ACTIVOCASO DE USO

SistemaCU1

Gerente/UsuarioCU2

Gerente/UsuarioCU3

Usuario, ProveedorCU4

UsuarioCU5

Usuario, ClienteCU6

UsuarioCU7

UsuarioCU8

Usuario, ProveedorCU9

UsuarioCU10

UsuarioCU11

UsuarioCU12

UsuarioCU13

UsuarioCU14

UsuarioCU15

Usuario CU16

UsuarioCU17

1.3.- PRIORIZACION DE CASO DE USO

CASO DE USOPRIORIDAD

C.U.1: Controlar el acceso al Sistema.Alta

C.U.2: Administrar Usuario.Alta

C.U.3: Gestionar Proveedor. Media

C.U.4: Administrar Unidad del producto.Alta

C.U.5: Gestionar Cliente. Alta

C.U.6: Administrar baja de productoAlta

C.U.7: Administrar productos.Crtica

C.U.8: Gestionar Compra de productos.Critica

C.U.9: Administrar Venta de productos.Critica

C.U.10: Administrar Salida de productos.Critica

C.U.11: Gestionar Detalle de Salida.Critica

C.U.12: Emitir Nota de VentaCritica

C.U.13: Generar Listado de productos existentesMedia

C.U.14: Generar Listado de Empleados.Media

C.U.15: Registrar datos en la bitcoraMedia

C.U.16: Gestionar grupos de usuario, tipos de acciones y permisos para cada grupo de usuarioCritica

C.U.17: Generar Detalle de transacciones realizadasMedia

1.4 DETALLES DE CADA CASO DE USO

NOMBRECONTROLAR ACCESO AL SISTEMA

Numero de caso de uso1

PropsitoVerifica que el Usuario registrado pueda acceder al sistema e ingresar segn su privilegio.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinHaberse registrado anteriormente como usuario.

PoscondicinIngresar al sistema segn su privilegio

Referencia cruzadaninguna

fsCURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Introduce login y password.

3: Acceder al sistema.2: Verificar y confirmar Login y Password.

CURSO ALTERNATIVO

2. Usuario no vlido.

NOMBREADMINISTRAR USUARIO

Numero de caso de uso2

PropsitoSe podr registrar, Modificar y eliminar un usuario, a quien se le permitir realizar ventas y compras y poder dar de baja a los productos defectuosos.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinTener designado un grupo de acceso.

PoscondicinPara Poder realizar Compra y venta de productos.

Referencia cruzadaCU1

Fig. Grfica-Caso de Uso-Administrar Usuario

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Llenar datos.

3: Insertar datos y nivel.

2: Verificar si el usuario ya existe.

CURSO ALTERNATIVO

2. Si no existe no hace nada. 3. Modificar.

3. Eliminar.

NOMBREGESTIONAR PROVEEDOR

Numero de caso de uso3

PropsitoNos permitir registrar, modificar y eliminar un proveedor y realizar las compras.

ActoresUsuario, Proveedor

Actor iniciadorUsuario

PrecondicinNinguna

PoscondicinPara realizar compra de productos.

Referencia cruzadaninguna

Fig. Grfica-Caso de Uso-Gestionar Proveedor

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Llenar datos.

3: Insertar datos.

2: Verificar existencia de proveedor.

CURSO ALTERNATIVO

2. Si no existe debe registrar datos3: Modificar.3: Eliminar.

NOMBREADMINISTRAR UNIDAD

Numero de caso de uso4

PropsitoNos permitir registrar, modificar y eliminar unidad de los productos para su mejor comprensin

ActoresUsuario

Actor iniciadorUsuario

PrecondicinNinguna.

PoscondicinPara poder registrar Producto.

Referencia cruzadaninguna

Fig. Grfica-Caso de Uso-Administrar Unidad de producto

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Llenar datos.

3: Insertar datos2: Verificar la existencia de unidad en la BD.

CURSO ALTERNATIVO

2. Si no existe debe registrarse la unidad.

3: Modificar.

3: Eliminar.

NOMBREGESTIONAR CLIENTE

Numero de caso de uso5

PropsitoSe realizara una Insercin, modificacin y eliminacin lgica de un cliente.

ActoresUsuario, Cliente

Actor iniciadorUsuario

PrecondicinNinguna.

PoscondicinRealizar la venta de los productos a un cliente.

Referencia cruzadaninguna

Fig. Grfica-Caso de Uso-Gestionar Cliente

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Llenar datos.

3: Insertar datos

2: Verificar existencia de Cliente.

CURSO ALTERNATIVO

2. Si no existe, se debe registrar al cliente.3: Modificar.

3: Eliminar.

NOMBREADMINISTRAR BAJA DE PRODUCTOS

Numero de caso de uso6

PropsitoRegistra, modificar y eliminar los productos dados de baja.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinTener registrados los productos y tener los registros de los usuarios.

PoscondicinRealizar retiro de los productos o dar de baja a los productos daados.

Referencia cruzadaCU7,CU10,CU4

Fig. Grfica-Caso de Uso-Administrar producto de baja

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Llenar datos.

6: Insertar datos

2: Verificar baja de producto

3. Verificar Salida Producto.

4. Verificar Producto.

5. Actualizar Stock

CURSO ALTERNATIVO

2. Si no lo tiene registrado le asigna otro cdigo de baja para ser insertado.

3. Si no tiene un cdigo de salida no se puede realizar esta operacin.

4. Tiene que estar registrado el producto a salir, caso contrario se accede al caso nro. 76: Modificar.

6: Eliminar.

NOMBREADMINISTRAR PRODUCTOS

Numero de caso de uso7

PropsitoEn este caso de podr guardar, modificar y eliminar un producto para poder realizar compra, venta de estas.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinHaber registrado la unidad.

PoscondicinPara poder realizar compra y venta de producto.

Referencia cruzadaCU4

Fig. Grfica-Caso de Uso- Administrar productos

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Introducir datos del producto

4. Guardar los datos del producto2. Verificar la no existencia el producto

3. Verificar unidad del producto

CURSO ALTERNATIVO2. Si existe no lo agrega.

3. Si no existe se crea una nueva Unidad caso de uso 4.

4. Modificar.

5. Eliminar.

NOMBREGESTIONAR COMPRA DE PRODUCTOS

Numero de caso de uso8

PropsitoRealizara la insercin, Modificacin y eliminacin de Compra y el cual tendr designado un Proveedor

ActoresUsuario, Proveedor

Actor iniciadorUsuario

PrecondicinHaber registrado usuario, proveedor y producto

PoscondicinPara registrar las ventas de productos detallados.

Referencia cruzadaCU2, CU3,CU7

Fig. Grfica-Caso de Uso-Gestionar Compra de Producto

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Llenar datos de compra

7. Listar Productos de compra8. Llenar cantidad,precio,fechaVenc.

9. Adicionar en DetalleCompra

12.Guardar Compra

2. verificar no existencia de Compra.

3. Asignar usuario.

4. verificar existencia de Proveedor.

5. verificar existencia de Producto.

6. Actualizar stock de productos.

10. Actualizar stock de productos.

11. Emitir Monto Total

CURSO ALTERNATIVO

2. Si existe no hace nada.

3. Si no existe Usuario no hace nada va al caso de uso Nro 2.

4: Si no existe proveedor se accede al caso de uso Nro 3.

5: si no existe producto, se accede al caso de uso Nro7

7. Modificar.

7. Eliminar.

NOMBREADMINISTRAR VENTA PRODUCTO

Numero de caso de uso9

PropsitoSe podr insertar, modificar o eliminar un detalle de salida de los productos.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinTener el registro del Cliente en la Base de datos.

PoscondicinPara poder realizar la venta detallada de los productos.

Referencia cruzadaCU7

Fig. Grfica-Caso de Uso-Administrar Venta de Producto.

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Llenar todos los datos necesarios.

4. Guardar.2. Verificar la no existencia de idVenta.

3. Se tiene que verificar la existencia de cliente para luego ser guardados.

CURSO ALTERNATIVO

2. Si existe ya el cdigo de Venta se tiene que asignar otro para su correspondiente venta.

3. Si no existe el cliente, accedemos al Caso de Uso Nro6.

4. Modificar.

4. Eliminar.

NOMBREADMINISTRAR SALIDA DE PRODUCTO

Numero de caso de uso10

PropsitoSe podr insertar, modificar o eliminar una salida de producto, ste puede ser mediante venta o dado de baja.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinTener el registro de usuario

PoscondicinPara poder realizar la venta o dar de baja un producto y detallar la venta de la misma.

Referencia cruzadaninguna

Fig. Grfica-Caso de Uso-Administrar Salida de Producto.

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Llenar todos los datos.

3. Guardar los datos.2. Verificar la no existencia de Salida de producto para registrarlo.

CURSO ALTERNATIVO

2. Si existe ya el Id de salida se proceda a asignarle otro.

3. Modificar. 3. Eliminar.

NOMBREGESTIONAR DETALLE DE SALIDA

Numero de caso de uso11

PropsitoSe podr insertar, eliminar registro de detalle de salida y se emitir la nota de venta.

ActoresUsuario

Actor iniciadorUsuario

PrecondicinTener los registros de los productos y de salida de producto para as proceder a la venta o baja de producto.

PoscondicinPara emitir Nota de venta.

Referencia cruzadaCU6, CU10

Fig. Grfica-Caso de Uso-Gestionar Detalle de Salida.

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Llenar todos los datos.

5. Guardar los datos despus de su confirmacin.2. Verificar la existencia de salida de producto.

3. Verificar stock de productos.

4. Actualizar inventario

CURSO ALTERNATIVO

2. si no existe, se tiene que registrar la salida de producto.

3. Cantidad no suficiente. Reconfirmar cantidad de salida de producto.5. Eliminar.

NOMBREEMITIR NOTA DE VENTA

Numero de caso de uso12

PropsitoRegistrar las ventas de los productos

ActoresCliente, Usuario

Actor iniciadorUsuario

PrecondicinVerificar si todos los productos, usuario y cliente estn registrados.

Verificar si el stock de los productos satisface a la venta del producto.

PoscondicinActualizar el stock de productos.Generar una nota impresa para el control del cliente.

Referencia cruzadaCU5, CU7

Fig. Grfica-Caso de Uso-Emitir nota de venta.

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Llenar datos.

7: Insertar datos

2: Verificar venta de productos3. Verificar Salida Producto.

4. Verificar Stock de Producto.

5. Verificar Cliente

6. Actualizar Stock

CURSO ALTERNATIVO

2. Si no lo tiene registrado le asigna otro cdigo de venta para ser insertado.

3. Si no tiene un cdigo de salida no se puede realizar esta operacin.

4. Tiene que estar registrado el producto a salir, caso contrario se accede al caso Nro75. Si no existe cliente, accedemos al caso de uso Nro5.

7: Modificar.

7: Eliminar.

NOMBREGENERAR LISTADO DE PRODUCTOS

Numero de caso de uso13

PropsitoMuestra el listado detallado de los productos que se encuentran en el Minimercado segn las necesidades del usuario.

ActoresUsuario

Actor IniciadorUsuario

Pre - Condicin Tener Registrado los Productos que se van a mostrar

Post Condicin Ninguna

Referencia CruzadaCU7

Fig. Grfica-Caso de Uso-Generar listado de productos.

CURSO BASICO ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Generar Listado de Productos

2: El sistema Obtiene los datos de la base de datos y genera el informe.

CURSO ALTERNATIVO

3: Si no encuentra datos, devuelve vaca la planilla y debe procederse al caso de uso Nro8.

NOMBREGENERAR LISTADO DE EMPLEADOS

Numero de caso de uso14

PropsitoMuestra el listado detallado de los empleados/usuarios (datos personales, cargo, etc) que se encuentran trabajando en el Minimercado.

ActoresUsuario

Actor IniciadorUsuario

Pre - Condicin Tener Registrado algn empleado que se van a mostrar

Post Condicin Ninguna

Referencia CruzadaCU2

Fig. Grfica-Caso de Uso-Generar listado de empleados

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1: Generar Listado de Empleados

2: El sistema Obtiene los datos de la base de datos y genera el informe.

CURSO ALTERNATIVO

3: Si no encuentra datos, devuelve vaca la planilla y debe procederse al caso de uso Nro2.

CASO DE USOREGISTRAR DATOS EN LA BITCORA

Numero de caso de uso15

PropsitoRegistrar todas las transacciones realizadas por los usuarios.

ActoresSistema

Actor IniciadorCU1 al CU14

Pre-condicinControlar el acceso al sistema

Post-condicin

Referencia CruzadaDespus de realizar cambios en el sistema (transaccin ) se guardan los datos de estos cambios en la bitcora del sistema

Fig. Grfica-Caso de Uso-Registrar datos en la bitcora

CURSO BASICO

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Ejecutar una accin cualquiera en el sistema

2. Almacenar las acciones realizadas sobre el sistema y el usuario que la realiza

CASO DE USOGESTIONAR GRUPOS, TIPOS DE ACCIONES Y PERMISOS

Numero de caso de uso16

PropsitoAsignar los diferentes grupos y permisos a los usuarios del sistema.

ActoresAdministrador

Actor IniciadorAdministrador

Pre-condicinIniciar Sesin (Administrador)

Post-condicin

Referencia Cruzada- Registrar, actualizar grupos de usuario, tipos de accin y permisos

Fig. Grfica-Caso de Uso- gestionar grupos, tipos de acciones y permisos

CURSO BASICOACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Iniciar sesin

3. Registra los datos modificados

2.Ingresar al sistema

4. Almacena la informacin

CASO DE USO GENERAR DETALLE DE TRANSACCIONES REALIZADAS EN EL SISTEMA

Numero de caso de uso17

PropsitoGenerar un reporte detallado de todas las transacciones generadas por los usuarios.

ActoresUsuario

Actor IniciadorUsuario

PrecondicinHaber realizado una transaccin dentro del sistema

Post condicin

ReferenciasCU2, CU1, CU15

Fig. Grfica-Caso de Uso- generar detalle de transacciones realizadas en el sistema

ACCIONES DEL ACTORRESPUESTA DEL SISTEMA

1. Iniciar sesin

3. Selecciona la fecha de la que quiere obtener el detalle

2.Ingresar al sistema

4. Despliega la informacin solicitada por el usuario

5. Muestra el detalle del reporte.

DIAGRAMA GENERAL DE CASOS DE USO:

FLUJO DE TRABAJO: ANALISISANALISIS DE LA ARQUITECTURA

IDENTIFICAR PAQUETES

ADMINISTRACION.-

Este modulo esta encargado de la administracin de usuarios, grupos de usuarios, permisos, adems del registro de todas las transacciones realizadas en el sistema (bitcora).

REPORTES.-

Este modulo esta encargado de la generacin de reportes como ser listados, informes y otros reportes de inters para la entidad.DIRECTORIO.-Este mdulo est encargado de registrar los diferentes tipos de entes como ser: empleado, cliente, proveedor.

INVENTARIO.-

Este mdulo nos permitir tener como referencia la cantidad a pedir y poder determinar en forma oportuna el momento de nuevas adquisiciones, la recepcin del producto y su respectiva salida del producto.COMPRAS.-

En este mdulo se registran todos los procesos que intervienen para llevar a cabo una compra.VENTAS.-

En este mdulo se registran todos los procesos que intervienen para llevar a cabo una venta.

PAQUETES Y CASOS DE USO

DEPENDENCIA ENTRE PAQUETES.-

ADMINISTRACION El modulo de Administracin tiene que trabajar necesariamente de forma integrada con otros mdulos para poder desempear su funcin.

En todo caso este modulo depende de todo los modulo mencionados anteriormente ya que este esta encargada del registro diario de las transacciones realizadas en aquellos modulo y asimismo se encarga del acceso al sistema.

REPORTES El modulo Reportes tiene que trabajar necesariamente de forma integrada con otros mdulos para poder desempear su funcin.

En todo caso este modulo depende de todo los modulo mencionados anteriormente ya que este esta encargada de la generacin de informes y reportes que son de importancia para la institucin.VENTAS Ventas est estrechamente relacionado con el mdulo Inventario, pues, sta permite o no realizarse una venta de productos.COMPRAS

Compras est estrechamente relacionado con el mdulo Inventario, pues, sta permite o no realizarse una compra de productos. Se realiza una nueva compra cada vez que lleguemos al stock mnimo de nuestros productos. Tambin se realiza una compra cuando tengamos la oportunidad de ofrecer nuevos productos y as mantener una completa variedad de productos.DIRECTORIO

Directorio puede trabajar en forma independiente, porque todas sus transacciones que ingresan en las opciones, estn diseados para cada tarea especifica.

Directorio, es actualizado cada vez que se realizan los caso de uso Gestionar proveedor, gestionar cliente y administrar usuario.

Directorio, tambin puede realizar reportes de los empleados cada vez que se ejecuta el caso de uso generar listado de empleados o segn sea el requerimiento.

INVENTARIO

Directorio puede trabajar en forma independiente, porque todas sus transacciones que ingresan en las opciones, estn diseados para cada tarea especifica.

ANALISIS DE CLASES, ANALISIS DE CASOS DE USO Y DIAGRAMA DE COLABORACION.-CASO DE USO GESTIONAR CLIENTE

CLASE INTERFAZ NOMBREREGISTRAR CLIENTES

RESPONSABILIDAD Verificar si Existe el cliente Agregar Datos del Cliente

Adicionar y Guardar el nuevo Cliente

ATRIBUTOSIDCliente, Nombre, ApellidoPaterno, ApellidoMaterno

METODOSNuevo(), Guardar(),Modificar(),

Eliminar(),Listar(),Salir()

CLASE CONTROL

NOMBREGESTOR CLIENTE

PROPOSITOVerificar si existe el cliente de lo contrario habr que proceder a insertarlo en la BDCliente

ENTRADAIdPersonaC

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IDPersonaC

from Cliente = IdPersonaC) True

Else

False

CLASE ENTIDAD NOMBRECLIENTE

RESPONSABILIDAD- Registrar y Almacenar los atributos pertenecientes a la clase Cliente, para su acceso a consulta y actualizacin

ATRIBUTOSIdPersonaC , Nombre, ApellidoPaterno, ApellidoMaterno.

Flujo de Suceso: Para registrar un nuevo cliente el administrador del sistema a travs de la I.U. Regis. Cliente solicita al Gestor Cliente la creacin de un nuevo cliente, luego registra los datos en la clase entidad Cliente. Para modificar o eliminar un cliente, la I.U. Regis Cliente obtiene los datos de la entidad Cliente a travs del Gestor Cliente, el cual actualiza los datos en la entidad Cliente.CASO DE USO GESTIONAR PROVEEDOR

CLASE INTERFAZ NOMBREREGISTRAR PROVEEDOR

RESPONSABILIDAD Verificar si existe un proveedor Agregar Datos del Proveedor

Guardar Datos del Proveedor

Modificar Datos del Proveedor

Eliminar Datos del Proveedor

ATRIBUTOSIdProveedor, Telfono , Nombre , Direccin

METODOSNuevo(), Guardar(),Modificar(),

Eliminar(),Listar(),Salir()

CLASE INTERFAZ

NOMBREMODIFICAR PROVEEDOR

RESPONSABILIDAD Modificar Datos del Proveedor

ATRIBUTOSIdProveedor, Telfono , Nombre , Direccin

METODOSGuardar(),Salir()

CLASE CONTROLNOMBREGESTOR PROVEEDOR

PROPOSITOVerificar la existencia de Proveedores

ENTRADAIdProveedor

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IdPersonaP

from Proveedor = IdPersonaP)

True

Else

False

CLASE ENTIDAD NOMBREAlmacena todos los datos en la Base de Datos.

RESPONSABILIDADEs el encargado de almacenar los atributos de la clase Proveedor para poder tener acceso a consulta y actualizacin en cualquier momento.

ATRIBUTOSIDPersonaP, Nombre, Apellido Paterno, Apellido Materno, Direccin, Telfono.

Flujo de Suceso:

Para registrar un nuevo proveedor el administrador del sistema a travs de la I.U. Proveedor solicita al Gestor Proveedor la creacin de un nuevo proveedor, luego registra los datos en la clase entidad Proveedor.

Para modificar un proveedor, la I.U. Modif.Proveedor obtiene los datos de la entidad Proveedor a travs del Gestor Proveedor, el cual actualiza los datos en la entidad Proveedor.

Para eliminar un proveedor, la I.U.Proveedor obtiene los datos de la entidad Proveedor a travs del Gestor Proveedor, el cual actualiza los datos en la entidad Proveedor.

CASO DE USO ADMINISTRAR UNIDAD

CLASE INTERFAZNOMBREREGISTRAR UNIDAD

RESPONSABILIDAD Verificar si Existe la unidad Agregar una nueva Unidad

ATRIBUTOSCodUnidad, Descripcin, Abreviatura

METODOSNuevo(), Guardar(), Eliminar(),Listar(),Salir()

CLASE CONTROL NOMBREGESTOR UNIDAD

PROPOSITOVerificar si existe alguna unidad necesaria.

ENTRADACodUnidad

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IdUnidad

from CodUnidad = IdUnidad)

True

Else

False

CLASE ENTIDAD

NOMBREUNIDAD

RESPONSABILIDAD- Registrar y Almacenar los atributos pertenecientes a la clase Unidad, para su acceso a consulta y actualizacin

ATRIBUTOSIDUnidad, Descripcion , Abreviatura

FLUJO DE SUCESOS- Permite adicionar o eliminar una unidad en la base de datos, como por ejemplo (Kg, Caja, Bolsa, Litro)

CASO DE USO GESTIONAR COMPRA DE PRODUCTOS

CLASE INTERFAZ

NOMBREREGISTRAR COMPRA

RESPONSABILIDAD Verificar si Existe Usuario

Verificar si Existe Proveedor

Agregar o modificar una Compra

ATRIBUTOSNroCompra, Fecha, Empleado, Proveedor, Producto, Cantidad, Precio

METODOSNuevo, NuevoProveedor(), Guardar(), Listar(),Salir(), MontoTotal()

CLASE CONTROL

NOMBREGESTOR COMPRA

PROPOSITOVerificar si existe CodCompra

ENTRADACodCompra

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IdCompra

from NroCompra = IdCompra)

True

Else

False

CLASE CONTROL

NOMBREGESTOR DETALLE DE COMPRA

PROPOSITOVerificar si existe CodDetalleCompra,

CodCompra, Adicionar y modificar el stock de productos.

ENTRADACodDetalleCompra

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IdDetalleCompra

from NroCompra =IdDetalleCompra)

True

Else

False

CLASE ENTIDAD

NOMBREUSUARIO

RESPONSABILIDADPermitir el acceso a la Clase Usuario para su respectiva utilizacin

ATRIBUTOSRetorna el IDPersonaU.

CLASE ENTIDAD

NOMBRECOMPRA

RESPONSABILIDAD- Registrar y Almacenar los atributos pertenecientes a la clase Compra, para su acceso a consulta y actualizacin

ATRIBUTOSIDCompra, Fecha, IDPersonaU, IDPersonaP, Monto

CLASE ENTIDAD

NOMBREDETALLE DE COMPRA

RESPONSABILIDAD Registrar y Almacenar los atributos pertenecientes a la clase Detalle de Compra, para su acceso a consulta y actualizacin

ATRIBUTOSIDCompra, IDProducto, Fecha de vencimiento, Precio.

CLASE ENTIDAD NOMBREPRODUCTO

RESPONSABILIDAD- Registrar y Almacenar los atributos pertenecientes a la clase Producto, para su acceso a consulta y actualizacin

ATRIBUTOSIDProducto, Descripcin.

Clase Control: Proveedor (Especificada en el CU3-Gestionar Proveedor)

FLUJO DE SUCESO El Caso de Uso Gestionar Compra, se inicia cuando un producto se agot o lleg a su cantidad mnima, luego se almacena los datos del proveedor, del usuario y la compra. Luego registramos los productos a comprar y actualizamos el stock de productos, es decir accedemos al caso de uso Administrar Productos.

CASO DE USO GESTIONAR VENTACLASE INTERFAZNOMBREREGISTRAR SALIDA

RESPONSABILIDAD Verificar si Existe Usuario

Verificar si Existe Producto

Verificar si Existe Cliente

Hacer una venta o baja de producto

ATRIBUTOSNro salida,IdUsuario, Cliente,Nombre, ApellidoPaterno, ApellidoMaterno, Producto, Cantidad, Precio total a paga,descripcin, tipo de salida:venta,baja.

METODOSInsertar(),Agregar(),Nuevo(),Salir(),Aceptar(),Cancelar(),

CLASE INTERFAZNOMBREREGISTRAR VENTA

RESPONSABILIDAD Verificar si Existe Usuario

Verificar si Existe Producto Verificar si Existe Cliente

Agregar o modificar una venta

ATRIBUTOSNro, Fecha, Cod cliente, Cliente, Producto, Cantidad, Precio total a pagar, entregado por.

METODOSAceptar(), Salir().

CLASE CONTROL NOMBREGESTOR SALIDA

PROPOSITOVerificar si existe CodSalida

ENTRADACodSalida

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IdSalida from CodSalida= IdSalida)

True

Else

False

CLASE CONTROL

NOMBREGESTOR VENTA

PROPOSITOVerificar si existe CodVenta

ENTRADACodVenta

SALIDAVerificador Bolean() true/false

PROCESOIf Existe (Select IdVenta

from CodVenta = IdVenta)

True

Else

False

CLASE ENTIDADNOMBREDETALLE DE SALIDA

RESPONSABILIDADRegistrar y Almacenar los atributos pertenecientes a la clase Detalle de Salida, para su acceso a consulta y actualizacin.

ATRIBUTOSIDSalida, IDProducto, Cantidad, Precio.

CLASE ENTIDAD

NOMBRENOTA DE VENTA

RESPONSABILIDADRegistrar y Almacenar los atributos pertenecientes a la clase Nota de Venta, para su acceso a consulta y actualizacin

ATRIBUTOSId_NotaVenta, Id_Cliente, Fecha, Id_Salida.

Clase Entidad: Usuario (Especificada en el CU8:Gestionar Compra de productos)Clase Entidad: Cliente (Especificada en el CU5:Gestionar Cliente)

Clase Entidad: Producto (Especificada en el CU8: Gestionar Compra de productos)

FLUJO DE SUCESO:

Para registrar una venta el usuario del sistema a travs de la I.U. Regis. venta solicita al Gestor Venta la creacin de una nueva venta, luego registra los datos en la clase entidad Cliente, NotadeVenta, DetalledeSalida y a la vez actualiza el inventario de productos. Para modificar o una venta, la I.U. Registrar venta obtiene los datos de todas las entidades participantes a travs del Gestor Venta, el cual actualiza los datos en las respectivas entidades participantes.DISEO FISICO

create database MINISANLORENZO

CREATE TABLE CLIENTE(

IDPersonaC int NOT NULL PRIMARY KEY,

Nombre Char(25) NOT NULL,

ApellidoPaterno char(25) NOT NULL,

ApellidoMaterno char(25) NOT NULL,

)

CREATE TABLE GRUPO(

IDGrupo int NOT NULL PRIMARY KEY,

Descripcion Char(25) NOT NULL,

)

CREATE TABLE USUARIO(

IDPersonaU int NOT NULL PRIMARY KEY,

Nombre Char(25) NOT NULL,

ApellidoPaterno char(25) NOT NULL,

ApellidoMaterno char(25) NOT NULL,

Login Char(25) NOT NULL,

Password Char(25) NOT NULL,

Estado char(10)not null,

IDGrupo int NOT NULL,

FOREIGN KEY (IDGrupo) REFERENCES Grupo(IDGrupo)

)CREATE TABLE PERMISO(

IDPermiso int not null,

Descripcion varchar(20) not null,

primary key(IDPermiso)

)

CREATE TABLE TIPOACCION(

IDAccion int not null,

Descripcion varchar(20) not null,

primary key(IDAccion)

)

CREATE TABLE GRUPOPERMISO(

IDGrupo int not null,

IDPermiso int not null

primary key(IDGrupo, IDPermiso),

foreign key (IDGrupo) references Grupo(IDGrupo),

foreign key(IDPermiso) references Permiso(IDPermiso)

)

CREATE TABLE BITACORA(

IDTransaccion int not null,

IDPersonaU int not null,

IDAccion int not null,

FechaHora datetime not null,

primary key(IDTransaccion),

foreign key(IDUsuario) references Usuario(IDPersonaU),

foreign key(IDAccion) references TipoAccion(IDAccion)

)

CREATE TABLE PROVEEDOR(

IDPersonaP int NOT NULL PRIMARY KEY,

Nombre Char(40) NOT NULL,

Direccion Char(25) NOT NULL,

Telefono varchar(25),

Estado char(10)not null

)

CREATE TABLE COMPRA(

IDCompra int NOT NULL PRIMARY KEY,

Fecha Datetime NOT NULL,

IDPersonaU int NOT NULL,

IDPersonaP int NOT NULL,

Monto Float not null,

FOREIGN KEY (IDPersonaP) REFERENCES PROVEEDOR(IDPersonaP),

FOREIGN KEY (IDPersonaU) REFERENCES USUARIO(IDPersonaU),

)

CREATE TABLE UNIDAD(

IDUnidad int NOT NULL PRIMARY KEY,

Descripcion Char(25) NOT NULL,

Abreviatura Char(25) NOT NULL

)

CREATE TABLE PRODUCTO(

IDProducto int NOT NULL PRIMARY KEY,

Descripcion Char(25) NOT NULL,

PrecioUnitario float NOT NULL,

CantidadProdu int NOT NULL,

CantidadMin int NOT NULL,

FechaVenc Datetime NOT NULL,

PrecioVenta float not null,

Estado char(10) not null,

IDUnidad int NOT NULL,

FOREIGN KEY (IDUnidad) REFERENCES UNIDAD(IDUnidad),

)

CREATE TABLE DETALLECOMPRA(

IDCompra int NOT NULL,

IDProducto int NOT NULL,

Cantidad int NOT NULL,

Precio float NOT NULL,

PRIMARY KEY(IDCompra,IDProducto),

FOREIGN KEY(IDCompra) REFERENCES COMPRA(IDCompra),

FOREIGN KEY(IDProducto) REFERENCES PRODUCTO(IDProducto),

)

CREATE TABLE SALIDAPRODUCTO(

IDSalida int NOT NULL PRIMARY KEY,

Fecha Datetime NOT NULL,

Tipo char(5) NOT NULL,

IDUsuario int NOT NULL,

FOREIGN KEY(IDUsuario) REFERENCES USUARIO(IDPersonaU),

)

CREATE TABLE DETALLESALIDA(

IDProducto int NOT NULL,

IDSalida int NOT NULL,

Cantidad int NOT NULL,

Precio float NOT NULL,

PRIMARY KEY(IDProducto,IDSalida),

FOREIGN KEY(IDProducto) REFERENCES PRODUCTO(IDProducto),

FOREIGN KEY(IDSalida) REFERENCES SALIDAPRODUCTO(IDSalida),

)

CREATE TABLE NOTAVENTA(

IDVenta int NOT NULL PRIMARY KEY,

IDCliente int NOT NULL,

IDSalida int NOT NULL,

Fecha Datetime NOT NULL,

FOREIGN key(IDCliente) REFERENCES CLIENTE(IDPersonaC),

foreign key (IDSalida)references SALIDAPRODUCTO(IDSalida)

)

CREATE TABLE BAJAPRODUCTO(

IDBaja int NOT NULL PRIMARY KEY,

Descripcion Char(25) NOT NULL,

Cantidad int NOT NULL,

IDSalida int NOT NULL,

foreign key (IDSalida)references SALIDAPRODUCTO(IDSalida)

)--llenado de la tabla cliente

insert into CLIENTE values (1,'Julio','Loaiza','Villca','a')

insert into CLIENTE values (2,'Juan','Castro','Castro','a')

insert into CLIENTE values (3,'Demetrio','Terceros','Sandoval','a')

--llenado de la tabla NIVELUSUARIO

insert into NIVELUSUARIO values(1,'Venta')

insert into NIVELUSUARIO values(2,'Compra')

insert into NIVELUSUARIO values(3,'Administrador')

--llenado de la tabla USUARIO

insert into USUARIO values (1,'Ma. Cristina','Dvila','B.','cris','cris','a',1)

insert into USUARIO values (2,'Marilyn','Casanova','Almazn','lin','lin','a',2)

insert into USUARIO values (3,'Teodora','Davila','Rojas','teo','teo','a',3)

--llenado de la tabla Proveedor

insert into PROVEEDOR values (1,'Felipe Cardenas Ovando','Santa Cruz','3621578','a')

insert into PROVEEDOR values (2,'Coca-Cola','Barrio Los Mangales','3230503','a')

insert into PROVEEDOR values (3,'Hielos Oriental','Barrio Calama','3315242','a')

insert into PROVEEDOR values (4,'Panaderia Lourdes','Zona Los Pozos','34656666','a')

insert into PROVEEDOR values (5,'Cerveceria Pacea','Av. Virgen de Lujan','3552577','a')

insert into PROVEEDOR values (6,'Empresas Fagal','Parque Industrial','3452587','a')

insert into PROVEEDOR values (7,'Leche Pil','Zona Los Pozos','72103785','a')

insert into PROVEEDOR values (8,'Aceites Fino','Km 6 Carrtera al Norte','3452626','a')

insert into PROVEEDOR values (9,'Caramelos watts','Zona La Ramada','3152545','a')

insert into PROVEEDOR values (10,'Viedo Sandoval','Zona El Trompillo','3621804','a')

--llenado de la tabla COMPRA

insert into COMPRA values (1,'21/02/2006',2,1,800)

insert into COMPRA values (2,'22/03/2006',3,2,1000)

insert into COMPRA values (3,'12/04/2006',2,3,500)

insert into COMPRA values (4,'04/05/2006',3,4,800)

insert into COMPRA values (5,'21/05/2006',2,5,600)

-- llenado de la tabla detalle de Compra

insert into DetalleCompra values ( 1,1,20,40 )

insert into DetalleCompra values ( 1,2,10,500 )

insert into DetalleCompra values ( 1,5,4,140 )

insert into DetalleCompra values ( 1,7,15,120 )

insert into DetalleCompra values ( 2,4,15,600 ) -- IDCOMPRA, IDPRODUCTO,CANTIDAD,PRECIO

insert into DetalleCompra values ( 2,10,10,400)

insert into DetalleCompra values ( 3,6,10,500)

insert into DetalleCompra values ( 4,12,15,200)

insert into DetalleCompra values ( 4,13,15,600)

insert into DetalleCompra values ( 5,14,2.5,600)

--llenado de la tabla UNIDAD

insert into UNIDAD values(1,'Kilogramo','Kg')

insert into UNIDAD values(2,'Litro','Lt')

insert into UNIDAD values(3,'Arroba','Arrb')

insert into UNIDAD values (4,'Paquete','Paq')

insert into UNIDAD values (5,'Tableta','Tab')

insert into UNIDAD values (6,'Tarro','Tarr')

insert into UNIDAD values (7,'Cajas','Cj')

insert into UNIDAD values (8,'Pieza','Pza')

insert into UNIDAD values (9,'Bolsa','Bolsa')

insert into UNIDAD values (10,'Barra','Barra')

insert into UNIDAD values (11,'Fardo','far')

--llenado de la tabla PRODUCTO

--id,desc,preciounit,CantProducto,CantiMin,FechaVenc,precioventa,estado,IdUnidad

insert into Producto values ( 1,'Te',1,20,5,'02-01-2007',2,'a',4)

insert into Producto values ( 2,'Papa',1.5,30,10,'21-03-2006',2.5,'a',1)

insert into Producto values ( 3,'Leche Pil',2,20,5,'05-08-2006',3.50,'a',9 )

insert into Producto values ( 4,'Coca Cola 2 Lts',38,25,5,'03-08-2007',48,'a',4)

insert into Producto values ( 5,'Mortadela',8,10,2,'21-03-2006',12,'a',1)

insert into Producto values ( 6,'Hielo',3.50,15, 3,'21-04-2006',7,'a',10)

insert into Producto values ( 7,'Papel Higienico',35,30,5,'05-01-2007',50,'a',4)

insert into Producto values ( 8,'Arroz',3,80,10,'05-01-2007',4,'a',1)

insert into Producto values ( 9,'Mineragua 2 lts',38,30,10,'20-11-2007',45,'a',4)

insert into Producto values ( 10,'Simba 2 lts',38,30,10,'20-11-2007',45,'a',4)

insert into Producto values ( 11,'Fanta 2 lts',38,30,10,'20-11-2007',45,'a',4)

insert into Producto values ( 12,'Pan de MonteroHoyos',4,20,5,'20-11-2006',5,'a',9)

insert into Producto values ( 13,'Pan de leche',2,15,5,'20-11-2006',4,'a',9)

insert into Producto values ( 14,'Cerveza Pacea',80,15,5,'12-02-2007',120,'a',11)

insert into Producto values ( 15,'Galletas Cremositas',8,10,3,'20-11-2006',15,'a',7)

insert into Producto values ( 16,'Aceite Fino 1lts',25,10,5,'05-02-2007',45,'a',7)

insert into Producto values ( 17,'Baton',5,10,1,'04-05-2007',0.80,'a',4)

insert into Producto values ( 18,'Toro viejo',10,10,3,'05-04-2007',20,'a',4)

insert into Producto values ( 19,'Damajuana',7,10,3,'05-04-2007',18,'a',8)

insert into Producto values ( 20,'Cuba libre 2lts',60,5,2,'05-04-2007',100,'a',4)

-- llenado de la tabla salida producto

insert into SalidaProducto values (1,'22/10/2006','Ven',1)

insert into SalidaProducto values (2,'21/10/2006','Baja',2)

insert into SalidaProducto values (3,'21/10/2006','Ven',3)

insert into SalidaProducto values (4,'23/10/2006','Baja',2)

insert into SalidaProducto values (5,'24/10/2006','Baja',1)

-- llenado de la tabla detalle salida

insert into DetalleSalida values (1,1,1,1)

insert into DetalleSalida values (3,2,1,4)

insert into DetalleSalida values (3,3,2,8)

insert into DetalleSalida values (2,4,1,2)

-- llenado de la tabla notaventa

insert into NotaVenta values (1,1,1,'22-10-2006')

insert into NotaVenta values (2,2,3,'21-10-2006')

insert into NotaVenta values (3,3,1,'22-10-2006')

insert into NotaVenta values (4,1,3,'21-10-2006')

-- llenado de la tabla bajaproducto

insert into BajaProducto values (1,'Vencimiento',1,2)

insert into BajaProducto values (2,'Mal Estado',5,4)

insert into BajaProducto values (3,'Otros',5,5)

PROCEDIMIENTOS ALMACENADOS-- ADICIONAR CLIENTE

Create Proc AddCliente

@IDPersonaC int,@Nombre char(25), @ApellidoPaterno char(25), @ApellidoMaterno char(25),@Estado char(10)

as

insert into Cliente values(@IDPersonaC,UPPER(@Nombre),UPPER(@ApellidoPaterno),UPPER(@ApellidoMaterno),upper(@Estado))

-- ACTUALIZAR CLIENTE

create proc UpdateCliente

@IDPersonaC int, @Nombre char(25), @ApellidoPaterno char(25), @ApellidoMaterno char(25),@Estado char(10)

as

update Cliente set Nombre=UPPER(@Nombre), ApellidoPaterno=UPPER(@ApellidoPaterno), ApellidoMaterno=UPPER(@ApellidoMaterno),Estado=upper(@Estado)

where IDPersonaC=@IDPersonaC

-- ELIMINAR CLIENTE

create proc DeleteCliente

@IDPersonaC int

as

update Cliente set Estado='i'

where IDPersonaC = @IDPersonaC

Create Proc MostrarClientes

as

select *from Cliente

where Estado='a'

create procedure Proximo_IDCliente

AS

select Max(IDPersonaC)as Maximo from Cliente

USUARIO

create proc AddUsuario

@IDPersonaU int,@Nombre char(25), @ApellidoPaterno char(25), @ApellidoMaterno char(25), @Login char(25),@Password char(25),@Estado char(10),@IDNivel int

as

insert into USUARIO values (@IDPersonaU,@Nombre,@ApellidoPaterno,@ApellidoMaterno,@Login,@Password ,@Estado,@IDNivel)

create procedure UpdateUsuario

@IDPersonaU int,@Nombre char(25), @ApellidoPaterno char(25), @ApellidoMaterno char(25), @Login char(25),@Password char(25),@Estado char(10),@IDNivel int

as

update USUARIO set Nombre=@Nombre,ApellidoPaterno=@ApellidoPaterno,ApellidoMaterno=@ApellidoMaterno,Login=@Login,Password=@Password,Estado=@Estado,IDNivel=@IDNivel

where IDPersonaU=@IDPersonaU

create procedure UpdateUsuario1

@IDPersonaU int, @Login char(25),@Password char(25),@IDNivel int

as

update USUARIO set Login=@Login,Password=@Password,IDNivel=@IDNivel

where IDPersonaU=@IDPersonaU

create proc Eliminar_Empleado

@IdPersonaU int

as

update Usuario set Estado='i'

where IDPersonaU = @IdPersonaU

create procedure Obtener_Nivel

@Usuario nchar(25), @Password nchar(25)

as

select IDNivel

from Usuario

where Login=Upper(@Usuario) and Password=Upper(@Password);

create procedure SinNivel_Usuario

@ni int

as

update USUARIO set IDNivel=0

where IDNivel=@ni

create procedure MostrarUsuario

as

select * from USUARIO

create proc MostrarUsuarioNivel

as

select u.NOmbre,u.ApellidoPaterno,u.ApellidoMaterno,u.Login,u.Password,n.nivel

from Usuario u,NivelUsuario n,Usuario

where n.IDNivel=u.IDNivel and Usuario.Estado='a'

group by u.NOmbre,u.ApellidoPaterno,u.ApellidoMaterno,u.Login,u.Password,n.nivel

create procedure Proximo_IDUsuario

AS

select Max(IDPersonaU)as Maximo from USUARIO

create procedure ObtenerIDPassword

@pas char(25)

as

select IDPersonaU from USUARIO

where Password=@pas

create procedure UsuarioActual

@log char(25)

as

select IDPersonaU from USUARIO

where Login=@log

create procedure ExistePassword

@pas char(25)

as

select Password from USUARIO

where Password=@pas

create procedure SelecionarUsuario

@s char(25)

as

select * from USUARIO

where Nombre like @s

NIVEL

create procedure AddNivel

@id int, @niv char(25)

as

insert into NIVELUSUARIO values (@id,@niv)

create procedure UpdateNivel

@id int, @niv char(25)

as

update NIVELUSUARIO set Nivel=@niv

where IDNivel=@id

create procedure DeleteNivel

@id int

as

delete from NIVELUSUARIO

where IDNivel=@id

create procedure MostrarNivel

as

select * from NIVELUSUARIO

create procedure ExisteNivel

@id int

as

select IDNivel from NIVELUSUARIO

where IDNivel=@id

create procedure ProximoID

AS

select Max(IDNivel)as Maximo from NIVELUSUARIO

PROVEEDOR create procedure AddProveedor

@id int, @nom char(40), @dir char(25),@tel varchar(25),@estado char(10)

as

insert into PROVEEDOR values (@id,@nom,@dir,@tel,@estado)

create procedure UpdateProveedor

@id int,@nom char(40), @dir char(25),@tel varchar(25),@estado char(10)

as

update PROVEEDOR set Nombre=@nom,Direccion=@dir,Telefono=@tel,Estado=@estado

where IDPersonaP=@id

create procedure DeleteProveedor

@id int

as

update PROVEEDOR set Estado='i'

where IDPersonaP=@id

create procedure MostrarProveedor

as

select * from PROVEEDOR where Estado='a'

create procedure Proximo_IDProveedor

AS

select Max(IDPersonaP)as Maximo from PROVEEDOR

create procedure Existe_Proveedor

@id int

as

select IDPersonaP from PROVEEDOR

where IDPersonaP=@id

create procedure SelecionarProveedor

@s char(40)

as

select * from PROVEEDOR

where Nombre like @s

create proc ListarProv

as

select Nombre from Proveedor

create proc ObtenerIDProveedor

@nombre char(25)

as

select IDPersonaP from Proveedor

where Nombre=@nombre

UNIDAD

create proc AddUnidad

@IDUnidad int,@Descripcion char(25),@Abreviatura char(25)

as

insert into UNIDAD values (@IDUnidad,@Descripcion,@Abreviatura)

create procedure UpdateUnidad

@id int,@des char(25),@abre char(25)

as

update UNIDAD set Descripcion=@des,Abreviatura=@abre

where IDUnidad=@id

create procedure DeleteUnidad

@id int

as

delete from UNIDAD

where IDUnidad=@id

create procedure MostrarUnidad

as

select * from UNIDAD

create procedure Proximo_IDUnidad

AS

select Max(IDUnidad)as Maximo from UNIDAD

create procedure ExisteUnidad

@id int

as

select (IDUnidad) from UNIDAD

where IDUnidad=@id

create proc ObtenerIDUnidad

@abre char(25)

as

select IDUnidad from Unidad

where Abreviatura=@abre

create proc ListarUnidad

as

select Abreviatura from Unidad

PRODUCTOselect *from producto

create procedure AddProducto

@id int ,@des char(25), @precu float ,@cantpro int,@cantmin int,@f datetime,@precv float,@e char(10),@idu int

as

insert into PRODUCTO values (@id ,@des, @precu,@cantpro,@cantmin,@f,@precv,@e ,@idu)

select *from unidad

exec addproducto 24,'toallas higienicas',2.5,15,2,'20/08/07',4,'a',9

exec addproducto 25,'Alcohol',0.8,15,2,'20/08/07',4,'a',7

exec addproducto 26,'Ace Omo',2.5,20,2,'01/08/07',4,'a',9

exec addproducto 27,'Jabon Bolivar',2,10,2,'02/08/07',3,'a',7

exec addproducto 28,'Ron Bacardi Limon',15,10,2,'05/08/07',25,'a',4

exec addproducto 29,'Singani 3 estrellas',10,25,3,'03/04/07',15,'a',4

exec addproducto 30,'Cigarros L&M',5,15,2,'20/08/07',7,'a',7

exec addproducto 31,'Papas fritas',2.5,15,2,'22/02/07',5,'a',9

exec addproducto 32,'cigarros kamel',5,15,2,'20/08/07',7,'a',9

exec addproducto 33,'Aceite girasol',5,15,2,'20/08/07',8,'a',7

exec addproducto 34,'Azucar',2.5,15,2,'20/08/07',5,'a',1

exec addproducto 35,'Duraznos',5,10,2,'30/08/07',8,'a',6

create procedure UpdateProducto

@id int ,@des char(25), @precu float ,@cantpro int,@cantmin int,@f datetime,@precv float,@e char(10),@idu int

as

update PRODUCTO set Descripcion=@des, PrecioUnitario=@precu,CantidadProdu=@cantpro,CantidadMin=@cantmin,FechaVenc=@f,PrecioVenta=@precv,Estado=@e ,IDUnidad=@idu

where IDProducto=@id

create procedure DeleteProducto

@id int

as

delete from PRODUCTO

where IDProducto=@id

create procedure MostrarProducto

as

select * from PRODUCTO

create procedure Proximo_IDProducto

as

select Max(IDProducto)as Maximo from PRODUCTO

create procedure ExisteProducto

@id int

as

select (IDProducto)from PRODUCTO

where IDProducto=@id

create procedure ObtenerNombreProducto

@id int

as

select Descripcion from PRODUCTO

where IDProducto=@id

create procedure SelecionarProducto

@s char(25)

as

select * from PRODUCTO

where Descripcion like @s

create Procedure Ultimo_Cod_Producto

As

select MAX(IDProducto) As ProximoId from Producto;

Create Procedure Todos_Productos

as

Select p.IDProducto,p.Descripcion,p.PrecioUnitario,p.CantidadProdu,

p.CantidadMin,p.FechaVenc,p.IDUnidad,Unidad.Descripcion

from Producto p,Unidad

where p.IDUnidad=Unidad.IDUnidad

Create Procedure Buscar_Producto

@Descripcion nchar(30)

as

Select p.IDProducto,p.Descripcion,p.PrecioUnitario,p.CantidadProdu,

p.CantidadMin,p.FechaVenc,p.IDUnidad,Unidad.Descripcion

from Producto p,Unidad

where p.IDUnidad=Unidad.IDUnidad and p.Descripcion like @Descripcion

create proc ObtenerPrecio

@IDProducto int

as

select PrecioUnitario from Producto where IDProducto=@IDProducto

create proc ObtPrecio

@nombre char(25)

as

select PrecioUnitario from Producto

where Descripcion=@nombre

create proc ListarCompras

as

select c.IDCompra,c.Fecha,p.IDProducto,d.Cantidad,Unidad.Descripcion,p.Descripcion,p.PrecioUnitario,u.Login,prov.Nombre

from Usuario u,Proveedor prov,Producto p,DetalleCompra d, Compra c, Unidad

where c.IDPersonaU=u.IDPersonaU and c.IDPersonaP=prov.IDPersonaP and

p.IDProducto=d.IDProducto and c.IDCompra=d.IDCompra and p.IDUnidad=Unidad.IDUnidad

create proc ListarProductos

@idc int,@idp int

as

select p.IDProducto,d.Cantidad,Unidad.Descripcion,p.Descripcion,p.PrecioUnitario

from Producto p,DetalleCompra d, Compra c, Unidad

where p.IDProducto=d.IDProducto and c.IDCompra=d.IDCompra and p.IDUnidad=Unidad.IDUnidad

and d.IDCompra=@idc

Create Procedure Cantidad_Producto

@Id_Producto int

As

select CantidadProdu from producto

where IDProducto=@Id_Producto

Create Procedure Modificar_Cantidad

@Id_Producto int, @cantidad int

As

Update Producto Set CantidadProdu=@cantidad

where IDProducto=@Id_Producto;

Create Procedure Modificar_PrecioUnitario

@Id_Producto int, @precio int

As

Update Producto Set PrecioUnitario=@precio

where IDProducto=@Id_Producto;

Create Procedure Modificar_PrecioVenta

@Id_Producto int, @precio int

As

Update Producto Set PrecioVenta=@precio

where IDProducto=@Id_Producto;

create proc ListarPdcto

as

select Descripcion from Producto

create proc ObtenerIDPdcto

@nombre char(25)

as

select IDProducto from Producto

where Descripcion=@nombre

create proc ObtPrecioDC

@desc char(25)

as

select detallecompra.precio

from producto, detallecompra

where producto.IDProducto=detallecompra.IDProducto and producto.Descripcion=@desc

select *from producto

COMPRA

create procedure Insertar_Compra

@IDCompra int,@Fecha datetime,@IDPersonaU int, @IDPersonaP int,@Monto float

as

insert into COMPRA values (@IDCompra,@Fecha,@IDPersonaU,@IDPersonaP,@Monto)

create procedure Modificar_Compra

@idc int,@fe datetime,@idu int, @idp int,@Monto float

as

update COMPRA set Fecha=@fe,IDPersonaU=@idu, IDPersonaP=@idp,Monto=@Monto

where IDCompra=@idc

create procedure Eliminar_Compra

@idc int

as

delete from COMPRA

where IDCompra=@idc

create procedure Existe_Compra

@idc int

as

select (IDCompra)from COMPRA

where IDCompra=@idc

Create Procedure Ultimo_Cod_Compra

As

select MAX(IDCompra) As ProximoId from Compra

Create Procedure Todas_Compras

as

Select Compra.IDCompra,Compra.Fecha,Compra.IDPersonaU,Compra.IDPersonaP

from Compra

Create Procedure Modificar_MontoTotal_Compra

@Id_Compra int, @MontoTotal float

As

Update Compra set Monto=@MontoTotal

where IDCompra=@Id_Compra;

select *from Producto

Create Procedure Suma_Total_Compra

@Id_Compra int

As

select Sum(Cantidad*Precio)As Total

from Compra,DetalleCompra

Where Compra.IDCompra=DetalleCompra.IDCompra

and Compra.IDCompra=@Id_Compra;

create proc MontoCompra

@idc int

as

select sum(precio) from compra,Detallecompra,producto

where Compra.IDCompra=detallecompra.IDCompra

and producto.idproducto=detallecompra.idproducto

and compra.idcompra=@idc DETALLE COMPRA

create procedure Insertar_DetalleCompra

@IDCompra int , @IDProducto int, @Cantidad int,@Precio float

as

insert into DETALLECOMPRA values (@IDCompra, @IDProducto, @Cantidad,@Precio)

create procedure Modificar_DetalleCompra

@idc int , @idp int, @cant int,@prec float

as

update DETALLECOMPRA set IDProducto=@idp, Cantidad=@cant,Precio=@prec

where IDCompra=@idc

Create Procedure Todos_DetallesCompras

@Id_Compra int

as

Select DetalleCompra.IDProducto,Producto.Descripcion,DetalleCompra.Cantidad,

DetalleCompra.Precio--,ProductoCompra.Monto

from DetalleCompra inner join Producto

on DetalleCompra.IDProducto=Producto.IDProducto

where DetalleCompra.IDCompra=@Id_Compra;

Create Procedure Cantidad_DetalleCompra

@Id_Compra int,@Id_Producto int

As

Select cantidad from DetalleCompra

where IDCompra=@Id_Compra and IDProducto=@ID_Producto;

ALGUNAS CONSULTAS-- MOSTRAR LAS FECHAS EN LAS QUE SE REALIZARON UNA VENTA

select nv.Fecha as FechaVenta

from NotaVenta nv

-- NOMBRE DEL CLIENTE , NRO DE VENTA, FECHA DE UNA SEMANA, MUESTRE EL NOMBRE PRODUCTO, CANTIDAD, TOTAL

SELECT * from NOTAVENTA

Select * FROM SALIDAPRODUCTO

SELECT * FROM DETALLESALIDA

SELECT * FROM CLIENTE

select * from producto

--

SELECT NV.IDVenta, c.Nombre, P.Descripcion,DS.Cantidad, DS.Monto, NV.Fecha

FROM NOTAVENTA NV, PRODUCTO P,DETALLESALIDA DS,Cliente C, SalidaProducto SP

where (sp.IDSalida=NV.IDSalida) and (NV.IDCliente=c.IDPersonaC) and (DS.IDSalida=SP.IDSalida) and SP.Tipo='Ven' AND

p.IDProducto=DS.IdProducto and (NV.Fecha between '22/10/2006' and '29/10/2006')

SELECT NV.IDVenta, c.Nombre, P.Descripcion,DS.Cantidad, DS.Monto, NV.Fecha

FROM NOTAVENTA NV, PRODUCTO P,DETALLESALIDA DS,Cliente C, SalidaProducto SP

where (sp.IDSalida=NV.IDSalida) and (NV.IDCliente=c.IDPersonaC) and (DS.IDSalida=SP.IDSalida) and SP.Tipo='Ven' AND

p.IDProducto=DS.IdProducto

--MOSTRAR EL NOMBRE DE LAS PERSONAS QUE REALIZARON UNA COMPRA

select DISTINCT (u.Nombre)

from Usuario u, Compra c

where u.idpersonau=c.idpersonau

--MOSTRAR LOS PROVEEDORES CON LOS QUE SE HAN HECHO NEGOCIOS

select Nombre, Direccion

from Proveedor

--MOSTRAR EL LOGIN PASSWORD PARA LOS USUARIOS REGISTRADOS

select login, password, nombre, apellidoPaterno, ApellidoMaterno

from usuario

--MOSTRAR TODOS LOS PRODUCTO QUE SE HAN COMPRADO

select DISTINCT (p.descripcion)

from DetalleCompra dc, producto p

where dc.Idproducto=p.IdProducto

select *

from producto

--MOSTRAR TODOS LOS PRODUCTOS REGISTRADOS

select *

from Producto

--MOSTRAR TODOS LOS PRODUCTOS DONDE SU PRECIO SEA SUPERIOR A 10

select *

from Producto

where producto.PrecioUnitario>10

--MOSTRAR TODOS LOS CLIENTES REGISTRADOS

select Nombre, ApellidoPaterno, APellidoMaterno

from Cliente

-- MOSTRAR TODAS LAS COMPRAS REALIZADAS ENTRE EL MES DE FEBRERO Y JULIO DEL 2006

select idcompra, fecha

from compra

where month(fecha) between 2 and 7 and (year (fecha)=2006)

--MOSTRAR CUANTOS PRODUCTOS SE VENCERAN EN LA FECHA 8-05-2002

select COUNT (FechaVenc) as Total_a_Vencerse, producto.descripcion

from Producto

where FechaVenc='21/10/2006'

group by Descripcion

select COUNT (FechaVenc) as Total_a_Vencerse, producto.descripcion,FechaVenc

from Producto

where month(FechaVenc) between 10 and 11

group by Descripcion,FechaVenc

select * from Producto

--MOSTRAR LOS NOMBRES DE USUARIOS QUE REALIZARON UNA VENTA

select u.nombre as Usuario, sp.IdSalida as IdS, Fecha

from Usuario u, SalidaProducto sp

where u.IdpersonaU=sp.Idusuario and (sp.tipo='Ven')-- and (v.IdSalida=sp.IdSalida)

select * from SalidaProducto

-- MOSTRAR LAS COMPRAS DONDE SU MONTO SEA MAYOR A 50

select dc.precio as Monto

from detallecompra dc

where dc.precio >50

SELECT * FROM DETALLECOMPRA -- el Precio que aparece en Detalle es el TOTAL PAGADO por todos los productos que hemos comprado

SELECT * FROM PRODUCTO

--MOSTRAR EL USUARIO Y QUE NIVEL TIENE CADA UNO DE ELLOS

select u.nombre, u.apellidoPaterno , n.Nivel as Descripcin

from Usuario u, NivelUsuario n

where u.IdNivel=n.IdNivel

--MOSTRAR LA UNIDAD EN LA QUE SE REGISTRA CADA PRODUCTO

select p.Descripcion, u.Descripcion

from Producto p, Unidad u

where u.IdUnidad=p.IdUnidad

--MOSTRAR LA CANTIDAD MINIMA PARA CADA PRODUCTO

select p.CantidadMin, u.descripcion, p.descripcion

from Producto p, Unidad U

where p.IDUnidad=u.IdUnidad

--MOSTRAR LA CANTIDAD QUE EXISTE PARA CADA PRODUCTO

select p.descripcion, p.CantidadProdu,u.Descripcion

from Producto p, Unidad u

where p.IDUnidad=u.IdUnidad

select * from producto

--MOSTRAR EL PRODUCTO MAS BARATO

select descripcion , preciounitario

from producto

where precioUnitario in (select MIN(PrecioUnitario) from producto)

--MOSTRAR EL PRODUCTO MS CARO

select descripcion , preciounitario

from producto

where precioUnitario in (select Max(PrecioUnitario) from producto)

--MOSTRAR QUE PRODUCTOS SE HAN DADO DE BAJA

select p.descripcion as NombreProducto

from detallesalida ds, producto p

where ds.Idsalida in ( select sp.IdSalida

from SalidaProducto sp

where (sp.Tipo='Baja') ) and (P.IdProducto=ds.IdProducto)

SELECT * FROM SALIDAPRODUCTO

SELECT * FROM DETALLEcompra

SELECT * FROM PRODUCTO

select *from compra

-- MOSTRAR CUANTAS C0MPRAS SE HICIERON AL PROVEEDOR 'FELIPE CARDENAS'

select count (DISTINCT (c.IdCompra)) as CantidadCompras

from proveedor pro,compra c

where c.IdPersonaP = ( select IdPersonaP

from proveedor

where nombre like 'Felipe Carde%')

SELECT * FROM COMPRA

SELECT * FROM PROVEEDOR

--MOSTRAR QUE PRODUCTOS SE HAN DADO DE BAJA Y ADEMAS ESPECIFICAR LA RAZON

select bp.descripcion AS Razon, p.descripcion as NombreProducto

from detallesalida ds, producto p, BajaProducto bp

where ds.Idsalida in ( select sp.IdSalida

from SalidaProducto sp

where (sp.Tipo='Baja') ) and (P.IdProducto=ds.IdProducto) and (bp.IdSalida=ds.IdSalida)

--MOSTRAR QUE PRODUCTOS SE HAN DADO DE BAJA Y ADEMAS ESPECIFICAR LA RAZON Y LA CANTIDAD

select bp.descripcion AS Razon, p.descripcion as NombreProducto, bp.cantidad as Cantidad

from detallesalida ds, producto p, BajaProducto bp

where ds.Idsalida in ( select sp.IdSalida

from SalidaProducto sp

where (sp.Tipo='Baja') ) and (P.IdProducto=ds.IdProducto) and (bp.IdSalida=ds.IdSalida)

select Producto.Descripcion

from Producto,Compra,Detallecompra,Proveedor

where Compra.IDPersonaP=Proveedor.IDPersonaP and Detallecompra.IDCompra=Compra.IDCompra

and Detallecompra.IDProducto=Producto.IDProducto

ANALISIS DE LA ARQUITECTURA

IDENTIFICAR PAQUETES

EXPLORACIN DE SUBSISTEMA USUARIO

DIAGRAMA DE COMPONENTES DEL SISTEMA PRINCIPAL

EXPLORACION DE PAQUETES:

DESCRIPCION DE LA CLASE CONEXIN :

Imports System.Data Declaramos las variables de tipo

Imports System.Data.SqlClient SqlClientpara conectarno a la base de datos

Public Class Conexion

Private cnx As SqlConnection

Private s As String

Public Sub Conectar() Conectamos nuestra base de datos.

cnx = New SqlConnection

s = "workstation id=THEONE;packet size=4096;integrated

security=SSPI;initial catalog=MINISANLORENZO;persist security

info=False"

cnx.ConnectionString = s

End Sub

---------------------------------------------------------------------------------------------------------- Public Sub Abrir() Mtodo que abre la conexin.

Try

cnx.Open()

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

Public Sub Cerrar() Mtodo que cierra la conexin

Try

cnx.Close()

'cn.Dispose()

Catch ex As Exception

MsgBox(ex.ToString)

End Try

End Sub

Public Function GetConexion() As SqlConnection Metodo que

Return cnx

retorna la conexion End Function

End Class

IMPLEMENTACION DE LOS PAQUETES :

Tenemos implementados los paquetes Registro, Movimiento y Comercializacion con una observacion en la ltima pues an no se ha terminado la implementacion de la salida de productos por Baja de producto.

A continuacin se observa las interfaces amigables del sistema.:

INTERFAZ DE USUARIO:

INTERFAZ DE PROVEEDOR:

INTERFAZ DE CLIENTE:

INTERFAZ DE PRODUCTO:

INTERFAZ PRINCIPAL:

INTERRFAZ DE ACCESO:

INTERFAZ DE COMPRA:

INTERFAZ DE VENTA:

INTERFAZ DE NOTA DE VENTA:

3.- DETALLE DE LA IMPLEMENTACION1.- Lenguaje de Programacin.-

Elegimos este Lenguaje de Programacin (Visual Basic .NET con SQL) por la facilidad que existe para una conexin rpida, segura, eficiente y confiable, proporcionndonos diversos mtodos y herramientas para realizar esquemas fciles de manejar.

Visual Basic .NET nos proporciona un entorno sencillo de manejar ya que no lo habamos utilizado antes, buscando as informaciones acerca de este nuevo lenguaje para un conocimiento previo por parte de nosotros, llegando a obtener como resultado un proyecto satisfactorio llenando las perspectivas personales con la finalizacin de este proyecto.

2.- Base de Datos.-Nuestro motor de Base de Datos utilizado es SQL, ya que este sistema de gestin de base de datos nos facilita interactuar de forma inmediata con Visual Basic .NET por lo que son como primos por la licencia de Windows.3.- Conexin.-Hemos creado una clase CONEXION donde obtenemos una cadena de conexin que genera el enlace entre nuestro sistema y el gestor de bases de datos.

EMBED PBrush

Sistema Minimercado

San Lorenzo

1. Nuevo

9. Eliminar Proveedor

6. Modificar Proveedor

3. Registrar Unidad()

6. Obtener Datos()

7. Actualizar Datos(datos)

3. Verificar Datos()

11. Actualizar()

2. DatosProveedor()

10. Eliminar Proveedor

1. Nueva Unidad

4. Eliminar Unidad

3 Verificar Datos()

2 RegisDatos()

2 Addventa()

3. Registrar Cliente()

6. Obtener Datos()

7. Actualizar Datos(datos)

10. Actualizar Datos()

1. Nueva venta

1. Nuevo cliente

4. Modificar cliente

8. Eliminar cliente

REPORTES

2. Adicionar Unidad()

5. Eliminar Unidad(reg)

VENTAS

COMPRAS

6. Guardar Compra()

1. Nueva Compra

ADMINISTRACION

DIRECTORIO

COMERCIALIZACION

REGISTRO

COMERCIALIZACION

Sistema Principal

Principal .exe

Comercializacin

Son las actividades las cuales vamos a realizar: Compra, Venta de productos

Packa1

Packa2

Se debe registrar a todas a las personas involucradas con el Uso el Sistema

Registros

Packa3

Gestionar lo registros de los productos

Movimientos

Principal. exe

FCliente.frm

Directorio

conexin.cls

Proveedor..cls

Producto

DetalleCompra

Compra

Proveedor

Producto

Cliente

NotaVenta

DetalleSalida

Venta

Tablas

Usuario

Proveedor

Cliente

FProveedor.frm

Cliente.cls

FEmpleados.frm

VENTA

Usuario.cls

GERENTE

Producto..cls

DetalleVenta.cls

Venta.cls

Compra.cls

FSalida.frm

DetalleCompra.cls

FMostrarCompra.frm

REGISTROS

FNotaVenta.frm

FModifUnidad.frm

conexin.cls

FCompra.frm

COMERCIALIZACIN

ProductoInv..cls

FKardexProducto.frm

Unidad.cls

FProducto.frm

GESTIONAR CLIENTE

FUnidad..frm

conexin.cls

FModifPdto.frm

MOVIMIENTOS

GESTIONAR PROVEEDOR

ADMINISTRAR USUARIO

REPORTE

EMPLEADO

P11

Proced. pdctos

no confiable

P1

No reg. compra

P8

No control

pdctos Venc.

P2

Clculo no confiable

P3

Organizacin

deficiente

P4

No reg. de ventas

P6

Sistema manual deficiente

P7

Traspaso de datos inefic.

P12

Demora nota de venta

P13

No control pdctos desap.

P10

Datos pdctos almac. Inefic.

P9

No hay reporte

P5

Atencin cliente lenta

Gerente

Proveedor

Cliente

1 2 3 4 5 6 7 8

9 10

11 12

Realizar Compras

Administrar Inventario

Realizar Ventas

4. AdicionarProveedor()

5. Guardar Datos()

7. Obtener Dato()

8. Actualizar

2. Adicionar cliente()

5. Modificar cliente(datos)

9. Eliminar cliente(reg)

11. Obtener Datos()

3. VerificarUsuario()

2. Obtener Datos()

9. ObtenerUsuario()

5 Verificar Datos()

5. Guardar Compra()

10. ActualizarCompra()

6. GuardarDetalle()

7.ActualizarDetalle()

4 Verificar Datos()

8. Actualizar()

10. GuardarDatos()

12. Obtener Datos()

13.Actualizar()

9. Guardar NotadeVenta()

4. Obtener Datos()

7. AddDetalleCompra()

9. GuardarDetalle()

5. Obtener Datos()

8.ActualizarProducto()

INVENTARIO

COMPRA

Producto

Unidad

ADMINISTRACION

Bitacora

Accion

Grupo

Permiso

REPORTE

Tablas

Ventas

Cliente

Proveedor

Usuario

Compras

DetalleCompra

DetalleSalida

Productos

SISCOMVE

_945211525.doc

S.I.MICROMERCADO

Cliente

Usuario

Proveedor

Empleado