StockControl
Noemi Pino – Alan Navarrete
Índice
Introducción.......................................................................................................................................2
Objetivo principal...........................................................................................................................2
Objetivos específicos..........................................................................................................................2
Alcance...............................................................................................................................................3
Modelo de negocios.......................................................................................................................3
Arquitectura del sistema....................................................................................................................3
Requerimientos..................................................................................................................................4
Especificación técnica del sistema....................................................................................................17
Requisitos del sistema..............................................................................................................17
Requisitos Funcionales............................................................................................................17
Requisitos No Funcionales........................................................................................................17
Componentes técnicos.................................................................................................................17
Frontend...................................................................................................................................17
Backend....................................................................................................................................17
Base de datos...........................................................................................................................17
Infraestructura.............................................................................................................................17
Servidor....................................................................................................................................17
Estaciones de trabajo...............................................................................................................18
Seguridad.................................................................................................................................18
Mantenimiento........................................................................................................................18
Anexos..............................................................................................................................................19
Arquitectura.............................................................................................................................19
4+1...........................................................................................................................................19
1
Introducción
El presente informe tiene como propósito principal detallar la información esencial
y relevante del proyecto de desarrollo de una aplicación web para el control de stock en
una bodega. Este documento aborda aspectos clave del proyecto, incluyendo sus
objetivos, alcance, modelo de negocio, requisitos del sistema y especificaciones técnicas,
ofreciendo una visión integral para su implementación exitosa.
El proyecto busca optimizar la gestión de inventarios mediante el diseño de un sistema
eficiente y fácil de usar, empleando una arquitectura monolítica. Se utilizarán tecnologías
modernas como MariaDB para la base de datos, PHP y JavaScript para el desarrollo
backend y frontend, así como HTML, CSS y el framework Bootstrap para garantizar un
diseño responsivo.
Objetivo principal
El objetivo general de este proyecto es implementar un sistema web de gestión de bodega
que permita optimizar los procesos operativos, mejorar la precisión en el seguimiento de
inventario, automatizar la generación de informes y reducir errores.
Objetivos específicos
Creación de un modelo de base datos que soporte los requerimientos del sistema.
Evaluación de necesidades.
Implementación de la base de datos para gestionar las operaciones del sistema de
inventario.
Optimización de tiempos de carga, estos siendo responsivos en el mínimo tiempo
Control de existencia en tiempo real, mostrar de manera automática los cambios en la
existencia de los productos
Diseño de interfaz de usuario responsiva e intuitiva.
Pruebas de funcionamiento del software para asegurar el correcto funcionamiento de
funcionalidades.
Implementación de un sistema de informes eficiente, esto quiere decir que de manera
automática salga una guía de traslado o los reportes que se solicitan.
2
Alcance
El proyecto abarca el desarrollo, diseño e implementación de una aplicación web
para la gestión de stock en una bodega, permitiendo así el registro y control eficiente de
productos, movimientos de inventario y usuarios, con funcionalidades como informes
detallados, niveles de permisos y una interfaz responsiva. Basado en Bootstrap. Se
utilizará una arquitectura monolítica con tecnologías como MariaDB, PHP, JavaScript,
HTML y CSS, garantizando un sistema escalable, seguro y fácil de usar, enfocado en
satisfacer las necesidades de una bodega.
Modelo de negocios
Las imágenes de los modelos se encontraran fuera de este documento ya que no
son visibles a simple vista.
Arquitectura del sistema
La arquitectura que se escogió para poder realizar este proyecto, es la arquitectura
monolítica, ya que según en su descripción se adapta con nuestro proyecto al no ser tan
grande y al no recibir tantas actualizaciones en cortos plazos.
Frontend: Desarrollado en HTML5, CSS, JavaScript y Bootstrap.
Backend: Desarrollado en PHP para la lógica de negocio.
Base de datos: MariaDB para el almacenamiento de datos.
En el apartado de anexos se mostrará el diagrama con la arquitectura del proyecto, y el
modelo 4+1.
3
Requerimientos
Requerimientos Funcionales
RF.1: Inicio de sesión
- Tipo de Requerimiento: Funcional
- Clasificación: Gestión de Usuarios
- Actores Relacionados: Administrador, Operador
- Descripción: Permite a los usuarios iniciar sesión en el sistema
- Estado: Completado
RF.2: Registrar usuario
- Tipo de Requerimiento: Funcional
- Clasificación: Gestión de Usuarios
- Actores Relacionados: Administrador
- Descripción: Permite al administrador principal registrar usuarios en el sistema
- Estado: Completado
RF.3: Visualizar dashboard
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario tener un panel de control con información relevante
sobre productos
- Estado: Completado
RF.4: Visualizar productos
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite a los usuarios ver el listado de productos
- Estado: Completado
4
RF.5: Visualizar inventario
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario ver el listado de inventario de productos
- Estado: Completado
RF.6: Visualizar categorías
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario ver el listado de categorías
- Estado: Completado
RF.7: Visualizar proveedores
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario ver el listado de proveedores
- Estado: Completado
RF.8: Visualizar clientes
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario ver el listado de clientes
- Estado: Completado
RF.9: Historial de movimientos
5
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario ver el historial de movimientos (entradas-salidas)
- Estado: Completado
RF.10: Perfil de usuario
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario ver su perfil de usuario
- Estado: Completado
RF.11: Generar reportes
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario generar un reporte
- Estado: Completado
RF.12: Exportar reportes
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite exportar reportes
- Estado: Completado
RF.13: Notificaciones baja existencia
- Tipo de Requerimiento: Funcional
6
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Generar una alerta sobre existencia baja en productos
- Estado: Completado
RF.14: Visualizar usuarios
- Tipo de Requerimiento: Funcional
- Clasificación: Gestión de Usuarios
- Actores Relacionados: Administrador
- Descripción: Permite al usuario administrador ver el listado de usuarios
- Estado: Completado
RF.15: Cambiar estado de usuarios
- Tipo de Requerimiento: Funcional
- Clasificación: Gestión de Usuarios
- Actores Relacionados: Administrador
- Descripción: Permite al administrador cambiar el estado del usuario (activo-inactivo)
- Estado: Completado
RF.16: Eliminar usuario
- Tipo de Requerimiento: Funcional
- Clasificación: Gestión de Usuarios
- Actores Relacionados: Administrador
- Descripción: Permite al administrador eliminar un usuario
- Estado: Completado
RF.17: Editar usuario
- Tipo de Requerimiento: Funcional
- Clasificación: Gestión de Usuarios
7
- Actores Relacionados: Administrador
- Descripción: Permite al administrador editar información del usuario
- Estado: Completado
RF.18: Ingresar producto
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite registrar un producto en el sistema
- Estado: Completado
RF.19: Ingresar categoría
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite registrar categorías en el sistema
- Estado: Completado
RF.20: Ingresar proveedor
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite registrar proveedores en el sistema
- Estado: Completado
RF.21: Ingresar cliente
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
8
- Descripción: Permite registrar clientes en el sistema
- Estado: Completado
RF.22: Registrar inventario producto
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite registrar un inventario de producto
- Estado: Completado
RF.23: Registrar salida producto
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite registrar la salida de un producto
- Estado: Completado
RF.24: Editar producto
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite editar la información de un producto
- Estado: Completado
RF.25: Eliminar producto
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite eliminar un producto del sistema
9
- Estado: Completado
RF.26: Editar categoría
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite editar la información de la categoría
- Estado: Completado
RF.27: Eliminar categoría
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite eliminar categoría del sistema
- Estado: Completado
RF.28: Editar proveedor
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite editar la información del proveedor
- Estado: Completado
RF.29: Eliminar proveedor
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite eliminar proveedor del sistema
- Estado: Completado
10
RF.30: Editar cliente
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite editar información del cliente
- Estado: Completado
RF.31: Eliminar cliente
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite eliminar cliente del sistema
- Estado: Completado
RF.32: Aumentar existencia de inventario
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite aumentar la existencia de un producto en el inventario
- Estado: Completado
RF.33: Cambiar estado de inventario
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite cambiar el estado del inventario de un producto
- Estado: Completado
RF.34: Valorización total del inventario
11
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite visualizar la valorización total del inventario en el panel de control
- Estado: Completado
RF.35: Cambiar estado proveedor
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite cambiar el estado del proveedor (activo-inactivo)
- Estado: Completado
RF.36: Cambiar estado cliente
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador
- Descripción: Permite cambiar el estado del cliente (activo-inactivo)
- Estado: Completado
RF.37: Emitir factura de entrada
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario generar una factura al realizar una entrada de producto
- Estado: Completado
RF.38: Emitir guía de traslado
- Tipo de Requerimiento: Funcional
12
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario generar una guía de traslado al realizar una salida de
producto
- Estado: Completado
RF.39: Cambio de contraseña
- Tipo de Requerimiento: Funcional
- Clasificación: Funcional sistema
- Actores Relacionados: Administrador, Operador
- Descripción: Permite al usuario cambiar su contraseña de ingreso al sistema
- Estado: Completado
Requerimientos No Funcionales
RNF.1: Diseño Responsivo
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Adaptabilidad
RNF.2: Navegación Intuitiva
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
13
- Subcaracterística Asociada: Inteligibilidad
RNF.3: Diseño Consistente
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Consistencia
RNF.4: Compatibilidad con Navegadores
- Tipo de Requerimiento: Observable
- Característica ISO25010: Compatibilidad
- Subcaracterística Asociada: Compatibilidad
RNF.5: Colores y diseño de interfaz
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Estética
RNF.6: Pruebas de usabilidad
- Tipo de Requerimiento: Observable
- Característica ISO25010: Calidad
- Subcaracterística Asociada: Efectividad
RNF.7: Accesibilidad web
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Accesibilidad
RNF.8: Marca y logo de la empresa
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Estética
RNF.9: Cumplimiento de estándares web
14
- Tipo de Requerimiento: No observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Inteligibilidad
RNF.10: Disponibilidad del sistema
- Tipo de Requerimiento: No observable
- Característica ISO25010: Fiabilidad
- Subcaracterística Asociada: Disponibilidad
RNF.11: Control de acceso basado en roles
- Tipo de Requerimiento: Observable
- Característica ISO25010: Seguridad
- Subcaracterística Asociada: Autorización
RNF.12: Facilidad de mantenimiento
- Tipo de Requerimiento: No observable
- Característica ISO25010: Mantenibilidad
- Subcaracterística Asociada: Modificabilidad
RNF.13: Facilidad de aprendizaje
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Adaptabilidad
RNF.14: Escalabilidad de la base de datos
- Tipo de Requerimiento: No observable
- Característica ISO25010: Rendimiento
- Subcaracterística Asociada: Capacidad
RNF.15: Gestión de contraseñas segura
- Tipo de Requerimiento: No observable
15
- Característica ISO25010: Seguridad
- Subcaracterística Asociada: Seguridad de autenticación
RNF.16: Documentación completa y actualizada
- Tipo de Requerimiento: Observable
- Característica ISO25010: Mantenibilidad
- Subcaracterística Asociada: Documentación
RNF.17: Cifrado de datos sensibles
- Tipo de Requerimiento: Observable
- Característica ISO25010: Seguridad
- Subcaracterística Asociada: Confidencialidad
RNF.18: Consistencia de la interfaz
- Tipo de Requerimiento: Observable
- Característica ISO25010: Usabilidad
- Subcaracterística Asociada: Consistencia
Especificación técnica del sistema
Requisitos del sistema
Requisitos Funcionales
Gestión de usuarios: Registro, edición y eliminación de usuarios con roles
(Administrador, Operador)
Gestión de productos: Registro, actualización y eliminación de productos.
Gestión de inventario: Control de entradas y salidas de productos, con alertas de
existencia baja.
Reportes: Generación de reportes en formato CSV Y PDF.
Requisitos No Funcionales
Disponibilidad: 99.5% de tiempo disponible.
Seguridad: Autenticación mediante contraseñas seguras.
Escalabilidad: Soporte para hasta 20 usuarios y 5000 productos.
16
Componentes técnicos
Frontend
Lenguajes: HTML, CSS, JavaScript.
Framework: Bootstrap para diseño responsivo.
Backend
Lenguaje: PHP
Autenticación: basada en contraseñas con hashing.
Base de datos
Tecnología: MariaDB
Tablas clave: Usuario, Producto, Inventario, Movimiento
Infraestructura
Servidor
Procesador Intel core i3
Memoria RAM: 8 GB.
Almacenamiento: 500 GB SSD
Sistema operativo: Windows server
Estaciones de trabajo
Procesador: Intel core i3 / Intel core i5
Memoria RAM: 8 GG. / 12 GG
Sistema operativo: Windows 10.
Seguridad
Autenticación: Contraseñas hash y roles de acceso
Mantenimiento
Actualizaciones: Revisiones trimestrales para aplicar mejoras.
Backup: Copias de seguridad automáticas diarias.
17
18
Anexos
Arquitectura
4+1
Casos de uso Administrador
19
Casos de uso operador
Vista lógica
20
Diagrama de actividad Administrador
21
Diagrama de actividad operador
22
Diagrama de componentes
23
Vista física
24