Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNAN-LEÓN
DEPARTAMENTO DE COMPUTACIÓN
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
PROTOCOLO DE MONOGRAFIA
Tema:
Autores:
Tutor:
UNAN-LEÓN
DEPARTAMENTO DE COMPUTACIÓN
INGENIERÍA EN SISTEMAS DE INFORMACIÓN
PROTOCOLO DE MONOGRAFIA
Tema:
Autores: Firmas
Tutor:
I. RESUMEN..........................................................................................................................4
II. DEDICATORIA..................................................................................................................5
III. AGRADECIMIENTOS...................................................................................................6
IV. INTRODUCCION...........................................................................................................7
V. PLANTEAMIENTO DEL PROBLEMA...........................................................................8
VI. ALCANCES....................................................................................................................9
VII. ANTECEDENTES.......................................................................................................10
VIII. JUSTIFICACION.........................................................................................................11
IX. OBJETIVOS.................................................................................................................12
9.1. Objetivo General....................................................................................................12
9.2. Objetivos Específicos...........................................................................................12
X. Marco Teórico................................................................................................................13
10.1. Los sistemas de información:........................................................................13
10.2. PHP:......................................................................................................................13
10.3. AdminLTE:...........................................................................................................15
10.4. XAMPP:................................................................................................................15
10.5. SQL:......................................................................................................................16
10.6. MySQL:.................................................................................................................16
10.7. HOST:...................................................................................................................17
10.8. SMTP:...................................................................................................................17
10.9. PROTOCOLO SSL:............................................................................................17
10.10. PROTOCOLO TLS:............................................................................................18
10.11. AUTENTICACION DE MENSAJE:...................................................................18
10.12. REPORTES:.........................................................................................................18
10.13. LIBRERÍA:............................................................................................................19
10.14. LIBRERÍA TCPDF:..............................................................................................19
10.15. Plug-in:.................................................................................................................19
10.16. JQuery DataTable:.............................................................................................20
10.17. MorrisJS:.............................................................................................................20
10.18. ChartJS:...............................................................................................................20
10.19. Date Range Picker:............................................................................................20
1
10.20. Input Mask:..........................................................................................................20
XI. METODOLOGIA..........................................................................................................21
11.1. Tipo de estudio...................................................................................................21
11.2. Métodos...............................................................................................................21
11.3. Unidad de análisis.............................................................................................21
11.4. Técnica de Investigación.................................................................................21
11.5. Planificación de la iteración o ciclo..............................................................22
11.5.1. Determinar o fijar objetivos:....................................................................22
11.5.2. Planificación:..............................................................................................22
11.5.3. Análisis y evaluación de riesgos:..........................................................22
11.5.4. Desarrollar y probar:.................................................................................23
11.5.5. Planificación de la siguiente iteración:................................................23
XII. RECURSOS HARDWARE Y SOFTWARE.............................................................24
a. Hardware:....................................................................................................................24
b. Software:......................................................................................................................24
XIII. ESPECIFICACION DE REQUISITOS DE SOFTWARE........................................25
Información del Proyecto................................................................................................25
Propósito.............................................................................................................................25
Alcance del producto / Software...................................................................................25
Referencias.........................................................................................................................25
Funcionalidades del producto.......................................................................................26
Clases y características de usuarios............................................................................26
Entorno operativo.............................................................................................................26
Requerimientos funcionales...........................................................................................26
1. Administración del sistema....................................................................................26
2. Administración de inventario de producto.........................................................27
3. Gestión de ventas.....................................................................................................28
4. Reportes......................................................................................................................29
Reglas de negocio.............................................................................................................29
Requerimientos de interfaces externas.......................................................................29
Interfaces de usuario....................................................................................................29
Interfaces de hardware.................................................................................................29
Interfaces de software..................................................................................................29
Interfaces de comunicación........................................................................................30
Requerimientos no funcionales.....................................................................................30
10.1 Requisitos de rendimiento.................................................................................30
2
10.2 Seguridad...............................................................................................................30
10.3 Fiabilidad................................................................................................................30
10.4 Disponibilidad........................................................................................................30
Otros requerimientos.......................................................................................................31
11.1 Usabilidad...............................................................................................................31
XIV. DIAGRAMAS...............................................................................................................31
14.1. Diagrama ER.......................................................................................................31
Diagrama relacional..........................................................................................................32
...............................................................................................................................................33
Diagrama de casos de usos............................................................................................33
Desarrollo y documentación del sistema....................................................................37
Administrador:...................................................................................................................38
...............................................................................................................................................38
Administración del Sistema:..........................................................................................39
Datos de la empresa:........................................................................................................39
Editar datos de la empresa.............................................................................................40
Usuarios:.............................................................................................................................41
...............................................................................................................................................41
Roles:...................................................................................................................................43
...............................................................................................................................................43
Estado de la bitácora:......................................................................................................51
Configurar Correo:............................................................................................................52
...............................................................................................................................................63
XV. CONCLUSIONES........................................................................................................70
XVI. RECOMENDACIONES...............................................................................................70
XVII. Bibliografía..............................................................................................................71
XVIII. Anexos.....................................................................................................................72
18.1. CRONOGRAMA:.....................................................................................................72
...............................................................................................................................................72
18.2. GLOSARIO DE TERMINOS:......................................................................................73
Glosario...............................................................................................................................73
Pruebas: Proceso mediante el cual se realizan actividades para verificar la
óptima función del sistema.................................................................................................73
3
I. RESUMEN
4
II. DEDICATORIA
A todas las personas que nos han apoyado y han hecho que el trabajo se
realice con éxito en especial a aquellos que nos abrieron las puertas y
compartieron sus conocimientos.
5
III. AGRADECIMIENTOS
Por ser los principales promotores de nuestros sueños, por confiar y creer en
nuestras expectativas, por los consejos, valores y principios que nos han
inculcado.
6
IV. INTRODUCCION
7
V. PLANTEAMIENTO DEL PROBLEMA
8
VI. ALCANCES
9
VII. ANTECEDENTES
10
VIII. JUSTIFICACION
11
IX. OBJETIVOS
12
X. Marco Teórico
James Senn (1992) declara que en el sentido más amplio un sistema “es un
conjunto de componentes que interactúan entre sí para lograr un objetivo
común”.
Alonzo Tamayo álzate (2005) propone que “Sistema es un conjunto ordenado
de componentes o partes que están estructurados, relacionados e
interrelacionados a través de distintos canales de comunicación y control, y
buscan el logro de objetivos y metas plenamente definidos”.
Andreu, Ricart y Valor (1991), un sistema de información queda definido como:
“conjunto formal de procesos que, operando sobre una colección de datos
estructurada de acuerdo a las necesidades de la empresa, recopila, elabora y
distribuyen selectivamente la información necesaria para la operación de dicha
empresa y para las actividades de dirección y control correspondientes,
apoyando, al menos en parte, los procesos de toma de decisiones necesarios
para desempeñar funciones de negocio de la empresa de acuerdo con su
estrategia”.
X.2. PHP:
13
Existen principalmente tres campos principales donde se usan scripts de PHP.
Scripts del lado del servidor: Este es el campo más tradicional y el
foco principal. Son necesarias tres cosas para que esto funcione: el
analizador de PHP (módulo CGI o servidor), un servidor web y un
navegador web. Es necesario ejecutar el servidor con una instalación de
PHP conectada. Se puede acceder al resultado del programa de PHP
con un navegador, viendo la página de PHP a través del servidor. Todo
esto se puede ejecutar en su máquina si está experimentado con la
programación de PHP
X.3. AdminLTE:
14
AdminLTE es una popular plantilla de aplicación web de código abierto para
paneles de control y paneles de administración para Bootstrap creado por el
estudio Almsaeed. Es una solución de código abierto que permite una
construcción y personalización sencillas. AdminLTE es una plantilla HTML
receptiva que se basa en el marco CSS Bootstrap 3. Utiliza todos los
componentes de Bootstrap en su diseño y cambia el estilo de muchos
complementos de uso común para crear un diseño coherente.
AdminLTE se basa también en un diseño modular, que permite personalizarlo y
construirlo fácilmente. La idea es que cada uno de estos elementos sea un
plugin o un widget a través del cual uno va creando la interfaz de usuario tanto
por la parte de front-end como de back-end, trabaja mayormente con el
framework Bootstrap, facilitándote muchas herramientas y opciones para
realizar los proyectos que desees, con esta plantilla se puede administrar
sistemas, y crear CRUDs de forma rápida y elegante. Al instalarlo contamos
con vistas reusables y responsive que se adaptan de manera íntegra, desde
computadoras a dispositivos móviles.
Algunas características importantes de esta plantilla de administración:
AdminLTE está basado en Bootstrap 3.
El estudio Almsaeed proporciona documentación de soporte.
Usa LESS CSS, más fácil que aprender que CSS o SASS.
Es una solución que está alojada en GitHub. Por tanto, se pueden hacer
al estudio peticiones o mejorar el producto.
15
El usuario con lo que siempre
se va a encontrar es con las
Este sería el usuario final el vistas y cuando el usuario
que está frente a la pantalla hace una solicitud al sistema
de computador. USUARIO
ya sea a través de un
formulario o a través de un
botón que necesite traer
El controlador la VISTA información de la base datos
recibe y se la retorna entonces esa solicitud pasa al
a la vista para que la controlador.
vista la pueda
imprimir. El controlador es el
que controla valga la
redundancia esa
Esta sería la pantalla y CONTROLADOR información la depura
aquí estaría el proyecto.
y se la manda al
modelo.
Traer esa
información que está Modelo que está
solicitando el usuario oculto en un búnker
y luego esa MODELO como si estuviera
información se la va protegido por toda
a devolver al una fortaleza encima.
controlador.
Ya libremente podrá
ir a conectarse a la
base datos.
Es un proceso donde se trabaja como una especie tripartita para que cada
escenario vaya haciendo más y más oculto o más y más protegido de tal forma
que el usuario final tenga mucha dificultad poder acceder a lo que es la
información delicada del proyecto que es la base datos.
De esta forma evitamos ataques, agregamos seguridad informática a nuestro
proyecto obviamente tendremos que también validar información a través de
los formularios:
El cruce de Hory.
El cruce de origen.
16
El cruce de keigo.
Los ataques se Injection todo es tipo de cosas los tenemos que prevenir.
Pero gracias a este patrón modelo vista controlador podemos ser más
organizados en la construcción del proyecto.
Se puede modular izar y lo podemos hacer por módulos lamía y si necesitamos
agregar más módulos fácilmente lo podemos hacer gracias a este patrón
modelo vista controlador y finalmente nuestro proyecto queda muy protegido.
17
Estructura del sistema
Nuestro proyecto es un sistema de inventario y facturación de ventas el cual
tendrá muchas funcionalidades a la hora de facilitar la administración de una
empresa o negocio.
Esta estructurado de la siguiente manera:
Inicio de sesión
Login:
Usuario
Administrador
Especial
Vendedor
Contraseña
Una contraseña única que se le dará cada usuario.
Barra de Navegación:
Logotipo:
Icono del logotipo.
Logotipo.
Sidebar:
Que nos servirá para desplegar los dos tipos de logotipo:
El logotipo en mini.
El logotipo normal.
Menú lateral
Menú del perfil del usuario:
Imagen del perfil del usuario
Nombre del perfil del usuario que está conectado al sistema.
Y la opción que está en línea el usuario en el sistema.
Menú de búsqueda:
Buscador para el menú de navegación del sistema.
Menú de navegación:
El menú de navegación va a tener:
Vistas
Controladores
Modelos
C reate (Crear)
R ead (Leer)
U pdate (Actualizar)
19
D elete (Borrar)
Esta es la interacción que realizamos en las bases de datos Crear, Leer,
Actualizar y Borrar.
Entonces cuando hacemos un CRUD estamos haciendo un gestor y
necesitamos un gestor para cada uno de los módulos.
Porque vamos a tener que:
Crear cada uno de los módulos.
Hacer lectura para cada uno de los módulos para ver lo que está en la
base de datos.
Entonces hay que hacer un gestor para cada uno de estos módulos:
Gestor de Datos de la empresa
Gestor de Usuarios.
Gestor de Roles
Gestor de Configuración del correo.
Gestor de Categoría.
Gestor de Productos.
Gestor de Ventas
Gestor de Clientes
Gestor de Cotización
Menú de Administración_Sistema
Datos de la Empresa.
20
Usuarios.
Roles
Estado de la Bitácora
Menú de Administración_Inventario
Categoría.
Producto.
Menú de Gestión_Ventas
Ventas.
Clientes.
Cotizaciones
Menú de Reportes_Empresa
Ganancias_Ventas.
Productos_Vendidos.
Vendedores.
Compradores.
Página de Inicio
Panel de control
Nombre de la empresa.
Información de la empresa.
Bienvenido al sistema
Dara la bienvenida.
Nombre del perfil y rol del usuario en sesión.
Categorías
Icono de categorías.
21
Cantidad total de categorías de los productos.
Productos
Icono de Productos.
Cantidad total de los productos.
Ventas
Icono de venta.
Cantidad total de las ganancias de ventas.
Derechos reservados
Todos los derechos reservados.
22
X.4. XAMPP:
23
correo Mercury, el programa de administración de bases de datos
phpMyAdmin, el software de analítica web Webalizer, OpenSSL, Apache
Tomcat y los servidores FTP FileZilla o ProFTPd
Un servidor XAMPP se puede instalar rápido y fácilmente como sistema de test
local bajo Linux, Windows con un único archivo ejecutable. El paquete del
software contiene los mismos componentes que se utilizan en cualquier
servidor web, de forma que permite a los desarrolladores testar proyectos
localmente y transferirlos cómodamente a sistemas reales
X.5. SQL:
X.6. MySQL:
X.7. HOST:
X.8. SMTP:
25
Cuando una persona envía un correo electrónico a través de este protocolo, lo
que ocurre es que el cliente de correo (como Outlook Express o Mozilla
Thunderbird) presenta el mensaje en cuestión a un servidor de correo a través
del SMTP. El servidor envía el mensaje al Mail Transfer Agent (MTA), que
apela al Domain Name System (DNS) para buscar el registro MX. Cuando éste
acepta el correo, lo deriva a su vez a un Mail Delivery Agent (MDA), que puede
volver a recurrir al SMTP para entregarlo al servidor de correo. Mediante
el IMAP, finalmente, el usuario receptor puede recuperar el mensaje en su
cliente de correo electrónico.
26
X.10. PROTOCOLO TLS:
27
el mensaje se autentica. Si hay una diferencia, indica que algo sobre el
mensaje cambió entre el remitente y el destinatario
X.12. REPORTES:
X.13. LIBRERÍA:
Se emplea el término librería para referirse a una biblioteca, por la similitud con
el original inglés library. Ambos términos, biblioteca y librería, son correctos
según las definiciones de la RAE. Una biblioteca o librería es un Kit de
herramientas software pequeño y autónomo que ofrece una serie de
funcionalidades compiladas y codificadas en un lenguaje de programación las
cuales sirven de unos métodos o interfaces para realizar la funcionalidad que
se requiere. Normalmente se usa junto con otras librerías y herramientas para
28
hacer una aplicación completa, ya que por lo general las bibliotecas no son
ejecutables, pero sí pueden ser usadas por ejecutables que las necesiten para
poder funcionar.
X.15. Plug-in:
En informática, un complemento o plug-in es una aplicación (o programa
informático) que se relaciona con otra para agregarle una función nueva y
generalmente muy específica. Esta aplicación adicional es ejecutada por la
aplicación principal e interactúan por medio de la interfaz de programación de
aplicaciones.
Un Plug-in sirve para que una herramienta adquiera muchas más posibilidades
a base de incorporar más funciones. Cuantos más se instalen en una
plataforma, más facilidades ofrecerá esta para que el usuario que la emplea no
tenga que contar con otros programas para llevar a cabo otras tareas. Otro
objetivo del plugin es hacer más fácil la labor de quien recurre a él. Agiliza el
trabajo y a la vez, puede ofrecer unas cotas de calidad bastante elevadas.
29
X.16. JQuery DataTable:
X.17. MorrisJS:
Morris.js es una biblioteca de gráficos JavaScript basada en el muy competente
raphael.js, Se ha llegado a incluir en muchos proyectos últimamente porque
son realmente simples de implementar y ahora, en la rama maestra, admiten la
capacidad de cambiar el tamaño de la página. Con Morris.js se pueden
implementar dibujos de gráficos de barras, líneas, áreas y también diagramas
circulares. Posee un estilo bastante simple, que podría ir a la perfección con
sitios de estilo minimalista y diseño plano.
X.18. ChartJS:
30
Chart JS es un plugin JavaScript simple, flexible y muy completo para los
diseñadores gráficos y desarrolladores que desean incrustar gráficas en las
páginas Web. Esta es una de las formas más elegantes de incorporar este tipo
de elementos gráficos ya que no requiere JQuery. Para instalar en tu página
Web tan solo es necesario incluir el plugin en la cabecera de tu página.
31
X.20. Input Mask:
En la programación de computadoras, jQuery Input Mask es un complemento
de JavaScript, es un jQuery ligero y fácil de usar que facilita la creación de una
máscara de entrada. Una máscara de entrada ayuda al usuario con la entrada
garantizando un formato predefinido. Esto puede resultar útil para fechas,
números, números de teléfono, etc. jQuery Input Mask también garantiza la
integridad de los datos al evitar errores de transcripción.
XI. METODOLOGIA
32
último que este es un enfoque realista del desarrollo de sistemas y de software
a gran escala
En el caso del desarrollo del sistema se aplican los principios y métodos de la
ingeniería del software. Se utilizará el modelo de desarrollo en espiral.
33
Los objetivos se determinan conjuntamente con el cliente. Al mismo tiempo, se
discuten posibles alternativas y se especifican las condiciones marco (por
ejemplo, sistemas operativos, entornos y lenguajes de programación).
Después de la decisión del proyecto y de la aceptación que nos dio el cliente
para realizar ese proyecto, empezamos a fijar la Misión y visión del proyecto.
Después de tener concreto esos puntos, continuamos a realizar la entrevista al
cliente, esto para ver que requerimientos va tener el proyecto que nuestro
cliente necesita.
XI.5.2. Planificación:
Revelación de requerimientos iniciales o luego de una iteración.
Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos
con las fases siguientes y planificamos la próxima actividad.
34
Decidimos usar el modelo en espiral, esto porque se sujeta a previos
cambios.
Llevamos a cabo el desarrollo del análisis del proyecto
Realizamos actividades de prueba para el proyectó
a. Hardware:
35
Para la realización de este proyecto se hizo uso de las siguientes
herramientas:
1 PC con las siguientes características:
Memoria RAM 4GB
500 GB en Disco Duro
Procesador AMD E1-2100 APU
Velocidad de procesamiento 1.7 GHz
Sistema operativo de 64 bits
b. Software:
Las herramientas software que emplearemos son:
XAMPP
MySQL
PHP 7
Bootstrap 4
Admin LTE
JavaScript
Windows 10 (Sistema Operativo)
JQuery DataTable
MorrisJS
ChartJS
Date Range Picker
Input Mask
Visual Studio Code
SublimeText
36
Información del Proyecto
Empresa / Organización SYSTEMANAGER
Proyecto SYSTEMANAGER
Cliente DUEÑOS DE EMPRESA
Gerente / Líder de
Proyecto
Integrantes del Equipo 1.Carlos Manuel Martínez Chevez.
2.David Guillermo Martínez Solórzano
3.Yelzon Humberto Delgado Blanco
Propósito
SYSTEMANAGER
Referencias
Título del documento Referencia
WebSA (Web Software http://www.dlsi.ua.es/~santi/papers/websatr.pdf
Architecture)
Mantis Bug Tracker https://www.mantisbt.org/
37
1. Administración del sistema.
2. Administración de inventario de productos.
3. Gestión de ventas.
4. Reportes.
Entorno operativo
Este sitio web podrá ser accedido desde cualquier navegador instalado en una
máquina que tenga cualquier sistema operativo (Windows, Linux, Mac, Android,
etc.).
Requerimientos funcionales
1. Administración del sistema
38
1.5 Editar usuario Cambiar información de Administrador
un determinado usuario.
1.6 Eliminar usuario Eliminar un determinado Administrador
usuario.
1.7 Crear roles de Se crearán roles para Administrador
usuario brindar permisos a cada
usuario del sistema.
1.8 Modificar permisos Se agregarán o quitarán Administrador
del usuario especial permisos otorgados al
usuario especial
1.9 Actualizar estado de Guardar cada Sistema
bitácora movimiento o actividad
del negocio en el
sistema, eliminando
primero la primera
entrada si se ha
alcanzado el límite.
1.1 Visualizar el estado Muestra en una vista Administrador
0 de la bitácora todas las entradas de la
bitácora dando la opción
de filtrar las entradas de
un determinado usuario.
39
código del producto para su vendedor
visualización.
3. Gestión de ventas.
4. Reportes.
40
especifico.
4.2 Generar reporte de Se mostrarán las ventas Administrador
ventas por producto. realizadas de un determinado
producto.
4.3 Generar reporte de Se mostrarán las ventas Administrador
venta por vendedor. realizadas por un
determinado vendedor.
Reglas de negocio
Interfaces de usuario
La interfaz con el usuario consistirá en un conjunto de ventanas con botones,
imágenes enlazadas a otras páginas, listas y campos de textos, campos
desplegables como el menú. Ésta deberá ser construida específicamente para
el sistema propuesto y, será visualizada desde un navegador de internet.
Interfaces de hardware
El cliente en este caso el dueño o encargado del negocio deberá contar con un
dispositivo de computo con al menos las siguientes características.
Adaptadores de red.
Procesador de 1.7GHz o superior.
Memoria mínima de 1024 MB.
Mouse.
Teclado
Impresora
Conexión a internet.
Interfaces de software
Sistema Operativo:
Windows 7 o superior.
Explorador: Mozilla o Chrome
Servidor local XAMPP.
Plantilla AdminLTE.
Gestor de bases de datos MySQL
Framework Bootstrap
41
Interfaces de comunicación
Requerimientos no funcionales
10.1 Requisitos de rendimiento
10.2 Seguridad
10.3 Fiabilidad
10.4 Disponibilidad
Otros requerimientos
11.1 Usabilidad
El sistema deberá proveer una interfaz amigable al usuario, que sea fácil
de aprender y de usar. Se pretenda que la navegación entre las distintas
funcionalidades del sistema sea realizada en forma sencilla. Esta
42
interfaz ofrecerá funcionalidades para realizar tareas específicas en
forma automática.
XIV. DIAGRAMAS
XIV.1. Diagrama ER
43
Datos de la empresa: Esta entidad contendrá toda la información necesaria
que define a la empresa ante sus clientes como nombre, RUC y otros. Datos
que serán de ayuda en la facturación y cotización.
Ventas: Guardaremos toda información: datos del cliente, información del
producto y el usuario que ha efectuado la venta. Todo esto por medio de las
relaciones entre las diferentes entidades correspondientes con la información:
(usuario, cliente, producto).
Roles: A través de esta entidad delegaremos permisos a los distintos usuarios
que tendrán uso del sistema, teniendo a si mejor control y seguridad en las
actividades de la empresa. Los atributos de esta entidad están dados en base a
todas las actividades del negocio o empresa que se podrán delegar a los
usuarios.
Categorías: Cada producto pertenecerá a una categoría, lo cual hará más fácil
su búsqueda y se llevará mejor control por medio de esta entidad. Y estará
relacionada con la entidad producto.
Correo: Esta entidad es de suma importancia ya que juega un rol muy
importante para lo que es las cotizaciones y facturas.
Clientes: Por medio de esta entidad guardaremos información primordial de los
clientes. Los atributos de esta entidad serán referidos a información de
identificación del usuario, detalle y frecuencia de sus compras.
Diagrama relacional
Del diagrama entidad relación se realizó el modelo relacional de la base de
datos (Ver Figura No 6), en el que se puede apreciar todas las tablas de la
base de datos catagorias, ventas, productos, usuarios, clientes, perfiles,
configuracioncorreo, datosempresa. Este modelo se diseñó con Mysql
Workbench. El diagrama relacional se exporto al Gestor de Base de datos que
usa el sistema actualmente, Mysql 5.1, con este último paso se terminó el
desarrollo de la base de datos del sistema.
44
Diagrama de casos de usos
45
Con este diagrama se especifica la secuencia de cada actividad del sistema
web de igual forma se identifican las actividades más principales y esenciales
para el correcto funcionamiento de SYSTEMANAGER.
En el diagrama anterior se pueden contemplar los actores principales que
interactuaran con el sistema, cabe mencionar que el más importante es el
administrador, este tiene control y acceso de todo el sistema, así como de
todos los procesos. Se determinó que las actividades principales del sistema
son:
Realizar venta
Control de productos
Gestión de usuarios
Generar reportes
Actualización de bitácora
46
Este diagrama muestra de forma general la comunicación entre los usuarios y
objetos más generales del sistema, y las reacciones del sistema cuando el
usuario ejerza alguna acción. Se observa que los objetos más esenciales para
el sistema son: el inventario, las ventas, datos de cliente y factura. Los usuarios
más importantes son el cliente y el vendedor. En la misma Figura, se refleja el
proceso que ocurre cuando un el cliente pide un producto, el vendedor deberá
verificar si es un cliente nuevo o existente, el sistema deberá proporcionar esta
información, luego el vendedor al verificar la existencia del producto solicitado
procederá a realizar la venta y el sistema generará la factura con los datos
correspondientes.
Diagrama de inventario.
47
El administrador será el único que podrá llevar a cabo este proceso y para eso
tendrá que verificarse como tal en el sistema por seguridad.
Una ves que el administrador se ha verificado podrá buscar en el menú gestión
de inventario y posterior agregar el producto llenando todos los campos
solicitados por el sistema para detalles del producto.
48
Administrador:
Página principal
Esta es la vista principal y en este caso el usuario en sesión es el administrador
el cual tiene accesos y permisos de todo el sistema por ende se mostrarán
todos los reportes de la tienda.
Elementos que serán comunes en la mayoría de las vistas es el menú situado a
la izquierda de la pantalla que solo difiere en los permisos y vistas del usuario
en sesión. En este caso el menú que visualizará el administrador tendrá todos
los módulos del sistema: administración del sistema, administración de
inventario, gestión de venta y reportes de la empresa también hay una barra de
búsqueda que permitirá a todos los usuarios buscar de forma detallada sus
permisos o asignaciones, tanto en el menú como en la barra de navegación se
muestra el usuario en sesión. Hay una barra de navegación principal donde
podemos ver el logotipo de la empresa, así como los catálogos, las ventas e
información del usuario en sesión y permitirá un cierre de sesión del sistema al
usuario.
49
Administración del Sistema:
Dentro del menú del administrador podremos encontrar el primer módulo del
sistema al cual tiene acceso el administrador: Administración del sistema.
Dentro de este módulo podremos encontrar a la vez 5 funcionalidades a las
cual el administrador tiene permisos.
La primera funcionalidad es:
Datos de la empresa:
Esta funcionalidad tiene como objetivo visualizar la información acerca de la
tienda que en ese momento este administrando el sistema SYSTEMANAGER,
50
Dentro de esta vista podremos observar en la parte derecha de la pantalla un
botón DataTable que tiene la función de editar datos de la empresa:
Editar datos de la empresa
Se podrá modificar la información de la tienda cuando sea requerido y una
barra de búsqueda el cual facilitará y agilizará la búsqueda de cualquier
negocio o tienda.
51
Usuarios:
Esta funcionalidad permite al administrador del sistema tener una ágil y fácil
administración de los usuarios en el sistema.
El administrador también puede visualizar y posee el permiso de dar de baja a
un usuario y cambiar de estado es decir si el usuario estará “activo” o “inactivo”
en el sistema, nos presentara también cuando fue la última vez que un usuario
estuvo activo en el sistema.
También cuenta con una barra de búsqueda que facilitara y agilizara la
búsqueda de los usuarios.
52
Dentro de esta misma vista podremos encontrar 2 botones con funcionalidades
importantes:
Arriba a la derecha podremos encontrar el botón de agregar usuarios que
tendrá las siguientes funcionalidades:
Agregar usuario:
Con esta función el administrador tiene el permiso de agregar nuevos usuarios
y recopilar información acerca de los usuarios.
53
Y con el botón de editar que se encuentra a la derecha de la pantalla
tendremos la opción de editar la información del usuario si es requerido.
Editar usuario:
Roles:
Con esta funcionalidad el administrador tiene permisos para administrar todo el
sistema de roles y poder otorgar tareas específicas o prioridades a los roles
que luego los usuarios en el sistema podrán cumplir de acuerdo a su rol
establecido.
también podrá editar permisos relacionados a cierto rol y tendrá la posibilidad
de eliminar el rol que desee.
También cuenta con una barra de búsqueda que facilitara y agilizara la
búsqueda de los roles.
54
Dentro de esta misma vista observamos el botón Agregar Nuevo Rol que le
dará al administrador la opción de agregar un nuevo rol si es necesario.
Se le dará una descripción o nombre de rol y los permisos que se le atribuirán
al usuario.
A continuación, se mostrarán los permisos que el administrador puede otorgar
en cada categoría:
Administración_Sistema
Administración_Inventario
Gestión_Ventas
Reportes
55
Administración_Sistema.
56
Administración_Inventario
Gestión_Ventas.
57
58
Reportes.
59
También esta vista cuenta con un botón de Editar Roles que el usuario
administrador puede usar si es requerido.
Editar Roles:
Modificaremos el nombre del rol y le otorgaremos permisos o le quitaremos
dependiendo del rol que tendrá el usuario.
A continuación, se mostrará la función botón Editar Roles en las siguientes
categorías.
Administración_Sistema
Administración_Inventario
Gestión_Ventas
Reportes
Administración_Sistema.
60
Administración_Inventario
61
Gestión_Ventas
62
Reportes
63
Estado de la bitácora:
Esta funcionalidad como su nombre lo indica permite al administrador del
sistema verificar el estado de la bitácora, el administrador puede acceder a esta
función para saber qué acciones fueron realizadas en el sistema. Estado de la
bitácora también nos muestra en qué fecha se realizó dicha acción y que
usuario la realizó.
64
Esta funcionalidad también está equipada con un combo box en la parte
superior izquierda que nos permite elegir la cantidad de registros que
deseamos ver en la pantalla. Al mismo tiempo que también se nos muestra una
barra de búsqueda en la parte superior derecha que nos permite agilizar la
búsqueda permitiéndonos buscar por fecha y usuario.
Configurar Correo:
Y por último tenemos la funcionalidad Configuración de Correo, con esta
funcionalidad es como el administrador es capaz de la configuración de correo
electrónico. Podemos administrar un correo electrónico que pertenecerán a la
tienda los cuales contarán con su determinado host y puerto.
65
Se nos muestra también un botón en el cual le podremos editar la información
del correo electrónico si es necesario.
66
Administración de Inventario:
Dentro del menú del administrador podremos encontrar el segundo módulo del
sistema al cual tiene acceso el administrador: Administración de Inventario.
Dentro de este módulo podremos encontrar 2 funcionalidades a las cual el
administrador tienes permisos.
La primera funcionalidad que encontramos es:
Categoría:
En esta vista podremos observar que el usuario administrador tendrá la opción
de agregar una nueva categoría de producto, tendrá la opción de editarla si es
necesario y eliminarla.
67
Agregar Nueva Categoría:
Con esta funcionalidad el usuario administrador contará con un botón en la
parte superior izquierda con el cual podrá agregar nuevas categorías de
productos.
Editar Categoría:
En la parte derecha contara con botones DataTable que le permitirán editar el
nombre de la categoría de un producto o eliminar cierta categoría en el caso de
ser necesario.
Editaremos el nombre de la categoría de un producto
68
Productos:
Esta seria la segunda y última funcionalidad de nuestro segundo módulo, con la
cual el administrador tiene los permisos para agregar un nuevo producto,
además de eso tiene muchas más opciones como las que podemos ver a
simple vista como ver el número exacto de productos que se encuentran en el
sistema catalogados por colores: verde, amarillo y rojo y acciones como editar
producto donde el administrador puede agregar una descripción del producto
existente, agregar una imagen del producto, fijar un determinado precio de
venta y asignarle una categoría al producto.
Además, se nos muestra cuando fue agregado el producto y por supuesto la
opción de eliminar un producto si es necesario.
69
A continuación, se mostrará las funcionalidades Agregar Nuevo Producto y
Editar producto de la vista Administración de los productos.
70
Editar Producto:
Como su nombre indica esta funcionalidad permite al usuario administrador
poder editar en cualquier caso necesario luego de que se halla agregado cierto
producto.
71
Gestión de ventas:
Dentro del menú del administrador encontramos el tercer módulo del sistema al
cual tiene acceso el administrador: Gestión de ventas.
Dentro de este módulo podremos encontrar 3 funcionalidades a las cual el
administrador tiene permisos.
La primera funcionalidad que encontramos es:
Ventas:
Esta funcionalidad tiene como objetivo permitirle al usuario administrador
agregar una nueva venta en el sistema SYSTEMANAGER el cual pedirá los
datos de la venta en proceso tal como nombre del vendedor, forma de pago,
importe de pago, importe de vuelto, etc. También nos dará la opción de elegir a
un cliente si ya está registrado en el sistema o crear un nuevo cliente.
Así también el sistema mostrará la fecha de la compra y el administrador
también podrá:
Visualizar venta
Imprimir recibo de pago
Editar venta
Eliminar venta
Hacer histórico de pago
72
A continuación, se mostrará el formulario del botón agregar de la vista venta.
Cuando vamos a crear una nueva venta se nos presenta el siguiente formulario
que tendremos que llenar.
1. A continuación, ingresaremos el nombre del vendedor
2. La fecha en que se hace la venta
3. El cliente que hará la venta, si el cliente es nuevo se agregara
4. Luego se ingresa la fecha de vencimiento
5. Luego fijamos el tiempo de entrega del producto
6. Se pondrá el código del producto en el código de barra para buscarlo
En la parte derecha de la pantalla podremos ver el inventario de los
productos para tener una mejor agilidad y organización a la hora de crear
una venta.
Y por último al final del formulario se seleccionará el tipo de pago que hará el
cliente.
73
Se mostrará un DataTable de imprimir la venta realizada en formato pdf.
74
Editar la venta:
Se muestra el formulario de la función Editar Venta.
Se modificará la venta en caso que el cliente desee cambiar o agregar otro
producto.
Histórico de pago:
En la vista Administración de Ventas se mostrará un DataTable que será el
histórico de pago donde se mostrará el
1. Id de pago
2. Fecha de pago
3. Método de pago
4. Importe de pago
5. Importe de vuelto
Y además contara con un DataTable de imprimir un recibo de pago de la venta
y un DataTable de eliminar el pago de la venta realizada
75
Recibo impreso:
76
Clientes:
Con esta funcionalidad el usuario administrador tiene la potestad de agregar un
nuevo cliente o ya sea poder editar cierta información de este mismo como
nombre, correo, cedula, teléfono, el total de compras que ha hecho, etc.
Igualmente, el usuario administrador puede eliminar a un usuario si es
requerido, también podemos observar dentro de esta funcionalidad una barra
de búsqueda que agiliza en gran medida la búsqueda de usuarios en el
sistema.
77
A continuación, se mostrará el formulario que debe de llenar el usuario
administrador en el botón de agregar un nuevo cliente.
Se ingresará:
1. Nombre de cliente
2. Cedula del cliente
3. Correo del cliente
4. Número telefónico de cliente
5. Dirección del cliente
6. Fecha de nacimiento
78
Editar cliente:
A continuación, se muestra la función editar cliente que le da al usuario
administrador la opción de modificar en caso de que el cliente lo requiera.
Cotizaciones:
Para finalizar con el 3 modulo del menú del administrador nos encontramos con
su última funcionalidad: Cotizaciones.
Esta funcionalidad permite al usuario administrador poder agregar una nueva
cotización de x producto en donde el administrador llenara un formulario con la
debida información acerca de la cotización en cuestión.
En la parte de la derecha podemos observar que se encuentran diferentes
botones DataTable con el cual el administrador podrá:
1. Imprimir cotización
2. Enviar una cotización por correo electrónico
3. Editar una cotización
4. Eliminar cotización
79
Y por último en esta función también tendrá la opción de generar una venta
siempre y cuando la cotización se encuentra vigente.
80
El cual se llenará con la siguiente información:
1. A continuación, se mostrará el nombre del vendedor
2. La fecha en que se hace la venta
3. El cliente que hará la venta, si el cliente es nuevo se agregara
4. Luego se ingresa la fecha de vencimiento
5. Luego fijamos el tiempo de entrega del producto
6. Se pondrá el nombre del cliente a cotizar
7. En la parte derecha de la pantalla se nos mostrara el inventario de los
productos
8. Y se guardara la cotización.
A continuación, se mostrará la función imprimir del DataTable imprimir en la
vista principal.
Imprimir:
Imprimirá la cotización en formato pdf
81
Editar cotización:
Se podrá modificar una cotización en el caso requerido.
82
Reportes de empresa:
Dentro del menú del administrador encontramos el cuarto y último módulo del
sistema al cual tiene acceso el administrador: Reportes de empresa.
Dentro de este módulo podremos encontrar 4 funcionalidades a las cual el
administrador tiene permisos.
La primera funcionalidad que encontramos es:
Ganancias de ventas:
Aquí podremos visualizar las ganancias de las ventas de la empresa por
cantidad y por rango de fecha.
También se podrá imprimir la información de las ganancias de las ventas en un
reporte en Excel.
83
Productos vendidos:
Nos muestra un gráfico de pastel en el cual nos permite visualizar los 10
productos más vendidos de la tienda.
Vendedores:
Con este grafico podremos visualizar los vendedores de la tienda y
visualizamos la cantidad de ganancias que han hecho los vendedores.
84
Compradores:
Con este grafico podremos visualizar a los compradores que han comprado en
la empresa y visualizamos la cantidad de compras que ha hecho cada
comprador.
85
Vendedor:
Página principal de Vendedor.
Esta es la vista principal y en este caso el usuario en sesión es el Vendedor el
cual tiene acceso y permiso solo a Gestión de Ventas en el sistema
SYSTEMANAGER.
Elementos que serán comunes en esta vista es el menú situado a la izquierda
de la pantalla que solo difiere en los permisos y vistas del usuario en sesión. En
este caso el menú que visualizará el Vendedor tendrá acceso solo a gestión de
venta. También hay una barra de búsqueda que permitirá a todos los usuarios
buscar de forma detallada sus permisos o asignaciones, tanto en el menú como
en la barra de navegación se muestra el usuario en sesión. Hay una barra de
navegación principal donde podemos ver el logotipo de la empresa, así como
los catálogos, las ventas e información del usuario en sesión y permitirá un
cierre de sesión del sistema al usuario.
86
Gestión de Ventas:
Dentro del menú del Vendedor encontramos el único modulo al cual se le
permite tener acceso al vendedor, Gestión de Ventas.
Este módulo cuenta con 3 funcionalidades a las cuales el Vendedor tiene
permiso.
La primera funcionalidad es:
Ventas:
Esta funcionalidad tiene como objetivo permitirle al usuario Vendedor agregar
una nueva venta en el sistema SYSTEMANAGER el cual pedirá los datos de la
venta en proceso tal como nombre del vendedor, forma de pago, importe de
pago, importe de vuelto, etc. También nos dará la opción de elegir a un cliente
si ya está registrado en el sistema o crear un nuevo cliente.
Así también el sistema mostrará la fecha de la compra.
En este módulo el usuario Vendedor solo tiene permiso de imprimir la venta.
87
A continuación, se mostrará el formulario del botón agregar de la vista venta.
Cuando vamos a crear una nueva venta se nos presenta el siguiente formulario
que tendremos que llenar.
9. A continuación, ingresaremos el nombre del vendedor
10. La fecha en que se hace la venta
11. El cliente que hará la venta, si el cliente es nuevo se agregara
12. Luego se ingresa la fecha de vencimiento
13. Luego fijamos el tiempo de entrega del producto
14. Se pondrá el código del producto en el código de barra para buscarlo
En la parte derecha de la pantalla podremos ver el inventario de los
productos para tener una mejor agilidad y organización a la hora de crear
una venta.
88
Y por último al final del formulario se seleccionará el tipo de pago que hará el
cliente.
89
Clientes:
Con esta funcionalidad el usuario Vendedor puede agregar un nuevo cliente o
ya sea poder editar cierta información de este mismo como nombre, correo,
cedula, teléfono, el total de compras que ha hecho, etc.
Igualmente, el usuario Vendedor puede eliminar a un usuario si es requerido,
también podemos observar dentro de esta funcionalidad una barra de
búsqueda que agiliza en gran medida la búsqueda de usuarios en el sistema.
90
A continuación, se mostrará el formulario que debe de llenar el usuario
Vendedor en el botón de agregar un nuevo cliente.
Se ingresará:
1. Nombre de cliente
2. Cedula del cliente
3. Correo del cliente
4. Número telefónico de cliente
5. Dirección del cliente
6. Fecha de nacimiento
91
Editar cliente:
A continuación, se muestra la función editar cliente que le da al usuario
Vendedor la opción de modificar en caso de que el cliente lo requiera.
92
Cotizaciones:
Para finalizar el modulo del menú de Vendedor nos encontramos con su última
funcionalidad: Cotizaciones.
Esta funcionalidad permite al usuario Vendedor poder agregar una nueva
cotización de x producto en donde el administrador llenara un formulario con la
debida información acerca de la cotización en cuestión.
En la parte de la derecha podemos observar que se encuentran diferentes
botones DataTable con el cual el administrador podrá:
1. Imprimir cotización
2. Enviar una cotización por correo electrónico
3. Editar una cotización
4. Eliminar cotización
Y por último en esta función también tendrá la opción de generar una venta
siempre y cuando la cotización se encuentra vigente.
93
A continuación, se mostrará el botón de agregar una nueva cotización.
94
A continuación, se mostrará la función imprimir del DataTable imprimir en la
vista principal.
Imprimir:
Imprimirá la cotización en formato pdf.
95
Editar cotización:
Se podrá modificar una cotización en el caso requerido.
96
1.Se generará una venta cuando la cotización este vigente.
XV. CONCLUSIONES
XVI. RECOMENDACIONES
97
Bibliografía
98
Leydi Roxana Velásquez, C. A. (2014). Systema de inventario y facturacion de la
tienda de accesorios de computadoras y celulares ''Decosys'' . Estelí,
Nicaragua.
PHP.net. (2001-2020). ¿Que puede hacer PHP? Obtenido de PHP.net:
https://www.php.net/manual/es/intro-whatcando.php
XVII. Anexos
XVII.1. CRONOGRAMA:
Semanas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25
Decidimos, qué proyecto íbamos a elegir.
DETERMINAR O
FIJAR OBJETIVOS
Para donde y para quien lo vamos a realizar.
99
XVII.2. GLOSARIO DE TERMINOS:
Glosario
100
Permiso: Parámetro que especifica si su poseedor dispone de acceso a
una determinada función del sistema o a una parte de la interfaz de
usuario del sistema
Rol: Es un conjunto de permisos que puede asignarse a un usuario.
Administrador del Sistema: Persona encargada de ofrecer el soporte
técnico y operativo al SIS-WEB.
Pruebas: Proceso mediante el cual se realizan actividades para verificar
la óptima función del sistema.
101