• No results found

4.3 Proof of Concept

4.3.2 Visualization from Running PRADS in Eth1

Figura 7. D.U.C. Específico: Empleado Autor: Manuel Damián Robalino Camino

50  Descripción del Caso de Uso

Tabla 29. Descripción D.C.U. Empleados

Nombre: D.C.U. Específico: Gestionar Empleados

Actor: Administrador

Descripción: Describe el proceso de gestión de Empleados.

Flujo Principal: Eventos ACTOR Eventos SISTEMA

1. Comprobar los datos del Empleado que se ingresará en el sistema.

2. Ingresar los datos del Empleado a ingresar o editar.

2. Verifica que la cédula ingresada sea correcta y única, así como el correo y el nombre de Cuenta.

3. Realiza registro de datos del Empleado

3. Muestra pantalla de Registro si los datos fueron correctamente registrados 4. Almacenar los datos

registrados.

4. El Sistema Confirma el Almacenamiento Datos. 5. Solicitar la vista de los

empleados Ingresados

5. Desplegar en pantalla la lista de los empleados existentes en el sistema Precondición: El Administrador deberá iniciar sesión (loguearse) en el

sistema previo al proceso.

Postcondición: El Administrador habrá generado, editado o revisado un Empleado.

Presunción: La base de datos de usuarios está disponible. Autor: Manuel Damián Robalino Camino

51 D.C.U. Específicos: Facturación

Figura 8. D.C.U. Específico: Facturas Autor: Manuel Damián Robalino Camino  Descripción del Caso de Uso

Tabla 30. D.C.U. Específicos: Facturación

Nombre: D.C.U. Específico: Gestionar Facturas Actor: Secretario/Usuario

Descripción: Describe el proceso de gestión de Facturas.

Flujo Principal: Eventos ACTOR Eventos SISTEMA

1. Comprobar los datos del usuario y que importes o descuentos se aplicaran.

1. El sistema recolecta y almacena los datos de importes y descuentos, los medidores, registros y tarifas de la base de datos.

2. Buscar y seleccionar el medidor.

2. El sistema filtrara los registros de consumo únicamente del medidor seleccionado

3. Seleccionar el registro de consumo a facturar.

3. El sistema mostrara la ventana de facturación y las opciones de importes y descuentos, así como los métodos de pago.

52

3. Realiza registro de datos de la Factura.

3. El sistema almacena los datos de la factura y sus detalles en la base de datos, además bloquea la edición de estos y habilita el ingreso del número de la factura y su forma de pago.

4. Realiza el cobro e impresión de la factura para entregarla al usuario.

4. El sistema Confirma el pago de la factura y redirige a la ventana de impresión de la misma para el usuario. 5. Solicitar la vista de la factura

registrada del consumo.

5. Desplegar en pantalla la factura correspondiente al registro del consumo.

Precondición: El Empleado cuenta con permisos para realizar el control total o parcial de acciones en la Factura.

El Empleado deberá iniciar sesión (loguearse) en el sistema previo al proceso.

Postcondición: El usuario habrá generado, editado, revisado o impreso el registro de una Factura.

Presunción: La base de datos de registros, importes y descuentos, medidores y usuarios está disponible.

53 Diagrama de Clases

Figura 9. Diagrama de Clases

54 Diagrama Conceptual

Figura 10. Diagrama Conceptual Autor: Robalino Camino Manuel Damián

55 Diagrama Lógico

Figura 11. Diagrama Lógico

56 Diagrama Físico

Figura 12. Diagrama Físico

57 Modelo Navegacional

Figura 13. Modelo de Navegación Autor: Robalino Camino Manuel Damián

58 Modelo de Presentación

Diseño de la Interfaz

Figura 14. Modelo de Interfaz

Autor: Robalino Camino Manuel Damián

Figura 15. Modelo de Control de Medidores (ingreso) Autor: Robalino Camino Manuel Damián

59 Figura 16. Modelo de Tabla

Autor: Robalino Camino Manuel Damián

Figura 17. Modelo de Ingreso de Lecturas Autor: Robalino Camino Manuel Damián

