UNIVERSIDAD DE GUAYAQUILrepositorio.ug.edu.ec/bitstream/redug/24278/1/B... · ASD Desarrollo de...
Transcript of UNIVERSIDAD DE GUAYAQUILrepositorio.ug.edu.ec/bitstream/redug/24278/1/B... · ASD Desarrollo de...
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
Implementación de un aplicativo móvil Android,
para agendar cita médica en el dispensario
Sagrada Familia en la ciudad
de Guayaquil.
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR:
Alvarado Román Alexis Danny
González Pilay Daniela Denisse
TUTOR:
Ing. Darwin Cercado
GUAYAQUIL – ECUADOR
2017
REPOSITORIO NACIONAL EN CIENCIAS Y TECNOLOGÍA
FICHA DE REGISTRO DE TESIS
TÍTULO: “Implementación de un aplicativo móvil Android, para agendar cita médica en el
Dispensario Sagrada Familia en la ciudad de Guayaquil.”
REVISIONES
INSTITUCIÓN: Universidad de Guayaquil FACULTAD: Ciencias Matemáticas y
Físicas.
CARRERA: Ingeniería en Sistemas Computacionales
FECHA DE PUBLICACIÓN: 2017 Nº DE PÁGS:
ÁREA TEMÁTICA: Desarrollo de Software
PALABRAS CLAVES: Agendamiento, Aplicación, Metodología, Móvil.
RESUMEN: La necesidad de brindar una mejor atención a los pacientes del dispensario
médico Sagrada Familia de la ciudad de Guayaquil, llevó al desarrollo de una aplicación
móvil, permitiendo a las personas que se atienden en esta institución separar citas médicas
sin acudir al dispensario médico.
Nº DE REGISTRO(en base de datos): Nº DE CLASIFICACIÓN:
Nº
DIRECCIÓN URL(tesis en la web):
ADJUNTO PDF SI NO
CONTACTO CON AUTOR:
Alexis Danny Alvarado Román
Daniela Denisse González Pilay
Teléfono:
0981785622
0991676078
E-mail:
CONTACTO DE LA INSTITUCIÓN Nombre:
Teléfono:
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de titulación, “Implementación de un aplicativo
móvil Android, para agendar cita médica en el Dispensario Sagrada Familia en la
ciudad de Guayaquil” elaborado por el Sr. Alexis Danny Alvarado Román y la Srta.
Daniela Denisse González Pilay, Alumno no titulado de la Carrera de Ingeniería en
Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la
Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas,
me permito declarar que luego de haber orientado, estudiado y revisado, la Apruebo
en todas sus partes.
Atentamente
Ing. Darwin Cercado Barragán
TUTOR
II
DEDICATORIA
Dedico este trabajo de titulación a
mis padres Severo Alvarado y Anita
Román por haberme permitido
culminar esta meta anhelada desde
muy temprana edad.
III
AGRADECIMIENTO
Al dispensario Sagrada Familia
ubicado en la ciudad de Guayaquil,
por darme la confianza y ayuda
necesaria para el desarrollo de este
proyecto, al Ing. Darwin Cercado por
su esfuerzo, dedicación y
colaboración siendo el tutor de tesis.
IV
TRIBUNAL PROYECTO DE TITULACIÓN
Ing. Eduardo Santos Baquerizo, M.Sc.
DECANO DE LA FACULTAD
CIENCIAS MATEMATICAS Y
FISICAS
Ing. Abel Alarcón Salvatierra, Mgs.
DIRECTOR DE LA CARRERA DE
INGENIERÍA EN SISTEMAS
COMPUTACIONALES
Ing. Oscar Benavides, M.Sc.
PROFESOR REVISOR DEL ÁREA
TRIBUNAL
Ing. Darwin Cercado Barragán
PROFESOR TUTOR DEL
PROYECTO DE TITULACION
Ab. Juan Chávez Atocha, Esp.
SECRETARIO
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de
este Proyecto de Titulación, me
corresponden exclusivamente; y el
patrimonio intelectual de la misma a la
UNIVERSIDAD DE GUAYAQUIL”
Alexis Danny Alvarado Román
Daniela Denisse González Pilay
II
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
IMPLEMENTACIÓN DE UN APLICATIVO MÓVIL ANDROID,
PARA AGENDAR CITA MÉDICA EN EL DISPENSARIO
SAGRADA FAMILIA EN LA CIUDAD
DE GUAYAQUIL
Proyecto de Titulación que se presenta como requisito para optar por el
título de INGENIERO EN SISTEMAS COMPUTACIONALES
Autor: ALVARADO ROMÁN ALEXIS DANNY
C.I.: 0930636543
Autora: GONZÁLEZ PILAY DANIELA DENISSE
C.I.: 0951124908
Tutor: Ing. Darwin Cercado_
Guayaquil, 07 de diciembre de 2017
III
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del proyecto de titulación, nombrado por el Consejo
Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de
Guayaquil.
CERTIFICO:
Que he analizado el Proyecto de Titulación presentado por los estudiantes
Alexis Danny Alvarado Román y Daniela Denisse González Pilay, como requisito
previo para optar por el título de Ingeniero en Sistemas Computacionales cuyo
problema es:
“IMPLEMENTACIÓN DE UN APLICATIVO MÓVIL ANDROID, PARA
AGENDAR CITA MÉDICA EN EL DISPENSARIO SAGRADA FAMILIA EN LA
CIUDAD DE GUAYAQUIL”.
Considero aprobado el trabajo en su totalidad.
Presentado por:
Alexis Danny Alvarado Román C.I.: 0930636543
Daniela Denisse González Pilay C.I.: 0951124908
Tutor: _Ing. Darwin Cercado Barragán_
Guayaquil, 07 de diciembre de 2017
IV
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES.
Autorización para Publicación de Proyecto de Titulación en Formato
Digital
1. Identificación del Proyecto de Titulación
Nombre Alumno: Alvarado Román Alexis Danny.
Dirección: Km. 7 y medio vía a Daule. Coop. Gallegos Lara.
Teléfono: 0981785622. E-mail: [email protected]
Nombre Alumno: González Pilay Daniela Denisse.
Dirección: Bastión Popular Bloque Nº 10D.
Teléfono: 0991676078. E-mail: [email protected]
Facultad: Ciencias Matemáticas y Físicas.
Carrera: Ingeniería en Sistemas Computacionales.
Proyecto de titulación al que opta: Ingeniero en Sistemas Computacionales.
Profesor guía: Ing. Darwin Cercado Barragán.
Título del Proyecto de titulación:
Implementación de un aplicativo móvil Android, para agendar cita médica en el
dispensario sagrada Familia en la ciudad de Guayaquil.
Tema del Proyecto de Titulación: Aplicativo móvil para agendar cita médica.
V
2. Autorización de publicación de versión electrónica del proyecto de
titulación
A través de este medio autorizo a la Biblioteca de la Universidad de
Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la
versión electrónica de este Proyecto de titulación.
Publicación electrónica:
Inmediata Después de 1 año
Firma Alumno:
3. Forma de envío:
El texto del proyecto de titulación debe ser enviado en formato Word, como
archivo .Doc. O .RTF y. Puf para PC. Las imágenes que la acompañen pueden
ser: gis, .jpg o .TIFF.
DVDROM CDROM
IX
ÍNDICE GENERAL
DEDICATORIA ..................................................................................................... II
AGRADECIMIENTO ........................................................................................... III ÍNDICE DE CUADROS ................................................................................. XVII
ÍNDICE DE ILUSTRACIONES ....................................................................... XIV ÍNDICE DE GRÁFICOS .................................................................................. XVI RESUMEN ...................................................................................................... XVII
ABSTRACT .................................................................................................... XVIII
INTRODUCCIÓN ................................................................................................ 13
CAPÍTULO I ......................................................................................................... 14
PLANTEAMIENTO DEL PROBLEMA ................................................................. 1.1. Ubicación del problema en un contexto. .............................................. 1.2 Situación conflicto nudos críticos....................................................... 15
1.3 Formulación del problema. ................................................................. 16
1.4 Evaluación del problema. ........................................................................ 1.5 Descripción del problema. .................................................................. 17
1.6 Árbol del problema. .................................................................................. 1.7 Variables. ............................................................................................... 18
1.7.1 Administración de citas médicas. ................................................... 1.7.2 Seguimiento a la asistencia de consulta médica. ........................
1.8 Objetivos. ................................................................................................... 1.8.2 Objetivos específicos. .................................................................. 18
1.9 Alcances del problema. ........................................................................... 1.10 Metodología del proyecto. ............................................................... 20
CAPÍTULO II ........................................................................................................ 23
MARCO TEÓRICO .................................................................................................
2.1. Antecedentes del estudio. .......................................................................... 2.2. Fundamentación legal. ............................................................................ 2.3. Pregunta científica a contestarse. ..................................................... 24
2.4. Definiciones conceptuales. ..................................................................... 2.5. Metodologías de desarrollo de software........................................... 25
2.5.1. Métodos pesados de desarrollo de software. ............................... 2.5.2. Métodos ágiles de desarrollo de software. ............................... 28 2.5. Diferencias entre metodología ágil y metodología pesada. ... 39
2.6. Desarrollo de aplicaciones para dispositivos móviles. ................ 2.7.1. Android. .............................................................................................. 2.7.2. iOS de Apple. ................................................................................. 40
2.7.3. Windows phone de Microsoft. ......................................................... 2.8. HERRAMIENTA DE DESARROLLO. ......................................................
2.8.1. Intelligent Ide. ....................................................................................... 2.8.2. Postman. ........................................................................................ 41
2.9 Gestor de Base de Datos. ................................................................... 42
2.9.1. Sql server 2012. ................................................................................
X
2.9.2. Servicio web. .................................................................................. 43
2.9.3. Spring framework. ............................................................................. 2.9.4. Spring boot. .................................................................................... 46
2.9.5. Spring security. .............................................................................. 47 2.9.6. Hibernate. ....................................................................................... 48
2.9.7. Soap. ............................................................................................... 49
2.9.8. Json. .................................................................................................... 2.10. Diagramas UML. ............................................................................... 52
2.11. Metodología del proyecto. ............................................................... 53
2.12. Tipo de investigación. .......................................................................... 2.13. Enfoque de la investigación. ........................................................... 54
2.14. Técnicas de investigación. .................................................................. 2.15. Población y muestra. ............................................................................
CAPÍTULO III ....................................................................................................... 55
PROPUESTA TECNOLÓGICA ............................................................................
3.1. Análisis de factibilidad. ............................................................................... 3.2. Factibilidad operacional. ............................................................................ 3.3. Factibilidad técnica. .............................................................................. 56
3.3.1. Software. ............................................................................................ 3.3.2. Hardware. ....................................................................................... 57
3.4. Factibilidad legal. ...................................................................................... 3.5. Factibilidad económica. ........................................................................... 3.6. Etapas de la metodología del proyecto. ............................................... 3.7. Análisis de los requisitos del sistema. .............................................. 59
3.7.1. Técnicas utilizadas. .......................................................................... 3.7.2. Requerimientos funcionales. ....................................................... 59
3.7.3. Requerimientos no funcionales. ..................................................... 3.8. Fuentes. ................................................................................................. 60
3.8.1. Web Service. ...................................................................................... 3.8.2. Clases controller. .............................................................................. 3.8.3. Clases entities. .............................................................................. 62
3.8.4. Clases services. ................................................................................ 3.8.5. Clases repository. ......................................................................... 63
3.9. Proyecto Android Studio. ........................................................................ 3.9.1. Login. .................................................................................................. 3.9.2. Sign_in. ........................................................................................... 65
3.9.3. Appointment. .................................................................................. 65
3.9.4. Services. ............................................................................................. 3.9.5. Entities. ........................................................................................... 66
3.10. Diagrama de casos de uso. ............................................................ 69
3.11. Diagrama de secuencia. .................................................................. 70
3.12. Modelo de datos entidad-relación. ................................................. 71
3.13. Entregables del proyecto. .................................................................... 3.13.1. Manual de usuario. ........................................................................ 3.13.2. Aplicación móvil en Play Store. ...................................................
XI
3.13.3. Criterios de validación de la propuesta...................................... 3.14. Recopilación de datos. ..................................................................... 79
3.14.1. Calculo de la muestra. .............................................................. 80
3.14.2. Prueba de usabilidad. ............................................................... 81 CAPÍTULO IV ...................................................................................................... 87
CRITERIOS DE ACEPTACIÓN DEL PRODUCTO O SERVICIO .................. 4.1. Pruebas de aceptación............................................................................... 4.2. Informe de aseguramiento de la calidad para productos de software/hardware. ............................................................................................. 4.3. Conclusiones. ........................................................................................ 88
4.4. Recomendaciones. .............................................................................. 89
ANEXOS ............................................................................................................... 92 ANEXO 1. ......................................................................................................... 92
Encuestas para realizar el levantamiento de información en el dispensario Sagrada Familia. ............................................................................ ANEXO 2. ......................................................................................................... 94
Diagrama de Gantt de la aplicación móvil de agendamiento de citas médicas. ...........................................................................................................
ANEXO 3. ......................................................................................................... 97
Manual de usuario. ......................................................................................... Agendar cita médica. .............................................................................................. Consultar cita médica. ........................................................................................ 98
Modificar cita médica. ......................................................................................... 99
Registrar paciente. ............................................................................................ 100 Modificar datos del paciente. .......................................................................... 101
Restablecer contraseña. .................................................................................. 102
Cambiar contraseña ............................................................................................... Cancelar cita ...................................................................................................... 103
ANEXO 4. ....................................................................................................... 104
Manual técnico. ............................................................................................... Servicio web. ............................................................................................................
Clase controller. .................................................................................................. DiaryController. - Permite acceder a los endpoint, dando acceso para agendar citas médicas. ..................................................................................
Clases entities. .............................................................................................. 105
Clases services. ............................................................................................ 106
Clases repository. ............................................................................................... Proyecto Android Studio. ................................................................................. 107
Login. .................................................................................................................... Sign_in. ........................................................................................................... 108
Appointment. .................................................................................................. 109
Services. ............................................................................................................... Entities. ........................................................................................................... 110
ANEXO 5. ....................................................................................................... 112
Evidencia de encuestas. ................................................................................
ABREVIATURAS
ABP Aprendizaje basado en problemas.
AOP Programación orientada aspectos.
APP Aplicación.
ASD Desarrollo de software adaptativo.
CC.MM.FF. Facultad de Ciencias Matemáticas y Físicas.
DSDM Desarrollo de sistemas dinámicos.
FDD Desarrollo impulsado por características.
FTP Protocolo de transferencia de archivos.
HQL Lenguaje de consulta de hibernación.
HTML Lenguaje de marca de salida de hyper texto.
HTTP Protocolo de transferencia de hyper texto.
IBM Máquinas de negocios internacionales.
ING. Ingeniero.
MSC. Master.
MSF Microsoft solutions framework.
ORM Mapeo objeto relacional.
RUP Proceso racional unificado.
SMTP Protocolo simple de transferencia de correo.
TCP Protocolo de control de transmisión.
UDDI Descripción, descubrimiento e integración universales.
UG Universidad de Guayaquil.
URL Localizador de fuente uniforme.
WS-I Interoperabilidad de servicios web.
WSDL Lenguaje de descripción de servicios web.
WSIL Lenguaje de inspección de servicios web.
WWW World wide web (red mundial).
XML Lenguaje de marcado extensible.
XP Extreme Programming.
SIMBOLOGÍA
s Desviación estándar.
e Error.
E Espacio muestral.
E(Y) Esperanza matemática de la v.a. y.
s Estimador de la desviación estándar.
XIII
ÍNDICE DE CUADROS
Tabla 1: Causas y consecuencias del problema. .......................................... 15
Tabla 2: Delimitación del problema. ..................................................................... Tabla 3: Diferencias entre metodología ágil y pesada. ................................. 39
Tabla 4: Requisitos para Windows. .................................................................. 41 Tabla 5: Requisitos para Linux. ............................................................................ Tabla 6: Software. ............................................................................................... 56
Tabla 7: Hardware. .............................................................................................. 57
Tabla 8: Presupuesto ......................................................................................... 58
Tabla 9: Requerimientos funcionales. ............................................................. 59 Tabla 10: Requerimientos no funcionales. .......................................................... Tabla 11: Requisitos funcionales. ..................................................................... 72
Tabla 12: Registro de pacientes. .......................................................................... Tabla 13: Modificación de datos personales. .................................................. 73 Tabla 14: Agendamiento de citas médicas. .................................................... 74 Tabla 15: Modificación de citas médicas. ........................................................ 75
Tabla 16: Consultar citas médicas. .................................................................. 76 Tabla 17: Cancelar citas médicas .................................................................... 77
Tabla 18: Cambiar contraseña.......................................................................... 78 Tabla 19: Población del Dispensario Sagrada Familia. ................................ 79
Tabla 20: Prueba de aceptación. ...................................................................... 87
XIV
ÍNDICE DE ILUSTRACIONES
Ilustración 1: Fases del proceso unificado de desarrollo. ............................ 27
Ilustración 2: Fases del MSF. ............................................................................ 28 Ilustración 3: Proceso XP. ................................................................................. 32
Ilustración 4: Reglas de la metodología kanban. ........................................... 33 Ilustración 5: Proceso Scrum. ........................................................................... 38
Ilustración 6: Interfaz gráfica de Postman....................................................... 42 Ilustración 7: Marco de trabajo de Spring Framework. ................................. 44
Ilustración 8: Vista de un flujo en ejecución. .................................................. 45
Ilustración 9: Secuencia de un flujo de aplicación en Spring Framework. 46 Ilustración 10: Arquitectura ORM. .................................................................... 48
Ilustración 11: Relaciones entre SOAP, UDDI, WSIL, WSDL. .................... 49
Ilustración 12: Json, forma de Object. ............................................................. 50
Ilustración 13: Json, forma de Array. ................................................................... Ilustración 14: Json, forma de Value. .............................................................. 51
Ilustración 15: Json, forma de String. .................................................................. Ilustración 16: Json, forma de Number. .......................................................... 52 Ilustración 17: Arquitectura del web Service. ................................................. 60
Ilustración 18: Clase doctorcontroller. ................................................................. Ilustración 19: Clase patientcontroller. ............................................................ 61
Ilustración 20: Clase Specialtycontroller. ............................................................ Ilustración 21: Directorio de Login. ................................................................... 63
Ilustración 22: Clase LoginInteractorImpl. ....................................................... 64
Ilustración 23: Directorio de Sign_in. ................................................................... Ilustración 24: Directorio de Services. ............................................................. 66
Ilustración 25: Directorio de Entities. ................................................................... Ilustración 26: Clase de Authentication. .............................................................. Ilustración 27: Clase de User. ........................................................................... 67 Ilustración 28: Diagrama de casos de uso. ...................................................... 69 Ilustración 29: Diagrama de secuencia. .......................................................... 70
Ilustración 30: Modelo en entidad relacional. ................................................. 71 Ilustración 31: Registro de paciente................................................................. 73
Ilustración 32: Modificar perfil. .......................................................................... 74
Ilustración 33: Agendamiento de citas médicas............................................. 75
Ilustración 34: Modificar cita médica. ............................................................... 76 Ilustración 35: Consultar cita. ............................................................................ 77 Ilustración 36: Cancelar cita médica ................................................................ 78
Ilustración 37: Cambio de contraseña ............................................................. 79 Ilustración 38: Acta de aceptación del proyecto. ........................................... 84
Ilustración 39: Acta de aceptación. .................................................................. 85 Ilustración 40: Acta de aceptación. .................................................................. 86
Ilustración 41: Encuesta. .................................................................................... 92
XV
Ilustración 42: Encuesta. .................................................................................... 93 Ilustración 43: Cronograma de actividades 1. ................................................ 94
Ilustración 44: Cronograma de actividades 2. .................................................... Ilustración 45: Cronograma de actividades 3. ................................................ 95
Ilustración 46: Cronograma de actividades 5. .................................................... Ilustración 47: Cronograma de actividades 6. ................................................ 96
Ilustración 48: Cronograma de actividades 7. .................................................... Ilustración 49: Agendar cita médica. ................................................................ 98 Ilustración 50: Consultar cita médica. .............................................................. 99
Ilustración 51: Modificar cita médica. ............................................................. 100
Ilustración 52: Registrar paciente. .................................................................. 101 Ilustración 53: Modificar paciente. .................................................................. 101
Ilustración 54: Restablecer contraseña ......................................................... 102 Ilustración 55: Cambiar contraseña ............................................................... 103
Ilustración 56: Cancelar cita ............................................................................ 103 Ilustración 57: Clase doctorcontroller. ........................................................... 104
Ilustración 58: Clase patientcontroller. ................................................................ Ilustración 59: Clase Specialtycontroller. ...................................................... 105
Ilustración 60: Directorio de Login. ................................................................. 107
Ilustración 61: Clase LoginInteractorImpl. ........................................................... Ilustración 62: Directorio de Sign_in. ............................................................. 108
Ilustración 63: Directorio de Services. ........................................................... 110
Ilustración 64: Directorio de Entities. ................................................................... Ilustración 65: Clase de Authentication. .............................................................. Ilustración 66: Clase de User. ......................................................................... 111
Ilustración 67: Realización de encuestas. ..................................................... 112
Ilustración 68: Realización de encuestas. ..................................................... 113
Ilustración 69: Realización de encuestas. ........................................................... Ilustración 70: Realización de encuestas. ........................................................... Ilustración 71: Realización de encuestas. ........................................................... Ilustración 72: Realización de encuestas. ............................................................
XVI
ÍNDICE DE GRÁFICOS
Gráfico 1: Población del Dispensario Sagrada Familia. .................................... 80 Gráfico 2: Pregunta 1. ...................................................................................... 81 Gráfico 3: Pregunta 2. .......................................................................................... Gráfico 4: Pregunta 3. ...................................................................................... 82 Gráfico 5: Pregunta 4. .......................................................................................... Gráfico 6: Pregunta 5. ...................................................................................... 83
XVII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Implementación de un aplicativo móvil Android,
para agendar cita médica en el dispensario
Sagrada Familia en la ciudad
de Guayaquil.
RESUMEN
El Dispensario Sagrada Familia de la ciudad de Guayaquil, cuenta
con agendamiento de citas médicas que permiten a los pacientes separar
un turno para ser atendidos por el doctor de su preferencia dentro de los
horarios establecidos; sin embargo, esta modalidad hasta el periodo 2017
se ha manejado de manera presencial, causando que los pacientes
madruguen y realicen largas filas para obtener una cita. Es por ello que
surge la necesidad de desarrollar una aplicación móvil que permita a los
pacientes agendar citas médicas desde el lugar donde se encuentren, por
medio de su teléfono inteligente y acceso a internet. El desarrollo del
mencionado proyecto se estimó en el análisis de las metodologías y
herramientas tecnológicas que se adapten a las necesidades surgidas en
la institución. El área de estudio muestra una alta aceptación de la
aplicación por parte de los usuarios, por las comodidades que brindará.
Palabras claves: aplicación, agendamiento, metodología, móvil,
tecnología.
Autores: Alvarado Román Alexis
Daniela González Pilay
Tutor: Ing. Darwin Cercado
XVIII
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
Implementation of a mobile application Android, for
scheduling medical appointments at the clinic
Sagrada Familia in the City
of Guayaquil
ABSTRACT
The Sagrada Familia Dispensary of Guayaquil city, have medical
appointments which allow patients to separate an appointment to be
attended by the doctor of their preference within the established
schedules; however, this kind of service has been handled presential all
2017, causing patients to wake up early and make long queues to get an
appointment. That is why there's the need to develop a mobile application
that allows patients to schedule medical appointments from wherever they
are, through their smartphone and internet access. The development of
this project was estimated with the analysis of methodologies and
technological tools, which adapt to the necessities of this institution. The
study area shows a high acceptance of the application by the users, for
the amenities that it will provide.
Keywords: application, scheduling, methodology, mobile, technology
Autores: Alvarado Román Alexis
Daniela González Pilay
Tutor: Ing. Darwin Cercado
13
INTRODUCCIÓN
El presente proyecto de titulación consiste en desarrollar e implementar
una aplicación móvil, para agendar citas médicas en el Dispensario Sagrada
Familia ubicado en la ciudad de Guayaquil.
En el periodo del año 2017 el establecimiento cuenta con el agendamiento
de citas de manera presencial, este método causa molestias en los pacientes,
debido al tiempo de espera para poder obtener la cita médica, y ser atendidos.
El espacio con el que cuenta el dispensario no es el óptimo debido al
incremento de pacientes que acuden diariamente a la institución, siendo motivo
para que los usuarios se vean en la necesidad de esperar fuera del dispensario
en algunas ocasiones.
Este proceso presencial conlleva una serie de pasos que arrebatan un
tiempo prudencial al paciente en su espera, sin poder realizar alguna actividad
cotidiana.
La presente propuesta pretenderá mejorar la atención de los pacientes,
brindando un servicio de agendamiento, modificación y consulta de citas
médicas, mediante una aplicación móvil con la finalidad de cubrir las
necesidades de cierto grupo de pacientes que no puedan acudir de forma
presencial al dispensario para separar una cita con el doctor y horarios de su
preferencia, que se encuentren registrados en la base de datos que proporciona
el establecimiento médico, puesto que los médicos que laboran en mencionada
empresa, no cuentan con un horario fijo.
Esta aplicación contará con envió de notificaciones que permitan
recordarle al paciente que ha realizado el agendamiento de una cita médica.
Evitando así las largas filas y la pérdida de tiempo de los pacientes que
pueden utilizar para realizar otras actividades, debido a que el agendamiento lo
podrá realizar mediante su teléfono inteligente desde cualquier lugar que se
encuentre y cuente con acceso a internet.
14
CAPÍTULO I
PLANTEAMIENTO DEL PROBLEMA
IMPLEMENTACIÓN DE UN APLICATIVO MÓVIL ANDROID,
PARA AGENDAR CITA MÉDICA EN EL DISPENSARIO
SAGRADA FAMILIA EN LA CIUDAD
DE GUAYAQUIL
1.1. Ubicación del problema en un contexto.
El dispensario Sagrada Familia ubicada en la ciudad de Guayaquil es una
fundación sin fines de lucro, la cual cuenta con un equipo de médicos
profesionales con nacionalidad ecuatoriana y extranjera, además tienen equipos
de última generación para sus labores.
Por el año 2015 la empresa daba a conocer sus servicios mediante
llamadas telefónicas a los clientes que se encontraban registrados en su base de
datos.
Para el periodo junio del 2017, cuenta con un software de escritorio con
módulos para agendar citas médicas, registrar pacientes y su respectiva sección
de cobro de los servicios ofrecidos. Poco a poco ellos migran la información que
tienen físicamente en forma digital. Además, por el incremento de los usuarios
en ésta empresa, obligan indirectamente a cambiar la tecnología en la
infraestructura de almacenamiento de datos que tienen, para un mejor
desempeño.
En el presente año 2017, están implementando una página web para dar a
conocer sus servicios y también la disponibilidad de los doctores. La cual cuenta
con el siguiente enlace: http://dispensariosagradafamilia.com.ec/.
15
La asistencia de numerosos pacientes que desean separar citas médicas
en el dispensario causa molestias en los mismos, debido al reducido espacio
físico, con el desarrollo de un aplicativo móvil se pretende solucionar el
inconveniente mencionado e incrementar aún más la clientela, tomando en
cuenta que el usuario ahorrará tiempo al asistir al dispensario.
1.2 Situación conflicto nudos críticos.
El principal problema que existe es la afluencia elevada de personas para
poder agendar una cita médica desde muy temprano en la mañana, y debido al
reducido espacio físico con que cuentan en esa área del dispensario los
pacientes se ven obligados a esperar fuera del mismo.
Tabla 1: Causas y consecuencias del problema.
Causas Consecuencia
La falta de un sistema automático vía
web o vía móvil que ayude a los
pacientes ver la disponibilidad del
doctor.
El usuario obligatoriamente debe
acudir al lugar para poder separar su
cita en el horario que el doctor tenga
disponible.
Los médicos y/o especialistas que
ofrecen sus servicios dentro de esta
empresa, tienen cupos limitados para
la atención a los usuarios.
Antes de separar una cita médica, el
paciente desconoce la disponibilidad
del especialista con el que se hará
tratar.
La gran cantidad de pacientes que
acuden al dispensario para separar
una cita médica.
Incomodidad de los pacientes al
momento de esperar para poder
agendar una cita.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Dispensario Sagrada Familia de Guayaquil.
Tabla 2: Delimitación del problema.
Campo Administrativo y control Área Tecnológico. Aspecto Desarrollo de software. Tema Aplicación móvil para agendar citas médicas.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
16
1.3 Formulación del problema.
¿La atención al cliente mejorará con la implementación de una aplicación
móvil que permita agendar citas médicas?
1.4 Evaluación del problema.
La falta de una herramienta tecnológica, causa que el paciente del
dispensario Sagrada Familia de la ciudad de Guayaquil, no este informado de las
novedades, las nuevas especialidades médicas y disponibilidad del doctor, sin
que tenga que acudir personalmente al establecimiento.
Uno de los factores que permite que se lleve a cabo este proyecto es el
incremento continuo de pacientes que tiene el dispensario Sagrada Familia,
minimizando las problemáticas ya mencionadas anteriormente.
Los aspectos generales de evaluación son:
Delimitado: La falta de información de los servicios y actividades que el
dispensario ofrece a los pacientes en la ciudad de Guayaquil.
Claro: Los módulos del aplicativo móvil serán desarrollados con un interfaz
amigable para una mayor interacción con el usuario final.
Relevante: El proyecto que se realizará, es importante para los clientes de
este establecimiento, ya que se pretende un mejoramiento en el servicio
para separar una cita médica con una interfaz amigable y facilidades de
acceso que se procurará implementar.
Original: El software que se está desarrollando será un nuevo tipo de
implementación en el establecimiento para minimizar la pérdida de
tiempo que emplean los pacientes a diario para ser atendido por uno de
los especialistas del dispensario Sagrada Familia de la ciudad de
Guayaquil.
Factible: El desarrollo de este aplicativo es viable considerando la
infraestructura tecnológica con la que cuentan; esta implementación no
tendrá costo alguno para el dispensario Sagrada Familia ni para los
pacientes que decidan utilizar la aplicación.
Identifica los productos esperados: Una aplicación móvil para el sistema
operativo Android que ayude a los pacientes a separar una cita médica,
17
en la especialidad y horario que se encuentren disponibles, brindándole
una mejor atención a los usuarios.
1.5 Descripción del problema.
Durante el periodo 2017 el dispensario Sagrada Familia cuenta
con un sistema manual para agendar una cita médica, lo cual provoca que los
usuarios se vean en la necesidad de acudir al dispensario con mucho tiempo de
anticipación, causando molestias a los usuarios, ya que utilizan su tiempo
dedicado en otras actividades para la espera de un turno.
1.6 Árbol del problema.
Pacientes deben acudir con mucho tiempo de anticipación al dispensario.
Los pacientes desconocen si el doctor de su interés cuenta con cupos disponibles.
Búsqueda física del historial médico.
Proceso manual para
solicitar turnos.
No cuentan con una app móvil que permita agendar una cita desde cualquier parte que se encuentre el paciente.
Cupo de pacientes limitado para cada médico.
Proceso de apertura de historial clínico manual.
Pérdida de tiempo para el
paciente.
18
1.7 Variables.
1.7.1 Administración de citas médicas.
Permitirá al paciente poder elegir entre las diferentes especialidades y
doctores que tiene el dispensario Sagrada Familia, dependerá de las
actualizaciones de disponibilidad, que tiene el doctor para que no haya problema
en el momento de agendar citas médicas. En este módulo, estará integrado el
servicio de notificaciones al correo electrónico que permitirá al usuario
informarse de la consulta agendada.
1.7.2 Seguimiento a la asistencia de consulta médica.
Se busca minimizar la pérdida de consultas para citas médicas por parte
de los pacientes, para eso se realizarán los siguientes procesos:
1. Se enviará un correo electrónico al paciente en el momento que separe
una cita médica, para que pueda disponer de una evidencia digital con el
turno asignado, hora de consulta, nombre del doctor y la especialidad.
2. En caso, de que el paciente no tenga correo electrónico, se le pedirá un
correo de algún familiar cercano, para que el servicio de notificación
pueda enviar el e-mail.
1.8 Objetivos.
1.8.1 Objetivo general.
Implementar una aplicación móvil Android, con la finalidad de
proporcionarle comodidad al paciente para agendar cita médica en el
dispensario Sagrada Familia en la ciudad de Guayaquil.
1.8.2 Objetivos específicos.
Analizar los requerimientos, para poder realizar el levantamiento de
información realizado a través de encuestas a los pacientes, entrevistas
con el administrador del dispensario y al personal, observación de las
instalaciones tecnológicas y el espacio físico.
19
Diseñar la estructura de la aplicación móvil por medio de diagramas de:
flujo, contexto, casos de usos, clases, secuencias y modelos entidad
relacional.
Desarrollar una aplicación móvil para solicitar una cita médica, trabajando
con herramienta de software orientadas a este tipo de programación,
para lo cual se ha decidido utilizar las tecnologías que nos brindan
Android studio, Intelligent IDE, Postman, Sql Server y servicios web.
Elaborar pruebas con los pacientes y personal para obtener el nivel de
satisfacción de cada uno de los usuarios y la eficiencia de la aplicación.
1.9 Alcances del problema.
El proyecto se lo elaborará con la finalidad de implementar una aplicación
para dispositivos móviles, en la cual los pacientes del dispensario médico
tengan la facilidad de registrarse.
Los pacientes podrán agendar una cita médica escogiendo la
especialidad, doctor y horario requerido, siempre y cuando se encuentre
disponible en el sistema.
Para poder realizar este proceso se necesita el acceso a la base de datos
actual que proporcionará los datos de los pacientes registrados, los
doctores que laboran en el dispensario y los horarios en los que están
disponibles.
Esta implementación beneficiará a los pacientes para el agendamiento de
citas médicas; sin modificar las políticas con las que cuenta la institución.
Debido a que el establecimiento es una empresa sin fines de lucro, se ha
optado por realizar un desarrollo con herramientas open source, con la
finalidad de no afectar a la economía de la misma ni de los pacientes que
acuden.
En el módulo de modificación de información del usuario, el paciente
20
tendrá la opción de cambiar sus datos.
1.10 Metodología del proyecto.
La metodología a utilizar para el desarrollo del proyecto es Scrum, siendo
una técnica ágil y flexible para la administración del proceso del desarrollo del
software.
La razón por la cual se consideró este tipo de metodología, son las
constantes reuniones con el cliente e involucrados, las cuales permiten presentar
los avances que ha tenido el software en intervalos de tiempos determinados.
Entre las restricciones planteadas para el proyecto se encuentra la
implementación únicamente en los dispositivos que cuenten con sistema
operativo Android, debido a que la mayor población de pacientes cuenta con
unos de estos dispositivos.
Las pruebas se realizan a cada una de las fases del proceso, estarán
conformadas por los miembros del equipo y los clientes, para ir mejorando la
aplicación dentro de los parámetros y requisitos planteados desde el principio del
proyecto.
1.11 Justificación e importancia.
La afluencia de pacientes que acuden desde tempranas horas del día al
dispensario Sagrada Familia, ubicado en la ciudad de Guayaquil en el periodo
2017 es demandante, con respecto al espacio físico de la institución para poder
agendar una cita médica, lo que causa incomodidad en los pacientes, ya que
tiene que esperar en algunas ocasiones de pie o fuera de la institución.
Por este motivo se implementará una aplicación móvil que permita a los
pacientes realizar esta gestión desde el lugar que se encuentre, para esto, solo
necesitará instalar la app en su teléfono inteligente y tener acceso a internet; la
interfaz de la misma será amigable para que las personas de todas las edades
puedan interactuar de forma sencilla.
21
Es importante ampliar la disponibilidad tecnológica del dispensario, para
aumentar la satisfacción de atención del paciente y la automatización de
procesos manuales, con lo cual se optimizarán los tiempos y costos para la
institución.
Los aportes que genera esta aplicación está basado en la teoría, práctica y
metodología que se implementará; cada una de las bases indicadas se detallan
a continuación:
Teórico: Los fundamentos teóricos de este proyecto, permitirá entender la
elaboración de cada uno de los diagramas necesarios para obtener una
estructura que permita desarrollar la aplicación sin inconvenientes.
Metodológico: La metodología de software utilizada, se basa en libros
para la gestión de proyectos, de los cuales se ha elegido la técnica más
adecuada, es decir, la que se adapta con mayor facilidad al actual
proyecto, y que también sea moldeable a los cambios que va sufriendo
en el camino el proyecto.
Práctico: La aplicación móvil es un medio que mantendrá informados a los
pacientes, con una interfaz amigable para que el usuario no se sienta
perdido o se complique al momento de utilizar la aplicación.
Relevancia social: El impacto que tendrá el proyecto hacia los usuarios
finales es brindar la comodidad de agendar la cita médica que necesita,
sin tener que salir de casa o cancelar las actividades que tenía
planificadas. La disponibilidad del software es de 24 horas, los 7 días de
la semana, permitiendo agendar citas médicas desde el lugar donde se
encuentre, sin tener que hacer el máximo esfuerzo para ingresar a la
aplicación, ya que solo deberá obtener acceso a un dispositivo móvil
inteligente, y poseer correo electrónico.
Esta app será de gran importancia para aquellos usuarios que se hacen
atender de manera frecuente, debido a que ahorrarán el tiempo que utilizaban en
22
agendar una cita. Con esta aplicación los pacientes harían éste proceso desde
su hogar o cualquier parte en donde se encuentren.
Debido a los inconvenientes observados en el dispensario, a través del
estudio realizado, se ha podido evidenciar la necesidad de implementar el
proyecto planteado, permitiendo encaminar a la institución al uso de las nuevas
tecnologías.
En el desarrollo del proyecto se ponen en práctica los conocimientos
adquiridos durante los años de estudios universitarios, beneficiando a los
usuarios de la institución.
23
CAPÍTULO II
MARCO TEÓRICO
2.1. Antecedentes del estudio.
Con miras a entender cómo se pueden implementar procesos
tecnológicos, para reducir el número de pacientes a la espera de un turno y
consecuentemente aumentar la clientela, se aplicó la técnica de observación,
para percibir las necesidades de los pacientes. Además, se realizó una
investigación de campo que nos permita conocer los recursos con los que cuenta
el dispensario médico para poder realizar nuevas actualizaciones tecnológicas,
sin causarle costos a la institución.
2.2. Fundamentación legal.
La app que se pretende implementar aportará en gran parte a lo
mencionado en la constitución, en la ley de los derechos de las personas y
grupos de atención prioritaria, el artículo número 35 menciona que “las personas
mayores, los niños, niñas y adolescentes que adolezcan de enfermedades
catastróficas o de alta complejidad, recibirán atención prioritaria en los ámbitos
públicos y privados” (Asamblea Nacional del Ecuador, 2008, p.30). Debido a que
la app permitirá agendar la cita médica necesaria desde la comodidad de su
hogar y con una sencilla forma de acceso, por lo cual no tendrán que esperar un
tiempo prolongado para su atención.
La constitución también cuenta con leyes de ciencia, tecnología,
innovación y saberes ancestrales, en el artículo 385 “el desarrollo de
innovaciones tecnológicas que permitan seguir avanzando con la producción
24
nacional” (Asamblea Nacional del Ecuador, 2008, p.173). Elevando la eficiencia y
productividad que permitan la contribución al buen vivir de los ciudadanos.
2.3. Pregunta científica a contestarse.
¿El desarrollo de una aplicación móvil Android es factible para agendar cita
médica con la finalidad de proporcionarle comodidad al paciente en el
Dispensario Sagrada Familia?
2.4. Definiciones conceptuales.
Android. - Sistema operativo para dispositivos móviles.
Aplicación móvil. - Permite al usuario realizar una tarea concreta por medio de
teléfonos inteligentes, Tablet.
Metodología ágil. - Métodos de ingeniería de software basado en el desarrollo
interactivo e incremental.
Scrum. - Conjunto de buenas prácticas para desarrollar software.
Procesos. - Planeación para el diseño y desarrollo de software.
SQL. – Lenguaje de consulta estructurada que permite realizar varias
operaciones dentro de un gestor de base de datos.
SQL Server. - Gestor de base de datos relacionales que permite ser utilizado
mediante comando o interfaz gráfica.
Tareas. - Actividades asignadas a los miembros del equipo de trabajo.
Tomcat. - Servidor web desarrollado por java con soporte de servlet.
Web Service. - Permite intercambiar datos entre aplicaciones.
Servlet: Clase de java utilizada para ampliar la capacidad de un servidor.
25
2.5. Metodologías de desarrollo de software.
Las metodologías de desarrollo de software son utilizadas para elaborar la
estructura, plan y control de los procesos generados en el progreso del proyecto.
Existen varios modelos que han ido evolucionando a lo largo del tiempo, cada
uno cuenta con fortalezas y debilidades.
Entre las diversas definiciones que se puedan encontrar sobre las
metodologías de desarrollo de software se pueden mencionar las siguientes
teorías, a las cuales empresas o compañías se han adaptado, “un marco de
trabajo que es usado para estructurar, planificar y controlar el proceso de
desarrollo de un sistema de información” (Chístense, Cubera, Meredith,
Weerawarana, 2017). Otra teoría que ayuda a entender el concepto de las
metodologías de desarrollo como “un marco de trabajo que es usado para
estructurar, planificar y controlar el proceso de desarrollo de un sistema de
información” (Chandra, 2015,p.7).
Para poder definir una metodología de software específica se deben tomar
en cuenta las diferentes actividades que se realizarán para obtener el producto
final deseado. En la elaboración de software se conoce la clasificación de dos
tipos de metodologías, denominados métodos pesados y métodos ágiles. La
principal diferencia es que el primero se basa en el orden y la documentación,
mientras que el segundo utiliza la comunicación directa con los involucrados en
el proceso para llegar a obtener el producto de software esperado.
2.5.1. Métodos pesados de desarrollo de software.
Cuando se comenzó a desarrollar software se lo elaboraba de manera
artesanal, sin ninguna directriz que ayudara a seguir un correcto proceso o
documentación, que ayuden a llegar a la meta planteada, por lo cual surgió la
necesidad de utilizar metodologías aplicadas en otras áreas para adaptarlas al
desarrollo de software y poder trabajar de manera organizada con control sobre
el proyecto.
26
Esta necesidad surge en los años 80 cuando se decide trabajar por medio
de una planificación estricta y minuciosa, basada en herramientas
CASE(Ingeniería de Software Asistida por Computador), el cual garantizaba la
calidad del software, este tipo de metodología tenían una carga de trabajo
pesada que consistían en la planificación, diseño y documentación. Este proceso
no era el adecuado para implementarlo en proyectos pequeños o medianos,
debido al tiempo que se invertía.
Otro de los problemas que se presentan con este tipo de metodologías son
las limitaciones al momento de realizar cambios pues requería volver al principio
y empezar desde cero el análisis y la documentación. Sin embargo este tipo de
procesos son implementados en proyectos que no solicitan resultados rápidos, si
no de procesos críticos.
Entre los métodos pesados se encuentran los métodos Microsoft Solution
Framework(MSF), Proceso Unificado de Desarrollo(RUP).
Proceso Unificado de Desarrollo (RUP).
Esta metodología se basa en la organización y estructuración de las
actividades necesarias para transformar los requerimientos de los involucrados
en el proyecto en un sistema de software.
Dado que es un proceso formal permite la asignación de tareas a los
miembros de una organización de manera ordenada, cumpliendo las
especificaciones y tiempos fijados que aseguren la productividad y calidad del
software. Los miembros del equipo tienen la opción de guiarse mediante
diagramas de uso, lenguaje UML y arquitecturas centralizadas.
Las ventajas que se presentan en la implementación de este método es la
evaluación de cada fase, es sencillo, y realiza el seguimiento de cada una de las
fases. Sin embargo cuenta con desventajas que no permiten evaluar los riesgos,
el cliente debe tener conocimientos de software para poder llegar a un acuerdo
de los alcances del proyecto.
27
Las fases con las que cuenta este proceso es la concepción, elaboración,
construcción y transición.
Ilustración 1: Fases del proceso unificado de desarrollo.
Elaboración: Roberto Figueroa, Camilo Solís, Armando Cabrera.
Fuente: Universidad técnica particular de Loja, Escuela de Ciencias en Computación.
Microsoft Solutions Framework (MSF).
Es una guía de desarrollo basada en diversos principios, modelos,
disciplinas, conceptos, directrices, y prácticas aceptadas por Microsoft, que
aseveran una alta calidad y bajo riesgo en los resultados de los procesos y
requerimientos planteados por los involucrados para obtener el software
esperado. Cada proceso es escalable, ya que este método está diseñado para
acoplarse a la flexibilidad del proyecto según su magnitud. Se lo puede definir
como una serie de pautas que permite adaptarse a cualquier proyecto
tecnológico de información.
MSF es un método que ha ido evolucionando y optimando los procesos por
medio de experiencias de proyectos que contribuyeron a su mejora; al mismo
tiempo que fueron adaptando características de los modelos tradicionales. Este
método permite a los miembros de trabajo compartir responsabilidades y fluctuar
las destrezas de cada uno para mantenerse enfocados en el proyecto; con la
finalidad de compensar las desventajas de la estructura jerárquica en los equipos
de proyectos tradicionales.
28
Las fases que se implementan en los proyectos que aplican esta
metodología son cinco, la visión y alcances, planificación, desarrollo,
estabilización e implantación.
Ilustración 2: Fases del MSF.
Elaboración: Roberto Figueroa, Camilo Solís, Armando Cabrera.
Fuente: Universidad técnica particular de Loja, Escuela de Ciencias en Computación.
2.5.2. Métodos ágiles de desarrollo de software.
En base a las desventajas que poseen los métodos tradicionales o
pesados para el desarrollo de software, en los años 90 se origina una nueva
perspectiva, creando los métodos ágiles de desarrollo, los cuales permiten
reducir el tiempo empleado para el análisis y documentación, condescendiendo
potenciar el desarrollo de proyectos de software a gran escala.
A partir de esta nueva teoría para desarrollar software surgieron varias
ideas de las cuales las principales están vinculadas con la prioridad de
interactuar con los individuos interesados en el proyecto, el correcto
funcionamiento del software, la constante colaboración del cliente y la capacidad
de respuesta a cambios que se planteen.
Los factores que influyen en la agilidad de un proceso de desarrollo de
software son las normas de comportamiento y expectativas de las personas, la
cantidad de miembros de un equipo de desarrollo de acuerdo a la criticidad del
proyecto, competencias técnica de los programadores y la estabilidad de los
requerimientos.
Definitivamente los métodos ágiles intentan evitar la pérdida de tiempo que
se genera al seguir los modelos tradicionales para desarrollar software,
29
enfocándose en las personas y los resultados. Mediante la asignación de tareas
con plazos cortos de tiempo que minimizan riesgos denominadas interacciones,
cada interacción dura alrededor de una a cuatro semanas. El ciclo de vida a la
que se rige una iteración es la planificación, análisis de requerimientos, diseño,
codificación, revisión y documentación. La finalidad de cada etapa no es añadir
demasiada funcionalidad, si no conseguir una versión funcional libre de errores.
Este tipo de metodología es adecuado para desarrollar software en móviles
a pesar de la complejidad de su proceso por diversos factores adicionales a los
software tradicionales, como los canales de comunicación, la movilidad,
portabilidad, diseño multitarea, usabilidad, entre otros.
Entre los modelos de metodología de desarrollo ágil de software se puede
mencionar Extreme Programming(XP), Test Driven Development(TDD),Crystal
Methologies, Dynamic Systems Development(DSDM), Adaptive Software
Development(ASD), Feature-Driven Development(FDD), Scrum.
Principios fundamentales.
1) Los individuos y su interacción, por encima de los procesos y las
herramientas.
2) El software que funciona, frente a la documentación exhaustiva.
3) La colaboración con el cliente, por encima de la negociación contractual.
4) La respuesta al cambio, por encima del seguimiento de un plan.
2.5.2.1. Modelos de metodologías ágiles.
Extreme Programming (XP).
Exteme Programming adquiere su nombre debido a las prácticas
reconocidas en el desarrollo de software y por la participación del cliente en
niveles extremos.
30
Según Beck Extreme Programming se define como “una metodología
ligera para pequeños y medianos equipos de desarrollo de software en la cara
de los requerimientos imprecisos o rápidamente cambiantes” (Balaguera, 2013,
p.113). Una de las principales ventajas con las que cuenta XP es la facilidad
para adaptarse a los requerimientos que se van planteando en el proceso del
desarrollo.
Es una de las metodologías más destacadas por su eficacia en cuanto a su
objetivo que es el desarrollo de programas funcionales en cortos periodos de
tiempo. Se basa en la prueba y error, en la cual se define bien al cliente o sus
necesidades siendo flexible en todo momento ya que pueden cambiar a lo largo
del proyecto.
Adicionalmente de ser una metodología ágil cuenta con características de
los métodos tradicionales que permiten mantener el orden y estructura adecuada
tanto en el desarrollo como en la documentación.
Evidencia el desarrollo incremental, la participación activa del cliente, el
interés en las personas, en lugar de los procesos como elementos principales, y
un alto nivel de aceptación de cambios, como la clave del éxito.
XP define varios roles dentro del proceso de desarrollo que permite
establecer las tareas adecuadas para cada una de las personas del equipo o
involucrados de acuerdo al papel que desempeñan. Entre estos roles se
encuentran:
Programadores: Son los encargados de generar el código del sistema.
Cliente: Describe los requerimientos que desea en el software a través de
historias de usuarios y pruebas funcionales para verificar la correcta
implementación.
Tester: Es el encargado de ayudar al cliente a escribir las pruebas funcionales.
Ejecutando las pruebas de forma regular, responsabilizándose de las
herramientas necesarias para realizar las pruebas.
31
Tracker: Está delegado a efectuar el seguimiento en cada una de las
iteraciones, proporcionando la retroalimentación de los equipos, comparando los
tiempos que se está proporcionando a cada actividad con los que se habían
estimado, con el objetivo de mejorar para posteriores estimaciones.
Coach: Provee al equipo algunas indicaciones para la aplicación de las prácticas
XP y puedan seguir el transcurso correcto. Se responsabiliza del desarrollo
global del proyecto.
Consultor: Es un miembro externo del equipo con conocimientos en un tema
específico necesario para el proyecto en el caso de surgir inconvenientes o
dudas.
Big boss: Es el vínculo entre el cliente y el equipo del proyecto, coordinando las
condiciones adecuadas para que el conjunto de trabajo pueda desenvolverse
adecuadamente.
Proceso XP.
Para realizar la correcta implementación de este método se deben seguir
los siguientes pasos:
1) Definición del valor del negocio por parte del cliente
2) Estimaciones de esfuerzo por parte del programador en base a lo
solicitado.
3) El cliente define las prioridades y tiempos de acuerdo a lo que requiere.
4) El desarrollador construye el valor del negocio.
5) Regresa al primer paso.
Con esta serie de pasos tanto el cliente como el programador adquieren
conocimientos, por lo cual no se debe presionar al programador a realizar más
trabajo del planteado, debido a que puede afectar a las funcionalidades y calidad
del software.
32
Ilustración 3: Proceso XP.
Elaboración: Oiver Andrés Pérez A.
Fuente: Revista Inventum.
Se recomienda que los equipos XP estén conformados por menos de doce
personas que tengan conocimientos en la tecnología aplicando mejores prácticas
de proyecto.
Kanban.
Es un aplicativo orientado al control, coordinación y seguimiento de
actividades administrativas, es una metodología presencial a través de notas en
un tablero.
El origen de Kanban deriva de la cultura japonesa cuyo significado es
tarjeta o boleto. En el inicio de un proceso de desarrollo de software, circulan las
tarjetas kanban, permitiendo llevar un control del flujo de materiales y procesos.
Las tarjetas cuentan con información necesaria para inspeccionar los procesos
de un proyecto, “como el nombre del proceso, la identificación del encargado, el
tiempo empleado” (Sanchez,Patiño, 2017). Utilizando las tareas con las que
cuenta kanban, las cuales se adhieren en los tableros o secciones del proceso.
Kanban cuenta con seis reglas básicas que permiten desarrollar la técnica
de forma correcta.
33
Ilustración 4: Reglas de la metodología kanban.
Elaboración: Arango Martín, Campuzano Luis, Zapata Julián.
Fuente: Mejoramiento de procesos de manufactura utilizando Kanban.
Fases de implementación Kanban.
1) Capacitar continuamente a los trabajadores en la metodología y los
beneficios que se obtienen al aplicarlo en los procesos del proyecto.
2) Aplicar Kanban a los subprocesos que tengan mayor circulación o
manipulación de material, con la finalidad de encontrar problemas
escondidos.
3) Es importante que cada uno de los miembros del equipo de trabajo estén
enterados de los cambios en los subprocesos o procesos.
4) Evaluación del desempeño de la metodología implementada.
Ventajas.
Flexibilidad.
Mejora continua.
Reducción de desperdicios .
Comunicación de tareas frente al equipo.
34
Test Driven Development (TDD).
Se fundamenta en la calidad del producto final, garantizando la disposición
por medio de pruebas constantes en el desarrollo, ningún módulo de
programación pasa a producción sin antes haber sido evaluado, determinando el
código que se necesita añadir, cambiando en algunas ocasiones la perspectiva
del equipo de desarrollo, agilizando los resultados y aumentando la calidad del
sistema.
TDD es una metodología grandemente acogida en el campo profesional,
debido a que se puede combinar con otras metodologías ágiles, generalmente
es confundida como una técnica de aseguramiento de la productividad, sin
embargo es un efecto secundario de la calidad del software desarrollado junto a
las características de otro método ágil, aprovechando los beneficios de trabajar
con una metodología que permite deshacer errores, asegurar la calidad del
producto y protegerse tanto de los errores humanos como de los provocados.
Crystal Methologies.
Está conformado por un conjunto de metodologías para el desarrollo de
software caracterizadas por la importancia que le dan a las personas que
conforman el equipo y la reducción máxima de tiempo en los proyectos
desarrollados.
El equipo de desarrollo es clave, por lo cual es importante invertir en sus
habilidades y destrezas. La definición de políticas para el correcto trabajo en
equipo dependerán del número de miembros del mismo, los cuales se clasifican
por colores, cuya división está conformada de la siguiente forma:
Crystal Clear: De 8 a menos integrantes.
Crystal Yellow: Para equipos de 9 a 20 personas.
Crystal Orange: Equipos conformados por 20 a 50 miembros.
Crystal Red: Para equipos de 50 a 100 personas.
35
Crystal Diammond o Sapphire: Utilizado en casos en los que la
permanencia del equipo o la subsistencia de la organización depende de
la funcionalidad del programa o proyecto.
Dynamic Systems Development (DSDM).
Define la base para desarrollar un proceso de elaboración de software. Se
origina con el objetivo de crear una metodología unificada, las principales
características son: el proceso iterativo, incremental y el trabajo conjunto de los
desarrolladores con los clientes.
Cuenta con cinco fases: estudio de la viabilidad, análisis del negocio,
modelado funcional, diseño, construcción y la implementación.
Adaptive Software Development (ASD).
Se caracteriza por ser iterativo, basado en componentes de software y su
tolerancia a cambios. Las fases esenciales son la especulación, colaboración y
aprendizaje. La especulación inicia el proyecto y planifica las características del
software; la colaboración permite desplegar las caracteríscas y el aprendizaje
comprobando la calidad y entrega al cliente.
Feature-Driven Development (FDD).
Especifica un proceso iterativo que cuenta con cinco fases. Las iteraciones
cortas duran alrededor de dos semanas. Tiene como prioridad la fase de diseño
e implementación de características que debe cumplir el software.
Scrum.
Es un marco de trabajo basado en metodología ágiles, que permite auto-
organizar las diferentes tareas y procesos del desarrollo en el equipo de trabajo
de un software definidos por el usuario.
36
Scrum está orientado a gestionar proyectos con dificultades para planificar
en tareas futuras, aplicando mecanismos para procesos de control empíricos,
teniendo como elemento central bucles de retroalimentación.
Scrum cuenta con tres tipos de roles que permiten establecer una mayor
organización en los procesos del proyecto, los cuales son mencionados a
continuación:
Dueño del producto o Product owner.
Es el responsable de representar al cliente o usuario del producto que el
equipo está desarrollando de acorde a sus indicaciones, a través de las
definiciones de las funciones de la pila del producto, priorizando según la
importancia de cada una.
Es un traductor entre el equipo de trabajo y los usuario o clientes, debido a
que debe entender el valor del producto, siendo capaz de proporcionar los
detalles del proyecto en base a los requisitos establecidos, y poder escuchar las
historias del cliente para próximas iteraciones.
Establece las fechas y los contenidos de liberación, dándole prioridad a las
características de desarrollo de productos en cada reunión.
Scrum master.
Es el encargado de gestionar cada uno de los procesos que reconozca una
adecuada adaptabilidad al equipo de trabajo, buscando constantemente mejorar
la velocidad; teniendo en cuenta los indicadores que permitan determinar las
causas que retrasan el proceso de negocio.
Equipo.
Son personas especializadas en alguna actividad necesaria para la
elaboración del proyecto. Las cuales aportan con sus conocimientos
correspondientes a las áreas donde se desempeñan; sin embargo cada equipo
de trabajo se relacionan entre sí.
37
Es importante la auto-organización que posea cada miembro del equipo,
ya que proporciona autonomía en la elaboración de cada tarea asignada y el
desempeño en sus compromisos.
Procesos de Scrum.
Los pasos a seguir para la aplicación de esta metodología son los
siguientes:
Planificación de liberación.
Establecer los equipos de trabajos.
Planificación de Sprint.
De existir atrasos, se debe realizar una depuración de los mismos para
llevar un control de las actividades posteriores.
Para entender los requerimientos del cliente se deben descomponer las
historias del cliente, para cubrir las necesidades o cambios que se necesiten
implementar por medio de tareas que se asignan a cada uno de los miembros
del equipo
Ejecución de Sprint.
Es importante acudir a las reuniones diarias, en las cuales se observará los
avances de las tareas asignadas a cada miembro del equipo y asegurará la
visibilidad de las ocupaciones en ejecución, por hacer, listas para verificar y
completas.
Las reuniones permitirán despejar dudas o preocupaciones que se originan
en el camino del proceso de desarrollo.
Visibilidad.
Se trata de la entrega de informes que permiten visualizar los avances que
se han obtenido, los retrasos de tiempos estimado en comparación con los
38
tiempos empleados, lo que proporciona una perspectiva de la estimación de
tiempos y como poder mejorarlos.
Ilustración 5: Proceso Scrum.
Elaboración: Sutherland y Schwaber.
Fuente: Adaptado de The SCRUM Papers.
Reuniones diarias en Scrum.
Al iniciar una reunión diaria para la elaboración de un proyecto a los
miembros del equipo se dirigirán tres interrogantes, las cuales son:
¿Qué hiciste ayer?
¿Qué vas hacer hoy?
¿Qué obstáculos pueden haber?
Al responder estas preguntas, los aspectos importantes del desarrollo
estarán controlados, este tipo de reuniones permiten establecer una adecuada
relación profesional, incentivando a los miembros del equipo a realizar mejor su
trabajo, por medio del aporte de ideas de todo el equipo en cada tarea a realizar
para el proceso del proyecto.
Las dudas o inconvenientes que requieran de una explicación o solución
que tome más tiempo del planificado para la reunión diaria, será agendado para
resolverlo en una posterior reunión en la que exista la disponibilidad de tiempo
de los involucrados.
39
Una de las principales ventajas que proporcionan las reuniones ágiles, es
que los avances realizados serán conocidos diariamente por todos los miembros
del equipo, logrando compartir sus complementos a cada tarea.
2.5. Diferencias entre metodología ágil y metodología pesada.
Tabla 3: Diferencias entre metodología ágil y pesada.
Metodología ágil Metodología pesada El modelo es prescindible, modelos desechables.
El modelo es esencial, mantenimiento de modelos.
Roles más flexibles y adaptables. Roles específicos Contrato flexibles. Contrato prefijado. El cliente forma parte del equipo de desarrollo.
El cliente interactúa con el equipo solo en reuniones.
Orientado a proyectos pequeños. Aplicado a todo tipo de proyectos. Mejora constante de las definiciones del proyecto.
La arquitectura es definida al principio del proyecto.
Trabajo en equipo. Definición de roles, actividades y artefactos.
Se esperan cambios durante el proyecto.
No se esperan cambios de gran impacto sobre el proyecto.
Elaboración: Schwaber. Fuente: La Academia de Estudios Económicos de Bucarest.
2.6. Desarrollo de aplicaciones para dispositivos móviles.
El desarrollo de software orientado a plataformas móviles con el paso del
tiempo ha ido aumentando, este tipo de proyectos cuentan con características y
restricciones únicas que son utilizadas por cada etapa del ciclo de vida. Entre las
características más importantes dentro del desarrollo de software móvil se
tienen: alta competitividad, corto tiempo de entrega. movilidad, portabilidad,
cambios constantes en las terminales, entre otras.
2.7 Sistema Operativo móvil.
2.7.1. Android.
Android es un sistema operativo móvil fundado en Linux, el cual se estrenó
de manera formal en el 2008, ha sido desarrollado por la Open Handset Alliance,
la cual es liderada por Google, siendo una de las características especiales de
Google, la cual garantiza la calidad de las aplicaciones utilizables en Android
40
Market, esta característica también es manejada por iOS de Apple, es un kill
switch, que permite el borrado remoto y global de las aplicaciones.
2.7.2. iOS de Apple.
Sistema operativo móvil de Apple, diseñado para sus dispositivos móviles.
Inicialmente fue desarrollado para iPhone. Entre las características tenemos las
siguientes: pantalla principal, carpetas, seguridad, centro de notificaciones.
iOS cuenta con la opción de multitareas, la cual solo funciona con iPhone
3GS, iPad 1, iPod Touch, la multitarea específicamente utiliza las siguientes
opciones: Audio en segundo plano, Voz IP, Localización en segundo plano,
Notificaciones Push, notificaciones locales, completado de tareas.
2.7.3. Windows phone de Microsoft.
Sistema operativo móvil desarrollado por Microsoft, su primera versión fue
la de Windows Phone 7, presentándola el 15 de febrero del 2010, como sucesor
de la plataforma Windows Mobile, la cual estaba enfocada en un mercado de
consumo empresarial y no general.
2.8. HERRAMIENTA DE DESARROLLO.
2.8.1. Intelligent Ide.
El intelligent ide fue desarrollado por la empresa JetBrains, en enero del
2001. En el periodo del 2017, éste entorno de programación se encuentra por la
versión 2017.2.1 siendo soportado por los Sistemas Operativos Windows y
Linux. Teniendo dos distribuciones:
Comunity Edition (open source).
Ultimate (comercial).
El intelligent es un entorno de programación, es decir, tiene integrado un
editor de texto, compilador, depurador con su respectiva interfaz gráfica.
Adicionalmente proporciona un servidor de aplicación como Apache Tomcat.
41
Para la instalación del Intelligent se necesita tener como requisitos las
siguientes características:
Tabla 4: Requisitos para Windows.
Sistema Operativo Windows
Versión de Sistema Operativo Microsoft Windows 10/8/7.
Memoria RAM 1GB mínimo, 4Gb recomendado.
Almacenamiento 300 MB de espacio en disco.
JDK versión JDK 1.8.
Resolución de pantalla 1024 x 768 mínima.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: https://www.jetbrains.com/idea/
Tabla 5: Requisitos para Linux.
Sistema Operativo Linux
Versión de Sistema Operativo GNOME o KDE desktop.
Memoria RAM 1GB mínimo, 4Gb recomendado.
Almacenamiento 300 MB de espacio en disco.
JDK versión JDK 1.8.
Resolución de pantalla 1024 x 768 mínima.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: https://www.jetbrains.com/idea/
2.8.2. Postman.
Postman es una extensión creada para el navegador de Google Chrome.
Esta herramienta consta con varias utilidades gratuitas relacionado con el
mundo de las Api REST, permitiendo probar servicios web con solo mencionar la
url e indicando el método HTTP que se va a usa (POST, GET) añadiendo los
paramentos de petición.
42
Ilustración 6: Interfaz gráfica de Postman.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
2.9 Gestor de Base de Datos.
2.9.1. Sql server 2012.
Sql server es una plataforma para la gestión de base de datos relacionales
que está diseñado para entornos empresariales.
Sql server es ejecutado por T-SQL (transact-Sql), conjunto de extensión
que añaden características del lenguaje SQL e incluye los controles de
transacciones, excepciones, manejos de errores.
Con esta versión 2012, se han agregados nuevas características que se
detallarán a continuación:
Sql Server AlwaysOn.- AlwaysOn es una nueva funcionalidad que
admite una alta disponibilidad, es decir, permite configurar varias
bases de datos dentro de un AlwaysOn Group, y crear
replicaciones.
Índices Columnares.- Es otra funcionalidad y permiten minimizar el
tiempo de consulta dedicadas a los Data Warehouse.
Modelo de Inteligencia de Negocios Semántico.- Esta nueva
característica está diseñada para el modelado de inteligencia de
negocio y se relacionan con las herramientas de PowerPivot y
Analysis Services Tabular.
43
Soporte de integración con Big Data.- Sql server incluye
conectores para Hadoop, para que ésta pueda trabajar con Big
Data Hadoop.
2.9.2. Servicio web.
Un servicio web o webservice es una tecnología que permite la
comunicación entre aplicaciones y no depende de lenguajes de programación ni
de la plataforma. Los webservice funcionan en un nivel abstracto y puede
manejar datos con facilidad (IBM developerWorks, s.f.).
Dentro de esta tecnología, existen roles importantes para el
funcionamiento y estos son: UDDI (Universal description, discovery and
integration), WSDL (Web services description language), WSIL (Web services
inspection language), SOAP y WS-I (Web services interoperability) (IBM
Knowledge Center, s.f.).
Web services inspection language (WSIL).
Esta construido en XML, definiendo un método de descubrimiento de
servicios distribuidos, que dispone un sitio web.
Web services definition language (WSDL).
“Es un servicio de red que describe un conjunto de puntos finales que se
ejecutan con mensajes que incluye documentos o información del
procedimiento” (W3C, s.f.).
2.9.3. Spring framework.
Es una solución ligera que permite utilizar contenedores loc y código de
integración de Hibernate o la capa de abstracción JDBC; admitiendo la gestión
de transacciones declarativa, acceso remoto a la lógica a través de RMI o
servicios web .
Spring framework está formado por una serie de módulos, los cuales son
utilizados para el desarrollo de sistemas empresariales bajo el lenguaje de
44
programación Java, proporcionando una compatibilidad elevada con otros
framework como EJB, JSF, Struts, etc. Cada módulo tiene una función específica
para el desarrollo del software.
Cuenta con la arquitectura MVC con todas las funciones, permitiendo
adaptar AOP de manera transparente al software. Debido a su diseño ligero, no
es un framework intrusivo, es decir el código de lógica de dominio por lo general
no cuenta con dependencias en el marco de trabajo. La capa de integración
cuenta con ciertas dependencias de tecnología de acceso a datos y las
bibliotecas spring; sin embargo no es complicado aislar estas dependencias del
código base del software.
Ilustración 7: Marco de trabajo de Spring Framework.
Elaboración: Santos López, Félix Melchor.
Fuente: Universidad Nacional Mayor de San Marcos.
Componentes principales de spring.
Spring ha sido diseñado para el desarrollo de aplicaciones de escritorio y
aplicaciones basadas en internet, constando con tres componentes principales:
Controlador: Maneja lógicas de navegación e interacción con servicios de
negocio.
Modelo: Es la intersección entre la vista, el controlador y los datos necesarios.
Vista: Responde a las solicitudes tomando los datos del modelo.
45
Los componentes básicos en spring MVC son:
1) DisparcherServlet: Es la implementación del controlador frontal de spring.
Web.xml recibe la solicitud y la transfiere; es el primer controlador que
interactúa con las solicitudes controlando el flujo completo del software.
2) Controlador: Encapsula la lógica de navegación, delegados por el
regulador de servicios para el objeto del mismo.
3) Vista: Los distintos tipos de bases de salida en los resultados, el
dispositivo de visualización y dispositivos de comunicación pueden elegir
diferentes puntos de vista.
4) Model and View: Almacena la lógica del negocio y datos del modelo.
5) View resolver: Asigna nombres lógicos vistas para poder ver las
implementaciones reales.
6) Interfaz: Es utilizada para el mapeo de peticiones entrantes a los
controladores individuales.
Arquitectura spring.
La arquitectura utilizada por spring framework es MVC, siendo una
tecnología configurable con múltiples vistas, entre las cuales se encuentran Ex
Java Server Pages, Velocity, Tiles, iText. Spring framework MVC separa las
funciones del controlador, el objeto del modelo, el distribuidor Servlet y el objeto
manejador; haciendo más fácil de personalizar.
Ilustración 8: Vista de un flujo en ejecución.
Elaboración: Praveen Gupta, Pacheri Bari, Rajasthan.
Fuente: International Journal of Engineering Science and Technology.
46
El dispacth servlet obtiene la solicitud de servicios y decide el manejador,
asignando todos los controladores. Dichos controladores se encararán de llamar
los parámetros respectivos y pasar los parámetros de la petición. El controlador
obtendrá la lógica del negocio y un model and view asociado, el cual devolverá al
servlet de envío los datos. El servlet llamará la resolución de la vista,
identificando el nombre, con la finalidad de presentar los datos en el formato
respectivo y apropiado al usuario.
Ilustración 9: Secuencia de un flujo de aplicación en Spring Framework.
Elaboración: Praveen Gupta, Pacheri Bari, Rajasthan.
Fuente: International Journal of Engineering Science and Technology.
2.9.4. Spring boot.
El spring boot es una tecnología que permite configurar archivos JAR de
una manera rápida y sencilla en diferentes tipos de aplicaciones.
Ventajas.
Proporcionar una configuración básica para el desarrollo con este
framework.
47
Brindar funcionalidades no comunes para las implementaciones, como:
o Servidores embebidos.
o Seguridad.
o Indicadores.
No se necesita configuración de XML.
2.9.5. Spring security.
Spring security brinda a las aplicaciones de software empresariales que se
basan en J2EE servicios integrales de seguridad, principalmente a los proyectos
que utilizan spring framework. Esta herramienta tiene como objetivo asegurar
dos de las principales áreas de la seguridad como lo son la autenticación y la
autorización; permitiendo múltiples opciones de autenticación, los cuales la
mayoría son correspondientes a desarrollos de terceros.
Debido a la flexibilidad con la que cuenta al integrar la autenticación con
ciertas tecnologías es utilizada por muchos proveedores independientes de
software, permitiéndoles constituir rápidamente sus soluciones con los clientes
finales, sin la necesidad de cambiar el entorno. Siendo una plataforma abierta y
sencilla de utilizar proporciona a los usuarios adaptarlo a sus necesidades.
Spring security cuenta con tres áreas de interés en las que se encuentran
las solicitudes web, autorizar la invocación de métodos y el acceso a instancias
de objetos de dominio individuales.
Características.
1) Soporte integral y extenso para autenticar y autorizar.
2) Protección contra ataques como inicio de sesión y falsificación de
solicitudes de sitios.
3) Integración con API Servlet.
4) Integración con Spring web mvc.
48
2.9.6. Hibernate.
Es una herramienta ORM para plataformas Java que ayuda al mapeo de
atributos de una base de datos, relacional y el modelo de objetos de una
aplicación, mediante archivos declarativos XML. O anotaciones en los beans de
las entidades que permiten establecer las relaciones.
Actualmente las anotaciones con las que cuenta hibernate son del
estándar de JPA, al utilizar ficheros XML se usarán los ficheros propietarios de
hibernate.
Ilustración 10: Arquitectura ORM.
Elaboración: Alberto Fernández.
Fuente: Analytic web.
Características.
1) Busca solucionar la diferencia entre los modelos de datos coexistentes en
un aplicación.
2) Permite la manipulación de datos de la base de datos operando sobre
ellos.
3) Genera sentencias SQL.
4) Es flexible en cuanto al esquema de tablas utilizado.
5) Ofrece un lenguaje de consulta llamado HQL.
6) No depende de estándares.
7) No es necesario implementar interfaces o heredar clases.
49
2.9.7. Soap.
Está basado en XML, para trasmitir mensajes por HTTP, SMTP, TCP. Es
un protocolo ligero que sirve para el intercambio de información en un entorno
distribuido y descentralizado.
Ilustración 11: Relaciones entre SOAP, UDDI, WSIL, WSDL.
Elaboración: IBM KnowledgeCenter.
Fuente: IBM KnowledgeCenter.
2.9.8. Json.
Json (javascript object notation) o Notación de Objetos de Javascript es un
archivo que permite intercambiar datos. Este formato es ligero y permite que la
computadora pueda interpretar de una manera más óptima la información que el
usuario genera.
El formato de texto de Json, está constituido por dos estructuras:
Una colección de pares de nombre/valor, similar al object de otro lenguaje
de programación.
Una lista ordenada de valores, igual que vectores o arreglo de los
lenguajes tradicionales.
50
A continuación se detallarán las diferentes formas que Json se presenta
Object.- En una colección desordenada de pares nombre/valor.
- Comienza con “{”, finalizando con “}”.
- Los valores son separados por “,”
Ilustración 12: Json, forma de Object.
Elaboración: http://www.json.org.
Fuente: http://www.json.org/json-es.html.
Array.- El arreglo es un conjunto de valores.
- Comienza con “[” y finaliza con “]”.
- Los valores son separados por “,”.
Ilustración 13: Json, forma de Array.
Elaboración: http://www.json.org.
Fuente: http://www.json.org/json-es.html.
Value. - En valor, puede ser una cadena de caracteres con comillas
dobles, números, true o false.
51
Ilustración 14: Json, forma de Value.
Elaboración: http://www.json.org
Fuente: http://www.json.org/json-es.html
String. – Es una colección de cadena de caracteres encerrados por
comillas doble.
Ilustración 15: Json, forma de String.
Elaboración: http://www.json.org
Fuente: http://www.json.org/json-es.html
52
Number. - Se utilizan los valores numéricos menos los que usan los
formatos octales o formatos hexadecimales.
Ilustración 16: Json, forma de Number.
Elaboración: http://www.json.org.
Fuente: http://www.json.org/json-es.html.
2.10. Diagramas UML.
El lenguaje UML es un estándar dirigido a los sistemas de orientados a
objetos, utilizadas para describir las estructuras de los softwares. Permite
visualizar estructuras de software, especifica estructuras de análisis, diseño e
implementación construcción de código indiferente del lenguaje de programación
y la documentación completa del sistema o proyecto.
UML permite visualizar de manera gráfica los sistemas del software, se
puede implementar en sistemas técnicos, de tiempo real, distribuidos, hasta
sistemas de información y de negocios.
Para la correcta implementación de cada diagrama UML se presentan
reglas importantes a seguir como la correcta semántica para los nombres,
alcance y visibilidad, mecanismos de especificación y extensibilidad.
Entre los diagramas UML más relevantes se encuentran los
siguientes:
Diagrama de clases: Describe las clases y relaciones del sistema, cuenta
con tres tipos de estructuras: asociada, todo-parte, y herencia.
Diagrama de interacción: Describe la interacción de términos de
mensajes entre los objetos de las clases.
53
Diagrama de estado: Hace referencia al comportamiento y transiciones de
cada uno de los objetos de la clase.
Diagrama de caso de uso: Representa el porcentaje de funcionalidad que
el sistema ofrece a cada usuario externo.
Diagrama de actividades: Representa el grupo de trabajo entre las
actividades. Dichas actividades pueden manifestarse de forma
secuencial, condicional y concurrente.
Ventaja de los diagramas UML.
Unifica distintas notaciones previas.
Inconvenientes de los diagramas UML.
Falta de integración con otras técnicas.
UML extremadamente complejo.
2.11. Metodología del proyecto.
Para el desarrollo del proyecto, se ha considerado necesario aplicar la
técnica de la observación, utilizando pensamiento abstracto para elaborar las
hipótesis del problema y desarrollar la solución adecuada, en base a
requerimientos e información recopilada.
Uno de los métodos a utilizar es el de experimentación, debido a que se
acopla al desarrollo del proyecto propuesto, por las técnicas utilizadas para la
recopilación de información, permitiendo realizar el diseño de la solución, con la
finalidad de controlar el problema para comprobar la veracidad de las hipótesis.
2.12. Tipo de investigación.
Los tipos de investigación empleados en el desarrollo del proyecto
propuesto, se basan en la naturaleza de los objetivos en cuarto nivel de los
conocimientos que se espera alcanzar.
54
El tipo de investigación utilizada es la exploratoria, debido a su
aproximación al problema que no ha sido abordado con anterioridad, aplicado a
un tiempo de indagación sincrónica, por tratarse de un proyecto que se ha
desarrollado en un corto periodo de tiempo.
2.13. Enfoque de la investigación.
El proyecto se enfoca según naturaleza de la información que permite
indagar para proporcionar respuestas al problema que se está analizando, con la
finalidad de solucionarlo, involucrando en el proceso de recopilación de
información a los usuarios interesados y posibles beneficiarios.
2.14. Técnicas de investigación.
Se han procedido a utilizar las siguientes técnicas de investigación, con el
propósito de realizar un adecuado estudio del problema.
La observación nos ha permitido analizar la información obtenida por
medio de esta técnica, mediante la indagación del caso y el ambiente en el que
se desarrolla el inconveniente, permitiendo obtener el mayor número de datos.
La entrevista es otra técnica implementada en la recopilación de datos
mediante reuniones con el administrador y jefe de sistemas del establecimiento;
obteniendo la mayor información acerca de las variables del estudio.
2.15. Población y muestra.
El universo del presente proyecto está constituido por el personal
administrativo y los pacientes del dispensario Sagrada Familia ubicado en la
ciudad de Guayaquil, conformado por un total de 35120 personas que se
beneficiarán de la implementación del proyecto.
Mediante una muestra de 155 personas escogidas de forma aleatoria para
que cada miembro tenga la misma oportunidad de participar en el estudio del
proyecto, se les ha realizado una encuesta con la finalidad de conocer el grado
de aceptación que tendrá la aplicación móvil.
55
CAPÍTULO III
PROPUESTA TECNOLÓGICA
3.1. Análisis de factibilidad.
Con el desarrollo del presente proyecto, se aportará en el agendamiento de
citas médicas en el establecimiento mediante un aplicativo móvil, beneficiando al
usuario final de la siguiente forma:
Economizando recursos.
Optimizando tiempos.
3.2. Factibilidad operacional.
El objetivo que se persigue es investigar si el sistema será utilizado para los
usuarios del dispensario Sagrada Familia. Se plantearon algunas preguntas para
el desarrollo del sistema que a continuación se detallarán:
1) ¿Existe apoyo suficiente para el proyecto por parte de la
administración y los usuarios?
Los usuarios y el personal administrativo están de acuerdo con el desarrollo
de la aplicación móvil ya que se podrá gestionar registros de atenciones médicas
sin que el usuario esté presente en el dispensario.
2) ¿Los métodos que actualmente se emplean en la empresa son
aceptados por todos los usuarios?
Hasta el mes de agosto del año 2017, el proceso con el que cuenta la
institución para agendar citas médicas, es presencial. Basado en el método
56
empleado, se ha indicado al usuario que con el software podrán realizar todo
este proceso desde cualquier lugar.
3) ¿Los usuarios han participado en la planeación y en el desarrollo del
proyecto?
El área administrativa ha participado de forma directa con el desarrollo del
sistema evaluando los procesos de cada módulo que tiene la aplicación móvil. La
participación de los pacientes ha sido indirecta, por medio de encuestas y
entrevistas realizadas, que ha contribuido con los requerimientos de la app.
3.3. Factibilidad técnica.
En el análisis de factibilidad es importante estimar la disponibilidad de
recursos que son necesarios para el desarrollo del sistema.
3.3.1. Software.
Los componentes que intervienen en forma directa con el desarrollo de la
aplicación son:
Gestor de Base de datos.
Lenguaje de Programación.
Sistema Operativo.
En la tabla número 4 se describen los recursos que se han utilizado para el
desarrollo del proyecto, los cuales se acoplan a las necesidades e infraestructura
con la que cuenta el Dispensario Sagrada Familia.
Tabla 6: Software.
Área Nombre Disponibilidad
Gestor de base de datos SQL Server Management Studio.
Software Comercial.
Lenguaje de programación
Android Studio. Software Libre.
Sistema operativo Android. Software Libre.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
57
3.3.2. Hardware.
En la tabla número 5, se detallan los elementos físicos que se han utilizado
para la elaboración del proyecto propuesto.
Tabla 7: Hardware.
Cantidad Nombre Descripción Características 1
Computador Portátil
Marca. Lenovo. Sistema Operativo.
Windows 10.
Disco Duro. 500 GB. Procesador. Core i5. Memoria RAM. 4GB.
1 Computador de Escritorio
Marca. Xtreatech. Sistema Operativo.
Windows 10.
Disco Duro. 1 TB. Procesador. Core i3. Memoria RAM. 8GB.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
3.4. Factibilidad legal.
El proyecto planteado no incumple ninguna ley vigente hasta el año 2017,
debido a que las actividades a realizar en la aplicación son totalmente legales,
para llegar a esta conclusión se han revisado cada una de las leyes vigentes
referentes a las tecnologías, a las prácticas médicas y los derechos de los
pacientes.
3.5. Factibilidad económica.
Se considera económicamente factible al desarrollo del sistema, debido a
que se están empleando herramientas y tecnologías de distribuciones libres;
beneficiando a los pacientes al utilizar este aplicativo de una forma gratuita con
disponibilidad en los 7 días de la semana, las 24 horas del día.
El presupuesto del presente proyecto se detallará a continuación:
58
Tabla 8: Presupuesto
Componente Cantidad Medida Precio Unitario Total
Computadoras 2 Unidad $550 $1100
Programadores 2 Recursos $700 c/u $5600
Gastos directos 2 Licencias $800 $1600
Gatos indirectos 4 Meses $150 $600
Mantenimientos 2 Meses $500 $1000
Total $9900
En la tabla número 8 se puede observar el presupuesto detallado de la
propuesta planteada, proyectado a 4 meses. El mantenimiento se lo realizará
después de haber implementado el sistema.
3.6. Etapas de la metodología del proyecto.
La metodología ágil Scrum ha sido escogida para el óptimo desarrollo del
proyecto, debido a la organización en cuanto a la elaboración total del proyecto,
racionando de forma equilibrada los tiempos de desarrollo y documentación, la
distribución de tiempos y tareas se han realizado en base a la siguiente
inventiva:
1) Requisitos de la aplicación.
2) Asignación de tareas.
2.1) Análisis.
2.2) Diseño.
2.3) Implementación.
2.4) Pruebas.
3) Reuniones semanales.
4) Reuniones mensuales.
5) App móvil.
59
3.7. Análisis de los requisitos del sistema.
3.7.1. Técnicas utilizadas.
Entrevista: Se realizó entrevista con el Administrador Ing. Luis Checa y el
Ing. Víctor Delgado detallando paso a paso el proceso interno de agendar citas
médicas en el dispensario.
Reuniones: Se mantuvieron reuniones constantes con el jefe del área de
sistemas, para llevar a cabo el proceso de separaciones de turno hacia los
doctores del establecimiento y sobre todo para la explicación en la base de datos
que utilizan.
Análisis: Se evidenció los formularios existentes con la que trabaja el
dispensario en su sistema local en el momento que los usuarios finales
deseaban una cita. Esta información fue utilizada para un análisis, permitiendo
modelar el sistema móvil.
3.7.2. Requerimientos funcionales.
Tabla 9: Requerimientos funcionales.
Requerimientos Descripción
RF01 El sistema deberá tener la opción para guardar a nuevo paciente.
RF02 Deberá enviar un correo electrónico con una clave para corroborar al usuario final que se desea registrar.
RF03 Deberá permitir modificar información personal del usuario.
RF04 Este módulo deberá guardar la información en la base de datos. Adicionalmente deberá enviar un correo electrónico al usuario para evidenciar el agendamiento de cita.
RF05 El aplicativo móvil deberá tener una pantalla que permita al usuario verificar sus citas en el dispensario.
RF06 Los campos que tendrá la interfaz para el registro de nuevos pacientes, deben ser correctamente validados.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Dispensario Sagrada Familia de Guayaquil.
3.7.3. Requerimientos no funcionales.
Tabla 10: Requerimientos no funcionales.
60
Requerimientos Descripción RNF01 El sistema deberá permitir el acceso a los pacientes que
tengan correos electrónicos. RNF02 Deberá notificar al usuario si se realiza un evento como:
Agendar cita médica.
Modificación de los datos personales.
Cambio de contraseña. RNF03 El aplicativo deberá ser compatible con Android, con un
api mínimo de 19. RNF04 Estar disponible las 24 horas, los 7 días de la semana.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Dispensario Sagrada Familia de Guayaquil.
3.8. Fuentes.
3.8.1. Web Service.
Ilustración 17: Arquitectura del web Service.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
3.8.2. Clases controller.
Contiene las clases encargadas de exponer los endpoints de los servicios
RESTFUL, para que los clientes puedan acceder.
DoctorController. - Pone a disposición endpoints para acceder a los
servicios de la entidad Doctor.
Ilustración 18: Clase doctorcontroller.
61
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay. PatientController: Pone a disposición endpoints para acceder a los
servicios de la entidad Patient.
Ilustración 19: Clase patientcontroller.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
SpecialtyController: Pone a disposición endpoints para acceder a los
servicios de la entidad Specialty.
Ilustración 20: Clase Specialtycontroller.
62
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
3.8.3. Clases entities.
Contiene las clases que representan los objetos de valor del negocio.
Doctor: Es una clase java que representa la tabla "Medico" del negocio.
Patient: Es una clase java que representa la tabla "Paciente" del negocio.
Specialty: Es una clase java que representa la tabla "Especialidad" del
negocio.
DoctorSpecialty: Es una clase java que representa la relación entre las
tablas "Medico" y "Paciente".
3.8.4. Clases services.
Contiene las clases que se ejecutan las operaciones o actividades que el
usuario requiere ejecutar para completar una acción.
DoctorService: Interfaz que describe las operaciones que se realizarán
sobre la entidad "Doctor".
DoctorServiceImpl: Clase java que implementa "DoctorService"
sobrescribiendo los métodos de la interfaz y agregando lógica de
negocio.
PatientService: Interfaz que describe las operaciones que se realizarán
sobre la entidad "Patient".
63
PatientServiceImpl: Clase java que implementa "PatientService"
sobrescribiendo los métodos de la interfaz y agregando lógica de negocio
tanto para la obtención de los pacientes, así como para la creación y
modificación de un paciente.
SpecialtyService: Interfaz que describe las operaciones que se realizarán
sobre la entidad "Specialty".
SpecialtyServiceImpl: Clase java que implementa "SpecialtyService"
sobrescribiendo los métodos de la interfaz y agregando lógica de negocio
tanto para la obtención de las especialidades existentes, así como para
obtener los doctores pertenecientes a una especialidad especifica.
3.8.5. Clases repository.
Contiene las clases que se hacen de intermediario entre la capa de
servicios y la capa de mapeo de datos.
DoctorRepository: Es una interfaz java que hace uso de Spring JPA para
realizar acciones sobre la entidad "Doctor".
DoctorSpecialtyRepository: Es una interfaz java que hace uso de Spring
JPA para realizar acciones sobre la entidad "DoctorSpecialty".
PatientRepository: Es una interfaz java que hace uso de Spring JPA para
realizar acciones sobre la entidad "Patient".
SpecialtyRepository: Es una interfaz java que hace uso de Spring JPA
para realizar acciones sobre la entidad "Specialty".
3.9. Proyecto Android Studio.
3.9.1. Login.
Este directorio contiene las clases de la arquitectura Modelo Vista
Presentador (MVP) para que el usuario pueda ingresar.
Ilustración 21: Directorio de Login.
64
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
LoginInteractorImpl: Clase que se encarga de la conexión hacia los
servicios web para el login del usuario.
Ilustración 22: Clase LoginInteractorImpl.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
65
LoginPresenterImpl: Contiene la clase que se actúa de mediador entre la
vista y el interactor, obteniendo los datos del web service de login y
mostrándolos en la vista.
LoginActivity: Es la actividad mostrada al usuario para el ingreso de los
datos para el login del usuario.
3.9.2. Sign_in.
Directorio que contiene las clases necesarias para el módulo de registro de
usuario.
Ilustración 23: Directorio de Sign_in.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
SignInInteractorImpl: Clase que se encarga de la conexión hacia los
servicios web para el registro del usuario.
SignInPresenterImpl: Contiene la clase con la que actúa de mediador
entre la vista y el interactor, enviando los datos del web service de
registro para la creación del usuario.
SignInActivity: Es la actividad mostrada al usuario para el ingreso de los
datos para completar el registro.
3.9.3. Appointment.
Esta carpeta que contiene las clases para el módulo de agendamiento de
citas médica en el dispensario Sagrada Familia.
AppointmentInteractorImpl: Clase que se encargan de la conexión hacia
los servicios web para el agendamiento de citas y la consulta de las
mismas.
AppointmentPresenterImpl: Contiene la clase que se actúa de mediador
entre la vista y el interactor, enviando los datos del web service de
agendamiento de citas y para obtener las citas médicas para mostrarlas
al usuario.
66
AppointmentActivity: Es la actividad mostrada al usuario para el ingreso
de los datos para completar el registro.
3.9.4. Services.
Directorio que contiene las interfaces usadas por Retrofit para la conexión
con los servicios web.
PatientService: Clase que contiene los endpoints para realizar acciones
sobre la entidad “Patient” de la base de datos.
AutenticationService: Interfaz que contiene el endpoint de verificación de
usuario.
AppointmentService: Interfaz que contiene los endpoints para la consulta
y agendamiento de citas médicas.
Ilustración 24: Directorio de Services.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
3.9.5. Entities.
Directorio que contiene las clases para la serialización de la respuesta json
a Java.
Ilustración 25: Directorio de Entities.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 26: Clase de Authentication.
67
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 27: Clase de User.
68
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
69
3.10. Diagrama de casos de uso.
Ilustración 28: Diagrama de casos de uso.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Dispensario Sagrada Familia.
Verificación del
registro.
Paciente
<<Extend>>
<<Extend>>
<<Extend>>
<<Include>>
<<Extend>>
Registro de un
nuevo paciente.
Ingreso de datos
personales.
Modificación de
datos personales.
Agendar de cita
médica.
Elegir:
Especialidad
Doctor
Disponibilidad
Consulta de cita
agendadas.
Visualización del
estado de las citas:
pendiente,
agendada.
70
3.11. Diagrama de secuencia.
Los objetos interactúan para realizar los servicios ofrecidos por la
aplicación. Los diagramas de secuencia muestran la comunicación de los objetos
durante la interacción.
Ilustración 29: Diagrama de secuencia.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Dispensario Sagrada Familia.
Usuario (Cédula)
Especialidad
Médico
Agendar Cita
Disponibilidad
Confirmación de la cita
Dato guardado
Evidencia digital
Notificación al correo electrónico
71
3.12. Modelo de datos entidad-relación.
Ilustración 30: Modelo en entidad relacional.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Dispensario Sagrada Familia.
3.13. Entregables del proyecto.
3.13.1. Manual de usuario.
Este documento es indispensable para el usuario, por ende, es de suma
importancia realizar el entregable para el proyecto. Debido a que detalla las
operaciones que tiene cada módulo para que el paciente pueda dar un buen uso
del sistema.
3.13.2. Aplicación móvil en Play Store.
El software estará disponible en la tienda de Samsung para que los
pacientes del Dispensario puedan descargarlo y darle uso.
3.13.3. Criterios de validación de la propuesta.
La herramienta tecnológica desarrollada para la separación de turnos en el
dispensario Sagrada Familia, siendo aceptada por el Administrador del
establecimiento. A continuación, se detallará las funciones del sistema:
72
Tabla 11: Requisitos funcionales.
Formularios Interconsulta
Agenda Citas.
Médicos.
Horarios.
Mantenimientos Usuarios.
Citas.
Perfil Información del usuario.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Mediante un estudio y desarrollo se obtienen los módulos que ha
presentado en la Tabla N.6. A través del Administrador y el Departamento de
Sistema de esta empresa, se valida las funciones de la presente aplicación.
Tabla 12: Registro de pacientes.
Registro de pacientes
Descripción: Este módulo podrá ser utilizado por las personas que deseen formar parte de la población de pacientes del dispensario Sagrada Familia.
Pre-Requisitos: Tener la App instalada en su dispositivo móvil.
Pasos:
Oprimir la opción “Registrarse”.
Llenar los siguientes campos: o Nombres. o Apellidos. o Teléfono. o Correo electrónico. o Identificación / C.I. o Contraseña. o Fecha de Nacimiento.
Aceptar. Resultado Esperado: Enviar una clave al correo electrónico del paciente para que compruebe su registro.
Resultado Obtenido: Paciente registrado exitosamente en la base de datos.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
73
A continuación, se puede apreciar el módulo de registro de paciente, en el
cual, el usuario ingresa sus datos personales, para poder registrarlos en la base
de datos del paciente.
Ilustración 31: Registro de paciente.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Tabla 13: Modificación de datos personales.
Modificación de datos personales
Descripción: Al realizar pruebas con las modificaciones de datos personales del paciente, verificamos el proceso correcto que tiene este módulo. Pre-requisitos:
Tener acceso al aplicativo móvil. Pasos:
Ingresar al aplicativo móvil con la siguiente información: o Correo electrónico. o Contraseña.
Dirigirse al menú despegable, en el lado izquierdo. Elegir el módulo de Datos personales. Cambiar la información que se va a modificar en la base de datos. Guardar los datos.
Resultado esperado:
Envió de correo electrónico al paciente con la información que ha modificado.
Resultado obtenido:
La información fue guardada. Se la comprueba ingresando al módulo de “Datos Personales”.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
74
A continuación, se puede apreciar el módulo de modificación de datos personales, en la cual, el paciente puede actualizar datos que ingreso al momento de registrarse.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Tabla 14: Agendamiento de citas médicas.
Agendamiento de citas médicas
Descripción: Al elaborar pruebas con el aplicativo, corroboramos el correcto funcionamiento que tiene este módulo. Pre-requisitos:
Acceder al sistema como paciente. Pasos:
Acceder al aplicativo móvil ingresando la siguiente información: o Correo electrónico. o Contraseña.
Dirigirse al menú despegable, en el lado izquierdo. Seleccionar el módulo de “Agendar Cita Médica”. Seleccionar la especialidad. Seleccionar el nombre del doctor. Seleccionar la disponibilidad del doctor. Elegir en que horario se va atender. Guardar los datos ingresados.
Resultado esperado:
Envió de correo electrónico al paciente con la información de la cita.
Datos guardados generando un turno para el paciente. Resultado obtenido:
Fue registrado en la base de datos separándole una cita médica en el establecimiento.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 32: Modificar perfil.
75
A continuación, se puede apreciar el módulo de separación de cita, en la
cual, se han ingresado datos para verificar su correcto funcionamiento
generándole al usuario un turno de atención.
Ilustración 33: Agendamiento de citas médicas.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Tabla 15: Modificación de citas médicas.
Modificar las citas médicas
Descripción: Al elaborar pruebas con el aplicativo, corroboramos el correcto funcionamiento que tiene este módulo. Pre-requisitos:
Acceder al sistema como paciente. Tener citas agendadas.
Pasos: Acceder al aplicativo móvil ingresando la siguiente información:
o Correo electrónico. o Contraseña.
Dirigirse al menú despegable, en el lado izquierdo. Seleccionar el módulo de “Modificar Cita Médica”. Seleccionar la fecha agendada. Elegir la nueva fecha de atención. Guardar los datos ingresados.
Resultado esperado:
Datos guardados generando un turno para el paciente.
Liberación del turno antes agendado. Resultado obtenido:
Registro de la modificación de la cita médica en la base de datos. Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
76
A continuación, se puede apreciar el módulo de modificación de cita, en la
cual, el paciente puede cambiar la fecha de su cita médica si lo requiere.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Tabla 16: Consultar citas médicas.
Consultar citas médicas
Descripción: Al elaborar pruebas con el aplicativo, corroboramos el correcto funcionamiento que tiene este módulo. Pre-requisitos:
Acceder al sistema como paciente. Tener citas agendadas.
Pasos: Ingresar al aplicativo móvil ingresando la siguiente información:
o Correo electrónico. o Contraseña.
Dirigirse al menú despegable, en el lado izquierdo. Seleccionar el módulo de “Consultar Cita Médica”.
Resultado esperado:
Visualizar las citas agendadas. Resultado obtenido:
La visualización de las citas agendadas. Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 34: Modificar cita médica.
77
A continuación, se puede apreciar el módulo de consultar cita, en la cual, el
paciente puede visualizar las citas médicas que ha agendado.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Tabla 17: Cancelar citas médicas Cancelar citas médicas
Descripción: Al elaborar pruebas con el aplicativo, corroboramos el correcto funcionamiento que tiene este módulo. Pre-requisitos:
Acceder al sistema como paciente. Tener citas agendadas.
Pasos: Ingresar al aplicativo móvil ingresando la siguiente información:
o Correo electrónico. o Contraseña.
Dirigirse al menú despegable, en el lado izquierdo. Seleccionar el módulo de “Cancelar Cita”.
Resultado esperado:
Visualizar las citas agendadas, con opción de anulación. Resultado obtenido:
Anulación de las citas agendadas. Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 35: Consultar cita.
78
A continuación, se puede apreciar el módulo de cancelar cita, en la cual, el
paciente puede visualizar las citas médicas que ha agendado con la opción a
cancelarla.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Tabla 18: Cambiar contraseña
Cambiar contraseña
Descripción: Al elaborar pruebas con el aplicativo, corroboramos el correcto funcionamiento que tiene este módulo. Pre-requisitos:
Acceder al sistema como paciente. Pasos:
Ingresar al aplicativo móvil ingresando la siguiente información: o Correo electrónico. o Contraseña.
Dirigirse al menú despegable, en el lado izquierdo. Seleccionar el módulo de “Cambiar contraseña”.
Resultado esperado:
Actualización de la contraseña. Resultado obtenido:
Cambio de contraseña. Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 36: Cancelar cita médica
79
A continuación, se puede apreciar el módulo de cambio de contraseña, en
la cual, el paciente puede actualizar la contraseña para acceder al sistema.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
3.14. Recopilación de datos.
El Dispensario Sagrada Familia cuenta con una población de 35.110
pacientes, 63 doctores y 10 trabajadores en el área administrativa. Para realizar
el análisis de usabilidad del presente proyecto, se procederá a encuestar a una
muestra perteneciente a la población de pacientes que acuden a la institución,
con la finalidad de conocer la probabilidad de aceptación de la aplicación móvil.
Tabla 19: Población del Dispensario Sagrada Familia.
Área Población Porcentaje
Personal administrativo 10 0,03%
Doctores 63 0,18%
Pacientes 35110 99,79%
Total 35183 100,00% Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 37: Cambio de contraseña
80
Gráfico 1: Población del Dispensario Sagrada Familia.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
3.14.1. Calculo de la muestra.
La fórmula empleada para calcular la muestra de pacientes a la cual se le
realizarán las encuestas es la siguiente:
Donde:
m= Tamaño de la población.
e= Error de estimación.
n= Tamaño de la muestra.
Datos:
m= 35110
e= 8%
n= 155,562133
155,562133
81
3.14.2. Prueba de usabilidad.
El test de usabilidad aplicado a la muestra de pacientes calculada que acude
al dispensario generó las siguientes gráficas.
¿Dispone de acceso a internet?
Gráfico 2: Pregunta 1.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Resultado de la pregunta ¿Dispone de acceso a internet?
¿Dispone de algún correo electrónico?
Gráfico 3: Pregunta 2.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
82
Resultado de la pregunta ¿Dispone de algún correo electrónico?
¿Posee algún dispositivo inteligente móvil (Celular, Tablet)?
Gráfico 4: Pregunta 3.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Resultado de la pregunta ¿Posee algún dispositivo inteligente móvil?
¿Le gustaría separar la cita médica desde su casa mediante un móvil
(celular, Tablet)?
Gráfico 5: Pregunta 4.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
83
Resultado de la pregunta ¿Le gustaría separar la cita médica desde su casa
mediante un móvil?
¿Le gustaría que le hagan acuerdo de su cita médica, mediante un
correo electrónico?
Gráfico 6: Pregunta 5.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Resultado de la pregunta ¿Le gustaría que le hagan acuerdo de su cita
médica, mediante un correo electrónico?
84
3.15. Acta de aceptación del sistema
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 38: Acta de aceptación del proyecto.
85
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 39: Acta de aceptación.
86
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 40: Acta de aceptación.
87
CAPÍTULO IV
CRITERIOS DE ACEPTACIÓN DEL PRODUCTO O SERVICIO
4.1. Pruebas de aceptación.
En esta fase del proyecto se detallan los requerimientos definidos en la
etapa inicial, verificando el cumplimiento y satisfacción de los productos
entregados e instalados en producción.
Tabla 20: Prueba de aceptación.
Prueba de agenda Detalle de agenda
Descripción Interfaz amigable y segura para agendar una cita médica.
Esfuerzo en horas 10. Valor del negocio 1.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
4.2. Informe de aseguramiento de la calidad para productos de
software/hardware.
a) Establecer mecanismos de autenticación.
b) Definir métodos para las autorizaciones.
c) Métricas e Indicadores.
88
4.3. Conclusiones.
Las entrevistas realizadas al administrador y al jefe de sistema del
Dispensario Sagrada Familia ubicado en la ciudad de Guayaquil,
permitieron conocer el flujo de trabajo que se empleaba para que el
usuario pueda separar una cita médica.
La metodología SCRUM, permito el desarrollo y documentación ordenada
del sistema.
El patrón de diseño Modelo Vista Presentador, permitió una
sistematización ordenada del proyecto, visualizándose de forma
estructurada los módulos del aplicativo.
La interfaz gráfica desarrollada, es amigable y fácil de manejar para los
usuarios.
La disponibilidad de los doctores en la base de datos, facilitará el
agendamiento de las citas médicas de los usuarios, debido a que podrán
visualizar por medio de la interfaz, los médicos y horarios libres en la
especialidad que necesite.
Como conclusión final del aplicativo se puede argumentar que será de gran
utilidad para la institución y el usuario, debido a la optimización de tiempo
en ambas partes, estos resultados se han visto reflejados en el nivel de
aceptación de los usuarios en las encuestas.
89
4.4. Recomendaciones.
Se sugiere invertir en un servidor que permita realizar backup de la base
de datos.
Contratar servicios con operadoras móviles con el objetivo de enviar
notificaciones mediante SMS, para aquellos pacientes que no cuentan
con correo electrónico.
Implementar un módulo que permita abonar el costo de las citas médicas.
El manual de usuario, describe el funcionamiento del aplicativo. Se
aconseja leer detenidamente para su adecuado uso.
Se recomienda leer el manual técnico, en caso de surgir una mejora o
modificación al aplicativo.
Se sugiere que, en las próximas versiones del sistema se utilice el patrón
de diseño MVP, para continuar con la calidad del desarrollo y cumplir con
los objetivos del mismo.
90
BIBLIOGRAFÍA
2007-2008, A. N. (20 de 10 de 2008). Constitución del Ecuador. Obtenido de
Artículo 35: http://repositorio.dpe.gob.ec/bitstream/39000/638/1/NN-001-
Constituci%C3%B3n.pdf
ANTILLA, M. A., RIZA, L. U., & ELGADO, B. Y. (27 de 08 de 2013).
Metodología para el desarrollo de aplicaciones móviles. Obtenido de
http://www.redalyc.org/html/2570/257030546003/
Asamblea Nacional Constituyente de Ecuador 2007-2008. (20 de 10 de 2008).
Constitución del Ecuador. Obtenido de
http://repositorio.dpe.gob.ec/bitstream/39000/638/1/NN-001-
Constituci%C3%B3n.pdf
Balaguera, Y. D. (14 de 11 de 2013). Universidad Pedagógica y Tecnológica de
Colombia, sede Tunja. Obtenido de Metodologías ágiles en el desarrollo
de aplicaciones para dispositivos móviles.: http://gestion-
it.260mb.net/docs/pdf/12Articulo_Rev-Tec-Num-2.pdf?i=1
Chandra. (2015). Metodologías de desarrollo de software. International Journal of
Computer Applications.
Developer Network. (s.f.). Introducción al servidor web (IIS). Obtenido de
Introducción al servidor web (IIS): https://msdn.microsoft.com/es-
es/library/hh831725(v=ws.11).aspx
Glenda, J. J. (18 de 01 de 2017). UTMACH. Obtenido de Implementación del
modelo de simulación kanban para mejorar las actividades de la fábrica de
calzado femenino covis.:
http://repositorio.utmachala.edu.ec/bitstream/48000/10014/1/ECUACE-
2017-AE-DE00127.pdf
http://www.json.org. (s.f.). Introducción a JSON. Obtenido de Introducción a
JSON: http://www.json.org/json-es.html
HUI, C. J. (Enero de 2013). PHONE CALLS AND TEXT MESSAGES CONTROL.
Obtenido de http://eprints.utar.edu.my/937/1/IA-2013-1006386-1.pdf
91
IBM developerWorks. (s.f.). Introducción a SOA y servicios web. Obtenido de
Introducción a SOA y servicios web:
https://www.ibm.com/developerworks/ssa/webservices/newto/service.html
IBM Knowledge Center. (s.f.). Estándares de servicio Web. Obtenido de
Estándares de servicio Web:
https://www.ibm.com/support/knowledgecenter/es/SS4JE2_7.5.5/org.eclip
se.jst.ws.doc.user/concepts/cwsstandards.html
Introducción a SOA y servicios web. (s.f.). Obtenido de Introducción a SOA y
servicios web:
https://www.ibm.com/developerworks/ssa/webservices/newto/service.html
José H. Canós, M. C. (12 de 03 de 2012). Repositorio institucional de la
Universidad de Las Tunas. Obtenido de Metodologías Ágiles en el
Desarrollo de Software: http://hdl.handle.net/123456789/476
Microsoft. (s.f.). Información general sobre ASP.NET. Obtenido de Información
general sobre ASP.NET: https://msdn.microsoft.com/es-
es/library/4w3ex9c2(v=vs.100).aspx
Mora, D. A., Carvajal, J. B., & Álvarez, M. F. (30 de 04 de 2017). Universidad de
Costa Rica. Obtenido de Metodologías de desarrollo de software:
http://www.alfarosolis.com/content/PDFs/IF7100/semana8/Metodologias.
Pérez, V. (13 de 03 de 2015). Visión gerencial. Obtenido de Herramientas
tecnológicas aplicables al Kanban para la optimización de procesos en la
empresa :
http://erevistas.saber.ula.ve/index.php/visiongerencial/article/view/7142/7
011
services, C. f. (2017). Metodología de software.
W3C. (s.f.). Web Services Description Language (WSDL) 1.1. Obtenido de Web
Services Description Language (WSDL) 1.1:
https://www.w3.org/TR/wsdl?cm_mc_uid=91442183071014986730424&
cm_mc_sid_50200000=1498673042
92
ANEXOS
ANEXO 1.
Encuestas para realizar el levantamiento de información en el
dispensario Sagrada Familia.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 41: Encuesta.
93
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 42: Encuesta.
94
ANEXO 2.
Diagrama de Gantt de la aplicación móvil de agendamiento de citas
médicas.
Ilustración 43: Cronograma de actividades 1.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 44: Cronograma de actividades 2.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
95
Ilustración 45: Cronograma de actividades 3.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 46: Cronograma de actividades 5.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
96
Ilustración 47: Cronograma de actividades 6.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 48: Cronograma de actividades 7.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
En el diagrama de actividades, se creó cada una de las tareas necesarias
para el desarrollo del aplicativo, definiendo el plazo del proyecto según las
fechas asignadas para a cada una de las actividades.
97
ANEXO 3.
Manual de usuario.
Agendar cita médica.
1. Iniciar sesión.
a. Ingrese el correo electrónico y contraseña registrada. Si no tiene
una cuenta en el Dispensario Sagrada Familia, se pude registrar
sin ningún costo.
2. Con su dedo, deslice el menú de izquierda a derecha.
3. Selección la opción: agendar cita médica.
4. Seleccione la especialidad que desea ser atendida.
5. Escoja al doctor.
a. En esta ventana, debe verificar la fecha que el doctor tiene
disponible con su hora de atención.
6. Seleccione el horario que usted desea.
7. Verifique si los datos seleccionados, son los mismos que aparecen en los
campos “Fecha” y “Hora”.
a. En caso contrario por favor regrese al paso 5.
8. Oprima el botón “Agendar”.
9. A continuación, se le presentará una pantalla con el resumen de su cita
médica.
10. Se le enviará un correo electrónico registrado en el sistema con la misma
información del paso 9.
98
Ilustración 49: Agendar cita médica.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Consultar cita médica.
1. Iniciar sesión.
a. Ingrese el correo electrónico y contraseña registrada en el
sistema. Si no tiene una cuenta en el Dispensario Sagrada
Familia, se puede registrar sin ningún costo.
2. Con su dedo, deslice el menú de izquierda a derecha.
3. Seleccione la opción: Consultar Cita.
4. A continuación, se le presentará una pantalla con todas las citas médicas
que el paciente tiene pendiente.
a. Si no tiene ninguna cita pendiente, puede agendar sin ningún
costo, en el menú “Agendar cita médica”.
99
Ilustración 50: Consultar cita médica.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Modificar cita médica.
1. Iniciar sesión.
a. Ingrese el correo electrónico y contraseña registrada en el
sistema. Si no tiene una cuenta en el Dispensario Sagrada
Familia, se puede registrar sin ningún costo.
2. Con su dedo, deslice el menú de izquierda a derecha.
3. Seleccione la opción: Consultar Cita.
4. A continuación, se le presentará una pantalla con todas las citas médicas
que el paciente tiene pendiente.
a. Si no tiene ninguna cita pendiente, puede agendar sin ningún
costo, en el menú “Agendar cita médica”.
5. Seleccione la cita que desea modificar.
6. La enviará a una pantalla similar a la de “Agendar cita médica”, en donde
solo podrá modificar al doctor con la fecha de disponibilidad.
100
Ilustración 51: Modificar cita médica.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Registrar paciente.
1. Escoja la opción “cree una nueva cuenta”.
2. Complete la siguiente información:
a. Nombres.
b. Apellidos.
c. Cédula.
d. Género.
e. Correo Electrónico.
f. Contraseña.
g. Año de nacimiento.
3. Oprima el botón “Guardar”.
4. Si sus datos fueron los correctos, le aparecerá un nuevo campo de
“Verificar clave”, en caso contrario por favor verifique el correo electrónico
que desea registrar.
5. A continuación, le llegara un e-mail con una clave, favor ingresarla en el
campo “Verificar clave”.
6. Presione el botón “Confirmar”.
7. Paciente Guardado.
101
Ilustración 52: Registrar paciente.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Modificar datos del paciente.
1. Iniciar sesión.
a. Ingrese el correo electrónico y contraseña registrada.
2. Con su dedo, deslice el menú de izquierda a derecha.
3. Seleccione la opción: Modificar datos personales.
4. Edita los campos que serán actualizados.
5. Presionar el botón guardar.
Ilustración 53: Modificar paciente. Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
102
Restablecer contraseña.
1. En la pantalla principal del sistema, ir a la opción “Recuperar contraseña”.
2. En la siguiente pantalla, ingrese el correo electrónico, al que se le enviará
un e-mail con una clave temporal.
3. Inicie sesión con la clave que se le envió en el correo.
Observación. - Le recomendamos que debe cambiar la contraseña por
seguridad.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Cambiar contraseña
1. Iniciar sesión.
a. Ingrese el correo electrónico y contraseña registrada.
2. Con su dedo, deslice el menú de izquierda a derecha.
3. Seleccione la opción: Cambiar contraseña.
4. Ingrese la contraseña actual y la nueva contraseña.
5. Presionar el botón actualizar contraseña.
Ilustración 54: Restablecer contraseña
103
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Cancelar cita
1. Iniciar sesión.
a. Ingrese el correo electrónico y contraseña registrada.
2. Con su dedo, deslice el menú de izquierda a derecha.
3. Seleccione la opción: Cancelar cita.
4. Presione la “X” en la cita que desea cancelar.
5. Confirme la cancelación de la cita.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 55: Cambiar contraseña
Ilustración 56: Cancelar cita
104
ANEXO 4.
Manual técnico.
Servicio web.
Clase controller.
Contiene las clases encargadas de exponer los endpoints de los servicios
RESTFUL, para que los clientes puedan acceder.
DiaryController. - Permite acceder a los endpoint, dando acceso para agendar
citas médicas.
DoctorController. - Clase de doctor, pone a disposición endpoints para acceder a
los servicios de la entidad Doctor.
Ilustración 57: Clase doctorcontroller.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
PatientController: Paciente, permite acceder a los servicios de la entidad Patient.
105
Ilustración 58: Clase patientcontroller.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
SpecialtyController: Especialidad, accede a los servicios de la entidad Specialty.
Ilustración 59: Clase Specialtycontroller.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Clases entities.
Contiene las clases que representan los objetos de la lógica del negocio.
Doctor: Clase java que representa la tabla "Medico" de la base de datos.
106
Diary: Clase de java, representa la tabla “Agenda”.
DiaryPatient: Representa la tabla “AgendarCita”.
Patient: Clase java que representa la tabla "Paciente".
Specialty: Clase java que representa la tabla "Especialidad".
DoctorSpecialty: Es una clase java que representa la relación entre las
tablas "Medico" y "Paciente".
Clases services.
Contiene las clases que se ejecutan las operaciones o actividades que el
usuario requiere ejecutar para completar una acción.
DoctorService: Interfaz que describe las operaciones que se realizara
sobre la entidad "Doctor".
DoctorServiceImpl: Clase java que implementa "DoctorService"
sobrescribiendo los métodos de la interfaz y agregando lógica de
negocio.
PatientService: Interfaz que describe las operaciones que se realizara
sobre la entidad "Patient".
PatientServiceImpl: Clase java que implementa "PatientService"
sobrescribiendo los métodos de la interfaz y agregando lógica de negocio
tanto para la obtención de los pacientes, así como para la creación y
modificación de un paciente.
SpecialtyService: Interfaz que describe las operaciones que se realizara
sobre la entidad "Specialty".
SpecialtyServiceImpl: Clase java que implementa "SpecialtyService"
sobrescribiendo los métodos de la interfaz y agregando lógica de negocio
tanto para la obtención de las especialidades existentes, así como para
obtener los doctores pertenecientes a una especialidad especifica.
Clases repository.
Contiene las clases que se hacen de intermediario entre la capa de
servicios y la capa de mapeo de datos.
107
DoctorRepository: Es una interfaz java que hace uso de Spring JPA para
realizar acciones sobre la entidad "Doctor".
DoctorSpecialtyRepository: Es una interfaz java que hace uso de Spring
JPA para realizar acciones sobre la entidad "DoctorSpecialty".
PatientRepository: Es una interfaz java que hace uso de Spring JPA para
realizar acciones sobre la entidad "Patient".
SpecialtyRepository: Es una interfaz java que hace uso de Spring JPA para
realizar acciones sobre la entidad "Specialty".
Proyecto Android Studio.
Login.
Este directorio contiene las clases de la arquitectura Modelo Vista
Presentador (MVP) para que el usuario pueda ingresar.
Ilustración 60: Directorio de Login.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
LoginInteractorImpl: Clase que se encargan de la conexión hacia los
servicios web para el login del usuario.
108
Ilustración 61: Clase LoginInteractorImpl.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
LoginPresenterImpl: Contiene la clase que se actúa de mediador entre la
vista y el interactor, obteniendo los datos del web service de login y
mostrándolos en la vista.
LoginActivity: Es la actividad mostrada al usuario para el ingreso de los
datos para el login del usuario.
Sign_in.
Directorio que contiene las clases necesaria para el módulo de registro de
usuario.
Ilustración 62: Directorio de Sign_in.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
109
SignInInteractorImpl: Clase que se encargan de la conexión hacia los
servicios web para el registro del usuario.
SignInPresenterImpl: Contiene la clase que se actúa de mediador entre la
vista y el interactor, enviando los datos del web service de registro para la
creación del usuario
SignInActivity: Es la actividad mostrada al usuario para el ingreso de los
datos para completar el registro.
Appointment.
Esta carpeta que contiene las clases para el módulo de agendamiento de
citas médica en el dispensario Sagrada Familia.
AppointmentInteractorImpl: Clase que se encargan de la conexión hacia
los servicios web para el agendamiento de citas y la consulta de las
mismas.
AppointmentPresenterImpl: Contiene la clase que se actúa de mediador
entre la vista y el interactor, enviando los datos del web service de
agendamiento de citas y para obtener las citas médicas para mostrarlas
al usuario
AppointmentActivity: Es la actividad mostrada al usuario para el ingreso de
los datos para completar el registro.
Services.
Directorio que contiene las interfaces usadas por Retrofit para la conexión
con los servicios web.
PatientService: Clase que contiene los endpoints para realizar acciones
sobre la entidad “Patient” de la base de datos
AutenticationService: Interfaz que contiene el endpoint de verificación de
usuario.
AppointmentService: Interfaz que contiene los endpoints para la consulta y
agendamiento de citas médicas.
110
Ilustración 63: Directorio de Services.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Entities.
Directorio que contiene las clases para la serialización de la respuesta json
a Java.
Ilustración 64: Directorio de Entities.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 65: Clase de Authentication.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
111
Ilustración 66: Clase de User.
Elaboración: Alexis Alvarado Román, Daniela González Pilay.
Fuente: Alexis Alvarado Román, Daniela González Pilay.
112
ANEXO 5.
Evidencia de encuestas.
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 67: Realización de encuestas.
113
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 68: Realización de encuestas.
114
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 69: Realización de encuestas.
115
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 70: Realización de encuestas.
116
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 71: Realización de encuestas.
117
Elaboración: Alexis Alvarado Román, Daniela González Pilay. Fuente: Alexis Alvarado Román, Daniela González Pilay.
Ilustración 72: Realización de encuestas.