Tomo
Tomo
PRESENTADO POR:
RECTOR:
SECRETARIO GENERAL:
DECANO:
SECRETARIO:
DIRECTOR:
Título :
Docente Asesor:
ING. BLADIMIR DIAZ CAMPOS
Docente Asesor:
Por los innumerables sacrificios que hicieron para darme esta oportunidad. Por su amor
incondicional e infinito. Por cada consejo, por cada castigo, por cada abrazo, por cada beso, por
todas sus noches de desvelo, y por cada tarde de cansancio. Por amarme incluso antes de haber
nacido. Gracias.
Por darme los mejores padres que pude haber tenido. Por cada sorbete que me compraron, por cada
arroz en leche que me prepararon, por los “cuetes” que cada navidad reventábamos, por cada
historia que me contaron. Por amarme como a un hijo propio. Gracias.
Gracias a ambos.
Por nunca haber dudado de mí, y por darme tanto pero tanto amor. Gracias.
Gracias a mis padres Cesar Cerna y Martha Méndez por darme su apoyo incondicional, por
brindarme todo lo necesario, por siempre estar cuando los he necesitado, por comprenderme cuando
fallaba, animarme a nunca rendirme y especialmente por creer en mí siempre, sin ustedes no lo
habría logrado.
Gracias a mis familiares que siempre me apoyaron, que me dieron siempre sus palabras de apoyo
para no rendirme ante las adversidades, por sus consejos y por decir que soy un orgullo para ellos
y un ejemplo para los más pequeños de la familia.
Gracias a mis amigos y compañeros Roberto Castro, Fátima Guevara, Josselyn Solano, Edwin
Dimas y Kevin Chicas por siempre apoyarme, darme palabras de aliento, por compartir sus
conocimientos conmigo y tener paciencia para explicarme, por confiar en mi para trabajar los
proyectos de las diferentes materias, por siempre estar ahí en los momentos difíciles, pero también
por compartir conmigo momentos alegres porque los momentos más felices de mi tiempo en la
universidad los compartí con ustedes.
Gracias al docente asesor Ing. Bladimir Díaz por compartir sus conocimientos, por ser paciente
con nosotros, siempre tener tiempo para responder nuestras dudas y confiar en nosotros.
Gracias a los docentes que se dedicaron con mucha paciencia y dedicación a compartir sus
conocimientos y experiencias con nosotros para prepáranos para el mundo laboral y ser unos
profesionales competentes y éticos.
Gracias a mis familiares que me apoyaron y me dieron palabras de aliento para motivarme,
especialmente a mi hermano Brian Josué y mi abuela Lidia Zelaya por toda la paciencia y los
consejos que me han dado.
Gracias a mis amigos y compañeros por hacer más agradable el camino recorrido a lo largo de la
carrera, les agradezco por compartir su tiempo y su conocimiento conmigo, por apoyarme en los
momentos difíciles y por confiar en mí siempre.
Gracias a nuestro docente asesor Ing. Bladimir Díaz por su orientación y guía durante el proceso
del trabajo de graduación.
i
3.4.5. Planificación Operativa ...................................................................................................................147
3.4.6. Permiso ............................................................................................................................................148
3.5. MODELO CONCEPTUAL ...................................................................................................................................149
3.5.1. Seguridad.........................................................................................................................................149
3.5.2. Organización....................................................................................................................................149
3.5.3. Catálogos .........................................................................................................................................150
3.5.4. Planificación Estratégica .................................................................................................................151
3.5.5. Planificación Operativa ...................................................................................................................152
3.5.6. Permiso ............................................................................................................................................153
3.6. DICCIONARIO DE DATOS..................................................................................................................................154
4. CAPÍTULO IV: PRUEBAS ............................................................................................................................. 174
4.1. METODOLOGÍA PARA EL DESARROLLO DE PRUEBAS...............................................................................................175
4.2. REALIZACIÓN DE LAS PRUEBAS..........................................................................................................................178
4.2.1. Plan de pruebas ...............................................................................................................................178
4.2.2. Diseño de los casos de prueba .........................................................................................................180
4.2.3. Ejecución de los casos de prueba .....................................................................................................181
4.2.4. Errores encontrados ........................................................................................................................249
4.2.5. Resultados de pruebas realizadas ...................................................................................................250
5. CAPÍTULO V: PLAN DE IMPLEMENTACIÓN ................................................................................................. 253
5.1. OBJETIVOS ...................................................................................................................................................254
5.1.1. Objetivo General ..............................................................................................................................254
5.1.2. Objetivos Específicos .......................................................................................................................254
5.2. PLANEACIÓN ................................................................................................................................................254
5.2.1. Plan de trabajo ................................................................................................................................254
CONCLUSIONES .................................................................................................................................................. 258
RECOMENDACIONES .......................................................................................................................................... 259
REFERENCIAS ..................................................................................................................................................... 260
GLOSARIO .......................................................................................................................................................... 262
ANEXOS ............................................................................................................................................................. 263
ANEXO 1: TABLA DE HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO.................................................................................263
ANEXO 2: PLANIFICACIÓN REALISTA ...............................................................................................................................264
ANEXO 3: PLANIFICACIÓN PESIMISTA .............................................................................................................................265
ANEXO 4: INFRAESTRUCTURA PARA LA IMPLEMENTACIÓN ..................................................................................................266
ANEXO 5: ANÁLISIS DE SELECCIÓN DE TECNOLOGÍAS DE DESARROLLO ....................................................................................266
BACKEND ...........................................................................................................................................................266
FRONTEND ........................................................................................................................................................269
BASE DE DATOS .................................................................................................................................................270
GESTOR DE CONTROL DE VERSIONES ...............................................................................................................271
ANEXO 6: CARTA DE ACEPTACIÓN DEL SISTEMA ...............................................................................................................274
ii
INTRODUCCIÓN
La Dirección General de Estadísticas y Censos (DIGESTYC) en El Salvador es la responsable de
producir información estadística a través de la recolección de datos por medio de censos y
encuestas y de la integración de registros administrativos, además de normar y coordinar
técnicamente las actividades del Servicio Estadístico Nacional (SEN).
Una de las unidades primordiales de DIGESTYC es la Unidad de Planificación y Desarrollo
Institucional, en donde se realizan el Plan Estratégico Quinquenal, el Plan Anual de Trabajo y el
seguimiento al Plan Anual de Trabajo, estos son necesarios para llevar un adecuado control de
los proyectos que se desarrollarán en el año con base en el presupuesto proporcionado, además
en el Departamento de Recursos Humanos se realiza la solicitud y seguimiento de permisos para
ausentarse.
Por lo antes expuesto, es necesario el desarrollo del Sistema Informático para la Administración
de los Procesos Internos de la Unidad de Planificación y Desarrollo Institucional y el
Departamento de Recursos Humanos de la Dirección General de Estadísticas y Censos
(DIGESTYC), como respuesta a la mejora de los procesos internos.
El presente documento consta de un estudio preliminar en el que se detalla los antecedentes
generales de DIGESTYC, el planteamiento del problema al cual se le dará solución con el
desarrollo del Sistema Informático, una descripción de los puntos importantes que compone el
Sistema Informático, la metodología que se aplicará durante el desarrollo del proyecto, la cual es
Prototipado Incremental. También, se da a conocer un cronograma con las diferentes actividades
que se desarrollaran en los tiempos estipulados y la planificación de los recursos humanos,
tecnológicos, etc., que se utilizaran para obtener un buen resultado.
En el análisis se detalla la situación actual de la DIGESTYC, los requerimientos informáticos, de
desarrollo y de producción, así como la propuesta de solución usando el enfoque de sistemas.
Incluye además los diagramas de casos de uso con su respectiva descripción y los diagramas de
actividades.
En el capítulo de diseño se definen los estándares de desarrollo, el diseño arquitectónico de la
solución propuesta, el diseño de interfaces de usuario, el modelo de dominio, modelo conceptual
y el diccionario de datos.
Posteriormente se muestran las pruebas realizadas al sistema informático, en este capítulo se
detalla la metodología utilizada y el desarrollo utilizando casos de pruebas.
Finalmente se presenta el plan de implementación en el cual se detalla el recurso humano,
tecnológico y las actividades necesarias para poner en marcha el sistema informático.
iii
OBJETIVOS
Objetivo General
Objetivos Específicos
2. Gestionar la solicitud y el seguimiento de permisos para ausentarse de tal forma que los
empleados de la DIGESTYC puedan realizar dichas diligencias desde su Ordenador o
Smartphone.
iv
1. CAPÍTULO I: ESTUDIO
PRELIMINAR
1
1.1. Alcances
• Unidad de Planificación:
o Desarrollo del Plan Estratégico Quinquenal.
o Creación del Plan Operativo Anual.
o Asignación de actividades a los departamentos de DIGESTYC.
o Actualización de los Avances
• Unidad de RRHH:
o Solicitudes de permisos para ausentarse.
o Seguimiento de los permisos realizados.
Además, para uso de todas las unidades se agregará:
1.2. Limitaciones
El Salvador, así como muchos países, se ha visto afectado por la Pandemia del Coronavirus
(COVID-19), se establecieron medidas sanitarias en el territorio nacional a fin de frenar el avance
del virus, entre las cuales se encuentra la cuarentena domiciliar obligatoria. 1 2
Debido a estas restricciones de movilización establecidas, se ven afectadas las reuniones
presenciales con los representantes de DIGESTYC; por lo cual se determinó mantener la
comunicación mediante el correo electrónico.
Tomando en consideración los argumentos anteriores, podrían presentarse retrasos en el
desarrollo del proyecto debido a:
• Continuidad de las restricciones y disposiciones sanitarias por parte del Gobierno Central.
• Retrasos en la información requerida para el desarrollo de parte de los representantes de
DIGESTYC.
• Fallas en el servicio de internet sin una pronta solución, debido a la alta demanda por arte
de los usuarios.
2
1.3. Importancia
1.4. Justificación
1. El ingreso de avances del plan operativo de la institución toma 5 días y se realiza una vez
al mes por lo que al año se necesitan 60 días, las unidades tienen 3 días al mes para enviar
la información al correo del responsable y el responsable tiene 2 días para ingresar la
información al sistema. Con la implementación del sistema desarrollado cada unidad
ingresará la información directamente por lo que se reducen 2 días al mes, necesitándose
solo 36 días en total al año para realizar dicho proceso.4
2. Con la aplicación de escritorio SISPLAN se limita el acceso a los procesos solo con un
usuario el cual es proporcionado por el Ministerio de Economía. Tampoco se tendrá que
esperar a que las autoridades reciban solicitudes en físico para que sean firmadas, las
notificaciones de solicitudes le llegarán al instante a cada usuario. Teniendo así acceso
más ágil a los procesos e información.
3. Con el SISPLAN se registran 170 actividades al año, que son las que se reportan al MINEC,
sin embargo, DIGESTYC registra 280 actividades al año que sirven para dar seguimiento al
nivel de cumplimiento de las actividades del plan anual.5
4. Al realizar las solicitudes de ausentismo en línea se evitará hacer uso de 300 hojas de
papel al año. Este estimado se obtuvo asumiendo que cada empleado hace una solicitud
3
al año debido a que la unidad de recursos humanos no maneja los datos de cuantas
solicitudes reciben.6
4
Las metas operativas conllevan la iniciativa estratégica, el área responsable de su
implementación, las actividades a realizar para alcanzar dicha meta, el cargo responsable de la
implementación de las actividades, el resultado esperado, los medios de verificación (entregables
como documentos, listas, informes, etc.), los recursos financieros, la unidad de medida
(porcentajes de avance, montos financieros, entre otros), el grado de avance, y la fecha de inicio
y fin para la realización de las tareas.
Cada uno de los jefes de las unidades involucradas se encargan de constatar mensualmente los
avances en las actividades designadas a su unidad, así como de proveer los medios de verificación
y el grado de avance de las tareas que componen la actividad.
Permisos
Todos los empleados de la DIGESTYC podrán solicitar permisos para un máximo de 3 días, se
llevará el control de cuantos días ha consumido cada empleado basados en los límites impuestos
por la organización. Cada usuario podrá consultar los días que tiene disponibles para solicitar
permisos por cualquiera de las razones expuestas.
La encargada de registro y control de personal que es responsable de registrar las horas de
llegada y salida de los empleados, contando con estos registros gracias al sistema de marcación.
Es importante resaltar que este sistema NO se comunicará con el de marcación directamente,
sino que, será la encargada de registro y control de personal la responsable de hacer el traspaso
de los datos de un sistema a otro. Las interfaces para esta tarea estarán incluidas en este sistema.
Lo ideal sería que ambos sistemas se comunicarán directamente, sin embargo, no poseemos
acceso a los detalles de cómo funciona el sistema por el estado actual de la pandemia del
Coronavirus (COVID-19). En el mejor de los casos, se podría consumir una API con la que cuenta
el programa, o hacer Web Scraping si cuenta con interfaz web, o contar con acceso a la base de
datos del mismo.
Si la hora registrada, ya sea de llegada o de retiro del usuario, está fuera de los rangos
establecidos, se le notificará al usuario que debe presentar un permiso a la unidad de recursos
humanos.
5
1.7. Antecedentes
6
1.8. Formulación del problema
7
• El control de las actividades asignadas a cada unidad de la DIGESTYC se maneja de forma
manual a través de una hoja electrónica de procesamiento de texto.
• Se realiza trabajo extra en el registro del seguimiento al plan anual de trabajo.
• Recursos financieros insuficientes para el desarrollo de una solución tecnológica.
• El personal asignado para el desarrollo de soluciones tecnológicas no es suficiente.
• Se almacenan grandes cantidades de solicitudes de permisos al año.
• Los empleados desconocen las horas de cada tipo de permiso que pueden utilizar.
Diagrama Causa – Efecto
Nos ayuda como una forma de organizar y representar las diferentes teorías propuestas sobre
las causas de un problema, se utiliza la lluvia de ideas como insumo para la creación del diagrama.
A partir de la lluvia de ideas, se realizó el diagrama causa – efecto donde se identificaron como
principales causas de la problemática presentada, las siguientes:
PROCESOS
8
PERSONAS
Se tienen 16 Sistemas Informáticos a los cuales se les realiza mantenimiento, los sistemas
que se priorizan son los que están relacionados con la recolección de información para la
realización de los diferentes análisis y estadísticas de la población de El Salvador. En
promedio se asignan 2,6 Sistemas Informáticos a cada programador11.
PRESUPUESTO
9
TECNOLOGÍA
INFRAESTRUCTURA
10
Ilustración 1: Diagrama Causa-Efecto
11
1.9. Metodología para resolver el problema
• Productos:
o Entrada: Documento de Requerimientos, Diagramas de Sistemas, Casos de Uso,
Diagrama de Actividades.
o Salida: Modelo de Dominio, Diagrama de Entidad Relación.
12
• Técnicas y Prácticas: Diseño de Sistemas.
• Herramientas: Diagramador.
• Participantes: Equipo de Desarrollo.
Prototipado
Se crea un prototipo que, para este caso, se encontrará implementado en HTML, CSS y JavaScript.
Este prototipo deberá responder a todos los requerimientos detallados en el documento, así
como estar acorde a los diagramas establecidos.
• Productos
o Entrada: Diagrama de Sistemas, Casos de Uso, Diagrama de Actividades, Modelo
de Dominio, y Diagrama de Entidad Relación.
o Salida: Sitio web con su código fuente.
• Técnicas y Prácticas: Diseño Web.
• Herramientas: IDE, Servidor Web, JavaScript 6.0, Framework CSS, y HTML 5.
• Participantes: Equipo de Desarrollo.
Validación
Se realiza una reunión con los mismos usuarios que la etapa de requerimientos, en esta entrevista
se presenta el prototipo hecho. Si los usuarios desean cambios, se repiten las etapas anteriores
en el mismo orden, tomando como insumo los resultados de cada etapa. Se eliminan, cambian,
y/o extienden aquellos detalles que los usuarios consideren pertinentes. Se establece un máximo
de 3 iteraciones para el refinamiento de requerimientos, incluida la primera iteración.
• Productos
o Entrada: Prototipo
o Salida: Documento con Correcciones.
• Técnicas y Prácticas: Entrevista y Observación.
• Herramientas: Procesador de Texto
• Participantes: Usuarios y Equipo de Desarrollo.
Diseño
Se crea el diagrama arquitectónico del sistema, se refina el modelo de dominio y el diagrama
entidad relación para que respondan a todos los requerimientos establecidos con el usuario.
• Productos
o Entrada: Documento de Requerimientos, Modelo de Dominio, y Diagrama de
Entidad Relación.
o Salida: Vistas 4+1 de Arquitectura, Modelo de Dominio, y Diagrama Entidad
Relación.
• Técnicas y Prácticas: Ingeniería de Software, Diseño de Sistemas.
13
• Herramientas: Diagramador
• Participantes: Equipo de Desarrollo
Programación
Los diagramas anteriores serán implementados por el equipo de desarrollo en los lenguajes para
Backend y Frontend de forma que satisfagan los requerimientos funcionales y no funcionales de
los usuarios. Al final de la etapa se tendrán dos repositorios en un control de versiones con el
código fuente de la aplicación, uno para cada lenguaje de programación.
• Productos
o Entrada: Prototipo, todos los diagramas de análisis y diseño.
o Salida: Repositorios con Código Fuente.
• Técnicas y Prácticas: Programación Web, Programación Orientada a Objetos.
• Herramientas: IDE, Framework Frontend, Framework Backend, Control de Versiones.
• Participantes: Equipo de Desarrollo.
Pruebas
Las pruebas son diseñadas y ejecutadas para cada caso de uso. La persona encargada de
programar el caso de uso no será la misma que diseñe y ejecute la prueba; en caso que se
presenten errores, estos deberán ser corregidos por la persona que programó el caso de uso en
cuestión. Al final de la etapa se tendrá un documento que refleje las pruebas realizadas.
• Productos
o Entrada: Código Fuente del Sistema.
o Salida: Documento de Pruebas, Código Fuente corregido.
• Técnicas y Prácticas: Pruebas Unitarias.
• Herramientas: Procesador de Texto
• Participantes: Equipo de Desarrollo.
Documentación
El equipo de desarrollo será el encargado de realizar los manuales de usuario, de instalación,
técnico y el plan de implementación para el proyecto. El manual de usuario contiene capturas de
pantalla y la serie de pasos necesarios para cumplir los casos de uso; por otro lado, el manual de
instalación explica paso a paso como instalar el sistema, así como las librerías necesarias para su
funcionamiento. El manual técnico se compone de la descripción de las funciones más relevantes
y cómo implementar algunas funcionalidades de la aplicación para futuros cambios o
actualizaciones. En el plan de implementación se detalla el recurso humano, recurso tecnológico,
capacitaciones y costos para la puesta en marcha del Sistema informático desarrollado.
14
• Productos
o Entrada: Código fuente corregido, recurso humano y tecnológico.
o Salida: Manual de Instalación, Manual de Usuario, Manual Técnico y el Plan de
Implementación.
• Técnicas y Prácticas: Redacción.
• Herramientas: Procesador de Texto.
• Participantes: Equipo de Desarrollo.
Implementación
El sistema será implementado en la infraestructura interna de la organización. Esta etapa marca
el fin del incremento, si aún quedan unidades organizativas por trabajar, se inicia un nuevo
incremento repitiendo en este mismo orden cada una de las etapas.
• Productos
o Entrada: Código fuente corregido.
o Salida: Sitio Web Funcionando.
• Técnicas y Prácticas: Administración de Servidores.
• Herramientas: Sistema Operativo del Servidor, Servidor Web, Motor de Base de Datos,
Servidor Web
• Participantes: Equipo de Desarrollo.
Las herramientas utilizadas para el desempeño de estas tareas se listan en el Anexo 1: Tabla de
Herramientas.
15
1.10. Cronograma de actividades
La estimación de la duración del proyecto se realizó para 3 escenarios: optimista, realista y pesimista. A continuación, se muestra la
planificación optimista. La planificación realista se presenta en el Anexo 2 y la pesimista en el Anexo 3.
16
1.11. Planificación de los recursos
Para el desarrollo del proyecto se utiliza el recurso humano, recurso tecnológico, recurso
consumible y servicios básicos. De acuerdo al cronograma de actividades el proyecto tiene una
duración aproximada de 7 meses.
Recurso humano
Se cuenta con 4 analistas programadores quienes son los responsables de ejecutar las tareas del
cronograma de actividades. Para obtener el costo mensual del analista programador a tiempo
completo se realizó un sondeo en las plataformas web CompuTrabajo y Tecoloco, y se obtuvo
que el rango esta de $800.00 a $1,400.00, teniendo como experiencia de 1 a 3 años, considerando
la experiencia del equipo de desarrollo se toma de base el promedio del rango obtenido, es decir
$1,100.00
Tomando en cuenta que cada analista programador solo le dedica al proyecto 4 horas diarias, el
costo de este será $550.00 mensuales.
A continuación, se resume el costo total del recurso humano durante los 7 meses:
Recurso tecnológico
• Software de desarrollo
Se utiliza software libre, por lo que no se incurre en gastos de licencias. Por lo tanto, el costo de
software es $0.00
• Hardware de desarrollo
En el desarrollo del proyecto se ve afectada la vida útil del equipo informático por la depreciación,
siendo esta un factor importante en la determinación del costo del hardware.
El método a utilizar para calcular la depreciación es el de línea recta, la fórmula es la siguiente:
𝐶𝑜𝑠𝑡𝑜 𝑡𝑜𝑡𝑎𝑙
𝐷𝑒𝑝𝑟𝑒𝑐𝑖𝑎𝑐𝑖ó𝑛 = ( ) ∗ 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑚𝑒𝑠𝑒𝑠 𝑎 𝑑𝑒𝑝𝑟𝑒𝑐𝑖𝑎𝑟
𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑚𝑒𝑠𝑒𝑠 𝑑𝑒 𝑣𝑖𝑑𝑎 ú𝑡𝑖𝑙
Para el cálculo de la depreciación la vida útil promedio para las laptops es de 5 años y el costo a
depreciar será el costo promedio de las 4 laptops con las que cuenta el equipo de desarrollo. El
costo promedio es $475.00
Por lo tanto, la depreciación mensual para 1 laptop es:
17
475
𝐷𝑒𝑝𝑟𝑒𝑐𝑖𝑎𝑐𝑖ó𝑛 = ( ) ∗ 1 = 7.92
60
A continuación, se resume la depreciación total del equipo informático:
Servicios básicos
• Energía eléctrica
Para el cálculo de la energía eléctrica se toma en cuenta los watts por hora consumibles
por cada laptop. Las laptops consumen un promedio de 200 watts por hora 16, esto
18
equivale a 0.2 kWh. Estas se usarán 4 horas diarias, con un promedio de 21 días por mes,
lo cual da un consumo mensual de 16.8 kWh por cada laptop.
A continuación, se resume el consumo mensual de energía eléctrica:
Cada kWh tiene un costo aproximado de $0.1417 por lo que el costo mensual de la energía
eléctrica es $9.41. Por lo tanto, el costo durante los 7 meses es $65.87
• Internet
El plan de 5 megas tiene un costo mensual de $22.0018, por lo tanto, el costo para el
desarrollo del proyecto es de $154.00
El costo total de los servicios básicos es:
19
2. CAPÍTULO II:
ANÁLISIS
20
2.1. Análisis de la situación actual
2.1.1. Descripción de funciones
En este apartado se describen las funciones del personal involucrado en los procedimientos de
desarrollo y seguimiento de planes estratégicos quinquenales, planes operativos anuales y
solicitudes de permisos de la Dirección General de Estadísticas y Censos.
Jefe de la Unidad de Planificación y Desarrollo Institucional
• Consolidar toda la información que se recolecta en los talleres de trabajo con las gerencias
y departamentos para crear los planes estratégicos y operativos.
• Definir e ingresar al SISPLAN los planes estratégicos quinquenales: Creación de
perspectivas, objetivos estratégicos, iniciativas e indicadores.
• Definir e ingresar al SISPLAN los planes operativos anuales: Selección de iniciativas,
creación de actividades y establecimiento de metas y responsables.
• Seguimiento de Indicadores del Plan Quinquenal cada trimestre.
• Ingreso de los avances de las actividades principales del Plan anual de todas las unidades
cada mes en el SISPLAN y de totas las actividades en la hoja de Excel.
• Generación de Reportes del plan estratégico, plan anual, indicadores, seguimiento de
actividades mensual y anual y seguimiento de indicadores trimestral y anual.
Jefes de Unidad
21
2.1.2. Enfoque de sistemas de la situación actual
Para tener una mayor comprensión de la situación actual se hace uso del enfoque de sistemas
para describir la forma en que se relacionan los procedimientos relacionados a los planes
estratégicos, operativos y los permisos dentro de DIGESTYC.
22
2.2. Determinación de requerimientos
• Requerimientos Informáticos.
• Requerimientos de Desarrollo.
• Requerimientos de Producción.
En la Tabla 8: Tipos de requerimientos se define el código a utilizar para identificar cada tipo de
requerimiento definido en el sistema.
CÓDIGO REQUERIMIENTO
RIFMCA Requerimiento Informático Funcional Modulo de Catálogos.
RIFMOR Requerimiento Informático Funcional Modulo de Organización.
RIFMPL Requerimiento Informático Funcional Modulo de Planificación.
RIFMSE Requerimiento Informático Funcional Modulo de Seguridad.
RIFMPE Requerimiento Informático Funcional Modulo de Permiso.
RINF Requerimiento Informático No Funcional.
RHD Requerimiento de Hardware para Desarrollo.
RSD Requerimiento de Software para Desarrollo.
RRHD Requerimiento de Recurso Humano para Desarrollo.
RHP Requerimiento de Hardware para Producción.
RSP Requerimiento de Software para Producción.
Tabla 8: Tipos de requerimientos
23
2.2.1. Determinación de requerimientos informáticos
REQUERIMIENTOS FUNCIONALES
MÓDULO DE CATÁLOGOS
CÓDIGO REQUERIMIENTO DESCRIPCIÓN
Se requiere registrar, actualizar y eliminar las fuentes de
Gestión de
financiamiento. Tiene los siguientes datos:
RIFMCA-01 Fuentes de
• Nombre
Financiamiento
• Estado
Se requiere registrar, actualizar y eliminar los tipos de
Gestión de Tipos justificación. Tiene los siguientes datos:
RIFMCA-02
de Justificaciones • Nombre
• Estado
Se requiere registrar, actualizar y eliminar las unidades de
Gestión de
medidas. Tiene los siguientes datos:
RIFMCA-03 Unidades de
• Nombre
Medidas
• Estado
Se requiere registrar, actualizar y eliminar las ausencias.
Tiene los siguientes datos:
Gestión de Tipo • Código
RIFMCA-04
de Ausencias • Nombre
• Descripción
• Estado
Se requiere registrar, actualizar y eliminar los tipos de
permisos. Tiene los siguientes datos:
• Nombre
• Descripción
• Horas Anuales
• Estado
Gestión de Tipo • Tiempo laboral cumplido.
RIFMCA-05 • Goza de sueldo
de Permisos
• Evidencia
• Justificación
• Jefes autorizados para aprobar el permiso
El Tiempo laboral cumplido es el tiempo que debe tener el
empleado laborando en la institución para poder solicitar el
permiso.
Tabla 9: Requerimientos funcionales módulo de catálogos
24
MÓDULO DE ORGANIZACIÓN
CÓDIGO REQUERIMIENTO DESCRIPCIÓN
Se requiere registrar actualizar y deshabilitar las diferentes
unidades organizativas que conforman DIGESTYC. Tiene los
Gestión de siguientes datos:
RIFMOR-01 Unidades • Nombre
Organizativas • Estado
Además, se define si la unidad es gerencia, agregar
unidades de apoyo, subunidades y cargos.
Se requiere registrar, actualizar y deshabilitar los cargos
para una unidad organizativa. Tiene los siguientes datos:
RIFMOR-02 Gestión de Cargos • Nombre
• Estado
Se puede definir si el cargo es jefe.
Tabla 10: Requerimientos funcionales módulo de organización
MÓDULO DE PLANIFICACIÓN
CÓDIGO REQUERIMIENTO DESCRIPCIÓN
Se requiere registrar y actualizar planes quinquenales.
Tiene los siguientes datos:
• Año de inicio.
Gestión de Planes
RIFMPL-01 • Año de fin (se genera automáticamente a partir del
Quinquenales
año de inicio).
• Estado (los estados definidos son Vigente, A
programar y No Vigentes).
Se requiere registrar y actualizar las perspectivas para un
plan quinquenal. Tiene los siguientes datos:
• Código (Generado automáticamente).
Gestión de
RIFMPL-02 • Nombre.
Perspectivas
• Descripción.
Solo se permite el registro de 4 perspectivas para un plan
quinquenal.
Se requiere registrar, actualizar y eliminar los objetivos
estratégicos para una perspectiva especifica. Tiene los
siguientes datos:
Gestión de • Código (Generado automáticamente).
RIFMPL-03 Objetivos • Perspectiva.
Estratégicos • Objetivo.
• Peso.
La sumatoria de los pesos de los objetivos estratégicos
pertenecientes a una perspectiva debe ser igual al 100%.
25
Se requiere registrar, actualizar y eliminar las iniciativas
para un objetivo estratégico especifico. Tiene los siguientes
datos:
• Código (Generado automáticamente).
• Perspectiva.
Gestión de • Objetivo Estratégico.
RIFMPL-04
Iniciativas • Unidad Líder.
• Iniciativa.
• Programación en el quinquenio.
• Indicador de Impacto.
• Medio de verificación.
• Resultado.
Se requiere registrar, actualizar y eliminar los KPI para un
objetivo estratégico especifico. Tiene los siguientes datos:
• Código (Generado automáticamente).
• Perspectiva.
• Objetivo Estratégico.
• Indicador.
• Peso.
• Línea base.
• Unidad de Medida.
RIFMPL-05 Gestión de KPI • Direccionalidad.
• Periodicidad (se definen las siguientes: trimestral,
semestral y anual).
• Formula de Medición.
• Iniciativas involucradas.
• Límite de Control.
• Meta.
Para determinar el límite de control y la meta, se genera N
cantidad de periodos para un año del plan quinquenal,
dependiendo de la periodicidad seleccionada.
Se requiere generar y actualizar los cierres trimestrales para
el quinquenio con 5 días hábiles del mes posterior al
trimestre finalizado, para el registro de avances de los KPI.
Tiene los siguientes datos.
Generar Cierre • Periodo.
RIFMPL-06
Trimestral • Fecha de Inicio.
• Fecha de Fin.
• Correo de Aviso del Inicio de Periodo (Se detalla el
contenido del mensaje y cuantos días antes de la
fecha de inicio desea enviar el correo).
26
• Correo de Recordatorio del Fin de Periodo (Se
detalla el contenido del mensaje y cuantos días
antes de la fecha de fin desea enviar el correo).
Se requiere registrar y actualizar planes operativos anuales.
Tiene los siguientes datos:
Gestión de Planes
• Plan quinquenal.
RIFMPL-07 Operativos
• Año.
Anuales
• Estado (los estados definidos son Vigente, A
programar y No Vigentes).
Se requiere agregar y eliminar iniciativas que conformaran
el plan operativo anual. Se seleccionaron los siguientes
Agregar datos.
RIFMPL-08
Iniciativas • Perspectiva.
• Objetivo Estratégico.
• Iniciativa.
Se requiere registrar, actualizar y eliminar las actividades
para un plan operativo anual especifico. Tiene los siguientes
datos:
• Código (Generado automáticamente).
• Iniciativa (Se muestran solamente las iniciativas que
se han agregado al plan operativo anual).
Gestión de • Actividad.
RIFMPL-09
Actividades • Fecha de Inicio.
• Fecha de Fin.
• Resultado.
• Medio de Verificación.
• Fuente de Financiamiento.
• Monto.
• Responsable.
Se requiere generar y actualizar los cierres mensuales para
un plan operativo anual con 5 días hábiles del mes posterior
al mes finalizado, para el registro de avances de las
actividades. Tiene los siguientes datos.
Generar Cierre • Periodo.
RIFMPL-10
Mensual • Fecha de Inicio.
• Fecha de Fin.
• Correo de Aviso del Inicio de Periodo (Se detalla el
contenido del mensaje y cuantos días antes de la
fecha de inicio desea enviar el correo).
27
• Correo de Recordatorio del Fin de Periodo (Se
detalla el contenido del mensaje y cuantos días
antes de la fecha de fin desea enviar el correo).
Se requiere registrar y actualizar la ejecución de avances
para un KPI específico. Tiene los siguientes datos:
• Valor del KPI
• Logro.
• Evidencia.
• Justificación por incumplimiento (Detalla el tipo de
justificación y la justificación).
Se requiere mostrar el estado de cumplimiento con un
Semáforo de acuerdo a las siguientes condiciones:
• Verde: cuando el valor del KPI sea mayor al límite de
control y el porcentaje de ejecución sea igual al
Reportar Avance
RIFMPL-11 100% de la meta, no se registra la justificación por
de KPI
incumplimiento.
• Amarillo: cuando el valor del KPI sea mayor al límite
de control y el porcentaje de ejecución sea mayor o
igual al 50% y menor al 100% de la meta, se registra
la justificación por incumplimiento.
• Rojo: cuando el valor del KPI sea menor al límite de
control y el porcentaje de ejecución sea mayor o
igual al 0% y menor al 50% de la meta, se registra la
justificación por incumplimiento.
• Gris: cuando no se ha registrado avance para el
periodo correspondiente.
Se requiere registrar y actualizar la ejecución de avances
para una actividad específica. Tiene los siguientes datos:
• Mes (que se desea registrar el avance).
• Ejecución.
• Logro.
• Evidencia.
• Justificación por incumplimiento (Detalla el tipo de
Reportar Avance justificación y la justificación).
RIFMPL-12
de Actividad Se requiere mostrar el estado de cumplimiento con un
Semáforo de acuerdo a las siguientes condiciones:
• Verde: cuando el porcentaje de ejecución sea igual
al 100% de la meta, no se registra la justificación por
incumplimiento.
• Amarillo: cuando el porcentaje de ejecución sea
mayor o igual al 50% y menor al 100% de la meta, se
registra la justificación por incumplimiento.
28
•
Rojo: cuando el porcentaje de ejecución sea mayor
o igual al 0% y menor al 50% de la meta, se registrará
la justificación por incumplimiento.
• Celeste: Cuando se registre un avance de un mes
posterior al mes finalizado, no se registra la
justificación por incumplimiento.
• Gris: cuando no se ha registrado avance para el
periodo correspondiente.
Se requiere que los usuarios puedan generar los siguientes
reportes, según su rol:
• Plan Estratégico.
• Plan de Trabajo Anual.
RIFMPL-13 Generar Reportes • Reporte de KPI
• Reporte de KPI trimestral.
• Informe Mensual de Seguimiento.
• Informe Anual de Seguimiento.
• Reporte de KPI Anual
Tabla 11: Requerimientos funcionales módulo de planificación
MÓDULO DE SEGURIDAD
CÓDIGO REQUERIMIENTO DESCRIPCIÓN
Se requiere registrar, actualizar y desactivar los usuarios
por parte del administrador del sistema. Tiene los
siguientes datos:
• Nombres.
• Apellidos.
• Correo Electrónico.
Gestión de • Contraseña (generada por el sistema y enviada al
RIFMSE-01
Usuarios correo del usuario que se registra).
• Cargo.
• Estado.
• Rol (se podrá asignar uno o más roles).
• Código de marcación
• Fecha de contratación
• Tipo de contratación
Se requiere registrar, actualizar y eliminar roles por parte
del administrador del sistema. Tiene los siguientes datos:
RIFMSE-02 Gestión de Roles • Nombre.
• Descripción.
• Permisos para el acceso en el sistema.
29
Cambiar Se requiere que el usuario pueda cambiar su contraseña y
RIFMSE-03 contraseña que la pueda recuperar en caso de que se le olvide.
propia
Tabla 12: Requerimientos funcionales módulo de seguridad
MÓDULO DE PERMISO
CÓDIGO REQUERIMIENTO DESCRIPCIÓN
Consultar Tiempo Se requiere que el usuario pueda consultar los tiempos
RIFMPE-01
Disponible disponibles de cada permiso que puede solicitar.
Se requiere que el empleado pueda solicitar un
determinado permiso. Tiene los siguientes datos:
• Tipo de permiso
• Observaciones o justificaciones
RIFMPE-02 Solicitar permiso
• Ausencias futuras o Ausencias pasadas
• Evidencias
Las observaciones ausencias y evidencias son opcionales
según el tipo de permiso solicitado.
Se requiere que el usuario pueda consultar los permisos
Consultar que ha solicitado, se puede ver los permisos que se
RIFMPE-03
permisos propios aprobaron los que están en proceso para ser aprobados y
los que no se le aprobaron.
Se requiere que los jefes puedan aprobar o denegar los
RIFMPE-04 Aprobar permisos
permisos solicitados por los empleados.
Consultar mis Se requiere que el jefe pueda consultar las aprobaciones
RIFMPE-05
aprobaciones que ha realizado a los diferentes empleados.
Se requiere que la encargada del registro y control de
Consultar
RIFMPE-06 empleados, pueda consultar los permisos que han realizado
permisos de otros
los empleados.
Consultar Se requiere que la encargada del registro y control de
tiempos empleados, pueda consultar los tiempos disponibles que
RIFMPE-07
disponibles de tienen los empleados en los diferentes permisos a los que
otros pueden optar.
Se requiere que la encargada del registro y control de
empleados pueda cargar las asistencias y ausencias diarias
RIFMPE-08 Cargar asistencias
de los empleados de la institución.
Se realizará por medio de un archivo CSV.
Tabla 13: Requerimientos funcionales módulo de permiso
30
REQUERIMIENTOS NO FUNCIONALES
31
o Manual Técnico.
o Plan de Implementación.
RINF-05 Portabilidad • El sistema puede ser ejecutado en diversos tipos de
sistemas operativos y también tiene la capacidad
para ejecutarse en cualquiera de los navegadores
más utilizados (Google Chrome, Firefox).
RINF-06 Rendimiento • El sistema gestor de base de datos (DBMS= debe
tener la capacidad para procesar transacciones de
los usuarios, realizadas por el sistema de manera
simultánea desde varias estaciones de trabajo.
Tabla 14: Requerimientos no funcionales
REQUERIMIENTOS DE HARDWARE
32
REQUERIMIENTOS DE SOFTWARE
REQUERIMIENTOS DE HARDWARE
33
REQUERIMIENTOS DE SOFTWARE
34
2.3.1. Descripción de Elementos
Salidas
Entradas
35
• Marcación de entradas y salidas de los empleados: Es el registro de la hora en que un
empleado se presenta y se retira del trabajo, también si no se presenta se hace un
registro.
• Solicitudes de ausencia: Son los permisos que presenta un empleado para faltar, entrar
tarde o salir temprano de un trabajo.
Procesos
Control
36
2.4. Diagrama de Casos de Uso
DESCRIPCIÓN DE ACTORES
Actor Descripción
Jefe de la unidad de planificación y desarrollo Se encarga de la planificación y seguimiento
institucional de los planes estratégicos y operativos, fechas
de ingreso de información y generación de
reportes.
A continuación, se presentan los diagramas de caso de uso más relevantes del sistema
informático propuesto:
37
DIAGRAMA DE CASOS DE USO GENERAL
38
Módulo de Planificación
39
CASO DE USO: GESTIONAR QUINQUENIO
40
CASO DE USO: CREAR PLAN QUINQUENAL
41
El sistema muestra una ventana
2 emergente con los datos del plan
quinquenal seleccionado.
El jefe de la unidad de planificación y
3 desarrollo institucional ingresa los
nuevos datos y solicita guardar.
El sistema captura los datos, los 1-Si hubo error al guardar el registro se
4 almacena y muestra un mensaje de 4ª mostrará mensaje de error.
éxito. 2-Retornara al paso 3.
Tabla 23: Descripción de caso de uso Editar Plan Quinquenal
42
CAMBIAR ESTADO
43
Ilustración 7: Diagrama de Caso de Usos Gestionar Plan Operativo Anual.
44
Estar logueado con un usuario de tipo jefe de la unidad de
Precondiciones:
planificación y desarrollo institucional.
Postcondiciones: N/A
Curso normal de eventos Flujo Alternativo
El jefe de la unidad de
1 planificación solicita ver los planes
operativos anuales.
El sistema muestra el listado de los
2
planes operativos existentes.
El jefe de la unidad de
3 planificación solicita buscar uno o varios
planes operativos.
El sistema muestra un formulario con
4
los campos año inicio, año fin y estado.
El jefe de la unidad de
5 planificación ingresa los datos
solicitados.
El sistema muestra los planes
6 operativos que coinciden con los datos
ingresados en el formulario.
Tabla 26: Descripción de caso de uso Gestionar Plan Operativo Anual
45
solicitados por el sistema y solicita
guardar.
El sistema muestra un mensaje que no se
El sistema captura los datos ingresados, puede almacenar ese plan operativo
4 los almacena y devuelve un mensaje de 4.1 porque coincide con otro o no existe un
éxito. plan quinquenal que lo cubra, retorna al
paso 3.
Tabla 27: Descripción de caso de uso Crear Plan Operativo Anual
46
Actores: Jefe de la unidad de planificación y desarrollo institucional.
Precondiciones: Que existan registros de por lo menos un plan operativo anual.
Postcondiciones: Que ya no se muestre el plan operativo anual eliminado.
Curso normal de eventos Flujo Alternativo
El sistema muestra el listado de planes
1
operativos existentes.
El jefe de la unidad de
2 planificación selecciona eliminar un
plan operativo del listado.
El sistema muestra un mensaje de
3 confirmación para eliminar el plan
anual.
El jefe de la unidad de
4 planificación confirma la eliminación
del plan operativo anual.
El sistema muestra un mensaje que no se
El sistema muestra un mensaje de éxito
puede eliminar ese plan operativo
5 y muestra el listado de los planes 5.1
porque ya hay registros en él, retorna al
operativos existentes.
paso 1.
Tabla 29: Descripción de caso de uso Eliminar Plan Operativo Anual
47
El jefe de la unidad de planificación y El jefe de la unidad de planificación y
3 desarrollo institucional solicita editar 3a desarrollo institucional no edita las
las fechas de cierre de un mes. fechas de cierre y salta al paso 8.
El sistema muestra ventana emergente
4
para editar la fecha de inicio y fin.
El jefe de la unidad de planificación y
5 desarrollo institucional modifica las
fechas y solicita guardar.
6 El sistema actualiza los datos de la tabla.
Se repiten los pasos 3, 4,5 y 6 si se desea
7
editar otras fechas de cierre.
El jefe de la unidad de planificación y
El jefe de la unidad de planificación y
desarrollo institucional modifica los
8 8a desarrollo institucional solicita guardar
datos para el envío de correos
los cambios.
electrónicos y solicita guardar.
El sistema captura los datos, los El sistema no almacena los datos,
9 almacena y muestra un mensaje de 9a muestra mensaje de error y retorna al
éxito. paso 3.
Tabla 30: Descripción de caso de uso Cerrar Mes
48
CASO DE USO: REPORTAR AVANCE DE KPI
49
2- El sistema retorna al paso 7a.2.
El sistema captura los datos, los El sistema no almacena los datos,
8 almacena y muestra un mensaje de 8a muestra mensaje de error y retorna al
éxito. paso 7.
Tabla 32: Descripción de caso de uso Reportar Avance de KPI
50
3- El encargado de unidad selecciona el
tipo de justificación, ingresa la
justificación y solicita guardar.
4- El sistema retorna al paso 8.
1- El encargado de unidad ingresa el valor
de la ejecución de un mes adelantado
vigente y la suma de la ejecución y el
7b
acumulado es menor o igual a la meta,
adjunta evidencia y solicita guardar.
2- El sistema retorna al paso 8.
El sistema captura los datos, los El sistema no almacena los datos,
8 almacena y muestra un mensaje de 8a muestra mensaje de error y retorna al
éxito. paso 7.
Tabla 33: Descripción de caso de uso Reportar Avance de Actividad
51
El jefe de la unidad de planificación y
7 desarrollo institucional solicita ver el
detalle de la actividad.
El sistema despliega los datos de avance
8
ingresado.
Tabla 34: ver avance de actividad
52
Módulo de Administración
53
CASO DE USO: GESTIONAR UNIDAD ORGANIZATIVA
54
Si hubo un error al momento de guardar
El sistema captura los datos, los
4 4a el registro se mostrará mensaje de error
almacena y muestra mensaje de éxito.
y Retornará al paso 1.
Tabla 37: Descripción de caso de uso Crear Unidad Organizativa
55
Curso normal de eventos Flujo Alternativo
El administrador solicita editar una unidad
1
organizativa.
El sistema muestra los datos de la unidad
2
organizativa.
El administrador solicita desactivar una
3
unidad organizativa y da clic en guardar.
El sistema confirma la correcta modificación
y cambia el estado a inactivo de las unidades 1-Si hubo error al guardar el registro se
4 de apoyo, subunidades y cargos asociados. 4a mostrará mensaje de error.
Muestra la unidad organizativa con su 2-Retornara al paso 1.
estado inactivo.
Tabla 39: Descripción de caso de uso Desactivar Unidad Organizativa
56
Módulo de Seguridad
57
CASO DE USO: CREAR USUARIO
58
CASO DE USO: DESACTIVAR USUARIO
59
CASO DE USO: RECUPERAR CONTRASEÑA
60
Módulo de Permisos
61
CASO DE USO: CONSULTAR TIEMPO DISPONIBLE
62
CASO DE USO: CONSULTAR TIEMPO DISPONIBLE DE OTROS
63
CASO DE USO: CARGAR ASISTENCIAS
64
CASO DE USO: APROBAR PERMISO
Para visualizar los Diagramas de Caso Uso y los narrados de los Casos de Uso
restante, consulte la ubicación siguiente: DOCUMENTOS/ANALISIS-
DISEÑO.PDF en el CD.
65
2.5. Diagramas de Actividades
A continuación, se presentan los diagramas de caso de uso más relevantes del sistema
informático propuesto:
Módulo de Planificación
DIAGRAMA DE ACTIVIDADES: GESTIONAR QUINQUENIO
66
DIAGRAMA DE ACTIVIDADES: CREAR PLAN QUIENQUENAL
67
DIAGRAMA DE ACTIVIDADES: EDITAR PLAN QUIENQUENAL
68
DIAGRAMA DE ACTIVIDADES: EDITAR FECHAS DE CIERRE
69
DIAGRAMA DE ACTIVIDADES: CAMBIAR ESTADO
70
DIAGRAMA DE ACTIVIDADES: VER REPORTE
71
DIAGRAMA DE ACTIVIDADES: REPORTAR AVANCE DE KPI
72
DIAGRAMA DE ACTIVIDADES: GESTIONAR PLAN OPERATIVO
73
DIAGRAMA DE ACTIVIDADES: CREAR PLAN OPERATIVO
74
DIAGRAMA DE ACTIVIDADES: EDITAR PLAN OPERATIVO
75
DIAGRAMA DE ACTIVIDADES: ELIMINAR PLAN OPERATIVO
76
DIAGRAMA DE ACTIVIDADES: CERRAR MES
77
DIAGRAMA DE ACTIVIDADES: CAMBIAR ESTADO
78
DIAGRAMA DE ACTIVIDADES: REPORTAR AVANCE DE ACTIVIDAD
79
DIAGRAMA DE ACTIVIDADES: VER AVANCE DE ACTIVIDAD
80
Módulo de Administración
81
DIAGRAMA DE ACTIVIDADES: CREAR UNIDAD ORGANIZATIVA
82
DIAGRAMA DE ACTIVIDADES: EDITAR UNIDAD ORGANIZATIVA
83
DIAGRAMA DE ACTIVIDADES: DESACTIVAR UNIDAD ORGANIZATIVA
84
Módulo de Seguridad
85
DIAGRAMA DE ACTIVIDADES: EDITAR USUARIO
86
DIAGRAMA DE ACTIVIDADES: DESACTIVAR USUARIO
87
DIAGRAMA DE ACTIVIDADES: CAMBIAR CONTRASEÑA PROPIA
88
DIAGRAMA DE ACTIVIDADES: RECUPERAR CONTRASEÑA
89
Módulo de Permisos
90
CASO DE USO: SOLICITAR PERMISO
91
CASO DE USO: CONSULTAR TIEMPO DISPONIBLE DE OTROS
92
CASO DE USO: CARGAR ASISTENCIAS
93
CASO DE USO: VER MIS APROBACIONES
94
CASO DE USO: APROBAR PERMISO
95
3.CAPÍTULO III: DISEÑO
96
3.1. Definición de estándares de desarrollo
97
Estructura general de interfaz móvil
98
Botones aplicación móvil
• Mensajes de alertas: este estándar se aplica para los mensajes de éxito, información,
error y advertencia.
99
Tipo de mensaje Color de fondo
Éxito #f8b7bd
Información #7fbcec
Error #b7d8b7
Advertencia #ffe399
Tabla 55: Tipos de mensajes de alerta
• Mensajes de alertas: este estándar se aplica para los mensajes de éxito, información,
error y advertencia.
100
Reportes
Los reportes deben generarse en los siguientes formatos: PDF, Word y Excel. Además, deben
llevar la siguiente estructura:
Nombre de tablas
101
Nombre de atributos
Deben estar escritos en minúsculas y sin tildes, en el caso que tengan dos o más palabras estas
se separan mediante el uso de guion bajo (_).
Ejemplos: descripcion, fecha_ingreso, monto_financiamiento.
Para el caso de las llaves primarias estas deben ubicarse al inicio de la definición de la tabla y
serán nombradas “id”.
El nombre de la columna que contenga una llave foránea, debe definirse con el nombre de la
tabla a la que hace referencia seguida de la palabra “id”. Ejemplos: estado_plan_id, actividad_id.
Nombre de procedimientos
Los procedimientos pueden nombrarse de acuerdo a lo que realizan dentro de la base de datos,
deben comenzar con el prefijo “proc_”, estar escritos en minúsculas y las palabras se separan
usando guion bajo (_).
Ejemplo: proc_ingresar_avance.
Nombre de vistas
Nombre de Triggers
Se utilizará el prefijo “trig_” seguido del nombre referente a la acción del trigger y del nombre de
la tabla, se escribirá en minúsculas y las palabras se separan usando guion bajo (_).
Ejemplo: trig_actualizar_iniciativa.
102
3.1.3. Programación
Se escriben en minúsculas, si el nombre está compuesto por más de una palabra la primera
palabra se escribe toda en minúscula y las siguientes con la inicial en mayúscula.
Ejemplo: buscarPorPlan.
Nombres de variables
Se escriben en minúsculas, si el nombre está compuesto por más de una palabra la primera
palabra se escribe toda en minúscula y las siguientes con la inicial en mayúscula, sin usar
separadores.
Ejemplo: idPlan.
Los nombres de las variables serán descriptivos, de tal forma que se podrá saber el uso y finalidad
con solo ver el nombre.
Nombres de constantes
Se escriben en mayúscula, si está compuesto por más de una palabra se separan por un guion
bajo (_).
Ejemplo: DIAS_CIERRE.
Nombre de clases
Se escriben con la primera letra en mayúscula y las demás en minúscula, si está compuesto por
más de una palabra, las demás palabras se escriben de la misma forma que la primera sin
separadores entre palabras.
Ejemplo: UnidadMedida.
Si la clase tiene una funcionalidad específica se define en el nombre como sufijo.
Ejemplo: UnidadMedidaComponent, UnidadMedidaService, UnidadMedidaController.
103
Nombre de interfaces Java
Las interfaces se nombran siguiendo los mismos criterios de las clases solo se les agrega el prefijo
“I”.
Se pueden utilizar bloques de comentarios o comentarios de una sola línea. Esto dependerá de
lo que se requiera describir y se apegará a los estándares de documentación interna.
3.1.4. Documentación
Interna
• Encabezado
Se debe agregar un comentario de bloque al inicio de cada archivo, a excepción de los
archivos HTML y CSS que tengan pocas líneas de código y no presenten ninguna
complejidad, será opcional agregarles este comentario.
En el encabezado se debe especificar la siguiente información:
➢ Descripción: se debe detallar de forma general la función o el uso que tiene el
archivo.
➢ Autores: nombre y apellido de cada integrante del equipo de trabajo, ordenados
alfabéticamente por el apellido.
➢ Fecha de creación: en el formato dd/mm/yyyy.
• Contenido
Para las funciones o métodos complejos se debe agregar un comentario de bloque con la
siguiente información:
➢ Descripción
➢ Parámetros que recibe
➢ Parámetros que envía
➢ Fecha de creación
También deben existir otros comentarios que se consideren necesarios para el debido
entendimiento del código fuente, generalmente se usa el comentario de línea, pero si se
requiere se puede usar comentario de bloque.
104
Externa
• Portada
Se debe especificar el título del manual, el nombre del sistema, nombre de la institución
y la fecha de elaboración.
• Tabla de contenido
Es el reflejo de la estructura del documento y contiene el listado de los temas que forman
el manual.
• Introducción
Contiene la descripción del documento.
• Contenido del manual
Se detalla la información propia del manual, contiene capturas de pantalla que sirven para
ilustrar el desarrollo de los procesos que describe el manual.
En el manual de usuario se debe incluir la iconografía utilizada en el sistema.
• Glosario
Catalogo alfabético de palabras que son difíciles de comprender con su significado.
105
3.2. Diseño arquitectónico de la solución
La arquitectura utilizada es REST, se presenta con la técnica vistas 4 + 1. Las vistas a tratar son:
1. Vista de Casos de Uso.
Se tiene una descripción breve sobre la característica del sistema que representa y el actor
involucrado, además del narrado del mismo. Se utiliza el diagrama de casos de uso en
notación UML. Estos son tratados en el apartado 2.4 “Diagrama de Casos de Uso”.
2. Vista Lógica
Se manejan los conceptos del problema desde la perspectiva de modelo de dominio y
diagrama Entidad Relación. El modelo de dominio es tratado en el aparatado homónimo
3.4; mientras que el diagrama ER es discutido en el 3.5 “Modelo Conceptual”.
3. Vista de Implementación
Se describen los componentes del sistema, se utiliza el diagrama de componentes. Dicho
diagrama es tratado en el apartado 3.2.1 “Implementación”.
4. Vista de Despliegue
Se muestra la relación entre los macro componentes del sistema y el hardware que los
proveerá. Se utiliza el diagrama de despliegue, el cual se discute en el apartado 3.2.2
“Despliegue”.
5. Vista de Procesos
Cuenta con la descripción de los procesos principales del sistema por medio de diagramas
de actividades, se maneja a profundidad en el aparatado 2.5 “Diagrama de Actividades”.
3.2.1. Implementación
Los componentes han sido desarrollados respetando las buenas prácticas que dicta cada
Framework.
En el caso del Backend, internamente se descompone en 2 servidores, uno dedicado puramente
a la seguridad OAuth2 teniendo su configuración en un archivo propio; y otro servidor dedicado
a presentar los recursos con que cuenta el servidor, también con su propio archivo de
configuración.
El servidor de recursos espera recibir un token JWT para cada petición de recursos, este token
deberá ser encriptado y firmado por el servidor de autenticación, misma firma que el servidor de
recursos utilizará para des encriptar dicho token. El servidor de recursos cuenta también con un
Exception Handler, el cual se encarga de cachar excepciones que reciba o emita un controlador.
106
Estas excepciones son mapeadas a un formato en específico, el cual tanto el front end como la
aplicación móvil utilizan para mostrar dicho error al usuario.
Ambos servidores tienen en común el modelo en capas Controller – Service – Repository – Entity.
107
momento de utilizar la aplicación, se cargue solamente las partes en específico que están siendo
utilizadas.
El módulo principal es “App Module”, este es cargado al iniciar la aplicación en el navegador web,
se encarga de manejar la seguridad, provee pantallas de uso común, como pantalla NOT FOUND
o pantalla FORBIDDEN, LOGIN, entre otras; se encarga también de proveer los componentes de
primefaces, los cuales son utilizados para la presentación y aspecto estético del sitio. Así mismo,
es encargado de llamar los otros módulos a medida va siendo requerido, por ejemplo, al
necesitarse el Módulo de Plan estratégico, con todas sus pantallas y sus permisos, es este módulo
el encargado de cargarlo.
Junto al App Module, se cargan también auxiliares para la aplicación, como lo es RxJS, el cual se
encarga de proveer de funciones reactivas al proyecto; interceptores para enviar el encabezado
JWT; y el cliente HTTP para comunicarse con el Backend.
Cada módulo recibido tiene sus propias pantallas y su propio archivo de enrutamiento, es decir,
conoce como navegar entre las mismas; este archivo de enrutamiento contiene también los
permisos necesarios para acceder a cada pantalla. Para validar que el usuario tenga un permiso
o permisos, se comunica con el Auth Guard, el cual se encarga de determinar si un usuario tiene
o no el permiso que el archivo de enrutamiento especifica.
108
Finalmente, la aplicación móvil posee una estructura idéntica al componente web, dado que Ionic
trabaja montado sobre componentes Angular. Las diferencias principales son:
1. Modulo para presentación: Se cambió el módulo de Primefaces por el módulo de Ionic,
ya que los componentes de este último son pensados con diseño móvil como prioridad.
2. Granularidad de los módulos: En el caso del componente web, cada módulo podía ser una
o más pantallas, mientras que, en el caso móvil cada pantalla consiste en su propio
modulo, de esta forma, la carga en memoria de pantallas se va dando a medida se va
necesitando.
3.2.2. Despliegue
109
La aplicación móvil será entregada en dos componentes:
1. Proyecto de Ionic con NPM, el cual podrá ser modificado para hacer cambios sobre la
aplicación, a partir de este podrá generarse el siguiente componente de esta lista.
2. Proyecto Android con Gradle, la versión que entregaremos contendrá la APK del proyecto
finalizado. Será responsabilidad de DIGESTYC gestionar los recursos necesarios para
distribuir esta APK entre los usuarios y utilizando los métodos que ellos consideren
adecuados.
110
3.3. Diseño de interfaces de usuario
111
Ilustración 54: Cierre de Trimestres
112
Ilustración 55: Configuración de Estado de planes
113
Diseño del Plan Operativo
114
Ilustración 57: Cierre Mensual
115
Ilustración 58: Cambiar estado del plan operativo
116
Seguimiento de Indicadores
117
Ilustración 60: Historial de ejecuciones
118
Ilustración 61: Informar indicador
119
Seguimiento de Actividades
120
Ilustración 63: Lista de actividades a reportar – jefe de unidad
121
Ilustración 64: Historial de ejecuciones
122
Ilustración 65: Ingreso de ejecuciones
123
Reportes
124
Ilustración 67: Plan Quinquenal
125
Ilustración 68: Plan Operativo
126
Ilustración 70: Seguimiento de indicadores trimestral
127
Ilustración 72: Seguimiento anual de indicadores
128
Ilustración 73: Seguimiento anual de actividades
129
Catálogos y administración
130
Ilustración 75: Unidad Organizativa principal, lista de cargos y unidades de apoyo y subordinadas
131
Seguridad
132
Ilustración 77: Crear usuario
133
Ilustración 78: Crear Rol
134
Ilustración 79: Datos del usuario
135
Ilustración 80: Cambio de contraseña
136
Permisos
WEB
137
Ilustración 82: Tiempos disponibles.
138
Ilustración 83: Permisos realizados
139
Ilustración 84: Detalle del permiso
MOVIL
140
Ilustración 86: Mis permisos solicitados
141
Ilustración 87: Solicitudes de permisos pendientes de aprobar
142
3.4. Modelo de dominio
El modelo de dominio ha sido dividido en 6 partes, con la finalidad de mantener una distinción
clara entre la finalidad de cada conjunto de clases. Podría haberse mantenido solamente como
5, sin embargo, dado el tamaño de la planificación, se decidió desagregarla en planificación
estratégica y planificación operativa.
3.4.1. Seguridad
Contiene todas las clases relacionadas con la seguridad de la aplicación. Se hizo pensando en
brindar la mayor flexibilidad posible para el usuario, admitiendo el mapeo de muchos a muchos
entre Usuario – Rol y entre Rol – Permisos. Cabe aclarar que, para Rol y Permiso se utiliza Role y
Privilege, los cuales son los nombres que Spring Boot designa.
143
3.4.2. Organización
Agrupa las clases que se encargan de modelar como se compone la estructura organizativa de
DIGESTYC.
144
3.4.3. Catálogos
En este se agrupan todas las tablas que contienen datos que son requeridos por tablas varias, por
ejemplo, el Tipo de Justificación, es utilizado tanto por la planificación estratégica, como en la
operativa.
145
3.4.4. Planificación Estratégica
Contiene todas las clases que modelan la planificación a largo plazo de la institución. Estas clases
están fuertemente relacionadas con las de catálogo y además con la planificación Operativa.
146
3.4.5. Planificación Operativa
Esta contiene las clases que modelan los planes a corto de plazo de DIGESTYC. Está muy
relacionada con la planificación estratégica, específicamente, entre Plan Operativo – Plan
Estratégico, y Plan Operativo – Iniciativas.
147
3.4.6. Permiso
148
3.5. Modelo conceptual
3.5.1. Seguridad
Privilege
id_pri <pi> Serial <M>
nombre_pri Variable characters (512) <M>
Password_Reset_Token etiqueta_pri Variable characters (517) <M>
descripcion Variable characters (128)
reset_token <pi> Variable characters (128) <M>
expiration_date Timestamp <M> Identifier_1 <pi>
Identifier_1 <pi>
solicita
Permisos_De_Rol
Usuario
id_usu <pi> Serial <M>
nombre_usu Variable characters (64) <M>
apellido_usu Variable characters (64) <M>
Role
correo_usu Variable characters (128) <M>
activo_usu Boolean <M> Roles_De_Usuario id_rol <pi> Serial <M>
password_usu Variable characters (512) <M> nombre_rol Variable characters (512) <M>
codigo_marcacion_usu Variable characters (64) <M> descripcion_rol Variable characters (2048)
fecha_contratacion_usu Date <M> Identifier_1 <pi>
Identifier_1 <pi>
3.5.2. Organización
Unidad_Organizativa .
. Cargo
id_u_o <pi> Serial <M>
nombre_u_o Variable characters (128) <M> id_cargo <pi> Serial <M>
activo_u_o Boolean <M> nombre_cargo Variable characters (1024) <M>
es_apoyo_u_o Boolean <M> es_jefe_unidad Boolean <M>
es_gerencia_u_o Boolean <M> activo_cargo Boolean <M>
Identifier_1 <pi> Identifier_1 <pi>
Tipo_Contratacion
id <pi> Serial <M>
descripcion Variable characters (128)
nombre Variable characters (128) <M>
Identifier_1 <pi>
149
3.5.3. Catálogos
Fuente_Financiamiento Tipo_Permiso
id_fuente_fin <pi> Serial <M> id <pi> Serial <M>
nombre_inici Variable characters (1024) <M> activo Boolean <M>
activo_fuente_fin Boolean anios Integer
Identifier_1 <pi> autoriza_director Boolean <M>
autoriza_gerente Boolean <M>
autoriza_jefe_inmediato Boolean <M>
descripcion Variable characters (128) <M>
Tipo_Justificacion
dias Integer
id_tipo_j <pi> Serial <M> goza_sueldo Boolean <M>
nombre_tipo_j Variable characters (128) <M> horas_anuales Long integer <M>
activo_tipo_j Boolean limitar_horas Boolean <M>
Identifier_1 <pi> meses Integer
nombre Variable characters (128) <M>
obligar_evidencia Boolean <M>
Unidad_Medida obligar_justificacion Boolean <M>
Identifier_1 <pi>
id_unidad <pi> Serial <M>
nombre_unidad Variable characters (128) <M>
activo_unidad Boolean
Identifier_1 <pi> Tipo_Ausencia
id <pi> Serial <M>
activo Boolean <M>
Periodicidad codigo Variable characters (64) <M>
id_periodicidad <pi> Serial <M> descripcion Variable characters (128)
nombre_periodicidad Variable characters (128) <M> nombre Variable characters (128) <M>
Identifier_1 <pi> Identifier_1 <pi>
150
3.5.4. Planificación Estratégica
151
3.5.5. Planificación Operativa
152
Ilustración 98: Modelo conceptual de Planificación Operativa
3.5.6. Permiso
Tipo_Contratacion Control_Subida_Ausencia
Ausencia . Solicitud_Ausencia
. Cargo
id <pi> Serial <M> id <pi> Serial <M>
fecha_ausencia Date <M> aprobada Boolean Resuelven id_cargo <pi> Serial <M>
horas Long integer <M> fecha_realizo Date <M> id <pi> Serial <M> nombre_cargo Variable characters (1024) <M>
fecha_resolucion Date aprobada Boolean es_jefe_unidad Boolean <M>
Identifier_1 <pi> .
justificacion Variable characters (1024) fecha_resolucion Date activo_cargo Boolean <M>
Identifier_1 <pi> . Identifier_1 <pi> Identifier_1 <pi>
.
.
Tipo_Ausencia Dias_Ausencia
Evidencia_Ausencia
id <pi> Serial <M> id <pi> Serial <M>
id <pi> Serial <M>
activo Boolean <M> fecha_ausencia Date <M>
url_evidencia Variable characters (128) <M>
codigo Variable characters (64) <M> hora_fin Time <M>
descripcion Variable characters (128) Identifier_1 <pi> hora_inicio Time <M>
nombre Variable characters (128) <M> .
Identifier_1 <pi>
Identifier_1 <pi>
153
3.6. Diccionario de datos
La llave primaria para cada tabla se hizo secuencial para garantizar absolutamente la no
repetición de todos los registros en la base de datos.
En cuanto al tipo, se utilizó BIGINT ya que tiene como limite el número
9,223,372,036,854,775,807. Este número es tan grande que incluso si guarda un id nuevo cada
nano segundo, tardaría 292 años en alcanzar el límite.
actividad
Contiene las actividades de los planes operativos.
154
iniciativa_plan_operativo_id BIGINT NOT NULL Foránea que representa la
iniciativa a la que
contribuye la actividad
unidad_medida_id BIGINT NOT NULL Foránea que representa la
unidad usada para medir
la ejecución de la
actividad
Tabla 56: Diccionario de datos tabla actividad
ausencia
Contiene las ausencias de los empleados.
avance_esperado
Contiene los avances esperados de los indicadores.
155
permitir_cambiar_a_futuro BOOLEAN Indica si se pueden cambiar
programaciones futuras
permitir_cambiar_datos BOOLEAN Indica si se pueden cambiar
los datos
avance_real_id BIGINT Foránea que representa el
avance real realizado
indicador_id BIGINT NOT NULL Foránea que representa el
indicador al cual
corresponde el avance
Tabla 58: Diccionario de datos tabla avance_esperado
avance_real
Contiene los avances reales de los indicadores.
cargo
Contiene los cargos de la organización.
156
unidad_organizativa_id BIGINT NOT NULL Foránea que representa la
unidad organizativa a la que
pertenece el cargo
Tabla 60: Diccionario de datos tabla cargo
cargos_del_permiso
Contiene los cargos extras que deben autorizar la solicitud de ausencia.
cierre_mes
Contiene los datos de los cierres mensuales.
cierre_trimestre
Contiene los datos de los cierres trimestrales.
157
anio INTEGER NOT NULL Numero de año del plan
quinquenal al que
corresponde el cierre
fecha_fin DATE NOT NULL Fecha en la que finaliza el
periodo de cierre
fecha_inicio DATE NOT NULL Fecha en la que inicia el
periodo de cierre
numero_trimestre INTEGER NOT NULL Numero de trimestre al
que corresponde el cierre
plan_estrategico_id BIGINT NOT NULL Foránea que representa el
plan estratégico al que
pertenece el cierre
Tabla 63: Diccionario de datos tabla cierre_trimestre
control_subida_ausencia
Contiene los datos de la subida de ausencias.
dias_ausencia
Contiene los días de ausencia de una solicitud.
158
solicitud_ausencia_id BIGINT NOT NULL Foránea que representa la
solicitud de ausencia
Tabla 65: Diccionario de datos tabla dias_ausencia
ejecucion_gradual
Contiene las ejecuciones esperadas de las actividades.
ejecucion_real
Contiene las ejecuciones reales de las actividades.
159
ejecucion_gradual_id BIGINT NOT NULL Foránea que representa
la ejecución gradual a la
cual corresponde la
ejecución real
tipo_justificacion_id BIGINT Foránea que representa
el tipo de justificación de
incumplimiento
Tabla 67: Diccionario de datos tabla ejecucion_real
estado_plan_estrategico
Contiene los estados que pueden tener los planes.
evidencia_ausencia
Contiene las evidencias de las ausencias.
160
fuente_financiamiento
Contiene las fuentes de financiamiento con las que cuenta la organización.
horas_disponibles
Contiene las horas disponibles que tiene un usuario para un tipo de permiso.
indicador
Contiene los indicadores de los objetivos estratégicos.
iniciativa
Contiene las iniciativas de los objetivos estratégicos.
162
objetivo_estrategico_id BIGINT NOT NULL Foránea que representa el
objetivo estratégico al que
corresponde la iniciativa
unidad_organizativa_id BIGINT NOT NULL Foránea que representa la
unidad organizativa líder
de la iniciativa
Tabla 73: Diccionario de datos tabla iniciativa
iniciativas_de_indicador
Contiene la relación entre iniciativa e indicador.
iniciativas_plan_operativo
Contiene la relación entre iniciativa y plan operativo.
meta_limite
Contiene datos de las metas y límites de los indicadores.
163
anio INTEGER NOT NULL Año al que corresponde la
meta y limite
limite NUMERIC(10,3) NOT NULL Valor del limite
meta NUMERIC(10,3) NOT NULL Valor de la meta
permitir_cambiar_a_futuro BOOLEAN Indica si se pueden
cambiar programaciones
futuras
permitir_cambiar_datos BOOLEAN Indica si se pueden
cambiar los datos
indicador_id BIGINT NOT NULL Foránea que representa el
indicador al que le
corresponde la meta y
limite
Tabla 76: Diccionario de datos tabla meta_limite
objetivo_estrategico
Contiene los objetivos estratégicos de las perspectivas.
periodicidad
164
Contiene las periodicidades que pueden tener los indicadores.
perspectiva
Contiene las perspectivas de los planes estratégicos.
plan_estrategico
Contiene los planes estratégicos.
plan_operativo
Contiene los planes operativos.
166
estado_plan_id BIGINT NOT NULL Foránea que representa el
estado del plan operativo
plan_estrategico_id BIGINT NOT NULL Foránea que representa el
plan estratégico al que
pertenece el plan
operativo
Tabla 81: Diccionario de datos tabla plan_operativo
privilege
Contiene los privilegios.
progresion_gradual
Contiene las progresiones graduales de las iniciativas.
167
resuelven
Contiene los datos de las resoluciones de las solicitudes.
role
Contiene los roles.
roles_privileges
Contiene la relación entre roles y privilegios.
168
solicitud_ausencia
Contiene las solicitudes de ausencia.
tipo_ausencia
Contiene los tipos de ausencia.
169
tipo_contratacion
Contiene los tipos de contratación de la institución.
tipo_justificacion
Contiene los tipos de justificaciones de incumplimiento.
tipo_permiso
Contiene los tipos de permisos.
170
autoriza_gerente BOOLEAN NOT NULL Indica si el tipo de
permiso necesita
autorización del
gerente
autoriza_jefe_inmediato BOOLEAN NOT NULL Indica si el tipo de
permiso necesita
autorización del jefe
inmediato
descripcion VARCHAR(128) Descripción del tipo
de permiso
dias INTEGER Días de trabajo que
debe tener el
empleado para tener
derecho al permiso
goza_sueldo BOOLEAN NOT NULL Indica si el tipo de
permiso tiene
derecho a sueldo
horas_anuales BIGINT NOT NULL Horas anuales que
tiene el tipo de
permiso
limitar_horas BOOLEAN NOT NULL Indica si es necesario
limitar las horas del
tipo de permiso
meses INTEGER Meses de trabajo
que debe tener el
empleado para tener
derecho al permiso
nombre VARCHAR(128) NOT NULL Nombre del tipo de
permiso
obligar_evidencia BOOLEAN NOT NULL Indica si es necesaria
la evidencia para este
tipo de permiso
obligar_justificacion BOOLEAN NOT NULL Indica si es necesaria
la justificación para
este tipo de permiso
Tabla 91: Diccionario de datos tabla tipo_permiso
171
unidad_medida
Contiene las unidades de medida.
unidad_organizativa
Contiene las unidades organizativas.
172
usuario
Contiene los usuarios.
usuarios_roles
Contiene la relación de usuario y rol.
173
4.CAPÍTULO IV:
PRUEBAS
174
4.1. Metodología para el desarrollo de pruebas
• Características a ser probadas: se listan todas las características que serán probadas,
deben definirse de manera clara y concisa para no tener malas interpretaciones. Se
pueden incluir referencias a los requisitos o especificaciones de diseño.
• Características que no serán probadas: se listan todas las características que no serán
probadas, es necesario especificar los motivos por las que estas características no se
probaran.
• Enfoque: Se debe mencionar el enfoque general de las pruebas, especificando los niveles,
métodos y tipos de prueba.
• Criterios de éxito y fallo: se deben especificar los criterios que se usan para determinar
si cada elemento de prueba es exitoso o fallido.
• Planificación de las actividades: en este apartado se detallan las actividades a realizar en
el proceso de pruebas, debe contener el nombre de la actividad y un estimado de la
duración.
Diseño de pruebas
Una vez elaborado el plan de pruebas se debe empezar con el análisis de la documentación del
sistema, con el objetivo de iniciar el diseño de los casos de prueba correspondientes a las
características definidas en la etapa anterior. La documentación clave para iniciar este diseño
pueden ser: casos de uso, documento de diseño, manual de usuario y manual técnico.
En el diseño de los casos de prueba se debe considerar la elaboración de casos positivos y
negativos, los casos de prueba negativos son útiles para validar el comportamiento del sistema
ante situaciones atípicas.
El formato para el diseño de cada caso de prueba es el siguiente:
175
Código [Identificador del caso de prueba. Ejemplo CP01]
Nombre del Caso [Nombre del proceso a ser probado]
de Prueba
Responsable de [Nombre del responsable de escribir el caso de prueba]
Escribir el Caso
Descripción General
Propósito [Descripción del propósito de la prueba]
Caso de Uso [Identificador del caso de uso al que se relaciona el caso de prueba]
Ambiente de Pruebas
Pre-condiciones [Condiciones previas que se deben cumplir antes de ejecutar la prueba]
Post-condiciones [Condiciones que se deben cumplir después de ejecutar la prueba]
Desarrollo de la prueba
Acciones [Procedimiento paso a paso para ejecutar la prueba]
Datos de Entrada [Datos de prueba que se van a utilizar durante la realización de la
prueba]
Resultados
Resultado [Resultado que se espera al ejecutar la prueba]
Esperado
Tabla 96: Formato para diseño de caso de prueba
Ejecución de pruebas
En esta etapa se procede a ejecutar los casos de prueba diseñados, cuando se detecte un fallo
este debe ser documentado y corregirse. Una vez se ha corregido el fallo se ejecuta nuevamente
el caso de prueba.
El formato para la ejecución de cada caso de prueba es el siguiente:
176
Código [Identificador del caso de prueba, añadiéndole el número de ejecución.
Ejemplo CP01-01]
Nombre del Caso [Nombre del proceso a ser probado]
de Prueba
Fecha de ejecución [Fecha en que se ejecutó el caso de prueba]
Responsable de [Nombre del responsable de ejecutar el caso de prueba]
Ejecutar el Caso
Resultados
Resultado real [Resultado obtenido después de ejecutar la prueba]
Tipo de resultado Éxito ( ) Fallo ( )
Evidencia [Capturas del resultado obtenido]
Cumplió post- Sí ( ) No ( ) N/A ( )
condición
Tabla 97: Formato para ejecución de caso de prueba
Los fallos encontrados en la ejecución de los casos de prueba deben registrarse en un cuadro
resumen con el siguiente formato:
177
4.2. Realización de las pruebas
178
Características que no serán probadas
Debido a que las pruebas están orientadas a verificar los requerimientos funcionales y que aún
no se dispone del servidor en el que se instalara el sistema informático no se probara:
Enfoque
Un caso de prueba es considerado exitoso cuando los pasos del procedimiento de prueba se
cumplen a cabalidad y al finalizar la prueba se obtiene el resultado esperado.
Un caso de prueba es considerado fallido cuando no se cumplen los pasos del procedimiento de
la prueba o al finalizar la prueba no se obtiene el resultado esperado.
179
4.2.2. Diseño de los casos de prueba
Para comprobar que el sistema responde eficazmente ante los errores, se diseñó una serie de
pruebas en donde se contemplaron los diferentes escenarios en los que los datos ingresados
pueden llegar a provocar un funcionamiento inesperado o que pudiesen poner en peligro la
integridad de los datos que ya están cargados en el sistema. A continuación, se presenta un
ejemplo de los casos de prueba que fueron diseñados:
Código CP02
Nombre del Caso Creación de plan quinquenal
de Prueba
Responsable de Katherine Cerna
Escribir el Caso
Descripción General
Propósito Ingresar satisfactoriamente un nuevo plan estratégico.
Caso de Uso CU02
Ambiente de Pruebas
Pre-condiciones Haber iniciado sesión con un usuario que tenga permisos para gestionar
los planes quinquenales.
Post-condiciones Habiendo realizado el ingreso de los datos:
● Revisar que en la lista de planes quinquenales aparezca el plan
quinquenal nuevo.
● Revisar que el plan quinquenal tenga creadas sus fechas para
ingreso de información trimestral.
Desarrollo de la prueba
Acciones 1. Ingresar a la pantalla de Plan Quinquenal en el menú lateral.
2. Hacer clic en el botón agregar
3. Ingresar el año de inicio del plan
4. Dar clic al botón Guardar
Datos de Entrada Año inicio: 2026
Resultados
Resultado ● Mensaje del servidor, confirmando el nuevo plan estratégico
Esperado guardado.
● El nuevo plan estratégico se visualiza agregado en la lista.
● Las fechas de ingreso de información ya aparecen el apartado
cierre
Tabla 100: Diseño de caso de prueba Creación de plan quinquenal
Para visualizar los Diseños de los casos de uso de prueba restante, consulte la
ubicación siguiente: DOCUMENTOS/DOCUMENTO-PRUEBAS.PDF en el CD.
180
4.2.3. Ejecución de los casos de prueba
Código CP01-01
Nombre del Consultar los planes quinquenales
Caso de
Prueba
Fecha de 18/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar
el Caso
Resultados
Resultado Se visualizan solo los planes que cumplen con el criterio del filtro.
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP02-01
Nombre del Creación del plan quinquenal
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar el
Caso
Resultados
181
Resultado • Mensaje de éxito, confirmando la creación del plan estratégico.
real • El nuevo plan estratégico se visualiza en la lista.
• Las fechas de ingreso de información aparecen el apartado cierre.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP03-01
Nombre del Edición de un plan quinquenal
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsabl Patricia Solano
e de
182
Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la modificación del plan estratégico.
real • El plan estratégico editado se visualiza en la lista con los años
modificados.
• Las fechas de ingreso de información aparecen actualizadas en el
apartado cierre.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
183
Código CP04-01
Nombre del Creación de perspectiva
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la creación de la perspectiva.
real • La nueva perspectiva se visualiza agregada en la tabla.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP05-01
Nombre del Edición de una perspectiva
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
184
Resultados
Resultado • Mensaje de éxito, confirmando la modificación de la perspectiva.
real • La perspectiva editada se visualiza en la tabla.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP06-01
Nombre del Eliminación de una perspectiva
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar
el Caso
Resultados
Resultado Mensaje de error, que indica que no se puede eliminar la perspectiva.
real
Tipo de Éxito ( ) Fallo (X)
resultado
185
Evidencia
Código CP06-02
Nombre del Eliminación de una perspectiva
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la eliminación de la perspectiva.
real • La perspectiva eliminada ya no se visualiza en la tabla.
Tipo de Éxito (X) Fallo ( )
resultado
186
Evidencia
Código CP07-01
Nombre del Consultar objetivos estratégicos
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
Resultados
Resultado Se visualizan solo los objetivos estratégicos que cumplen con el criterio del
real filtro.
Tipo de Éxito (X) Fallo ( )
resultado
187
Evidencia
Código CP08-01
Nombre del Creación de objetivo estratégico
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la creación del objetivo estratégico.
real • El nuevo objetivo estratégico se muestra en el listado.
Tipo de Éxito (X) Fallo ( )
resultado
188
Evidencia
Código CP09-01
Nombre del Edición de un objetivo estratégico
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la modificación del objetivo
real estratégico.
• Se visualizan los cambios del objetivo estratégico en la lista.
Tipo de Éxito (X) Fallo ( )
resultado
189
Evidencia
Código CP10-01
Nombre del Eliminación de un objetivo estratégico
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la eliminación del objetivo estratégico.
real • El objetivo estratégico eliminado ya no se visualiza en la lista.
Tipo de Éxito (X) Fallo ( )
resultado
190
Evidencia
Código CP11-01
Nombre del Caso Consultar iniciativas
de Prueba
Fecha de ejecución 20/10/2020
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real Se visualizaron las iniciativas que coinciden con el criterio de búsqueda.
Tipo de resultado Éxito (x) Fallo ( )
Evidencia
191
Cumplió post- Sí ( ) No ( ) N/A (x)
condición
Tabla 112: Ejecución de caso de prueba Consultar iniciativas
Código CP12-01
Nombre del Caso Creación de iniciativa
de Prueba
Fecha de ejecución 20/10/2020
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de confirmación para el guardado de la nueva iniciativa
con éxito.
• La iniciativa aparece en el listado de iniciativas.
Tipo de resultado Éxito (x) Fallo ( )
Evidencia
192
Cumplió post- Sí (x) No ( ) N/A ( )
condición
Tabla 113: Ejecución de caso de prueba Creación de iniciativa
Código CP13-01
Nombre del Caso Edición de una iniciativa
de Prueba
Fecha de ejecución 20/10/2020
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el guardado exitoso de la
iniciativa.
• Datos verificados en el ver detalle de la iniciativa editada.
Tipo de resultado Éxito (x) Fallo ( )
Evidencia
193
Código CP14-01
Nombre del Caso Eliminación de una iniciativa
de Prueba
Fecha de ejecución 20/10/2020
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito para la eliminación de la iniciativa.
• La iniciativa eliminada no aparece en el listado de iniciativas.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP15-01
Nombre del Caso Consulta de Indicadores
de Prueba
Fecha de ejecución 20/10/2020
Responsable de Roberto Castro
Ejecutar el Caso
Resultados
Resultado real El sistema filtró exitosamente los indicadores mostrados
Tipo de resultado Éxito ( X ) Fallo ( )
194
Evidencia
Código CP16-01
Nombre Creación de un Indicador
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Indicador almacenado en la base de datos.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
195
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 117: Ejecución de caso de prueba Creación de un indicador
Código CP17-01
Nombre Edición de un Indicador
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Cambios en el indicador Guardados correctamente.
real
Tipo de Éxito ( ) Fallo ( X )
resultado
196
Evidencia
Cumplió Sí ( ) No ( X ) N/A ( )
post-
condición
Tabla 118: Ejecución de caso de prueba Edición de un indicador
Código CP17-02
Nombre Edición de un Indicador
del Caso de
Prueba
Fecha de 24/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Cambios en el indicador Guardados correctamente.
real
Tipo de Éxito ( ) Fallo ( X )
resultado
197
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 119: Ejecución de caso de prueba Edición de un indicador
Código CP18-01
Nombre Eliminar satisfactoriamente un indicador
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Indicador eliminado correctamente
real
Tipo de Éxito ( X ) Fallo ( )
resultado
198
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 120: Ejecución de caso de prueba Eliminar un indicador
Código CP19-01
Nombre del Edición de las fechas de cierre para el seguimiento de Indicadores.
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar el
Caso
Resultados
Resultado • Mensaje de éxito, confirmando la modificación del cierre.
real • Se muestran los cambios del cierre en el listado.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
199
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 121: Ejecución de caso de prueba Edición de las fechas de cierre para seguimiento de indicadores
Código CP20-01
Nombre del Cambiar estado de un plan estratégico
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
Resultados
Resultado •Mensaje de éxito, confirmando la modificación del estado del plan
real estratégico.
• Visualización del cambio de estado en la vista principal de planes
estratégicos.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
200
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 122: Ejecución de caso de prueba Cambiar estado de un plan estratégico
Código CP21-01
Nombre del Consulta de Planes Operativos
Caso de
Prueba
Fecha de 18/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado
real Se visualizan solo los planes operativos que cumplieron con el criterio del filtro.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
201
Código CP22-01
Nombre del Creación de un nuevo Plan Operativo.
Caso de
Prueba
Fecha de 18/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar el
Caso
Resultados
Resultado • Mensaje de confirmación de la creación del plan operativo
real • El nuevo plan se visualiza en la lista de planes operativos
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP23-01
Nombre del Modificación de un Plan Operativo
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
202
Resultado • Mensaje de confirmación de la modificación del plan operativo
real • El plan modificado se visualiza en la lista de planes operativos
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP24-01
Nombre del Eliminación de un Plan Operativo.
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado • Mensaje de confirmación de la eliminación del plan operativo
real • El plan modificado ya no se visualiza en la lista de planes operativos
Tipo de Éxito (X) Fallo ( )
resultado
203
Evidencia
Código CP25-01
Nombre del Consultar Iniciativas de Plan Operativo
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
204
Resultados
Resultado
real Se visualizan las iniciativas del plan operativo.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP26-01
Nombre del Agregar Iniciativas
Caso de
Prueba
Fecha de 18/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar el
Caso
Resultados
Resultado Mensaje de confirmación.
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
205
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 128: Ejecución de caso de prueba Agregar iniciativas
Código CP27-01
Nombre del Eliminar iniciativa del plan anual.
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación de la eliminación de la iniciativa del plan operativo
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
206
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 129: Ejecución de caso de prueba Eliminar iniciativa del plan anual
Código CP28-01
Nombre del Filtrar Actividades
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado
real Se visualizan solo las actividades que cumplieron con el criterio del filtro.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
207
Cumplió Sí ( ) No ( ) N/A (X)
post-
condición
Tabla 130: Ejecución de caso de prueba Filtrar actividades
Código CP29-01
Nombre del Crear Actividad
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación de la creación de la actividad
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
208
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 131: Ejecución de caso de prueba Crear actividad
Código CP30-01
Nombre del Editar Actividad
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación de la modificación de la actividad
real
Tipo de Éxito (X) Fallo ( )
resultado
209
Evidencia
Código CP31-01
Nombre del Eliminar Actividad
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación de la eliminación del plan operativo
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
210
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 133: Ejecución de caso de prueba Eliminar actividad
Código CP32-01
Nombre del Configurar cierre de mes
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación de la modificación de las fechas
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
211
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 134: Ejecución de caso de prueba Configurar cierre de mes
Código CP33-01
Nombre del Cambiar estado de plan operativo
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación del cambio de estado
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
212
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 135: Ejecución de caso de prueba Cambiar estado de plan operativo
Código CP34-01
Nombre del Reportar avance de KPI
Caso de
Prueba
Fecha de 21/10/2020
ejecución
Responsable Elena García
de Ejecutar el
Caso
Resultados
Resultado Mensaje de éxito del sistema.
real
Tipo de Éxito (X) Fallo ( )
resultado
213
Evidencia
Código CP35-01
Nombre del Caso Reportar avance de Actividad
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Patricia Solano
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• El avance de la actividad aparece en el listado de ejecuciones.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
214
Tabla 137: Ejecución de caso de prueba Reportar avance de actividad
Código CP36-01
Nombre del Caso Ver avance de actividad
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Katherine Cerna
Ejecutar el Caso
Resultados
Resultado real • Aparecen los datos del avance ingresado por el usuario de otra
unidad
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP37-01
Nombre del Caso Ver reporte
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Reporte generado con el formato especificado.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
215
Cumplió post- Sí (X) No ( ) N/A ( )
condición
Tabla 139: Ejecución de caso de prueba Ver reporte
Código CP38-01
Nombre del Caso Ver unidades organizativas
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Despliegue exitoso de las unidades organizativas
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
216
Cumplió post- Sí ( ) No ( ) N/A (X)
condición
Tabla 140: Ejecución de caso de prueba Ver unidades organizativas
Código CP39-01
Nombre del Caso Agregar unidad organizativa
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• La unidad aparece en el listado de unidades.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
217
Cumplió post- Sí (X) No ( ) N/A ( )
condición
Tabla 141: Ejecución de caso de prueba Agregar unidad organizativa
Código CP40-01
Nombre del Caso Editar unidad organizativa
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• La unidad editada aparece en el listado de unidades organizativas.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP41-01
Nombre del Caso Eliminar unidad organizativa
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando la correcta eliminación.
• La unidad organizativa eliminada no aparece en el listado de
unidades organizativas.
218
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP42-01
Nombre Creación de un Cargo
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Cargo almacenado en la base de datos.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
219
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 144: Ejecución de caso de prueba Creación de un cargo
Código CP43-01
Nombre Modificación de un Cargo
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Cambios realizados en cargo almacenados correctamente.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 145: Ejecución de caso de prueba Modificación de un cargo
Código CP44-01
Nombre Desactivación de un cargo
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
220
Ejecutar el
Caso
Resultados
Resultado Campo activo de cargo cambiado a falso.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 146: Ejecución de caso de prueba Desactivación de un cargo
Código CP45-01
Nombre Ver unidades de medida
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Listado de unidades mostrado correctamente
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
221
Cumplió Sí ( ) No ( ) N/A ( X )
post-
condición
Tabla 147: Ejecución de caso de prueba Ver unidades de medida
Código CP46-01
Nombre Agregar Unidad de Medida
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Unidad de medida almacenada en base de datos
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 148: Ejecución de caso de prueba Agregar unidad de medida
Código CP47-01
Nombre Editar Unidad de Medida
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
222
Ejecutar el
Caso
Resultados
Resultado Cambios en unidad de medida guardados en base de datos.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 149: Ejecución de caso de prueba Editar unidad de medida
Código CP48-01
Nombre Eliminar Unidad de Medida
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Registro de la unidad eliminado de la base de datos
real
Tipo de Éxito ( X ) Fallo ( )
resultado
223
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 150: Ejecución de caso de prueba Eliminar unidad de medida
Código CP49-01
Nombre Consultar Fuentes de Financiamiento
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Fuentes de financiamiento mostradas correctamente
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( ) No ( ) N/A ( X )
post-
condición
Tabla 151: Ejecución de caso de prueba Consultar fuentes de financiamiento
Código CP50-01
224
Nombre Crear fuente de financiamiento
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Fuente de financiamiento guardada en base de datos
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 152: Ejecución de caso de prueba Crear fuente de financiamiento
Código CP51-01
Nombre Editar fuente de financiamiento
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Cambios en la fuente almacenados en la base de datos.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
225
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 153: Ejecución de caso de prueba Editar fuente de financiamiento
Código CP52-01
Nombre Eliminar Fuente de Financiamiento
del Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Registro de la fuente eliminada de la base de datos.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 154: Ejecución de caso de prueba Eliminar fuente de financiamiento
Código CP53-01
Nombre Consultar tipos de justificación
del Caso de
Prueba
226
Fecha de 20/10/2020
ejecución
Responsab Roberto Castro
le de
Ejecutar el
Caso
Resultados
Resultado Tipos de justificaciones almacenadas correctamente
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( ) No ( ) N/A ( X )
post-
condición
Tabla 155: Ejecución de caso de prueba Consultar tipos de justificación
Código CP54-01
Nombre del Caso Crear tipo de justificación
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• La justificación creada aparece en el listado de justificaciones.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
227
Cumplió post- Sí (X) No ( ) N/A ( )
condición
Tabla 156: Ejecución de caso de prueba Crear tipo de justificación
Código CP55-01
Nombre del Caso Editar tipo de justificación
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• La justificación editada aparece en el listado de justificaciones.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP56-01
228
Nombre del Caso Eliminar tipo de justificación
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando la correcta eliminación.
• La justificación eliminada no aparece en el listado de
justificaciones.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP57-01
Nombre del Caso Consultar usuarios
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Se muestra exitosamente los usuarios registrados.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
229
Cumplió post- Sí ( ) No ( ) N/A (X)
condición
Tabla 159: Ejecución de caso de prueba Consultar usuarios
Código CP58-01
Nombre del Caso Crear Usuario
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• El nuevo usuario aparece en el listado de usuarios.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
230
Código CP59-01
Nombre del Caso Editar usuario
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• El usuario editado aparece en el listado de usuarios.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
Código CP60-01
Nombre del Caso Desactivar usuario
de Prueba
Fecha de 21/10/2020
ejecución
Responsable de Elena García
Ejecutar el Caso
Resultados
Resultado real • Mensaje de éxito confirmando el correcto almacenamiento.
• El usuario aparece con estado inactivo en el listado de usuarios.
Tipo de resultado Éxito (X) Fallo ( )
Evidencia
231
Cumplió post- Sí (X) No ( ) N/A ( )
condición
Tabla 162: Ejecución de caso de prueba Desactivar usuario
Código CP61-01
Nombre del Consultar roles
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Se visualizan la lista de roles, con las opciones para crear y un enlace para ver
real el detalle.
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
232
Cumplió Sí ( ) No ( ) N/A (X)
post-
condición
Tabla 163: Ejecución de caso de prueba Consultar roles
Código CP62-01
Nombre del Crear rol
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado Mensaje de confirmación, confirmando la creación del rol
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
233
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 164: Ejecución de caso de prueba Crear rol
Código CP63-01
Nombre del Edición de un rol
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
Resultado • Mensaje de confirmación de la modificación de la actividad
real • Se visualiza el rol con los datos modificados en la tabla
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
234
Cumplió Sí (X) No ( ) N/A ( )
post-
condición
Tabla 165: Ejecución de caso de prueba Edición de un rol
Código CP64-01
Nombre del Eliminación de un rol
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsable Katherine Cerna
de Ejecutar
el Caso
Resultados
235
Resultado Mensaje de confirmación de la eliminación del rol
real
Tipo de Éxito (X) Fallo ( )
resultado
Evidencia
Código CP65-01
Nombre del Cambiar contraseña propia
Caso de
Prueba
Fecha de 19/10/2020
ejecución
Responsabl Patricia Solano
e de
Ejecutar el
Caso
Resultados
Resultado Mensaje de éxito, confirmando el cambio de contraseña.
real
Tipo de Éxito (X) Fallo ( )
resultado
236
Evidencia
Código CP66-01
Nombre del Recuperar contraseña
Caso de
Prueba
Fecha de 20/10/2020
ejecución
Responsable Patricia Solano
de Ejecutar el
Caso
Resultados
Resultado Mensaje de éxito, confirmando que la solicitud de reste ha sido enviada.
real
Tipo de Éxito (X) Fallo ( )
resultado
237
Evidencia
Código CP67-01
Nombre del Caso Consultar tiempo disponible
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Katherine Cerna
Ejecutar el Caso
Resultados
Resultado real Se muestran correctamente la lista de permisos y las horas disponibles
para cada uno del usuario.
Tipo de resultado Éxito ( X) Fallo ( )
Evidencia
238
Cumplió post- Sí ( ) No ( ) N/A (X)
condición
Tabla 169: Ejecución de caso de prueba Consultar tiempo disponible
Código CP68-01
Nombre del Caso Solicitar Permiso
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Katherine Cerna
Ejecutar el Caso
Resultados
Resultado real Mensaje de éxito en la creación de la solicitud, se muestra la solicitud en
el listado de mis permisos.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
Código CP69-01
Nombre del Caso Consultar permisos propios
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Elena García
Ejecutar el Caso
239
Resultados
Resultado real Se muestra el detalle del permiso seleccionado.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
Código CP70-01
Nombre del Gestionar Tipo de Ausencia
Caso de
Prueba
Fecha de 20/01/2021
ejecución
Responsable Marisol García
de Ejecutar el
Caso
Resultados
240
Resultado real Se visualiza todos los tipos de ausencia que se han ingresado hasta el
momento.
Tipo de Éxito (X ) Fallo ( )
resultado
Evidencia
Código CP71-01
Nombre del Caso Crear Tipo de Ausencia
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Marisol García
Ejecutar el Caso
Resultados
Resultado real Mensaje de éxito, confirmando que el tipo de ausencia ha sido guardado
exitosamente.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
241
Código CP72-01
Nombre del Caso Editar Tipo de Ausencia
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Marisol García
Ejecutar el Caso
Resultados
Resultado real Mensaje de éxito, confirmando que el tipo de ausencia ha sido guardado
exitosamente.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
Código CP73-01
Nombre del Caso Eliminar Tipo de Ausencia
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Marisol García
Ejecutar el Caso
Resultados
Resultado real Mensaje de éxito, confirmando que el tipo de ausencia ha sido eliminado
exitosamente.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
242
Código CP74-01
Nombre del Gestionar Tipo de Permiso
Caso de Prueba
Fecha de 20/01/2021
ejecución
Responsable de Patricia Solano
Ejecutar el Caso
Resultados
Resultado real Tipos de permisos mostrados correctamente
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Código CP75-01
Nombre del Crear tipo de permiso
Caso de Prueba
Fecha de 20/01/2021
ejecución
Responsable de Patricia Solano
Ejecutar el Caso
Resultados
Resultado real Mensaje de éxito, confirmando que el tipo de permiso ha sido guardado.
Tipo de Éxito ( X ) Fallo ( )
resultado
243
Evidencia
Código CP76-01
Nombre del Editar tipo de permiso
Caso de Prueba
Fecha de 20/01/2021
ejecución
Responsable Patricia Solano
de Ejecutar el
Caso
Resultados
Resultado real Mensaje de éxito, confirmando que el tipo de permiso ha sido modificado.
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
244
Cumplió post- Sí ( X ) No ( ) N/A ( )
condición
Tabla 178: Ejecución de caso de prueba Editar tipo de permiso
Código CP77-01
Nombre del Eliminar tipo de permiso
Caso de
Prueba
Fecha de 20/01/2021
ejecución
Responsable Patricia Solano
de Ejecutar
el Caso
Resultados
Resultado Mensaje de éxito, confirmando que el tipo de permiso ha sido eliminado.
real
Tipo de Éxito ( X ) Fallo ( )
resultado
Evidencia
Cumplió Sí ( X ) No ( ) N/A ( )
post-
condición
Tabla 179: Ejecución de caso de prueba Eliminar tipo de permiso
245
Código CP78-01
Nombre del Consultar tiempos disponibles de otros
Caso de Prueba
Fecha de 20/01/2021
ejecución
Responsable de Marisol García
Ejecutar el Caso
Resultados
Resultado real Se visualiza la lista de los tipos de permisos y las horas disponibles para cada
uno.
Tipo de Éxito (X ) Fallo ( )
resultado
Evidencia
Código CP79-01
Nombre del Caso Consultar permisos de otros
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Marisol García
Ejecutar el Caso
Resultados
Resultado real Se visualiza los datos personales del empleado y los detalles del
permiso.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
Cumplió post- Sí ( ) No ( ) N/A (X)
condición
Tabla 181: Ejecución de caso de prueba Consultar permisos de otros
246
Código CP80-01
Nombre del Caso Cargar asistencias
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Marisol García
Ejecutar el Caso
Resultados
Resultado real Mensaje de éxito, confirmando que las asistencias han
sido guardadas. El nuevo registro aparece en el listado.
Tipo de resultado Éxito (X ) Fallo ( )
Evidencia
Código CP81-01
Nombre del Caso Ver mis aprobaciones
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Katherine Cerna
Ejecutar el Caso
Resultados
Resultado real Se muestran correctamente las solicitudes aprobadas de los empleados.
Tipo de resultado Éxito (X) Fallo ( )
247
Evidencia
Código CP82-01
Nombre del Caso Aprobar Permiso
de Prueba
Fecha de ejecución 20/01/2021
Responsable de Katherine Cerna
Ejecutar el Caso
Resultados
Resultado real Se muestra la solicitud en la pestaña de resueltas del usuario.
Tipo de resultado Éxito (X) Fallo ( )
248
Evidencia
249
4.2.5. Resultados de pruebas realizadas
250
CP37-Ver Reporte Aprobado
CP38-Ver unidades organizativas Aprobado
CP39-Agregar unidad organizativa Aprobado
CP40-Editar unidad organizativa Aprobado
CP41-Eliminar unidad organizativa Aprobado
CP42-Creación de un Cargo Aprobado
CP43-Modificación de un Cargo Aprobado
CP44-Desactivación de un Cargo Aprobado
CP45-Ver Unidades de Medida Aprobado
CP46-Agregar Unidad de Medida Aprobado
CP47-Editar unidad de medida Aprobado
CP48-Eliminar unidad de medida Aprobado
CP49-Consultar fuentes de financiamiento Aprobado
CP50-Crear fuente de financiamiento Aprobado
CP51-Editar fuente de financiamiento Aprobado
CP52-Eliminar fuente de financiamiento Aprobado
CP53-Consultar tipos de justificación Aprobado
CP54-Crear tipo de justificación Aprobado
CP55-Editar tipo de justificación Aprobado
CP56-Eliminar tipo de justificación Aprobado
CP57-Consultar usuarios Aprobado
CP58-Crear usuario Aprobado
CP59-Editar usuario Aprobado
CP60-Desactivar usuario Aprobado
CP61-Consultar roles Aprobado
CP62-Crear rol Aprobado
CP63-Edición de un rol Aprobado
CP64-Eliminación de un rol Aprobado
CP65-Cambiar contraseña propia Aprobado
CP66-Recuperar contraseña Aprobado
CP67-Consultar tiempo disponible Aprobado
CP68-Solicitar Permiso Aprobado
CP69-Consultar permisos propios Aprobado
CP70-Gestionar Tipo de Ausencia Aprobado
CP71-Crear tipo de ausencia Aprobado
CP72-Editar tipo de ausencia Aprobado
CP73-Eliminar tipo de ausencia Aprobado
CP74-Gestionar Tipo de Permiso Aprobado
CP75-Crear tipo de permiso Aprobado
CP76-Editar tipo de permiso Aprobado
CP77-Eliminar tipo de permiso Aprobado
CP78-Consultar tiempos disponibles de otros Aprobado
251
CP79-Consultar permisos de otros Aprobado
CP80-Cargar asistencias Aprobado
CP81-Ver mis aprobaciones Aprobado
CP82-Aprobar Permiso Aprobado
Tabla 186: Cuadro resumen del resultado de las pruebas
252
5.CAPÍTULO V: PLAN
DE IMPLEMENTACIÓN
253
5.1. Objetivos
5.1.1. Objetivo General
5.2. Planeación
254
Puesto Misión del Puesto Requisito del puesto
Capacitador para el área de Explicar todas las Conocimientos sobre planes
planificación. funcionalidades del sistema y estratégico, planes anuales
responder a las dudas del de la institución y tener el
personal que va a capacitar. conocimiento sobre el uso del
sistema.
Capacitador para el área de Explicar todas las Conocimiento sobre el
recursos humanos. funcionalidades del sistema y manejo de permisos de
responder a las dudas del ausencia y tener el
personal que va a capacitar. conocimiento sobre el uso del
sistema.
Administrador de base de Implementar la base de datos Conocimiento sobre bases de
datos. y hacer migración de datos. datos PostgreSQL.
Desarrollador en Angular y Realizar la instalación tanto Conocimiento sobre sitios en
Spring Boot del Backend como el producción, Spring Security.
Frontend
Tabla 187: Recurso humano que va a participar en el proyecto
3. Verificar que se cuente con el recurso de hardware necesario para la implementación del
sistema, tanto como en el servidor y los equipos donde se utilizará la aplicación.
Instalación
Pruebas
255
Capacitación del personal
256
Puesta en marcha
Después de verificar los resultados de la fase de pruebas, verificar que cada módulo está
funcionando correctamente y si no se encuentra dificultad alguna, se oficializa que el sistema
está listo para su uso.
Cronograma de actividades
No. Actividad Duración Fecha Fecha Final
(día hábil) Inicial
Preparación del proyecto
1 Asignación de director del proyecto 1 1/2/2021 1/2/2021
2 Selección del recurso humano que va a 1 1/2/2021 1/2/2021
participar en el proyecto
3 Verificar que se cuente con el recurso de 1 2/2/2021 2/2/2021
hardware necesario para la implementación
Instalación
4 Instalación de una máquina virtual en el 1 3/2/2021 3/2/2021
servidor de DIGESTYC
5 Instalación de la base de datos PostgreSQL 1 4/2/2021 4/2/2021
6 Instalar Git, Java y Maven 1 4/2/2021 4/2/2021
7 Instalación del backend 1 4/2/2021 4/2/2021
8 Instalar Node, npm, y CLI 1 5/2/2021 5/2/2021
9 Instalación del frontend 1 5/2/2021 5/2/2021
10 Instalación de navegadores en las máquinas 3 8/2/2021 11/2/2021
donde se usará la aplicación o verificar que
tengan la última versión instalada
Pruebas
11 Creación de datos de prueba 1 12/2/2021 12/2/2021
12 Diseño de pruebas que permitan detectar 2 15/2/2021 16/2/2021
errores en la instalación del SIAPI
13 Realización de las pruebas, estas deben 3 17/2/2021 19/2/2021
verificar que cada usuario pueda acceder a sus
respectivas pantallas según sus permisos, que
se almacenen correctamente los datos.
14 Verificar los resultados de las pruebas y hacer 1 22/2/2021 22/2/2021
correcciones.
Capacitación del personal
15 Preparación de la capacitación 2 23/2/2021 24/2/2021
16 Capacitación del personal 6 25/2/2021 4/3/2021
Puesta en marcha
17 Arranque del sistema 1 5/3/2021 5/3/2021
Tabla 189: Cronograma de actividades del plan de implementación
257
CONCLUSIONES
Mediante el análisis de la situación actual y utilizando las técnicas Lluvia de Ideas y Diagrama
Causa – Efecto, se logró identificar el principal problema que actualmente se tiene en la Unidad
de Planificación y Desarrollo Institucional y el Departamento de Recursos Humanos de DIGESTYC;
además de los factores que se ven involucrados los cuales son: Personas, Procedimientos,
Presupuesto, Tecnología e Infraestructura.
La administración de procesos es una herramienta fundamental en toda institución, ya sea de
forma manual o mecanizada, una mala administración hace fracasar cualquier intento por
mejorar y obtener crecimiento. Es por eso que con el desarrollo de este Sistema Informático se
benefician la unidad de Planificación y Desarrollo Institucional, también el departamento de
Recursos Humanos; así como los empleados de las diferentes unidades que conforman la
DIGESTYC.
Por medio de identificación de requerimientos pudimos determinar lo que los usuarios necesitan,
plasmando estas necesidades en la etapa de análisis y diseño, pero se requirió de una gran
participación de ellos para garantizar que el software cumpla con los objetivos de la institución.
El prototipado incremental permite validar con los clientes eficientemente el diseño de la
aplicación por cada incremento que se realiza, ayuda a evitar grandes cambios o inconformidades
del cliente durante la etapa de desarrollo porque les permite ver el alcance del software. También
se puede reutilizar parte del html y CSS del prototipo en la etapa de desarrollo y ayuda a tener
una visión clara de lo que se va a programar por lo que utilizar esta metodología es ventajosa
para los desarrolladores.
258
RECOMENDACIONES
4. Backups periódicos: Los datos almacenados en este sistema serán de suma importancia
para la institución, por lo cual la perdida de los mismos incurriría en graves consecuencias
en términos de eficiencia y, por lo tanto, en términos económicos. Recomendamos realizar
al menos un backup diario en las horas que haya menor uso del sistema.
5. Actualizar periódicamente las dependencias del proyecto: Dado que el sistema utiliza
dependencias, ya sean estas de Maven o NPM, es necesario mantener estas al día con su
versión más reciente, esto ayudará a minimizar el riesgo de hackeo del sistema y, además,
prolongará la vida útil del mismo.
259
REFERENCIAS
Alvarez, M. A. (9 de Mayo de 2001). Qué es PHP. Recuperado el 30 de Septiembre de 2020, de
Qué es PHP: https://desarrolloweb.com/articulos/392.php
Angeles, J. (3 de Agosto de 2020). ¿Qué es Python? El lenguaje de programación más popular de
2020 | Crehana PE. Recuperado el 12 de Septiembre de 2020, de ¿Qué es Python? El
lenguaje de programación más popular de 2020 | Crehana PE:
https://www.crehana.com/pe/blog/web/que-es-python/
Asamblea Legislativa. (16 de Abril de 2020). Asamblea Legislativa de El Salvador. Obtenido de
https://www.asamblea.gob.sv/sites/default/files/documents/decretos/B6D83DBF-
32D9-4DEF-BE6C-88D49137BC63.pdf
Blancarte, O. (17 de Julio de 2018). Que es Spring Boot y su relación con los microservicios.
Recuperado el 13 de Agosto de 2020, de Que es Spring Boot y su relación con los
microservicios: https://www.oscarblancarteblog.com/2018/07/17/spring-boot-relacion-
los-microservicios/
Borgues, S. (19 de Noviembre de 2019). ¿Qué es PostgreSQL? - Para qué sirve, Características e
Instalación. Recuperado el 30 de Septiembre de 2020, de ¿Qué es PostgreSQL? - Para qué
sirve, Características e Instalación: https://blog.infranetworking.com/servidor-
postgresql/#Que_es_PostgreSQL
Cortez, J. (16 de Abril de 2020). Jefe del Departamento de Análisis y Desarrollo.
Desarrollo de aplicaciones híbridas con entorno Ionic. (11 de Junio de 2019). Obtenido de
https://fp.uoc.fje.edu/blog/desarrollo-de-aplicaciones-hibridas-con-entorno-ionic/
DEVS, Q. (31 de Mayo de 2019). Qué es Ionic y por qué te interesa conocerlo si eres desarrollador
web. Obtenido de Qué es Ionic | Quality Devs | Somos Desarrolladores:
https://www.qualitydevs.com/2019/05/31/que-es-ionic-desarrollador-web/
Gobierno de El Salvador. (2020). Decretos y Comunicados | COVID-19. Obtenido de
https://covid19.gob.sv/category/noticias/decretos-y-comunicados/
ICTEA. (s.f.). ¿Qué es el lenguaje de programación JAVA? - Base de Conocimientos - ICTEA.
Recuperado el 30 de Septiembre de 2020, de ¿Qué es el lenguaje de programación JAVA?
- Base de Conocimientos - ICTEA:
https://www.ictea.com/cs/knowledgebase.php?action=displayarticle&id=8790
Jaime, B. (Diciembre de 2019). Características Del Lenguaje Java Ventajas Y Desventajas.
Recuperado el 30 de Septiembre de 2020, de Características Del Lenguaje Java Ventajas
Y Desventajas: https://idoc.pub/documents/idocpub-19n07gv1o5lv
260
Keep Services. (9 de Septiembre de 2018). Consumo eléctrico de las computadoras. Recuperado
el 7 de abril de 2020, de KEEP.SERVICES:
https://www.keep.services/2018/09/08/consumo-electrico-de-las-computadoras/
Lopez, D. (26 de Febrero de 2020). Encargada del área de Registro y Control de Personal.
Ministerio de Administraciones Públicas. (12 de Abril de 2020). Análisis del Sistema de
Información. Obtenido de Portal Administración Electrónica:
https://administracionelectronica.gob.es/pae_Home/dam/jcr:ad870327-56b7-4dfa-
af15-e62222f45b90/METRICA_V3_Analisis_del_Sistema_de_Informacion.pdf
Ministerio de Administraciones Públicas. (12 de Abril de 2020). Diseño del Sistema de
Información. Obtenido de Portal Administración Electrónica:
https://administracionelectronica.gob.es/pae_Home/dam/jcr:7f366cd1-6759-42d9-
9e0b-31edce0256d9/METRICA_V3_Diseno_del_Sistema_de_Informacion.pdf
Ministerio de Administraciones Públicas. (12 de Abril de 2020). Planificación de Sistemas de
Información. Obtenido de Portal de Administración Electrónica:
https://administracionelectronica.gob.es/pae_Home/dam/jcr:8d2cfee5-5617-4dea-
8cf8-7b7a0131de84/METRICA_V3_Panificacion_de_Sistemas_de_Informacion.pdf
Molina Argueta, Y. d. (14 de Abril de 2020). Jefa de la Unidad de Planificación y Desarrollo
Institucional.
Programación en Java/Características del lenguaje. (21 de Septiembre de 2020). Recuperado el
30 de Septiembre de 2020, de Programación en Java/Características del lenguaje:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Caracter%C3%ADsticas_d
el_lenguaje
Robles, V. (5 de Agosto de 2017). ¿Que es Angular y para que sirve? Recuperado el 13 de Agosto
de 2020, de ¿Que es Angular y para que sirve?:
https://victorroblesweb.es/2017/08/05/que-es-angular-y-para-que-sirve/
Superintendencia General de Electricidad y Telecomunicaciones. (2020). Pliego tarifario del
suministro de energía eléctrica al consumidor final, vigente del 15 de enero de 2020 al 14
de abril de 2020. Recuperado el 8 de abril de 2020, de Superintendencia General de
Electricidad y Telecomunicaciones: https://www.siget.gob.sv/tarifas-electricidad-ano-
2020/
Web, D. (2016). Git vs. SVN: una comparativa del control de versiones - 1&1. Recuperado el 13 de
Agosto de 2020, de Git vs. SVN: una comparativa del control de versiones - 1&1:
https://www.1and1.es/digitalguide/paginas-web/desarrollo-web/git-vs-svn-una-
comparativa-del-control-de-versiones/
261
GLOSARIO
A
API: abreviatura de Application Programming Interfaces que en español significa interfaz de
programación de aplicaciones, es un conjunto de definiciones y protocolos que se utiliza para
desarrollar e integrar el software de las aplicaciones.
C
Cuadro de Mando Integral (CMI): es un modelo de gestión que traduce la estrategia en objetivos
relacionados entre sí, medidos a través de indicadores y ligados a unos planes de acción que
permiten alinear el comportamiento de los miembros de la organización con la estrategia de la
empresa.
D
Descentralización: proceso de distribuir o dispersar funciones, poderes, personas o cosas fuera
de una ubicación o autoridad central.
P
Prototipado incremental: metodología en la que se tienen múltiples ciclos de desarrollo, lo que
hace que el ciclo de vida sea un ciclo de múltiples cascadas. El producto final se divide en
prototipos pequeños y se desarrolla individualmente, posteriormente los prototipos se fusionan
en un solo producto.
W
Web Scraping: es una técnica empleada para extraer grandes cantidades de datos de sitios web,
mediante la cual los datos se extraen y se guardan en un archivo local o en una base de datos en
formato de tabla.
262
ANEXOS
Herramientas Opciones
Procesador de Texto Writer – Libre Office (https://es.libreoffice.org/), Microsoft
Office Word (https://www.office.com/).
Diagramador Lucidchart con cuenta estudiantil
(https://www.lucidchart.com/), Power Designer
(https://www.sap.com/products/powerdesigner-data-
modeling-tools.html).
IDE o Editor de Texto Visual Studio Code (https://code.visualstudio.com/), Eclipse
(https://www.eclipse.org/ide/), Sublime Text 3
(https://www.sublimetext.com/3)
Sistema Operativo del Servidor Debian 10 (https://www.debian.org/), Microsoft Windows
Server 2012 (https://www.microsoft.com/es-
es/download/details.aspx?id=29062)
Servidor Web Apache httpd 2.4 (https://httpd.apache.org/)
Motor de Base de Datos PostgreSQL 12.0 (https://www.postgresql.org/), Microsoft SQL
Server 2008 R2 (https://www.microsoft.com/es-
es/download/details.aspx?id=30438)
Framework CSS Bootstrap 4 (https://getbootstrap.com/)
Framework Frontend Angular 9 (https://angular.io/), React (https://es.reactjs.org/)
Framework Backend Spring (https://spring.io/), Net Core
(https://dotnet.microsoft.com/download)
Control de Versiones Git (https://git-scm.com/)
Tabla 190: Alternativas para Herramientas
263
Anexo 2: Planificación Realista
264
Anexo 3: Planificación Pesimista
265
Anexo 4: Infraestructura para la implementación
Equipo Características
Servidor • Memoria RAM: 32 GB (16x2GB), 1066MHz, DDR3, Single Ranked
• Procesador: 2x Intel® Xeon® E5-4620 2.20GHz, 16M Caché, 7.20 GT/s QPI,
Turbo, 8C, 95W, Max Mem 1333MHz.
• Disco Duro: 4 HD de 300 GB 10K RPM Serial-Attach SCSI 6Gbps 2.5 pulgadas,
Configurados para RAID 5.
• Sistema operativo: Microsoft Windows 2012 Server Estándar R2 64 Bits,
español, Licencia MOLP Gobierno.
Clientes • Memoria RAM: 2 GB.
• Procesador: Core 2 DUO 2.13 GHz
• Disco Duro: 80 GB
• Sistema operativo: Windows XP
• Google Chrome: 79.0
• Firefox: 51.0
Tabla 191: Infraestructura para la implementación
BACKEND
LENGUAJE DE PROGRAMACIÓN
266
PHP: es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del
servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y
mucha documentación.
En el siguiente cuadro se muestra el análisis comparativo realizado a los 3 lenguajes de
programación.
FORTALEZAS
• Es una fuente abierta. • Se ejecuta del lado del • Fácil.
• Independiente de la cliente • Rápido.
plataforma. • lenguaje de scripting • Multiplataforma.
• Realiza la colección de seguro y fiable • Maneja base de datos
basura de las ayudas, así que
267
la gerencia de memoria es • Es un lenguaje fácil de • Libre y gratuito.
automática. aprender y que puede • Posee varias funciones
• Asigna objetos en el apilado. hacer un sitio web muy • No requiere definición de
• Desarrollo de aplicaciones dinámico y lograr variables
web dinámicas. grandes efectos. • Puede ser combinado
• Programación modular y • múltiples librerías de junto a HTML
código reutilizable. terceros las cuales • Muchos servicios de
pueden facilitar el alojamiento web tienen
desarrollo PHP
DEBILIDADES
• Dado que la máquina virtual • No soporta herencias • Necesita un servidor para
de java es un intérprete y • Código visible por funcionar
redunda en una falta de cualquier usuario. • La POO es deficiente para
rendimiento con relación a aplicaciones grandes es
aplicaciones equivalentes muy lento lo que en sitios
escritas en código máquina web que tendrán muchas
nativo. peticiones por segundo o
• La API es muy grande y sobre cargas muy pesadas de
diseñada acceso a BD, no será la
• No soporta decimales mejor opción.
verdaderos.
EXPERIENCIA PREVIA
SI SI NO
Tabla 192: Análisis comparativo de lenguajes de programación
FRAMEWORK
SPRING BOOT
Spring Boot es una herramienta que nace con la finalidad de simplificar aún más el desarrollo de
aplicaciones basadas en el ya popular framework Spring Core. Spring Boot busca que el
desarrollador solo se centre en el desarrollo de la solución, olvidándose por completo de la
compleja configuración que actualmente tiene Spring Core para poder funcionar.
Spring Boot centra su éxito en las siguientes características que lo hacen extremadamente fácil
de utilizar:
• Configuración: Spring Boot cuenta con un complejo módulo que auto configura todos los
aspectos de nuestra aplicación para poder simplemente ejecutar la aplicación, sin tener
que definir absolutamente nada.
• Resolución de dependencias: Con Spring Boot solo hay que determinar qué tipo de
proyecto estaremos utilizando y él se encarga de resolver todas las
librerías/dependencias para que la aplicación funcione.
268
• Despliegue: Spring Boot se puede ejecutar como una aplicación Stand-alone, pero
también es posible ejecutar aplicaciones web, ya que es posible desplegar las aplicaciones
mediante un servidor web integrado, como es el caso de Tomcat, Jetty o Undertow.
• Métricas: Por defecto, Spring Boot cuenta con servicios que permite consultar el estado
de salud de la aplicación, permitiendo saber si la aplicación está prendida o apagada,
memoria utilizada y disponible, número y detalle de los Bean’s creado por la aplicación,
controles para el prendido y apagado, etc.
• Extensible: Spring Boot permite la creación de complementos, los cuales ayudan a que la
comunidad de Software Libre cree nuevos módulos que faciliten aún más el desarrollo.
FRONTEND
TECNOLOGIA WEB
ANGULAR
Es un framework de desarrollo para JavaScript creado por Google. La finalidad de Angular es
facilitar el desarrollo de aplicaciones web SPA y además de brindar herramientas para trabajar
con los elementos de una web de una manera más sencilla y óptima.
Otro propósito que tiene Angular es la separación completa entre el front-end y el back-end en
una aplicación web.
Características
• Permite crear aplicaciones de una sola página. La navegación entre secciones y páginas
de la aplicación, así como la carga de datos, se realiza de manera dinámica, casi
instantánea, asíncronamente haciendo llamadas al servidor (backend con un API REST) y
sobre todo sin refrescar la página en ningún momento.
• Cuenta con respaldo de Google y tiene una comunidad grande.
TECNOLOGIA MOVIL
IONIC
Ionic es una estructura tecnológica (Framework) de código abierto que se utiliza en el desarrollo
de aplicaciones móviles híbridas, es decir, se combinan el HTML5, CSS y JavaScript dando como
resultado aplicaciones con una interfaz amigable e intuitiva para el usuario que luego se
comercializan o descargan en plataformas como Android o IOs.
Ventajas
269
• Da soporte al entorno AngularJS y estudia incluir otros, como Ember.js o Knockout.
• Se puede reutilizar el código de una aplicación web en una aplicación móvil.
• En el desarrollo de aplicaciones híbridas, solo se necesita un único proceso de desarrollo
e implantación para Android, iOS y web.
BASE DE DATOS
POSTGRESQL
PostgreSQL, o simplemente Postgres para darle un nombre más pintoresco, es un sistema de
código abierto de administración de bases de datos del tipo relacional, aunque también es
posible ejecutar consultas que sean no relaciones. En este sistema, las consultas relacionales se
basan en SQL, mientras que las no relacionales hacen uso de JSON.
Características
Es de código abierto: Esto ha permitido que una gran comunidad de desarrolladores crezca para
respaldarlo y continuar mejorándolo.
Es gratuito: como cabe esperarse se trata de un sistema totalmente gratis, no tenemos que pagar
nada por utilizarlo. Cualquier persona es libre de descargar PostgreSQL desde su sitio web oficial
y darle uso sin ningún costo.
Es multiplataforma: Es un software que puede correr bajo distintos entornos y sistemas
operativos, y es compatible con muchos de los servidores web más populares como Apache,
Nginx y LiteSpeed por mencionar algunos.
Es fácil de usar: Su administración se vuelve muy sencilla por medio de paneles con PgAdmin,
que básicamente viene a ser un phpMyAdmin orientado para PostgreSQL. La posibilidad de
realizar diversos procedimientos en forma sencilla hace que PgAdmin sea ampliamente utilizado,
aunque también permite realizar tareas más complejas.
Puede manejar un gran volumen de datos: una característica extremadamente importante de
PostgreSQL es su gran capacidad para el manejo de grandes volúmenes de datos, algo en lo que
otros sistemas como MySQL aún no hacen tan bien. Las bases de datos de gran tamaño pueden
hacer pleno uso del MVCC de PostgreSQL, resultando en un gran rendimiento. MVCC es un
método de control que nos permite realizar tareas de escritura y lectura simultáneamente.
Soporte total de ACID: otro punto muy importante que no se debe dejar de lado es el
cumplimiento de ACID. Estas siglas en inglés refieren a: atomicity, consistency, isolation y
durability, básicamente hablan de la atomicidad, consistencia, aislamiento y durabilidad de las
transacciones que se realizan en una base de datos. Tener soporte completo de ACID da la
seguridad de que, si se produce una falla durante una transacción, los datos no se perderán ni
terminarán donde no deban.
270
GESTOR DE CONTROL DE VERSIONES
El sistema de control de versiones que se utiliza durante el desarrollo de este proyecto es Git,
que es un sistema de control de versiones distribuido, haciendo uso de la plataforma de
desarrollo colaborativo GitLab para alojar el repositorio del código del proyecto.
Para elegir el gestor de control de versiones para el desarrollo del proyecto se realizó una
comparación de las ventajas y desventajas que Git posee frente a SVN y Bazaar; las cuales se
detallan en el cuadro siguiente:
271
archivos involucra copias y primera copia. Esto ocasiona que los
cambios de nombre. cambios en el código sean perdidos
• Modificaciones atómicas, si por de manera inadvertida tras
algún motivo uno de los múltiples operaciones de
archivos de la actualización, no combinación de copias.
puede ser modificado entonces • No implementa algunas operaciones
toda la operación es cancelada. administrativas, como la eliminación
• Se envían sólo las diferencias en de registros de algunos datos
ambas direcciones. almacenados en el repositorio, la
• Creación de ramas y etiquetas, cual puede hacerse de forma manual
por cada rama no se crea una y engorrosa.
nueva copia en el depósito de • Requiere que cada carpeta en el lado
archivos, sino que utiliza un del cliente incluya una carpeta
árbol diferencial de cambios oculta ".svn". Estas carpetas impiden
con el cual conoce qué archivos la generación de copias distribuibles
pertenecen a una rama. de una versión individual y son las
• Permite bloquear archivos o causantes de la mayoría de
carpetas individualmente, para problemas que enfrentan los
evitar que sean editados por usuarios de esta herramienta.
más de un usuario. Usado • No resuelve el problema de aplicar
generalmente en la edición de repetidamente parches entre ramas,
archivos binarios. por lo cual no facilita el llevar la
• Capaz de mantener el control cuenta de qué cambios se han
de las diferencias entre archivos trasladado.
binarios, con lo cual consigue
ahorrar espacio en el
repositorio de archivos.
• Se integra fácilmente a un
servidor web Apache.
BAZAAR • Se puede utilizar para • Se trabaja siempre con acceso al
adaptarse a cualquier tipo de servidor remoto.
proyecto. • No es muy popular.
• Es fácil de modificar muy • Consume ancho de banda.
intuitivo. • Estadísticamente es lento.
• Integrable se puede añadir • El Launchpad es nuevo
proyectos existentes.
• Tiene una comunidad fuerte
que mantiene las cosas, como
plug-ins y bastantes
herramientas de terceros como
GUI para añadir interfaces
gráficas para el sistema.
Tabla 193: Ventajas y Desventajas de gestores de control de versiones
272
Además, se realizó una comparación directa de los tres gestores, la cual se detalla en la siguiente
tabla:
Las principales características que se tomaron en consideración para tomar una decisión fueron:
previo conocimiento, ya que el equipo de desarrollo ha trabajado en otros proyectos con Git;
rapidez en la ejecución, costó, plataforma web y la adaptabilidad con los cuales se determinó que
Git es el mejor controlador de versiones para nuestro proyecto. En dado caso las tecnologías de
programación cambien se considerará elegir otro control de versiones.
273
Anexo 6: Carta de Aceptación del Sistema
274