60 Figura 18. Modelo de Factura

Autor: Robalino Camino Manuel Damián

Figura 19. Modelo de Vista Tarifas Autor: Robalino Camino Manuel Damián 3.2.3.- Pruebas

Una vez que se haya concluido el desarrollo del software, es necesario corroborar que este cumpla con los requisitos mencionados y que sobre todo,

61

satisfaga las necesidades de los usuarios para los que fue desarrollado, para ello se utiliza una serie de pruebas de caja blanca y caja negra.

Caja Blanca

Las pruebas de caja Blanca son esenciales para comprobar el funcionamiento y comportamiento del sistema a la hora de manejar registros, por ende, esta prueba se la aplicará directamente al ingreso de datos desde la capa intermedia o lógica de negocios y se evaluará el código Fuente.

Proceso de Consumo

El proceso de consumo almacena los datos numéricos correspondientes a los registros de consumo que asociados a los medidores.

Código

Figura 20. Código de agregar Registro Autor: Robalino Camino Manuel Damián

Proceso de Ingreso de Usuarios

En el ingreso o registro de usuarios se controla y gestiona la cantidad de usuarios en el sistema, así como sus deudas y otro tipo de datos.

62

Este proceso está dividido en subprocesos que se encargan de comprobar si los valores ingresados son correctos.

Código de verificación de ingreso de datos correctos

Figura 21. Código de Verificación de Datos Autor: Robalino Camino Manuel Damián

Código de Validación e ingreso de los Datos

Figura 22. Validación de Datos

63 Proceso de Ingreso de Empleados

En el registro o ingreso de empleados se controlan los roles de cada uno, quien lo ingreso, los datos básicos para identificar y diferenciar cada empleado dentro del sistema por lo que el bloque de código encargado se divide en varios subprocesos los cuales validaran la información ingresada a fin de evitar inconsistencias a la hora de llevar a cabo las tareas a las cuales están asignadas. El primer subproceso que se efectúa la comprobación de datos necesarios y la asignación de los datos al objeto con el que se procesara el ingreso.

Figura 23. Validación y Asignación de Datos para El Empleado Autor: Robalino Camino Manuel Damián

Validación de dato único

Después de comprobar que los datos son correctos se comprobará que los datos ingresados sean únicos, para así evitar que un empleado quede registrado dos veces en el sistema, garantizando así la integridad de los datos que se van a incluir en el sistema.

64

Figura 24. Validación de Dato único en Empleados Autor: Robalino Camino Manuel Damián

Encriptado e Ingreso de Datos en el sistema

A continuación de la validación de datos se procede a encriptar la contraseña para así asegurarse de que aunque accedan a los datos, no se pueda acceder a la contraseña, resguardando el acceso seguro al sistema para después guardar estos datos en el sistema.

Figura 25. Encriptación de contraseña e ingreso de Empleado Autor: Robalino Camino Manuel Damián

65

Proceso de autenticación de Empleado

Para asegurarse de que las cuentas que ingresan al sistema corran el riesgo de ser vulneradas debido al hecho de olvidar cerrar sesión, se utiliza la validación por Token con tiempo de Uso, el mismo que permite anular la manipulación de datos cuando este caduca, para así salvaguardar la integridad de los datos. Para ello se divide este proceso en varios Subprocesos, los mismos que se encargan de encriptar, desencriptar y permitir el acceso a la información.

Encriptar la Información

Para el correcto acceso a los datos, se encripta solo el usuario quien está accediendo a ellos, para decidir si se lo bloqueará o concederá.

Figura 26. Encriptado de Token

Autor: Robalino Camino Manuel Damián

66

Cuando se trata de acceder a una sección de los datos, es necesario comprobar que El Empleado cuente con los permisos necesarios, así que se desencripta el Token recibido y se comprueba el acceso.

Figura 27. Desencriptado de Token Autor: Robalino Camino Manuel Damián Permiso de Token

Posteriormente, se asigna la autenticación al sistema de enrutamiento para validar el acceso a la información, para ello se asigna la variable md_auth haciendo referencia al proceso de Autenticación.

