MANUAL TÉCNICO DEL PROYECTO DISEÑO, DESARROLLO E
Transcript of MANUAL TÉCNICO DEL PROYECTO DISEÑO, DESARROLLO E
MANUAL TÉCNICO DEL PROYECTO “DISEÑO, DESARROLLO E
IMPLEMENTACIÓN DE UN APLICATIVO WEB PARA LA OPTIMIZACIÓN DE
LOS PROCESOS ADMINISTRATIVOS EN LA CASA DE REPOSO SAN JOSÉ DE
LA CIUDAD DE GIRARDOT”
GERALDINE CHAVEZ ARROYO
JUAN FELIPE MONTAÑA PERDOMO
UNIVERSIDAD PILOTO DE COLOMBIA
SECCIONAL ALTO MAGDALENA
FACULTAD DE INGENIERÍA
PROGRAMA ING. SISTEMAS
GIRARDOT
2020
Hoja de control de modificaciones
Título
Diseño, desarrollo e implementación de un aplicativo web para la
optimización de los procesos administrativos en la casa de reposo
San José de la ciudad de Girardot
Versión 1.0
Autores Geraldine Chavez Arroyo - Juan Felipe Montaña Perdomo
Fecha 29 mayo de 2020
Control de versiones
Versión Descripción Fecha de presentación
1.0 Documento inicial 29 mayo de 2020
Tabla de contenido
1. Objetivo 6
2. Descripción General del Software 6
3. Requerimientos Técnicos del Sistema 7
4. Instalación y Configuración 8
5. Arquitectura del Software 11
6. Estándares de Diseño Del Software 12
6.2. Denominación de Los Campos 13
6.3. Denominación de Los Controladores 14
6.4. Denominación de Las Funciones 15
7. Modelo Entidad Relación 16
8. Diccionario de Datos 17
9. Generación de Copias de Seguridad 31
10. Restauración de Copias de Seguridad 32
11. Diagrama de casos de uso 33
12. Usuarios del Sistema 40
13. Restricciones del Sistema 40
14. Seguridad del Sistema 41
15. Recomendaciones Generales 42
Lista de Tablas
Tabla 1. Denominación de tablas. 12
Tabla 2. Denominación de los controladores. 14
Tabla 3. Denominación de las funciones. 15
Tabla 4. Tabla sj_medidas. 17
Tabla 5. Tabla sj_categorias. 17
Tabla 6. Tabla sj_productos. 18
Tabla 7. Tabla sj_saldo_productos. 19
Tabla 8. Tabla sj_entradas. 19
Tabla 9. Tabla sj_entprods. 20
Tabla 10. Tabla sj_salidas. 21
Tabla 11. Tabla sj_users. 22
Tabla 12. Tabla sj_tipsalds. 23
Tabla 13. Tabla sj_salprods. 23
Tabla 14. Tabla sj_cocinas. 24
Tabla 15. Tabla roles. 24
Tabla 16. Tabla role_user. 25
Tabla 17. Tabla permission_role. 25
Tabla 18. Tabla permissions. 26
Tabla 19. Tabla sj_saldo_modulo. 27
Tabla 20.Tabla sj_auds. 27
Tabla 21. Tabla sj_acudientes. 28
Tabla 22. Tabla sj_adumays. 29
Tabla 23. Tabla sj_visitantes. 30
Tabla 24. Descripción del caso de uso inicio de sesión. 34
Tabla 25. Descripción del caso de uso gestión de inventarios. 35
Tabla 26. Descripción del caso de uso gestión de productos. 36
Tabla 27. Descripción del caso de uso gestión de medidas y categorías. 36
Tabla 28. Descripción del caso de uso gestión de visitantes. 37
Tabla 29. Descripción del caso de uso gestión de adultos. 37
Tabla 30. Descripción del caso de uso gestión de acudientes. 38
Tabla 31. Descripción del caso de uso gestión de consultas y reportes. 39
Tabla 32. Descripción del caso de uso gestión de usuarios. 39
Tabla 33. Descripción del caso de uso gestión de roles y permisos. 40
Lista de Ilustraciones
Ilustración 1. Árbol de directorios. 8
Ilustración 2. Comando para instalar dependencias. 9
Ilustración 3. Configuración ".htaccess". 9
Ilustración 4. Comando para reiniciar el apache. 10
Ilustración 5. Comando para generar key. 10
Ilustración 6. Arquitectura MVC. 11
Ilustración 7. Modelo entidad relación. 16
Ilustración 8. Generación de copias de seguridad. 32
Ilustración 9. Ruta de archivo de seguridad. 33
Ilustración 10. Comando de restauración. 33
Ilustración 11. Diagrama de casos de uso. 34
Ilustración 12. Sección de seguridad del modelo entidad relación. 41
6
1. Objetivo
El presente manual tiene como propósito brindar a los usuarios administradores del
sistema, un conocimiento técnico y avanzado sobre la arquitectura, componentes y
características internas del software; además de esto, proporciona información y
especificaciones necesarias para la operación y mantenimiento del mismo.
2. Descripción General del Software
El aplicativo web integra y gestiona procesos de determinados módulos del área
administrativa de la casa de reposo San José ubicada en la ciudad de Girardot. El
principal objetivo del sistema es optimizar los procesos de gestión y control de
inventarios, registro de adultos mayores alojados y el registro de visitantes, de tal
manera que, contribuya al favorecimiento de la accesibilidad a la información.
7
3. Requerimientos Técnicos del Sistema
I. Requerimientos de Ambiente de Desarrollo
Hardware
● Procesador: Intel® Core™ i3-3110M CPU @ 2.40GHz × 4
● RAM: 2 GB / 4 GB
● Disco Duro: 500,1 GB / 1TB
Software
● Base de datos MySQL 14.14
● Lenguaje PHP 7.3.12
● Servidor Apache 2.4.41
II. Requerimientos de Ambiente de Implementación
Hardware
● Procesador: Intel® Core™ i3-3110M CPU @ 2.40GHz × 4
● RAM: 2 GB / 4 GB
● Disco Duro: 500,1 GB / 1TB
Software
● Base de datos MySQL 14.14
● Lenguaje PHP 7.3.12
● Servidor Apache 2.4.41
III. Otros Requerimientos
● Servicio a internet o red de área local.
● Hardware de acuerdo a las necesidades de Implementación del usuario.
8
4. Instalación y Configuración
Requisitos Generales Pre-instalación
● Servidor web con soporte de reescritura de URL (Apache, Nginx, Cherokee,
Lighttpd, Internet Information Server (IIS)). Configurado en el dispositivo que
se usará para alojar el aplicativo. Las especificaciones técnicas del
dispositivo pueden variar dependiendo la elección de la entidad, siempre y
cuando cumplan los requerimientos mínimos mencionados previamente.
● Intérprete PHP versión 5.4 o superior.
● Sistema de gestión de bases de datos Mysql.
Instalación
● Para instalar el aplicativo, debe tener el código fuente del aplicativo en un
archivo comprimido.
● A continuación, se descomprime su contenido en el directorio raíz del
servidor web (normalmente “/var/www/html/”). Se asume que se ha
descomprimido el paquete en este directorio y que se tiene esta estructura de
directorios.
Ilustración 1. Árbol de directorios.
9
Instalación dependencias del proyecto.
Para la instalación de las dependencias del proyecto se usará composer de la
siguiente manera. En la raíz del proyecto (la carpeta “casaReposo/”) se ejecutará el
siguiente comando.
Ilustración 2. Comando para instalar dependencias.
Este comando iniciará a leer todas las dependencias del proyecto declaradas en el
archivo “package.json” y las instalará.
Configuración Servidor Web Apache.
En la raíz del proyecto se debe encontrar el archivo “.htaccess” (de no ser así, este
debe ser creado). En este archivo debe encontrarse la configuración básica del
servidor apache para el aplicativo. Debe lucir de la siguiente manera:
Ilustración 3. Configuración ".htaccess".
10
Finalmente, se debe reiniciar el apache para que los cambios tengan efecto.
Ilustración 4. Comando para reiniciar el apache.
Configuración del Aplicativo.
Los archivos de configuración de Laravel se encuentran en un directorio llamado
“config”, dentro del directorio root de la aplicación. Además, un archivo “.env” se
utiliza para establecer una configuración dependiente del entorno, como las
credenciales y cualquier información que pueda variar entre las implementaciones.
Entre los datos que se solicita en el archivo “.env” se encuentra una variable
llamada “APP_KEY”, la cual se debe generar y escribir en este archivo. Es posible
generarlo ejecutando el siguiente comando.
Ilustración 5. Comando para generar key.
Después de esto, se debe terminar de diligenciar los datos de acceso en el archivo
“.env”.
Por último, dirigirse al navegador web y acceder al nombre de dominio o dirección IP
de su servidor en el puerto 8000.
Nota: En el caso de que se esté ejecutando esta demo en un equipo local, utilice
“https://localhost:8000” para acceder a la aplicación desde su navegador.
11
5. Arquitectura del Software
La arquitectura de software utilizada en el desarrollo del aplicativo es M.V.C. (Model
View Controller), modelo vista controlador utilizando el lenguaje PHP y
principalmente el framework laravel.
La interacción con el cliente se presenta en el siguiente gráfico:
Ilustración 6. Arquitectura MVC.
Fuente: programaenlinea.net
Las principales características de esta arquitectura de software son:
● Independencia de la lógica de FrontEnd (Vista) con el Backend (Controlador).
● Estandarización en la asignación (SET’s) y la obtención (GET’s) de datos por
medio del modelo.
● Identificación efectiva y eficaz de bugs (Responsabilidad única).
12
6. Estándares de Diseño Del Software
Cada uno de los componentes del programa y de la base de datos tiene estándares
establecidos tanto para la descripción de su nombre como para su configuración
interna. Entre ellas podemos mencionar:
6.1. Denominación de Tablas
Las tablas del aplicativo cuentan con las siguientes características:
Tabla 1. Denominación de tablas.
Nombre Descripción
xxxx## Está conformado por dos iniciales del aplicativo al que
pertenece y del nombre del módulo o sección.
En el diccionario de datos se encuentran especificados los nombres de cada tabla
con su respectiva descripción.
13
6.2. Denominación de Los Campos
Para la designación de los campos de cada una de las tablas se tomaron en cuenta
los siguientes estándares:
I. Todos y cada uno de los nombres de los campos compuestos de las tablas
están conformados por caracteres múltiplos de tres, de los cuales unos
pertenecen a las iniciales de la primera palabra que lo conforma y los
siguientes a las iniciales de la segunda palabra que lo conforma, ejemplo:
● numdoc: Número de documento
II. Los nombres de los campos conformados por una sola palabra corta se dejan
de la misma manera, ejemplo:
● usuario: usuario
14
6.3. Denominación de Los Controladores
Para el nombramiento de los controladores del sistema se tuvieron en cuenta los
siguientes estándares:
Tabla 2. Denominación de los controladores.
Nombre Descripción
xxxx##.php
Está conformado por dos iniciales del aplicativo
y el nombre de la tabla que representa, lo que
facilita la relación de las mismas.
sj_categorias.php
Está conformado por dos iniciales del aplicativo
y el nombre de la tabla que representa. Este
controlador define y gestiona las categorías.
15
6.4. Denominación de Las Funciones
Para el nombramiento de las funciones se consideraron los siguientes estándares:
Tabla 3. Denominación de las funciones.
Nombre Descripción
clave() Los nombres de las funciones conformadas por una sola
palabra corta se dejan de la misma manera.
showTable()
Los nombres de las funciones conformadas por más de
una palabra, se aplica el estilo de escritura Lower Camel
Case; la primera letra de la primera palabra es minúscula
y, la primera letra de cada una de las palabras restantes
es mayúscula.
16
7. Modelo Entidad Relación
Ilustración 7. Modelo entidad relación.
Para ver el diagrama completo, dirigirse al siguiente enlace: https://bit.ly/3jp1As7
17
8. Diccionario de Datos
Tabla 4. Tabla sj_medidas.
Tabla: sj_medidas
Columna Tipo de
Dato
Pk Fk NN Descripción
codmed Bigint(20) ✔ ✔ Código de medida
detalle Varchar(255) ✔ Detalle
created_at Timestamp Fecha de ingreso
updated_at Timestamp Fecha de actualización
Tabla 5. Tabla sj_categorias.
Tabla: sj_categorias
Columna Tipo de
Dato
Pk Fk NN Descripción
codcat Bigint(20) ✔ ✔ Código de categoría
detalle Varchar(255) ✔ Detalle
created_at Timestamp Fecha de ingreso
18
updated_at Timestamp Fecha de actualización
Tabla 6. Tabla sj_productos.
Tabla: sj_producto
Columna Tipo de
Dato
Pk Fk NN Descripción
id_prod Bigint(20) ✔ ✔ Id del producto
detalle Varchar(255) ✔ Detalle
stock_min Int(11) ✔ Stock mínimo
stock_max Int(11) ✔ Stock máximo
created_at Timestamp ✔ Fecha de ingreso
updated_at Timestamp Fecha de actualización
valmon Int(11) Valor monetario
codcat Bigint(20) ✔ ✔ Categoría del producto
codmed Bigint(20) ✔ ✔ Medida del producto
stock_actual Int(11) Stock actual
19
Tabla 7. Tabla sj_saldo_productos.
Tabla: sj_saldo_productos
Columna Tipo de
Dato
Pk Fk NN Descripción
id_prod Bigint(20) ✔ ✔ ✔ Id del producto
stock_actual Int(11) ✔ Stock actual
Tabla 8. Tabla sj_entradas.
Tabla: sj_entradas
Columna Tipo de
Dato
Pk Fk NN Descripción
codent Bigint(20) ✔ ✔ Código de entrada
prinom Varchar(20) Primer nombre
segnom Varchar(20) Segundo nombre
priape Varchar(20) Primer Apellido
segape Varchar(20) Segundo Apellido
20
email Char(30) Correo electrónico
telefono Char(14) Teléfono
fecent Date ✔ Fecha de entrada
tipo Enum(‘D’,’C’
)
Tipo de entrada
Tabla 9. Tabla sj_entprods.
Tabla: sj_entprods
Columna Tipo de
Dato
Pk Fk NN Descripción
id_prod Bigint(20) ✔ ✔ ✔ Código del producto
codent Bigint(20) ✔ ✔ ✔ Código de entrada
cantidad Int(11) ✔ Cantidad
fecven Date Fecha de vencimiento
valmon Int(11) ✔ Valor monetario
codmed BIGINT(20) ✔ ✔ Código medida
21
created_at Timestamp Fecha de ingreso
updated_at Timestamp Fecha de actualización
Tabla 10. Tabla sj_salidas.
Tabla: sj_salidas
Columna Tipo de
Dato
Pk Fk NN Descripción
codsal Bigint(20) ✔ ✔ Id del producto
fecsal Date ✔ Detalle
motivo Char(50) Stock mínimo
bodega Enum(‘C’,’G’
)
Stock máximo
boddest Enum(‘C’,’G’
)
Fecha de ingreso
id_tipsal Bigint(20) ✔ Fecha de actualización
22
Tabla 11. Tabla sj_users.
Tabla: sj_users
Columna Tipo de
Dato
Pk Fk NN Descripción
id Bigint(20) ✔ ✔ Id de usuario
name Bigint(20) ✔ Nombre del usuario
email Int(11) ✔ Correo electrónico
email_verified_at TIMESTAMP Fecha de verificación
password Varchar(255) ✔ Contraseña
estado Char(1) ✔ Estado
remember_token Varchar(100) Token de recuperación
created_at Timestamp Fecha de ingreso
updated_at Timestamp Fecha de actualización
23
Tabla 12. Tabla sj_tipsalds.
Tabla: sj_tipsalds
Columna Tipo de
Dato
Pk Fk NN Descripción
id_tipsal Bigint(20) ✔ ✔
detalle Text ✔
Tabla 13. Tabla sj_salprods.
Tabla: sj_salprods
Columna Tipo de
Dato
Pk Fk NN Descripción
codsal Bigint(20) ✔ ✔ Código Salida
id_prod Bigint(20) ✔ ✔ Id de Producto
cantidad Int(11) ✔ Cantidad
codmed Bigint(20) ✔ ✔ Código de Medida
24
Tabla 14. Tabla sj_cocinas.
Tabla: sj_cocinas
Columna Tipo de
Dato
Pk Fk NN Descripción
id_prod Bigint(20) ✔ ✔ ✔ Id de Producto
stock_actual Int(11) ✔ Stock Actual
Tabla 15. Tabla roles.
Tabla: roles
Columna Tipo de
Dato
Pk Fk NN Descripción
id Bigint(20) ✔ ✔ Id rol
name Varchar(255) ✔ Nombre
slug Varchar(255) ✔ Slug, identificador
descripcion Text ✔ Descripción
25
fulacc Enum(‘S’,’N’) ✔ Ful Acceso
created_at Timestamp Fecha de ingreso
updated_at Timestamp Fecha de actualización
Tabla 16. Tabla role_user.
Tabla: role_user
Columna Tipo de
Dato
Pk Fk NN Descripción
id Bigint(20) ✔ ✔ Id rol usuario
role_id Bigint(20) ✔ ✔ Id de rol
user_id Bigint(20) ✔ ✔ Id de usuario
created_at Timestamp Fecha de ingreso
updated_at Timestamp Fecha de actualización
Tabla 17. Tabla permission_role.
Tabla: permission_role
Columna Tipo de
Dato
Pk Fk NN Descripción
26
id Bigint(20) ✔ ✔ Id permiso rol
role_id Varchar(255) ✔ ✔ Id de rol
permission_id Varchar(255) ✔ ✔ id de permisos
created_at Timestamp Fecha de ingreso
updated_at Timestamp Fecha de actualización
Tabla 18. Tabla permissions.
Tabla: permissions
Columna Tipo de
Dato
Pk Fk NN Descripción
id Bigint(20) ✔ ✔ Id de permisos
name Varchar(255) ✔ ✔ Nombre
slug Varchar(255) ✔ ✔ Slug, identificador
descripcion Text Descripción
id_mod Bigint(20) id de Módulo
created_at Timestamp Fecha de ingreso
27
updated_at Timestamp Fecha de actualización
Tabla 19. Tabla sj_saldo_modulo.
Tabla: sj_saldo_modulo
Columna Tipo de
Dato
Pk Fk NN Descripción
id Bigint(20) ✔ ✔ Id del modulo
detalle Char(35) ✔ Detalle
Tabla 20.Tabla sj_auds.
Tabla: sj_auds
Columna Tipo de
Dato
Pk Fk NN Descripción
id Bigint(20) ✔ ✔ Id del Auditoria
28
detalle Varchar(80) ✔ Detalle
ip Char(50) ✔ Ip Usuarios
user_id Bigint(20) ✔ ✔ Id usuario
fecha Date ✔ Fecha registro
hora Time ✔ Hora registro
Tabla 21. Tabla sj_acudientes.
Tabla: sj_acudientes
Columna Tipo de
Dato
Pk Fk NN Descripción
id_acu Bigint(20) ✔ ✔ Id del Acudiente
prinom Varchar(20) ✔ Primer Nombre
tipdoc Char(50) ✔ Tipo Documento
coddoc Char(15) ✔ Código de Documento
priape Varchar(20) ✔ Pimer Apellido
29
celular Char(12) Celular
telefono Char(12) Telefono
email Char(30) Email
direccion Varchar(45) Direccion
fecnac_acu Date Fecha de nacimiento
segnom Varchar(20) Segundo Nombre
segape Varchar(20) Segundo Apellido
Tabla 22. Tabla sj_adumays.
Tabla: sj_adumays
Columna Tipo de
Dato
Pk Fk NN Descripción
id_adumay Bigint(20) ✔ ✔ Id del Adulto Mayor
id_acu Bigint(20) ✔ ✔ Id_acudiente
prinom Varchar(20) ✔ Primer Nombre
tipdoc Char(50) ✔ Tipo Documento
30
numdoc Char(15) ✔ Número de
Documento
priape Varchar(20) ✔ Pimer Apellido
estado Char(1) ✔ Estado
fecnac_acu Date Fecha de nacimiento
segnom Varchar(20) Segundo Nombre
segape Varchar(20) Segundo Apellido
fecing Date ✔ Fecha de Ingreso
alergias Varchar(90) Alergias
enfermedades Varchar(90) ✔ Enfermedades
Tabla 23. Tabla sj_visitantes.
Tabla: sj_visitantes
Columna Tipo de
Dato
Pk Fk NN Descripción
id_visitante Bigint(20) ✔ ✔ Id del visitante
31
nombre Varchar(20) ✔ Nombre
apellido Varchar(20) ✔ Apellido
organizacion Varchar(20) Organizacion
motivo Varchar(20) Motivo visita
horing Time ✔ Hora de Ingreso
horsal Time ✔ Hora Salida
fecha Date ✔ Fecha
9. Generación de Copias de Seguridad
En caso de ser necesario en algún estado del aplicativo, generar una copia de seguridad
con toda la información allí almacenada se deben seguir lo siguientes pasos:
En el servidor en el cual se encuentra ejecutando el servicio Mysql, ejecute el
siguiente comando:
32
Ilustración 8. Generación de copias de seguridad.
Este comando va a generar un archivo .sql con el nombre que se le asignó, en el archivo se
encontrará el respaldo de toda la información contenida en las tablas de la base de datos (la
ubicación del archivo será la misma ubicación en la cual se ejecutó el comando).
10. Restauración de Copias de Seguridad
En caso de que se presente algún incidente que afecte la información contenida en
el aplicativo, siga las siguientes instrucciones para restaurar la última copia de
seguridad generada.
33
● Ubique la copia de seguridad en el servidor en el cual se encuentra el motor
de base de datos y ejecute los siguientes comandos.
Diríjase a la ruta en la cual se encuentra el archivo de copia de seguridad.
Ilustración 9. Ruta de archivo de seguridad.
Para el siguiente paso necesita tener conocimiento del nombre de la base de
datos y en caso de que no exista se debe crear, el nombre por defecto de la base de
datos es (casa_reposo).
Este comando lo que hará será cargar el DUMP a la base de datos, dando por
concluido el proceso de restauración.
Ilustración 10. Comando de restauración.
11. Diagrama de casos de uso
34
Ilustración 11. Diagrama de casos de uso.
Para ver el diagrama completo, dirigirse al siguiente enlance: https://bit.ly/35smsJO
Tabla 24. Descripción del caso de uso inicio de sesión.
Caso de Uso: Inicio de Sesión
35
Actores: Personal encargado, asistente
administrativo, director administrativo
Descripción: ● Cada uno de los actores debe
hacer uso del login del sistema,
el cual les va a permitir ingresar
al aplicativo y realizar los
procesos que se requieran.
Tabla 25. Descripción del caso de uso gestión de inventarios.
Caso de Uso: Gestión de Inventarios
Actores: Directora, asistente administrativo y
encargada de área.
Descripción: ● La directora y el asistente
administrativo son los
encargados de realizar la gestión
de inventarios y registro de
adultos mayores.
● La persona encargada del área,
efectúa las salidas de la bodega
principal de los productos
necesitados en cada área.
● La parametrización de tipos de
36
salida lo puede realizar cada uno
de los roles, dependiendo de
quién lo tenga asignado o lo
requiera.
Tabla 26. Descripción del caso de uso gestión de productos.
Caso de Uso: Gestión de Productos
Actores: Directora, asistente administrativo y
encargada de área.
Descripción: ● El registro, edición y eliminación
de productos lo podrán realizar
los tres actores en cuestión.
Tabla 27. Descripción del caso de uso gestión de medidas y categorías.
Caso de Uso: Gestión de Medidas y Categorías
Actores: Directora, asistente administrativo y
37
encargada de área.
Descripción: ● Estas forman parte de la
parametrización básica inicial del
aplicativo y los tres actores
pueden hacerla conjuntamente,
comprendiendo cómo se
comporta el aplicativo con estas
dos variables.
Tabla 28. Descripción del caso de uso gestión de visitantes.
Caso de Uso: Gestión de Visitantes
Actores: Directora, asistente administrativo.
Descripción: ● La directora y el Asistente
administrativo deben realizar la
gestión de visitantes, entiéndase
por gestión el registro y
actualización en caso de ser
necesaria de los datos de cada
visitante.
Tabla 29. Descripción del caso de uso gestión de adultos.
Caso de Uso: Gestión de Adultos
38
Actores: Directora, asistente administrativo.
Descripción: ● La directora y el Asistente
administrativo deben realizar la
gestión de adultos, entiéndase
por gestión el registro y
actualización en caso de ser
necesaria de los datos de cada
adulto inscrito.
Tabla 30. Descripción del caso de uso gestión de acudientes.
Caso de Uso: Gestión de Acudientes
Actores: Directora, asistente administrativo.
Descripción: ● La directora y el Asistente
administrativo deben realizar la
gestión de acudientes,
entiéndase por gestión el registro
y actualización en caso de ser
necesaria de los datos de cada
acudiente.
39
Tabla 31. Descripción del caso de uso gestión de consultas y reportes.
Caso de Uso: Gestión de Consultas y Reportes
Actores: Directora, asistente administrativo.
Descripción: ● La directora y el Asistente
administrativo podrán consultar y
generar los reportes que
requieran sobre inventarios
(bodega principal y cocina),
entradas y salidas de productos y
visitantes que hayan ingresado a
la casa de reposo.
Tabla 32. Descripción del caso de uso gestión de usuarios.
Caso de Uso: Gestión de Usuarios
Actores: Directora.
Descripción: ● Solamente la directora deberá
tener los privilegios suficientes
para crear y modificar
información de los usuarios del
sistema.
40
Tabla 33. Descripción del caso de uso gestión de roles y permisos.
Caso de Uso: Gestión de Roles y Permisos
Actores: Directora.
Descripción: ● La directora se encargará de
asignar o desasignar los
permisos que ella considere a los
distintos roles del aplicativo, los
cuales ella también puede crear y
editar como crea conveniente.
12. Usuarios del Sistema
El usuario administrador del software podrá crear tantos usuarios y roles como
considere necesarios, asignando a los usuarios permisos para acceder, modificar y
eliminar datos en las diferentes opciones del sistema.
Privilegios dentro de la aplicación: Todos
13. Restricciones del Sistema
En el marco de las restricciones del sistema se tiene en cuenta los siguientes temas:
● El aplicativo funciona totalmente en navegadores como Chrome, Firefox y
Opera. Pero se presentan algunos conflictos con Internet Explorer por lo cual
se recomienda NO USAR Internet Explorer.
41
14. Seguridad del Sistema
Ilustración 12. Sección de seguridad del modelo entidad relación.
La seguridad de los módulos del sistema se administra a través de permisos y
privilegios a los roles de la siguiente manera:
En las 7 (siete) tablas anteriormente mostradas, se realiza el control y manejo de
permisos, roles y usuarios del aplicativo, siendo esto, parte importante de la
seguridad del aplicativo. Como podemos evidenciar en el diagrama, se manejan los
permisos asignándolos a un rol, lo cual quiere decir que, cada usuario que se
registre en el aplicativo debe tener un rol asignado para el correcto funcionamiento
del software.
42
Respecto a la creación, edición y eliminación de roles, se creó en el aplicativo una
captura básica, dese la cual el usuario (solamente con rol administrador) podrá crear
cuantos roles necesite para el control de usuarios dentro de su organización. Cada
uno de los roles creados, tendrá la posibilidad de asignar y desasignar los permisos
con los que cuenta cada módulo (entiéndase por modulo productos, medidas,
categorías, inventarios, consultas, entre otros módulos de la aplicación). De esta
manera, se satisface la seguridad del aplicativo respecto al manejo de roles y
permisos.
Otro aspecto importante que se maneja en el aplicativo es la tabla “sj_auds”, esta
contara con un registro por cada movimiento (entiéndase por movimiento a cualquier
proceso, inserción, eliminación o edición de información) que se haga en el
aplicativo, e información relevante como; usuario que lo realizó, dirección IP desde
la cual lo realizó, fecha, hora, entre otros.
15. Recomendaciones Generales
Las recomendaciones generales para el uso adecuado de uno o varios aplicativos
de son:
● No alterar procesos y/o procedimientos si no se está seguro del
funcionamiento del mismo.
● No modificar la estructura de la base de datos si no se está seguro de que no
ocasionará pérdidas e inconsistencias de la información.
● En caso de realizar mantenimiento, hacerlo antes del inicio de labores, de tal
manera que, no afecte el correcto funcionamiento.