informe sistema de compra y venta arquitectura 3 capas con hibernate
DESCRIPTION
Informe de un Sistema de Compra y Venta de Productos utilizando la Arquitectura 3 Capas con Hibernate (Capa de Datos). Documento presentado en la materia de Arquitectura de Software en la Universidad Autónoma Gabriel René Moreno - Gestión 1 - 2011TRANSCRIPT
1
Universidad Autónoma Gabriel René Moreno
Facultad: CS. Exactas y tecnología - Ingeniería Informática
Nombre : Luis Alberto Baigorria Rodas
Registro : 200639080
Docente : Ing. Josué Obed Veizaga Gonzáles
Grupo : SA
Santa Cruz, 11 de abril de 2011
Arquitectura de Software Gestión. 1 - 2011
Sistema de Compra - Venta de Productos
ARQUITECTURA 3 CAPAS
HIBERNATE
2
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 ....................................................................................................................................... 11
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
Identificar Paquetes ................................................................................................................................................. 17
Descripción de Paquetes ......................................................................................................................................... 17
Paquete: Compra .................................................................................................................................................... 17
3
Paquete: Venta ....................................................................................................................................................... 18
Paquete: Almacén ................................................................................................................................................... 18
Identificar Casos de Usos por Paquetes................................................................................................................... 18
Paquete: Compra .................................................................................................................................................... 18
Paquete: Venta ....................................................................................................................................................... 19
Paquete: Almacén ................................................................................................................................................... 20
Análisis de Casos de Uso ......................................................................................................................................... 20
Diagrama de Colaboración ...................................................................................................................................... 20
CU1- Gestionar Empleado ................................................................................................................................... 20
CU2- Gestionar Cliente ........................................................................................................................................ 21
CU3- Gestionar Proveedor ................................................................................................................................... 21
CU4- Gestionar Rubros de Productos .................................................................................................................. 22
CU5- Gestionar Productos ................................................................................................................................... 22
CU6- Registrar Compras ....................................................................................................................................... 23
CU7- Registrar Ventas .......................................................................................................................................... 23
Análisis de Paquetes ............................................................................................................................................... 24
FLUJO DE TRABAJO: DISEÑO ........................................................................................................................................ 24
Diseño de la Arquitectura ....................................................................................................................................... 24
Escenario del Usuario y Subsistemas ................................................................................................................... 24
Arquitectura Física del Subsistema ...................................................................................................................... 25
Diseño de Casos de Usos ......................................................................................................................................... 25
Diagrama Parcial de Clases .................................................................................................................................. 25
Diseño de Datos ...................................................................................................................................................... 30
Diseño Lógico ........................................................................................................................................................... 30
DIAGRAMA ENTIDAD - RELACIÓN (MODELO DE DOMINIO) ................................................................................ 30
Diseño Físico ............................................................................................................................................................ 31
MAPEO ................................................................................................................................................................. 31
4
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.
5
FLUJO DE TRABAJO: REQUISITOS
IDENTIFICAR CASOS 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. Caso de Uso Estado Prioridad Riesgo
CU1 Gestionar Empleado 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
6
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 Gestionar Empleado
Propósito Administrar los datos de los Empleados, permitiendo la
creación, actualización y/o eliminación de Empleado de la
empresa.
Actores Administrador, Empleado
Actor Iniciador Administrador
Pre Condición Ninguna
Flujo Principal
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
Excepciones
(Flujo Secundario)
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
Post Condición Ninguna
c) Interfaz de Usuario
7
CU2: GESTIONAR CLIENTE
a) Diseño de Caso de Uso
b) Plantilla de Caso de Uso
Nombre de Caso de Uso Gestionar Cliente
Propósito Administrar los datos de los Clientes de la Empresa,
permitiendo la creación, actualización y/o eliminación de
Clientes.
Actores Administrador, Empleado
Actor Iniciador Empleado
Pre Condición Ninguna
Flujo Principal
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
3.2 Mostrar datos del Cliente
3.4 Eliminar Cliente
Excepciones
1.2 Error de tipo de datos, El Cliente ya existe
2.1 Incorrecto. Código de Cliente inexistente
8
(Flujo Secundario) 2.3 No se actualiza por incompatibilidad de datos
3.1 Incorrecto código inexistente
Post Condición 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 Gestionar Proveedor
Propósito Administrar los datos de las empresas proveedores de los
productos, permitiendo la creación, actualización y/o
eliminación de Proveedores.
Actores Administrador, Empleado
Actor Iniciador Empleado
Pre Condición Ninguna
Flujo Principal
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
9
3.2 Mostrar datos del Proveedor
3.4 Eliminar Proveedor
Excepciones
(Flujo Secundario)
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
Post Condición Ninguna
c) Interfaz de Usuario
CU4: GESTIONAR RUBRO DE PRODUCTOS
a) Diseño de Caso de Uso
b) Plantilla de Caso de Uso
Nombre de Caso de Uso Gestionar Rubro de Productos
Propósito Gestionar Rubros de los Productos que maneja la empresa.
Crear, actualizar y eliminar Rubros de los Productos.
Actores Administrador, Empleado
Actor Iniciador Administrador
Pre Condición Ninguna
1. Nuevo Rubro
1.1 Introducir datos del Rubro
1.2 Validar datos
1.3 Guardar registro de Rubro
10
Flujo Principal
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
Excepciones
(Flujo Secundario)
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
Post Condición Ninguna
c) Interfaz de Usuario
CU5: GESTIONAR PRODUCTOS
a) Diseño de Caso de Uso
b) Plantilla de Caso de Uso
Nombre de Caso de Uso Gestionar Producto
Propósito Administrar los datos de los Productos, permitiendo la
creación, actualización y/o eliminación de Productos en el
Sistema
Actores Administrador, Vendedor
Actor Iniciador Administrador
11
Pre Condición El producto no debe existir, los datos deben ser completos y
la cantidad debe ser un número.
Flujo Principal
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
Excepciones
(Flujo Secundario)
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
Post Condición Productos Registrados.
c) Interfaz de Usuario
CU6: REGISTRAR COMPRAS
a) Diseño de Caso de Uso
b) Plantilla de Caso de Uso
Nombre de Caso de Uso Registrar Compras
12
Propósito Administrar datos de las Compras de los Productos que
maneja la empresa. Administrar cada compra que realiza la
Empresa.
Actores Administrador, Vendedor
Actor Iniciador Administrador
Pre Condición El producto no debe existir, los datos deben ser completos y
la cantidad debe ser un número.
Flujo Principal
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
Excepciones
(Flujo Secundario)
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.
Post Condición Compras Registradas
c) Interfaz de Usuario
13
CU7: REGISTRAR VENTAS
a) Diseño de Caso de Uso
b) Plantilla de Caso de Uso
Nombre de Caso de Uso Registrar Ventas
Propósito Administrar datos de las Venta de los Productos que maneja
la empresa. Registrar cada venta al momento de ser
realizada.
Actores Administrador, Empleado
Actor Iniciador Empleado
Pre Condición Cantidad de Productos disponibles para la venta, datos para
la venta completos.
Flujo Principal
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.”
Excepciones
(Flujo Secundario)
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.
Post Condición Ventas Registradas
c) Interfaz de Usuario
14
CU8: GENERAR FACTURA O NOTA DE VENTA
a) Diseño de Caso de Uso
b) Plantilla de Caso de Uso
Nombre de Caso de Uso Generar Factura o Nota de Venta
Propósito Generación de la factura o Nota de Venta detallando en él
los productos vendidos.
Actores Administrador, Vendedor
15
Actor Iniciador Registrar Ventas
Pre Condición Registrar Venta. Para poder Generar una Factura al menos
debe realizar la venta de al menos un producto.
Flujo Principal
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.
Excepciones
(Flujo Secundario)
Si no se ha realizado la venta de al menos un producto, no
se podrá generar la factura.
Post Condición Registrar Ventas
c) Interfaz de Usuario
16
DIAGRAMA GENERAL DE CASOS DE USO
17
FLUJO DE TRABAJO: ANÁLISIS
ANÁLISIS DE LA ARQUITECTURA
La arquitectura utilizada es 3 Capas. El cual se puede identificar 3 módulos en el Sistema de Compra y Venta.
IDENTIFICAR PAQUETES
Se identifican los siguientes paquetes en el Sistema de Compra y Venta.
DESCRIPCIÓN DE PAQUETES
PAQUETE: COMPRA
El paquete Compra contiene todos los casos
de usos relacionados con la compras de
productos de la empresa a tratar. Los casos
de usos que forman parte de este paquete
son: Registrar Compras, Gestionar
Empleado, Gestionar Proveedor
18
PAQUETE: VENTA
PAQUETE: ALMACÉN
IDENTIFICAR CASOS DE USOS POR PAQUETES
PAQUETE: COMPRA
El paquete Compra contiene todos los
casos de usos relacionados con las ventas
de los productos de la empresa. Los casos
de usos que forman parte de este paquete
son: Gestionar Cliente, Registrar Ventas
El paquete almacén contiene todos aquellos
casos de usos que permiten la gestión de los
productos de la empresa. Este módulo incluye
los principales casos de usos: Gestionar
Producto, Gestionar Rubro de Producto.
19
PAQUETE: VENTA
20
PAQUETE: ALMACÉN
ANÁLISIS DE CASOS DE USO
DIAGRAMA DE COLABORACIÓN
CU1- GESTIONAR EMPLEADO
21
Flujo de Sucesos: El Caso de Uso comienza con la opción de elegir nuevo Empleado, generando un nuevo Código,
luego introducimos los datos requeridos para el nuevo Empleado, validamos y verificamos los mismos, si los datos
fueron los correctos se inmediatamente se registra e inserta al nuevo Empleado a la base de datos.
CU2- GESTIONAR CLIENTE
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.
22
CU4- GESTIONAR RUBROS DE PRODUCTOS
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.
23
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.
CU7- REGISTRAR VENTAS
24
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.
ANÁLISIS DE PAQUETES
FLUJO DE TRABAJO: DISEÑO
DISEÑO DE LA ARQUITECTURA
ESCENARIO DEL USUARIO Y SUBSISTEMAS
USUARIOS
25
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
DISEÑO DE CASOS DE USOS
DIAGRAMA PARCIAL DE CLASES
CU-1: GESTIONAR EMPLEADO
26
CU-2: GESTIONAR CLIENTE
CU-3: GESTIONAR PROVEEDOR
27
CU-4: GESTIONAR RUBRO DE PRODUCTOS
CU-5: GESTIONAR PRODUCTOS
CU-6: REGISTRAR COMPRAS
28
29
CU-7: REGISTRAR VENTAS
30
DISEÑO DE DATOS
DISEÑO LÓGICO
DIAGRAMA ENTIDAD - RELACIÓN (MODELO DE DOMINIO)
31
DISEÑO FÍSICO
MAPEO
Proveedor
Código Nombre Direccion Telefono FechaRegistro
Empleado
Codigo Nombre Apellido Sexo Direccion Telefono FechaIngreso
Cliente
Codigo Nombre Apellido FechaNac Direccion Telefono Observacion
Producto
Código Nombre Precio Stock Rubro
class Domain Mo...
Prov eedor
- Codigo: int
- Nombre: string
- Direccion: string
- Telefono: string
- FechaRegistro: string
Empleado
- Codigo: int
- Nombre: string
- Apellido: string
- Sexo: string
- Direccion: string
- Telefono: string
- FechaIngreso: string
Cliente
- Codigo: int
- Nombre: string
- Apellido: string
- FechaNac: string
- Direccion: string
- Telefono: string
- Observacion: string
Rubro
- Codigo: int
- Nombre: string
- Descripcion: string
Producto
- Codigo: int
- Nombre: string
- Precio: float
- Stock: int
Compra
- Codigo: int
- Fecha: string
- Documento: string
- Total: float
Venta
- Codigo: int
- Fecha: string
- Documento: string
- Total: float
CompraProducto
- Nro: int
- PrecioCompra: float
- Cantidad: int
- Importe: float
VentaProducto
- Nro: int
- PrecioVenta: float
- Cantidad: int
- Importe: float
11
1
1
1
1
1 1
1..* 1
1..*
1..*
1..*
1..*
32
Rubro
Codigo Nombre Descripcion
Venta
Código Fecha Documento Total Empleado Cliente
VentaProducto
Nro PrecioVenta Cantidad Importe Venta Producto
Compra
Código Fecha Documento Total Empleado Proveedor
CompraProducto
Nro PrecioCompra Cantidad Importe Compra Producto