67 Figura 28. Asignación de Autenticación Autor: Robalino Camino Manuel Damián

Resultados de las Pruebas de Caja Blanca

En base a los datos de pruebas recolectados tras la realización de las mismas, se concluye que el sistema está seguro en dichos procesos, pero cabe recalcar nuevamente que, estas pruebas no contienen la infinidad de posibilidades y acciones que se pueden producir en un entorno real, por ende, aún pueden existir vulnerabilidades haciendo que se corrijan a medida que se van presentando.

Tabla 31. Resultados de las Pruebas Funciones Estado de Sesión Validación de Ingreso Tiempo de Respuesta Código de Estado Ingreso de Consumo Token Valido Datos Válidos 75ms 201 Token Valido Datos Inválidos 41ms 401

68 Token Invalido Datos Válidos 16ms 403 Ingreso de Usuarios Token Valido Datos Válidos 73ms 201 Token Valido Datos Inválidos 35ms 401 Token Invalido Datos Válidos 14ms 403 Ingreso de Empleado Token Valido Datos Válidos 89ms 201 Token Valido Datos Inválidos 63ms 401 Token Invalido Datos Válidos 18ms 403 Autorización Sin Token Sesión Iniciada 43ms 200

Sin Token Sin Sesión Iniciada

35ms 404

Autor: Robalino Camino Manuel Damián Caja Negra

Las pruebas de caja Negra se realizan para comprobar el correcto funcionamiento del sistema y por ende se las aplica a las zonas principales del Sistema de información Web, es decir, al proceso de interacción usuario y sistema.

69 Proceso de Consumo

Análisis de Variables:

Tabla 32. Análisis de Variables: Consumo (continúa Anexo A) Nombre de

Entrada

Tipo de Entrada N. de Clases válidas N. de Clases inválidas Clave de medidor Cadena de caracteres Numéricos 1: valores cuyo largo sea entre 6

y 10, y que corresponda a un

medidor existente

2: valor por debajo y por encima del rango o clave sin medidor

Fecha de consumo Datos de tipo Fecha 1: valores mayores a la última fecha en caso de existir 2: valores repetidos o anteriores Lectura de consumo

Valores Numéricos 1: valores mayores o iguales a 1 y mayores al anterior en caso de existir 2: Valor negativo o inferior a la lectura anterior en caso de existir

Autor: Robalino Camino Manuel Damián Resultados:

Tabla 33. Resultado de Análisis: Consumo (Anexo A) Nombre de

Entrada

Casos de Entrada Acciones del Sistema Resultado Clave de

medidor

16700151 (válido) Muestra mensaje de medidor encontrado y la opción de ingreso de Fecha Satisfactorio 123456789012 (inválido)

Muestra alerta por ingreso Incorrecto

Satisfactorio 123 (inválido) Muestra alerta por Ingreso

Incorrecto

Satisfactorio Fecha de

consumo

Enero 2019 (válido. sin previos)

Muestra mensaje de fecha correcta y la opción de ingreso de lecturas Satisfactorio Enero 2019 (valido. previo diciembre 2018)

Muestra alerta por ingreso Incorrecto

70 Enero 2019

(inválido. previo febrero 2019)

Muestra alerta por Ingreso Incorrecto

Satisfactorio

Lectura de consumo

0 (inválido) Muestra alerta de Consumo negativo

Satisfactorio 1 (válido, sin

previos)

Muestra mensaje de lectura correcta y botón

ingresar

Satisfactorio

-1 (inválido) Muestra alerta de Consumo negativo

Satisfactorio 12 (válido con

previos)

Muestra mensaje de lectura correcta y botón

ingresar Satisfactorio 12 (inválido con previos) Mensaje de lectura incorrecta Satisfactorio Autor: Robalino Camino Manuel Damián

Proceso de Ingreso de Usuarios Análisis de Variables:

Tabla 34. Análisis de Variables: Usuarios (Continúa Anexo B) Nombre de

Entrada

Tipo de Entrada N. de Clases válidas N. de Clases inválidas Nombre y Apellido Cadena de Caracteres Alfabéticos 1: Valores con una longitud entre 3 y 24

