CAP-1-2-3-4-5 GABRIEL Corregido
CAP-1-2-3-4-5 GABRIEL Corregido
PROYECTO DE GRADO
EL ALTO – BOLIVIA
2022
DEDICATORIA
3
RESUMEN
4
ABSTRACT
This project was developed for the administration of physical magazines, their
purchase and sale, also for the publication of scientific magazines in digital files that
are available to students, teachers and the general public, free and purchased
magazines.
The objective of this project is to develop and implement the web information system
for the administration and digital publication of scientific journals, for the Postgraduate
Directorate of the Public University of El Alto, which allows managing the information
in a more organized and efficient way.
For the development of the web system, the UWE methodology was applied, for the
design phase the Magicdraw tool was used. ISO/IEC 25000 was used to evaluate the
quality of the software product, ISO 27000 was used for software security, and the
software cost estimate was made with COCOMO II based on function points.
The development tools used were: PostgreSQL as database manager, PHP 7.4 as
programming language, Apache 2 as HTTP server, Bootstrap 5, Vuejs as frontend
framework and CodeIgniter 4 as backend framework.
5
ÍNDICE GENERAL
PAG (s)
1.1. INTRODUCCIÓN.........................................................................................................................1
1.2. ANTECEDENTES .......................................................................................................................1
1.2.1. Antecedentes de la Institución ..................................................................................................... 1
1.2.1.1. Universidad Pública de El Alto ................................................................................................. 1
1.2.1.2. Dirección de posgrado ............................................................................................................. 2
1.2.2. Antecedentes afines al proyecto.................................................................................................. 4
1.2.2.1. Internacional ............................................................................................................................ 4
1.2.2.2. Nacional................................................................................................................................... 4
1.2.2.3. Local ........................................................................................................................................ 5
1.3. PLANTEAMIENTO DEL PROBLEMA .........................................................................................6
1.3.1. Problema Principal ...................................................................................................................... 6
1.3.2. Problemas Secundarios............................................................................................................... 7
1.3.3. Formulación del problema ........................................................................................................... 7
1.4. OBJETIVOS ................................................................................................................................7
1.4.1. Objetivo General .......................................................................................................................... 7
1.4.2. Objetivo Específicos .................................................................................................................... 8
1.5. JUSTIFICACION .........................................................................................................................8
1.5.1. Justificación Técnica.................................................................................................................... 8
1.5.2. Justificación Económica .............................................................................................................. 8
1.5.3. Justificación Social ...................................................................................................................... 8
1.6. METODOLOGÍA ..........................................................................................................................9
1.6.1. Metodología de desarrollo ........................................................................................................... 9
1.6.1.1. UWE (UML-Based Web Engineering)...................................................................................... 9
1.6.2. Métricas de calidad del software ................................................................................................. 9
1.6.2.1. ISO/IEC 25000......................................................................................................................... 9
1.6.3. Estimación de costos ................................................................................................................. 10
1.6.3.1. Cocomo II .............................................................................................................................. 10
1.6.4. Seguridad del software .............................................................................................................. 10
1.6.4.1. ISO 27000 ............................................................................................................................. 10
1.6.5. Pruebas de software .................................................................................................................. 10
1.6.5.1. Pruebas de caja negra........................................................................................................... 10
1.6.5.2. Pruebas de caja blanca ......................................................................................................... 11
1.6.5.3. Pruebas de rendimiento......................................................................................................... 11
1.6.6. Métodos de recolección de datos .............................................................................................. 11
i
1.6.6.1. La entrevista .......................................................................................................................... 11
1.6.6.2. Cuestionarios y encuestas ..................................................................................................... 11
1.6.6.3. La observación ...................................................................................................................... 11
1.7. HERRAMIENTAS ......................................................................................................................11
1.7.1. PHP Hypertext Pre-Processor ................................................................................................... 12
1.7.2. Codeigniter ................................................................................................................................ 12
1.7.3. JavaScript .................................................................................................................................. 12
1.7.4. Node js ...................................................................................................................................... 12
1.7.5. Vue js......................................................................................................................................... 12
1.7.6. Boostrap .................................................................................................................................... 13
1.7.7. XAMPP ...................................................................................................................................... 13
1.7.8. PostgreSQL ............................................................................................................................... 13
1.7.9. Apache ...................................................................................................................................... 14
1.7.10. MagicDraw................................................................................................................................. 14
1.8. LÍMITES Y ALCANCES .............................................................................................................14
1.8.1. Límites ....................................................................................................................................... 14
1.8.2. Alcances .................................................................................................................................... 14
1.9. APORTES .................................................................................................................................16
2.1. INTRODUCCIÓN.......................................................................................................................17
2.2. SISTEMA ...................................................................................................................................17
2.2.1. Sistemas informáticos................................................................................................................ 18
2.2.1.1. Estructura de los sistemas informáticos ................................................................................ 18
2.2.1.2. Comparación con un sistema de información ........................................................................ 18
2.3. APLICACIÓN WEB....................................................................................................................18
2.3.1. El cliente .................................................................................................................................... 19
2.3.2. El servidor.................................................................................................................................. 20
2.3.3. Importancia del modelo cliente servidor .................................................................................... 21
2.3.4. Componentes ............................................................................................................................ 21
2.3.5. Diferencia entre cliente y servidor ............................................................................................. 22
2.3.6. Tipos de arquitecturas cliente servidor ...................................................................................... 22
2.3.7. Ventajas y desventajas .............................................................................................................. 23
2.3.8. Api Rest ..................................................................................................................................... 25
2.3.8.1. Rest ....................................................................................................................................... 25
2.3.8.2. Principales características de una API REST ........................................................................ 25
2.3.8.3. Uso de la especificación HTTP .............................................................................................. 26
2.3.8.4. Ventajas de una API REST ................................................................................................... 27
2.4. INFORMACIÓN .........................................................................................................................28
ii
2.5. PUBLICACIÓN ..........................................................................................................................28
2.5.1. Publicación digital ...................................................................................................................... 29
2.5.2. Revistas digitales....................................................................................................................... 29
2.5.2.1. Ventajas ................................................................................................................................. 29
2.5.3. Revistas científicas .................................................................................................................... 30
2.6. METODOLOGIA UWE (UML- Based Web Engineering) ...........................................................30
2.6.1. Características de UWE ............................................................................................................ 30
2.6.2. Fases de la Metodología UWE .................................................................................................. 31
2.6.3. Modelos de la Metodología UWE .............................................................................................. 32
2.6.3.1. Modelo de Caso de Uso ........................................................................................................ 32
2.6.3.2. Modelo Conceptual ................................................................................................................ 33
2.6.3.3. Modelo de Navegación .......................................................................................................... 34
2.6.3.4. Modelo de Presentación ........................................................................................................ 34
2.6.3.5. Modelo de Procesos .............................................................................................................. 35
2.6.4. Ventajas y desventajas .............................................................................................................. 37
2.7. METODOS DE PRUEBA DEL SOFTWARE..............................................................................37
2.7.1. Métodos de prueba de caja blanca ............................................................................................ 37
2.7.2. Método de prueba de caja negra ............................................................................................... 38
2.7.3. Prueba de rendimiento .............................................................................................................. 39
2.8. MÉTRICAS DE CALIDAD DEL SOFTWARE ............................................................................39
2.8.1. Métrica de calidad ..................................................................................................................... 39
2.8.2. Medida de la calidad .................................................................................................................. 40
2.8.3. ISO/IEC 25000 .......................................................................................................................... 40
2.8.3.1. ISO/IEC 2500n – División de Gestión de Calidad .................................................................. 41
2.8.3.2. ISO/IEC 2501n – División de Modelo de Calidad .................................................................. 41
2.8.3.3. ISO/IEC 2502n – División de Medición de Calidad ................................................................ 42
2.8.3.4. ISO/IEC 2503n – División de Requisitos de Calidad ............................................................. 42
2.8.3.5. ISO/IEC 2504n – División de Evaluación de Calidad............................................................. 43
2.8.4. Ciclo de vida de la calidad del Producto Software ..................................................................... 44
2.8.5. ISO/IEC 25010 .......................................................................................................................... 45
2.8.5.1. Modelo de Calidad del Producto Software (Calidad Interna y Externa) ................................. 45
A) Adecuación funcional .................................................................................................................... 46
B) Fiabilidad ....................................................................................................................................... 46
C) Eficiencia en el desempeño ........................................................................................................... 47
D) Facilidad de uso ............................................................................................................................ 47
E) Seguridad ...................................................................................................................................... 48
F) Compatibilidad ............................................................................................................................... 48
iii
G) Mantenibilidad ............................................................................................................................... 49
H) Portabilidad.................................................................................................................................... 49
2.8.5.2. Modelo para la Calidad en Uso ............................................................................................. 50
A) Efectividad ..................................................................................................................................... 50
B) Eficiencia ....................................................................................................................................... 50
C) Satisfacción ................................................................................................................................... 51
D) Libertad de riesgo .......................................................................................................................... 51
E) Cobertura de contexto ................................................................................................................... 51
2.8.5.3. Métricas para la calidad interna, externa y en uso - ISO/IEC 25022 y 25023........................ 52
2.8.5.4. Definición de características de calidad................................................................................. 87
2.8.5.5. Definición de subcaracterísticas y atributos de calidad interna/externa más relevantes ....... 89
2.8.5.6. Modelo de indicadores y métricas ......................................................................................... 92
A) Niveles de puntuación final para la calidad interna, externa y en uso ........................................... 93
2.9. SEGURIRAD DEL SOFTWARE ................................................................................................94
2.9.1. Estándar ISO/IEC 27000 ........................................................................................................... 94
2.9.1.1. ISO/IEC 27001....................................................................................................................... 94
2.9.1.2. ISO/IEC 27002....................................................................................................................... 94
2.9.2. Niveles de acceso al sistema .................................................................................................... 95
2.10. METODOS DE ESTIMACIÓN DE COSTOS .........................................................................95
2.10.1. Modelo Constructivo de Costos (COCOMO II) .......................................................................... 95
2.11. HERRAMIENTAS DE DESARROLLO ...................................................................................97
2.11.1. Lenguaje de Programación PHP (HYPERTEXT PRE-PROCESSOR) ...................................... 97
2.11.1.1. Ventajas y desventajas .......................................................................................................... 97
2.11.2. Framework codeigniter .............................................................................................................. 98
2.11.2.1. MVC ....................................................................................................................................... 99
2.11.2.2. Ventajas del framework CodeIgniter ...................................................................................... 99
2.11.3. Lenguaje de programación JavaScript .................................................................................... 100
2.11.3.1. Características de JavaScript .............................................................................................. 100
2.11.4. Node js .................................................................................................................................... 101
2.11.5. Framework Vue js .................................................................................................................... 101
2.11.6. Framework Boostrap ............................................................................................................... 101
2.11.7. Servidor Web Apache .............................................................................................................. 102
2.11.7.1. Características ..................................................................................................................... 102
2.11.7.2. Ventajas y desventajas ........................................................................................................ 103
2.11.8. Gestor de Base de Datos PostgreSql ...................................................................................... 103
2.11.8.1. Características ..................................................................................................................... 104
2.11.8.2. Ventajas y desventajas ........................................................................................................ 104
iv
3.1. INTRODUCCION..................................................................................................................... 106
3.2. ANALISIS DE REQUERIMIENTO ........................................................................................... 106
3.2.1. Requerimientos funcionales .................................................................................................... 106
3.2.2. Requisitos No Funcionales ...................................................................................................... 108
3.2.3. Definición de actores ............................................................................................................... 109
3.2.4. Descripción de funciones......................................................................................................... 110
3.3. DISEÑO DEL SISTEMA .......................................................................................................... 111
3.3.1. Modelo de casos de uso .......................................................................................................... 111
Tabla 29 .............................................................................................................................................. 112
3.3.2. Modelo conceptual .................................................................................................................. 133
3.3.3. Modelo de navegación............................................................................................................ 134
3.3.4. Modelo de presentación .......................................................................................................... 143
3.4. DESARROLLO DEL SISTEMA ............................................................................................... 153
3.4.1. Diseño de la base de datos ..................................................................................................... 153
3.4.2. Web de administración ............................................................................................................ 155
3.4.2.1. Inicio de sesión .................................................................................................................... 155
3.4.2.2. Página de inicio ................................................................................................................... 156
3.4.2.3. Administrar usuario .............................................................................................................. 157
3.4.2.4. Administrar rol y permisos ................................................................................................... 158
3.4.2.5. Administrar categoría........................................................................................................... 159
3.4.2.6. Administrar Revistas y publicación ...................................................................................... 161
3.4.2.7. Administrar proveedor ......................................................................................................... 162
3.4.2.8. Administrar compras ............................................................................................................ 163
3.4.2.9. Administrar cliente ............................................................................................................... 164
3.4.2.10. Administrar ventas ............................................................................................................... 165
3.4.3. Web pública ............................................................................................................................. 166
3.4.3.1. Iniciar sesión ........................................................................................................................ 166
3.4.3.2. Registro de usuario.............................................................................................................. 167
3.4.3.3. Revistas ............................................................................................................................... 168
3.4.3.4. Detalle de revistas ............................................................................................................... 169
3.4.3.5. Perfil de usuario ................................................................................................................... 170
3.4.3.6. Mis favoritos ........................................................................................................................ 171
3.4.3.7. Mis compras ........................................................................................................................ 172
3.5. IMPLEMENTACION DEL SISTEMA ........................................................................................ 173
3.5.1. Requerimientos de hardware................................................................................................... 173
3.5.2. Requerimientos de software .................................................................................................... 173
3.5.3. IMPLANTACIÓN DEL SISTEMA ............................................................................................. 173
v
3.5.3.1. Instalación del gestor de base de datos Postgresql............................................................. 174
3.5.3.2. Instalación del servidor apache ........................................................................................... 175
3.5.3.3. Instalación de PHP .............................................................................................................. 176
3.5.3.4. Configurar la zona horaria del servidor ................................................................................ 177
3.5.3.5. Despliegue del aplicativo ..................................................................................................... 178
3.6. EL MANTENIMIENTO ............................................................................................................. 179
4.1. INTRODUCCION..................................................................................................................... 180
4.2. PRUEBAS DE SOFTWARE .................................................................................................... 180
4.2.1. Pruebas de Caja Blanca .......................................................................................................... 180
4.2.2. Pruebas de Caja Negra ........................................................................................................... 182
4.2.3. Pruebas de estrés ................................................................................................................... 184
4.3. SEGURIDAD SEGUN ISO 27000 (ISO/IEC 27001, ISO/IEC 27002) ...................................... 185
1.1.1 Seguridad de la Base de Datos ............................................................................................... 186
1.1.2 Seguridad de Autenticación y de usuario ................................................................................ 186
1.1.3 Seguridad de la Aplicación ...................................................................................................... 188
1.1.4 Seguimiento de acciones ......................................................................................................... 189
4.4. METRICA DE CALIDAD DEL SOFTWARE ............................................................................ 190
4.4.1. Selección de las características y subcaracterísticas de calidad interna más relevantes .... 190
4.4.2. Métricas de calidad interna seleccionadas .............................................................................. 193
4.4.3. Ponderación en porcentaje de las características de calidad más relevantes para la calidad
interna 194
4.5. ESTIMACION DE COSTO....................................................................................................... 198
4.5.1. Técnica de Punto Función (iso/iec 20926)............................................................................... 198
4.5.2. COCOMO II ............................................................................................................................. 208
4.5.2.1. Costo del Desarrollo de Software ........................................................................................ 209
4.5.2.2. Costo de Implementación del software ................................................................................ 212
4.5.2.3. Costo de Elaboración del software ...................................................................................... 213
4.5.2.4. Costo Total del software ...................................................................................................... 213
4.6. ANTES Y DESPUES DEL SISTEMA ...................................................................................... 214
5.1. INTRODUCCIÓN..................................................................................................................... 215
5.1.1. CONCLUSIONES .................................................................................................................... 215
5.1.2. RECOMENDACIONES............................................................................................................ 216
Bibliografía ..............................................................................................................................................2
vi
INDICE DE FIGURAS
vii
Figura 27 Administrar ventas.............................................................................................................. 121
Figura 78 Muestra de código sql de la base de datos (tabla revista) .................................................. 155
Figura 114 Uso de los comandos para la instalación de PostgreSQL ................................................. 175
Figura 115 Uso de los comandos para la instalación del servidor web apache .................................. 176
Figura 116 Uso de los comandos para la instalación de PHP ............................................................. 177
Figura 117 Uso de los comandos para la configuración de la zona horaria ........................................ 178
Figura 122 Prueba de estrés de la página de inicio de los usuarios lectores ...................................... 184
Figura 124 Resultados obtenidos de la prueba con 100 peticiones .................................................... 185
Figura 129 Calidad del producto software categorías y subcategorías ............................................... 190
Figura 130 Aplicación de la matriz de calidad para evaluar la calidad interna .................................... 195
xi
INDICE DE TABLAS
Tabla 15 Ejemplo del nivel de importancia para las características de calidad interna más relevantes88
Tabla 16 Ejemplo del nivel de importancia para las características de calidad externa más relevantes
..............................................................................................................................................................88
Tabla 17 ................................................................................................................................................89
Tabla 18 Ejemplo del nivel de importancia de subcaracterísticas y atributos de calidad interna más
relevantes..............................................................................................................................................89
Tabla 19 Ejemplo del nivel de importancia de subcaracterísticas y atributos de calidad externa más
relevantes..............................................................................................................................................91
Tabla 20 Ejemplo del nivel de importancia de subcaracterísticas y atributos de calidad en uso más
relevantes..............................................................................................................................................92
Tabla 22 Niveles de puntuación final para la calidad interna, externa y en uso ....................................94
xii
Tabla 24 Requisitos Funcionales Web de Administración .................................................................. 106
Tabla 63 Niveles de puntuación final para la calidad interna, externa y en uso.................................. 197
xv
CAPITULO I
MARCO
PRELIMINAR
1.1. INTRODUCCIÓN
1
superior cuenta con 8 áreas y 37 carreras en las áreas de medicina, ingeniería,
socio-político-económica y tecnología. Dentro de su funcionamiento se enmarca en el
estatuto orgánico aprobado en 2007. (Upea, 2021)
Creación
Ubicación
2
tecnológica y el conocimiento, en los procesos de integración social,
confrontando y asimilando la incidencia de los valores socioeducativos, para el
desarrollo económico, productivo y social a nivel local, regional e
internacional”.
Naturaleza
Se entiende por estudios de Posgrado, toda actividad que tenga por objeto
elevar el nivel académico y de desempeño profesional luego de haber
obtenido el grado de técnico Superior Universitario o Licenciatura. Tiene como
finalidad la formación de profesionales universitarios que profundicen la
investigación y el conocimiento, respondan a la demanda social en campos
específicos y del ejercicio profesional, además de formar investigadores que
contribuyan a los latos fines del desarrollo de la ciencia y la tecnología de
país. (Upea, 2021)
3
1.2.2. Antecedentes afines al proyecto
1.2.2.1. Internacional
María Paola Reibàn Morales, 2012, autora de la tesis del trabajo titulado
“Estudio, diseño e implementación de un sistema de comercio
electrónico para la empresa Atenas Tours operadora de turismo”.
Plantea una implementación mediante el uso de Sistemas de Gestión
de Contenidos (CMS) para el comercio electrónico. Uno de sus
objetivos es el uso de gestor de contenido CMC JadaSite y el uso de
una base de datos MySql. La conclusión que llego el autor. El sitio web
fue diseñado e implementado de acuerdos a las necesidades de la
empresa Atenas Tours.
Andrés Arturo Vergara Salas, 2017, autor del proyecto de grado titulado
“Desarrollo de página web accesible con contenido informativo del
programa de ingeniería de sistemas de la universidad libre
seccional Bogota”. Plantea el uso de la metodología SCRUM a partir
de la recolección de la información y herramientas de modelado UML. los
objetivos que plantea el autor son, diseñar el sitio web a partir de la
información obtenida de los actores, desarrollar el sitio web utilizando la
metodología de desarrollo SCRUM y bajo las normas internacionales de
la W3C, para cumplir con los estándares de desarrollo WEB. La
conclusión que llego el autor. El sitio web cuenta con un asistente de voz
con el cual los usuarios con algún tipo de discapacidad visual congénita
o adquirida van a poder acceder al contenido del sitio web.
Fue desarrollada en la Universidad Libre de Colombia Seccional Bogotá.
1.2.2.2. Nacional
4
comparativo de una tienda física de productos de computación”.
Plantea estudiar la dinámica de la venta virtual, desarrollando una
aplicación Web en base a una comparación de una Tienda Física, para
facilitar la venta de material de computación, así como ayudar a su
gestión, de una forma sencilla y clara para los usuarios y el administrador
de la aplicación. Los objetivos que plantea el autor son, realizar un
análisis comparativo entre una tienda física y una virtual, diseñar un sitio
web e implementar usando la arquitectura de software (MVC) Modelo
Vista Controlador usando el lenguaje de programación php.
1.2.2.3. Local
Jose Alvaro Mamani Saucedo, 2020, autor del proyecto de grado titulado
“Aplicación web para la administración y catálogo de productos”.
Plantea el uso de metodologías Uwe, herramientas como: MariaDB,
framework Bootstrap, leguaje de programación Php, para su desarrollo.
Los objetivos que plantea el autor son, realizar el análisis de la situación
actual de la institución, implementar módulos de adicionar, actualizar,
eliminar los registros de los registros, módulo de catálogo para que
visualicen los clientes.
6
revistas son almacenadas en hojas de cálculo como Excel, lo que lleva a
pérdidas económicas de los ejemplares impresos.
7
1.4.2. Objetivo Específicos
8
1.6. METODOLOGÍA
Análisis de Requerimientos
Diseño del Sistema.
Codificación del Software
Pruebas
La Instalación o Fase de Implementación
El Mantenimiento
9
modelo de calidad del producto software, e ISO/IEC 14598, que abordaba el proceso
de evaluación de productos software. Esta familia de normas ISO/IEC 25000 se
encuentra compuesta por cinco divisiones. (ISO25000, 2022)
1.6.3.1. Cocomo II
10
1.6.5.2. Pruebas de caja blanca
1.6.6.1. La entrevista
1.6.6.3. La observación
Las herramientas que se utilizan en las etapas de análisis, diseño y desarrollo del
sistema se detallan a continuación:
11
1.7.1. PHP Hypertext Pre-Processor
1.7.2. Codeigniter
1.7.3. JavaScript
1.7.4. Node js
1.7.5. Vue js
Creado por Evan You, Vue.js es un marco JavaScript progresivo de código abierto
para crear interfaces de usuario (UI) y aplicaciones de una sola página; se conoce
12
comúnmente como Vue. Este marco utiliza "alto desacoplamiento", lo que permite a
los desarrolladores crear progresivamente interfaces de usuario (UI). (Mamani, 2019)
1.7.6. Boostrap
1.7.7. XAMPP
1.7.8. PostgreSQL
13
1.7.9. Apache
1.7.10. MagicDraw
1.8.1. Límites
1.8.2. Alcances
14
Facilitar al público información de las revistas gratuitas y puedan visualizar el
contenido creando una cuenta gratis.
Web de administración:
Módulo inicio de sesión: Los usuarios ingresar con el rol que tengan, ejemplo
administrador, editor, vendedor.
Módulo tablero de información: Contiene información de la cantidad de
usuarios, revistas publicadas, etc.
Módulo de usuarios: Se administra a los nuevos usuarios y asignar su rol
como usuario.
Módulo de roles y permisos: Se asigna los permisos de contenido, creación,
eliminación, lista, edición, reportes, a los usuarios con el rol de editor,
vendedor.
Módulo de categoría: Se administra las distintas categorías de las revistas,
Módulo de autores: Se administra a los autores de las revistas.
Módulo de revistas y publicación: Se administra el registro, actualización,
eliminación de las revistas y su publicación.
Módulo de proveedor: Se administra a las empresas que provee las revistas
físicas para posgrado.
Módulo de compra: Se administra las compras de las revistas de los
proveedores y los detalles, cantidad, precio, y otros.
Módulo de clientes: Se administra a los clientes que deseen adquirir una
copia física de una revista.
Módulo de ventas: Se administra las ventas de las revistas y sus detalles.
Módulo de ventas en línea: Se administra las ventas que se realizaron a los
usuarios que adquieran una copia digital.
Módulo de reportes importantes: Son los distintos informes que se realicen
de los distintos módulos.
Web público:
15
Módulo revistas: Se visualizan las revistas publicadas.
Módulo detalle de las revistas: Se visualizan los detalles de cada revista
como, titulo, fecha de publicación, autor, etc.
Módulo inicio de sesión: Los usuarios ingresar con el rol lector.
Módulo registro de usuario: Se registran los usuarios interesados en ver
revista y guardar en favoritos para ver luego.
Módulo perfil de usuario: Contiene la información personal de los usuarios
con una cuenta gratis.
Módulo cambiar contraseña: Los usuarios con una cuenta pueden modificar
su contraseña.
Módulo favorito del usuario: Almacena las revistas de interés para ver
luego.
Módulo compras del usuario: Se almacena las compras que realizo los
usuarios que adquirieron un copia de una revista de pago.
Módulo carrito de compras del usuario: Se almacena las revistas que
desea adquirir el usuario.
1.9. APORTES
16
CAPITULO II
MARCO
TEORICO
2.1. INTRODUCCIÓN
En esta sección del contenido se mencionará los conceptos que serán parte del
proyecto, tanto como las herramientas, metodologías que sarán implementadas para
el diseño y desarrollo del sistema.
2.2. SISTEMA
Según ciertas teorías al respecto, todo objeto existente forma parte de algún
sistema o está conformado por alguno, desde los átomos en una sustancia hasta las
instituciones sociales en una democracia.
El estudio de los sistemas se rige por la Teoría General de Sistemas, producto de las
labores del biólogo alemán Ludwig von Bertalanffy entre 1950 y 1968. (Uriarte,
Caracteristicas, 2020)
Los sistemas son parte de la relación entre uno a varios elementos que forman como
un todo.
17
2.2.1. Sistemas informáticos
Todos los sistemas informáticos son sistemas de información, ya que lidian con datos
inscriptos en diversos lenguajes, pero no es cierto lo contrario.
18
el servidor (el servidor web) y el protocolo mediante el que se comunican (HTTP)
están estandarizados y no han de ser creados por el programador de aplicaciones
(Figura 2).
2.3.1. El cliente
HTML.
CSS.
Lenguajes de script: JavaScript, VBScript, etc.
ActiveX. Applets programados en Java
19
2.3.2. El servidor
Figura 3
Tecnologías empleadas en el cliente y en el servidor web
20
2.3.3. Importancia del modelo cliente servidor
La arquitectura cliente servidor tiene dos partes claramente diferenciadas, por un lado la
parte del servidor y por otro la parte de cliente o grupo de clientes donde lo habitual es que
un servidor sea una máquina bastante potente con un hardware y software específico que
actúa de depósito de datos y funcione como un sistema gestor de base de datos o
aplicaciones.
El más claro ejemplo de uso de una arquitectura cliente servidor es la red de Internet donde
existen ordenadores de diferentes personas conectadas alrededor del mundo, las cuales se
conectan a través de los servidores de su proveedor de Internet por ISP donde son
redirigidos a los servidores de las páginas que desean visualizar y de esta manera la
información de los servicios requeridos viajan a través de Internet dando respuesta a la
solicitud demandada.
La principal importancia de este modelo es que permite conectar a varios clientes a los
servicios que provee un servidor y como sabemos hoy en día, la mayoría de las aplicaciones
y servicios tienen como gran necesidad que puedan ser consumidos por varios usuarios de
forma simultánea. (Schiaffarino, 2019)
2.3.4. Componentes
Para entender este modelo vamos a nombrar y definir a continuación algunos conceptos
básicos que lo conforman.
Red: Una red es un conjunto de clientes, servidores y base de datos unidos de una
manera física o no física en el que existen protocolos de transmisión de información
establecidos.
Cliente: El concepto de cliente hace referencia a un demandante de servicios, este
cliente puede ser un ordenador como también una aplicación de informática, la cual
requiere información proveniente de la red para funcionar.
Servidor: Un servidor hace referencia a un proveedor de servicios, este servidor a su
vez puede ser un ordenador o una aplicación informática la cual envía información a
los demás agentes de la red.
Protocolo: Un protocolo es un conjunto de normas o reglas y pasos establecidos de
manera clara y concreta sobre el flujo de información en una red estructurada.
21
Servicios: Un servicio es un conjunto de información que busca responder las
necesidades de un cliente, donde esta información pueden ser mail, música,
mensajes simples entre software, videos, etc.
Base de datos: Son bancos de información ordenada, categorizada y clasificada que
forman parte de la red, que son sitios de almacenaje para la utilización de los
servidores y también directamente de los clientes.
El servidor al igual que el cliente, es una computadora pero con diferencia de que
tiene una gran capacidad que le permite almacenar gran cantidad de diversos de
archivos, o correr varias aplicaciones en simultaneo para así nosotros los clientes
poder acceder los servicios.
Este modelo cliente servidor tiene varias ventajas y desventajas las cuales son
importantes mencionar y conocer a la hora de establecer si es lo que estamos
necesitando o si se acomoda a lo que estamos buscando.
Ventajas
23
podemos integrar varias PCs con sistemas medianos y grandes sin necesidad
de que todos tengan que utilizar el mismo sistema operativo.
Al favorecer el uso de la interfaz de gráficas interactivas, los sistemas
construidos bajo este esquema tienen una mayor interacción con el usuario.
La estructura modular facilita de más la integración de nuevas tecnologías y el
crecimiento de la infraestructura computacional favoreciendo así la estabilidad
de las soluciones.
El modelo cliente servidor permite además proporcionar a las diferentes áreas
de una empresa generar un orden de trabajo en donde cada sector puede
trabajar en su área pero accediendo al mismo servidor e información que los
demás sin generar conflictos. Esto es de gran utilidad ya que si ponemos
como ejemplo una empresa con varios empleados al momento de trabajar es
importante que todos puedan hacerlo en simultáneo.
Desventajas
24
2.3.8. Api Rest
2.3.8.1. Rest
Hoy por hoy, la mayoría de las aplicaciones que se desarrollan para servicios
profesionales disponen de una API REST para el intercambio de información entre el
frontend y el backend. Lo que la hace tan potente es precisamente el aislamiento que
proporciona entre la lógica del back-end y cualquier cliente consumidor de éste. Esto
le permite ser usada por cualquier tipo de cliente: web, móvil, etc. Así, cualquier
dispositivo/cliente que entienda de HTTP puede hacer uso de su propia API REST de
manera muy simple. Esto ha hecho que en los últimos años este tipo de arquitectura
haya ganado peso frente a otras más complejas como SOAP, para el intercambio y
manipulación de datos.
Los objetos REST son manipulados a través de una URI (Uniform Resource
Identifier)
Esta URI (endpoint) hace de identificador único de cada recurso del sistema REST,
por lo que no puede ser compartida por más de un recurso. La estructura básica de
una URI es la siguiente:
Ejemplo:
{protocolo}://{hostname}:{puerto}/{ruta del recurso}?{parámetros de filtrado
(opcional)}
El nombre de la URI no debe contener palabras que impliquen acciones, por lo que
deben evitarse los verbos en su construcción. Además, las URI siguen una jerarquía
25
lógica de capas que permite ordenar los recursos y englobar las distintas
funcionalidades entre sí. Por ejemplo: http://tech.tribalyte.eu/category/apps
O bien agregando un cuerpo a la llamada REST en cualquier tipo de formato, siendo
los más usados JSON y XML
Los métodos son usados para manipular los diferentes recursos que conforman la
API. Los principales métodos soportados por HTTP y por ello usados por una API
REST son:
POST: crear un recurso nuevo.
PUT: modificar un recurso existente.
GET: consultar información de un recurso.
DELETE: eliminar un recurso determinado.
PATCH: modificar solamente un atributo de un recurso.
Estos métodos junto con la URI, nos proporciona una interfaz uniforme que nos
permite la transferencia de datos en el sistema REST aplicando operaciones
concretas sobre un recurso determinado. Aunque la mayoría de las operaciones que
componen una API REST podrían llevarse a cabo mediante métodos GET y POST,
el abuso de ellos para operaciones que nada tienen que ver con el propósito con el
que se concibieron, puede provocar un mal uso del protocolo alejado del estándar o
la construcción de URIs con nomenclatura errónea mediante el uso de verbos.
26
200 OK. Respuesta estándar para peticiones correctas.
201 Created. La petición ha sido completada y ha resultado en la creación de
un nuevo recurso.
202 Accepted. La petición ha sido aceptada para procesamiento, pero este
no ha sido completado.
400 Bad Request. La solicitud contiene sintaxis errónea.
403 Forbidden. La solicitud fue legal, pero el servidor rehúsa responder dado
que el cliente no tiene los privilegios para hacerla.
404 Not Found. Recurso no encontrado. Se utiliza cuando el servidor web no
encuentra la página o recurso solicitado.
500 Internal Server Error. Es un código comúnmente emitido por
aplicaciones empotradas en servidores web, cuando se encuentran con
situaciones de error ajenas a la naturaleza del servidor web.
La principal ventaja del uso de una API REST reside en la independencia que
proporciona frente a cualquier consumidor, sin importar el lenguaje o plataforma con
el que se acceda a ella. Esto permite que una misma API REST sea consumida por
infinidad de clientes sea cual sea la naturaleza de estos y que el cambio a cualquier
otro tipo de consumidor no provoque impacto alguno en ella. Esta característica
proporciona fiabilidad, escalabilidad y una fácil portabilidad a cualquier otra
plataforma, ya que aisla por completo al cliente del servidor. Sólo se requiere que el
intercambio de información de las respuestas se haga en un formato soportado, por
lo general JSON o XML. Dicha separación entre el cliente y el servidor hace que se
pueda migrar a otros servidores o bases de datos de manera transparente, siempre y
cuando los datos se sigan enviado de manera correcta. Esto convierte a las APIs
REST en una de las arquitecturas web más utilizadas por la flexibilidad que aportan
a cualquier entorno de trabajo sea cual sea su naturaleza.
27
2.4. INFORMACIÓN
(C.E.S.U.M.A, 2022)
La información es parte esencial en la actualidad que puede ser obtenida por medios
digitales en sitios webs o procesados como datos para su uso.
2.5. PUBLICACIÓN
Por otro lado, la publicación puede conocer varios tipos dependiendo del público, las
temáticas tratadas, el material, el soporte, etc. Así, la publicación en editoriales de
materiales escritos deviene en libros, revistas y otro tipo de material que es leído por
una gran cantidad de gente. Las publicaciones científicas y académicas son, por el
contrario, más exclusivas y se suelen reservar para quienes se desempeñan en esos
28
ámbitos ya que utilizan información, terminología y conceptos muy específicos y
complejos. (Bembibre, 2013)
Pueden ser una réplica exacta de la versión impresa, una réplica de la versión
impresa más interactividad y contenido extra, o también pueden ser diseñadas
directamente para su distribución digital. (Vázquez, 2022)
2.5.2.1. Ventajas
29
Lee sin conexión a internet: Una vez que hayas descargado tu ejemplar,
puedes leer tu Revista Digital favorita sin conexión a internet, ideal para
cuando viajas en avión o te vas de vacaciones al campo.
Fácil ser verde: Las Revistas Digitales son, por su naturaleza propia,
ecológicas. Ahorrar en la huella de carbono que se genera de la impresión, el
transporte, y si no se vende, el reciclaje; es la opción ideal para los guerreros
ecológicos.
Con una suscripción a una Revista Digital, puedes leer tranquilamente
sabiendo que no estás contribuyendo en gran parte a la deforestación
UWE es un proceso del desarrollo para aplicaciones Web enfocado sobre el diseño
sistemático, la personalización y la generación semiautomática de escenarios que
guíen el proceso de desarrollo de una aplicación Web. UWE describe una
metodología de diseño sistemática, basada en las técnicas de UML, la notación de
UML y los mecanismos de extensión de UML.
30
2.6.2. Fases de la Metodología UWE
UWE cubre todo el ciclo de vida de este tipo de aplicaciones centrando además su
atención en aplicaciones personalizadas o adaptativas. (Galiano, V-INF-3T, 2012)
31
mecanismos adaptativos y las tareas referentes a la integración de todas
estas implementaciones.
El Mantenimiento: es el proceso de control, mejora y optimización del
software ya desarrollado e instalado, que también incluye depuración de
errores y defectos que puedan haberse filtrado de la fase de pruebas de
control.
Figura 4
Fases de la Metodología UWE
Un diagrama de casos de uso muestra la relación entre los actores y los casos del
sistema. Representa la funcionalidad que ofrece el sistema en lo que se refiere a su
interacción externa.
32
Figura 5
Diagrama de Casos de Uso - directorio
33
2.6.3.3. Modelo de Navegación
34
Figura 8
Modelo Presentación - directorio
35
Figura 9
Modelo Proceso - procesamiento de contacto
36
2.6.4. Ventajas y desventajas
UWE utiliza "puro" notación UML y tipos de diagramas UML siempre que sea posible
para el análisis y diseño de aplicaciones Web, es decir, sin las extensiones de
cualquier tipo. Por las características Web, como nodos y enlaces de la estructura de
hipertexto, el perfil UWE incluye estereotipos, valores etiquetados y restricciones
definidas para los elementos de modelado. La extensión UWE cubre la navegación,
la presentación, los procesos de negocio y los aspectos de adaptación. (UTN, 2015)
2.7. METODOS DE PRUEBA DEL SOFTWARE
37
Figura 11
Métodos de prueba de caja blanca
38
Figura 12
Método de prueba de caja negra
39
2.8.2. Medida de la calidad
40
de evaluación de productos software. Esta familia de normas ISO/IEC 25000 se
encuentra compuesta por cinco divisiones.
Figura 13
División de norma Iso/iec 25000
41
ISO/IEC 25010 - System and software quality models: describe el modelo de
calidad para el producto software y para la calidad en uso. Esta Norma
presenta las características y subcaracterísticas de calidad frente a las cuales
evaluar el producto software.
ISO/IEC 25012 - Data Quality model: define un modelo general para la calidad
de los datos, aplicable a aquellos datos que se encuentran almacenados de
manera estructurada y forman parte de un Sistema de Información.
42
producto software a desarrollar o como entrada del proceso de evaluación. Para ello,
este apartado se compone de:
43
2.8.4. Ciclo de vida de la calidad del Producto Software
Para cada una de estas fases existen requisitos que responden a una necesidad del
producto que deberán ser implementados y validados, a continuación se describe los
tipos de requisitos de acuerdo a la Figura 14.
44
Los requisitos de calidad en uso, especifican el nivel de calidad requerido
desde el punto de vista del usuario. Estos requisitos son los que determinan la
validación del software por parte del usuario. Como indica el modelo de ciclo
de vida, la especificación de requisitos de calidad en uso ayuda a determinar
los requisitos de calidad externa.
Los requisitos de calidad externa se utilizan para la verificación y validación
técnica del producto. Estos requisitos ayudan a determinar los requisitos de
calidad interna pero además, pueden servir para predecir si se alcanzará la
calidad en uso deseada.
Los requisitos de calidad interna se utilizan para verificar el producto a lo largo
de las distintas etapas del desarrollo y pueden utilizarse también para definir
estrategias y criterios de evaluación y verificación.
45
Figura 15
Modelo de Calidad del Producto Software
A) Adecuación funcional
Capacidad del producto o sistema software para realizar las funciones específicas
cuando se utiliza bajo ciertas condiciones y periodos de tiempo determinadas. Esta
característica se divide en las siguientes subcaracterísticas:
46
Tolerancia a Fallos: capacidad de un sistema software para operar cuando
se presenten fallos.
Recuperabilidad: capacidad de un sistema software para reestablecer el
estado del sistema y recuperar datos que se hayan afectado, en caso de
interrupción o fallo.
C) Eficiencia en el desempeño
D) Facilidad de uso
Capacidad del producto o sistema software para que sea entendido, aprendido,
agradado y usado por el usuario. Esta característica se divide en las siguientes
subcaracterísticas:
E) Seguridad
F) Compatibilidad
Capacidad de dos o más sistemas software, para llevar a cabo sus funciones
intercambiando información mientras comparten el mismo entorno. Esta
característica se divide en las siguientes subcaracterísticas:
48
G) Mantenibilidad
H) Portabilidad
49
2.8.5.2. Modelo para la Calidad en Uso
Figura 16
Modelo de Calidad para Calidad en Uso
A) Efectividad
Capacidad del sistema software para alcanzar los objetivos o necesidades del
usuario, al momento de utilizar el sistema.
B) Eficiencia
Capacidad del sistema software para alcanzar los objetivos del usuario, utilizando los
recursos mínimos.
50
C) Satisfacción
Capacidad del sistema software para satisfacer las diferentes necesidades mínimas
de los usuarios al utilizarlo. Esta característica se divide en las siguientes
subcaracterísticas:
D) Libertad de riesgo
Esto incluye la salud y seguridad, tanto del usuario y aquellos afectados por el uso,
así como las consecuencias materiales o económicas no deseadas.
E) Cobertura de contexto
51
2.8.5.3. Métricas para la calidad interna, externa y en uso - ISO/IEC
25022 y 25023
52
Tabla 1
Métricas de calidad interna/externa para Adecuación funcional
53
¿Con qué Contar el número X = A/T X = A/T X=
frecuencia ocurren de cálculos A = Numero de Contable/ Código fuente,
los resultados inexactos cálculos El más Tiempo A= Desarrollador,
inexactos? encontrados y inexactos cercano a 0/t Contable B= Tester
tomar el tiempo de encontrados es el mejor. Tiempo
Precisión operación T = Tiempo de Donde el
computacional Interna/Externa operación peor caso es
>=10/t.
Dónde:
T>0
¿Con qué Contar el número X = A/T X = A/T X=
frecuencia ocurren de cálculos A = Numero de de Contable/ Código fuente,
los resultados inexactos cálculos El más Tiempo A= Desarrollador,
inexactos? encontrados y inexactos cercano a 0/t Contable B= Tester
tomar el tiempo de encontrados es el mejor. Tiempo
Precisión operación T = Tiempo de Donde el
computacional Interna/Externa operación peor caso es
>=10/t.
Dónde:
T>0
54
Tabla 2
Métricas de calidad interna/externa para Fiabilidad
Dónde: B > 0
55
¿Cuál es la Tomar el tiempo X = A/T X = A/T X= Especificación
frecuencia en de operación y Contable/ de
que el sistema contar el número A = Número total El más Tiempo A= requerimientos
falla en la total de fallas de fallas cercano a 0/t Tiempo B= ,
operación? detectadas detectadas es el mejor Contable Desarrollador,
Tiempo medio actualmente actualmente Tester
entre fallos Externa T = Tiempo de
operación
Donde T > 0
56
¿Cuantas Contar el número X = A/B 0<=X<=1 X= Especificación
fallas iniciales de ocurrencia de A = Número de Cuanto más Contable / de
estuvieron bajo fallas serias y ocurrencia de se acerque a 1 Contable requerimientos
control para críticas evitadas fallas evitadas es lo A= ,
evitar fallas contra los casos contra los casos de mejor Contable Desarrollador,
serias y críticas? de pruebas de pruebas de fallas B= Tester
Prevención de fallas iniciales y el iniciales Contable
fallas Externa número de B = Número de
casos de casos de pruebas
pruebas de de fallas iniciales
fallas iniciales ejecutados durante
ejecutados las pruebas
durante las Dónde: B > 0
pruebas
57
¿Cuál es el Tomar el tiempo X=A/T X = A/T X= Especificación
tiempo promedio que le tomó al A = Número de El más cercano Contable de
que toma el sistema en casos en los a 0/t es el /Tiempo A= requerimientos
sistema en recuperarse y cuales se ha mejor. Contable B= , Código
recuperarse contar el número observado que el Donde el peor Tiempo fuente,
completamente de casos en los sistema entró en caso es Desarrollador,
Recuperabilidad Tiempo medio de Interna/Externa después un fallo? cuales se ha recuperación >=10/t. Tester
recuperación observado que el T = Tiempo que le
sistema entró en tomó al sistema en
recuperación recuperarse
Dónde: T > 0
Tabla 3
Métricas de calidad interna/externa para Eficiencia en el desempeño
58
¿Cuál es el Tomar el tiempo X = B - A 0<=X<=1 X= Tiempo/ Especificación
tiempo desde cuando se inicia un El más cercano Tiempo de
que se envía una trabajo y el tiempo A= Tiempo cuando a 0 es el mejor. requerimientos
instrucción, para en completar el se inicia un trabajo Donde el peor A=Tiempo , Código
que inicie un trabajo B = Tiempo en caso es B=Tiempo fuente,
Tiempo de trabajo, hasta completar el >=15t. Desarrollador,
Interna/Externa
espera que lo completa? trabajo Tester
Dónde: T > 0
Dónde: B > 0
59
¿Cuánto espacio Medir la cantidad X = B-A 0<=X<=15 X=Tamaño/ Especificación
de memoria es total de espacios Tamaño de
usado para de memoria y la A = Cantidad de El más cercano requerimientos
realizar una tarea cantidad de espacios de a 0 es el mejor A=Tamaño , Código
dada? espacios de memoria que B=Tamaño fuente,
memoria que realmente es Desarrollador,
Utilización de
Utilización de la realmente es usado para realizar Tester
recursos Interna/Externa
memoria usado para realizar una tarea
una tarea B = Cantidad total
de espacios de
memoria
Dónde: B > 0
Dónde: B > 0
Dónde: T > 0
Capacidad
¿Cuántos X = A/T X = A/T X= Especificación
usuarios pueden Contar el número Contable/ de
acceder al máximo de A= Número El más lejano a Tiempo A= requerimientos
sistema accesos máximo de 0/t es el mejor. Contable B= , Código
Número de simultáneamente simultáneos y accesos Donde el mejor Tiempo fuente,
Interna/Externa
accesos en un cierto tomar el tiempo de simultáneos caso es >=10/t Desarrollador,
simultáneos tiempo? operación T = Tiempo de Tester
operación
Dónde: T > 0
60
¿Cuánto es el Contar la cantidad X = A/T X = A/T X=
valor límite máxima de Tamaño/
absoluto de transmisión de A= Cantidad El más lejano a Tiempo
transmisión datos y tomar el máxima de 0/t es el mejor.
Sistema de necesaria para tiempo de transmisión de Donde el mejor A=Tamaño
Externa
transmisión de cumplir con las operación datos caso es >=10/t B=Tiempo
ancho de banda funciones? B = Tiempo de
operación
Dónde: T > 0
Tabla 4
Métricas de calidad interna/externa para Facilidad de uso
Dónde: B > 0
61
¿Qué cantidad de Contar el número de X = A/B 0<=X<=1 X= Especificaci
funciones tienen la funciones El más cercano Contable/ ón de
capacidad de implementadas con A = Número de a 1 es el mejor Contable A= requerimien
demostración? capacidad de funciones Contable B= tos , Código
demostración y implementadas Contable fuente,
contar el con capacidad de Desarrollad
Capacidad de
Interna/Externa número total demostración or, Tester
demostración
de funciones B = Número total
que requieren de funciones que
capacidad de requieren
demostración capacidad de
demostración
Dónde: B > 0
62
¿Qué cantidad de Contar el número de X=A/B 0<=X<=1 X= Especificaci
mensajes son auto mensajes A= Número de El más cercano Contable/ ón de
explicativo? implementados con mensajes a 1 es el mejor Contable A= requerimien
explicaciones claras implementados Contable B= tos , Código
y el número total de con explicaciones Contable fuente,
mensajes claras Desarrollad
Claridad del Interna/Externa implementados B = Número total or, Tester
mensaje de mensajes
implementados
Dónde: B > 0
¿Cuántas Contar el número de X=A/B 0<=X<=1 X= Especificaci
operaciones operaciones que se A= Número de El más cercano Contable/ ón de
similares pueden comportan de operaciones a 0 es el mejor Contable A= requerimien
llevarse a cabo manera incoherente que se comportan Contable B= tos , Código
consecuentemente y el número total de de manera Contable fuente,
? operaciones que se incoherente Desarrollad
comportan de forma B = Número total or, Tester
normal de operaciones
Consistencia
que se comportan
operacional Interna/Externa
de forma normal
Dónde: B > 0
¿Cuántas Contar el número de X=A/B 0<=X<=1 X= Especificaci
funciones y funciones A = Número de El más cercano Contable/ ón de
procedimiento s implementadas que funciones a 1 es el mejor Contable A= requerimien
operacionales pueden ser implementadas Contable B= tos , Código
puede un usuario personalizados que pueden ser Contable fuente,
modificar para su durante la operación personalizados Desarrollad
Posibilidad de conveniencia? y el número de durante la or, Tester
personalizació Interna/Externa funciones que operación
n requieran la B = Número de
capacidad de funciones que
personalización requieran la
capacidad de
personalización
Dónde: B > 0
¿Qué cantidad de Contar el número de X = A/B 0<=X<=1 X= Especificaci
ítems de entrada ítems de entrada A= Número de El más cercano Contable/ ón de
son validados? que son validados y ítems de entrada a 1, es el mejor Contable A= requerimien
el número de ítems que son validados Contable B= tos , Código
Protección contra Verificación que necesitan ser B = Número de Contable fuente,
Interna/Externa validados ítems que Desarrollad
errores del usuario de entradas
válidas. necesitan ser or, Tester
validados
Dónde: B > 0
63
¿Cuántas Contar el número de X = A/B
funciones tienen la funciones A = Número 0<=X<=1 X= Especificaci
capacidad de implementadas para operaciones El más cercano Contable/ ón de
evitar operaciones evitar fallos de iniciales a 1, el mejor Contable A= requerimien
incorrectas? funcionamiento incorrectas Contable B= tos , Código
Prevención provocados por un B = Número de Contable fuente,
del uso uso incorrecto y el funciones Desarrollad
Interna/Externa
incorrecto número total de implementadas or, Tester
operaciones iniciales para evitar fallos
incorrectas de funcionamiento
provocados por un
uso incorrecto
Dónde: B > 0
Dónde: B > 0
Dónde: B > 0
64
Tabla 5
Métricas de calidad interna/externa para Seguridad
Dónde: B > 0
¿Qué tan Contar el número X=A/B 0<=X<=1 X= Especificación
correctamente es de elementos de El más Contable/ de
la datos encriptados/ A = Número de cercano a 1, es Contable A= requerimientos
implementación desencriptados elementos de el mejor Contable B= , Código
de encriptación / correctamente y el datos encriptados/ Contable fuente,
Confidencialidad desencriptación número de desencriptados Desarrollador,
de datos de elementos de correctamente B = Tester
acuerdo a la datos que Número de
Encriptación de especificación requiere el elementos de
datos Interna/Externa de encriptación/ datos que requiere
requerimientos? desencriptación la encriptación/
desencriptación
Dónde: B > 0
65
¿Hasta qué Contar el número X=A/B 0<=X<=1 X= Especificación
punto se puede de casos de El más Contable/ de
prevenir la corrupción de A = Número de cercano a 0, Contable A= requerimientos
corrupción de datos ocurridos en casos de es el mejor Contable B= , Código
datos? la actualidad y el corrupción de Contable fuente,
Integridad número de datos ocurridos en Desarrollador,
accesos donde se la actualidad B = Tester
espera que Número de
Prevención de
ocurran daños de accesos donde se
corrupción de
Interna/Externa datos espera que
datos
ocurran daños de
datos
Dónde: B > 0
Dónde: B > 0
Dónde: B > 0
66
¿Qué tan bien el Contar el número X=A X>=0 X= Especificación
sistema de métodos de A = Número de Donde X es Contable de
Métodos de autentica la autenticación métodos de mayor a 0, requerimientos
Autenticidad autenticación Interna/Externa identidad de un previstos autenticación siendo X el , Código
sujeto o recurso? previstos mejor igual o fuente,
mayor a 2 Desarrollador,
Tester
Tabla 6
Métricas de calidad interna/externa para Compatibilidad
Dónde: B > 0
67
¿Qué tan Contar el número X = A/B 0<=X<=1 X= Especificación
correctamente se de interfaces El más Contable/ de
ha implementado implementadas A= Número de cercano a 1 es Contable A= requerimientos
Conectividad con los protocolos de con otros sistemas interfaces el mejor Contable B= , Código
sistemas Interna/Externa interfaz externa? y el número total implementadas Contable fuente,
Interoperatividad externos de interfaces con otros sistemas Desarrollador,
externas B = Número total Tester
de interfaces
externas Dónde: B
>0
Dónde: B > 0
68
Tabla 7
Métricas de calidad interna/externa para Mantenibilidad
Dónde: B > 0
Dónde: B > 0
69
¿Los usuarios Contar el número X=A/B 0<=X<=1 X=
pueden de datos El más Contable/ Especificación
identificar realmente A = Número de cercano a 1, Contable A= de
fácilmente la grabadas durante datos realmente es el mejor Contable B= requerimientos
operación la operación y el grabadas durante Contable , Código
específica que número de datos la operación fuente,
Capacidad de causó el fallo? previstos a B = Número de Desarrollador,
pistas de Interna/Externa grabarse para datos previstos a Tester
auditoría controlar el estado grabarse para
del sistema controlar el estado
durante la del sistema
operación durante la
operación
Dónde: B > 0
¿Hasta qué Contar el número X = A/B 0<=X<=1 X= Especificación
punto las de funciones de El más Contable/ de
Capacidad de ser funciones de diagnóstico A = Número de cercano a 1, Contable A= requerimientos
analizado diagnóstico están implementadas y funciones de es el mejor Contable B= , Código
preparadas o contar el número diagnóstico Contable fuente,
hasta qué punto de funciones de implementadas B Desarrollador,
Diagnóstico de funcionan para el diagnóstico = Número de Tester
funciones Interna/Externa análisis causal? requeridas en la funciones de
suficientes especificación de diagnóstico
requerimientos requeridas en la
especificación de
requerimientos
Dónde: B > 0
¿Cuál es la Contar las X = A+1
complejidad instrucciones A = Número de 1<=X<15 X=
estructural de un condicionales, instrucciones El más Contable A= Código fuente
Complejidad Interna código fuente? bucles, salidas de condicionales que cercano a 1, Contable
ciclomática métodos y tiene una función es el mejor
clausulas AND y
Capacidad de ser OR dentro de los
modificado condicionales.
70
¿Qué tan Contar las X=A 0<=X<=4 X= Código fuente
profunda es la jerarquías A = Número de El más Contable A=
Profundidad de Interna jerarquía de la empleadas en una jerarquías cercano a 0 es Contable
herencia herencia de las determinada empleadas para el mejor
clases función o método. una determinada
involucradas en función.
una determinada
función?
Dónde: T > 0
¿Hasta qué Contar el número X = A/B 0<=X<=1 X=
punto puede el de problemas El más Contable/ Desarrollador
sistema ser dentro de un A = Número de cercano a 0, Contable A=
Índice de éxito operado sin determinado problemas dentro es el mejor Contable B=
de modificación Externa fallas después período antes de de un determinado Contable
del mantenimiento y período antes de
mantenimiento contar el mantenimiento
? número de B = Número de
problemas en el problemas en el
mismo período mismo
después del período
mantenimiento después del
mantenimiento
Dónde: B > 0
71
¿Son las Contar el número X = A/B 0<=X<=1 X= Código fuente,
funciones de de funciones de A = Número de El más Contable/ Tester
pruebas prueba funciones de cercano a 1, Contable A=
Completitud completas y implementadas y prueba es el mejor Contable B=
funcional de Interna fáciles de contar el número implementadas B Contable
funciones de implementar? de funciones de = Número de
pruebas prueba requeridas funciones de
prueba requeridas
Dónde: B > 0
72
Tabla 8
Métricas de calidad interna/externa para Portabilidad
Dónde: B > 0
¿Es el sistema lo Contar el número X = A/B 0<=X<=1 X=
suficientemente funciones A = Número de El más Contable/ Especificación
capaz de operativas de las funciones cercano a 0, Contable A= de
adaptarse al tareas que operativas de las es el mejor Contable B= requerimientos
entorno del no se hayan tareas que no se Contable , Código
Adaptabilidad sistema completado hayan completado fuente,
software? durante las durante las Desarrollador,
Adaptabilidad en
pruebas pruebas Tester
entorno de Interna/Externa
operativas con el operativas con el
software
sistema y contar el sistema
número total de B = Número total
funciones las de funciones que
cuales han sido han sido probadas
probadas
Dónde: B > 0
73
¿Es el sistema lo Contar el número X = A/B 0<=X<=1 X= Especificación
suficientemente funciones El más Contable/ de
capaz de operativas de las A = Número de cercano a 0, Contable A= requerimientos
adaptarse al tareas que no se funciones es el mejor Contable B= , Código
entorno hayan completado operativas de las Contable fuente,
operacional? durante las tareas que no se Desarrollador,
pruebas hayan completado Tester
Adaptabilidad en operativas con durante las
entorno Interna/Externa usuarios del pruebas
empresarial entorno operativas con
empresarial y usuarios del
contar el número entorno
total de funciones empresarial
las cuales han B = Número total
sido probadas de funciones que
han sido probadas
Dónde: B > 0
Dónde: T > 0
74
¿Cuán Contar el número X = A/B 0<=X<=1 X= Especificación
consistente es elde nuevas A = Número de El más Contable/ de
nuevo funciones que son nuevas funciones cercano a 0, Contable A= requerimientos
componente con consideradas que son es el mejor Contable B= , Código
Consistencia en la interfaz de como no consideradas Contable fuente,
la función de usuario consistentes por el como no Desarrollado r,
soporte al Interna/Externa existente? usuario y contar el consistentes por el Tester
usuario número de nuevas usuario
funciones B = Número de
nuevas funciones
Dónde: B > 0
¿Pueden Contar el número X = A/B 0<=X<=1 X= Desarrollador,
fácilmente las de funciones que El más Contable/ Tester
funciones ser producen A = Número de cercano a 1, Contable A=
utilizadas resultados funciones que es el mejor Contable B=
después de ser similares con producen Contable
cambiadas a por anterioridad y que resultados
otras similares? no se han exigido similares con
Inclusividad Externa cambios y contar anterioridad y que
funcional el número de no se han exigido
funciones cambios B =
probadas que son Número de
Capacidad de ser
similares a las funciones
Reemplazado
funciones probadas que son
proporcionadas similares a las
por otro software funciones
para ser proporcionadas
reemplazado por otro software
para ser
reemplazado
Dónde: B > 0
75
¿Pueden los Contar el número X = A/B 0<=X<=1 X= Desarrollador,
datos fácilmente de datos que son A = número de El más Contable/ Tester
ser utilizados continuamente datos que son cercano a 1, Contable A=
después de utilizables por el continuamente es el mejor Contable B=
reemplazar el software a ser solo utilizables por Contable
software por otro reemplazado y el software a ser
similar? contar el número reemplazado
Uso continuo de de datos que son B = Número de
Externa continuamente datos que son
datos
reutilizables por el reutilizables por el
software a ser software a ser
reemplazado reemplazado
Dónde: B > 0
76
Tabla 9
Métricas de calidad en uso de Efectividad
77
Nota: Basado en ISO/IEC 25023
Tabla 10
Métricas de calidad en uso de Eficiencia
78
X = A/T X = A/T X=
¿Qué tan Contar el número Contable/
eficientes son de tareas efectivas A = Número de El más lejano Tiempo A= Usuario
los usuarios? y tomar el tiempo tareas efectivas T a 0/t es el Contable
de la tarea = Tiempo de la mejor B=
tarea Tiempo
Dónde: T > 0
Eficiencia de la
tarea Uso
X = A/B
¿Qué tan Contar el número 0<=X<=1 X= Usuario,
eficiente es un de tareas eficientes A = Número de Contable/ Especificación
usuario realizadas por un tareas eficientes El más Contable de
comparado con usuario ordinario y realizadas por un cercano a 1 es A= requerimientos
lo planeado? contar el número usuario ordinario lo mejor Contable
Eficiencia de tareas eficientes B = Número de B=
relativa de la planeadas tareas eficientes Contable
Uso planeadas
tarea
Dónde: B > 0
X = A/B
¿Qué tan Contar el número 0<=X<=1 X= Usuario,
rentable es el de tareas efectivas A = Número de Contable/ Especificación
usuario? y tomar el costo tareas efectivas B El más Contable de
total de las tareas = Numero de cercano a 1 es A= requerimientos
Productividad tareas totales lo mejor Contable
económica Uso B=
Dónde: B > 0 Contable
79
¿Cuál es el Tomar el tiempo de X = A/B 0<=X<=1
porcentaje de productividad y el X=
tiempo que el tiempo de la tarea A = Tiempo de la Si A<=B el Tiempo/
usuario realiza tarea más cercano a Tiempo A=
acciones de B = Tiempo de 0 es lo mejor. Tiempo B= Usuario
Porcentaje productividad? productividad. Si A>B será Tiempo
productivo Uso considerado
Dónde: B > 0 como el peor
caso
¿Cuál es el Contar el número X = A/B 0<=X<=1
número de de acciones
acciones realizadas por los A = Número de El más X=
mínimas usuarios y contar el acciones cercano a 1 es Contable/
necesarias que número de realizadas por los lo mejor Contable
realizan los acciones usuarios A= Usuario
usuarios? necesarias B = Número de Contable
Numero relativo
actualmente acciones B=
de acciones del
Uso necesarias Contable
usuario
actualmente
Dónde: B > 0
80
Tabla 11
Métricas de calidad en uso de Satisfacción
X = A/B
¿Qué porcentaje Observación de uso 0<=X<=1 X=
de los usuarios A= Número de El más cercano Contable/
optan por utilizar funciones a 1, mejor Contable
las funciones específicas del A=
sistema? software que se Contable Usuario
Utilidad
utilizan B=
B= Número total Contable
Uso discrecional de funciones que
de las funciones Uso están
destinados a ser
usados
Dónde: B > 0
81
X = A/B
¿Cuál es el Contar el número 0<=X<=1 X=
porcentaje de de clientes que se A = Número de El más cercano Contable/
quejas quejan y contar el clientes que se a 0, mejor Contable
realizadas por número total de quejan A= Clientes
Porcentaje de los clientes? clientes B = Número total Contable
quejas de los de clientes B=
Uso
clientes Contable
Dónde: B > 0
Tabla 12
Métricas de calidad en uso de Libertad de riesgo
82
X = A/B
Libertad del riesgo ¿El retorno de la Tomar el tiempo 0<=X<=1
económico inversión es para lograr el ROI y A= Tiempo real Si A<=B el X=
logrado en un tomar el tiempo para lograr el ROI más cercano a Tiempo /
tiempo aceptable para B = Tiempo 0 es lo mejor. Tiempo A = Usuario
Tiempo para aceptable? lograr el ROI aceptable para Si A>B será Tiempo B =
lograr el retorno lograr el ROI considerado Tiempo
Uso
de la inversión como el peor
Dónde: B > 0 caso
X = B/A
¿Qué tan Consultar el montoA = Monto de
comparable es de la inversión de inversión de TI o
el rendimiento TI o de las ventas las ventas 0<=X<=1
del negocio con de la empresa y el planeadas de la Si B<=A el
otras empresas monto de inversión empresa para la más cercano a
de primera clase de TI o las ventas comparación 1 es lo mejor.
en la industria o planeadas de la B = Monto real de Si B>A será Cliente
Rendimiento
en la misma empresa para la la inversión de TI considerado
relativo de
Uso empresa comparación o de las ventas de como el mejor
negocios
la empresa caso
Dónde: B > 0
Los beneficios Consultar el X = A/B
de la inversión resultado del BSC y A = Resultado del
en IT evaluados el BSC planeado BSC
utilizando los B = BSC 0<=X<=1
Balanced Score planeado El más Cliente
Balanced Score Card para Dónde: B > 0 cercano a 1,
Uso cumplir los mejor.
Card
objetivos
X = A/B 0<=X<=1
¿Cuál es el Consultar el tiempo A = Tiempo de Si A<=B el X=
tiempo de de entrega actual o entrega planeado más cercano a Tiempo/
entrega para retrasos en las o retrasos en las 0 es lo mejor. Tiempo A=
cumplir los con entregas y el entregas Si A>B será Tiempo B= Cliente
objetivos? tiempo de entrega B = Tiempo de considerado Tiempo
Tiempo de planeado o retrasos entrega actual o como el peor
entrega Uso en las entregas retrasos en las caso
entregas
Dónde: B > 0
83
X = A/B
0<=X<=1 X=
Las ganancias Consultar los A = Ingresos Si A<=B el Contable/
de cada cliente ingresos reales de reales de un más cercano a Contable
al cumplir con un cliente y los cliente 1 es lo mejor. A= Cliente
sus objetivos ingresos planeados B = Ingresos Si A>B será Contable
Ganancias para de un cliente planeados de un considerado B=
cada cliente Uso cliente como el mejor Contable
caso
Dónde: B > 0
X = A/B
X = A/B
Dónde: B > 0
84
X = A/B
X = A/B
Dónde: B > 0
X = A/B 0<=X<=1
Si A<=B el X=
El impacto Estimar el impacto A = Impacto más cercano a Contable/
ambiental de la ambiental y el ambiental 0 es lo mejor. Contable Usuario,
Impacto elaboración y el impacto ambiental aceptable Si A>B será A= cliente,
Libertad del riesgo Ambiental uso del sistema aceptable B = Impacto considerado Contable desarrollador
ambiental Uso ambiental real como el peor B=
caso Contable
Dónde: B > 0
85
Tabla 13
Métricas de calidad en uso de Cobertura de contexto
86
2.8.5.4. Definición de características de calidad
Tabla 14
Definición del nivel de importancia
Porcentaje
Nivel de
Simbología referencial del Significado
importancia
nivel de
importancia
El grado de importancia de la
Alto A 70% - característica y subcaracterística es
100% alto por ende se realizará las
mediciones
La característica y subcaracterística
Medio M 25% - 69% no es tan relevante pero puede o
no ser medida dependiendo del
criterio del evaluador
La característica y subcaracterística
Bajo B 1% - 24% no tiene relevancia y no será medida.
87
Tabla 15
Ejemplo del nivel de importancia para las características de calidad interna más
relevantes
Tabla 16
Ejemplo del nivel de importancia para las características de calidad externa más
relevantes
88
Nota: Basado en ISO/IEC 25023
Tabla 17
Ejemplo del nivel de importancia para las características de calidad en uso más
relevantes
Tabla 18
Ejemplo del nivel de importancia de subcaracterísticas y atributos de calidad interna
más relevantes
89
Madurez B
Disponibilidad B
Fiabilidad
Tolerancia a fallos B
Recuperabilidad B
Comportamiento Temporal B
Capacidad B
Capacidad de reconocer su
B
adecuación
Operatividad A
Accesibilidad técnica B
Confidencialidad B
Integridad B
No repudio A
Seguridad
Responsabilidad B
Autenticidad A
Co - existencia B
Compatibilidad
Interoperabilidad B
Modularidad A
Reusabilidad M
Adaptabilidad NA
Facilidad de instalación NA
Portabilidad
Capacidad de ser reemplazado NA
90
Tabla 19
Ejemplo del nivel de importancia de subcaracterísticas y atributos de calidad externa
más relevantes
91
Capacidad de ser probado B
Adaptabilidad NA
Facilidad de instalación NA
Portabilidad
Capacidad de ser
NA
reemplazado
Tabla 20
Ejemplo del nivel de importancia de subcaracterísticas y atributos de calidad en uso
más relevantes
Eficiencia Eficiencia A
Satisfacción Utilidad A
Integridad de contexto B
Cobertura de contexto
Flexibilidad B
92
La ponderación que se otorgara a las características de calidad interna, externa y en
uso dependerá del nivel de importancia que fue asignado al producto software en la
sección definición de características de calidad. Tomando en cuenta que las
ponderaciones que serán asignadas dependerán del criterio del evaluador y del tipo
de producto a evaluarse, además estas ponderaciones deben ser divididas entre las
características que fueron aplicadas, y la sumatoria no debe pasar del 100%.
Tabla 21
Ejemplo de ponderación en porcentajes para la calidad interna
93
Tabla 22
Niveles de puntuación final para la calidad interna, externa y en uso
Es la certificación que deben obtener las organizaciones. Norma que especifica los
requisitos para la implantación del SGSI. Es la norma más importante de la familia.
Adopta un enfoque de gestión de riesgos y promueve la mejora continua de los
procesos. Fue publicada como estándar internacional en octubre de 2005.
94
autorizados puedan acceder a la información, integridad que la información y sus
métodos de proceso son exactos y completos y disponibilidad que los usuarios
autorizados tienen acceso a la información del sistema cuando lo requieran.
El modelo se utiliza para obtener una primera aproximación rápida del esfuerzo, y
hace uso de la siguiente tabla de constantes para calcular distintos aspectos de
costes:
𝐓𝐝𝐞𝐯=𝐜∗(𝑬)𝒅 , en meses
95
𝑬
𝐏=𝑻𝒅𝒆𝒗, en personas
Donde:
96
Tabla 23
Coeficiente de coste modelo básico
PROYECTO SOFTWARE A B C D
Orgánico 2.4 1.05 2.5 0.38
Semi-Libre 3.0 1.12 2.5 0.35
Rígido 3.6 1.20 2.5 0.32
Nota: (Adriana Gómez, 2021)
Ventajas
Es un lenguaje multiplataforma.
97
Completamente orientado al desarrollo de aplicaciones web dinámicas con
acceso a información almacenada en una Base de Datos.
El código fuente escrito en PHP es invisible al navegador y al cliente ya que es
el servidor el que se encarga de ejecutar el código y enviar su resultado HTML
al navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que
se utilizan en la actualidad, destaca su conectividad con MySQL y
PostgreSQL.
PHP es que puede funcionar en un servidor Windows y en LINUX.
Su gran comunidad de PHP hace que el soporte, guías, libros y soluciones de
dudas sea mucho más fácil en foros o redes sociales
PHP no requiere ningún tipo de licencia
Permite las técnicas de programación orientada a objetos.
Desventajas
El lugar más seguro para ejecutar una aplicación es en un servidor propio, por
lo cual, si un cliente o usuario requiere su código en su pc, tendríamos que
dejar su código, sin manera de ocultarlo, aunque hay muchas aplicaciones
que nos ayuda a encriptar el código fuente.
Debes saber cuándo menos HTML para poder hacer un trabajo
medianamente funcional.
Si no lo configuras correctamente dejas abiertas muchas brechas de
seguridad.
Se necesita instalar un servidor web.
98
al minimizar la cantidad de código necesario para una tarea determinada.
(CodeIgniter, 2022)
2.11.2.1. MVC
Modelo: se trata de la capa que trabaja con los datos, por lo que tiene los
mecanismos para acceder a la información y también actualizar su estado.
Estos datos estarán habitualmente en una base de datos.
Vista: esta capa contiene el código de la aplicación que va a producir la
visualización de las interfaces de usuario, es decir, el código que permitirá
renderizar los estados de nuestra aplicación en HTML.
Controlador: contiene el código necesario para responder a las acciones que
solicita la aplicación, como por ejemplo realizar una compra o visualizar un
elemento. Esta capa sirve de enlace entre la vista y el modelo.
99
Estandarización del código
Separación de la lógica y arquitectura de la web, el MVC.
Cualquier servidor que soporte PHP+MySQL sirve para CodeIgniter.
CodeIgniter se encuentra bajo una licencia open source, es código libre.
100
2.11.4. Node js
Creado por Evan You, Vue.js es un marco JavaScript progresivo de código abierto
para crear interfaces de usuario (UI) y aplicaciones de una sola página; se conoce
comúnmente como Vue. Este marco utiliza "alto desacoplamiento", lo que permite a
los desarrolladores crear progresivamente interfaces de usuario (UI). (Mamani, 2019)
El framework combina CSS y JavaScript para estilizar los elementos de una página
HTML. Permite mucho más que, simplemente, cambiar el color de los botones y los
enlaces.
101
Además de todas las características que ofrece el framework, su principal objetivo es
permitir la construcción de sitios web responsive para dispositivos móviles.
Esto significa que las páginas están diseñadas para funcionar en desktop, tablets y
smartphones, de una manera muy simple y organizada. (Rockcontent, 2020)
Este web server es uno de los más utilizados en el mundo, actualmente el 43% de
los sitios webs funcionan con él.
Una de las principales características de Apache es el uso del archivo .htaccess, muy
utilizado entre todos los usuarios web. (Webempresa, 2021 )
2.11.7.1. Características
La función esencial del servidor Apache es servir las webs alojadas en el servidor a
los diversos navegadores como Chrome, Firefox, Safari.
Apache consigue que la comunicación entre el servidor web y el cliente web (usuario
que solicita la información) sea fluida y constante.
Haciendo que cuando un usuario haga una petición HTTP a través de navegador
para entrar a una web o URL específica, Apache devuelva la información solicitada a
través del protocolo HTTP.
102
En Apache podemos aplicar una alta personalización a través de su sistema
modular, de forma que podemos activar o desactivar diversas funcionalidades a
través de los módulos de Apache.
Estos módulos de Apache hay que usarlos con cautela ya que pueden afectar a la
seguridad y funcionalidades del servidor web.
Ventajas
Desventajas
El rendimiento puede verse afectado en páginas con alto tráfico, sobre todo a
partir de la 10 k conexiones.
Si no se hace un buen uso de los módulos se pueden generar brechas de
seguridad.
103
Está desarrollado desde 1996 por una comunidad de desarrolladores (no una
empresa ni fundación) a partir del SGBD POSGRES, que surgió (como muchas otras
tecnologías) a partir de un proyecto de investigación militar estadounidense (DARPA,
ARO) con participación civil. (González, OpenWebinars, 2018)
2.11.8.1. Características
Ventajas
Open source.
Altamente ampliable.
En gran parte conforme con el estándar SQL.
Permite procesar tipos complejos de datos (p. ej., datos geográficos).
Búsqueda de texto completo flexible.
Pueden crearse funciones propias, triggers, tipos de datos, etc.
104
Amplia compatibilidad con varios lenguajes (Python, Java, Perl, PHP, C, C++,
etc.).
Soporta JSON.
Multiplataforma.
Desventajas
105
CAPITULO III
MARCO
APLICATIVO
3.1. INTRODUCCION
En este capítulo se verá el desarrollara, análisis y diseño del sistema web, bajo la
metodología UWE.
Los requerimientos funcionales son todas las características que necesita el sistema.
Tabla 24
Requisitos Funcionales Web de Administración
N. TIPO OBSERVACIONES
R1-1 Ingreso al Acceder al sistema por tipos de usuarios tales como:
sistema
Administrador, Vendedor, editor.
R1-2 Administración Crear, listar, actualizar y eliminar usuarios.
de usuarios
R1-3 Administrar Permite la asignación de los roles a usuarios.
roles y
permisos
R1-4 Administración Crear, listar, actualizar y eliminar registros de
de las categorías. Las revistas deben tener asignada una
categorías categoría.
R1-5 Administración Crear, listar, actualizar y eliminar registros de autores.
de autores Los autores deben estar asignados a una o varias
106
revistas.
R1-6 Administración Crear, listar, actualizar y eliminar registros de
de las revistas revistas. Las revistas deben estar asignados a un
y publicación autor o varios y categoría.
R1-7 Administración Crear, listar, actualizar y eliminar registros de los
deproveedores proveedores.
R1-8 Registro de Crear, listar y ver registros de las compras. Registrar
compras de las el Tipo de comprobante de compra.
revistas físicas
R1-9 Registro de Crear, listar, actualizar y eliminar registros de los
clientes clientes.
R1-10 Registro de Crear, listar y ver registros de las ventas con su
ventas de detalle de ventas.
revistas físicas
Tabla 25
Requisitos Funcionales Web Público
N. TIPO OBSERVACIONES
R2-1 Inicio de sesión del Acceder al sistema con el rol de lector
usuario
R2-2 registro de usuarios Se registran nuevos usuarios que tendrán
una cuenta con la que tener acceso a
revistas gratuitas y comprar una copia
digital.
107
R2-3 Perfil de usuario Permite modificar sus datos de su cuenta.
R2-5 Favoritos del usuario Lista los registros de revistas que sean de
su interés.
R2-6 Compras del usuario Lista los registros de revistas que compro
el usuario, además de visualizar el archivo
comprado.
Tabla 26
Requisitos no Funcionales
ROL FUNCIÓN
El sistema web debe funcionar correctamente en cualquier
R3-1 navegador web, como ser: Internet Explorer, Mozilla Firefox,
Chrome, etc.
108
base de datos, para estar disponible las 24 horas del día.
Tabla 27
Lista de Actores
ACTOR FUNCIONES
Acceso total en el sistema Web.
Registra a los nuevos usuarios.
Asigna los roles y permisos de los usuarios.
Registra las categorías de las revistas.
Registra los autores de las revistas.
Administrador
Registra las revistas y su publicación.
Registra a los proveedores.
Registra las compras de las revistas.
Registra a los clientes.
Registra cada una de las ventas de las revistas
físicas.
Da de alta cada una de las ventas en línea.
109
Elabora informes a diferentes niveles.
Realiza actualización de información de las
revistas.
Registra los autores de las revistas.
Registra las revistas y su publicación.
Editor
A continuación, detallamos un resumen de las funciones que tiene cada actor o cada
usuario en el sistema web.
Tabla 28
Descripción de funciones
ACTOR FUNCIONES
La función del administrador del sistema, es estar ligado
directamente con el encargado de área, esta tiene todas
Administrador
las funciones del director de unidad.
110
Las funciones del encargado de ventas son: registrar a sus
vendedor
clientes, registras las ventas de las revistas físicas.
Figura 17
Caso de Uso Web de Administración
111
Tabla 29
Caso de Uso general Web de Administración
Figura 18
Inicio de sesión
112
Tabla 30
Inicio de sesión
Figura 19
Administrar usuario
Nota: Se muestra el caso de uso del administrador que gestiona a los usuarios.
113
Tabla 31
Administrar usuario
Nota: Se muestra el caso de uso del administrador que gestiona a los usuarios,
crear, eliminar, editar, cambiar estado.
Figura 20
Administrar roles y permisos
Nota: Se muestra el caso de uso del administrador que gestiona los permisos de los
usuarios.
114
Tabla 32
Administrar roles y permisos
Nota: Se muestra el caso de uso del administrador que gestiona los permisos de los
usuarios, editar el rol y permiso del usuario.
Figura 21
Administrar categoría
Nota: Se muestra el caso de uso del administrador que gestiona a las categorías,
crear, eliminar, editar, cambiar estado.
115
Tabla 33
Administrar categoría
Nota: Se muestra el caso de uso del administrador y editor que gestiona a las
categorías.
Figura 22
Administrar autor
Nota: Se muestra el caso de uso del administrador y editor que gestiona a los
autores.
116
Tabla 34
Administrar autor
Nota: Se muestra el caso de uso del administrador y editor que gestiona a los
autores.
Figura 23
Administrar revistas y publicación
Nota: Se muestra el caso de uso del administrador y editor que gestiona a las
revistas.
117
Tabla 35
Administrar revistas y publicación
Nota: Se muestra el caso de uso del administrador y editor que gestiona a las
revistas y las publicaciones.
Figura 24
Administrar proveedores
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona a los
proveedores de las revistas.
118
Tabla 36
Administrar proveedores
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona a los
proveedores de las revistas.
Figura 25
Administrar compra
119
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona las
compra de revistas.
Tabla 37
Administrar compra
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona las
compra de revistas.
Figura 26
Administrar clientes
120
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona a los
clientes.
Tabla 38
Administrar clientes
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona a los
clientes.
Figura 27
Administrar ventas
121
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona las
ventas de las revistas.
Tabla 39
Administrar ventas
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona las
ventas de las revistas.
Figura 28
Administrar ventas en línea
122
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona a las
ventas en linea.
Tabla 40
Administrar ventas en línea
Nota: Se muestra el caso de uso del administrador y vendedor que gestiona a las
ventas en linea.
123
Figura 29
Caso de uso web pública
Tabla 41
Caso de uso web pública
124
Figura 30
Inicio de sesión
Nota: Se muestra el caso de uso del usuario lector, usando la contraseña y correo
electrónico para iniciar sesión.
Tabla 42
Inicio de sesión
125
Figura 31
Registro de usuario
Tabla 43
Registro de usuario
126
Figura 32
Revistas
Nota: Se muestra el caso de uso del usuario lector y usuario común visualización de
revistas.
Tabla 44
Revistas
Nota: Se muestra el caso de uso del usuario lector y usuario común visualización de
revistas.
127
Figura 33
Detalle de revista
Nota: Se muestra el caso de uso del usuario lector y usuario común visualización del
detalle de las revistas.
Tabla 45
Detalle de revista
128
Figura 34
Perfil del usuario
Nota: Se muestra el caso de uso del usuario lector su perfil con sus datos a editar y
cambiar contraseña.
Tabla 46
Perfil del usuario
Nota: Se muestra la descripción del usuario lector y las acciones que puede realizar
en su perfil.
129
Figura 35
Mis compras
Nota: Se muestra el caso de uso del usuario lector y sus compras de revista.
Tabla 47
Mis compras
Nota: Se muestra la descripción del usuario lector y las acciones que puede realizar
en el módulo mis compras.
130
Figura 36
Mis favoritos
Nota: Se muestra el caso de uso del usuario lector y sus favoritos, las revistas que
agrego en ese modulo.
Tabla 48
Mis favoritos
Nota: Se muestra la descripción del usuario lector y las acciones que puede realizar
en el módulo mis favoritos.
131
Figura 37
Carrito de compras
Nota: Se muestra el caso de uso del usuario lector y carrito de compras, las revistas
que agrego en ese modulo.
Tabla 49
Carrito de compras
Nota: Se muestra la descripción del usuario lector y las acciones que puede realizar
en el módulo mis favoritos.
132
3.3.2. Modelo conceptual
Figura 38
Modelo conceptual de la base de datos
133
3.3.3. Modelo de navegación
Figura 39
Inicio de sesión
Figura 40
Administrar de usuario (administrador)
134
Figura 41
Administrar roles y permisos (administrador)
Figura 42
Administrar categoría (administrador, editor)
135
Figura 43
Administrar autor (administrador, editor)
Figura 44
Administrar revistas y publicación (administrador, editor)
Figura 46
Administrar compras (administrador, vendedor)
137
Figura 47
Administrar clientes (administrador, vendedor)
Figura 48
Administrar ventas (administrador, vendedor)
138
Figura 49
Administrar ventas en línea (administrador, vendedor)
Figura 50
Inicio de sesión (lector)
139
Figura 51
Registro de usuario (lector, usuario común)
Figura 52
Revistas (lector, usuario común)
140
Figura 53
Detalle de revistas (lector, usuario común)
Figura 54
Perfil del usuario (lector)
141
Figura 55
Mis compras (lector)
Nota: Se muestra el modelo de navegación del usuario lector ver sus compras, ver
archivo, descarar archivo.
Figura 56
Mis favoritos (lector)
Nota: Se muestra el modelo de navegación del usuario lector ver sus favoritos.
142
Figura 57
Carrito de compras (lector)
Nota: Se muestra el modelo de navegación del usuario lector ver sus compras el
carrito de compras.
Figura 58
Inicio de sesión
143
Figura 59
Administrar de usuario (administrador)
Figura 60
Administrar roles y permisos (administrador)
144
Figura 61
Administrar categoría (administrador, editor)
Figura 62
Administrar autor (administrador, editor)
145
Figura 63
Administrar revistas y publicación (administrador, editor)
Figura 64
Administrar proveedores (administrador, vendedor)
146
Figura 65
Administrar compra (administrador, vendedor)
Figura 66
Administrar clientes (administrador, vendedor)
147
Figura 67
Administrar ventas (administrador, vendedor)
Figura 68
Administrar ventas en línea (administrador, vendedor)
148
Figura 69
Inicio de sesión (lector)
Figura 70
Registro de usuario (usuario común)
149
Figura 71
Revistas (lector)
Figura 72
Detalle de revistas (lector)
150
Figura 73
Perfil de usuario (lector)
Figura 74
Mis compras (lector)
151
Figura 75
Mis favoritos (lector)
Figura 76
Carrito de compras (lector)
152
3.4. DESARROLLO DEL SISTEMA
En esta etapa se realiza la programación del sistema web de acuerdo con la fase de
diseño realizada anteriormente, además teniendo en cuenta todos los requerimientos
presentados en la fase de análisis de requerimientos.
153
Figura 77
Modelo físico de la base de datos
154
Figura 78
Muestra de código sql de la base de datos (tabla revista)
Figura 79
Inicio de sesión
Nota: vemos la página de Inicio de Sesión del sistema web en el cual los
155
usuarios ingresar con el rol que tengan, ejemplo administrador, editor,
vendedor.
Figura 80
Muestra de código (iniciar sesión)
Figura 81
Página de inicio (rol de administrador)
156
Nota: vemos la página de Inicio del administrador con algunos datos y menú de
opciones.
Figura 82
Muestra de código (página de inicio)
Figura 83
Administrar usuario (rol de administrador)
Nota: vemos la página para administrar usuarios con algunos datos y las opciones
de crear nuevo usuario, editar, eliminar, cambiar estado y reporte.
157
Figura 84
Muestra de código (Administrar usuario)
Figura 85
Administrar rol y permisos (rol de administrador)
Nota: vemos la página para administrar rol y permisos con algunos datos y la opción
de editar.
158
Figura 86
Muestra de código (Administrar rol y permisos)
Figura 87
Administrar categoría (rol de administrador)
Nota: vemos la página para administrar categoría con algunos datos y las opciones
crear nuevo, editar, eliminar, cambiar estado, imprimir reporte.
159
Figura 88
Muestra de código (Administrar categoría)
Figura 89
Administrar autores (rol de administrador)
Nota: vemos la página para administrar autores con algunos datos y las opciones
crear nuevo, editar, eliminar, cambiar estado, imprimir reporte.
160
Figura 90
Muestra de código (Administrar autores)
Figura 91
Revistas y publicación (rol de administrador)
Nota: vemos la página para administrar revistas y publicación con algunos datos y
las opciones crear nuevo, editar, eliminar, cambiar estado, imprimir reporte y ver
detalle.
161
Figura 92
Muestra de código (Revistas y publicación)
Figura 93
Administrar proveedor (rol de administrador)
Nota: vemos la página para administrar proveedor con algunos datos y las opciones
crear nuevo, editar, eliminar, cambiar estado, imprimir reporte.
162
Figura 94
Muestra de código (Administrar proveedor)
Figura 95
Administrar compras (rol de administrador)
Nota: vemos la página para administrar compra con algunos datos y las opciones
crear nuevo, ver detalle e imprimir reporte.
163
Figura 96
Muestra de código (Administrar compras)
Nota: vemos la página para administrar cliente con algunos datos y las opciones
crear nuevo, editar, eliminar, imprimir reporte.
164
Figura 97
Muestra de código (Administrar cliente)
Figura 98
Administrar ventas (rol de administrador)
Nota: vemos la página para administrar ventas con algunos datos y las opciones
crear nuevo, ver detalle e imprimir reporte.
165
Figura 99
Muestra de código (Administrar ventas)
Figura 100
Iniciar sesión (rol lector)
166
Figura 101
Muestra de código (iniciar sesión)
Figura 102
Registro de nuevo usuario lector
167
Figura 103
Muestra de código (registro de usuario)
Figura 104
Revistas disponibles (rol lector)
Nota: vemos la página de revistas con detalles de con filtro de categoría y búsqueda
y paginado.
168
Figura 105
Muestra de código (revistas)
Nota: Se muestra un pedazo de código la página ver revistas del usuario lector.
3.4.3.4. Detalle de revistas
Figura 106
Detalle de revistas (rol lector)
Nota: vemos la página detalle de las revistas, agregar favoritos, agregar al carrito,
información básica.
169
Figura 107
Muestra de código (detalle de revistas)
Figura 108
Perfil de usuario (rol lector)
Nota: vemos la página de cuenta del usuario menú perfil del usuario con sus datos
personales que podrá actualizar y cambiar contraseña.
170
Figura 109
Muestra de código (perfil de usuario)
Figura 110
Mis favoritos (rol lector)
Nota: vemos la página de cuenta del usuario menú mis favoritos con algunas
revistas.
171
Figura 111
Muestra de código (mis favoritos)
Nota: Se muestra un pedazo de código la página mis favoritos del usuario lector.
3.4.3.7. Mis compras
Figura 112
Mis compras (rol lector)
Nota: vemos la página de cuenta del usuario menú mis compras con algunas
revistas y estado.
172
Figura 113
Muestra de código (mis compras)
Nota: Se muestra un pedazo de código la página mis compras del usuario lector.
Las características del equipo que cuenta la institución para la implementación del
presente sistema:
Servidor Apache/2.4
PHP versión 7.4 o superior
PostgreSQL 11
173
Para las pruebas se realizó en un sistema virtual.
3.5.3.1. Instalación del gestor de base de datos Postgresql
Tabla 50
Habilitación del repositorio PostgreSQL Apt
comandos
descripción
# sudo apt install wget ca-certificates
Instalación de certificados
# wget --quiet -O -
Actualiza los paquetes de
https://www.postgresql.org/media/keys/ACCC4CF8.asc
instalación de claves.
| sudo apt-key add -
# sudo sh -c 'echo "deb
Descarga los paquetes del
http://apt.postgresql.org/pub/repos/apt/ `lsb_release -
repositorio de postgresql.
cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
Tabla 51
Instalación de PostgreSQL
comandos
descripción
Actualiza los paquetes de instalación # sudo apt update
# sudo apt-get install postgresql postgresql-
Instalación de Postgresql
contrib
Tabla 52
Conexión a PostgreSQL
descripción comandos
Asigna contraseña y usuario postgres # sudo su - postgres
Ingresa como usuario postgres # psql
Información de la conexión postgres-# \conninfo
Salir de la conexión postgres-# \q
174
Figura 114
Uso de los comandos para la instalación de PostgreSQL
Tabla 53
Instalación de apache como usuario root
Descripción comandos
Instalación apt install apache2
inicio systemctl start apache2
habilitar systemctl enable apache2
estado systemctl status apache2
reiniciar apache systemctl restart apache2
175
Figura 115
Uso de los comandos para la instalación del servidor web apache
Tabla 54
Instalación y configuración de PHP 7
Descripción Comandos
Ingresa como súper usuario (root) # sudo su
Agregue el repositorio para que # add-apt-repository ppa:ondrej/php
pueda realizar la descarga de los #apt-get update
paquetes PHP en la versión correcta.
Instalar PHP y aceptar la instalación # apt-get install php7.0 php7.0-dev php7.0-cli
de dependencias.
Verifique la versión de PHP # php -v
176
Activando La Extensión De La Base #apt-get install php7.0-pgsql
De Datos.
Nota: Se muestra los comandos para la instalación de Php.
Figura 116
Uso de los comandos para la instalación de PHP
Tabla 55
Configurar la zona horaria del servidor
Descripción Comandos
listar la hora y fecha actual timedatectl
lista de zonas activas timedatectl list-timezones
Modo grafico zonas dpkg-reconfigure tzdata
Actualizar la zona horaria timedatectl set-timezone America/La_Paz
177
Figura 117
Uso de los comandos para la configuración de la zona horaria
Figura 118
Transferencia de archivos al servidor
178
Figura 119
Página de inicio como administrador
Nota: vemos la página de Inicio del administrador con algunos datos y menú de
opciones.
3.6. EL MANTENIMIENTO
179
CAPITULO IV
PRUEBAS, SEGURIDAD,
CALIDAD Y COSTO
4.1. INTRODUCCION
En este capítulo se desarrollara las pruebas de software, calidad del software usando
la Iso/iec 25000, seguridad del software según Iso 27000 y por último la estimación
del software.
4.2. PRUEBAS DE SOFTWARE
Figura 120
Diagrama de estado Registro de revistas
180
Figura 121
Grafo de flujo Registro de revistas
Número de nodos = 7
Número de aristas = 8
(𝐺) = A – N + 2
Dónde:
Por tanto:
(𝐺 ) = 8 − 7 + 2
(𝑮) = 3
181
son los siguientes:
Camino 1: 1 – 2 – 3 – 4 – 5 – 7
Camino 2: 1 – 2 – 3 – 4 – 6 – 7
Camino 3: 1 – 2 – 7
Preparar los casos de prueba para forzar la ejecución de cada camino. Esta
última condición establece que, para la ejecución de ciertos caminos, se deben
establecer las condiciones en las que al menos se ejecuta los nodos establecidos
en el camino.
Camino 1: Inicia con el registro de revistas, se valida los campos requeridos del
formulario, si todos están correctamente llenados, se crean los datos de la
revista y se envía por el método post, posteriormente se crea en la base de
datos, y finaliza con mensaje de respuesta exitosa.
Camino 2: Inicia con el registro de revistas, se valida los campos requeridos del
formulario, si todos están correctamente llenados, se pasa a crear los datos de
la revistas se envía los datos por método post y posteriormente ocurre un error
en la base de datos y finaliza con mensaje de error de respuesta.
182
Tabla 56
Prueba de caja negra Registro de revistas
Elegir nuevo
Entradas
Llenar el formulario de registro de la revista con los datos
requeridos.
Resultado esperado
Luego de haber realizado el proceso de registro, la revista debería estar
listado.
Tabla 57
Elegir nuevo.
Entradas
Seleccionar el tipo de formación.
Seleccionar el género.
183
Llenar el formulario de registro con los datos del autor.
Figura 122
Prueba de estrés de la página de inicio de los usuarios lectores
184
Figura 123
Parámetros de peticiones 100 usuarios virtuales
Figura 124
Resultados obtenidos de la prueba con 100 peticiones
Se usó como Base de datos Postgresql, para su resguardo se realizó los siguientes
puntos:
186
Cuando el usuario ingresa la contraseña, esta no se muestra en pantalla, además la
contraseña de cada usuario esta encriptada mediante el uso de funciones propias del
framework codeigniter. Adicionalmente se utilizó la librería firebase jwt (json web
tokens) que genera una clave única (Token) para los usuarios que ingresar al
sistemas.
Figura 125
Autenticación en el lado del backend
187
Figura 126
Uso de la librería de jwt
Para el acceso a la sistema Web se los hace mediante roles y permisos que son
asignados al momento de la creación de un usuario.
Para más seguridad en este aspecto el framework Codeigniter nos ofrece el uso de
CSRF o Middlewares que son una serie de funciones que se ejecuta antes o
después de cada petición HTTP. Dentro del Sistema Web se utilizó en las rutas para
filtrar a los usuarios permitidos, las peticiones HTTP permitidas y endpoint (punto
final) es una url de consulta.
188
Figura 127
Seguridad en rutas http
Figura 128
Prueba de seguridad http
Además de limitar las acciones del usuario dentro del Sistema Web según roles y
permisos, también se hace seguimiento de las acciones del usuario y estas se
almacenan en la base de datos con el propósito de estar preparados para una
auditoria.
189
4.4. METRICA DE CALIDAD DEL SOFTWARE
Figura 129
Calidad del producto software categorías y subcategorías
Tabla 58
Características de calidad interna seleccionadas
190
Se califica con valor de importancia M porque es
necesario evaluar que el código sea entendido,
Facilidad de uso M
aprendido y usado por cualquier programador.
Se califica con valor de importancia A porque es
necesario que en el código existan funciones que
Seguridad A se encargue de la protección de los datos e
información.
Se califica con valor de importancia M porque es
muy necesario evaluar que el sistema lleve a cabo
Compatibilidad M sus funciones normales mientras intercambia
información y comparte el mismo entorno con otro
producto software.
Se califica con valor de importancia A porque es
muy necesario que el código sea modificado o
Mantenibilidad A actualizado por cualquier programador de acuerdo
a las necesidades correctivas.
Se califica con valor de importancia NA porque no
aplica realizar la evaluación a un producto de tipo
Portabilidad NA
página web.
Tabla 59
Subcaracterísticas y atributos de calidad interna seleccionadas
191
Se califica con valor de importancia M
porque es necesario evaluar si las
funciones codificadas son entendibles
Capacidad de reconocer su para cualquier programador.
M
adecuación
Co - existencia M
192
Se califica con valor de importancia
A porque es muy necesario evaluar si
el código puede ser reutilizado.
Reusabilidad A
Tabla 60
Subcaracterísticas y atributos de calidad interna seleccionadas
193
Cantidad de elementos
Confidencialidad Encriptación de datos encriptado/ desencriptados
Tabla 61
Ponderación en porcentajes para la calidad interna
194
Se pondera con valor de 25% porque es
necesario que en el código existan funciones
que encripten la contraseña a la hora de crear
Seguridad A 25% un nuevo usuario
Se pondera con valor de 10% porque no es
necesario evaluar la compatibilidad a nivel de
código, por lo que será evaluada desde punto
Compatibilidad B 10% de vista externo.
Figura 130
Aplicación de la matriz de calidad para evaluar la calidad interna
195
196
Tabla 62
Resultado final de calidad interna
Facilidad de 9.01 M
15% 1.35
uso
Seguridad 10.00 A
25% 2.50
Mantenibilidad 4.17 A
25% 1.04
Portabilidad
0 NA 0 0
Tabla 63
Niveles de puntuación final para la calidad interna, externa y en uso
197
4.5. ESTIMACION DE COSTO
Para calcular el Punto Función ajustado (PFA) se utilizará la siguiente formula dada
(IFPUG) International Function Point User Group:
PFSA: Resultado del conteo de puntos de función sin ajustar de la tablas de Factor
de ponderación evaluada según su tipo y su complejidad.
198
X: valor establecido de 0.65
Tabla 64
Funciones según su tipo y su complejidad
EI Número de Entradas
externas 3 PF 4 PF 6 PF
EO Número de Salidas
externas 4 PF 5 PF 7 PF
EQ Número de Consultas
externas 3 PF 4 PF 6 PF
Web de administración:
Tabla 65
Módulo inicio de sesión
199
Tabla 66
Módulo tablero de información.
Tabla 67
Módulo de usuarios
Tabla 68
Módulo de roles y permisos.
Tabla 69
Módulo de categoría.
200
actualizar (EI) 1
listar (EO) 1
Eliminar (EI) 1
reportes (EO) 1
cambiar estado (EI) 1
Tabla 70
Módulo de autores.
Tabla 71
Módulo de revistas y publicación.
201
Tabla 72
Módulo de proveedor.
Tabla 73
Módulo de compra.
Tabla 74
Módulo de clientes.
202
Tabla 75
Módulo de ventas.
Tabla 76
Módulo de ventas en línea.
Web público:
Tabla 77
Módulo inicio.
Tabla 78
Módulo revistas
203
Tabla 79
Módulo detalle de las revistas.
Tabla 80
Módulo inicio de sesión.
Tabla 81
Módulo registro de usuario.
Tabla 82
Módulo perfil de usuario.
Tabla 83
Módulo cambiar contraseña.
204
Tabla 84
Módulo favorito del usuario.
Tabla 85
Módulo compras del usuario.
Tabla 86
Módulo carrito de compras del usuario.
Módulos totales: 23
205
Tabla 87
Factor de ponderación
TIPO factor de
complejidad Cantidad ponderación total
media
EI Número de Entradas
externas 36 4 144
EO Número de Salidas
externas 28 5 140
EQ Número de Consultas
externas 12 4 48
ILF Número de archivos
lógico interno 25 10 250
EIF Numero de interfaces 0 7
externas 0
punto de función sin ajustar PFSA 1164
Tabla 88
Tabla de Valores de ajuste de la complejidad
ponderación 0 1 2 3 4 5
Sin importancia
Significativo
Incremental
Moderado
FI
Factor de ajuste
Esencial
Medio
206
4.- ¿Es critico el rendimiento? X 2
5.- ¿El sistema web será ejecutado el SO.
X 4
Actual. ?
6.- ¿Se requiere una entrada interactiva
X 4
para el sistema?
7.- ¿Se requiere que el sistema tenga
X 5
entradas a datos con múltiples ventanas?
8.- ¿Se actualiza los archivos de forma
X 5
interactiva?
9.- ¿Son complejas las entradas, salidas, los
X 3
archivos o las peticiones?
10.- ¿Es complejo el procesamiento interno
X 4
del sistema?
11.- ¿Se ha diseñado el código para ser
X 5
reutilizado?
12.- ¿Se ha diseñado el sistema para facilitar
al usuario el trabajo y ayudarlos a encontrar X 5
la información?
13.- ¿Se ha diseñado la aplicación para
facilitar los cambios y para ser fácilmente X 5
utilizados por el usuario?
207
∑ Fi= 57
PFA = 1164 * (0.65 + 0.01 * 57)
PFA = 1164*1.22
PFA = 1.420,08
4.5.2. COCOMO II
𝑬
P= , en personas
𝐓𝐝𝐞𝐯
208
Modo semi – libre o semi – acoplado: Corresponde a un esquema
intermedio entre el orgánico y el rígido, el grupo de desarrollo puede incluir
una mezcla de personas experimentadas y no experimentadas.
Modo rígido o empotrado: El proyecto tiene fuertes restricciones, que
pueden estar relacionadas con la funcionalidad y/o pueden ser técnicas. El
problema a resolver es único, siendo difícil basarse en la experiencia puesto
que puede no haberla.
Tabla 89
Coeficiente a y c y los exponentes b y d
modos a b c d
Este resultado se debe convertir a KLDC (Kilos de Líneas de Código), para ello se
utiliza la siguiente la tabla.
Tabla 90
Conversión de puntos de Función a KDLC
LENGUAJE NIVEL FACTOR LDC/PF
C 2.5 128
ANSI BASIC 5 64
JAVA 6 53
209
PL/I 4 80
ASP 9.00 36
PHP 11.00 29
LDC = 1164 * 29
𝐋𝐃𝐂 = 33756
Calculando el número de líneas distribuidas en el sistema KLCD se tiene:
KLDC = 33756/1000
KLDC =33.756
Donde:
KLDC: 33.756
210
Como nuestro proyecto es del tipo Orgánico, utilizaremos a = 2.4 y b = 1.05.
Reemplazando estos valores en la ecuación, tenemos:
E = 2.4 ∗ (33.756)1.05
𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒔
E = 40.25 ( )
𝒎𝒆𝒔
Tdev = 𝟖, 95 ≅ 𝟗 (meses)
P =
𝑬 , en personas
𝐓𝐝𝐞𝐯
40.25
P =
8.95
𝐏 = 𝟒. 𝟒9 ≅ 𝟒 (programadores)
El salario promedio de un programador junior oscila entre los 2000 Bs y 4000 Bs., en
nuestro caso tomaremos un promedio con un valor de 3000 Bs, a partir de este
monto podemos calcular el costo del software desarrollado por mes:
211
Costo total de desarrollo = Costo del software desarrollado por mes ∗ Numero de
meses
Tabla 91
Resumen de Cocomo II
P Persona 4 Persona
CM Costo Mes 12000 Bolivianos
CT Costo total 108000 Bolivianos
Las herramientas de software son PHP y PostgreSQL y Vue js, son de uso libre y las
mismas que son utilizadas por muchas empresas por ser software libre.
Tabla 92
Costos de Implementación
Dominio 0
servidor 0
TOTAL 0
212
4.5.2.3. Costo de Elaboración del software
Los costos de elaboración del proyecto se refieren principalmente a los gastos que
se realizan a lo largo de las diferentes fases de la metodología UWE, estos son
detallados a continuación:
Tabla 93
Costos de Elaboración
Internet 1500
Otros 200
TOTAL 2950
El costo total del software se lo obtiene de la sumatoria del costo de: desarrollo,
implementación y elaboración del proyecto:
Tabla 94
Costos de Elaboración
Costo de implementación 0 bs
TOTAL 110950 bs
213
Por lo tanto, el costo total del proyecto es 110950 Bs.
Tabla 95
Antes y después del sistema
214
CAPITULO V
CONCLUCIONES
Y
RECOMENDACIONES
5.1. INTRODUCCIÓN
5.1.1. CONCLUSIONES
Una vez finalizado el proyecto de grado titulado “Sistema de información web para la
administración y publicación digital de revistas científicas” para la dirección de
Posgrado de la Universidad Pública de El Alto, se logró alcanzar el objetivo principal
planteado, cumpliendo con las necesidades requeridas.
215
5.1.2. RECOMENDACIONES
A partir del presente trabajo se propone las siguientes recomendaciones, con el fin
de buscar el mejoramiento del sistema:
Se recomienda al usuario administrador, dar de alta a los usuarios como editor
y encargado de venta, con los privilegios mínimos y contraseñas con cantidad
mínima de caracteres, así como de discreción después de su asignación.
Se recomienda realizar copias de seguridad de la base de datos
periódicamente, para llevar una copia de respaldo.
Se recomienda hacer una actualización a las ventas en línea ya que el modo
de pago es mediante comprobante de pago de banco.
Se recomienda actualizar el envió de archivos al correo. por un gestor de
contenido de archivos como (mega, google drive, etc.). Por qué el envió
depende mucho de la velocidad conexión de internet.
216
Bibliografía
Acibeiro, M. (07 de marzo de 2022). lucushost. Obtenido de lucushost:
https://www.lucushost.com/blog/que-es-node-js/
ACyT, A. C. (2010). TEBEOSFERA. Obtenido de TEBEOSFERA:
https://www.tebeosfera.com/conceptos/publicacion_digital.html
Adriana Gómez, M. d. (2021). UN MODELO DE ESTIMACION DE PROYECTOS DE SOFTWARE. abril:
https://blogadmi1.files.wordpress.com/2010/11/cocom0llfull.pdf.
Aguado, L. E. (5 de abril de 2022). wikipedia.org. Obtenido de wikipedia.org:
https://es.wikipedia.org/wiki/Revista_cient%C3%ADfica
alvarez, c. ,. (2017). Implementacion iso- 27001.
Andalucía. (22 de 03 de 2021). Junta de Andalucía. Obtenido de Junta de Andalucía:
http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/264
Bembibre, C. (fecbrero de 2013). Definición ABC. Obtenido de Definición ABC:
https://www.definicionabc.com/general/publicacion.php
C.E.S.U.M.A. (23 de septiembre de 2022). UNIVERSIDAD INTERNACION DEL TALENTO. Obtenido de
UNIVERSIDAD INTERNACION DEL TALENTO: https://www.cesuma.mx/blog/que-es-la-
informacion-en-informatica-y-otras-ciencias.html
Carlos Yañez. (08 de noviembre de 2020). CEAC. Planeta Formación y Universidades. Obtenido de
CEAC. Planeta Formación y Universidades: https://www.ceac.es/blog/tipos-de-seguridad-
informatica
Catedracosgaya. (30 de 03 de 2021). www.catedracosgaya.com.ar. Obtenido de
www.catedracosgaya.com.ar: http://www.catedracosgaya.com.ar/tipoblog/2015/como-
nacio-la-revista/#:~:text=naci%C3%B3%20la%20revista%3F-
,Se%20piensa%20que%20la%20revista%20naci%C3%B3%20hacia%20finales%20del%20siglo,t
ipo%20de%20lector%20en%20particular.
Cecilia Bembibre, C. (fecbrero de 2013 ). Definición ABC . Obtenido de Definición ABC :
https://www.definicionabc.com/general/publicacion.php
Civantos, M. (21 de mayo de 2021). tribalyte. Obtenido de tribalyte: https://tech.tribalyte.eu/blog-
que-es-una-api-rest
CodeIgniter. (05 de septiembre de 2022). CodeIgniter4. Obtenido de CodeIgniter4:
https://codeigniter.com/user_guide/intro/index.html
Crear Imagen Agencia Digital. (17 de 04 de 2021). paginaswebbogota. Obtenido de
paginaswebbogota: https://www.paginaswebbogota.pro/administracion-
web/#:~:text=El%20concepto%20de%20administraci%C3%B3n%20web,funcionamiento%20d
e%20una%20p%C3%A1gina%20web.
Denzer, P. (2002). PostgreSQL.
EcuRed. (25 de septiembre de 2022). EcuRed. Obtenido de EcuRed: https://www.ecured.cu/JavaScript
EcuRed. (25 de septiembre de 2022). EcuRed. Obtenido de EcuRed:
https://www.ecured.cu/PostgreSQL
EduRed. (2022). EduRed. Obtenido de EduRed: https://www.ecured.cu/MagicDraw
Estatuto Organio Upea. (10 de 11 de 2017). abc la upea. Obtenido de
https://upea.reyqui.com/2017/11/upea-estatuto-organico-reglamentos.html
Etecé. (22 de octubre de 2021). concepto. Obtenido de concepto: https://concepto.de/sistema/
Florencia Ucha. (septiembre de 2008 ). Definición ABC. Obtenido de Definición ABC:
https://www.definicionabc.com/comunicacion/revista.php
Friends, A. (08 de 09 de 2022). Apache Friends. Obtenido de Apache Friends:
https://www.apachefriends.org/es/index.html
Gaikwad, S. S. (2019). A review paper on bootstrap framework. En S. S. Gaikwad, A review paper on
bootstrap framework.
Galiano, l. (octubre de 2012). V-INF-3T. Obtenido de V-INF-3T:
http://elproyectodeluisgaliano.blogspot.com/
Galiano, l. (noviembre de 2012). V-INF-3T. Obtenido de V-INF-3T:
http://elproyectodeluisgaliano.blogspot.com/
Gardey, J. P. (2019). definicion.de. Obtenido de definicion.de: https://definicion.de/publicacion/
Gdr, S. (22 de 03 de 2021). Gdr soluciones. Obtenido de Gdr soluciones:
https://facturacion.gdrsoluciones.com/knowledgebase/26/iQue-es-
APACHE.html?language=spanish
Gómez, A. M. (2021). UN MODELO DE ESTIMACION DE PROYECTOS DE SOFTWARE. abril:
https://blogadmi1.files.wordpress.com/2010/11/cocom0llfull.pdf.
González, J. (17 de Agosto de 2018). OpenWebinars. Obtenido de OpenWebinars:
https://openwebinars.net/blog/caracteristicas-importantes-de-postgresql/
González, J. (17 de Agosto de 2018). OpenWebinars. Obtenido de OpenWebinars:
https://openwebinars.net/blog/caracteristicas-importantes-de-postgresql/
Google Sites. (17 de abril de 2021). Google Sites. Obtenido de Google Sites:
https://sites.google.com/site/sistemasdecalidadenti/iso-iec-9126
Group, T. p. (2021). Hypertext Pre-Processor "PHP". Obtenido de Group, The php:
https://www.php.net/manual/es/intro-
whatis.php#:~:text=PHP%20(acr%C3%B3nimo%20recursivo%20de%20PHP,puede%20ser%20i
ncrustado%20en%20HTML.
ISO25000, i. (30 de 08 de 2022). NORMA ISO 25000. Obtenido de NORMA ISO 25000:
https://iso25000.com/index.php/normas-iso-25000
ISO27000. (22 de abril de 2021). normasiso net. Obtenido de normasiso net:
https://www.normasiso.net/wp-content/uploads/2016/10/iso-27000.pdf
Ludwig Maximilians. (10 de agosto de 2016). UWE – UML-based Web Engineering. Obtenido de UWE
– UML-based Web Engineering:
https://uwe.pst.ifi.lmu.de/teachingTutorialRequirementsSpanish.html
Mamani, M. L. (26 de noviembre de 2019). encora. Obtenido de encora:
https://www.encora.com/es/blog/qu%C3%A9-es-vue.js-y-c%C3%B3mo-lo-usamos
Maximilians, L. (10 de agosto de 2016). UWE – UML-based Web Engineering. Obtenido de UWE –
UML-based Web Engineering:
https://uwe.pst.ifi.lmu.de/teachingTutorialRequirementsSpanish.html
Micro Focus. (4 de octubre de 2022). Micro Focus. Obtenido de Micro Focus:
https://www.microfocus.com/es-es/what-is/performance-testing
Mora, S. L. (2002). Programación de aplicaciones web: historia, principios básicos y clientes web.
Editorial Club Universitario.
Muñoz, P. L. (2018). Introducción, conceptos, creación de sitios Web, diseño de páginas WEB,. Lima,
Perú.
Murillo Danny, S. D. (11 de 01 de 2016). UTP-Ridda2. Obtenido de
https://ridda2.utp.ac.pa/handle/123456789/3104
Narvaez, P. B. (2016). EXPERIENICIA DE DESARROLLO DE UNA APLIACACIÓN WEB UTILIZANDO LA
METODOLOGIA UWE. ECUADOR.
NodeJs. (08 de 09 de 2022). NodeJs. Obtenido de NodeJs: https://nodejs.org/es/
Nora Koch, A. K. (10 de junio de 2002). scholar google. Obtenido de scholar google:
https://scholar.google.com/citations?user=GEh-NxkAAAAJ&hl=de#d=gs_md_cita-
d&u=%2Fcitations%3Fview_op%3Dview_citation%26hl%3Dde%26user%3DGEh-
NxkAAAAJ%26citation_for_view%3DGEh-NxkAAAAJ%3Au5HHmVD_uO8C%26tzom%3D240
Oropeza, D. K. (2018). La competencia económica en el comercio electrónico y su protección en el
sistema jurídico mexicano. mexico.
Patricio Denzer. (2002). PostgreSQL.
Pérez, J. E. (2019). introduccion a JavaScript. En J. E. Pérez, introduccion a JavaScript.
Pineda, J. M. (03 de NOVIEMBRE de 2016). coriaweb. Obtenido de coriaweb:
https://www.coriaweb.hosting/codeigniter-cuales-algunas-ventajas/
PostgreSQL. (08 de 09 de 2022). postgresql. Obtenido de postgresql: https://www.postgresql.org/
Pressman. (2010). Ingenieria del software un enfoque práctico. Mexico.
Pressman, R. (2010). Ingeniería del software un enfoque práctico. México: McGraw Hill.
Roc, l. (19 de marzo de 2019). luis roc. Obtenido de https://luisroc.com/plataformas-web-soluciones-
a-la-medida/
Rockcontent. (12 de abril de 2020). rockcontent. Obtenido de rockcontent:
https://rockcontent.com/es/blog/bootstrap/
Roger S. Pressman. (2010). Ingeniería del software un enfoque práctico. México: McGraw Hill.
Ruiz, R. L. (30 de 03 de 2021). www.catedracosgaya.com.ar. Obtenido de
www.catedracosgaya.com.ar: http://www.catedracosgaya.com.ar/tipoblog/2015/como-
nacio-la-revista/#:~:text=naci%C3%B3%20la%20revista%3F-
,Se%20piensa%20que%20la%20revista%20naci%C3%B3%20hacia%20finales%20del%20siglo,t
ipo%20de%20lector%20en%20particular.
Salamanca Ticona Ramiro. (30 de 09 de 216). Ri-UMSA. Obtenido de
https://repositorio.umsa.bo/handle/123456789/17662
Sánchez, P. J. (2015). Pruebas de Software. Fundamentos y Técnicas. Obtenido de upm:
https://oa.upm.es/40012/
Schiaffarino, A. (12 de Marzo de 2019). Infranetworking Internacional. Obtenido de Infranetworking
Internacional: https://blog.infranetworking.com/modelo-cliente-servidor/
scielo Bolivia. (13 de abril de 2021). scielo Bolivia. Obtenido de scielo Bolivia:
http://www.scielo.org.bo/
Sebastián Díaz Becerro. (17 de 04 de 2021). Google Sites. Obtenido de Google Sites:
https://sites.google.com/site/jorgeluiscordovadiaztic/unidad-de-aprendizaje-iii/definicion-y-
caracteristicas-de-plataforma-educativa
Sites Google. (20 de abril de 2021). sites google,. Obtenido de sites google,:
https://sites.google.com/site/phpinfoiutepi/-que-es-php
Thompson, I. (Octubre de 2008). Definición de Información. pág. 3. Obtenido de
https://www.itmerida.mx/panel/posgrado/archivos/mga/PRUEBA.pdf
Torres, I. M. (1996). METODOS DE RECOLECCION DE DATOS PARA UNA. España.
Upea. (30 de 03 de 2021). www.upea.bo. Obtenido de www.upea.bo:
https://enlaupea.blogspot.com/p/historia-de-la-upea.html#.YGKlEFVKjDc
Uriarte. (29 de marzo de 2020). Obtenido de https://www.caracteristicas.co/sistema-informatico/
Uriarte. (10 de marzo de 2020). Caracteristicas. Obtenido de Caracteristicas:
https://www.caracteristicas.co/sistemas/
UTN. (06 de junio de 2015). slideshare. Obtenido de slideshare:
https://es.slideshare.net/omar1023/uwe-49070035
Vázquez, S. (05 de marzo de 2022). digital editorial. Obtenido de digital editorial: https://digital-
editorial.com/revistas-digitales/
Vuejs. (05 de octubre de 2022). vuejs. Obtenido de vuejs: https://es.vuejs.org/v2/guide/
Webempresa. (20 de abril de 2021 ). Webempresa. Obtenido de Webempresa:
https://www.webempresa.com/hosting/que-es-servidor-apache.html
Wikipedia.org. (11 de Febrero de 2020). Calidad de software. Obtenido de Wikipedia:
https://es.m.wikipedia.org/wiki/Calidad_de_software
ANEXOS
ÁRBOL DE PROBLEMAS
Reducción de tiempo de
consultas en la La información Sin pérdidas Cantidad exacta
administración de las precisa y disponible económicas por los de los ejemplares
revistas en todo momento ejemplares impresos impresos