Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Introducción .............................................................................................................. 4
1.2. Antecedentes y Estructura Organizacional ......................................................... 5
1.3. Justificacion ........................................................................................................ 5
1.4. Descripción del Problema ................................................................................... 5
1.5. Formulación del Problema ................................................................................ 10
1.6. Objetivo ............................................................................................................ 10
1.6.1. Objetivo General ........................................................................................... 10
1.6.2. Objetivos Específicos .................................................................................... 10
1.7. Alcance ............................................................................................................ 11
1.8. Entrevistas ....................................................................................................... 12
2. Elementos del Sistema basado en Computadoras ................................................. 17
2.1. Hardware.......................................................................................................... 17
2.1.1.Servidor ....................................................................................................... 17
2.1.2. Cliente ....................................................................................................... 16
2.1.3.Medios de Comunicación ........................................................................... 18
2.1.4.Otros Dispositivos........................................................................................ 19
2.2.Software ........................................................................................................... 19
2.2.1.Servidor ....................................................................................................... 19
2.2.2.Cliente ......................................................................................................... 19
2.2.3.Otro Software Adicional .............................................................................. 19
2.3. Datos ............................................................................................................... 19
2.4. Procesos ......................................................................................................... 20
2.5.Gente / Usuario ................................................................................................. 20
2.6.Documento ....................................................................................................... 20
3. Tecnología para el Desarrollo del Software ............................................................ 20
3.1. Estrategia para el desarrollo del Software ........................................................ 20
3.2.Metodología para el desarrollo del Software ...................................................... 20
3.2.1.Carácterísticas del P.U.D.S. ........................................................................ 21
3.2.2.Características del U.M.L. .......................................................................... 22
3.3. Herramientas de Desarrollo .............................................................................. 24
3.3.1. Software .................................................................................................... 24
3.3.2.Hardware ..................................................................................................... 24
4. Posibles Costos ..................................................................................................... 25
5. Posibles Beneficios ................................................................................................ 26
5.1. Tiempo ............................................................................................................. 26
5.2. Esfuerzo .......................................................................................................... 26
5.3. Costos ............................................................................................................. 26
6. Posibles Clientes .................................................................................................... 26
7. Modelos de Dominio .............................................................................................. 26
7.1. Identificación de posibles Clases ..................................................................... 26
7.2. Identificación de posibles Atributos .................................................................. 28
7.3. Identificación de posibles Relaciones .............................................................. 30
8. Diseño de los Datos ............................................................................................... 32
8.1. Diseño logico de los Datos ............................................................................... 32
8.1.1. Diagrama de Clases ..................................................................................... 32
8.1.2. Mapeo .......................................................................................................... 34
8.2. Diseño Fisico ................................................................................................... 37
8.2.1. Tabla de Volumen ........................................................................................ 37
8.2.2. Script ............................................................................................................ 46
8.2.3. Poblar Datos ................................................................................................. 50
8.2.4. Consultas ..................................................................................................... 55
9. Ingeniería de Requerimientos - Ishikawa ................................................................ 59
9.1. Lista de Problemas ........................................................................................... 59
9.2. Depurar Problemas .......................................................................................... 60
9.2.1. Redefinir y Describir los Problemas ........................................................ 60
9.3.Propietarios de Problemas ................................................................................ 63
9.4. Análisis del Problema ....................................................................................... 62
9.5. Alterativas de Cambio ...................................................................................... 62
9.6. Estimación Justificación ................................................................................... 63
9.7. Conclusiones .................................................................................................... 64
9.8. Gráfica de Ishikawa .......................................................................................... 65
9.9. Identificar Principales Categorías .................................................................... 65
9.10.Analizar y Discutir el Diagrama ....................................................................... 67
9.11.Conclusion y Viabilidad de Proyecto ............................................................... 67
10. Modelo de Negocios ............................................................................................ 70
10.1. Diagrama de Actividades ............................................................................... 70
2
10.1.1.Gestionar Venta .......................................................................................... 70
10.1.2.Gestionar Pedido ......................................................................................... 71
10.1.3.Gestionar Compra ....................................................................................... 72
10.1.4.Gestionar Inventario Salida ......................................................................... 73
10.1.5. Gestionar Produccion ...................................................................... 74
11.Flujo de Trabajo ..................................................................................................... 75
11.1. Encontrar Actores y Casos de Uso ................................................................. 75
11.1.1.Identificar Actores ......................................................................................... 75
11.1.2.Identificar Casos de Uso............................................................................... 75
11.2. Priorizar Casos de Uso ................................................................................... 77
11.3. Detallar Casos de Uso ................................................................................... 77
11.3.1.Diseñar Caso de Uso .................................................................................. 77
11.3.2. Detalle del Caso de Uso ............................................................................. 77
11.3.3.Prototipo Interfaz de Usuario ...................................................................... 101
11.3.3.Relacionar Paquete y Casos de uso ........................................................... 101
11.4. Diagrama de Caso de Uso Completo ........................................................... 106
12. Flujo de trabajo Analisis ...................................................................................... 107
12.1.Analisis de Arquitectura ................................................................................. 107
12.1.1.Identificar Paquete...................................................................................... 107
12.1.2.Relacionar Paquete y Casos de uso ........................................................... 108
12.1.3.Vista de casos de uso......................................................................... 109
13. Anexos................................................................................................................ 123
3
1. Perfil
1.1. Introducción
La información es uno de los elementos más importantes en nuestros tiempos. Las
empresas que manejan la información de manera adecuada y eficiente son las que
tienen una gran ventaja sobre aquellas que aún se mantienen con un manejo de la
información en forma manual provocando entropía a la hora de obtener información
de la empresa. Hoy en día se puede observar la importancia que ha adquirido
gestionar una panadería debido al gran flujo de venta y el constante movimiento
económico que este genera.
Son varias las tareas realizadas en una panadería. Por eso se propone el desarrollo
de un Sistema de Información que optimice losprocesos, reduciendo el tiempo
considerablemente que conlleva la administración de este.
Ventas: El sistema permitirá facturar todas las ventas que se hacen al día y las
almacenará durante el tiempo que el negocio requiera para sacar las cuentas
evitando el robo de dinero.
99
1.2. Antecedentes y Estructura Organizacional
Historia
En vista de un crecimiento constante de la población y una creciente demanda de
alimentos y productos que satisfagan las necesidades básicas así también la
urgencia de poder adquirirlos en lugares más cercanos la señora Margarita en el
año 1990 decide iniciar un negocio en el mercado plan 3000 que consiste en la
producción y comercialización de pan para aprovechar dichas necesidades y la
positiva aceptación le permitió hacerse de muchas ganancias lo cual invirtió en el
crecimiento del negocio con la adquisición de un mayor inventario, contrato de más
trabajadores, aumento de la producción y activos, etc.
Estructura Organizacional
1.3. Justificación
Decidimos crear un sistema de Información para la panadería “ElHornito” debido
a que administran el negocio de forma obsoleta con papel y lápiz lo cual les da un
acceso limitante a la información y propensa a inconvenientes como ser la
desorganización de la misma o pérdidas.
El Sistema de Información que se desarrollará será una aplicación Web para cumplir
y satisfacer con los requerimientos que tiene la empresa al momento de realizar sus
funciones.
5
a la falta de una herramienta que les ayude a organizar la información necesaria
para cada proceso.
A pesar de los beneficios presentados que podrían servir como una alternativa para
mitigar el problema, la empresa aún no dispondría de un sistema que ayude en la
organización de sus principales procesos. De este modo, en base a la entrevista
realizada, se halló que la dificultad que presenta su actual estado tendría entre sus
efectos inmediatos, los retrasos y complicaciones en los procesos de compra de
insumos. El mismo problema respecto a la pérdida de tiempo, se presentaría,
también, en los procesos de venta de sus productos. Ambas consecuencias se
representan a través de la falta de eficacia en la obtención de información sobre el
stock y precio de insumos y productos, es decir lo que se necesita comprar y vender;
hallándose frecuentes errores o limitaciones en la recepción de un registro
actualizado y de manera rauda sobre la cantidad de productos existentes o la falta
6
de los mismos. Esta dificultad limitaría, por consiguiente, la calidad de servicio que
se le brinda al cliente, ya que cuando una persona es atendida de forma personal,
telefónica o vía correo electrónico, es necesario que parte del personal se traslade
hacia el lugar de almacenaje de los productos, verifique el stock actual y brinde una
respuesta correcta. De esta manera, la atención al cliente tomaría un tiempo más
prolongado en comparación de la demora esperada al contarse con un sistema de
información que organice y actualice el stock existente.
A pesar de los beneficios presentados que podrían servir como una alternativa para
mitigar el problema, la empresa aún no dispondría de un sistema que ayude en la
organización de sus principales procesos. De este modo, en base a la entrevista
realizada, se halló que la dificultad que presenta su actual estado tendría entre sus
efectos inmediatos, los retrasos y complicaciones en los procesos de compra de
insumos. El mismo problema respecto a la pérdida de tiempo, se presentaría,
también, en los procesos de venta de sus productos. Ambas consecuencias se
representan a través de la falta de eficacia en la obtención de información sobre el
stock y precio de insumos y productos, es decir lo que se necesita comprar y vender;
hallándose frecuentes errores o limitaciones en la recepción de un registro
actualizado y de manera rauda sobre la cantidad de productos existentes o la falta
de los mismos. Esta dificultad limitaría, por consiguiente, la calidad de servicio que
se le brinda al cliente, ya que cuando una persona es atendida de forma personal,
telefónica o vía correo electrónico, es necesario que parte del personal se traslade
hacia el lugar de almacenaje de los productos, verifique el stock actual y brinde una
respuesta correcta. De esta manera, la atención al cliente tomaría un tiempo más
prolongado en comparación de la demora esperada al contarse con un sistema de
información que organice y actualice el stock existente.
MODULO VENTAS:
Gestionar las ventas de los productos a los clientes y obtener reportes del
desempeño de la panadería.
De manera automatizada brindar reportes de los productos que se tienen en el stock
para así saber que productor tenemos y podemos vender.
La principal problemática que se tiene actualmente al vender el producto es que no
se tiene una idea clara de lo que se puede vender y de lo que no, llegando a perder
al cliente al no tener un producto que este quiere adquirir.
MODULO PRODUCCION
9
MODULO NOTA DE VENTA
Gestionar lo que lleva el cliente para su mejor verificación del producto comprado.
MODULO CLIENTE
1.6. Objetivos
1.6.1Objetivo General
Desarrollar un sistema de información para gestionar el inventario de insumos,
producción y venta de los productos de la panadería “El Hornito”.
10
7. Realizar las pruebas necesarias para el óptimo funcionamiento del sistema.
1.7. Alcance
MODULO PERSONA
GESTIONAR CLIENTE
Gestiona el registro de los cliente frecuentes.
Se insertara un cliente al cual se le registra su ci y nombre.
GESTIONARVENDEDOR
Gestiona el registro del vendedor quien está a cargo del área de ventas.
Se insertara datos del vendedoral cual se le asigna un Id_vendedor y se registra su
nombre, apellidos, edad, sexo, tipo de sangre, dirección, teléfono.
GESTIONAR PANADERO
Gestiona el registro del panadero.Se insertara datos del panadero al cual se le
asigna un Id_panadero y se registra su nombre, apellidos, edad, sexo, tipo de
sangre, dirección, teléfono.
GESTIONAR ADMINISTRADOR
Gestiona el movimiento económico, de producción y venta dentro de la empresa
Se registra el nombre, teléfono y dirección del administrador.
MODULO PRODUCCION
11
GESTIONAR UNIDAD MEDIDA
Gestiona las diferentes unidades de medidas de los insumos
Se registrara el Id_um, abreviatura y nombre.
GESTIONAR RECETAS
Gestiona las recetas para los diferentes tipos de panes
Se asigna su respectivo Id_receta, nombre y descripción.
GESTIONAR PRODUCTO
Gestiona los productos disponibles a la venta
Se asigna su respectivo Id_prod, descripción, precio y stock
MODULO INVENTARIO
1.8. Entrevistas
Entrevista # 1
Duración: 15 minutos
Fecha 22/08/2018
Datos de la Panadería
12
Nombre: Panadería El Hornito
13
5. ¿La panadería cuenta con algún tipo de sistema informático?
No, el negocio es chico quizás más adelante si
Todos los días al terminar la venta hacemos un conteo de cuanto fue el ingreso,
pero de manera modesta a hoja y lápiz.
14
12 como manejan su planilla de sueldo de sus trabajadores?
Lo que es la harina nos provee famosa ellos nos traen semanalmente, la manteca
cada 2 semas , la levadura y demás cada 2 días, el gas es domiciliario, la leña
para nuestros panes que tienen que ser cocinados a leña como el pan de arani y
el pan de batalla nos llega cada semana.
Entrevista # 2
15
1. Describa el proceso de elaboración del producto final?
Dependiendo de los tipos de panes. Primero racionamos los insumos para la
elaboración (harina, queso, huevo, sal, azúcar, levadura, leche, manteca, aceite
agua). Luego procedemos con la elaboración de la masa, posteriormente la
dividimos en porciones según el tipo de pan y metemos al horno por cierta
cantidad de tiempo y a cierta temperatura (aproximadamente 1 hora).
3. Cuáles son los insumos que utilizan para la elaboración del producto?
Los insumos que usamos son:
Harina: Puede ser harina integral, harina de trigo, harina de maíz, queso, huevo,
sal, azúcar, levadura, leche, manteca, aceite agua
16
2. Elementos del sistema basado en computadoras
2.1. Hardware
2.1.1 Servidor
Componen
Mínimo Recomendado
te
RAM 4 gb 8gb
2.1.2 Cliente
Componen
Mínimo Recomendado
te
17
Disco Disco duro de 128gb Disco duro de 256gb
Conectores RJ45:
Uno de los conectores principales utilizados con tarjetas de red Ethernet
transmite información a través de cables par trenzado.
Grimpadora:
Son una especie de alicates y sirven para fijar los cables.
Tester de Cable:
Sirve para medir magnitudes eléctricas en diferentes ámbitos.
Tarjeta de Red:
Permite la comunicación entre diferentes aparatos conectados entre sí.
Hub o Switch:
Llevan a cabo la conectividad de una red local (LAN). La mayoría soportan
cables cruzados.
18
2.1.4 Otros dispositivos
2.2. Software
2.2.1. Servidor
Sistema Operativo Windows 7 Ultímate de 64 bits.
MYSQL. Para la conexión de la Base de Datos.
2.2.2. Cliente
Sistema operativo Windows 7 Ultímate o posteriores.
Browser como: Google Chrome, Firefox, opera, safari, etc.
Una Tarjeta RAM de 2gb como mínimo
2.3. Datos
El objetivo principal de un sistema es el manejo de datos, en este caso los
datos a manejar serán:
19
2.4. Procesos
Gestión de facturación.
Gestión de compras y ventas
Gestión de inventario.
2.5. Gente/Usuario
La interfaz será capaz de tener en su dominio de usuario al administrador del
negocio, la cual está conformada por el Sra. Margarita Lara Arismendi. Quien tendrá
su respectivo código de ingreso al sistema y los(as) operadores de la empresa.
2.6. Documento
Libro de inventario
Facturas
20
es muy necesario resolver mediante el desarrollo de un sistema de información que
tendrá un enfoque centrado en dos herramientas de análisis y diseño: El Proceso
Unificado De Desarrollo De Software (PUDS) y el Lenguaje Unificado De Modelado
(UML).
Centrado en la arquitectura:
Define una forma de organizar de las diferentes partes que tenga el
software.
Lo que se busca es que el software sea flexible(a la hora de realizar
cambios).
Los modelos son proyecciones del análisis y el diseño constituye la
arquitectura del producto a desarrollar.
Iterativo e incremental:
Es Iterativo porque cada fase se repite.
Incremental porque cada ciclo genera una nueva versión que mejora
las funcionalidades del anterior (Hasta llegar al producto terminado o
deseado).
21
Guiado por lo casos de uso:
Centrado en la arquitectura:
Iterativo e incremental:
Visualizar
Especificar
Construir
22
Documentar
Elementos
Relaciones
Diagramas
Elementos estructurales
Elementos de comportamiento
Elementos de agrupación
Elementos de anotación
Relaciones de Dependencia
Relaciones de Asociación
Relaciones de Generalización
Relaciones de Realización
Estáticos
Diagramas de Clases
Diagramas de Objetos
Diagramas de estructuras compuestas
Diagrama de componente o Diagrama de despliegues o Diagrama de
paquete
23
Dinámicos
Diagramas de interacción(Secuencia y colaboración)
Diagrama de Estados
Diagrama de Actividad
Diagrama de Casos de Uso
Diagrama de Tiempo
3.3.1. Software
Para la creación y manipulación de la base de datos se utilizará el motor de base
de datos MYSQL.
Enterprise Architect: como herramienta case para realizar los distintos diagramas
de U.M.L. que vamos a utilizar.
3.3.2. Hardware
24
Disco Duro de 750 GB.
Sistema operativo Windows 10 de 64 bits.
Sistema operativo Windows 7 Ultímate de 64 bits.
4. Posibles Costos
HARDWARE
PC 1 1100$
Computador#3 HP PAVILION 650$
ImpresoraEpsonmultifunctional L220 100$
SOFTWARE
Windows 7 Ultimate 100$
PHP Software Libre
MYSQL Software Libre
Enterprise Architect 8.0 70$
Microsoft Office Word 2013 350$
COSTES DE DESARROLLO
Tiempo de dedicación al proyecto 500$
Implementación y pruebas de sistema 700$
TOTAL 1250$
5. Posibles Beneficios
5.1. Tiempo
Agilizar la búsqueda y el almacenamiento de datos.
25
Notificar anticipadamente las fechas de vencimiento de la dosificación de
facturas.
Facilitar el registro de compra y venta de los productos.
5.2. Esfuerzo
Facilita el manejo de información.
Facilitar el registro de compra y venta de los productos.
Facilita la verificación de datos de los trabajadores.
5.3. Costos
Reduce el costo en el compro de facturas manuales.
6. Posibles Clientes
Este software puede ser empleado por empresas que necesiten un control sobre
sus facturas de compra y venta, y además un control sobre el inventario. Este es el
caso de las empresas panaderas de la ciudad o el País.
7. Modelo de dominio
7.1. Identificación de posibles clases
Persona
Esta clase registra los datos esenciales de una persona las cuales pueden
ser heredadas
Cargo
Esta clase registra los diferentes cargos que pueda tener un empleado.
Clientes
En esta clase se registran los datos de los clientes.
26
Producto
Esta clase registra los detalles del producto que se vende al cliente y también
los productos necesarios para la producción.
Pedido
En esta clase se registrarán los pedidos realizados por los clientesasí como la
fecha y la cantidad de productos.
Detalle_Venta
En esta clase intermedia entre factura y producto se almacenara el código del
producto y de la venta, también el precio producto y la cantidad.
Receta
En esta clase se registra los ingredientes los datos de la receta para elaborar
cierto producto.
Materia_Receta
En esta clase intermedia entre materia prima y receta se almacenara el código
de la materia prima y la receta, también la cantidad.
Unidad_Medidas
En esta clase se registra la unidad de medida del producto.
Factura
Esta clase registra las ventas de productos a los clientes.
Detalle_Venta
En esta clase intermedia entre ventas y producto se almacenará el código del
producto y de la venta, también el precio producto y la cantidad.
Proveedor
En esta clase de almacenara los detalles de los proveedores para la compra
de materia prima
Comprobante
27
Esta clase Registra las comprar de materia prima con su respectiva fecha y
descripción.
Detalle_Comprobante
Esta clase detalla los productos que han sido suministrados por un proveedor
Materia_Prima
Esta clase registra los detalles de los productos necesarios para la producción.
Inventario_Almacen
Esta clase registra toda la panadería prima disponible en el almacén.
Stock_Diario
Esta clase registra el stock diario de los productos.
Persona
CI, Nombre, Apellido Paterno, Apellido Materno
Cliente
Teléfono
Propietario
Teléfono, correo.
Administrador
Teléfono, correo, dirección
Panadero
Teléfono, dirección
Vendedor
Teléfono, dirección
Nota_de_Venta
Id_venta,fecha,monto
28
Producto
Id_prod, descripción,precio,stock
Materia_Prima
Id_mp, descripción,tipoUnidad
Detalle_Venta
Id_venta, id_prod, cantidad,precio
Receta
Id_rec, nombre_rec, descripcion
Receta_Producto
Id_rec, id_prod
Unidad_Medida
Id_unidad, nombre, abreviatura.
Proveedor
Nombre_prov, direccion, teléfono
Pedido
numOrden,fecha,descripcion
Catalogo
Nombre_Prod,precio
Comprobante
idComprob, monto, precio
Detalle_Comprobante
Id_Prov, idComprob, cantidad
Inventario_Almacen
Id_mp, cantidad
29
Las clases Cliente – Persona tienen una relación de herencia donde cliente
tiene todos los datos recolectados en la clase Persona, pero también registra
un teléfono de cliente.
30
Las clases Materia_Prima – Unidad_de_Medida tienen una relación de
Asociación donde se mide que cantidad de materia prima se utiliza para un
determinado producto.
31
La claseStockProductoes una clase intermedia entre Producto y
Stock_Diario llevando sus llaves primarias.
32
8. DISEÑO LOGICO DE DATOS
8.1.1 Diagramas de Clases
33
8.1.2 Mapeo
Persona
Cliente
CI Nombre_Produc
FK FK
PK
Cargo
Id Nombre
PK
Empleado
Factura
Producto
Detalle_Venta
34
Id_Venta Id_Producto Cantidad Precio
FK FK
PK
Materia Prima
Receta
Receta_Producto
Id_Rec Id_Prod
fFK FK
PK
Unidad_Medida
Proveedor
Pedido
Comprobante
35
Detalle_Comprobante
Inventario_Almacén
ID Cantidad
PK
Detalle_Venta
36
8.2 Diseño Físico
PERSONA
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Cédula de
CI Entero 32 SI NO NO Identidad de la
persona
Nombre de la
Nombre Texto 50 NO NO NO
persona
Apellido paterno
Apellido Paterno Texto 50 NO NO SI
de la persona
Apellido materno
Apellido Materno Texto 50 NO NO SI
de la persona
Producto
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Nombre del
Nombre Texto 50 NO NO NO
producto
Descripción del
Descripción Text 50 NO NO NO
producto
Precio del
Precio float 50 NO NO SI
prodcuto
Estado del
Estado Bit 1 NO NO NO
producto
37
Receta del
Receta Texto 200 NO NO SI
producto
Empleado
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id del tipo de
TipoE int 32 NO SI NO
empleado
Estado del
Estado bit 1 NO NO NO
empleado
Teléfono del
Teléfono Texto 50 NO NO SI
empleado
Cliente
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Tipo empleado
38
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id del tipo de
id int 32 SI SI NO
empleado
Nombre del tipo
nombre Texto 50 NO SI NO
de empleado
Detalle venta
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Código de la
codFactura int 32 SI SI NO
factura
Cantidad de
Cantidad Int 32 NO NO NO
productos
Precio unitario
Precio unitario Float 64 NO NO NO
del producto
Factura
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Codigo de la
cod int 32 SI NO NO
factura
Fecha de la
Fecha DATE 10 NO NO NO
factura
39
Hora de la
Hora TIME 8 NO NO NO
factura
Pedido
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Descripción del
Descripción Texto 50 NO NO NO
pedido
Fecha de
Fecha Entrega DATE 10 NO NO NO entrega del
pedido
40
Detalle pedido
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Cantidad de
Cantidad Int 32 NO NO NO
productos
Precio del
Precio Float 64 NO NO NO
producto
Stock Diario
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Stock Producto
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id del Stock
idStock int 32 SI SI NO
Diario
Cantidad de
Cantidad Int 32 NO NO NO
productos
41
Unidad Medida
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id de la unidad
Id int 32 SI NO NO
de medida
Abreviatura de la
Abreviatura Texto 5 NO NO NO unidad de
medida
Nombre de la
Nombre Texto 50 NO NO NO unidad de
medida
Materia Prima
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id de la materia
Id int 32 SI NO NO
prima
Nombre de la
nombre Texto 50 NO NO NO
materia prima
Dirección del
Dirección Texto 50 NO NO SI
proveedor
Teléfono del
Teléfono Int 32 NO NO NO
proveedor
42
Inventario
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Cantidad del
Cantidad Int 32 NO NO NO producto en el
inventario
Fecha de
Fecha
DATE 10 NO NO SI vencimiento del
vencimiento
producto
Id de la materia
idMateria Int 32 NO SI NO
prima
Producto
materia
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id de la materia
idMateria Prima int 32 SI SI NO
prima
Cantidad de
Cantidad Int 32 NO NO NO
materia prima
43
Proveedor
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Nombre del
nombre Texto 50 NO NO NO
proveedor
Dirección del
Dirección Texto 50 NO NO SI
proveedor
Teléfono del
Teléfono Int 32 NO NO NO
proveedor
Proveedor-
Materia prima
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Nombre del
idMateria Int 32 SI SI NO
Materia prima
Precio de la
Precio Float 64 NO NO NO
materia prima
Marca de la
Marca Int 32 NO NO NO
materia prima
44
comprobante
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id del
id int 32 SI NO NO
comprobante
Fecha del
Fecha Date 10 NO NO NO
comprobante
Detalle
comprobante
Soporta
Tipo de Llave Llave
Atributo Amplitud campos Descripción
datos Primaria foránea
nulos
Id del
idComprobante int 32 SI SI NO
Comprobante
Nombre del
idMateria Int 32 SI SI NO
Materia prima
Precio de la
Precio Float 64 NO NO NO
materia prima
Marca de la
Marca Int 32 NO NO NO
materia prima
45
8.2.2 Script
Persona
CREATETABLEpersona(
ciINT(11)NOTNULL,
nombreVARCHAR(50)NOTNULL,
apellidoPVARCHAR(50)NOTNULL,
apellidoMVARCHAR(50)NOTNULL,
PRIMARYKEY(ci)
)
Empleado
CREATETABLEempleado(
idPINT(11)NOTNULL,
tipoEINT(11)NOTNULL,
estadoBIT(1)NOTNULL,
telefonoINT(11)NOTNULL,
PRIMARYKEY(idP),
INDEXFK_empleado_tipo_empleado(tipoE),
CONSTRAINTFK_empleado_personaFOREIGNKEY(idP)REFERENCESpersona(ci),
CONSTRAINTFK_empleado_tipo_empleadoFOREIGNKEY(tipoE)REFERENCEStipo_emplea
do(id)
)
Cliente
CREATETABLEcliente(
ciCINT(11)NOTNULL,
NITINT(11)NOTNULL,
PRIMARYKEY(ciC),
CONSTRAINTciCFOREIGNKEY(ciC)REFERENCESpersona(ci)
)
Comprobante
CREATETABLEcomprobante(
idINT(11)NOTNULL,
montoFLOATNOTNULL,
fechaDATENOTNULL,
idProveedorINT(11)NOTNULL,
idEmpleadoINT(11)NOTNULL,
PRIMARYKEY(id),
INDEXFK_comprobante_proveedor(idProveedor),
INDEXFK_comprobante_empleado(idEmpleado),
CONSTRAINTFK_comprobante_empleadoFOREIGNKEY(idEmpleado)REFERENCESempleado
(idP),
CONSTRAINTFK_comprobante_proveedorFOREIGNKEY(idProveedor)REFERENCESprovee
dor(id)
)
46
DetalleVenta
CREATETABLEdetalleventa(
codFacturaINT(11)NOTNULL,
idProductoINT(11)NOTNULL,
cantidadINT(11)NOTNULL,
preciounitarioFLOATNOTNULL,
INDEXFK_Detalleventa_producto(idProducto),
INDEXFK_detalleventa_factura(codFactura),
CONSTRAINTFK_Detalleventa_productoFOREIGNKEY(idProducto)REFERENCESproduct
o(id),
CONSTRAINTFK_detalleventa_facturaFOREIGNKEY(codFactura)REFERENCESfactura(
cod)
)
Detalle_comprobante
CREATETABLEdetalle_comprobante(
idMateriaINT(11)NULLDEFAULTNULL,
idComprobanteINT(11)NULLDEFAULTNULL,
precioFLOATNULLDEFAULTNULL,
cantidadINT(11)NULLDEFAULTNULL,
INDEXFK_detalle_comprobante_materia_prima(idMateria),
INDEXFK_detalle_comprobante_comprobante(idComprobante),
CONSTRAINTFK_detalle_comprobante_comprobanteFOREIGNKEY(idComprobante)REFE
RENCEScomprobante(id),
CONSTRAINTFK_detalle_comprobante_materia_primaFOREIGNKEY(idMateria)REFERE
NCESmateria_prima(id)
)
Detalle_pedido
CREATETABLEdetalle_pedido(
cantidadINT(11)NOTNULL,
idPedidoINT(11)NOTNULL,
idProductoINT(11)NOTNULL,
INDEXFK_detalle_producto_pedido(idPedido),
INDEXFK_detalle_producto_producto(idProducto),
CONSTRAINTFK_detalle_producto_pedidoFOREIGNKEY(idPedido)REFERENCESpedido(
id),
CONSTRAINTFK_detalle_producto_productoFOREIGNKEY(idProducto)REFERENCESpro
ducto(id)
)
Empleado
CREATETABLEempleado(
idPINT(11)NOTNULL,
tipoEINT(11)NOTNULL,
estadoBIT(1)NOTNULL,
telefonoINT(11)NOTNULL,
PRIMARYKEY(idP),
INDEXFK_empleado_tipo_empleado(tipoE),
CONSTRAINTFK_empleado_personaFOREIGNKEY(idP)REFERENCESpersona(ci),
CONSTRAINTFK_empleado_tipo_empleadoFOREIGNKEY(tipoE)REFERENCEStipo_emplea
do(id)
)
47
Factura
CREATETABLEfactura(
codINT(11)NOTNULLAUTO_INCREMENT,
ciClienteINT(11)NOTNULL,
ciEmpleadoINT(11)NOTNULL,
montoFLOATNOTNULL,
fechaDATENOTNULL,
horaTIMENOTNULL,
PRIMARYKEY(cod),
INDEXFK_factura_cliente(ciCliente),
INDEXFK_factura_empleado(ciEmpleado),
CONSTRAINTFK_factura_clienteFOREIGNKEY(ciCliente)REFERENCEScliente(ciC),
CONSTRAINTFK_factura_empleadoFOREIGNKEY(ciEmpleado)REFERENCESempleado(idP
)
)
Inventario
CREATETABLEinventario(
idINT(11)NOTNULLAUTO_INCREMENT,
cantidadINT(11)NOTNULL,
fechaVencimientoDATENULLDEFAULTNULL,
idMateriaINT(11)NOTNULL,
PRIMARYKEY(id),
INDEXFK_inventario_materia_prima(idMateria),
CONSTRAINTFK_inventario_materia_primaFOREIGNKEY(idMateria)REFERENCESmater
ia_prima(id)
)
Materia_Prima
CREATETABLEmateria_prima(
idINT(11)NOTNULLAUTO_INCREMENT,
idMedidaINT(11)NOTNULL,
nombreVARCHAR(50)NOTNULL,
PRIMARYKEY(id),
INDEXFK_materia_prima_unidad_medida(idMedida),
CONSTRAINTFK_materia_prima_unidad_medidaFOREIGNKEY(idMedida)REFERENCESuni
dad_medida(id)
)
Pedido
CREATETABLEpedido(
idINT(11)NOTNULLAUTO_INCREMENT,
ciClienteINT(11)NOTNULLDEFAULT'0',
descripcionVARCHAR(50)NULLDEFAULT'0',
montoFLOATNOTNULLDEFAULT'0',
fechaPedidoDATENOTNULL,
fechaEntregaDATENOTNULL,
PRIMARYKEY(id),
INDEXFK_pedido_cliente(ciCliente),
CONSTRAINTFK_pedido_clienteFOREIGNKEY(ciCliente)REFERENCEScliente(ciC)
)
48
Persona
CREATETABLEpersona(
ciINT(11)NOTNULL,
nombreVARCHAR(50)NOTNULL,
apellidoPVARCHAR(50)NOTNULL,
apellidoMVARCHAR(50)NOTNULL,
PRIMARYKEY(ci)
)
Producto
CREATETABLEproducto(
idINT(11)NOTNULLAUTO_INCREMENT,
nombreVARCHAR(50)NOTNULL,
descripcionVARCHAR(50)NULLDEFAULTNULL,
precioFLOATNOTNULL,
estadoBIT(1)NOTNULL,
PRIMARYKEY(id)
)
Poructo_materia
CREATETABLEproducto_materia(
idMateriaINT(11)NOTNULL,
idProductoINT(11)NOTNULL,
cantidadFLOATNOTNULL,
INDEXFK_producto_materia_materia_prima(idMateria),
INDEXFK_producto_materia_producto(idProducto),
CONSTRAINTFK_producto_materia_materia_primaFOREIGNKEY(idMateria)REFERENCE
Smateria_prima(id),
CONSTRAINTFK_producto_materia_productoFOREIGNKEY(idProducto)REFERENCESpro
ducto(id)
)
Proveedor
CREATETABLEproveedor(
idINT(11)NOTNULLAUTO_INCREMENT,
nombreVARCHAR(50)NOTNULL,
direccionVARCHAR(50)NOTNULL,
telefonoINT(11)NOTNULL,
PRIMARYKEY(id)
)
Proveedor_materia
CREATETABLEproveedor_materia(
idProveedorINT(11)NULLDEFAULTNULL,
idMateriaINT(11)NULLDEFAULTNULL,
precioFLOATNULLDEFAULTNULL,
marcaVARCHAR(50)NULLDEFAULTNULL,
INDEXFK_proveedor_materia_proveedor(idProveedor),
INDEXFK_proveedor_materia_materia_prima(idMateria),
CONSTRAINTFK_proveedor_materia_materia_primaFOREIGNKEY(idMateria)REFERENC
ESmateria_prima(id),
CONSTRAINTFK_proveedor_materia_proveedorFOREIGNKEY(idProveedor)REFERENCES
proveedor(id)
)
49
Stock_diario
CREATETABLEstock_diario(
idINT(11)NOTNULLAUTO_INCREMENT,
fechaDATENOTNULL,
PRIMARYKEY(id)
)
Stock_producto
CREATETABLEstock_producto(
idProductoINT(11)NOTNULL,
idStockINT(11)NOTNULL,
cantidadINT(11)NOTNULL,
INDEXidProducto(idProducto),
INDEXidStock(idStock),
CONSTRAINTidProductoFOREIGNKEY(idProducto)REFERENCESproducto(id),
CONSTRAINTidStockFOREIGNKEY(idStock)REFERENCESstock_diario(id)
)
Tipo_empleado
CREATETABLEtipo_empleado(
idINT(11)NOTNULLAUTO_INCREMENT,
nombreVARCHAR(50)NOTNULL,
PRIMARYKEY(id)
)
Unidad_medida
CREATETABLEunidad_medida(
idINT(11)NOTNULLAUTO_INCREMENT,
abreviaturaCHAR(5)NOTNULL,
nombreVARCHAR(50)NOTNULL,
PRIMARYKEY(id)
)
PERSONA
50
INSERT INTO persona (ci,nombre, apellidoP, apellidoM)VALUES(6385278,'Moises', 'Llanos',
'Vaca');
INSERT INTO persona (ci,nombre, apellidoP, apellidoM)VALUES(7385278,'Gabriela', 'Parada',
'Mendieta');
INSERT INTO persona (ci,nombre, apellidoP, apellidoM)VALUES(2485278,'David', 'Borda',
'Salazar');
INSERT INTO persona (ci,nombre, apellidoP, apellidoM)VALUES(3385278,'Cesar', 'Daza', 'Aliaga');
Tipo Empleado
INSERT INTOtipo_empleado(nombre)VALUES('Administrador');
INSERT INTOtipo_empleado(nombre)VALUES('Vendedor');
INSERT INTOtipo_empleado(nombre)VALUES('Pandero');
Empleado
INSERT INTO empleado (idP, tipoE, estado, telefono)VALUES('1', '1', b'1', '67986222');
INSERT INTO empleado (idP, tipoE, estado, telefono)VALUES('2', '2', b'1', '62985412');
INSERT INTO empleado (idP, tipoE, estado, telefono)VALUES('3', '3', b'1', '72652178');
Cliente
Productos
Factura
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('1', '4385278',
'2485278', '10', '2018-09-12', '14:58:52');
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('2', '5255278',
'2485278', '8', '2018-09-12', '15:00:30');
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('3', '5279221',
'2485278', '5', '2018-09-12', '16:00:46');
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('4', '5385278',
'2485278', '16', '2018-09-12', '08:00:00');
51
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('5', '6385278',
'2485278', '50', '2018-09-11', '15:02:35');
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('6', '5582278',
'2485278', '5', '2018-09-11', '07:03:36');
INSERT INTO factura (cod, ciCliente, ciEmpleado, monto, fecha, hora)VALUES('7', '7385278',
'2485278', '7', '2018-09-13', '12:05:44');
Detalle Venta
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('1', '1', '20',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('2', '5', '1',
'8');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('3', '1', '5',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('3', '4', '5',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('4', '5', '1',
'8');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('4', '2', '16',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('5', '1', '40',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('5', '2', '40',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('5', '4', '20',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('6', '1', '10',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('7', '2', '10',
'0.5');
INSERT INTO detalle venta (codFactura, idProducto, cantidad, precio unitario)VALUES('7', '4', '4',
'0.5');
Pedido
Detalle Pedido
52
Stock Diario
Stock Producto
Unidad Medida
Materia Prima
Inventario
53
INSERT INTO `inventario` (`cantidad`, `fechaVencimiento`, `idMateria`)VALUES('100', '2019-09-12',
'6');
INSERT INTO `inventario` (`cantidad`, `fechaVencimiento`, `idMateria`)VALUES('10', '2019-09-12',
'7');
INSERT INTO `inventario` (`cantidad`, `fechaVencimiento`, `idMateria`)VALUES('20', '2018-11-12',
'8');
Proveedor
Proveedor-MateriaPrima
Comprobante
Detalle comprobante
54
INSERT INTO `detalle_comprobante` (`idMateria`, `idComprobante`, `precio`,
`cantidad`)VALUES('6', '1', '6', '60');
producto_materia`
8.2.4 Consultas
55
/* Mostrar los producto que no están disponibles para la venta */
selectp.id,p.nombre,p.descripcion
fromproducto p
wherep.estado=1
56
57
//trigger
createtriggerinventarioafterinsertondetalle_comprobante
foreachrow
insertintoinventario(cantidad,idMateria)
values(new.cantidad,new.idMateria);
//procedimiento almacenado
58
createproceduredetalle_venta(codFacturaint,idProductoint, cantidad
int,precio_unitarioint)
insertintodetalle_venta(codFactura,idProducto, cantidad,precio_unitario)
values(codFactura,idProducto, cantidad,precio_unitario)
59
P11 Pérdida de insumos por mal uso
P14Deficiencia en el mantenimiento de maquinaria
P17 Pérdida de ganancia por producto final defectuoso.
Propietario 1:Dueño/a
Propietario 2:Panificador
Propietario 3:Vendedor
Propietario 4:Cliente
Propietario 5:Proveedor
60
Propietario Dueño/a Panificador Vendedor Cliente Proveedor
Problema
P1 X X X X X
P2 X X X
P3 X X X
P4 X X X
P5 X
P6 X X
P7 X X
P8 X X X
P9 X X X X X
P10 X X X
P11 X X X
P12 X X
P13 X
P7
P2 P1 P4
P3 P11 P9 P1 P8
0
61
P6 P5 P12
9.5. Alternativas de Cambios
A2: Almacenar toda la información en una base de datos para tener una mejor
rapidez y acceso para dicha información.
A5: Optimizar los pedidos evitando los errores al tener varios documentos.
A6: Agilidad al momento de contabilizar los insumos por medio de los datos
actualizados en el sistema de información.
A7: Tener un rápido vistazo en la base de datos para hacer los seguimientos
mensuales.
A8: Tener un mejor acceso y procesamiento de datos para tener un fácil registro de
insumos.
A10: Poner los insumos en un lugar asignado en el almacén para tener orden.
A12: Hacer una interfaz más simple para que el usuario no tenga complicaciones a
la hora de usar el sistema.
A15: Obtener un buen registro de toda la información requerida para así evitar
perdida de información.
A16: Organizar mejor todos los insumos en el almacén para tener orden.
62
A17: Simplificar los problemas de estrés por registro manual optimizando la
seguridad en el acceso y manipulación de datos.
63
P13 Demora al obtener la información Al ser de manera manual se pierde al
de los productos cliente por la perdida de tiempo
9.7. Conclusiones
Manejo manual de la
información
64
9.9. Identificar Principales Categorías
COMPRA VENTA
Manejo
manual de la
información
C1.Compra
C2.Venta
65
C3.Inventario
C4.Administración
C5.Producción
66
9.10. Analizar y discutir el diagrama
COMPRA VENTA
Manejo
manual de la
información
P3 Demora en la realización de
P5 Deficiencia al consultar las reportes diarios
recetas P10Deficiencia en el cálculo de
P6 Ineficiencia en la contabilidad insumos de almacén
del negocio
P12 Ineficiencia al producir la
cantidad ideal diaria de producto P11 Mala manipulación de los P8 Deficiencia al reabastecer a
registros tiempo el inventario de materia prima
99
9.11. Conclusión y Viabilidad del Proyecto
Compra
Venta
Se encontraron fallas al momento de hacer la ventas a los clientes entre los más
relevantes está el anotar en forma manual los pedidos y compras que hacen los
clientes, lo cual causa mucha demora y molestias a ellos.
Producción
Administración
La administración es una de las áreas que más sufre las deficiencias de este viejo
sistema. Al anotar todo de forma manual y escrita se llega a olvidar o perder datos,
además que cuando se hacen los informes anuales tenemos datos erróneos de
cómo va el negocio.
99
Inventario
69
10. Modelo de Negocios
10.1. Diagrama de Actividades
70
10.1.2 Gestionar Pedido
71
10.1.3 Gestionar Compra
72
10.1.4. Gestionar Inventario Salida
73
10.1.5. Gestionar Producción
74
11. Flujo de Trabajo: CAPTURA DE REQUISITOS
11.1 Encontrar Actores y Casos de Uso
75
11.2 Priorizar Casos de Uso
76
11.3 Detallar Casos de Uso
CU1
Gestionar Inventario de
almacén
Administrador Panadero
CU2 CU8
Gestionar Compra de Verificar cantidad
CU10
Materia Prima mínima de Materia
Gestionar Receta
Prima
77
Precondiciones: CU10: Gestionar Receta
Flujo Principal: 1. Insertar Nuevo Insumo
1.1. Para ingresar un nuevo insumo se deberá hacer
clic en el botón “Nuevo” para habilitar y limpiar todos los
campos
1.2. Se procederá a llenar todos los
campos:IDProducto, Nombre, cant
1.3. Se hará clic en el botón “Registrar”
1.4. Cuando un producto este registrado correctamente
se deberá guardar la información ingresada para salvarlo
en la base de datos.
2. Buscar
2.1. Clic en nuevo para limpiar los campos del
formulario
2.2. el usuario colocara el IDProducto
2.3. El usuario hará en el botón “Buscar”
2.4. En la tabla se mostrara el producto con sus datos
en la tabla.
2.5. En caso ingresar un IDProducto incorrecto la tabla
no mostrara ningún dato
3. Actualizar
Para actualizar primero se tendrá que haber “buscado” un
producto previamente.
4.1. Seleccionara de la tabla el producto a ser
“Modificado”
4.2. Automáticamente se llenarán los campos con los
datos del producto seleccionado en la parte superior.
4.3. Se procederá a modificar dichos campos
4.4. El Administrador hará Clic en “Actualizar”
78
4.5. Luego de ser correctamente modificado se deberá
guardar los datos modificados para salvarlo en la base de
datos.
Excepción: Ninguna.
Postcondiciones: Ninguna.
CU2
Gestionar compra de materia
prima
«include»
Administrador Proveedor
CU8
Verificar Cantidad
Mínima de Materia
Prima
Actores: Administrador
Proveedor
Actor Iniciador: Administrador
79
Precondiciones: CU8: Verificar Cantidad Mínima de Materia Prima
Flujo Principal:
1. El caso de uso inicia cuando el administrador
verifica la cantidad mínima de materia prima.
2. Si el administrador considera que le faltan insumos
para la elaboración de los panes llama al proveedor
y realiza su pedido.
3. El pedido le llega, el administrador paga por la
compra realizada y lo incluye en el inventario de
almacén
Excepción: Ninguna.
Postcondiciones: Ninguna.
uc Actores
CU3
Gestionar Venta de
Productos
Vendedor Cliente
«extend» «include»
CU9
CU4
Gestionar Stock de
Gestionar Pedidos Producto
80
Breve Este caso de uso proporciona y guarda toda la
Descripción: información de las ventas realizadas.
Actores: Vendedor
Panadero
Cliente
Actor Iniciador: Cliente
Precondiciones: CU4: Gestionar Pedido
CU9: Gestionar Stock de Producto
Flujo Principal:
4. El caso de uso inicia cuando el Cliente realiza la
adquisición de uno o varios productos mediante
pedidos.
5. Si el Vendedor quiere ver a todo los clientes
registrados con sus datos esenciales.
a. El sistema prepara la pantalla en una nueva
interfaz y muestra los datos cargados en una
tabla de todos los clientes.
6. Si el Vendedor desea ver a un nuevo Pedido con
sus datos correspondientes.
a. El Vendedor solicita consultar un pedido.
b. El sistema prepara la pantalla de carga de
datos en una nueva interfaz.
c. El vendedor verifica los datos del pedido.
d. El vendedor pide cerrar la información del
pedido.
7. El sistema los guarda.
Excepción: Un vendedor no puedo modificar los datos de los pedidos.
Postcondiciones: Ninguna.
81
CU4. Gestionar Pedido
uc Actores
CU4
Cliente
«include»
CU9
Gestionar Producto
Panadero
Actores: Vendedor
Cliente
Actor Iniciador: Cliente
Precondiciones: CU9:Gestionar Producto
Flujo Principal:
1. El caso de uso inicia cuando el Cliente desea la
adquisición de un producto.
2. Si el Vendedor quiere ver a todo los clientes
registrados con sus datos esenciales.
82
a. El sistema prepara la pantalla en una nueva
interfaz y muestra los datos cargados en una
tabla de todos los clientes.
3. Si el Vendedor desea registrar a un nuevo Cliente
con sus datos esenciales.
a. El Vendedor solicita Registrar un nuevo
cliente.
b. El sistema prepara la pantalla de carga de
datos en una nueva interfaz.
c. El vendedor carga los datos del cliente y los
productos vendidos.
d. El vendedor pide guardar los datos
ingresados.
4. El sistema los guarda.
Excepción: Un vendedor no puedo modificar los datos de los clientes.
Postcondiciones: Ninguna.
uc Actores
CU5
Gestionar cliente
Vendedor Cliente
83
Caso de Uso CU9: Gestionar Cliente
Propósito Guardar y revisar los datos personales de cada cliente
que solicite algún pedido.
Resumen Este caso de uso guarda y muestra toda la información
de cada cliente en el sistema.
Actores Vendedor
Cliente
Actor Iniciador Cliente
Precondición Ninguna.
Flujo Principal: 1. El caso de uso inicia cuando el cliente presenta sus
datos al vendedor.
2. Si el vendedor quiere ver a todos los clientes con sus
datos personales.
2.1. El sistema prepara la pantalla en una nueva
interfaz y muestra los datos cargados en una
tabla de todos los clientes.
3. Si el vendedor quiere crear un nuevo registro.
3.1. El vendedor solicita Registrar un nuevo
cliente.
3.2. El sistema prepara la pantalla de carga de
datos en una nueva interfaz.
3.3. El vendedor carga los datos del cliente.
3.4. El vendedor pide guardar los datos
ingresados.
3.5. El sistema los guarda.
84
CU6. Gestionar Empleado
uc Actores
CU6
Gestionar Empleado
Empleado Administrador
Actores: Administrador
Empleado
Actor Iniciador: Empleado
Precondiciones: Ninguna
Flujo Principal:
8. El caso de uso inicia cuando el Empleado presenta
todos sus datos al administrador.
9. Si el administrador quiere ver a todos los Empleado
con sus datos personales.
a. El sistema prepara la pantalla en una nueva
interfaz y muestra los datos cargados en una
tabla de todos los Empleados.
85
10. Si el administrador quiere crear un nuevo registro.
a. El administrador solicita Registrar un nuevo
Empleado.
b. El sistema prepara la pantalla de carga de
datos en una nueva interfaz.
c. El administrador carga los datos del
Empleado.
d. El administrador pide guardar los datos
ingresados.
11. El sistema los guarda.
Excepción: Un operador no puedo registrar a un administrador.
Postcondiciones: Ninguna.
uc Actores
«include»
CU7: Gestionar Factura
Administrador
86
Actores Administrador
Excepción Ninguno.
Postcondiciones Ninguno.
87
CU8. Verificar Cantidad Mínima de Materia Prima
CU8
Verificar Cantidad Mínima de
Materia Prima
Panadero
Administrador
88
3. El administrador hace su respectivo pedido de
materia prima.
4. El administrador asienta los datos de la materia
prima comprada en el inventario de almacén
Excepción: Ninguna.
Postcondiciones: CU2:Gestionar Compra de Materia Prima
CU3
Gestionar Venta de CU4
Productos Gestionar Pedido
«extend» «extend»
CU9
Gestionar Stock de Producto
Administrador
Vendedor
89
Flujo Principal:
Insertar, Actualizar, Modificar, Buscar, Seleccionar,
Verificar
1. Insertar Nuevo Producto
1.1. Para ingresar un nuevo producto se deberá hacer
clic en el botón “Nuevo” para habilitar y limpiar todos los
campos
1.2. Se procederá a llenar todos los campos: Id,
Nombre, precio y estado
1.3. Se hará clic en el botón “Registrar”
1.4. Cuando un producto este registrado correctamente
se deberá guardar la información ingresada para salvarlo
en la base de datos.
2. Buscar
2.1. Clic en nuevo para limpiar los campos del
formulario
2.2. el usuario colocara el Nombre del producto
2.3. El usuario hará en el botón “Buscar”
2.4. En la tabla se mostrará el producto con sus datos
en la tabla.
2.5. En caso ingresar un Nombre incorrecto la tabla no
mostrara ningún dato
3.Actualizar.- Para actualizar primero se tendrá que haber
“buscado” un producto previamente.
4.Seleccionara de la tabla el producto a ser “Modificado”
4.1. Automáticamente se llenarán los campos con los
datos del producto seleccionado en la parte superior.
4.2. Se procederá a modificar dichos campos
4.3. El Administrador hará Clic en “Actualizar”
90
4.5. Luego de ser correctamente modificado se deberá
guardar los datos modificados para salvarlo en la base de
datos.
5 Seleccionar.- El cliente Selecciona el producto a
comprar.
5.1 Al momento de seleccionar le aparece cantidad y el
precio.
5.2 Presiona Comprar y se genera su factura y paga por la
misma
5.2 El vendedor entrega el producto junto con su factura
6 Verificar .- El panadero mediante el sistema verifica Los
productos faltantes y elabora los que se están por acabar
6.1 Una ves termina de elaborar actualiza el stock del
Producto.
Excepción: Ninguna.
Postcondiciones: Ninguna.
uc Actores
Administrador
91
Resumen El administrador podrá añadir, modificar, eliminar o
buscar unareceta de los productos que venden.
Actores Administrador
Actor iniciador Administrador
Precondicion Ninguna
Postcondicion Ninguna
Flujo principal 1 Registrar Receta
1.1 Introducir los datos
1.2 Guardar
2 Modificar Receta
2.1 Seleccionar Receta a modificar
2.2 Modificar datos
2.3 Guardar
3 Eliminar Receta
3.1 Seleccionar Sabor
3.2 Eliminar
4 Buscar Receta
4.1 Introducir nombre
4.2 Buscar
Excepcion 1.2 El receta ya existe
2.3 El receta ya existe
uc Actores
CU11: Administrar
Priv ilegios
Administrador
92
Caso de uso CU11: Administrar Privilegios
Su propósito es poder administrar el privilegio que
Propósito
recibe cada cargo
El sistema debe ser capaz de asignarle a cada
usuario un cargo y ese cargo tener un privilegio.
Descripción
Cada privilegio puede ver un paquete o un
conjunto de casos de uso
Actores Administrador
Actor iniciador Administrador
Pre condición Ninguna
1. Administrar
1.1. Seleccionar cargo
Flujo principal
1.2. Seleccionar privilegios para el cargo
1.3. Dar clic en “Aceptar”
Post condición Ninguna
Excepción Ninguna
CU6: Gestionar
Empleado
«include»
Usuario
93
Nombre de caso de uso CU12: Iniciar sesión
Asegurar que solo personas autorizadas puedan
Propósito
ingresar al sistema.
Los usuarios pueden ingresar sistema mediante
Descripción un nombre usuario y contraseña entregada por el
administrador.
Actores Usuario
Actor iniciador Usuario
Pre condición CU6 Gestionar Empleado
1. INGRESAR
Flujo principal 1.1. Ingresar el nombre y contraseña del usuario
1.2. Dar clic en el botón ingresar
Post condición Ninguna
Excepción Los datos ingresados son inválidos
Administrador
94
Precondicion Ninguna
Postcondicion Ninguna
Flujo principal 1 Registrar Medida
1.1 Introducir los datos
1.2 Guardar
2 Modificar Medida
2.1 Seleccionar Medida a modificar
2.2 Modificar datos
2.3 Guardar
3 Eliminar medida
3.1 Seleccionar medida
3.2 Eliminar
4 Buscar medida
4.1 Introducir nombre
4.2 Buscar
Excepción 1.2 La medida ya existe
2.3 La medida ya existe
uc Actores
Administrador
95
Resumen El administrador podrá añadir, modificar, eliminar o
buscar un tipo de pan de los productos que venden.
Actores Administrador
Actor iniciador Administrador
Precondición
Postcondición
Flujo principal 1 Registrar Tipo de Producto
1.1 Introducir los datos
1.2 Guardar
2 Modificar Tipo de Producto
2.1 Seleccionar Tipo de Producto a modificar
2.2 Modificar datos
2.3 Guardar
3 Eliminar Tipo de Producto
3.1 Seleccionar Tipo de Producto
3.2 Eliminar
4 Buscar Tipo de Producto
4.1 Introducir nombre
4.2 Buscar
Excepción 1.2 El tipo de Producto ya existe
2.3 El tipo de Producto ya existe
uc Actores
Administrador
96
Nombre CU15: Gestionar Cargo
Propósito Gestionar los cargos de los empleados en la panadería.
Resumen Se podrá agregar, modificar, eliminar o buscar cargos.
Actores Administrador
Actor iniciador Administrador
Precondición
Postcondición
Flujo principal 1 Registrar Cargo
1.1 Introducir los datos
1.2 Guardar
2 Modificar Cargo
2.1 Seleccionar Cargo a modificar
2.2 Modificar datos
2.3 Guardar
3 Eliminar Cargo
3.1 Seleccionar Cargo
3.2 Eliminar
4 Buscar Cargo
4.1 Introducir nombre
4.2 Buscar
Excepción 1.2 El cargo ya existe
2.3 El cargo ya existe
97
CU16. Gestionar Proveedor
uc Actores
CU16: Gestionar
Prov eedor
.
NOMBRE CU16: Gestionar Proveedor
PRECONDICION Ninguna.
POSTCONDICION Ninguna.
98
11.3.3 Prototipo Interfaz de usuario
99
11.3.3.3 Visualizar usuario
100
11.3.3.5 Visualizar Medida
101
11.3.3.7 Visualizar Materia Prima
102
11.3.3.9 Visualizar Proveedor
103
11.3.3.11 Visualizar Comprobante
104
uc Diagrama General de Casos de Uso
CU8
CU1 Verificar Cantidad CU10
«include»
Gestionar Inventario Mínima de Materia Gestionar Receta
Prima
«include» CU13
Gestionar Medida CU14
Gestionar Tipo de
Cliente
Producto
«include»
CU2
Gestionar Compra de CU15
Materia Prima Gestionar Cargo
Administrador
105
CU7 CU5
11.4. Diagrama de caso de uso Completo
CU6
«include»
Gestionar Empleado
Proveedor «include»
CU3
Gestionar Venta de
«include» Productos
12.1.1Identificar paquete
Paquete Ventas:
class Paquetes Descripción: Se podrá ver, registrar y modificar los pedidos hechos
por los clientes.
Ventas Se podrá ver a los clientes, registrar clientes nuevos y actualizar sus
datos.
Paquete Compras
Descripción: Aquí se podrá registrar a los proveedores, actualizar
class Paquetes
sus datos y eliminarlos.
Compras
También se podrá registrar y ver las compras; registrar y ver los
pagos que se realizan de estas.
Paquete Inventario
class Paquetes
Descripción: Aquí se podrán ver el inventario de insumos, también
registrar las salidas e ingresos de materia prima a los almacenes.
Inventario También se podrá registrar, modificar y eliminar datos de los
insumos que se compran en la distribuidora.
Paquete Personal
class Paquetes Descripción: En este paquete se podrá visualizar, registrar,
modificar y eliminar datos del personal, y de los clientes.
Personal
106
12.1.2. Relacionar paquete y casos de uso
uc Actores
«trace»
«trace»
«trace»
uc Actores
«trace»
«trace»
107
uc Inventario
CU1
Gestionar Inventario
Inventario CU2
Gestionar Compra de
Materia Prima
CU8
Verificar Cantidad
Mínima de Materia
Prima
CU13
Gestionar Medida
uc Actores
«trace»
Usuario
«trace»
CU15: Gestionar Cargo
108
12.1.3. Vista de casos de uso
uc Actores
Ventas
«include»
«include»
CU3: Gestionar Venta de
Producto
Vendedor
Cliente
uc Paquete Inventario
Inventario
CU8
CU3
Verifircar Cantidad
Gestionar Venta de
Mínima de Materia
«extend» Producto
Prima
CU1
Gestionar Inventario
Administrador
Panadero
CU2 CU13
CU14 CU10
Gestionar Compra de Gestionar Medida
Gestionar Tipo de Gestionar Receta
Materia Prima «extend»
«extend» producto
109
uc Actores
Compras
Cliente
«include»
CU13: Gestionar
Administrador Medida
uc Actores
Usuario
«extend»
Administrador
CU6: Gestiona Empleado
110
Análisis de caso de uso 1: Gestionar Inventario
sd Modelo de diseño
UnidadMedida
MateriaPrima
UnidadMedida
- Abrebiatura: char
Administrador - id: int
- Nombre: int
InterfazInv entario
Inv entarioController
MateriaPrima
+ Buscar() : void
+ Editar() : void + Destroy() : void - descripcion: char
+ Eliminar() : void + Show() : void - id: int
+ Nuevo() : void + Store() : void - tipoUnidad: int
Inv entarioAlmacen
- cantidad: int
- id: int
111
Análisis de caso de uso 2: Gestionar Compra de Materia Prima
sd Modelo de diseño
MateriaPrima
4: <Insumos>()
5: <Proveedoresl>()
Proveedor
112
class Modelo de clases
MateriaPrima
Prov eedor
- direccion: char
- nombre: char
- telefono: int
Producto
4: <Lista de Productos>()
5: <Lista de Facturas>()
Factura
113
class Modelo de clases
Administrador DetalleVenta
- cantidad: int
- precioUnitario: int
Producto
- descripcion: int
- estado: int
- id: int
- nombre: char
- precio: int
Cliente
4: <Lista de Clientes>()
7: <Lista de Producto>()
Producto DetallePedido
114
class Modelo de clases
Administrador DetalleProducto
- cantidad: int
- precioUnitario: int
Producto
- descripcion: int
- estado: int
- id: int
- nombre: char
- precio: int
Cliente
InterfazCliente ClienteController
- NIT: int
+ Buscar() : void + Index() : void
+ Editar() : void + Shows() : void
+ Nuevo() : void + Store() : void
+ Update() : void
Administrador
115
Análisis de caso de uso 6: Gestionar Empleado
uc Actores
5. Lista de cargos()
Cargo
EmpleadoController Empleado
Administrador InterfazEmpleado
uc Actores
«interface» EmpleadoController
InterfazEmpleado Administrador
+ Destroy(): void Empleado Cargo
+ Buscar(): void + Index(): void - Id: int
- direccion: char
+ Editar(): void + Show(): void
- estado: boolean 0..* 1 - nombre: char
+ Eliminar(): void + Store(): void
- telefono: int
+ Nuevo(): void + Update(): void
116
Análisis de caso de uso 7: Gestionar Factura
uc Actores
Detalle_venta
1. Nuevo()
1.1. Store()
2. Anular()
3.1.Show()
3. Buscar() 1.2. insert()
6.Index()
4.2 select()
Administrador
Producto
+ descripcion: char
- Estado: boolean
- id: int
- nombre: char
Administrador
- precio: float
1..*
«interface» FacturaController
InterfazFactura Factura 0..*
+ Index(): void
+ Buscar(): void + Show(): void - Cod: int
+ Editar(): void + Store(): void - fecha: date
Detalle_Venta
+ Nuevo(): void - hora: int
- importe_total: float - cantidad: int
- Precio_unitario: float
117
Análisis de caso de uso 8: Verificar Cantidad Mínima de Materia Prima
uc Actores
Unidad_Media
1.Filtrar()
1.1 Index()
2. Buscar()
2.1.Show()
1.2.deploy ()
2.2 deploy()
Administrador
uc Actores
UnidadMedida
«interface» Administrador MateriaPrimaController
MateriaPrima MateriaPrima
+ abreviatura: char
+ Destroy(): void - id: int
+ descripcion: char
+ Buscar(): void + Index(): void - nombre: char
- id: int 0..* 1..*
+ Editar(): void + Show(): void
+ tipoUnidad: int
+ Nuevo(): void + Store(): void
+ Eliminar(): void
uc Actores
Producto
Stock Diario
Administrador InterfazStockProducto
118
Análisis de clases
uc Actores9: Gestionar Stock del Producto
uc Actores
Producto
+ descripcion: char
Administrador - Estado: boolean
- id: int
+ nombre: char
- Precio: float
«interface» 0..*
StockProducto StockProductoController Stock Producto
Stock Diario
+ fecha: date
- id: int
uc Actores
5. Lista de Materia
Prima a utilizar
Materia Prima
1.2 insert()
1.1 Store() 4.1. Select()
1. Nuevo()
2. Editar() 3.1 Destroy()
4.1 Show() RecetaController
3. Eliminar()
4. Buscar() 6. Index()
Panadero
Receta
InterfazReceta
119
uc Actores
uc Actores
Materia Prima
+ description: char
- id: int
Panadero
- TipoUnidad: int
1..*
«interface»
Receta RecetaController Receta
1..*
+ Buscar(): void + Destroy(): void - description: char
+ Editar(): void + Index(): void - id: int
+ Nuevo(): void + Show(): void - nombre: char
+ Eliminar(): void + Store(): void
Materia_Receta
- cantidad: int
Cargo
2.3: Actualizar()
1: Editar() 1.1: Editar() 1.2: Guardar()
1.3: Guardar()
2: Eliminar() 2.1: Modificar() 2.2: Actualizar()
Administrador
120
sd Inicio de Sesión
1: [Si Registra]:Registrar()
1.3: Guardar()
1.4: Modificar()
Administrador
1.1: Stored()
Medida
Interfaz Medida Controlador Medida
Administrador
121
sd Gestionar Medida
Controlador Medida
Interfaz Medida Medida
- Destroy(): char
- Buscar(): char - Index(): char - Abreviatura(): char
- Show(): char - ID(): int
- Editar(): char
- Store(): char - Nombre: char
- Eliminar(): char
- Nuevo(): char - Update(): char
Administrador
Pedido
Factura
1.1: Stored() 8: Factura()
7: Pedido()
2.1: Update() 1.2: Insert()
1: nuevo()
3.1: Destrot()
2: Editar() 2.2: Update()
4.1: Show() 3.2: Delete()
3: Eliminar()
9: Index() 4.2: Select()
4: Buscar()
Producto
Interfaz Producto Controlador Producto
Administrador
6: Stock Diario()
5: Receta()
Stock Diario
Receta
122
sd Gestionar Producto
0..*
Detalle Venta
- Cantidad(): int
- Precio Unitario(): int
1..*
Producto
Controlador Producto Factura
Interfaz Producto - Descripcion(): char
- Destroy(): char - Codigo(): int
- Estado(): char
- Buscar(): char - Index(): char - Fecha(): Date
- ID: int 0..*
- Editar(): char - Show(): char 1..* - Hora(): Date
- Nombre(): char
- Eliminar(): char - Store(): char - Importe Total: int
- Precio(): int
- Nuevo(): char - Update(): char
1..*
1 Stock Producto
- Cantidad(): int
1
0..*
Receta
1.2: Insert()
1.1: Store()
1: Nuevo()
2.2: Update()
2.1: Update()
2: Editar()
3.2: Delete()
3.1: Destroy()
3: Eliminar()
4.1: Show() 4.2: Select()
4: Buscar()
4.3: Index()
Cargo
Interfaz Cargo Controlador Cargo
Administrador
Controlador Cargo
Interfaz Cargo Cargo
- Destroy(): char
- Buscar(): char - Index(): char - Cargo(): char
- Editar(): char - Show(): char - ID(): int
- Eliminar(): char - Store(): char
- Nuevo(): char - Update(): char
Administrador
123
sd Gestionar Proveedor
1.2: Insert()
1.1: Store()
1: Nuevo()
2.2: Update()
2.1: Update()
2: Editar()
3.2: Delete()
3.1: Destroy()
3: Eliminar()
4.1: Show() 4.2: Select()
4: Buscar()
4.3: Index()
Proveedor
Interfaz Proveedor Controlador Proveedor
Administrador
Controlador Proveedor
Interfaz Proveedor Proveedor
- Destroy(): char
- Buscar(): char - Index(): char - Direccion(): char
- Editar(): char - Show(): char - Nombre(): char
- Eliminar(): char - Store(): char - Teléfono(): int
- Nuevo(): char - Update(): char
Administrador
13. ANEXOS
124
125