You are on page 1of 30

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. 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

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 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
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
Flujo Principal 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
Excepciones 2.1 Incorrecto. Código de Empleado inexistente
(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

6
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
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
Flujo Principal 2.2 Actualizar cambios
2.3 Guardar el registro
3. Eliminar Cliente
3.1 Introducir código del Cliente

7
3.2 Mostrar datos del Cliente
3.4 Eliminar Cliente
1.2 Error de tipo de datos, El Cliente ya existe
Excepciones 2.1 Incorrecto. Código de Cliente inexistente
(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

8
Pre Condición 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
Flujo Principal 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
Excepciones 2.1 Incorrecto. Código de Proveedor inexistente
(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

CU4: GESTIONAR RUBRO DE PRODUCTOS
a) Diseño de Caso de Uso

9
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
2. Modificar Rubro
2.1 Introducir código del Rubro
Flujo Principal 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
Excepciones 2.1 Incorrecto. Código de Rubro inexistente
(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

CU5: GESTIONAR PRODUCTOS
a) Diseño de Caso de Uso

10
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
Pre Condición 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
Flujo Principal 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
Excepciones 2.1 Incorrecto. Código de Producto inexistente
(Flujo Secundario) 2.3 No se actualiza por incompatibilidad de datos
3.1 Incorrecto código inexistente
Post Condición Productos Registrados.

c) 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 Registrar Compras
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.
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
Flujo Principal 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
Excepciones 2.1 Incorrecto. Código de Compra existente.
(Flujo Secundario) 2.3 No se actualiza los productos por incompatibilidad de
datos.

Post Condición Compras Registradas

c) 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 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.

13
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
Flujo Principal 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.
Excepciones 2.1 Incorrecto. Código de Venta a existente.
(Flujo Secundario) 2.3 No se actualiza las Ventas por incompatibilidad de
datos.

Post Condición Ventas Registradas

c) 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 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
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.
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
Flujo Principal 2.2 Guarda la Factura.
2.3 Imprime la Factura.
Si no se ha realizado la venta de al menos un producto, no
Excepciones se podrá generar la factura.
(Flujo Secundario)
Post Condición Registrar Ventas

c) 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 Compra

- Codigo: int
1 1 - Codigo: int
- Nombre: string - Fecha: string 1..*
- Direccion: string - Documento: string CompraProducto
- Telefono: string - Total: float
- FechaRegistro: string - Nro: int
1 - PrecioCompra: float
- Cantidad: int
- Importe: float

1..*
Empleado
Producto
- Codigo: int
- Nombre: string 1 - Codigo: int Rubro
- Apellido: string - Nombre: string
- Sexo: string - Precio: float - Codigo: int
1..* 1 - Nombre: string
- Direccion: string - Stock: int
- Telefono: string - Descripcion: string
1
- FechaIngreso: string

1..*

VentaProducto
1
Cliente - Nro: int
- PrecioVenta: float
- Codigo: int Venta
- Cantidad: int
- Nombre: string - Codigo: int - Importe: float
- Apellido: string - Fecha: string
- FechaNac: string 1 1 - Documento: string 1..*
- Direccion: string - Total: float
- Telefono: string
- Observacion: string

29
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

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

30