Escuela Superior Politécnica de Chimborazo: Carrera de Ingeniería en Sistemas
Escuela Superior Politécnica de Chimborazo: Carrera de Ingeniería en Sistemas
Escuela Superior Politécnica de Chimborazo: Carrera de Ingeniería en Sistemas
Trabajo de titulación
Tipo: Proyecto Técnico
Riobamba-Ecuador
2019
©2019, Jonatan Fabio Cerda Grefa
Se autoriza la reproducción total o parcial, con fines académicos, por cualquier medio o
procedimiento, incluyendo la cita bibliográfica del documento, siempre y cuando se reconozca
el Derecho de Autor.
ii
Yo, Jonatan Fabio Cerda Grefa, declaro que el presente trabajo de titulación es de mi autoría y
los resultados del mismo son auténticos. Los textos en el documento que provienen de otras
fuentes están debidamente citados y referenciados.
Como autor asumo la responsabilidad legal y académica de los contenidos de este trabajo de
titulación; El patrimonio intelectual pertenece a la Escuela Superior Politécnica de Chimborazo.
150081214-2
iii
ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO
FACULTAD DE INFORMÁTICA Y ELECTRÓNICA
CARRERA DE INGENIERÍA EN SISTEMAS
iv
DEDICATORIA
Este trabajo de titulación lo dedico a Dios, quien me ha dado la fortaleza de seguir adelante en
mi camino. A mi padre Luis Cerda y a mi querida madre Carolina Grefa ya que ellos me
brindaron su apoyo ilimitado, su dedicación, su paciencia, su amor incondicional, no me dieron
la espalda cuando las situaciones eran complicadas, siempre han forjado mi camino con sus
consejos y valores, permitiendo ser la persona que soy actualmente. A mi hija Ahily Dianeth
Cerda Tapuy, por darme la felicidad y motivos de seguir adelante. A mis hermanos Katia, Edy,
David, Pablo, José Luis, Juan, Diego, por estar en todo momento dándome su cariño y afecto
sincero. A mis suegros Mario y Elena, por aceptarme como parte de la Familia y abrirme sus
brazos en cada momento que necesité en la vida. En especial dedico a mi hermano Saúl Cerda y
a mi cuñado Jairo Alvarado quienes en vida me apoyaron y me llenaron de sabios consejos,
ahora que están en el cielo sé que me siguen enviando todas sus bendiciones para continuar y no
decaer.
Jonatan
v
AGRADECIMIENTO
Agradezco a Dios por llenarme de bendiciones y permitir culminar mi carrera, a mis padres que,
gracias a su ejemplo, trabajo, consejos y su apoyo hoy llego a culminar una de mis metas
planteadas. A mis hermanos que siempre me dieron su apoyo moral, a mis suegros por su apoyo
incondicional durante toda mi formación profesional. A mi hermano que ya no está conmigo
pero que desde el cielo me protege y me bendice en cada paso que doy. A mi querida
Politécnica por ser parte de ella y brindarme todo el conocimiento idóneo para ser un buen
profesional. Al Phd. Omar Gómez y a la Ing. Blanca Hidalgo por su paciencia y sabiduría
quiénes me han ayudado para culminar exitosamente este proyecto. Al Abg. Julio Cerda
presidente de la Junta Administradora de Agua Potable Regional “Kawsay Yacu”, por facilitar
la realización de mi trabajo de titulación en esa institución.
Jonatan
vi
TABLA DE CONTENIDO
RESUMEN ............................................................................................................................... xv
ABSTRACT .............................................................................................................................xvi
INTRODUCCIÓN .....................................................................................................................1
CAPÍTULO I
vii
1.6 JavaScript ................................................................................................................. 24
CAPÍTULO II
viii
2.3.4 Análisis económico .................................................................................................... 48
CAPÍTULO III
CONCLUSIONES .................................................................................................................... 93
RECOMENDACIONES .......................................................................................................... 94
BIBLIOGRAFÍA
ANEXOS
ix
ÍNDICE DE TABLAS
x
Tabla 3-3: Valores de las propiedades de calidad de modularidad del paquete comunes ....... 80
Tabla 4-3: Promedio de los valores de las propiedades de calidad de modularidad ............... 80
Tabla 5-3: Valores de las propiedades de calidad de reusabilidad de la interfaz gráfica ........ 81
Tabla 6-3: Valores de las propiedades de calidad de reusabilidad del acceso a datos............. 82
Tabla 7-3: Valores de las propiedades de calidad de reusabilidad del paquete comunes ........ 82
Tabla 8-3: Promedio de los valores de las propiedades de calidad de reusabilidad ................ 83
Tabla 9-3: Valores de las propiedades de calidad de analizabilidad de la interfaz gráfica...... 84
Tabla 10-3: Valores de las propiedades de calidad de analizabilidad del acceso a datos .......... 85
Tabla 11-3: Promedio de los valores de las propiedades de calidad de analizabilidad ............. 85
Tabla 12-3: Valores de las propiedades de calidad de la capacidad para ser modificado de la
interfaz gráfica .................................................................................................... 87
Tabla 13-3: Valores de las propiedades de calidad de capacidad para ser modificado del acceso
a datos ................................................................................................................. 87
Tabla 14-3: Valores de las propiedades de calidad de capacidad para ser modificado del
paquete comunes ................................................................................................. 88
Tabla 15-3: Promedio de los valores de las propiedades de calidad de capacidad para ser
modificado .......................................................................................................... 88
Tabla 16-3: Valores de las propiedades de calidad de la capacidad para ser probado de la
interfaz gráfica .................................................................................................... 89
Tabla 17-3: Valores de las propiedades de calidad de capacidad para ser probado del acceso a
datos .................................................................................................................... 90
Tabla 18-3: Valores de las propiedades de calidad de capacidad para ser probado del paquete
comunes .............................................................................................................. 90
Tabla 19-3: Promedio de los valores de las propiedades de calidad de capacidad para ser
probado ............................................................................................................... 91
Tabla 20-3: Valores de las subcaracterísticas de mantenibilidad .............................................. 92
xi
ÍNDICE DE FIGURAS
Figura 1-1: Arquitectura de una aplicación web - Todo en un mismo servidor ...........................7
Figura 2-1: Arquitectura de una aplicación web - Servidor de datos separado ............................7
Figura 3-1: Arquitectura de una aplicación web - Todo en un solo servidor con servicio de
aplicaciones .............................................................................................................8
Figura 4-1: Arquitectura de una aplicación web - Separación del servidor de datos con servidor
de aplicaciones .........................................................................................................8
Figura 5-1: Arquitectura de una aplicación web - Todo por separado .......................................9
Figura 6-1: Esquema básico del funcionamiento de una aplicación Web..................................9
Figura 7-1: Funcionamiento básico del patrón MVC .............................................................. 14
Figura 8-1: Plataforma de Java ............................................................................................... 19
Figura 9-1: Roles en una arquitectura de servicios Web ......................................................... 28
Figura 10-1: Características de calidad del producto software de la norma ISO/IEC 25010 .... 35
Figura 1-2: Proceso actual de la junta de agua potable “KAWSAY YAKU” ......................... 50
Figura 2-2: Diagrama de caso de uso del administrador del sistema ....................................... 55
Figura 3-2: Diagrama de clases del sistema Kawsay Yacu ..................................................... 56
Figura 4-2: Diagrama de secuencia de Ingresar personal de la junta de agua .......................... 57
Figura 5-2: Diagrama de colaboración de ingresar personal de la junta de agua ..................... 58
Figura 6-2: Diagrama de Actividades del proceso de ingresar personal a la junta de agua ..... 58
Figura 7-2: Arquitectura del sistema ....................................................................................... 59
Figura 8-2: Componentes del sistema Web Kawsay Yacu ...................................................... 60
Figura 8-2: Diagrama de despliegue ....................................................................................... 60
Figura 9-2: Página principal del sistema Kawsay Yacu .......................................................... 63
Figura 10-2: Pantalla de autenticación de usuarios ................................................................... 63
Figura 11-2: Pantalla principal del administrador ..................................................................... 64
Figura 12-2: Pantalla principal del presidente ........................................................................... 64
Figura 13-2: Pantalla principal de la secretaria ......................................................................... 65
Figura 14-2: Pantalla principal del tesorero .............................................................................. 65
Figura 15-2: Modelo lógico de la base de datos del sistema Kawsay Yacu .............................. 67
xii
ÍNDICE DE GRÁFICOS
xiii
ÍNDICE DE ANEXOS
xiv
RESUMEN
El presente trabajo de titulación tuvo como objetivo desarrollar un sistema web para la
recaudación de la Junta Administradora de Agua Potable Regional “KAWSAY YAKU” de la
parroquia de Muyuna utilizando el Lenguaje JAVA y Servicios Web SOAP. Para la ejecución
de este proyecto se usó la metodología ágil SCRUM, la cual permitió mantener comunicación
activa con el cliente haciendo que su desarrollo sea eficaz. Para planificar el proyecto se utilizó
la observación y entrevistas donde se elicitaron diferentes requerimientos del sistema web,
resultando en 42 historias de usuario y 6 historias técnicas. Para desarrollar el sistema web se
utilizó Java como lenguaje de programación, además del lenguaje de programación interpretado
JavaScript, JSON, el Framework Bootstrap, para desplegar el sistema el servidor de
aplicaciones Glassfish, los servicios web SOAP y como gestor de base de datos a PostgreSQL.
Para conseguir un sistema web escalable y mantenible se utilizó el patrón Modelo-Vista-
Controlador (MVC), las tareas de desarrollo se las dividió en 5 Sprints, cada uno tuvo la
duración de 4 semanas que resultaron en un total de 400 puntos estimados. Se evaluó la
mantenibilidad del sistema web según la norma ISO/IEC 25010, la cual divide esta
característica en las siguientes subcaracterísticas: modularidad con 62,75%, reusabilidad con
96,31%, analizabilidad con 99,94%, capacidad para ser modificado con 96,31% y la capacidad
para ser probado con 75,63%, con estos valores se obtuvo un cálculo total de 86,19% de
mantenibilidad que en la escala de valoración presentada sugiere que el sistema web
desarrollado tiene un grado altamente mantenible por lo que se puede concluir que al contar con
esa valoración se garantiza la eficiencia y efectividad al momento de su mantenimiento, además
de que dicho sistema logró mejorar el proceso de recaudación del servicio de agua potable y sus
gestiones.
xv
ABSTRACT
The purpose of this titling work was to develop a web system for the collection of the Regional
Board of Administrative Drinking Water "KAWSAY YAKU" of the parish of Muyuna using
the JAVA Language and SOAP Web Services. For the execution of this project, the agile
SCRUM methodology was used, which allowed maintaining active communication with the
client, making its development effective. To plan the project, observation and interviews where
different requirements of the web system were elicited were used, resulting in 42 users’ stories
and 6 technical stories. To develop the web system, Java was used as a programming language,
in addition to the JavaScript interpreted programming language, JSON, the Bootstrap
Framework, to deploy the system to the Glassfish application server, SOAP web services and as
a database manager to PostgreSQ1. To achieve a scalable and maintainable web system, the
Model-View-Controller (MVC) pattern was used, the development tasks were divided into 5
Sprints, each lasting 4 weeks, resulting in a total of 400 estimated points. The maintainability of
the web system was evaluated according to ISO / IEC 25010, which divides this characteristic
into the following sub characteristics: modularity with 62,75%, reusability with 96.31%,
analysability with 99,94%, ability to be modified with 96,31% and the capacity to be tested with
75,63%, with these values a total calculation of 86,19% of maintainability was obtained which
in the valuation scale presented suggests that the developed web system has a highly
maintainable degree; therefore, it can be concluded that by having this valuation, efficiency and
effectiveness are guaranteed at the time of its maintenance, in addition to the fact that said
system was able to improve the collection process of the potable water service and its
procedures.
xvi
INTRODUCCIÓN
La Junta Administradora de Agua Potable Regional “KAWSAY YACU “se encuentra ubicada
en la parroquia Muyuna del cantón tena perteneciente a la provincia de Napo, la cual se orienta
al desarrollo de sus habitantes en cuanto a lo social, humano, económico y comunitario, la junta
parroquial ofrece diversos servicios a los habitantes de la parroquia entre ellos el cobro del agua
potable, el cual en la actualidad la recaudación de dicho servicio se efectúa de manera no
automatizada ya que no se cuenta con un sistema web y por tal motivo se ha presentado fallas
en la inexactitud del detalle del costo y cálculos mal elaborados de los valores recaudados,
originando perdidas en el área contable.
Por lo expuesto anteriormente se propone desarrollar una herramienta tecnológica viable, una
aplicación web que permitirá automatizar la gestión de los procesos de recaudación de la Junta
Administradora de Agua Potable Regional “KAWSAY YACU” de la parroquia Muyuna,
mismo que modernizará el servicio de recaudación, generando reportes que serán almacenados
en el sistema y archivados físicamente.
Capítulo I, Marco teórico referencial, en el que se describe todos los temas relacionados a las
tecnologías utilizadas para la realización de este trabajo de titulación.
1
Capitulo II, Marco metodológico, que describe todas las fases que conforman la metodología
ágil SCRUM para desarrollar el sistema Web.
Capitulo III, Marco de resultados, que detalla los resultados que se obtienen después de evaluar
la mantenibilidad del sistema aplicando la norma ISO/IEC 25010.
JUSTIFICACIÓN
JUSTIFICACIÓN TEÓRICA
Actualmente los procesos de recaudación se los debe desarrollar sencillos y enfocados a las
gestiones contables en formularios digitales, con el objetivo de ahorrar recursos, tiempo, espacio
de almacenamiento para evitar pérdida de información. Las empresas públicas deben emplear
software libre para optimizar dichos procesos, debido a esto el presente trabajo de titulación
utilizará la tecnología Java con servicios web SOAP (Simple Object Access Protocol) para
desarrollar el sistema web.
2
¿Por qué se utiliza Java con servicios web SOAP? Java es un lenguaje de programación con el
que se puede desarrollar cualquier tipo de programa. Actualmente es un lenguaje extenso y está
tomando mucha más importancia en el ámbito informático. Los servicios web SOAP usan
mensajes XML para determinar el formato de los mensajes y la arquitectura. Estos sistemas
contienen una representación clara de la descripción de operaciones brindadas por el servicio
escritas en WSDL dado por la máquina.
El diseño de un servicio basado en SOAP debe establecer un contrato formal para describir la
interfaz que ofrece el servicio Web. WSDL puede utilizarse para describir los detalles del
contrato, que pueden incluir mensajes, operaciones, bindings, y la localización del servicio
Web. También deben tenerse en cuenta los requerimientos no funcionales, como por ejemplo las
transacciones, necesidad de mantener el estado (addressing), seguridad y coordinación
(Universidad de Alicante, 2012).
Los servicios web permiten el tráfico de información segura mediante la web, facilitando de esta
manera transacciones en distintas entidades e instituciones.
JUSTIFICACIÓN APLICATIVA
3
Debido a que es una institución sin fines de lucro y con fondos limitados, la aplicación se
realizará con herramientas de código libre, con la finalidad de solucionar la problemática antes
expuesta se desarrollará el sistema “KAWSAY YACU “haciendo uso de las tecnologías y
herramientas tales como la plataforma IDE NetBeans, Java que es un lenguaje de programación
de propósito general concurrente, orientado a objetos, multiplataforma. Para el almacenamiento
de y administración de datos del sistema se utilizará PostgreSQL que es un servidor de bases de
datos avanzado. Para lograr un óptimo rendimiento del sistema en cuanto a transacciones con el
servidor de base de datos se utilizará los servicios web SOAP las cuales aportan
interoperabilidad entre aplicaciones de software independientemente de sus propiedades o de las
plataformas sobre las que se instalen.
La junta parroquial de Muyuna, actualmente no cuenta con un sistema que facilite la gestión de
sus procesos, por lo que ha tenido inconvenientes al momento de llevar un registro de los
clientes que ingresa al servicio de agua potable. Para poder ingresar un cliente, la junta
Administradora de Agua Potable Regional “KAWSAY YAKU” de la parroquia Muyuna
actualmente se lo realiza llenando un formulario de manera manual, complicando así llevar un
registro organizado de los clientes que realizar el pago mensual.
Cabe recalcar que el problema planteado se encuentra incluido dentro las líneas de investigación
de la ESPOCH/EIS las cuales son: Proceso de desarrollo de software, administración de
proyectos de software y aseguramiento de la calidad del software.
4
Aplicación web:
OBJETIVOS
OBJETIVOS GENERALES
OBJETIVOS ESPECÍFICOS
Evaluar la mantenibilidad de la aplicación web para medir que tan factible es el sistema a
recibir ciertos cambios aplicando técnicas de modularidad mediante la norma ISO/IEC
25010.
5
CAPÍTULO I
La web comenzó siendo simplemente una recopilación de páginas estáticas, documentos, entre
otros, luego para su evolución se incluyó un método para crear páginas dinámicas que permitan
que lo que se mostraba fuera dinámico es decir que al momento de realizar una petición se
genere datos (Mateu, 2004, p. 20).
Para Oliveros et al., (2011, p. 492) una aplicación Web se la define como un sistema software al
cual se puede acceder mediante Internet o Intranet, además que conforman un conjunto especial
de aplicaciones software que se crea con la utilización de varias tecnologías y estándares. Las
aplicaciones Web se clasifican en una extensa diversidad de tipos en los que se tiene las
siguientes clases: sitios Web que se centra en documentos, aplicaciones Web transaccionales,
basadas en flujos de trabajos, interactivas, colaborativas, de Web ubicua, Web social,
aplicaciones web orientadas a portales en las que se encuentran portales generales y portales
especializados como son de mercado, de negocios, y la Web semántica.
Para crear una aplicación Web, es necesario contar con una estrategia, en la cual se definan los
objetivos y los tiempos que se utilizaran para el desarrollo de la aplicación Web. Es
fundamental un buen diseño web, en el que se defina la organización de la información, la
interacción entre algunos componentes, el sistema de navegación y una interfaz gráfica que de
identidad visual al proyecto (García, 2006, p. 4).
Para que una aplicación Web se realice con éxito se debe ir paso a paso en su desarrollo
tomando los tiempos adecuados para la definición y diseño de esta, pues se obtendrá una
aplicación más firme, utilizando menor tiempo en la corrección de fallas que es resultado de una
mala planificación (García, 2006, p. 4).
6
Una aplicación Web contiene elementos que posibilitan la comunicación activa entre los
usuarios y la información. Lo que permite que los usuarios tengan acceso a la información de
manera interactiva (Caivano y Villoria, 2009, p. 15).
Las aplicaciones Web se basan comúnmente en una arquitectura cliente/servidor: es decir por un
lado se encuentra el cliente (navegador) y por otro el servidor (servicio web). Existen algunas
variaciones en la arquitectura básica de una aplicación Web dependiendo de la implementación
de las diferentes funcionalidades del servidor Luján Mora, 2 2, p 4 . Las más comunes son:
2. La capa del servidor de datos separada: el servicio web y el servicio de base de datos van
separados Luján Mora, 2002, p. 55).
7
3. Todo en un solo servidor, incluye servicio de aplicaciones: en esta arquitectura se incluye
el servicio de aplicaciones para poder gestionar procesos de la lógica de negocios Luján
Mora, 2002, p. 56).
Figura 3-1: Arquitectura de una aplicación web - Todo en un solo servidor con servicio de
aplicaciones
Fuente: Luján Mora, 2002)
Figura 4-1: Arquitectura de una aplicación web - Separación del servidor de datos con
servidor de aplicaciones
Fuente: Luján Mora, 2002)
8
5. Todo por separado: Las tres funciones básicas del servidor web se separan en tres
servidores diferentes, con el objetivo de aumentar la escalabilidad para obtener un mejor
rendimiento Luján Mora, 2 2, p .
Una aplicación web almacena los datos y la información en una BASE DE DATOS (BD). Las
mismas que están formadas por tablas conformadas por filas y columnas, que contienen
información que se ha cargado en ellas a través de formularios (èmfasi, 2010).
Con los datos almacenados se generan las paginas dinámicas, que hace referencia a que la
información se genera desde una consulta o solicitud que efectúa un usuario desde el navegador
a un servicio web. Es decir que cuando se realiza una solicitud se hace una consulta a la BD, y
el sistema genera la página Web con la información solicitada (èmfasi, 2010).
9
1.1.3 Ventajas y desventajas de las aplicaciones web
Las ventajas y desventajas que se encuentran en las aplicaciones Web se describen en la Tabla
1-1, las que dan un punto de vista de si es factible o no desarrollar aplicaciones web:
Ventajas Desventajas
Facilidad en la gestión del código en el cliente, Es necesario una conexión a Internet para utilizar
ya que los cambios de interfaz y funcionalidad se la aplicación (Iborra, 2016).
los realiza en el código que reside en el servidor Si varios usuarios realizan peticiones o acceden a
web y no se los realiza en cada uno de los la aplicación al mismo tiempo el servidor puede
códigos del cliente Luján Mora, 2 2. colapsar y dejar de funcionar hasta recuperarse
Si se tiene conexión de Internet, no es necesario (Iborra, 2016).
instalar o comprar herramientas adicionales La disponibilidad depende el desarrollador o del
Luján Mora, 2 2. propietario de la aplicación Web debido a que, si
Independencia de plataforma, no existe el proveedor suspende el servicio, no funciona o
problemas de compatibilidad Luján Mora, aparece la aplicación Web.
2002).
El cliente tiene poca carga de trabajo debido a
que el servidor contiene la mayor parte del peso
del procesamiento, por lo que existe un ahorro de
recursos en los equipos (Iborra, 2016).
Se puede acceder desde cualquier lugar solo con
contar con un acceso a Internet (Wiboo, 2017).
Realizado por: Cerda Grefa, Jonatan. 2019
Como se ve en la Tabla 1-1 desarrollar aplicaciones web facilita la gestión del código en el
cliente, además de que no necesita instalar o comprar herramientas complementarias, también es
independiente de cualquier plataforma y permite ahorrar recursos en los equipos.
A continuación, en la Tabla 2-1 se describe una comparación entre una aplicación Web y una
aplicación de escritorio ya que las dos ofrecen un funcionamiento parecido, pero existe
diferencias entre las dos.
10
Tabla 2-1: Comparación entre una aplicación web y una aplicación de escritorio.
La aplicación web y la aplicación de escritorio presentan sus ventajas y desventajas por lo que
según el uso que se le vaya a dar a una aplicación se utilizará el uno o el otro. En este caso se
necesita una aplicación que sin la necesidad de ir instalado en cada computador se encuentre
disponible, además de que utilice requerimientos hardware mínimos, es por eso que se ve viable
utilizar una aplicación web.
Según Bahit (2011, p. 36), un patrón MVC es un patrón de arquitectura de software que se
encarga de separar la lógica de negocios de la interfaz de usuario, además de que proporciona
una buena funcionalidad, escalabilidad y mantenibilidad del sistema, de manera sencilla y
simple.
11
entidades independientes; lo que permite que los cambios que se realicen en el Modelo se
muestre automáticamente en las Vistas (Díaz González y Fernández Romero, 2012, p. 48).
Al implementar el patrón MVC, las partes de una aplicación se puede desarrollar por separado y
después unirlas, si algún componente presenta fallos, es posible remplazarlo sin que los demás
componentes se vean afectados (Díaz González y Fernández Romero 2012, p. 48).
Modelo
Representa la lógica de negocios. Es el que se encarga de acceder de manera directa a los datos
funcionando como intermediario con la base de datos (Bahit, 2011, p. 36).
El modelo comprende todas las funcionalidades y datos que se presentarán en las interfaces de
usuario (Valdecantos, 2010, p. 72). Representa la información con la que se está trabajando en el
momento de la ejecución de la aplicación, representa a todas las variables, objetos y datos que
se modifiquen según lo que el usuario solicite (López S., 2009, p. 73).
Vista
Se encarga de presentar la información al usuario de manera gráfica (Bahit, 2011, p. 36). Una vista
está relacionada a un modelo, pero también varias vistas pueden relacionarse a un mismo
modelo, las vistas únicamente obtienen la información de un modelo para desplegarse y
actualizarse (Bascón Pantoja, 2004, p. 495).
12
Por consiguiente la vista se encarga de recibir la información procesada por el modelo o
controlador y mostrarla al usuario (Díaz González y Fernández Romero, 2012, p. 50).
Controlador
El controlador es el que modifica al modelo, es decir, modifica los datos, variables y objetos
según lo que solicita el usuario por medio de la interfaz gráfica (López S., 2009, p. 73).
El patrón MVC posibilita que los datos, la lógica de negocios y la presentación se encuentren
separados además de que permite que la programación sea organizada; este patrón presenta el
siguiente flujo de funcionamiento:
13
Figura 7-1: Funcionamiento básico del patrón MVC
Fuente: (Bahit, 2011).
Entre las principales ventajas y desventajas que se encuentra al desarrollar una aplicación
utilizando el patrón MVC tenemos las siguientes:
Ventajas Desventajas
Las modificaciones que se realizan a las vistas no El tiempo en el desarrollo de una aplicación
afectan a los otros módulos que conforman la puede ser mayor (Bascón Pantoja 2004, p. 497).
aplicación (Bascón Pantoja 2004, p. 497). MVC es un patrón de diseño orientado a objetos
Una aplicación con MVC es mantenible y por lo que su implementación es sumamente
modificable (Bascón Pantoja 2004, p. 497). costosa y difícil en lenguajes que no siguen este
Diseñar vistas de un mismo modelo. paradigma (Bascón Pantoja 2004, p. 497).
Facilita la aplicación de cambios en las La complejidad puede aumentar rápidamente
interfaces. (Trueba Espinosa et al. 2012, p. 240).
Permite la sustitución de interfaces de usuario
(Trueba Espinosa et al. 2012, p. 240).
Realizado por: Cerda Grefa, Jonatan. 2019
Por lo que el utilizar el patrón MVC ayuda a que el sistema sea mantenible, de fácil
modificación y escalable, permitiendo realizar cambios en las interfaces sin que afecte al
controlador o al modelo, además de que si existiera más de un desarrollar hace que el código sea
entendible para cualquiera de los involucrados y facilite su trabajo.
14
1.3 Lenguaje de programación
Los lenguajes de programación son herramientas que posibilita el desarrollo de software para el
computador. Se los utiliza para diseñar e implementar programas que se encargan de
administrar y definir el proceder de los dispositivos físicos y lógicos de un computador (Unidad
de Apoyo para el Aprendizaje-UNAM, 2017).
La principal función que tienen los lenguajes de programación es el desarrollar programas que
faciliten la interacción usuario-máquina. Los compiladores o interpretes convierten las
instrucciones que fueron escritas en código fuente en instrucciones escritas en código máquina
(0 y 1) (Unidad de Apoyo para el Aprendizaje-UNAM, 2017).
15
Lenguaje Descripción Ventajas Desventajas
(twago Community, 2014).
PHP (Hipertext Lenguaje fácil de aprender y Posiblemente no es el mejor
Preprocesor) es un estudiar (Sierra Cedeño y lenguaje para desarrollar
lenguaje de programación Espinoza Mina, 2018, p. 35). aplicaciones gráficas (Sierra
interpretado del lado del Es soportado por la gran Cedeño y Espinoza Mina,
servidor de código abierto, mayoría de plataformas de 2018, p. 36).
se caracteriza por su alojamiento Web (Sierra Cedeño Su funcionamiento puede ser
versatilidad, modularidad y Espinoza Mina, 2018, p. 35). lento debido a que es un
potencia y robustez (Cobo Permanece en continuo lenguaje interpretado (Sierra
et al., 2005, p. 23). desarrollo y resiste muchas Cedeño y Espinoza Mina,
PHP funcionalidades (Sierra Cedeño 2018, p. 36).
y Espinoza Mina, 2018, p. 35). Si no se lo configura o protege
adecuadamente se deja varias
brechas de seguridad que
ocasionarán problemas
(BaulPHP, 2019).
Se ejecuta únicamente en un
servidor y es necesario un
servidor web para que funcione
(BaulPHP, 2019).
Es un lenguaje de Este lenguaje es multiplataforma El ser un lenguaje interpretado
programación orientado a (Lim, 2016). lo hace más lento (Lim, 2016).
objetos y de plataforma Cuenta con el apoyo de buenas La programación en este
independiente, que permite librerías (Lim, 2016). lenguaje es compleja (Lim,
desarrollar cualquier tipo Este lenguaje simplifica la 2016).
Python de programas desde programación (COVANTEC, La curva de aprendizaje no es
aplicaciones de escritorio a 2018). muy sencilla (COVANTEC,
aplicaciones Web Es un lenguaje flexible y 2018).
(Álvarez, 2003). elegante (COVANTEC, 2018). No hay soporte para Python en
la mayoría de servidores
(COVANTEC, 2018).
Es un lenguaje de Es un lenguaje moderno y Pocos Frameworks
programación orientado a orientado a objetos, combina desarrollados en Ruby (Mejia
objetos, interpretado y alta productividad y flexibilidad Medina y Mejia Medina, 2011).
reflexivo, que combina la (Perez Bautista, 2011). Poca documentación (Mejia
sintaxis de Python y Perl Tiene un alcance ilimitado, se lo Medina y Mejia Medina, 2011).
Ruby con características de puede encontrar desde Aún no tiene buen soporte de
programación similar a desarrollo web hasta simulación Unicode (Mejia Medina y
Smalltalk (Perez Bautista, de ambientes complejos (Perez Mejia Medina, 2011).
2011). Bautista, 2011).
Es multiplataforma y de
software libre (García, 2017).
Realizado por: Cerda Grefa, Jonatan. 2019
16
Se seleccionó Java debido a que es independiente de plataforma, además de que permite
desarrollar cualquier tipo de aplicación y también porque cualquier dispositivo compatible con
java es capaz de ejecutar una aplicación desarrollada en este lenguaje sin la necesidad de
instalar plugins.
Se dice que Java es un lenguaje lento ya que debe interpretar bytecodes a código nativo antes de
ejecutar un método, pero debido a la tecnología JIT, este procedimiento se produce una única
vez, luego el código nativo se guarda de tal manera que se encuentra disponible para una
próxima llamada (Belmonte Fernández, 2005, p. 2).
Entre las características que presenta el lenguaje de programación Java se encuentran las
siguientes:
17
Robusto: Java permite desarrollar sistemas fiables. Al instante de la compilación y la
ejecución se comprueba el código (tipos, sintaxis), lo que posibilita la reducción de errores
y problemas de incompatibilidad de versiones (Groussard, 2012, p. 15).
Orientado a objetos: Este paradigma de programación es el más utilizado en la actualidad
por lo que Java sigue este paradigma que es flexible facilitando el ciclo de vida del
software, comenzando por el análisis, diseño hasta el mantenimiento (Garrido Abenza, 2015, p.
4).
Distribuido: Java posee una librería de clases que facilitan la comunicación entre
programas que se ejecutan en computadores remotos conectados en red (distribuido). La
utilización de la programación orientada a objetos es apropiada para enviar mensajes en
entornos distribuidos (Garrido Abenza, 2015, p. 4).
Interpretado y compilado a la vez: es compilado debido a que el código fuente se
convierte en código máquina (bytecodes) e interpretado ya que los bytecodes se ejecutan
directamente en toda máquina que tenga instalado el intérprete (Zevallos Vera, 2014, p. 11).
Seguro: Java incluye barreras de seguridad en el lenguaje y en tiempo real en el sistema de
ejecución (Zevallos Vera, 2014, p. 11).
Multitarea: Java posibilita el desarrollo de aplicaciones que ejecutan simultáneamente
varios hilos. Lo que admite que se efectúe varias tareas simultaneas, con el objetivo de
incrementar la velocidad de las aplicaciones (Groussard, 2012, p. 17).
La plataforma Java se compone de una parte software que se ejecuta en varias plataformas
físicas y varios sistemas operativos (Groussard, 2012, p. 18).
18
En la Figura 8-1 se muestra el esquema de los componentes de la plataforma Java
Máquina Virtual Java (JVM) que es la base de la plataforma Java, necesaria para ejecutar
programas Java. (Groussard, 2012, p. 19).
Interfaz de programación de aplicación Java (API Java) que se compone por un conjunto de
módulos software prefabricados que brindan varias funcionalidades y se dividen en tres
categorías: APIs básicas, APIs de acceso a datos e integración con lo existente y las APIs
de gestión de interfaz de aplicaciones con el usuario (Groussard, 2012, p. 20).
Herramienta de despliegue de aplicaciones las cuales son: Java Web Start que simplifica el
despliegue y la instalación de aplicaciones Java autónomas y Java Plug-in que permite el
funcionamiento de los Applets Java con la máquina virtual (Groussard, 2012, p. 23).
Herramientas de ayuda al desarrollo las cuales en su mayoría se encuentran en el directorio
bin del directorio raíz de la instalación que permiten realizar las siguientes acciones:
compilar código fuente .java en fichero .class, generar de manera automática la
documentación del código fuente, enviar la ejecución de aplicaciones autónomas Java y
visualizar la ejecución de un Applet Java en una página HTML (Groussard, 2012, pp. 23-24).
19
1.5 Entorno de desarrollo integrado (IDE)
Según Ponce Briones (2016, p. 28) se conoce como entorno de desarrollo integrado a un programa
que se compone de un conjunto de herramientas usadas por el programador. Los IDE se
diseñaron para facilitar que en un solo programa se desarrolle todo un sistema e incrementar la
productividad de los programadores y con esto brindar componentes que se necesitan para crear
interfaces de usuarios.
También se dice que un entorno de desarrollo integrado es una aplicación que hace que sea más
fácil el trabajo de un ingeniero de software brindándole un grupo de herramientas de
programación (Ramos y Lozano, 2011; citados en Ponce Briones, 2016, p. 28).
Los IDEs funcionan por si solos como aplicaciones o son parte de aplicaciones que ya existen,
se pueden dedicar exclusivamente a un lenguaje de programación o a varios (Ponce Briones, 2016,
p. 28).
Entre los componentes que conforman un IDE se encuentran algunos que se mencionan a
continuación:
20
Depurador: Herramienta que permite al programador revisar y depurar el código fuente
mediante análisis de reporte de amenazas futuras encontradas en el software. Para esto se
debe fijar puntos de ruptura y ejecutar el código del programa paso a paso para verificar el
valor de las variables dentro del programa (Ponce Briones, 2016, p. 31).
Herramienta para la automatización: Elementos que brindan funcionalidades que
automatizan la creación de aplicaciones (Ponce Briones, 2016, p. 31).
Ponce Briones (2016, p. 32) describe en su trabajo que un IDE debe presentar las siguientes
características:
Ser Multiplataforma
Soportar varios lenguajes de programación
Admitir integración con sistema de control de versiones
Permitir integración con frramework reconocidos.
Importar y exportar proyectos
Trabajar con diversos idiomas
Presentar un manual de usuario y ayuda
Los IDEs presentan varias ventajas como las que se describen a continuación:
Permite auto-completar código fuente, métodos de clases y atributos, lo que hace que
programar sea más eficiente (Comesaña Cabeza, 2012, p. 5).
Tolera cambios simultáneos de varios usuarios (Comesaña Cabeza, 2012, p. 5).
Tiene integrado un generador de documentación (Comesaña Cabeza, 2012, p. 5).
Detecta errores de sintaxis en tiempo real (Comesaña Cabeza, 2012, p. 5).
Alerta de mensajes de error de sintaxis, mientras se desarrolla o se ejecuta la compilación
del programa (Ponce Briones, 2016, p. 33).
Permite refactorización de código que facilitan su legibilidad sin alterar su funcionalidad
(Comesaña Cabeza, 2012, p. 5).
21
Automáticamente permite introducir espacios y tabulaciones para incrementar la
legibilidad (Comesaña Cabeza, 2012, p. 5).
Mediante la gestión de sus módulos y plugins se aumenta de funcionalidades (Comesaña
Cabeza, 2012, p. 5).
Existe una gran cantidad de entornos de desarrollo integrado (IDE) gratuitos y comerciales
útiles para el lenguaje de programación Java, en la Tabla 5-1 se describen algunos de los IDEs
utilizados para el desarrollo de aplicaciones en Java.
IDE Descripción
NetBeans es un IDE de desarrollo para Java que se utiliza para el desarrollo de
software. Este IDE trabaja en base a módulos, además permite que fácilmente se integre
con controladores de versiones, es de código abierto y se lo puede descargar
NetBeans
gratuitamente para Windows, Mac OS y Linux. NetBeans permite desarrollar
aplicaciones Web, de escritorio y móviles que funcionen correctamente en varias
plataformas (aula formativa, 2016).
Eclipse es un IDE que permite desarrollar aplicaciones Web, de escritorio y móviles.
Eclipse Entre una de las características importantes que posee está que posee una gran librería
de plugins que permitirá extender las funciones de Eclipse (aula formativa, 2016).
IntelliJ IDEA es un IDE desarrollado en Java por Jet Brains, se lo encuentra en código
abierto y comercial. Este IDE es uno de los que mejor predicamento tiene dentro de la
comunidad Java. Cuenta con las siguientes herramientas: sistema avanzado de
IntelliJ IDEA
refactorización de código, sistema de completado de código mientras se programa,
análisis de errores de código en tiempo real, sistema de control de versiones entre otros
(BBVAOpen4u.com., 2015).
BlueJ es una IDE desarrollado para personas que desean aprender Java. Cuenta con un
depurador de errores, compilador, generador interactivo de objetos, máquina virtual,
etc. Este IDE posee una interfaz sencilla que mejora el aprendizaje del lenguaje y
BlueJ
posibilita crear proyectos de desarrollo de software pequeños. BlueJ es de código
abierto y se lo puede descargar para Windows, Mac OS y Ubuntu (aula formativa
2016)..
JCreator JCreator es un IDE comercial propiedad de Xinox Software, desarrollado en C++ lo que
22
lo hace más rápido y eficiente. La principal característica que posee es que cuando se va
a compilar una aplicación, no se necesita seleccionar el documento principal del
proyecto debido a que automáticamente el IDE lo detecta (Diarlu, 2019).
Siglas de “Representaciones gráficas de algoritmos, estructuras y procesos”, es una IDE
liviana, que genera automáticamente visualizaciones de software para mejorar la
JGrasp
legibilidad de un software. Trabaja en cualquier plataforma que tiene una máquina
virtual Java (aula formativa, 2016).
Realizado por: Cerda Grefa, Jonatan. 2019
Para este proyecto se utilizará el IDE de desarrollo Netbeans debido a que facilita algunas
tareas, más que nada en proyectos grandes que resultan tediosos, las ventajas que ofrece supera
las desventajas que pueda tener.
1.5.4.1 Netbeans
Netbeans es un IDE 100% libre de código abierto que ayuda a crear diferentes tipos de
aplicaciones, es modular y puede ser extendido mediante plugins. Este IDE está desarrollado en
lenguaje Java. Netbeans se lo puede ejecutar en cualquier sistema operativo que se instaló el
Java Development Kit (JDK) (Wielenga, 2015, p. 3).
Este IDE facilita tareas de programación como editar, compilar, ejecutar y depurar código,
ayuda a simplificar tareas en proyectos grandes, también con la navegación de clases
predefinidas en la plataforma (Pilco Cargua, 2018, p. 39).
Características de NetBeans
23
Posee un subsistema para el control de versiones (CVS) que ayuda a tener control de los
avances en el proyecto (Ponce Briones, 2016, p. 48).
Tiene un sistema completo de ayuda para crear proyectos (Ponce Briones, 2016, p. 48).
1.6 JavaScript
JavaScript es un lenguaje interpretado que se usa para varios propósitos, pero hasta ahora se lo
considera solo como complemento (Gauchat, 2012, p. 87).
El lenguaje JavaScript y sus tipos de datos integrados están sujetos a estándares internacionales,
y su compatibilidad en todas las implementaciones es buena (Flanagan, 2006, p. 1). Este lenguaje
que por sí solo es compacto pero flexible, también es robusto que se lo puede aplicar a un
documento HTML para crear páginas web dinámicas e interactivas (MDN, 2019).
JavaScript es un lenguaje de scripting que ejecuta código del lado del cliente, que presenta
situaciones en las que este lenguaje es una muy buena opción para desarrollar funcionalidades
interesantes en una página web, pero también se presentan casos en que utilizar JavaScript
puede afectar el desempeño de una página web (Duarte, 2016). Por lo que a continuación en la
Tabla 6-1 se presentan las ventajas y desventajas de utilizar JavaScript
24
Tabla 6-1: Ventajas y desventajas de JavaScript
Ventajas Desventajas
Permite realizar páginas web interactivas El código fuente es visible, por lo que puede ser
(Delgado, 2019). leído por los usuarios.
Es versátil, se lo usa tanto en el lado del servidor Introduce gran cantidad de fragmentos de código
como en el del cliente, en el desarrollo de en páginas web (next_u, 2017).
aplicaciones web, de escritorio y móvil (Delgado, Se puede desactivar JavaScript desde el
2019). navegador (next_u, 2017).
Es rápido, cualquier función se ejecuta
inmediatamente en vez de tener que conectarse
con el servidor y esperar una respuesta (Delgado,
2019).
Tiene varias opciones de efectos visuales
(next_u, 2017).
Soportado por los navegadores más populares y
compatibles con dispositivos modernos (next_u,
2017).
Es multiplataforma, se ejecuta en cualquier
sistema operativo (next_u, 2017).
Para realizar validación de datos en formularios,
JavaScript es una buena solución (next_u, 2017).
Realizado por: Cerda Grefa, Jonatan. 2019
1.7 JSON
JSON es un formato de texto independiente del lenguaje, pero utiliza código que resulta familiar
a programadores del lenguaje C, C++, C#, Java, JavaScript, Perl, Python, entre otros. JSON esta
constituido por dos estructuras: Colección de nombres/ valores y una lista ordenada de valores.
Es una estructura de datos universal. Habitualmente la mayoría de los lenguajes de
programación modernos soportan este formato (json.org, 2000).
25
1.8 Bootstrap
Fontela (2015) en su blog dice que Bootstrap es una herramienta para crear interfaces de usuario
que se ajustan a todo tipo de dispositivos y pantallas sin importar su tamaño, además brinda
herramientas necesarias para desarrollar cualquier tipo de página web empleando estilos y
elementos de sus librerías.
Este framework posibilita el diseño de sitios Web, también es compatible con preprocesadores
Lees y Saas, brinda herramientas para que un sitio Web se visualice bien en cualquier
dispositivo, con esto se ahorra trabajo de tener que volver a rediseñar un sitio Web. Si se desea
utilizar Bootstrap en proyectos se lo puede hacer de diferentes formas como: agregando el
código CDN en HTML para utilizarle de modo remoto, descargando el framework de su página
Web o utilizando otras opciones que se muestran en su página Web oficial (Guevara Benites, 2013).
Un servicio web es una interfaz que describe una colección de operaciones que son accesibles a
través de la mensajería XML estandarizada. Un servicio web se describe usando un estándar,
noción formal de XML, denominada descripción del servicio. Cubre todos los detalles
necesarios para interactuar con el servicio, incluidos los formatos de mensajes, transporte de
Protocolos y localización (Kreger, 2001, p. 6).
La interfaz oculta los detalles de implementación del servicio, lo que permite ser utilizado
independientemente de la plataforma de hardware o software en la que se implementa y también
independientemente del lenguaje de programación en el que está escrito (Kreger 2001, p. 6).
Esto permite que las aplicaciones basadas en servicios web estén acopladas libremente y
orientadas a componentes. Los servicios web cumplen una tarea específica o un conjunto de
tareas. Puede ser utilizado solo o con otros servicios web para llevar a cabo una agregación
compleja o un negocio de transacción (Kreger 2001, p. 6).
26
1.9.1 Arquitectura de los servicios Web
Kreger (2001, p. 7) dice que la arquitectura de los servicios Web se basa en las interacciones entre
tres roles: servicio de proveedor, servicio de registro y servicio de solicitud. Las interacciones
implican publicación, búsqueda y operaciones de enlace. Juntos, estos roles y operaciones
actúan sobre los componentes de los servicios web.
Un servicio proveedor hospeda un módulo de software accesible a través de la red que es una
implementación de un servicio web. El servicio proveedor define la descripción de un servicio
para el servicio web y la publica en un servicio solicitante o un servicio de registro (Kreger, 2001,
p. 7).
Es un consumidor de servicios web, el solicitante utiliza un servicio web existente abriendo una
conexión de red y enviando una solicitud XML (Cerami, 2002, p. 9).
Un servicio de solicitud utiliza una operación de búsqueda para recuperar la descripción del
servicio localmente o desde el servicio de registro y utiliza la descripción del servicio para
enlazar con el servicio de proveedor e invocar o interactuar con la implementación del servicio
web (Kreger, 2001, p. 7).
Este rol puede ser desempeñado por un navegador manejado por una persona o un programa sin
una interfaz de usuario como otro servicio Web (Kreger, 2001, p. 7).
27
1.9.1.3 Servicio de registro
28
(UDDI); y el Protocolo de acceso a objetos remoto (SOAP). Estas tres tecnologías forman las
tecnologías centrales de servicios web (Roy y Ramanujan, 2001, p. 69).
WSDL es un lenguaje que los programadores pueden usar para describir las interfaces de los
Servicios web. UDDI permite que los servicios web guarden sus características en un registro
para que otras aplicaciones pueden mirar hacia arriba. SOAP proporciona el medio para la
comunicación entre servicios web y aplicaciones cliente (Roy y Ramanujan, 2001, p. 69).
SOAP proporciona un protocolo sencillo y ligero para intercambio de datos XML (Extensible
Lenguaje de marcado) a través de la web. Las aplicaciones cliente normalmente llaman a los
servicios web a través de la web utilizando mecanismos SOAP (Roy y Ramanujan, 2001, pp. 69-70).
La especificación SOAP define un sobre para transmitir mensajes, ofrece pautas para la
codificación de datos y proporciona reglas para representar llamadas de procedimiento remoto
(RPC) transportado vía HTTP (Roy y Ramanujan, 2001, p. 70).
Comúnmente se utiliza SOAP para conectarse a un servicio e invocar métodos remotos, sin
embargo, también se lo utiliza de manera genérica para enviar cualquier tipo de contenido. En
SOAP se tiene dos tipos de mensaje según su contenido: Mensajes orientados al documento y
Mensajes orientados a RPC (Dept. Ciencia de la Computación e IA, 2012, p. 7).
Mensajes orientados al documento: Contiene todo tipo de contenido que se desee enviar
entre aplicaciones.
Mensajes orientados a RPC: sirve para invocar procedimientos de forma remota (Remote
Procedure Calls) (Dept. Ciencia de la Computación e IA, 2012, p. 7).
29
Tabla 7-1: Ventajas y desventajas de servicios Web
Ventajas Desventajas
Los servicios web pueden reunir aplicaciones que Al basarse en HTTP, pueden prescindir de
se ejecutan en diversas plataformas (Ferris y medidas de seguridad basadas en firewall cuyas
Farrell, 2003, p. 30). reglas tratan de bloquear (Alfaro, 2012).
Habilitan el intercambio de información de bases Hay poca información de servicios web para
de datos (Ferris y Farrell, 2003, p. 30). implementarlo en ciertos lenguajes de
Fomentan el uso de estándares y protocolos programación (Alfaro, 2012).
basados en texto, que permiten que el acceso a su Depende de la disponibilidad de comunicaciones
contenido y entender su funcionamiento sea más y servidores (Alfaro, 2012).
fácil (Alfaro, 2012).
Permiten que las aplicaciones originalmente
diseñadas para uso interno estén disponibles a
través de Internet (Ferris y Farrell, 2003, p. 30).
Posibilitan que software y servicios de varias
compañías localizadas en diferentes lugares
geográficos se puedan combinar fácilmente para
proporcionar servicios integrados (Alfaro, 2012).
Realizado por: Cerda Grefa, Jonatan. 2019
Glassfish Server es un servidor de aplicaciones que fue desarrollado por Sun Microsystems, el
cual implementa tecnologías determinadas en la plataforma Java EE y que posibilita la
ejecución de aplicaciones que se rigen de esta especificación (Serra Manchado, 2010, p. 96).
30
GlassFish permite que las aplicaciones se implementen automáticamente en un entorno de
desarrollo y, a partir de GlassFish v3, se pueden implementar nuevas versiones de una
aplicación sin destruir la sesión del cliente (Kou, 2009, p. 29).
Las instancias del servidor GlassFish se pueden integrar fácilmente en entornos de desarrollo
integrados (IDE) populares, como NetBeans y Eclipse. Al desarrollar aplicaciones Java EE, el
IDE no solo proporciona un excelente soporte para crear y construir componentes como los
Enterprise JavaBeans (EJB), sino también permite a los desarrolladores definir los recursos
necesarios, como los grupos de conexiones JDBC (Conectividad a bases de datos de Java) y las
fuentes de datos, y desplegarlos directamente en el servidor GlassFish. Esta característica
permite que un desarrollador permanezca en la mentalidad de desarrollo sin tener que alternar
entre desarrollar aplicaciones y configurar el servidor de aplicaciones (Kou, 2009, p. 29).
Una base de datos presenta las siguientes ventajas: permite que exista una independencia lógica
y física de datos, su uso controla la redundancia de datos lo que minimiza el riesgo de que exista
inconsistencias, mejora en la integridad de datos, además que mejora la accesibilidad a los datos
y la productividad (Pérez Valdés, 2007).
Existe una gran variedad de bases de datos, por lo que a continuación en la Tabla 8-1 se
muestra una comparativa entre las bases de datos más usados para desarrollar aplicaciones Web.
31
Tabla 8-1: Tabla comparativa entre bases de datos
32
Base de Descripción Ventajas Desventajas
datos
basado en la tecnología repositorio central tabular (Perez el procesamiento recursivo
cliente/servidor. Para su Hernandez, 2017). (Perez Hernandez, 2017).
utilización se necesita el Se ejecuta en todas las plataformas Inconsistencia e
servidor (Oracle 8i) y las (Perez Hernandez, 2017). incompatibilidad de datos
herramientas de Permite implementar diseños en áreas del tiempo y
desarrollo Oracle “activos”, con triggers y sintaxis de datos,
Designer y Oracle procedimientos almacenados, con concatenación de cadenas y
Developer (Masip, 2002). una integridad referencial declarativa sensibilidad de caracteres
bastante potente (Perez Hernandez, (Perez Hernandez, 2017).
2017).
Realizado por: Cerda Grefa, Jonatan. 2019
Según las ventajas que ofrece PostgreSQL está que es independiente de plataforma, también es
escalable lo que permite una correcta realización de solicitudes simultánea, además de que
cumple con la característica ACID Compliant (Atomicidad, Consistencia, Aislamiento y
Durabilidad) lo que la hace confiable y estable, por estas razones se la seleccionó como gestor
de base de datos.
1.11.2 PostgreSQL
Es Open Source, por lo que cualquier persona puede colaborar en el desarrollo del proyecto o
modificarlo para ajustarlo según sus necesidades. En PostgreSQL los datos se almacenan en
tablas con columnas y filas, que se pueden relacionar unas con otras utilizando llaves (Denzer,
2002, p. 2).
33
1.11.2.1 Características de PostgreSQL
Las características que posee PostgreSQL hacen que esta base de datos sea una de las más
robustas y potentes del mercado, a continuación, se presenta varias características de
PostgreSQL:
El lenguaje SQL utilizado por PostgreSQL resulta sencillo traer consultas y scripts de otras
bases de datos debido a que usa un lenguaje parecido al estándar ISO/IEC (Gonzalez Gil,
2018b).
La norma ISO/IEC 25010 - System and software quality models forma parte de la norma ISO
25000, la cual remplazó a la norma ISO/IEC 9126-1:2001. Integra características nuevas tanto
34
internas como externas, que llevan el nombre de calidad del producto software. Entre las
modificaciones a esta norma se encuentra la incorporación de la característica Compatibilidad y
Seguridad (Calabrese et al., 2017, p. 661).
La norma determina el modelo de calidad para el producto software y para la calidad de uso. La
norma tiene características y subcaracterísticas de calidad para evaluar un producto software
(Vaca Sierra y Jácome Ortega, 2018, p. 8).
En el modelo de calidad para el producto se encuentra ocho características las cuales son:
adecuación funcional, eficiencia de rendimiento, compatibilidad, usabilidad, confiabilidad,
seguridad, mantenibilidad y portabilidad; y en el de calidad de uso se encuentran las
características de eficacia, eficiencia, satisfacción, ausencia de riesgo y cobertura de contexto
(Vaca Sierra y Jácome Ortega, 2018, p. 8).
En la Figura 10-1 se muestra las ocho características de calidad definidas en la ISO/IEC 25010
Figura 10-1: Características de calidad del producto software de la norma ISO/IEC 25010
Fuente: (Portal ISO 25000, 2018).
1.12.1 Mantenibilidad
Esta característica detalla la capacidad que tiene el producto software para que su modificación
sea efectiva y eficiente, que requiere debido a la evolución de los sistemas (Portal ISO 25000, 2018).
Esta característica se divide en las siguientes subcaracterísticas:
35
Modularidad: Capacidad que tiene un programa de computador que permite que un
cambio realizado en un componente tenga un impacto mínimo en los demás componentes
(Portal ISO 25000, 2018).
Capacidad para ser probado. Facilidad con la que se pueden establecer criterios de
prueba para un sistema o componente y con la que se pueden llevar a cabo las pruebas para
determinar si se cumplen dichos criterios (Portal ISO 25000, 2018).
Utilizar la Norma ISO/IEC 25010 para evaluar un sistema proporciona las siguientes ventajas:
La norma facilita métodos para evaluar un producto software con el fin de lograr la calidad
esperada (FANDOM, 2018).
Permite reconocer los criterios necesarios que debe cumplir un producto software en
relación con la calidad interna y externa que espera un usuario (FANDOM, 2018).
Permite que los desarrolladores de software valoren su producto buscando que este sea de
alta calidad para entregarlo al usuario (FANDOM, 2018).
Mejora la calidad del producto (FANDOM, 2018).
36
CAPÍTULO II
2 MARCO METODOLÓGICO
En el presente capítulo se describe como se efectuó el desarrollo del sistema web para la Junta
Administradora de Agua Potable Regional “KAWSAY YACU” ubicada en el sector de la
parroquia Muyuna a 3.5 km de Tena, la misma que permite automatizar el proceso
administrativo y operativo de la Junta Administradora, así como también el cobro de planillas
por el servicio. Además, se explica los métodos, técnicas de investigación para lo cual se usó la
metodología de desarrollo SCRUM, misma que está especialmente indicada para proyectos
softwares de calidad y permite que el cliente intervenga durante el desarrollo del producto.
a) Método analítico
37
b) Método sintético
El método sintético tiene como fin recolectar información para realizar el marco teórico
explicando las herramientas que abarca el desarrollo del sistema Web. La síntesis siempre va
junto al análisis debido a que el análisis provee la información para realizar la síntesis.
c) Método inductivo
d) Método deductivo
El método deductivo va de lo más general a lo más específico. Este método se combina con el
inductivo ya que con las conclusiones obtenidas se desarrolla las recomendaciones.
Las técnicas principales por utilizar en la recolección de información, para el análisis de los
requerimientos del sistema a desarrollar son las siguientes:
Observación: Mediante esta técnica se intenta visualizar de manera general como se llevan
a cabo el proceso de recaudación del servicio de agua potable de la Junta Administradora
Kawsay Yacu, también conocer cómo se realiza el cobro y registro de la información de los
clientes que son beneficiarios del servicio.
Entrevista: Se desarrollará una entrevista al Abg. Julio Cerda presidente de la Junta
Administradora Kawsay Yacu, a la secretaria Shirley Alvarado, al tesorero Raúl Sánchez y
al vocal principal Mauricio Cerda, con el objetivo de obtener información precisa acerca de
la recaudación a los clientes que hacen uso del servicio de agua potable para que sean
implementadas en el sistema.
38
2.1.3 Parámetros e indicadores
Modularidad
Reusabilidad
Analizabilidad
Capacidad para ser modificado
Capacidad para ser probado
39
Mala práctica: Codificación que dificulta la lectura del código fuente.
Redundante: Código fuente que no es necesario y que puede ser eliminado sin dañar el
funcionamiento del sistema.
Complejidad cognitiva: Medida de cuan dificultoso es comprender de manera intuitiva un
bloque de código.
Confuso: Es cuando por ejemplo se define variables con el mismo nombre que una clase.
Diseño: Medida que ve la dificultad de comprender un código fuente. Si existe dificultades
en diseño se presentan problemas en la refactorización.
Dificultad encontrada: Código tramposo que disminuye la capacidad de ser leído y
comprender lo que hace.
Densidad de comentarios: Su fin es evaluar los comentarios que se encuentren en el código
fuente de un software para saber la capacidad que tiene de ser analizado
Duplicaciones: Medida que indica el valor de código fuente que se repite más de una vez,
dentro de un sistema.
Cobertura: Parte del código fuente abarcado con pruebas unitarias.
Obsoleto: Código fuente en desuso que debe evitarse debido a que va a ser reemplazado o
eliminado.
Donde:
DP→ Duplicaciones
40
Tabla 2-2: Rangos de modularidad
Valor de Descripción
modularidad (%)
1 – 25 Muy malo
26 – 50 Malo
51 – 75 Bueno
76 – 100 Muy bueno
Realizado por: Cerda Grefa, Jonatan. 2019
Donde:
Valor de Descripción
reusabilidad (%)
1 – 25 Muy malo
26 – 50 Malo
51 – 75 Bueno
76 – 100 Muy bueno
Realizado por: Cerda Grefa, Jonatan. 2019
Donde:
C→ Confuso
41
Con el objetivo de definir un rango de la subcaracteristica analizabilidad se muestra los valores
den la Tabla 4-3:
Valor de Descripción
analizabilidad (%)
1 – 30 Muy malo
31 – 50 Malo
51 – 70 Bueno
71 – 100 Muy bueno
Realizado por: Cerda Grefa, Jonatan. 2019
Donde:
Para un mejor conocimiento del grado de la capacidad de ser modificado se muestra los valores
descritos en la Tabla 5-2:
Donde:
R→ Redundante D→ Diseño
42
DE→ Dificultad encontrada CB→ Cobertura
En la Tabla 6-2 se presenta los valores de los rangos de la subcaracteristica capacidad para ser
probado:
Donde:
A→ Analizabilidad
Para definir el grado de mantenibilidad del sistema web se utiliza la valoración de la Tabla 7-2
Valor de Descripción
mantenibilidad (%)
0 – 25 Deficiencia en la mantenibilidad
26 – 64 Dificultad en la mantenibilidad
65 – 85 Moderadamente mantenible
86 – 100 Altamente mantenible
Realizado por: Cerda Grefa, Jonatan. 2019
43
2.2 Metodología para el desarrollo de software
Para el desarrollo de este proyecto se utiliza la metodología SCRUM que tiene como fin
controlar y planificar proyectos que pueden tener cambios a última hora. Esta metodología ágil
permite que al finalizar una iteración o sprint se realice reuniones para revisar las tareas de ese
sprint y comprobar que se esté cumpliendo con los requerimientos exactos del cliente caso
contrario realizar los cambios a tiempo.
En esta fase se analiza el problema que presenta el cliente y se identifica sus necesidades con el
propósito de definir los requerimientos que tiene el cliente para el sistema. Para recolectar esta
información se realiza reuniones con el cliente y con todos los involucrados en este proyecto.
Para el desarrollo del proyecto el equipo de trabajo se forma por 3 personas cada una con su rol
que se detalla en la Tabla 8-2.
44
2.3.2 Tipos y roles de usuario
En la Tabla 9-2 se detalla los tipos de usuarios con sus respectivos roles, cada uno asignado con
diferentes funcionalidades en el sistema web.
La pila del producto o Product Backlog es la lista de requerimientos del software que se va a
desarrollar, este instrumento es utilizado por la metodología SCRUM; El Product Backlog es
útil para priorizar las funcionalidades dependiendo de las necesidades del negocio. El formato
utilizado para la tarjeta de trabajo que conforma el Product Backlog es la historia de usuario.
Para obtener la pila del producto se realizó reuniones con el cliente y se los clasificó en historias
de usuario e historias técnicas. También se determinó los puntos estimados por medio de la
técnica de estimación denominada “T-shirt” o “Talla de la camiseta” la cual permite establecer
un aproximado de los tiempos para el desarrollo del software. En la Tabla 10-2 se describe la
medición y equivalencia de las tallas.
45
Además, se especifica que cada punto estimado equivale a una hora de trabajo. De lunes a
viernes se trabajarán 4 horas.
46
Puntos
ID Detalle Prioridad
Estimados
Ingresar los tipos de contribuyentes a la base de datos
HU-17 10 Alta
de la junta de agua.
Actualizar los tipos de contribuyentes a la base de
HU-18 5 Alta
datos de la junta de agua.
Eliminar los tipos de contribuyentes a la base de datos
HU-19 10 Alta
de la junta de agua.
Almacenar los sueldos mensuales de los empleados
HU-20 5 Alta
de la junta de agua
Mostrar un reporte general y por persona de los
HU-21 5 Alta
sueldos del empleado.
Ingresar una noticia en el sistema acerca de los
HU-22 5 Alta
trabajos que se realizan en la junta de agua
Emitir detalles del pago del servicio de agua potable
HU-23 permitiendo mantener la información del medidor 10 Alta
actualizada.
Ingresar la lectura del medidor, permitiendo registrar
HU-24 la lectura obtenida en la base de datos actualizando 10 Alta
automáticamente.
Realizar consultas de planillas para conocer los
HU-25 5 Alta
valores a pagar por el consumo de agua potable.
Mostrar un reporte general de los procesos de
HU-26 recaudación de la junta de agua para conocer detalles 5 Alta
de los pagos recaudados.
Ingresar los medidores a la base de datos y hacer uso
HU-27 5 Alta
de la información.
Actualizar los medidores a la base de datos y hacer
HU-28 5 Alta
uso de la información.
Eliminar los medidores a la base de datos y hacer uso
HU-29 10 Alta
de la información.
Realizar consultas de medidores disponibles de la
HU-30 5 Alta
junta de agua.
Eliminar las noticias que no sean relevantes del
HU-31 5 Alta
sistema de agua potable.
Ingresar órdenes de instalación de medidores de los
HU-32 contribuyentes de la junta de agua ya se sea por cortes 10 Alta
o nuevos contribuyentes.
Actualizar órdenes de instalación de medidores de los
HU-33 contribuyentes de la junta de agua ya se sea por cortes 5 Alta
o nuevos contribuyentes.
Eliminar órdenes de instalación de medidores de los
HU-34 contribuyentes de la junta de agua ya se sea por cortes 5 Alta
o nuevos contribuyentes.
47
Puntos
ID Detalle Prioridad
Estimados
Modificar una noticia en el sistema acerca de los
HU-35 5 Alta
trabajos que se realizan en la junta de agua
Visualizar un reporte estadístico por persona de las
HU-36 recaudaciones que sea ha realizado en la junta de agua 10 Alta
potable.
Ingresar productos al sistema de la junta
HU-37 5 Alta
administradora de agua potable
Modificar producto al sistema de la junta
HU-38 5 Alta
administradora de agua potable
Eliminar producto del sistema de la junta
HU-39 10 Alta
administradora de agua potable
Visualizar los productos ingresado de la junta
HU-40 5 Alta
administradora de agua potable
Realizar la gestión noticias y dar prioridad a la noticia
HU-41 20 Alta
importante de la junta administradora de agua.
Visualizar la utilidad de ingresos y gastos de la junta
HU-42 5 Alta
de agua
Se requieres realizar las pruebas necesarias para el
5 Baja
HT-06 manejo del sistema.
TOTAL PUNTOS ESTIMADOS 400
Realizado por: Cerda Grefa, Jonatan. 2019
Se analiza el costo que tendrá el desarrollo de este proyecto, el cual será autofinanciado por el
desarrollador. A continuación, en la Tabla 12-2 se detalla el presupuesto total del proyecto.
48
Arriendo (Internet y Servicios Básicos) 5 meses 70,00 350,00
Se realizó una visita al encargado de la junta administradora de agua potable para investigar
cómo se lleva el proceso administrativo actualmente, en dicha reunión se obtuvo el siguiente
flujo de trabajo:
1. El contribuyente puede realizar una solicitud ya sea para ingresar en el sistema o para
solicitar el pago del servicio.
2. Esta petición la recibe la secretaria la cual verifica el tipo de solicitud si es una petición de
pago dicha solicitud se la envía al tesorero.
3. El tesorero recibe la solicitud de pago y verifica si el contribuyente se encuentra en mora si
este es el caso se revisa el mes que se encuentra en mora y se cobra el costo del servicio y
una multa por mora se genera el recibo y se lo entrega al contribuyente; caso contrario al no
existir mora únicamente se cobra el costo del servicio y se genera el recibo.
4. El tesorero al realizar los cobros por los servicios se los registra y envía a la secretaria.
5. La secretaria recibe el registro del pago, lo actualiza en un documento Excel y lo envía al
administrador el cual lo almacena.
6. Si el contribuyente solicita un ingreso, la secretaria es la encargada de registrar los datos, una
vez registrados se procede a crear una orden de instalación de medidor que es enviada al
tesorero.
7. El tesorero al recibir la orden de instalación emite el cobro de este servicio y envía esta orden
al operador.
8. El operador recibe la orden de instalación y se dirige a la vivienda del contribuyente donde
verifica y solicita al tesorero el recibo del cobro por instalación.
9. El tesorero entrega el recibo al operador y este realiza la instalación la registra en un
documento y lo envía a la secretaria.
10. La secretaria se encarga de registrar la instalación actualizando un documento Excel y lo
envía al administrador el cual lo almacena.
49
11. Además, el administrador se encarga de registrar a los empleados y usuarios del servicio de
agua potable en un documento Excel.
En el siguiente organigrama se representa los módulos existentes en el sistema web con cada
funcionalidad que tiene:
50
Sistema Web “KAWSAY YAKU”
Configuración Clientes
51
Sueldos: Ingresar, modificar, eliminar sueldos, visualizar información de sueldos,
abonar sueldos, reporte de sueldos cobrados y reporte rol de pagos.
Noticias: Ingresar, modificar, visualizar, eliminar noticias y prioridad a noticia
importante.
Configuración: Ingresar, modificar, visualizar, eliminar información de la junta y listar
empleados.
52
Tarifas: Asignar tarifa a un cliente, visualizar información del cliente, visualizar
información de pago y buscar cliente.
Medidores: Ingresar, modificar, visualizar, eliminar, buscar, habilitar y deshabilitar
medidores.
Reportes: Reporte general, reporte recaudación general, reporte recaudación por
persona, reporte sueldos generales, reportes sueldos por persona, reporte recaudaciones
pendientes, reporte sueldos pendientes.
Zonas: Ingresar, modificar, visualizar, eliminar, buscar, habilitar y deshabilitar zonas
Sueldos: Ingresar, modificar, eliminar sueldos, visualizar información de sueldos,
abonar sueldos, reporte de sueldos cobrados y reporte rol de pagos.
En la fase de desarrollo se detalla cada una de las actividades efectuadas para iniciar el
desarrollo del sistema web como por ejemplo la definición de requerimientos, del estándar de
53
codificación, diseño de la arquitectura del sistema y de la base de datos haciendo uso de
diagramas UML entre otros diagramas.
Los diagramas de casos de uso describen las funcionalidades de un sistema desde el punto de
vista de los usuarios. Los casos de uso ayudan a explicar el comportamiento y la comunicación
de un sistema y su interacción con los usuarios.
En la Figura 2-2 del diagrama de caso de uso se detalla los procedimientos que realiza el
administrador en la aplicación web como son: la autenticación de su cuenta personal en el
sistema, gestión de empleados, gestión de usuarios ,gestión de medidores, gestión de
información , gestión de direcciones, gestión de tarifas y sueldos ,emisión de comprobante de
pago, gestión de reportes, consulta de planillas , de la misma forma podemos visualizar que el
empleado y el operador de la junta puede realizar diversas gestiones esto debido a las
restricciones de la junta.
54
Figura 2-2: Diagrama de caso de uso del administrador del sistema
Realizado por: Cerda Grefa, Jonatan. 2019
55
Ver Anexo A donde se encuentran los diagramas de casos de uso faltantes y las tablas de
documentación.
56
2.4.1.3 Diagrama de secuencia
El diagrama de secuencia muestra como interactúan los objetos en una operación, corresponde a
cada uno de los casos de uso. La Figura 4-2 representa la funcionalidad de ingresar al personal
de la junta de agua, en la que el administrador accede al sistema, ingresa los datos y los guarda.
57
Figura 5-2: Diagrama de colaboración de ingresar personal de la junta de agua
Realizado por: Cerda Grefa, Jonatan. 2019
En la siguiente Figura 6-2 se muestra las actividades que el administrador realiza al ingresar el
personal de la junta de agua al sistema Kawsay Yacu, donde intervienen empleado,
administrador y el sistema como tal con sus respectivas acciones.
Figura 6-2: Diagrama de Actividades del proceso de ingresar personal a la junta de agua
Realizado por: Cerda Grefa, Jonatan. 2019
58
2.4.1.6 Diagrama de componentes
Para proporcionar una arquitectura apropiada, que organice fundamentalmente el sistema web
Kawsay Yacu se escogió el patrón Modelo-Vista-Controlador, dando así elementos que ayudan
a la toma de decisiones.
Para la base de datos se usó como gestor de base de datos PostgreSQL el que guardara toda la
información del sistema web Kawsay Yacu. En la Figura 7-2 se presenta el diagrama de
componentes que representa la arquitectura del sistema y que detalla cómo está dividido.
El sistema web está conformado por dos proyectos la interfaz de usuario y la lógica de
negocios; el usuario accederá a través de una ruta al proyecto interfaz de usuario en el que se
encuentra el MVC; por medio de servicios web el modelo se comunica con la lógica de
negocios y para acceder a la información el acceso a datos se conecta con la base de datos del
sistema Kawsay Yacu, esta información regresa al controlador y luego se lo muestra en la vista.
59
En la Figura 8-2 se muestra todos los componentes que conforman el sistema
En la Figura 8-2 se representa el diagrama de despliegue del sistema Kawsay Yacu en el que se
observa que el usuario a través de una PC accede al servidor GlassFish en el que se encuentra
todo lo que conforma el sistema web como son el cliente web que es la interfaz de usuario, este
se comunica con la lógica de negocios, este con el acceso a datos y este a su vez con la base de
datos.
60
2.4.2 Recursos necesarios
Los recursos hardware y software utilizados para desarrollar el sistema web son los siguientes:
2.4.2.1 Hardware
En la Tabla 14-2 se detalla el hardware que se utiliza para desarrollar el sistema Kawsay Yacu
con sus características y estado.
2.4.2.2 Software
En la Tabla 15-2 se detalla el software que se utiliza para desarrollar el sistema Kawsay Yacu,
su tipo y cuál es su utilización.
61
2.4.3 Estándar de codificación
Para la codificación del sistema se utilizó el estándar Upper Camel Case para las clases, esa
notación es sencilla de implementar debido a que se basa en que la primera letra de cada palabra
va en mayúscula, no se utiliza separadores entre palabras y Lower Camel Case para las
variables y métodos que es igual a la anterior notación con excepción de que la primera letra de
la primera palabra va en minúscula, en la Tabla 16-2 se especifica esta notación.
La página principal del sistema posee los botones para ingresar al sistema, lista de empleados y
para ver las noticias de la junta administradora de agua potable además de un cuadro de texto
para buscar en la página web.
62
Figura 10-2: Página principal del sistema Kawsay Yacu
Realizado por: Cerda Grefa, Jonatan. 2019
Pantalla de Autenticación
63
Pantalla principal del administrador
La pantalla principal del administrador posee las funcionalidades que puede ejecutar el
administrador representados en un menú tales como: tarifas, personal, reportes, cobranzas,
materiales, zonas, barrio, sueldos, noticias y las opciones para configurar y cerrar sesión.
En la Figura 12-2 se visualiza las funcionalidades que puede gestionar el presidente las que se
ubican en el menú al lado izquierdo como son: personal, reportes, materiales, zonas, sueldos
categorías medidor, roles pociones, barrios y clientes
64
Pantalla principal de la secretaria
La Figura 12-2 muestra las opciones que como secretaria puede realizar las cuales son: tarifas,
medidores, reportes, cobranzas, clientes, materiales, noticias, zonas y barrios.
En la pantalla principal del tesorero tiene las opciones para gestionar tarifas, medidores,
clientes, reportes, cobranzas, materiales, clientes, zonas y barrios.
65
2.4.5 Diseño de la base de datos
El diseño de la base de datos se realiza con el objetivo de resguardar la información del sistema
Kawsay Yacu y permitir acceder a ella posteriormente a pesar del tiempo, además que se
mantendrá la información ordenada y de rápido acceso.
Luego del análisis del problema se determinó las entidades y relaciones que actúan en el sistema
web, se utilizó la herramienta PowerDesigner para graficar el diagrama lógico de la base de
datos el cual fue normalizado para prevenir la redundancia de datos y preservar la integridad de
estos.
En el diagrama lógico de la base de datos del sistema Kawsay Yacu se consiguió 19 tablas. Las
tablas están renombradas con nombres que identifican lo que guardan, por ejemplo:
medidor_persona.
66
2.4.5.1 Diseño lógico
Figura 16-2: Modelo lógico de la base de datos del sistema Kawsay Yacu
Realizado por: Cerda Grefa, Jonatan. 2019
67
2.4.5.2 Diccionario de datos
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('persona_id_seq'::regclass)
Nombre character varying(50) No No
Apellido character varying(70) No No
Cedula character varying(10) No No
direccion Text No No
Teléfono character varying(10) No No
contrasenia character varying(30) No No
Correo character varying(70) No No
Realizado por: Cerda Grefa, Jonatan. 2019
Ver Anexo D donde se encuentra a continuación de las tablas del diccionario de datos.
Para desarrollar el sistema web se obtuvo 5 Sprints, los cuales tendrán máximo 80 puntos
estimados, dado que un punto estimado equivale a una hora de trabajo, se establece que un
Sprint se culminará en 4 semanas, donde cada día equivale a 4 horas de trabajo, una semana 20
horas, dando un total de 80 horas por sprint.
68
Tabla 18-2: Sprint backlog
Puntos Fecha Fecha Puntos
Sprint Id Requerimientos
estimados Inicio Fin totales
Establecer el estándar de 10 18/03/2019 20/03/2019
HT-01
codificación del sistema.
Establecer el estándar de
HT-02 diseño de interfaces del 20 20/03/2019 27/03/2019
sistema.
Establecer la arquitectura del
HT-03 10 27/03/2019 29/03/2019
sistema.
1 80
Realizar el rediseño de la base 20
HT-04 01/04/2019 05/04/2019
de datos.
Se requiere instalar los
HT-05 entornos de desarrollo ID 10 08/04/2019 10/04/2019
netbeans y posgresql.
HU-01 Un apartado para el control de 10 10/04/2019 12/04/2019
acceso al sistema.
HU-02 Ingresar el personal de la 10 15/04/2019 17/04/2019
junta de agua.
HU-03 Actualizar el personal de la 5 17/04/2019 22/04/2019
junta de agua.
HU-04 Eliminar el personal de la 10 22/04/2019 25/04/2019
junta de agua.
Un apartado para la gestión
HU-05 de los roles de la junta de 10 25/04/2019 29/04/2019
agua.
Realizar un apartado para la
HU-06 gestión de los barrios que 10 29/04/2019 06/05/2019
abarca la junta administradora
2 de agua. 80
Realizar un apartado para la
HU-07 gestión de los sueldos de los 10 06/05/2019 08/05/2019
empleados de la junta
administradora de agua.
HU-08 Ingresar las tarifas de la junta 10 08/05/2019 13/05/2019
de agua potable.
HU-09 Actualizar las tarifas de la 10 13/05/2019 15/05/2019
junta de agua potable.
Visualizar la noticia más
HU-10 importante en el reporte de la 10 15/05/2019 20/05/2019
planilla del servicio de agua
potable.
HU-11 Ingresar la información de la 10 20/05/2019 22/05/2019
junta de agua potable.
HU-12 Actualizar la información de 5 22/05/2019 23/05/2019
la junta de agua potable.
HU-13 Eliminar la información de la 10 27/05/2019 29/05/2019
3 junta de agua potable. 80
Ingresar la dirección de
HU-14 barrios, zonas y calles que 10 29/05/2019 31/05/2019
aborda la junta de agua.
Actualizar la dirección de
HU-15 barrios, zonas y calles que 5 03/06/2019 04/06/2019
aborda la junta de agua.
69
Puntos Fecha Fecha Puntos
Sprint Id Requerimientos
estimados Inicio Fin totales
Eliminar la dirección de
HU-16 barrios, zonas y calles que 10 04/06/2019 06/06/2019
aborda la junta de agua.
Ingresar los tipos de
HU-17 contribuyentes a la base de 10 06/06/2019 11/06/2019
datos de la junta de agua.
Actualizar los tipos de
HU-18 contribuyentes a la base de 5 11/06/2019 12/06/2019
datos de la junta de agua.
Eliminar los tipos de
HU-19 contribuyentes a la base de 10 12/06/2019 14/06/2019
datos de la junta de agua.
Almacenar los sueldos
HU-20 mensuales de los empleados 5 17/06/2019 18/06/2019
de la junta de agua
Mostrar un reporte general y
HU-21 por persona de los sueldos del 5 18/06/2019 19/06/2019
empleado.
Ingresar una noticia en el
HU-22 sistema acerca de los trabajos 5 19/06/2019 20/06/2019
que se realizan en la junta de
agua.
Emitir detalles del pago del
servicio de agua potable
HU-23 permitiendo mantener la 10 20/06/2019 25/06/2019
información del medidor
actualizada.
Ingresar la lectura del
medidor, permitiendo
HU-24 registrar la lectura obtenida en 10 25/06/2019 27/06/2019
la base de datos actualizando
automáticamente.
Realizar consultas de planillas
HU-25 para conocer los valores a 5 27/06/2019 28/06/2019
4 pagar por el consumo de agua 80
potable.
Mostrar un reporte general de
los procesos de recaudación
HU-26 de la junta de agua para 5 01/07/2019 02/07/2019
conocer detalles de los pagos
recaudados.
Ingresar los medidores a la
HU-27 base de datos y hacer uso de 5 02/07/2019 03/07/2019
la información.
Actualizar los medidores a la
HU-28 base de datos y hacer uso de 5 03/07/2019 04/07/2019
la información.
Eliminar los medidores a la
HU-29 base de datos y hacer uso de 10 04/07/2019 09/07/2019
la información.
Realizar consultas de
HU-30 medidores disponibles de la 5 09/07/2019 10/07/2019
junta de agua.
HU-31 Eliminar las noticias que no 5 10/07/2019 11/07/2019
70
Puntos Fecha Fecha Puntos
Sprint Id Requerimientos
estimados Inicio Fin totales
sean relevantes del sistema de
agua potable.
Ingresar órdenes de
instalación de medidores de
HU-32 los contribuyentes de la junta 10 11/07/2019 16/07/2019
de agua ya se sea por cortes o
nuevos contribuyentes.
Actualizar órdenes de
instalación de medidores de
HU-33 los contribuyentes de la junta 5 16/07/2019 17/07/2019
de agua ya se sea por cortes o
nuevos contribuyentes.
Eliminar órdenes de
instalación de medidores de
HU-34 los contribuyentes de la junta 5 17/07/2019 18/07/2019
de agua ya se sea por cortes o
nuevos contribuyentes.
Modificar una noticia en el
HU-35 sistema acerca de los trabajos 5 18/07/2019 19/07/2019
que se realizan en la junta de
agua
Visualizar un reporte
estadístico por persona de las
HU-36 recaudaciones que sea ha 10 22/07/2019 24/07/2019
realizado en la junta de agua
potable.
Ingresar productos al sistema
HU-37 de la junta administradora de 5 24/07/2019 25/07/2019
5 80
agua potable.
Modificar producto al sistema
HU-38 de la junta administradora de 5 25/07/2019 26/07/2019
agua potable.
Eliminar producto del sistema
HU-39 de la junta administradora de 10 29/07/2019 31/07/2019
agua potable.
Visualizar los productos
HU-40 ingresado de la junta 5 31/07/2019 01/08/2019
administradora de agua
potable.
Realizar la gestión noticias y
HU-41 dar prioridad a la noticia 20 01/08/2019 08/08/2019
importante de la junta
administradora de agua.
Visualizar la utilidad de
HU-42 ingresos y gastos de la junta 5 08/08/2019 12/08/2019
de agua
Se requieres realizar las
pruebas necesarias para el 5 13/08/2019 14/08/2019
HT-06
manejo del sistema.
Realizado por: Cerda Grefa, Jonatan. 2019
71
2.4.6.1 Sprint 1
2.4.6.2 Sprint 2
En el presente sprint se desarrolla los módulos para ingresar, actualizar y eliminar personal,
también el módulo para gestionar roles, gestión de sueldos y los módulos para ingresar y
actualizar las tarifas del agua potable.
72
Un apartado para la gestión de los roles de la junta de
HU-05 10 Jonatan Cerda
agua.
Realizar un apartado para la gestión de los barrios que
HU-06 10 Jonatan Cerda
abarca la junta administradora de agua.
Realizar un apartado para la gestión de los sueldos de
HU-07 10 Jonatan Cerda
los empleados de la junta administradora de agua.
HU-08 Ingresar las tarifas de la junta de agua potable. 10 Jonatan Cerda
HU-09 Actualizar las tarifas de la junta de agua potable. 10 Jonatan Cerda
Visualizar la noticia más importante en el reporte de
HU-10 10 Jonatan Cerda
la planilla del servicio de agua potable.
Realizado por: Cerda Grefa, Jonatan. 2019
2.4.6.3 Sprint 3
En este sprint se desarrolla los módulos para ingresar, actualizar y eliminar la información de la
junta de agua potable, también los módulos de ingreso, actualización y eliminación de la
dirección de los barrios y zonas, además del ingreso, actualización y eliminación de los tipos de
contribuyentes y por último almacenar los sueldos mensuales.
73
2.4.6.4 Sprint 4
En el sprint 4 se desarrolla los módulos para mostrar un reporte general de sueldos, ingresar
noticias, emitir detalles de pago, ingresar lectura del medidor y ordenes de instalación de
medidores, también módulos de consulta y reportes, además del ingreso, actualización y
eliminación de medidores.
74
2.4.6.5 Sprint 5
En el sprint final se desarrolla los módulos para actualizar y eliminar las órdenes de instalación
de medidores, visualización de reportes, también módulos para el ingreso, modificación,
eliminación y visualización de productos, además de gestión de inventarios y un reporte de
ingresos y gastos. Por último, se realiza las pruebas necesarias para un buen funcionamiento del
sistema
75
2.4.7 Historias de usuario
Las historias de usuario son comúnmente utilizadas al emplear la metodología ágil SCRUM, en
donde se describe los requerimientos del cliente para el sistema. Es recomendable escribirlas en
un lenguaje entendible por el usuario sin usar palabras técnicas; explicando el rol, su
funcionalidad y el resultado deseado.
SPRINT 1
76
2.5 Fase de finalización
El BurnDown Chart se usó para la gestión del proyecto, en el que se representa gráficamente el
seguimiento del desarrollo del proyecto. Mediante el gráfico se presenta la velocidad en la que
se desarrollaron las funcionalidades del sistema y se visualiza si el proyecto se completó o no en
el tiempo planificado.
En el Gráfico 1-2 se visualiza el seguimiento del proyecto, en el que el eje X representa los
Sprint y en el eje Y el esfuerzo en puntos estimados.
450
400
350
300
250
200
150
100
50
0
Sprint 0 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5
Como se observa en el Gráfico 1-2 la línea verde representa los puntos estimados y la línea azul
los puntos reales, además se ve que el proyecto no tuvo mayores contratiempos por lo que la
fecha de fin planificada no se vio severamente afectada, únicamente hubo pequeñas variaciones
con el tiempo estimado, que no afectaron en la finalización del proyecto.
77
CAPÍTULO III
3.1 Modularidad
Para obtener el resultado de diseño se dividió el valor de la propiedad para las líneas de código,
para duplicaciones se dividió el valor de la propiedad para 100, para cobertura se calculó
(1-(Vpropiedad/100)) y con dichos resultados calcular el porcentaje.
En la Tabla 1-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
modularidad de la interfaz gráfica, los cuales se obtuvieron en el análisis al proyecto mediante
la herramienta SonarQube. Las duplicaciones se deben a que ciertas funcionalidades son
similares y se clonó código.
78
Interfaz gráfica: 83261 líneas de código.
En la Tabla 2-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
modularidad del paquete de acceso a datos, obtenidos mediante el análisis de la herramienta
SonarQube.
En la Tabla 3-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
modularidad del paquete comunes, diseño presenta un valor de 0 lo que indica que el código
fuente es fácil de comprender.
79
Comunes: 2363 líneas de código.
Diseño 0 0 0,00%
En la Tabla 4-3 se muestra los resultados finales de cada propiedad de los tres paquetes en el
que se calcula la media de cada propiedad de calidad para conocer el valor final de la
subcaracterística modularidad. Cada valor de las propiedades se obtuvo mediante el análisis de
la herramienta SonarQube al proyecto. Los tres paquetes presentan un diseño fácil de
comprender, además existe duplicaciones debido a que por funcionalidades similares se clonó
código.
Promedio de
Propiedad Interfaz gráfica Acceso a datos Comunes
las propiedades
Diseño 0,08% 0,59% 0,00% 0,22%
Duplicaciones 24,43% 7% 12% 14,48%
Cobertura 100% 98,29% 92,86% 97,05%
Realizado por: Cerda Grefa, Jonatan. 2019
Propiedades de calidad
120,00%
97,05%
100,00%
80,00%
60,00%
40,00%
14,48%
20,00%
0,22%
0,00%
Diseño Duplicaciones Cobertura
80
En el Gráfico 1-3 se representa los valores de cada una de las propiedades que influyen en la
modularidad, en donde se observa que cobertura tiene un valor de 97,05% lo que muestra que
los paquetes del proyecto a nivel de código no presentan pruebas unitarias, las duplicaciones
muestra que se introdujo código repetido en un 14,48% en el proyecto, dado que existen algunas
funcionalidades similares que requirieron que se clone código, que si bien no es un valor grande
podría afectar de manera negativa a la modularidad puesto que se puede producir grandes
errores al realizar el mantenimiento porque se debería buscar todas las repeticiones y si no se
cambia todas, el software resultará confuso además de que se incrementará los costos ya que si
hay cambios se los debe realizar en varios sitios y la propiedad diseño tiene un valor de 0,22%
lo que muestra que el código del proyecto es entendible por lo cual esta propiedad de calidad
contribuye de manera positiva a la modularidad.
3.2 Reusabilidad
Para obtener el resultado de mala práctica, obsoleto y diseño se dividió el valor de la propiedad
para las líneas de código y para duplicaciones se dividió el valor de la propiedad para 100 para
obtener el porcentaje de esta propiedad de calidad.
A continuación, en la Tabla 5-3 se muestra los valores de las propiedades de calidad del sistema
con respecto a reusabilidad de la interfaz gráfica, obtenidos mediante la herramienta SonarQube.
Interfaz gráfica: 83261 líneas de código.
En la Tabla 6-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
reusabilidad del acceso a datos, los cuales se obtuvo mediante el análisis con la herramienta
SonarQube.
81
Acceso a Datos: 4193 líneas de código.
En la Tabla 7-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
reusabilidad del paquete comunes, en la que se observa que las propiedades de mala práctica,
obsoleto y diseño tienen un valor de 0 debido a que este paquete contiene únicamente las
variables del proyecto y los métodos get y set, por lo que la herramienta SonarQube detecta que
tiene un diseño fácil de comprender.
En la Tabla 8-3 se muestra los resultados finales de cada propiedad de los tres paquetes que
conforman el proyecto, en los que se calcula la media de cada una de las propiedades de calidad
para obtener un resultado final de reusabilidad. Los tres paquetes según los valores resultantes
tienen un código fuente comprensible, únicamente el paquete de interfaz gráfica cuenta con un
0,08% de código obsoleto.
82
Tabla 8-3: Promedio de los valores de las propiedades de calidad de reusabilidad
Promedio de
Propiedad Interfaz gráfica Acceso a datos Comunes
las propiedades
Mala práctica 0,002% 0,14% 0,00% 0,05%
Obsoleto 0,08% 0,00% 0,00% 0,03%
Diseño 0,08% 0,59% 0,00% 0,22%
Duplicaciones 24,43% 7% 12% 14,48%
Realizado por: Cerda Grefa, Jonatan. 2019
Propiedades de calidad
16,00%
14,48%
14,00%
12,00%
10,00%
8,00%
6,00%
4,00%
2,00%
0,05% 0,03% 0,22%
0,00%
Mala práctica Obsoleto Diseño Duplicaciones
En el Gráfico 2-3 se observa los porcentajes de las propiedades de calidad que influyen en el
resultado de reusabilidad, mala práctica, obsoleto y diseño presentan un valor menor al 1%, esto
indica que el código fuente del software es fácil de leer, de comprender lo que facilita la
reutilización de código y duplicaciones tiene un valor de 14,48% de código fuente repetido dado
que al construirse una clase se crea una copia en caché además de que son archivos que se crean
automáticamente.
3.3 Analizabilidad
83
valor de la propiedad para las líneas de código y luego se los multiplicó por 100 con el fin de
obtener un porcentaje de las mismas.
A continuación, en la Tabla 9-3 se muestra los valores de las propiedades de calidad del sistema
que influyen en la analizabilidad dichos valores se obtuvieron mediante el análisis de la
herramienta SonarQube al sistema, en el que se observa que el valor mayor es de la densidad de
comentarios lo cual es bueno ya que al presentar comentarios hace que el software sea
explicativo y fácil de entender.
Interfaz gráfica: 83261 líneas de código.
En la Tabla 10-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
analizabilidad del acceso a datos, que a diferencia del anterior paquete difiere en sus datos
debido a que su código fuente es sencillo de comprender y no existe confusión en sus variables.
84
Acceso a Datos: 4193 líneas de código.
Luego del análisis del paquete comunes mediante la herramienta SonarQube los valores de las
propiedades de calidad con respecto a analizabilidad salieron 0 dado que dicho paquete está
formado por clases con las variables del proyecto y sus métodos autogenerados get y set, es por
eso que con ese resultado se obtiene que el proyecto es de fácil comprensión, claro y conciso; a
excepción de la densidad de comentarios que obtuvo un valor de 18,32%.
En la Tabla 11-3 se muestra los resultados finales de cada propiedad de los tres paquetes, en los
que se calcula la media para obtener un valor total de analizabilidad de todo el proyecto. Los
tres proyectos presentan un código fuente comprensible, fácil de leer y nada confuso.
Promedio de las
Propiedad Interfaz gráfica Acceso a datos Comunes
propiedades
Mala práctica 0,002% 0,12% 0,00% 0,041%
Redundante 0,00% 0,00% 0,00% 0,00%
Complejidad cognitiva 0,001% 0,048% 0,00% 0,016%
Confuso 0,02% 0,00% 0,00% 0,007%
Diseño 0,077% 0,596% 0,00% 0,224%
Dificultad encontrada 0,086% 0,072% 0,00% 0,053%
Densidad de 10,03% 6,41% 18,32%. 11,59%
comentarios
Realizado por: Cerda Grefa, Jonatan. 2019
85
Propiedades de calidad
14,000%
12,000% 11,59%
10,000%
8,000%
6,000%
4,000%
2,000%
0,041% 0,016% 0,007% 0,224% 0,053%
0,000%
Mala práctica Complejidad Confuso Diseño Dificultad Densidad de
cognitiva encontrada comentarios
En el Gráfico 3-3 se observa que las propiedades de calidad que influyen en la analizabilidad
tienen un valor menor al 1% por lo que se evidencia que el sistema posee un diseño sencillo y
intuitivo por lo que esta subcaracterística contribuye de manera positiva a la mantenibilidad ya
que facilita detectar las causas de posibles fallos en el sistema e identificar partes que se
requiera modificar.
En la Tabla 12-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
la capacidad para ser modificado, dichos resultados demuestran que tan fácil es de comprender
el código y que no existe código redundante.
86
Interfaz gráfica: 83261 líneas de código.
En la Tabla 13-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
capacidad para ser modificado del acceso a datos, este paquete contiene menos duplicaciones
que la interfaz gráfica y un diseño sencillo.
En la Tabla 14-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
capacidad para ser modificado del paquete comunes, en la que se observa que las propiedades
de mala práctica, redundante y diseño tienen un valor de 0, esto se debe a que dicho paquete
está conformado por clases con variables y sus respectivos métodos get y set que fueron
autogenerados los valores se obtuvieron con la herramienta SonarQube. Las duplicaciones se
deben a que ciertas funcionalidades son similares por lo que es necesario clonar código
realizando leves modificaciones.
87
Comunes: 2363 líneas de código.
En la Tabla 15-3 se muestra los resultados finales de cada propiedad de los tres paquetes en
donde se calcula la media de cada una para conseguir un valor total de la capacidad para ser
modificado. Los tres paquetes no presentan código redundante, son fáciles de leer y entender.
Tabla 15-3: Promedio de los valores de las propiedades de calidad de capacidad para ser
modificado
Promedio de las
Propiedad Interfaz gráfica Acceso a datos Comunes
propiedades
Mala práctica 0,0024% 0,12% 0,00% 0,041%
Redundante 0,00% 0,00% 0,00% 0,00%
Diseño 0,077% 0,59% 0,00% 0,22%
Duplicaciones 24,43% 7% 12% 14,48%
Realizado por: Cerda Grefa, Jonatan. 2019
Propiedades de calidad
16,00% 14,48%
14,00%
12,00%
10,00%
8,00%
6,00%
4,00%
2,00% 0,22%
0,04%
0,00%
Mala práctica Diseño Duplicaciones
Gráfico 4-3: Porcentaje de las propiedades de calidad de la capacidad para ser modificado
Realizado por: Cerda Grefa, Jonatan. 2019
88
El Gráfico 4-3 muestra los valores de las propiedades de calidad que influyen en la capacidad
para ser modificado, en el que se visualiza que duplicaciones tiene un valor de 14,48% que a
pesar de no ser un valor muy alto puede causar grandes conflictos al realizar mantenimiento o
modificaciones al sistema, en tanto la mala práctica y diseño presentan un valor menor al 1% lo
cual hace que el sistema sea comprensible y que al momento de ser modificado se lo haga de
manera eficiente y efectiva sin incluir fallos o disminuir su desempeño.
En la Tabla 16-3 se muestra los valores de las propiedades de calidad del sistema con respecto a
la capacidad para ser probado.
En la Tabla 17-3 se muestra los valores de las propiedades de calidad con respecto a la
capacidad para ser probado del acceso a datos, los cuales fueron obtenidos a través del análisis
del sistema mediante la herramienta SonarQube. Este paquete posee un código sencillo de
comprender y leer.
89
Acceso a Datos: 4193 líneas de código.
La Tabla 18-3 muestra los valores de las propiedades de calidad que influyen en la capacidad
para ser probado del paquete comunes, en la que se observa que no existe código redundante,
además de las propiedades de diseño y dificultad encontrada al tener un valor de 0 indican que
el software es entendible, que tiene una capacidad alta de ser leído y no es confuso entender su
funcionamiento, esto se debe a que dicho paquete contiene las variables del sistema y código
autogenerado; cobertura indica que el código fuente no fue abarcado por pruebas unitarias. Los
valores se obtuvieron mediante el análisis de la herramienta SonarQube.
Diseño 0 0 0,00%
Dificultad encontrada 0 0 0,00%
Cobertura 7,14 0,929 92,86%
Realizado por: Cerda Grefa, Jonatan. 2019
En la Tabla 19-3 se muestra los resultados de las propiedades de calidad de los tres paquetes, en
la que se observa que en ninguno existe código redundante, el diseño es comprensible y no
confuso, para obtener un valor final de la capacidad de ser probado se calculó la media de cada
una.
90
Tabla 19-3: Promedio de los valores de las propiedades de calidad de capacidad para ser
probado
Promedio de las
Propiedad Interfaz gráfica Acceso a datos Comunes
propiedades
Redundante 0,00% 0.00% 0,00% 0,00%
Diseño 0,077% 0,60% 0,00% 0,226%
Dificultad encontrada 0,086% 0,072% 0,00% 0,053%
Cobertura 100% 98,65% 92,86% 97,17%
Realizado por: Cerda Grefa, Jonatan. 2019
Propiedades de calidad
120,00%
97,17%
100,00%
80,00%
60,00%
40,00%
20,00%
0,23% 0,05%
0,00%
Diseño Dificultad encontrada Cobertura
Gráfico 5-3: Porcentaje de las propiedades de calidad de la capacidad para ser probado
Realizado por: Cerda Grefa, Jonatan. 2019
El Gráfico 5-3 representa los valores de cada una de las propiedades que influyen en la
capacidad para ser aprobado, el 97,17% de la cobertura representa que el proyecto a nivel de
código no presenta pruebas unitarias, en tanto el diseño y la dificultad encontrada presentan un
valor menor al 1% lo que facilita formar normas de prueba y ejecutar las verificaciones para
definir que se cumpla dichas normas.
En la Tabla 20-3 se observa los valores de cada una de las subcaracterísticas de mantenibilidad
las cuales ayudaran a obtener un valor final de dicha métrica.
91
Tabla 20-3: Valores de las subcaracterísticas de mantenibilidad
Grado de aceptación
Subcaracterística %
120,00%
96,31% 98,30% 96,31%
100,00%
85,86%
75,63%
80,00%
62,75%
60,00%
40,00%
20,00%
0,00%
Modularidad Reusabilidad Analizabilidad Capacidad para Capacidad para Promedio
ser modificado ser probado Mantenibilidad
92
CONCLUSIONES
Al finalizar el trabajo de titulación que automatiza los procesos de recaudacion para la Junta
Administradara de Agua Potable Regional “Kawsay Yacu” y al obtener los resultados de su
evaluación se obtuvo las siguientes conclusiones:
93
RECOMENDACIONES
Con el fin de agilizar los procesos administrativos y contables de la junta de agua potable
se recomienda implementar la factura electrónica que también mejoraría la atención al
cliente y permitiría tener un mayor control documental.
Luego de los respectivos análisis de las propiedades como: mala práctica, redundante,
complejidad cognitiva, confuso, diseño, dificultad encontrada, duplicaciones, cobertura,
obsoleto y densidad de comentarios la herramienta SonarQube permitió evaluar un 86,19%
de la mantenibilidad, por lo tanto, se recomienda esta herramienta para tener una mejor
calidad de código y por ende un software excelente.
94
BIBLIOGRAFÍA
ALFARO, F. SERVICIOS WEB - SOAP: Ventajas y Desventajas del SOAP. [en línea]. 2012.
[Consulta: 10 julio 2019]. Disponible en:
http://fabioalfarocc.blogspot.com/2012/08/ventajas-y-desventajas-del-soap.html.
ÁLVAREZ, M.Á. Qué es Python. [en línea]. 2003. [Consulta: 23 junio 2019]. Disponible en:
https://desarrolloweb.com/articulos/1325.php.
AULA FORMATIVA. Alternativas de IDE para Java. [en línea]. 2016. [Consulta: 1 julio
2019]. Disponible en: https://blog.aulaformativa.com/alternativas-de-ide-para-java/.
BAHIT, E. POO y MVC en PHP [en línea]. 2011, S.l.: s.n. [Consulta: 19 junio 2019].
Disponible en:
https://s3.amazonaws.com/academia.edu.documents/38650666/eugeniabahitpooymvcenph
p.pdf?response-content-disposition=inline%3B
filename%3DPOO_y_MVC_en_PHP.pdf&X-Amz-Algorithm=AWS4-HMAC-
SHA256&X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20190619%2Fus-east-
1%2Fs3.
CAIVANO, R.M. y VILLORIA, L.N. Aplicaciones Web 2.0 - Google docs [en línea]. S.l.:
Eduvim, 2009 [Consulta: 8 junio 2019]. ISBN 978-987-1518-71-5. Disponible en:
https://books.google.com.ec/books?id=v6ioPA-CJJEC&lpg=PA17&dq=aplicaciones
web&hl=es&pg=PA6#v=onepage&q=aplicaciones web&f=false.
CERAMI, E. Web services essentials: Distributed Applications with XML-RPC, SOAP, UDDI
& WSDL [en línea]. 1° Edición. S.l.: O’Reilly, 2002. [Consulta: 6 julio 2019]. ISBN
978-0-596-00224-4. Disponible en:
https://books.google.com.ec/books?id=tIM4DwAAQBAJ&lpg=PR5&ots=40EDpb-
E_4&dq=Web services essentials%3A Distributed Applications with XML-RPC%2C
SOAP%2C UDDI %26amp%3B WSDL&lr&hl=es&pg=PR5#v=onepage&q&f=false.
COBO, Á; et al. PHP y MySQL. Tecnologías para el desarrollo de aplicaciones web [en
línea]. España: Ediciones Díaz de Santos, 2005. [Consulta: 23 junio 2019]. ISBN 84-7978-
706-6. Disponible en:
https://www.editdiazdesantos.com/wwwdat/pdf/9788479787066.pdf.
DENZER, P. PostgreSQL. [en línea]. 2002, S.l.: [Consulta: 12 julio 2019]. Disponible en:
http://profesores.elo.utfsm.cl/~agv/elo330/2s02/projects/denzer/informe.pdf.
DIARLU. Los 7 Mejores IDE para Programar en JAVA. [en línea]. 2019. [Consulta: 2 julio
2019]. Disponible en: https://www.diarlu.com/mejores-ide-programar-java/.
EGUÍLUZ PÉREZ, J. Introducción a JavaScript [en línea]. S.l.: s.n., 2008. [Consulta: 3 julio
2019]. Disponible en: https://www.jesusda.com/docs/ebooks/introduccion_javascript.pdf.
ÈMFASI. Desarrollo de aplicaciones web. [en línea]. 2010. [Consulta: 8 junio 2019].
Disponible en: http://www.emfasi.com/desarrollo-de-aplicaciones-web.
FANDOM. Modelo De Calidad ISO/IEC 25010 - ISO/IEC 25001. [en línea]. 2018. [Consulta:
15 julio 2019]. Disponible en: https://modelos-de-calidad-para-evaluar-
red.fandom.com/es/wiki/Modelo_De_Calidad_ISO/IEC_25010_-_ISO/IEC_25001.
FERRIS, C. y FARRELL, J. "What are Web Services?". Communications of the ACM [en
línea], 2003, 46(6), pp. 29-34. [Consulta: 6 julio 2019]. Disponible en:
http://d.web.umkc.edu/di5x7/output/Paper Critique - Web Services.pdf.
FLANAGAN, D. JavaScript : the definitive guide [en línea] Quinta Edición S l : O’Reilly,
2006. [Consulta: 2 julio 2019]. ISBN 9780596101992. Disponible en:
https://books.google.com.ec/books?id=k0CbAgAAQBAJ&lpg=PT6&ots=O3rtgjjuuS&dq
=javascript the definitive guide&lr&hl=es&pg=PT3#v=onepage&q&f=false.
FONTELA, A. ¿Que es Bootstrap? [en línea]. 2015. [Consulta: 11 mayo 2018]. Disponible en:
https://raiolanetworks.es/blog/que-es-bootstrap/.
GARCÍA, J. ¿Qué es Ruby? [en línea]. 2017. [Consulta: 24 junio 2019]. Disponible en:
https://openwebinars.net/blog/que-es-ruby/.
GARRIDO ABENZA, P. Comenzando a programar con JAVA [en línea]. S.l.: s.n, 2015.
[Consulta: 25 junio 2019]. ISBN 978-84-16024-24-7. Disponible en:
https://books.google.com.ec/books?hl=es&lr=&id=4v8QCgAAQBAJ&oi=fnd&pg=PP1&
dq=que+es+java&ots=le2P3qoQir&sig=qzA_TlnUkjTmsRzAqjC285HeE80#v=onepage&
q&f=false.
GAUCHAT, J.D. El gran libro de HTML5, CSS3 y Javascript [en línea]. Primera Ed.
Barcelona, España: s.n., 2012. [Consulta: 23 mayo 2018]. ISBN 978-84-267-1782-5.
Disponible en: https://gutl.jovenclub.cu/wp-
content/uploads/2013/10/El+gran+libro+de+HTML5+CSS3+y+Javascrip.pdf.
GINESTÀ, M.G. y PÉREZ MORA, O. Bases de datos en PostgreSQL. [en línea]. 2012, S.l.:
[Consulta: 12 julio 2019]. Disponible en:
http://informatica.gonzalonazareno.org/plataforma/pluginfile.php/242/mod_resource/conte
nt/0/Apuntes/UOC_Postgres.pdf.
GROUSSARD, T. JAVA 7: Los fundamentos del lenguaje Java [en línea]. Barcelona, España:
Ediciones ENI, 2012. [Consulta: 23 junio 2019]. ISBN 978-2-7460-7318-0. Disponible en:
https://books.google.com.ec/books?id=JaPTzKZxbN4C&lpg=PA9&ots=pV5CrdDpXg&d
q=que es java&lr&hl=es&pg=PP6#v=onepage&q&f=false.
GUEVARA BENITES, A. ¿Qué es Bootstrap? [en línea]. 2013. [Consulta: 5 julio 2019].
Disponible en: https://devcode.la/blog/que-es-bootstrap/.
JSON.ORG, Introducing JSON. [en línea]. 2000. [Consulta: 4 julio 2019]. Disponible en:
http://www.json.org/.
KOU, X. GlassFish Administration : Administer and Configure the GlassFish v2 application
Server [en línea]. Primera Edición. S.l.: Packt Publishing, Limited, 2009. [Consulta: 10
julio 2019]. ISBN 9781847196514. Disponible en:
https://ebookcentral.proquest.com/lib/espoch/detail.action?docID=946920.
KREGER, H. Web Services Conceptual Architecture (WSCA 1.0). [en línea]. 2001, S.l.:
[Consulta: 6 julio 2019]. Disponible en:
https://www.researchgate.net/profile/Heather_Kreger/publication/235720479_Web_Servic
es_Conceptual_Architecture_WSCA_10/links/563a67e008ae337ef2984607.pdf.
LERMA-BLASCO, R. V; et al. Aplicaciones web [en línea]. 1ra Edición. España: s.n, 2013.
[Consulta: 18 junio 2019]. ISBN 978-84-481-8392-9. Disponible en:
https://polmirosmix2.files.wordpress.com/2015/06/aplicaciones-web-2013-grado-medio-
mcgraw-hill.pdf.
LÓPEZ S., C.A. "Cómo mantener el patrón modelo vista controlador en una aplicación
orientada a la WEB". INVENTUM [en línea], 2009, 4(7), pp. 72-78. [Consulta: 19 junio
2019]. DOI https://doi.org/10.26620/uniminuto.inventum.4.7.2009.72-78. Disponible en:
http://revistas.uniminuto.edu/index.php/Inventum/article/view/132/125.
MASIP, D. Qué es Oracle. [en línea]. 2002. [Consulta: 12 julio 2019]. Disponible en:
https://desarrolloweb.com/articulos/840.php.
MATEU, C. Desarrollo de aplicaciones web [en línea]. 1ra Edición. Barcelona: Eureca Media,
SL, 2004. [Consulta: 8 junio 2019]. ISBN 84-9788-118-4. Disponible en:
http://roa.ult.edu.cu/bitstream/123456789/450/1/Desarrollo Aplicaciones Web.pdf.
MDN. Fundamentos de JavaScript. [en línea]. 2019. [Consulta: 3 julio 2019]. Disponible en:
https://developer.mozilla.org/es/docs/Learn/Getting_started_with_the_web/JavaScript_bas
ics.
MDN WEB DOCS. JSON. [en línea]. 2019. [Consulta: 3 julio 2019]. Disponible en:
https://developer.mozilla.org/es/docs/Glossary/JSON.
NEXT_U. Conoce las Ventajas y Desventajas del Javascript. [en línea]. 2017. [Consulta: 3
julio 2019]. Disponible en: https://www.nextu.com/blog/conoce-las-ventajas-y-
desventajas-de-javascript/.
PÉREZ GARCÍA, A.A. Desarrollo de herramientas web de gestión docente [en línea].
(Trabajo de titulación) S.l.: UNIVERSIDAD POLITÉCNICA DE CARTAGENA. 2007.
[Consulta: 11 julio 2019]. Disponible en:
http://repositorio.upct.es/bitstream/handle/10317/179/pfc2475.pdf.
PÉREZ VALDÉS, D. ¿Qué son las bases de datos? [en línea]. 2007. [Consulta: 10 julio 2019].
Disponible en: http://www.maestrosdelweb.com/que-son-las-bases-de-datos/.
REVISTA DIGITAL. Qué es SQL Server. [en línea]. 2016. [Consulta: 11 julio 2019].
Disponible en: http://bibliotecaprofesional.com/que-es-sql-server/.
SEO. ¿Que elegir? Aplicaciones Web? o Aplicaciones Desktop. [en línea]. 2018. [Consulta: 18
junio 2019]. Disponible en: https://cabeseo.com/programacion/aplicaciones-web-vs-
desktop/.
SIERRA CEDEÑO, A.Y. y ESPINOZA MINA, M.A. "Análisis comparativo entre ASP.NET
y PHP". INNOVA [en línea], 2018, 3(4), pp. 25-43. [Consulta: 23 junio 2019]. Disponible
en: http://revistas.uide.edu.ec/index.php/innova/article/view/474/616.
UNIVERSIDAD DE ALICANTE. Servicios Web y SOA. [en línea]. 2012., S.l.: [Consulta: 4
septiembre 2019]. Disponible en: http://www.jtech.ua.es/j2ee/publico/servc-web-2012-
13/wholesite.pdf.
VACA SIERRA, T.N. y JÁCOME ORTEGA, A.E. Calidad de software del módulo de
talento humano del sistema informático de la Universidad Técnica del Norte bajo la
norma ISO/IEC 25000 [en línea]. 2018. S.l.: s.n. [Consulta: 15 julio 2019]. Disponible en:
https://www.researchgate.net/publication/325022337_Calidad_de_software_del_modulo_
de_talento_humano_del_sistema_informatico_de_la_Universidad_Tecnica_del_Norte_baj
o_la_norma_ISOIEC_25000.
WIELENGA, G. Beginning NetBeans IDE : for Java developers [en línea]. New York: s.n.
2015. [Consulta: 2 julio 2019]. ISBN 978-1-4842-1257-8. Disponible en:
https://books.google.com.ec/books?id=9HeBCgAAQBAJ&lpg=PR6&ots=9DUtQqnGRO
&dq=netbeans ide&lr&hl=es&pg=PR4#v=onepage&q&f=false.
ZEVALLOS VERA, E.J. LENGUAJE DE PROGRAMACIÓN TI- JAVA. [en línea]. 2014.,
Callao: [Consulta: 27 junio 2019]. Disponible en:
http://83.36.215.205/files/1501594129_25.pdf.
ANEXOS
En el siguiente diagrama se detalla los casos de uso del empleado que son ingresar, actualizar y
eliminar información de la junta, dirección de barrios y zonas que abarcan la junta de agua,
tipos de contribuyentes, emitir detalles entre otros.
Caso de Uso Emitir detalles del pago del servicio de agua potable
permitiendo mantener la información del medidor
actualizada.
Actores Empleado
Descripción Se debe acceder al sistema para utilizar las funcionalidades
Precondición Debe estar registrado
Paso Acción
Secuencia Normal 1 Acceder a la página web
2 Iniciar sesión en el sistema
3 Ingresar email y contraseña del usuario
4 Verificar las credenciales del usuario en la BD
5 Se abre la página principal del sistema
6 Clic en la opción cobranzas
7 Clic en Cobro tarifa clientes
8 Seleccionar nombre del cliente
9 Clic en descargar todas las planillas
Post Condición
Excepciones Paso Acción
10 Si desea emitir detalle de pago de un mes y año especifico los
selecciona y clic en Ver detalle.
Emitir detalles del pago del servicio de agua potable permitiendo mantener la
información del medidor actualizada.
Realizar consultas de planillas para conocer los valores a pagar por el consumo de agua
potable.
Emitir detalles del pago del servicio de agua potable permitiendo mantener la
información del medidor actualizada.
Realizar consultas de planillas para conocer los valores a pagar por el consumo de agua
potable.
Tabla acceso_persona
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('acceso_persona_id_seq'::regclass)
persona_id Integer No No
Ingreso timestamp with time zone No No
Salida timestamp with time zone No No
Tabla barrio
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('barrio_id_seq'::regclass)
Nombre character varying(70) No No
descripcion Text No No
Estado Boolean No No
Tabla barrio_persona
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Idbarrio Integer Si Si
idpersona Integer Si Si
Tabla categoriamedidor
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('categoriamedidor_id_seq'::
regclass)
descripcion character varying(50) No No
tarifabasica double precisión No No
Tabla compra_producto
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('compra_producto_id_seq'::
regclass)
idproducto Integer No No
proveedor character No No
varying(60)
tipoadquisicion character No No
varying(60)
cantidad Integer No No
valorunitario double precisión No No
fecha Date No No
Tabla junta
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('junta_id_seq'::regclass)
nombre character varying(50) No No
descripcion Text No No
Logo Bytea No No
Ruc character varying(50) No No
Mision Text No No
Vision Text No No
Tabla medidor
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Código Integer Si Si nextval('medidor_id_seq'::regclass)
descripcion character varying(50) No No
idcategoria Integer No No
Estado Boolean No No
Tabla medidor_persona
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
idmedidor Integer Si Si
idpersona Integer Si Si
Fecha Date No No
idoperador Integer No No
Costo double precisión No No
Tabla noticias_junta
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('noticias_junta_id_seq'::reg
class)
nombre character varying No No
descripcion Text No No
Foto Bytea No No
junta_id Integer No No
prioridad Boolean No No
Tabla opción
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('rol_id_seq'::regclass)
nombre character varying(50) No No
Accion character varying(50) No No
Clase character varying(50) No No
Tabla persona_sueldo
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('persona_sueldo_id_seq'::regclass)
Mes character varying(20) No No
Anio Integer No No
Pago double precisión No No
Estado character varying(30) No No
persona_id Integer No No
Orden Integer No No
Tabla personarol
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
idpersona Integer Si Si
Idrol Integer Si Si
Tabla producto
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id Integer Si Si nextval('producto_id_seq'::regclass)
nombre character varying(50) No No
descripcion Text No No
cantidad integer No No
Estado boolean No No
Color character varying(50) No No
Marca character varying(100) No No
estado_material character varying(50) No No
Tabla rol
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id integer Si Si nextval('rol_id_seq1'::regclass)
nombre character varying(50) No No
nombrechar character varying(5) No No
Tabla rolopcion
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Idrol integer Si Si
idopcion integer Si Si
Tabla usuario_tarifa_mensual
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id integer Si Si nextval(' usuario_tarifa_mensual
_seq1'::regclass)
idusuario integer No No
Mes character varying(50) No No
Anio character varying(6) No No
rango1 double precision No No
rango2 double precision No No
rango3 double precision No No
rango4 double precision No No
lecturaactual double precision No No
valorconsumo double precision No No
tarifa double precision No No
administrativo double precision No No
ambiental double precision No No
estadopago boolean No No
lecturaanterior double precision No No
m3 double precision No No
valorpagar double precision No No
Tabla zona
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
Id integer Si Si nextval('zona_id_seq'::regclass)
nombre character varying No No
descripcion text No No
estado boolean No No
Tabla zona_barrio
¿No ¿Clave
Nombre Tipo de dato Default
nulo? primaria?
idzona integer Si Si
idbarrio integer Si Si
Anexo E: Historias de usuario
Historia de Usuario 2
ID: HU-02 Nombre de la Historia: Ingresar el personal de la junta de agua.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 15/04/2019 Fecha Fin: 17/04/2019
Descripción: Como administrador quiero ingresar el personal de la junta de agua potable para tener un control de
todos los trabajadores de la junta
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-02 Ingresar datos duplicados y mostrar mensaje de que ya Exitosa Jonatan Cerda
PA-01 ha sido ingresado
HU-02 No permitir que se deje espacios vacíos Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-02 2
Crear sentencia SQL para el ingreso de personal de la junta.
TI-01
HU-02 2
Crear la clase para ingresar personal de la junta.
TI-02
HU-02 3
Crear el MVC para ingresar personal de la junta.
TI-03
HU-02 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar personal de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 3
ID: HU-03 Nombre de la Historia: Actualizar el personal de la junta de agua.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 17/04/2019 Fecha Fin: 22/04/2019
Descripción: Como administrador quiero actualizar el personal de la junta de agua potable para tener un control
de actual de todos los trabajadores de la junta.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-03 Ingresar datos duplicados y mostrar mensaje de que ya Exitosa Jonatan Cerda
PA-01 ha sido ingresado
HU-03 No permitir que se deje espacios vacíos Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-03 1
Crear sentencia SQL para actualizar personal de la junta.
TI-01
HU-03 1
Crear la clase para actualizar personal de la junta.
TI-02
HU-03 1
Crear el MVC para actualizar personal de la junta.
TI-03
HU-03 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 actualizar personal de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 4
ID: HU-04 Nombre de la Historia: Eliminar el personal de la junta de agua.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 22/04/2019 Fecha Fin: 25/04/2019
Descripción: Como administrador quiero eliminar el personal de la junta de agua potable para borrar personal que
ya no pertenezca a la junta de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-04 Verificar que se elimine una persona de la junta de Exitosa Jonatan Cerda
PA-01 agua.
HU-04 Verificar que se actualice el personal de la junta de Exitosa Jonatan Cerda
PA-02 agua.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-04 2
Crear sentencia SQL para eliminar personal de la junta.
TI-01
HU-04 2
Crear la clase para eliminar personal de la junta.
TI-02
HU-04 3
Crear el MVC para eliminar personal de la junta.
TI-03
HU-04 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 eliminar personal de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 5
ID: HU-05 Nombre de la Historia: Un apartado para la gestión de los roles de la junta de agua.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 25/04/2019 Fecha Fin: 29/04/2019
Descripción: Como administrador quiero gestionar los roles de la junta de agua potable para que cada rol acceda a
funcionalidades específicas.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-05 Verificar que los roles establecidos a los usuarios se Exitosa Jonatan Cerda
PA-01 guarden correctamente.
HU-05 Verificar que el usuario con un rol asignado accede a Exitosa Jonatan Cerda
PA-02 funcionalidades determinadas.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-05 2
Crear sentencia SQL para gestionar los roles de la junta.
TI-01
HU-05 2
Crear la clase para gestionar los roles de la junta.
TI-02
HU-05 3
Crear el MVC para gestionar los roles de la junta.
TI-03
HU-05 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 gestionar los roles de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 6
ID: HU-06 Nombre de la Historia: Realizar un apartado para la gestión de los barrios que abarca la junta
administradora de agua.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 29/04/2019 Fecha Fin: 06/05/2019
Descripción: Como administrador quiero gestionar los barrios para controlar los barrios que abarca la junta de
agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-06 Verificar que los barrios se ingresen correctamente Exitosa Jonatan Cerda
PA-01
HU-06 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-06 2
Crear sentencia SQL para gestionar los barrios que abarca la junta.
TI-01
HU-06 2
Crear la clase para gestionar los barrios que abarca la junta.
TI-02
HU-06 3
Crear el MVC para gestionar los barrios que abarca la junta.
TI-03
HU-06 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 gestionar los barrios que abarca la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 7
ID: HU-07 Nombre de la Historia: Realizar un apartado para la gestión de los sueldos de los empleados de la
junta administradora de agua.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 06/05/2019 Fecha Fin: 08/05/2019
Descripción: Como administrador quiero gestionar los sueldos de los empleados para tener control de cuantos se
utiliza para sueldos.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-07 Verificar que se ingrese correctamente los sueldos. Exitosa Jonatan Cerda
PA-01
HU-07 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-07 2
Crear sentencia SQL para gestionar los sueldos de los empleados.
TI-01
HU-07 2
Crear la clase para gestionar los sueldos de los empleados
TI-02
HU-07 3
Crear el MVC para gestionar los sueldos de los empleados.
TI-03
HU-07 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 gestionar los sueldos de los empleados.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 8
ID: HU-08 Nombre de la Historia: Ingresar las tarifas de la junta de agua potable.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 08/05/2019 Fecha Fin: 13/05/2019
Descripción: Como administrador quiero ingresar las tarifas de la junta de agua para controlar los precios que se
manejan en dicha junta.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-08 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-08 No permitir que se deje espacios vacíos. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-08 2
Crear sentencia SQL para ingresar tarifas de la junta de agua.
TI-01
HU-08 2
Crear la clase para ingresar tarifas de la junta de agua.
TI-02
HU-08 3
Crear el MVC para ingresar tarifas de la junta de agua.
TI-03
HU-08 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar tarifas de la junta de agua.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 9
ID: HU-09 Nombre de la Historia: Actualizar las tarifas de la junta de agua potable.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 13/05/2019 Fecha Fin: 15/05/2019
Descripción: Como administrador quiero actualizar las tarifas de la junta de agua para tener actualizados los
precios que se manejan en dicha junta.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-09 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-09 No permitir que se deje espacios vacíos. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-09 2
Crear sentencia SQL para ingresar tarifas de la junta de agua.
TI-01
HU-09 2
Crear la clase para ingresar tarifas de la junta de agua.
TI-02
HU-09 3
Crear el MVC para ingresar tarifas de la junta de agua.
TI-03
HU-09 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar tarifas de la junta de agua.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 10
ID: HU-10 Nombre de la Historia: Visualizar la noticia más importante en el reporte de la planilla del
servicio de agua potable.
Usuario: administrador Sprint: 2
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 15/05/2019 Fecha Fin: 20/05/2019
Descripción: Como administrador quiero visualizar la noticia más importante en la planilla para hacer conocer las
novedades de la junta.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-10 Verificar que la noticia se muestre completa. Exitosa Jonatan Cerda
PA-01
HU-10 Verificar que la noticia este correcta. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-10 Crear sentencia SQL para visualizar la noticia más importante en la 2
TI-01 planilla.
HU-10 2
Crear la clase para visualizar la noticia más importante en la planilla.
TI-02
HU-10 3
Crear el MVC para visualizar la noticia más importante en la planilla.
TI-03
HU-10 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 visualizar la noticia más importante en la planilla.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 11
ID: HU-11 Nombre de la Historia: Ingresar la información de la junta de agua potable.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 20/05/2019 Fecha Fin: 22/05/2019
Descripción: Como empleado quiero ingresar la información de la junta de agua para tener conocimiento de las
funciones que cumple la junta de agua potable.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-11 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-11 No permitir que se deje espacios vacíos. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-11 2
Crear sentencia SQL para ingresar la información de la junta.
TI-01
HU-11 2
Crear la clase para ingresar la información de la junta.
TI-02
HU-11 3
Crear el MVC para ingresar la información de la junta.
TI-03
HU-11 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar la información de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 12
ID: HU-12 Nombre de la Historia: Actualizar la información de la junta de agua potable.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 22/05/2019 Fecha Fin: 23/05/2019
Descripción: Como empleado quiero actualizar la información de la junta de agua para tener al día la funciones
que cumple la junta de agua potable.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-12 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-12 No permitir que se deje espacios vacíos. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-12 1
Crear sentencia SQL para actualizar la información de la junta.
TI-01
HU-12 1
Crear la clase para actualizar la información de la junta.
TI-02
HU-12 1
Crear el MVC para actualizar la información de la junta.
TI-03
HU-12 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 actualizar la información de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 13
ID: HU-13 Nombre de la Historia: Eliminar la información de la junta de agua potable.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 27/05/2019 Fecha Fin: 29/05/2019
Descripción: Como empleado quiero eliminar la información de la junta de agua para mantener únicamente la
información actual.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-13 Verificar que se elimine la información de la junta de Exitosa Jonatan Cerda
PA-01 agua.
HU-13 Verificar que se actualice la información de la junta de Exitosa Jonatan Cerda
PA-02 agua.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-13 2
Crear sentencia SQL para eliminar la información de la junta.
TI-01
HU-13 2
Crear la clase para eliminar la información de la junta.
TI-02
HU-13 3
Crear el MVC para eliminar la información de la junta.
TI-03
HU-13 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 eliminar la información de la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 14
ID: HU-14 Nombre de la Historia: Ingresar la dirección de barrios, zonas y calles que aborda la junta de
agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 29/05/2019 Fecha Fin: 31/05/2019
Descripción: Como empleado quiero ingresar la dirección de barrios y zonas para conocer cuales aborda la junta
de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-14 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-14 Verificar que no se permita dejar espacios en blanco. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-14 Crear sentencia SQL para ingresar la dirección de barrios y zonas que 2
TI-01 abarca la junta.
HU-14 Crear la clase para ingresar la dirección de barrios y zonas que abarca la 2
TI-02 junta.
HU-14 Crear el MVC para ingresar la dirección de barrios y zonas que abarca la 3
TI-03 junta.
HU-14 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar la dirección de barrios y zonas que abarca la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 15
ID: HU-15 Nombre de la Historia: Actualizar la dirección de barrios, zonas y calles que aborda la junta de
agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 03/06/2019 Fecha Fin: 04/06/2019
Descripción: Como empleado quiero actualizar la dirección de barrios y zonas para mantener datos actuales de
cuales aborda la junta de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-15 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-15 Verificar que no se permita dejar espacios en blanco. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-15 Crear sentencia SQL para actualizar la dirección de barrios y zonas que 1
TI-01 abarca la junta.
HU-15 Crear la clase para actualizar la dirección de barrios y zonas que abarca la 1
TI-02 junta.
HU-15 Crear el MVC para actualizar la dirección de barrios y zonas que abarca la 1
TI-03 junta.
HU-15 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 actualizar la dirección de barrios y zonas que abarca la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 16
ID: HU-16 Nombre de la Historia: Eliminar la dirección de barrios, zonas y calles que aborda la junta de
agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 04/06/2019 Fecha Fin: 06/06/2019
Descripción: Como empleado quiero eliminar la dirección de barrios y zonas para quitar datos innecesarios.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-16 Verificar que se elimine una dirección que aborde la Exitosa Jonatan Cerda
PA-01 junta de agua.
HU-16 Verificar que se actualice la dirección que abarque la Exitosa Jonatan Cerda
PA-02 junta de agua.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-16 Crear sentencia SQL para eliminar la dirección de barrios y zonas que 2
TI-01 abarca la junta.
HU-16 Crear la clase para eliminar la dirección de barrios y zonas que abarca la 2
TI-02 junta.
HU-16 Crear el MVC para eliminar la dirección de barrios y zonas que abarca la 3
TI-03 junta.
HU-16 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 eliminar la dirección de barrios y zonas que abarca la junta.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 17
ID: HU-17 Nombre de la Historia: Ingresar los tipos de contribuyentes a la base de datos de la junta de agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 06/06/2019 Fecha Fin: 11/06/2019
Descripción: Como empleado quiero ingresar los tipos de contribuyentes para mantener un control.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-17 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-17 Verificar que no se permita dejar espacios en blanco. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-17 2
Crear sentencia SQL para ingresar los tipos de contribuyentes.
TI-01
HU-17 2
Crear la clase para ingresar los tipos de contribuyentes.
TI-02
HU-17 3
Crear el MVC para ingresar los tipos de contribuyentes.
TI-03
HU-17 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar los tipos de contribuyentes.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 18
ID: HU-18 Nombre de la Historia: Actualizar los tipos de contribuyentes a la base de datos de la junta de
agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 11/06/2019 Fecha Fin: 12/06/2019
Descripción: Como empleado quiero actualizar los tipos de contribuyentes para mantener al día ese control.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-18 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-18 Verificar que no se permita dejar espacios en blanco. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-18 1
Crear sentencia SQL para actualizar los tipos de contribuyentes.
TI-01
HU-18 1
Crear la clase para actualizar los tipos de contribuyentes.
TI-02
HU-18 1
Crear el MVC para actualizar los tipos de contribuyentes.
TI-03
HU-18 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 actualizar los tipos de contribuyentes.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 19
ID: HU-19 Nombre de la Historia: Eliminar los tipos de contribuyentes a la base de datos de la junta de
agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 12/06/2019 Fecha Fin: 14/06/2019
Descripción: Como empleado quiero eliminar los tipos de contribuyentes para quitar los que ya no corresponden.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-19 Verificar que se elimine una dirección que aborde la Exitosa Jonatan Cerda
PA-01 junta de agua.
HU-19 Verificar que se actualice la dirección que abarque la Exitosa Jonatan Cerda
PA-02 junta de agua.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-19 2
Crear sentencia SQL para eliminar los tipos de contribuyentes.
TI-01
HU-19 2
Crear la clase para eliminar los tipos de contribuyentes.
TI-02
HU-19 3
Crear el MVC para eliminar los tipos de contribuyentes.
TI-03
HU-19 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 eliminar los tipos de contribuyentes.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 20
ID: HU-20 Nombre de la Historia: Almacenar los sueldos mensuales de los empleados de la junta de agua.
Usuario: empleado Sprint: 3
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 17/06/2019 Fecha Fin: 18/06/2019
Descripción: Como empleado quiero almacenar los sueldos para contabilizar los sueldos dados.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-20 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-01
HU-20 Verificar que no se permita dejar espacios en blanco. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-20 Crear sentencia SQL para almacenar los sueldos mensuales de los 1
TI-01 empleados de la junta de agua.
HU-20 Crear la clase para almacenar los sueldos mensuales de los empleados de la 1
TI-02 junta de agua.
HU-20 Crear el MVC para almacenar los sueldos mensuales de los empleados de 1
TI-03 la junta de agua.
HU-20 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 almacenar los sueldos mensuales de los empleados de la junta de agua.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 21
ID: HU-21 Nombre de la Historia: Mostrar un reporte general y por persona de los sueldos del empleado.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 18/06/2019 Fecha Fin: 19/06/2019
Descripción: Como empleado quiero generar un reporte general y por persona de los sueldos para conocer lo que
se utiliza en sueldos.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-21 Verificar que se muestre los datos correctos. Exitosa Jonatan Cerda
PA-01
HU-21 Verificar que la información esté completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-21 Crear sentencia SQL para generar un reporte general y por persona de los 1
TI-01 sueldos.
HU-21 1
Crear la clase para generar un reporte general y por persona de los sueldos.
TI-02
HU-21 1
Crear el MVC para generar un reporte general y por persona de los sueldos.
TI-03
HU-21 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 generar un reporte general y por persona de los sueldos.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 22
ID: HU-22 Nombre de la Historia: Ingresar una noticia en el sistema acerca de los trabajos que se realizan en
la junta de agua.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 19/06/2019 Fecha Fin: 20/06/2019
Descripción: Como empleado quiero ingresar noticias para hacer conocer las novedades de la junta de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-22 Verificar que se ingrese las noticias correctamente. Exitosa Jonatan Cerda
PA-01
HU-22 Verificar que se visualice la noticia ingresada. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-22 Crear sentencia SQL para ingresar una noticia en el sistema acerca de los 1
TI-01 trabajos que se realizan en la junta de agua.
HU-22 Crear la clase para ingresar una noticia en el sistema acerca de los trabajos 1
TI-02 que se realizan en la junta de agua.
HU-22 Crear el MVC para ingresar una noticia en el sistema acerca de los trabajos 1
TI-03 que se realizan en la junta de agua.
HU-22 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 ingresar una noticia en el sistema acerca de los trabajos que se realizan en
la junta de agua.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 23
ID: HU-23 Nombre de la Historia: Emitir detalles del pago del servicio de agua potable permitiendo
mantener la información del medidor actualizada.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 20/06/2019 Fecha Fin: 25/06/2019
Descripción: Como empleado quiero emitir el detalle de pago del servicio de agua potable para que los usuarios
tengan un comprobante del pago realizado.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-23 Verificar que los datos emitidos en el comprobante Exitosa Jonatan Cerda
PA-01 sean correctos.
HU-23 Verificar que los datos del comprobante estén Exitosa Jonatan Cerda
PA-02 completos.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-23 Crear sentencia SQL para emitir detalle de pago del servicio de agua 2
TI-01 potable.
HU-23 2
Crear la clase para emitir detalle de pago del servicio de agua potable.
TI-02
HU-23 3
Crear el MVC para emitir detalle de pago del servicio de agua potable.
TI-03
HU-23 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 emitir detalle de pago del servicio de agua potable.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 24
ID: HU-24 Nombre de la Historia: Ingresar la lectura del medidor, permitiendo registrar la lectura obtenida
en la base de datos actualizando automáticamente.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 25/06/2019 Fecha Fin: 27/06/2019
Descripción: Como empleado quiero ingresar la lectura del medidor para mantener actualizado este valor.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-24 Verificar que se ingrese correctamente el valor. Exitosa Jonatan Cerda
PA-01
HU-24 Verificar que los datos se actualicen automáticamente Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-24 2
Crear sentencia SQL para ingresar la lectura del medidor.
TI-01
HU-24 2
Crear la clase para ingresar la lectura del medidor.
TI-02
HU-24 3
Crear el MVC para ingresar la lectura del medidor.
TI-03
HU-24 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar la lectura del medidor.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 25
ID: HU-25 Nombre de la Historia: Realizar consultas de planillas para conocer los valores a pagar por el
consumo de agua potable.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 27/06/2019 Fecha Fin: 28/06/2019
Descripción: Como empleado quiero consultar las planillas para conocer cuál es el valor que los usuarios deben
pagar por el consumo de agua potable.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-25 Verificar que la información generada sea correcta. Exitosa Jonatan Cerda
PA-01
HU-25 Verificar que la información este completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-25 1
Crear sentencia SQL para consultar las planillas.
TI-01
HU-25 1
Crear la clase para consultar las planillas.
TI-02
HU-25 1
Crear el MVC para consultar las planillas.
TI-03
HU-25 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 consultar las planillas.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 26
ID: HU-26 Nombre de la Historia: Mostrar un reporte general de los procesos de recaudación de la junta de
agua para conocer detalles de los pagos recaudados.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 01/07/2019 Fecha Fin: 02/07/2019
Descripción: Como empleado quiero generar un reporte de la recaudación de la junta de agua para conocer todos
los detalles por día, semana y mes de los pagos recaudados.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-26 Verificar que la información generada sea correcta. Exitosa Jonatan Cerda
PA-01
HU-26 Verificar que la información este completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-26 Crear sentencia SQL para generar reporte de recaudación de la junta de 1
TI-01 agua.
HU-26 1
Crear la clase para generar reporte de recaudación de la junta de agua.
TI-02
HU-26 1
Crear el MVC para generar reporte de recaudación de la junta de agua.
TI-03
HU-26 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 generar reporte de recaudación de la junta de agua.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 27
ID: HU-27 Nombre de la Historia: Ingresar los medidores a la base de datos y hacer uso de la información.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 02/07/2019 Fecha Fin: 03/07/2019
Descripción: Como empleado quiero ingresar los medidores para controlar la cantidad de medidores que tiene la
junta de agua y usar esa información.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-27 Verificar que la información se ingrese correctamente. Exitosa Jonatan Cerda
PA-01
HU-27 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-27 1
Crear sentencia SQL para ingresar los medidores.
TI-01
HU-27 1
Crear la clase para ingresar los medidores.
TI-02
HU-27 1
Crear el MVC para ingresar los medidores.
TI-03
HU-27 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 ingresar los medidores.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 28
ID: HU-28 Nombre de la Historia: Actualizar los medidores a la base de datos y hacer uso de la información.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 03/07/2019 Fecha Fin: 04/07/2019
Descripción: Como empleado quiero actualizar los medidores para tener al día el control de la cantidad de
medidores que tiene la junta de agua y usar esa información.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-28 Verificar que la información se ingrese correctamente. Exitosa Jonatan Cerda
PA-01
HU-28 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-28 1
Crear sentencia SQL para actualizar los medidores.
TI-01
HU-28 1
Crear la clase para actualizar los medidores.
TI-02
HU-28 1
Crear el MVC para actualizar los medidores.
TI-03
HU-28 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 actualizar los medidores.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 29
ID: HU-29 Nombre de la Historia: Eliminar los medidores a la base de datos y hacer uso de la información.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 04/07/2019 Fecha Fin: 09/07/2019
Descripción: Como empleado quiero eliminar los medidores para quitar los medidores que ya no se estén
utilizando.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-29 Verificar que se elimine correctamente. Exitosa Jonatan Cerda
PA-01
HU-29 Verificar que se actualice correctamente los datos. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-29 2
Crear sentencia SQL para eliminar los medidores.
TI-01
HU-29 2
Crear la clase para eliminar los medidores.
TI-02
HU-29 3
Crear el MVC para eliminar los medidores.
TI-03
HU-29 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 eliminar los medidores.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 30
ID: HU-30 Nombre de la Historia: Realizar consultas de medidores disponibles de la junta de agua.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 7
Fecha Inicio: 09/07/2019 Fecha Fin: 10/07/2019
Descripción: Como empleado quiero consultar los medidores disponibles para usuarios que deseen adquirirlos.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-30 Verificar que la consulta sea correcta. Exitosa Jonatan Cerda
PA-01
HU-30 Verificar que la consulta generada este completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-30 2
Crear sentencia SQL para consultar medidores disponibles.
TI-01
HU-30 1
Crear la clase para consultar medidores disponibles.
TI-02
HU-30 2
Crear el MVC para consultar medidores disponibles.
TI-03
HU-30 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 consultar medidores disponibles.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 31
ID: HU-31 Nombre de la Historia: Eliminar las noticias que no sean relevantes del sistema de agua potable.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 7
Fecha Inicio: 11/07/2019 Fecha Fin: 12/07/2019
Descripción: Como empleado quiero eliminar noticias para tener las noticias al día y solo las relevantes.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-31 Verificar que la noticia se elimine correctamente. Exitosa Jonatan Cerda
PA-01
HU-31 Verificar que las noticias se actualicen. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-31 2
Crear sentencia SQL para eliminar las noticias que no sean relevantes.
TI-01
HU-31 1
Crear la clase para eliminar las noticias que no sean relevantes.
TI-02
HU-31 2
Crear el MVC para eliminar las noticias que no sean relevantes.
TI-03
HU-31 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 eliminar las noticias que no sean relevantes.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 32
ID: HU-32 Nombre de la Historia: Ingresar órdenes de instalación de medidores de los contribuyentes de la
junta de agua ya se sea por cortes o nuevos contribuyentes.
Usuario: empleado Sprint: 4
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 12/07/2019 Fecha Fin: 17/07/2019
Descripción: Como empleado quiero ingresar las órdenes de instalación de medidores para mantener un control y
atender lo más pronto posible estas peticiones.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-32 Verificar que la información se ingrese correctamente. Exitosa Jonatan Cerda
PA-01
HU-32 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-32 Crear sentencia SQL para ingresar órdenes de instalación de medidores. 2
TI-01
HU-32 2
Crear la clase para ingresar órdenes de instalación de medidores.
TI-02
HU-32 3
Crear el MVC para ingresar órdenes de instalación de medidores.
TI-03
HU-32 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 ingresar órdenes de instalación de medidores.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 33
ID: HU-33 Nombre de la Historia: Actualizar órdenes de instalación de medidores de los contribuyentes de
la junta de agua ya se sea por cortes o nuevos contribuyentes.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 17/07/2019 Fecha Fin: 18/07/2019
Descripción: Como empleado quiero actualizar las órdenes de instalación de medidores para tenerlos al día si es
necesario.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-33 Verificar que la información se actualice Exitosa Jonatan Cerda
PA-01 correctamente.
HU-33 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-33 1
Crear sentencia SQL para actualizar órdenes de instalación de medidores.
TI-01
HU-33 1
Crear la clase para ingresar actualizar de instalación de medidores.
TI-02
HU-33 1
Crear el MVC para ingresar actualizar de instalación de medidores.
TI-03
HU-33 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 actualizar órdenes de instalación de medidores.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 34
ID: HU-34 Nombre de la Historia: Eliminar órdenes de instalación de medidores de los contribuyentes de la
junta de agua ya se sea por cortes o nuevos contribuyentes.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 18/07/2019 Fecha Fin: 19/07/2019
Descripción: Como empleado quiero eliminar las órdenes de instalación de medidores para quitar los que ya no
existen.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-34 Verificar que se elimine correctamente. Exitosa Jonatan Cerda
PA-01
HU-34 Verificar que se actualice la información. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-34 1
Crear sentencia SQL para eliminar órdenes de instalación de medidores.
TI-01
HU-34 1
Crear la clase para eliminar actualizar de instalación de medidores.
TI-02
HU-34 1
Crear el MVC para eliminar actualizar de instalación de medidores.
TI-03
HU-34 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 eliminar órdenes de instalación de medidores.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 35
ID: HU-35 Nombre de la Historia: Modificar una noticia en el sistema acerca de los trabajos que se realizan
en la junta de agua.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 19/07/2019 Fecha Fin: 22/07/2019
Descripción: Como empleado quiero modificar las noticias para tener al día las novedades de la junta.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-35 Verificar que la noticia se modifique correctamente. Exitosa Jonatan Cerda
PA-01
HU-35 Verificar que las noticias se actualicen. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-35 Crear sentencia SQL para modificar una noticia en el sistema acerca de los 1
TI-01 trabajos que se realizan en la junta de agua.
HU-35 Crear la clase para modificar una noticia en el sistema acerca de los 1
TI-02 trabajos que se realizan en la junta de agua.
HU-35 Crear el MVC para modificar una noticia en el sistema acerca de los 1
TI-03 trabajos que se realizan en la junta de agua.
HU-35 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 modificar una noticia en el sistema acerca de los trabajos que se realizan en
la junta de agua
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 36
ID: HU-36 Nombre de la Historia: Visualizar un reporte estadístico por persona de las recaudaciones que sea
ha realizado en la junta de agua potable.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 12
Fecha Inicio: 23/07/2019 Fecha Fin: 25/07/2019
Descripción: Como empleado quiero visualizar un reporte por persona de las recaudaciones para tener registrados
quien a pagado el servicio y quien no.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-36 Verificar que la información generada sea correcta. Exitosa Jonatan Cerda
PA-01
HU-36 Verificar que la información este completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-36 Crear sentencia SQL para generar reporte estadístico por persona de las 1
TI-01 recaudaciones que sea ha realizado en la junta de agua potable.
HU-36 Crear la clase para generar reporte estadístico por persona de las 1
TI-02 recaudaciones que sea ha realizado en la junta de agua potable.
HU-36 Crear el MVC para generar reporte estadístico por persona de las 1
TI-03 recaudaciones que sea ha realizado en la junta de agua potable.
HU-36 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 generar reporte estadístico por persona de las recaudaciones que sea ha
realizado en la junta de agua potable.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 37
ID: HU-37 Nombre de la Historia: Ingresar productos al sistema de la junta administradora de agua potable.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 26/07/2019 Fecha Fin: 29/07/2019
Descripción: Como empleado quiero ingresar productos para controlar los productos que posee la junta
administradora de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-37 Verificar que la información ingresada sea correcta. Exitosa Jonatan Cerda
PA-01
HU-37 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-37 1
Crear sentencia SQL para ingresar productos.
TI-01
HU-37 1
Crear la clase para ingresar productos.
TI-02
HU-37 1
Crear el MVC para ingresar productos.
TI-03
HU-37 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 ingresar productos.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 38
ID: HU-38 Nombre de la Historia: Modificar producto al sistema de la junta administradora de agua potable.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 29/07/2019 Fecha Fin: 30/07/2019
Descripción: Como empleado quiero modificar productos para tener actualizados los productos que posee la junta
administradora de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-38 Verificar que la información ingresada sea correcta. Exitosa Jonatan Cerda
PA-01
HU-38 Verificar que no se ingrese datos duplicados. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-38 1
Crear sentencia SQL para modificar productos.
TI-01
HU-38 1
Crear la clase para modificar productos.
TI-02
HU-38 1
Crear el MVC para modificar productos.
TI-03
HU-38 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 modificar productos.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 39
ID: HU-39 Nombre de la Historia: Eliminar producto del sistema de la junta administradora de agua potable.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 10
(Alta/Media/Baja) Puntos Reales: 10
Fecha Inicio: 30/07/2019 Fecha Fin: 01/08/2019
Descripción: Como empleado quiero eliminar productos para quitar productos que ya no posee la junta
administradora de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-39 Verificar que la información se eliminó correctamente. Exitosa Jonatan Cerda
PA-01
HU-39 Verificar que la información se actualice Exitosa Jonatan Cerda
PA-02 correctamente.
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-39 2
Crear sentencia SQL para eliminar productos.
TI-01
HU-39 2
Crear la clase para eliminar productos.
TI-02
HU-39 3
Crear el MVC para eliminar productos.
TI-03
HU-39 Crear el acceso a datos, la lógica de negocios y los servicios web para 3
TI-04 eliminar productos.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 40
ID: HU-40 Nombre de la Historia: Visualizar los productos ingresado de la junta administradora de agua
potable.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 5
Fecha Inicio: 02/08/2019 Fecha Fin: 05/08/2019
Descripción: Como empleado quiero visualizar productos para controlar los productos que posee la junta
administradora de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-40 Verificar que la información visualizada sea correcta. Exitosa Jonatan Cerda
PA-01
HU-40 Verificar que la información este completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-40 1
Crear sentencia SQL para visualizar productos.
TI-01
HU-40 1
Crear la clase para visualizar productos.
TI-02
HU-40 1
Crear el MVC para visualizar productos.
TI-03
HU-40 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 visualizar productos.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 41
ID: HU-41 Nombre de la Historia: Realizar la gestión noticias y dar prioridad a la noticia importante de la
junta administradora de agua.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 20
(Alta/Media/Baja) Puntos Reales: 23
Fecha Inicio: 05/08/2019 Fecha Fin: 12/08/2019
Descripción: Como empleado quiero gestionar las noticias para priorizar las noticias de la junta administradora de
agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-41 Verificar las noticias se ingresen correctamente. Exitosa Jonatan Cerda
PA-01
HU-41 Verificar que se dé prioridad a una noticia. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-41 Crear sentencia SQL para gestionar noticias de la junta administradora de 5
TI-01 agua.
HU-41 5
Crear la clase para gestionar noticias de la junta administradora de agua.
TI-02
HU-41 6
Crear el MVC para gestionar noticias de la junta administradora de agua.
TI-03
HU-41 Crear el acceso a datos, la lógica de negocios y los servicios web para 7
TI-04 gestionar noticias de la junta administradora de agua.
Realizado por: Cerda Grefa, Jonatan. 2019
Historia de Usuario 42
ID: HU-42 Nombre de la Historia: Visualizar la utilidad de ingresos y gastos de la junta de agua.
Usuario: empleado Sprint: 5
Prioridad en el Negocio: Alta Puntos Estimados: 5
(Alta/Media/Baja) Puntos Reales: 6
Fecha Inicio: 13/08/2019 Fecha Fin: 14/08/2019
Descripción: Como empleado quiero visualizar un reporte de utilidades para un mejor control de los ingresos y
gastos de la junta administradora de agua.
Pruebas de Aceptación:
ID PA Criterio Estado Responsable
HU-42 Verificar que la información sea correcta. Exitosa Jonatan Cerda
PA-01
HU-42 Verificar que la información este completa. Exitosa Jonatan Cerda
PA-02
Tareas de Ingeniería
ID TI Descripción TI Esfuerzo
HU-42 Crear sentencia SQL para visualizar un reporte de utilidades de la junta 1
TI-01 administradora de agua.
HU-42 Crear la clase para visualizar un reporte de utilidades de la junta 1
TI-02 administradora de agua.
HU-42 Crear el MVC para visualizar un reporte de utilidades de la junta 2
TI-03 administradora de agua.
HU-42 Crear el acceso a datos, la lógica de negocios y los servicios web para 2
TI-04 visualizar un reporte de utilidades de la junta administradora de agua.
Realizado por: Cerda Grefa, Jonatan. 2019