2: Valor por debajo y por encima del rango o Números Cédula Cadena de Caracteres Numéricos 1: Valores con una longitud entre 10 y 13 caracteres 2: Valores repetidos o fuera de rango Dirección Cadena de Caracteres Alfanuméricos 1: Valores con una longitud entre 3 y 48

2: Valores por debajo y por encima del rango

71

Ejecución de Pruebas al Ingreso de usuarios con los datos:

Caso 1. Nombre y apellido: Nikely Erreyes, Cedula: 2100731005, Dirección: Avenida 1.

Figura 29. Prueba de Usuario

Autor: Robalino Camino Manuel Damián

72

Figura 30. Ingreso Incorrecto: Nombre con Números Autor: Robalino Camino Manuel Damián

Figura 31. Ingreso Incorrecto: Cédula Corta Autor: Robalino Camino Manuel Damián

Figura 32. Ingreso Incorrecto: Cédula Repetida Autor: Robalino Camino Manuel Damián

Figura 33. Ingreso Incorrecto: Dirección Corta Autor: Robalino Camino Manuel Damián

73

Resultados de las Pruebas de Caja Negra Tabla 35. Resultado de Análisis: Consumo (Anexo B)

Nombre de Entrada

Casos de Entrada Acciones del Sistema

Resultado Nombre y

Apellido

Nombre: Nikely Apellido: Erreyes (válido)

No muestra mensajes de error ni advertencias Satisfactorio Nombre: User123 Apellido: Test123 (inválido)

Muestra alerta por ingreso de datos numéricos Satisfactorio Nombre: As Apellido: Jorlasdows wesqwsdqrfguha (inválido)

Muestra alerta por Ingreso Incorrecto,

nombre corto y apellido largo

Satisfactorio

Cédula 2100731005 (válido) Muestra mensaje de cédula ingresada correcta

Satisfactorio

1600483946 (invalido bajo el límite)

Muestra alerta por ingreso Incorrecto,

cédula inválida

Satisfactorio

1600783946 (inválido repetido)

Muestra alerta por Ingreso Incorrecto, cédula repetida

Satisfactorio

Dirección Avenida 1 (válido) Muestra mensaje de lectura correcta

y botón ingresar

Satisfactorio

As (inválido) Muestra alerta de dirección Corta

Satisfactorio Avenida 15, calle de las

nacionalidades unidas barrio Obrero (inválido)

Muestra alerta de dirección demasiado Larga

Satisfactorio

Autor: Robalino Camino Manuel Damián Análisis de Resultados

En base a los resultados obtenidos bajo los criterios presentados se demuestra que los procesos están correctamente implementados, funcionales y cuentan con buenos tiempos de respuesta, cabe mencionar que estas pruebas no abarcan toda la gama de posibilidades existentes en cuanto a combinaciones de ingreso, por eso se ha seleccionado los casos en los que se pueda ingresar la

74

máxima cantidad de datos inválidos para así comprobar la reacción del sistema en caso de error.

CONCLUSIONES

 El acceso a los registros y procesos en el departamento contribuyo como una parte importante durante la realización del proyecto.

 El uso de Base de datos no relacionales permitió crear aplicaciones escalables y que puedan cambiar libremente y de forma sencilla su estructura para adaptarse a los requerimientos del usuario.

 El uso de tokens o llaves digitales permite asegurar la información que se está manejando en el sistema.

75 RECOMENDACIONES

 Se debe poner atención a los procesos internos, porque garantizan la transparencia de la información.

 Asegurar la escalabilidad de los sistemas para garantizar que estos se acoplen de acuerdo a las necesidades que vayan surgiendo dentro del departamento de Agua Potable.

 Se debe cambiar de forma periódica las claves de acceso o contraseñas del Empleado para mejorar la seguridad a la hora de iniciar sesión.

BIBLIOGRAFÍA

Agencia de Regulación y Control del Agua. (20 de Diciembre de 2017). DIR- ARCA-RG-006-2017. El Directorio de la Agencia de Regulación y Control del Agua. Quito, Pichincha, Ecuador.

