Universidad Autónoma
Gabriel René Moreno Facultad: CS. Exactas y tecnología - Ingeniería Informática
Arquitectura de Software Gestión. 1 - 2011 Sistema de Ventas ARQUITECTURA: MODELO VISTA CONTROLADOR (MVC) CON HIBERNATE
Nombre
:
Luis Alberto Baigorria Rodas
Registro
:
200639080
Docente
:
Ing. Josué Obed Veizaga Gonzáles
Grupo
:
SA
miércoles, 27 de abril de 2011
1
CONTENIDO SISTEMA DE COMPRA Y VENTA DE PRODUCTOS ...........................................................................................................4 Descripción ................................................................................................................................................................4 IDENTIFICACION DE REQUISITOS ...................................................................................................................................4 Requisitos Funcionales .............................................................................................................................................4 Gestionar Empleado ..............................................................................................................................................4 Gestionar Cliente ...................................................................................................................................................4 Gestionar Proveedor..............................................................................................................................................4 Gestionar Rubro Producto .....................................................................................................................................4 Gestionar Producto................................................................................................................................................4 Registrar Compras .................................................................................................................................................4 Registrar Ventas.....................................................................................................................................................4 Generar Factura o Nota de Venta ..........................................................................................................................4 Requisitos No Funcionales ........................................................................................................................................4 FLUJO DE TRABAJO: REQUISITOS ...................................................................................................................................5 Identificar Casos de Uso ............................................................................................................................................5 Identificar Actores .................................................................................................................................................5 Identificar Casos de Uso ........................................................................................................................................5 Priorizar Casos de Uso...............................................................................................................................................5 Detallar Casos de Uso ...............................................................................................................................................6 CU1: Gestionar Empleado ......................................................................................................................................6 CU2: Gestionar Cliente ..........................................................................................................................................7 CU3: Gestionar Proveedor .....................................................................................................................................8 CU4: Gestionar Rubro de Productos ......................................................................................................................9 CU5: Gestionar Productos ...................................................................................................................................10 CU6: Registrar Compras .......................................................................................................................................12 CU7: Registrar Ventas ..........................................................................................................................................13 CU8: Generar Factura o Nota de Venta ...............................................................................................................14 Diagrama General de Casos de Uso ........................................................................................................................16 FLUJO DE TRABAJO: ANÁLISIS ......................................................................................................................................17 Análisis de la Arquitectura ......................................................................................................................................17 Análisis de Casos de Uso .........................................................................................................................................17 Diagrama de Colaboración ......................................................................................................................................17 CU1- Gestionar Empleado ...................................................................................................................................17 2
CU2- Gestionar Cliente ........................................................................................................................................17 CU3- Gestionar Proveedor ...................................................................................................................................18 CU4- Gestionar Rubros de Productos ..................................................................................................................18 CU5- Gestionar Productos ...................................................................................................................................19 CU6- Registrar Compras.......................................................................................................................................20 CU7- Registrar Ventas ..........................................................................................................................................21 FLUJO DE TRABAJO: DISEÑO ........................................................................................................................................22 Diseño de la Arquitectura .......................................................................................................................................22 Escenario del Usuario y Subsistemas ...................................................................................................................22 Arquitectura Física del Subsistema ......................................................................................................................22 Diseño de Casos de Usos .........................................................................................................................................23 Diagrama Parcial de Clases ..................................................................................................................................23 Diseño de Datos ......................................................................................................................................................28 Diseño Lógico ...........................................................................................................................................................28 DIAGRAMA ENTIDAD - RELACIÓN (MODELO DE DOMINIO) ................................................................................28 Diseño de Datos ......................................................................................................................................................29 Diseño Lógico ...........................................................................................................................................................29 DIAGRAMA ENTIDAD - RELACIÓN (MODELO DE DOMINIO) ................................................................................29 Diseño Físico ............................................................................................................................................................30 MAPEO .................................................................................................................................................................30
3
SISTEMA DE COMPRA Y VENTA DE PRODUCTOS DESCRIPCIÓN Caso de Estudio: Desarrollar una aplicación para la gestión de Compra y Venta de Productos genéricos.
IDENTIFICACION DE REQUISITOS REQUISITOS FUNCIONALES GESTIONAR EMPLEADO Gestionar y administrar los datos de los empleados que trabajan en la empresa, considerando los diferentes tipos de empleados: Vendedores, Almacén, Multifuncionales.
GESTIONAR CLIENTE Administrar los datos de los diferentes clientes de la Empresa. Permitirá la creación, modificación o eliminación de los clientes del Sistema.
GESTIONAR PROVEEDOR Permitirá la gestión de proveedores de productos que maneja la empresa, así mismo la actualización de sus datos en caso de modificación.
GESTIONAR RUBRO PRODUCTO Administrar los diferentes rubros que el sistema puede manejar. Es decir permitirá organizar los productos del sistema de acuerdo al rubro establecido por la empresa.
GESTIONAR PRODUCTO El sistema debe permitir gestionar los productos que se maneja en la empresa, permitiendo la incorporación o creación de nuevos productos, actualización y eliminación de productos existentes en el sistema.
REGISTRAR COMPRAS Administrará las diferentes compras de productos necesarios en la empresa de acuerdos a los diferentes proveedores que maneja la empresa, permitiendo la actualización en el almacén de productos.
REGISTRAR VENTAS Administrará y gestionará las diferentes ventas de productos que la empresa realice a los clientes.
GENERAR FACTURA O NOTA DE VENTA Se deberá generar una factura por cada venta, detallando los productos vendidos.
REQUISITOS NO FUNCIONALES Los requisitos No Funcionales serán establecidos conociendo la infraestructura del lugar y los recursos de Hardware con los que se dispone.
4
FLUJO DE TRABAJO: REQUISITOS IDENTIFICAR C ASOS DE USO IDENTIFICAR ACTORES
1- Administrador: Es el usuario con mayor privilegio sobre el sistema. Permitirá utilizar en su totalidad todas las opciones disponibles del sistema. 2- Empleado: Es la persona encargada de la atención al Cliente. La interacción de este usuario con el sistema permitirá gestionar las ventas de productos.
IDENTIFICAR CASOS DE USO
CU1: Gestionar Empleado CU2: Gestionar Cliente CU3: Gestionar Proveedor CU4: Gestionar Rubro de Productos CU5: Gestionar Producto CU6: Registrar Compras CU7: Registrar Ventas CU8: Generar Factura o Nota de Venta
PRIORIZAR CASOS DE USO Nro.
Estado
Prioridad
Riesgo
CU1
Gestionar Empleado
Caso de Uso
Aprobado
Importante
Normal
CU2
Gestionar Cliente
Aprobado
Importante
Normal
CU3
Gestionar Proveedor
Aprobado
Importante
Critico
CU4
Gestionar Rubro de Productos
Aprobado
Importante
Normal
CU5
Gestionar Producto
Aprobado
Importante
Normal
CU6
Registrar Compras
Aprobado
Critico
Critico
CU7
Registrar Ventas
Aprobado
Importante
Normal
CU8
Generar Factura o Nota Venta
Aprobado
Importante
Critico
5
DETALLAR CASOS DE USO CU1: GESTIONAR EMPLEADO a)
Diseño de Caso de Uso
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito
Actores Actor Iniciador Pre Condición
Flujo Principal
Excepciones (Flujo Secundario) Post Condición
c)
Gestionar Empleado Administrar los datos de los Empleados, permitiendo la creación, actualización y/o eliminación de Empleado de la empresa. Administrador, Empleado Administrador Ninguna 1. Nuevo Empleado 1.1 Introducir los datos del Nuevo Empleado 1.2 Validar datos 1.3 Guardar registro del Empleado 2. Modificar Empleado 2.1 Introducir código del Empleado 2.2 Actualizar cambios 2.3 Guardar el registro 3. Eliminar Empleado 3.1 Introducir código del Empleado 3.2 Mostrar datos del Empleado 3.4 Eliminar Empleado 1.2 Error de tipo de datos, El Empleado ya existe 2.1 Incorrecto. Código de Empleado inexistente 2.3 No se actualiza por incompatibilidad de datos 3.1 Incorrecto código inexistente Ninguna
Interfaz de Usuario
6
CU2: GESTIONAR CLIENTE a)
Diseño de Caso de Uso
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito
Actores Actor Iniciador Pre Condición
Flujo Principal
Gestionar Cliente Administrar los datos de los Clientes de la Empresa, permitiendo la creación, actualización y/o eliminación de Clientes. Administrador, Empleado Empleado Ninguna 1. Nuevo Cliente 1.1 Introducir los datos del Nuevo Cliente 1.2 Validar datos 1.3 Guardar registro del Cliente 2. Modificar Cliente 2.1 Introducir código del Cliente 2.2 Actualizar cambios 2.3 Guardar el registro 3. Eliminar Cliente 3.1 Introducir código del Cliente
7
Excepciones (Flujo Secundario) Post Condición
3.2 Mostrar datos del Cliente 3.4 Eliminar Cliente 1.2 Error de tipo de datos, El Cliente ya existe 2.1 Incorrecto. Código de Cliente inexistente 2.3 No se actualiza por incompatibilidad de datos 3.1 Incorrecto código inexistente Ninguna
c) Interfaz de Usuario
CU3: GESTIONAR PROVEEDOR a)
Diseño de Caso de Uso
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito
Actores Actor Iniciador
Gestionar Proveedor Administrar los datos de las empresas proveedores de los productos, permitiendo la creación, actualización y/o eliminación de Proveedores. Administrador, Empleado Empleado
8
Pre Condición
Flujo Principal
Excepciones (Flujo Secundario) Post Condición
c)
Ninguna 1. Nuevo Proveedor 1.1 Introducir los datos del Nuevo Proveedor 1.2 Validar datos 1.3 Guardar registro del Proveedor 2. Modificar Proveedor 2.1 Introducir código del Proveedor 2.2 Actualizar cambios 2.3 Guardar el registro 3. Eliminar Proveedor 3.1 Introducir código del Proveedor 3.2 Mostrar datos del Proveedor 3.4 Eliminar Proveedor 1.2 Error de tipo de datos, El Proveedor ya existe 2.1 Incorrecto. Código de Proveedor inexistente 2.3 No se actualiza por incompatibilidad de datos 3.1 Incorrecto código inexistente Ninguna
Interfaz de Usuario
CU4: GESTIONAR RUBRO DE PRODUCTOS a)
Diseño de Caso de Uso
9
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito Actores Actor Iniciador Pre Condición
Flujo Principal
Excepciones (Flujo Secundario) Post Condición
c)
Gestionar Rubro de Productos Gestionar Rubros de los Productos que maneja la empresa. Crear, actualizar y eliminar Rubros de los Productos. Administrador, Empleado Administrador Ninguna 1. Nuevo Rubro 1.1 Introducir datos del Rubro 1.2 Validar datos 1.3 Guardar registro de Rubro 2. Modificar Rubro 2.1 Introducir código del Rubro 2.2 Actualizar cambios 2.3 Guardar el registro 3. Eliminar Rubro 3.1 Introducir código del Rubro 3.2 Mostrar datos del Rubro 3.4 Eliminar Rubro 1.2 Error de tipo de datos, El Rubro ya existe 2.1 Incorrecto. Código de Rubro inexistente 2.3 No se actualiza por incompatibilidad de datos 3.1 Incorrecto código inexistente Ninguna
Interfaz de Usuario
CU5: GESTIONAR PRODUCTOS a)
Diseño de Caso de Uso
10
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito
Actores Actor Iniciador Pre Condición
Flujo Principal
Excepciones (Flujo Secundario) Post Condición
c)
Gestionar Producto Administrar los datos de los Productos, permitiendo la creación, actualización y/o eliminación de Productos en el Sistema Administrador, Vendedor Administrador El producto no debe existir, los datos deben ser completos y la cantidad debe ser un número. 1. Registrar Nuevo Producto 1.1 Introducir los datos del nuevo Producto 1.2 Validar datos 1.3 Guardar registro del Producto 2. Modificar Producto 2.1 Introducir código de Producto 2.2 Actualizar cambios habilitados 2.3 Guardar el registro 3. Eliminar Producto 3.1 Introducir código de Producto 3.2 Mostrar datos del Producto 3.4 Guardar datos 1.2 Error de tipo de datos, El Producto ya existe 2.1 Incorrecto. Código de Producto inexistente 2.3 No se actualiza por incompatibilidad de datos 3.1 Incorrecto código inexistente Productos Registrados.
Interfaz de Usuario
11
CU6: REGISTRAR COMPRAS a)
Diseño de Caso de Uso
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito
Actores Actor Iniciador Pre Condición
Flujo Principal
Excepciones (Flujo Secundario)
Post Condición
c)
Registrar Compras Administrar datos de las Compras de los Productos que maneja la empresa. Administrar cada compra que realiza la Empresa. Administrador, Vendedor Administrador El producto no debe existir, los datos deben ser completos y la cantidad debe ser un número. Evento del Actor 1. Registrar Nueva Compra 1.1 Introducir los datos del la nueva Compra 1.2 Validar datos 1.3 Guardar registro de la Compra Evento del Sistema 2.1 Almacena la Compra 2.2 Actualiza el Inventario de Productos (Stock) 2.3 Muestra el mensaje la Compra ha sido realizada 1.2 Error de tipo de datos, La compra ya existe 2.1 Incorrecto. Código de Compra existente. 2.3 No se actualiza los productos por incompatibilidad de datos. Compras Registradas
Interfaz de Usuario
12
CU7: REGISTRAR VENTAS
a)
Diseño de Caso de Uso
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito
Actores Actor Iniciador Pre Condición
Registrar Ventas Administrar datos de las Venta de los Productos que maneja la empresa. Registrar cada venta al momento de ser realizada. Administrador, Empleado Empleado Cantidad de Productos disponibles para la venta, datos para la venta completos.
13
Flujo Principal
Excepciones (Flujo Secundario)
Post Condición
c)
Evento del Actor 1.1 Digitar la cantidad de productos a vender. 1.2 Digitar código alfanumérico para cada venta 1.3 Digitar los datos completos 1.4 Pulsar el Boton Guardar 1.5 Aceptar Evento del Sistema 2.1 Verificar la cantidad de Productos disponibles para realizar la venta. 2.2 Almacena los datos 2.3 Calcula el valor total de la Ventas 2.4 Actualizar cantidad en el inventario. 2.5 El sistema genera y muestra “un Gis.” 1.2 Error de tipo de datos. 2.1 Incorrecto. Código de Venta a existente. 2.3 No se actualiza las Ventas por incompatibilidad de datos. Ventas Registradas
Interfaz de Usuario
CU8: GENERAR FACTURA O NOTA DE VENTA a)
Diseño de Caso de Uso 14
b) Plantilla de Caso de Uso Nombre de Caso de Uso Propósito Actores Actor Iniciador Pre Condición
Flujo Principal
Excepciones (Flujo Secundario) Post Condición
c)
Generar Factura o Nota de Venta Generación de la factura o Nota de Venta detallando en él los productos vendidos. Administrador, Vendedor Registrar Ventas Registrar Venta. Para poder Generar una Factura al menos debe realizar la venta de al menos un producto. Evento del Actor 1.1 Registrar la venta 1.2 Pulsa el botón Registrar Venta 1.3 Aceptar Evento del Sistema 2.1 Generar la factura 2.2 Guarda la Factura. 2.3 Imprime la Factura. Si no se ha realizado la venta de al menos un producto, no se podrá generar la factura. Registrar Ventas
Interfaz de Usuario
15
DIAGRAMA GENERAL DE CASOS DE USO
16
FLUJO DE TRABAJO: ANÁLISIS ANÁLISIS DE LA A RQUITECTURA Como se puede verificar la Arquitectura utilizada y aplicada al proyecto es: Modelo Vista Controlador.
ANÁLISIS DE CASOS DE USO DIAGRAMA DE COLABORACIÓN CU1- GESTIONAR EMPLEADO
CU2- GESTIONAR CLIENTE
17
Flujo de Sucesos: El Caso de Uso comienza con la opción de elegir nuevo Cliente, generando un nuevo Código, luego introducimos los datos requeridos para el nuevo Cliente, validamos y verificamos los mismos, si los datos fueron los correctos se inmediatamente se registra e inserta al nuevo Cliente a la base de datos.
CU3- GESTIONAR PROVEEDOR
Flujo de Sucesos: El Caso de Uso comienza con la opción de elegir nuevo Proveedor, generando un nuevo Código, luego introducimos los datos requeridos para el nuevo Proveedor, validamos y verificamos los mismos, si los datos fueron los correctos se inmediatamente se registra e inserta al nuevo Proveedor a la base de datos.
CU4- GESTIONAR RUBROS DE PRODUCTOS
18
Flujo de Sucesos: El Caso de Uso comienza con la opción de elegir nuevo Rubro, generando un nuevo Código, luego introducimos los datos requeridos para el nuevo Rubro a tratar, validamos y verificamos los mismos, si los datos fueron los correctos se inmediatamente se registra e inserta el nuevo Rubro a la base de datos.
CU5- GESTIONAR PRODUCTOS
Flujo de Sucesos: El Caso de Uso comienza con la opción de elegir nuevo Producto, generando un nuevo Código, selecciona el Rubro al que pertenece el producto, luego introducimos los datos requeridos para el nuevo Producto, validamos y verificamos los mismos, si los datos fueron los correctos se inmediatamente se registra e inserta el nuevo Producto.
19
CU6- REGISTRAR COMPRAS Flujo de Sucesos: El flujo del Caso de Uso comienza con la opción de elegir nuevo Compra, generando un nuevo Código para la Compra, selecciona los datos necesarios para realizar la compra, selecciona al proveedor, al empleado y cada uno de los productos que requiere hacer la compra.
20
CU7- REGISTRAR VENTAS Flujo de Sucesos: El flujo del Caso de Uso comienza con la opción de elegir nuevo Venta, generando un nuevo Código para la Venta, selecciona los datos necesarios para realizar la venta, selecciona al Cliente, al Empleado y cada uno de los productos que requiere hacer la compra.
21
FLUJO DE TRABAJO: DISEÑO DISEÑO DE LA ARQUITECTURA ESCENARIO DEL USUARIO Y S UBSISTEMAS
USUARIOS Administrador: es el usuario encargado de registrar toda la información relacionada que se maneja sobre los productos de la empresa y la relación con el cliente.
ARQUITECTURA FÍSICA DEL SUBSISTEMA
22
DISEÑO DE CASOS DE USOS DIAGRAMA PARCIAL DE CLASES CU-1: G ESTIONAR E MPLEADO
CU-2: G ESTIONAR C LIENTE
23
CU-3: G ESTIONAR P ROVEEDOR
CU-4: G ESTIONAR R UBRO DE P RODUCTOS
24
CU-5: G ESTIONAR P RODUCTOS
CU-6: R EGISTRAR C OMPRAS
25
26
CU-7: R EGISTRAR V ENTAS
27
DISEÑO DE DATOS DISEÑO LÓGICO DIAGRAMA ENTIDAD - RELACIÓN (MODELO DE DOMINIO)
28
DISEÑO DE DATOS DISEÑO LÓGICO DIAGRAMA ENTIDAD - RELACIÓN (MODELO DE DOMINIO)
class Domain Mo...
Proveedor -
Codigo: int Nombre: string Direccion: string Telefono: string FechaRegistro: string
Compra 1
1 -
Codigo: int Fecha: string Documento: string Total: float
1..* CompraProducto -
1
Nro: int PrecioCompra: float Cantidad: int Importe: float
1..* Empleado -
Codigo: int Nombre: string Apellido: string Sexo: string Direccion: string Telefono: string FechaIngreso: string
Producto 1
-
Codigo: int Nombre: string Precio: float Stock: int
Rubro 1..*
1
- Codigo: int 1 - Nombre: string - Descripcion: string
1..* VentaProducto 1
-
Cliente -
Codigo: int Nombre: string Apellido: string FechaNac: string Direccion: string Telefono: string Observacion: string
Venta
1
1 -
Codigo: int Fecha: string Documento: string Total: float
Nro: int PrecioVenta: float Cantidad: int Importe: float
1..*
29
DISEÑO FÍSICO MAPEO
Proveedor Código
Nombre
Direccion
Telefono
FechaRegistro
Empleado Codigo
Nombre
Apellido
Sexo
Direccion
Nombre
Apellido
FechaNac
Nombre
Precio
Nombre
Descripcion
Telefono
FechaIngreso
Cliente Codigo
Direccion
Telefono
Observacion
Producto Código
Stock
Rubro
Rubro Codigo
Venta Código
Fecha
Documento
Total
Empleado
Cliente
Venta
Producto
VentaProducto Nro
PrecioVenta
Cantidad
Importe
Compra Código
Fecha
Documento
Total
Empleado
Proveedor
CompraProducto Nro
PrecioCompra
Cantidad
Importe
Compra
Producto
30