Areitio, J. (2008). Seguridad de la información. Redes, informática y sistemas de información. Burgos: Editorial Paraninfo.

Arias, Á., & Durango, A. (2016). Ingeniería y Arquitectura del Software 2da Edición. Vigo - Galicia: IT Campus Academy.

Britch, D., & Dunn, C. (08 de Mayo de 2017). Microsoft® - Xamarin©. Obtenido de Xamarin© - The Model-View-ViewModel Pattern: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/enterprise- application-patterns/mvvm

Caldas, M. E., Reyes, A., & Heras, J. (2017). Gestión Administrativa (Empresa e iniciativa emprendedora). Madrid: Editex.

Castro, C. L., & Delgado, A. (6 de Enero de 2014). Visor de imágenes médicas digitales web. Obtenido de SCIELO: http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S1684-

18592014000100007

Chautard, A., Agius, A., & Eagle, A. (14 de Septiembre de 2016). Angular. Obtenido de Angular: https://angular.io/docs

Cordova, R. (2012). Proceso Administrativo. México: Red Tercer Milenio S.C. De los Ángeles Gil Estallo, M. ( 2004 ). Los sistemas de información en la

sociedad del conocimiento. Madrid: ESIC Editoria.

De Pablos Heredero, C. (2004). Informática y comunicaciones en la empresa.

Dias, J. (2016). Sistema de Informacion para Películas con AngularJS. Malaga: Universidad de Malaga.

Elizalde, L. (2018). Automatización contable como Herramienta Tecnológica para simplificar Procesos de Contabilidad en organizaciones. eumed.

Eslava Muñoz, V. J. (2016). El nuevo PHP. España: Bubok. Evan, H. (2016). Express in Action. Shelter Island: Manning.

Gray, J., & Reuter, A. (6 de Agosto de 2000). Transaccion Processing - Concepts And Techniques. San Francisco: Morgan Kaufmann Publishers Inc.

Obtenido de

https://web.archive.org/web/20000929041348/http://research.microsoft.c om/~gray/WICS_99_TP/01_WhirlwindTour.ppt

Harmon, P. (2007). Business Process Change. Ámsterdam: Elsevier.

Holmes, S. (2016). Getting MEAN with Mongo, Express, Angular, and Node.

Nueva York: Manning.

Jeston, J., & Neils, J. (2014). Business Process Management. Londres: Routledge.

Kendall, K. E. ( 2005 ). Análisis y diseño de sistemas. Madrid: Pearson Educación.

Luna, A. (2015). Proceso Administrativo. Guadalajara: Grupo Editorial Patria. Nieves, C., Ucán, J. P., & Menéndez, V. H. (2014). UWE en Sistema de

Recomendación de Objetos de Aprendizaje. Aplicando Ingeniería Web: Un Método en Caso de Estudio. Revista Latinoamericana de Ingenieria de Software, 137-143.

Oramas, J. (2015). La inteligencia de Negocios, un concepto Informático. Bogotá: U N O.

Pressman, R. (2016). Ingeniería del software: Un enfoque Práctico. San Francisco: McGraw Hill.

Ramírez, J. L. (2015). Sistemas de informacion gerencial e innovacion para el desarrollo de las organizaciones. Télématique: Revista Electrónica de Estudios Telemáticos, 201 -213.

Ramos, D. (2016). Desarrollo de Software. Plaza América, Vigo, España: IT Campus Academy.

Ramos, D., Noriega, R., Laínez, J. R., & Durango, A. (2017). Curso de Ingeniería del Software. Pontevedra: IT Campus Academy.

República del Ecuador. (2017). Todo una Vida. Plan Nacional del Buen vivir. Quito, Pichincha, Ecuador.

República del Ecuador. (1 de Agosto de 2018). Constitución de la República del Ecuador. Art.12. Quito, Pichincha, Ecuador: Republica del Ecuador. Rodríguez , Y., Castellanos, A., & Ramírez , Z. (2016). Gestion documental, de

informacion, del conocimiento e inteligencia organizacional. Revista cubana de información en ciencias de la salud , 19.

Rogers, M., Snell, J., William, K., & Borins, M. (13 de Diciembre de 2018).

NodeJS®. Obtenido de NodeJS® - Acerca de Nosotros: nodejs.org/es/about

Ryan, K., Ittycheria, D., & Schireson, M. (16 de Octubre de 2018). MongoDB. Obtenido de MongoDB Inc: https://www.mongodb.com/what-is-mongodb Van Der Henst, C. (17 de Octubre de 2011). Web 2.0 Summit Is a Wrap. Obtenido

de Oreilly Conferences:

https://conferences.oreilly.com/web2summit/web2011

Velazques, B., Ponce, V., & Coello, M. (2016). La Gestión Administrativa y Financiera, una perspectiva desde los Supermercados del Cantón Quevedo. Revista Empresarial, ICE-FEE-UCSG, 5.

ANEXOS

Diccionario de Datos Tabla 36. User (Usuario)

Nombre de Campo Tipo Tamaño Nulo Descripción _id String 24 No Clave Primaria

cedula String 13 No Cédula

nombre String 24 No Nombres

apellido String 24 No Apellidos

cuenta String 24 Si ID de Ingreso

contrase String 24 Si Contraseña

direccion String 48 No Dirección

image String 48 Si Imagen

role_user String 24 No Rol de usuario

telefono String 10 Si Teléfono

fecha_nacimiento String 10 Si Fecha de

Nacimiento

sexo String 24 Si Sexo o Género

activa Booleano - No Estado de Cuenta updated_at String 24 No Fecha de Edición updated_by String 24 No Usuario que Editó created_at String 24 No Fecha de Creación created_by String 24 No Usuario que Creó Fuente: Robalino Camino Manuel Damián

Tabla 37. Rate (Tarifa)

Nombre de Campo Tipo Tamaño Nulo Descripción _id String 24 No Clave Primaria tarifa String 24 No Nombre de la Tarifa

base Number 10 No Costo Base

percent_cost Booleano - No Selector de

porcentaje de R.M.U.V. updated_at String 24 No Fecha de Edición

updated_by String 24 No Usuario que Editó created_at String 24 No Fecha de Creación created_by String 24 No Usuario que Creó Fuente: Robalino Camino Manuel Damián

Tabla 38. Limits (limites)

Nombre de Campo Tipo Tamaño Nulo Descripción _id String 24 No Clave Primaria limit_from Number 12 No Limite Inicial

limit_to Number 12 No Limite Final

cost Number 10 No Costo por m³

excedidos

percent_cost Booleano - No Selector de

porcentaje de R.M.U.V. updated_at String 24 No Fecha de Edición updated_by String 24 No Usuario que Editó created_at String 24 No Fecha de Creación created_by String 24 No Usuario que Creó

rate_id String 24 no Clave foránea de la tarifa

Fuente: Robalino Camino Manuel Damián Tabla 39. Meter (medidor)

Nombre de Campo Tipo Tamaño Nulo Descripción _id String 24 No Clave Primaria direccion String 24 No Nombre de la Tarifa

clave Number 10 No Costo Base

image String 24 Si Imagen del croquis

user String 24 No Clave foránea de

usuario rate String 24 No Clave foránea de la

tarifa updated_at String 24 No Fecha de Edición updated_by String 24 No Usuario que Editó

created_at String 24 No Fecha de Creación created_by String 24 No Usuario que Creó Fuente: Robalino Camino Manuel Damián

Tabla 40. Register (registro)

Nombre de Campo Tipo Tamaño Nulo Descripción _id String 24 No Clave Primaria lectura Number 24 No Lectura registrada

consumo Number 10 No Consumo realizado

year Number 4 No Año de Registro

month Number 2 No Mes de Registro

subtotal Number 24 No Costo del Consumo del Registro

excessConsumo Number 24 Si Exceso de m³

Consumidos

excessCosto Number 24 Si Costo del Exceso

Consumido

excessM3 Number 24 Si Costo por m³

base Number 24 No Costo de la Base

heredado de la Tarifa cancelado Booleano - No Estado del pago de la