Desarrollo de aplicación movil de apoyo a la plataforma web del observatorio "Monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar de Risaralda"
Texto completo
(2) DESARROLLO DE APLICACIÓN MOVIL DE APOYO A LA PLATAFORMA WEB DEL OBSERVATORIO “MONITOREO DE VARIABLES FÍSICAS Y FISIOLÓGICAS EN NIÑOS Y ADOLESCENTES EN EDAD ESCOLAR DE RISARALDA”. GISETH JOHANA GRIMALDO BOTERO. Proyecto de grado para optar por el título de Ingeniera en Sistemas y Computación. Asesora Ing. Luz Stella Valencia Ayala. UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD, INGENIERÍAS PROGRAMA INGENIERÍA EN SISTEMAS Y COMPUTACIÓN PEREIRA 2013.
(3) Nota de aceptación: _________________________ _________________________ _________________________ _________________________ _________________________ _________________________. Firma del jurado. _________________________. Pereira, 18 de Octubre de 2013. 3.
(4) DEDICATORIA. A mi madre, mi padre, mi hermano y mi novio por confiar en mis capacidades y ayudarme a lograr mis sueños.. 4.
(5) AGRADECIMIENTOS. Agradezco al Doctor Carlos Eduardo Nieto por su colaboración durante el proceso de desarrollo de la aplicación. A la ingeniera Luz Stella Valencia Ayala, por su asesoría durante el proyecto. A mis padres, mi hermano y Juan David Gomez Caldas, por confiar en mí en todo momento, apoyar y respetar mis decisiones, además de motivarme a dar lo mejor mi y ofrecerme su más puro y sincero amor; los amo. A Oscar Andres Granada Baquero por brindarme su conocimiento para lograr la conexión entre el servidor y la aplicación móvil, Gracias. A todas aquellas personas con quienes compartí mi vida universitaria, de cada una aprendí algo que atesoraré por siempre.. 5.
(6) CONTENIDO. pag.. RESUMEN ............................................................................................................. 16 INTRODUCCION ................................................................................................... 17 2. PLANTEAMIENTO DEL PROBLEMA ................................................................ 18 3. JUSTIFICACIÓN ................................................................................................ 19 4. OBJETIVOS ....................................................................................................... 20 4.1 OBJETIVO GENERAL................................................................................. 20 4.2 OBJETIVOS ESPECÍFICOS ....................................................................... 20 5. MARCO REFERENCIAL.................................................................................... 21 5.1. MARCO DE ANTECEDENTES ................................................................... 21 5.2. MARCO TEORICO ...................................................................................... 22 5.2.1 Sistema operativo móvil .................................................................... 22 5.2.2 Lenguajes de Programación ............................................................. 27 5.2.3 Motor de base de datos..................................................................... 28 5.2.4 Metodología de desarrollo ................................................................. 28 5.2.5 Servicios web .................................................................................... 39 5.3 MARCO CONCEPTUAL.............................................................................. 41. 6.
(7) 5.3.1 Actividad. ........................................................................................... 41 5.3.2 Sistema operativo móvil ..................................................................... 41 5.3.3 Lenguaje de programación ................................................................. 41 5.3.4 Metodología ágil ................................................................................. 41 6. DISEÑO METODOLÓGICO............................................................................... 43 7. REQUERIMIENTOS ........................................................................................ 45 7.1. Propósito................................................................................................... 45 7.2. Ámbito....................................................................................................... 45 7.3.. Definiciones, acrónimos y abreviaturas ................................................. 45 7.3.1 Sistema .............................................................................................. 45 7.3.2 Almacenar .......................................................................................... 45 7.3.3 Pliegues cutáneos .............................................................................. 45 7.3.4 Fisiología ............................................................................................ 45 7.3.5 Registrar ............................................................................................. 45 7.3.6 Servidor Web. .................................................................................... 46. 7.4. Referencias............................................................................................... 46. 7.5. Descripción general ................................................................................. 46 7.5.1. Perspectiva del producto ............................................................. 46. 7.5.2 Funciones del sistema........................................................................ 48 7.5.3 Características de los usuarios ......................................................... 48 7.5.4 Restricciones Generales ................................................................... 48 7.5.5 Suposiciones y dependencias ........................................................... 48 7.6. Requsitos específicos ............................................................................... 49 7.6.2. Características del sistema ......................................................... 49. 7.6.3. Requisitos de rendimiento. ........................................................... 65. 7.
(8) 7.6.4. Restricciones del sistema ............................................................. 66. 7.6.5 Atributos del sistema. ........................................................................ 66 7.6.6 Otros requisitos ................................................................................. 67 8. DISEÑO Y CODIFICACIÓN DE LA APLICACIÓN MOVIL ............................... 70 8.1 EXPLORACION .......................................................................................... 70 8.2 inicialización ................................................................................................ 70 8.2.1 Diagramas de caso de uso ................................................................ 73 8.2.2 Diagrama de actividades ................................................................. 110 8.2.3 Diagrama de base de datos ............................................................ 137 8.2.4 Diagrama de clases......................................................................... 138 8.2.5 Casos de pruebas ........................................................................... 140 8.3 productization ............................................................................................. 156 8.3.1 Story card ......................................................................................... 156 8.3.2 Recomendaciones del usuario ......................................................... 167 8.4 estabilizacion .............................................................................................. 168 8.5 prueba y arreglos del sistema .................................................................... 168 9. CONEXIÓN Y ENVIO DE DATOS ................................................................... 169 10. PRUEBA PILOTO ......................................................................................... 170 10.1 Resultados .............................................................................................. 173 10.2 VALIDACIÓN DE LA HIPOTESIS ............................................................ 178 11. CONCLUSIONES .......................................................................................... 179 12. RECOMENDACIONES .................................................................................. 180. 8.
(9) LISTA DE TABLAS. pág.. Tabla 1. Requerimientos sistema vs S.O _______________________________ 23 Tabla 2. Comparación herramientas y costos de desarrollo ________________ 24 Tabla 3. Fortalezas y debilidades de metodologías de desarrollo ____________ 36 Tabla 4.Porcentaje graso ___________________________________________ 52 Tabla 5. Estadios de desarrollo puberal en la mujer ______________________ 53 Tabla 6.Estadio de desarrollo puberal en el hombre ______________________ 54 Tabla 7. Antecedentes familiares _____________________________________ 55 Tabla 8. Nivel de flexibilidad ________________________________________ 59 Tabla 9.Grado de flexibilidad ________________________________________ 59 Tabla 10. Cronograma de actividades _________________________________ 71 Tabla 11. Caso de uso menú de actividades ____________________________ 73 Tabla 12.Subcaso de uso Ingresar datos básicos de estudiantes ____________ 74 Tabla 13. Sub caso de uso Ingresar información básica del estudiante _______ 75 Tabla 13. Continuación ____________________________________________ 76 Tabla 14.Ingresar datos institución del estudiante ________________________ 77 Tabla 15.Sub caso de uso Ingresar datos de salud estudiante ______________ 79 Tabla 16.Sub caso de uso Ingresar datos antecedentes de salud estudiante ___ 81 Tabla 17.Caso de uso, ingresar habilidades y destrezas ___________________ 82 Tabla 18.Sub-Caso de uso ingresar prueba destrezas ____________________ 83 Tabla 19.Sub caso de uso, ingresar prueba velocidad ____________________ 84 Tabla 20.Sub-caso de uso ingresar prueba salto cuerda ___________________ 85 Tabla 21.Sub-caso de uso ingresar prueba tiro al arco ____________________ 87. 9.
(10) Tabla 22.Sub-caso ingresar prueba bolos ______________________________ 89 Tabla 23.Sub-caso de uso ingresar datos pruebas fisiológicas ______________ 90 Tabla 24.Caso de uso Ingresar riesgo nutricional ________________________ 92 Tabla 25.Sub caso de uso ingresar riesgo nutricional general ______________ 93 Tabla 26.Sub-caso de uso ingresar clasificación riesgo nutricional ___________ 94 Tabla 27.Caso de uso, consultas básicas ______________________________ 95 Tabla 28.Sub caso de uso consulta información básica del estudiante (individual) _______________________________________________________________ 96 Tabla 29.Sub-caso de uso consulta básica del estudiante _________________ 98 Tabla 30.Sub-caso de uso, consulta comparativa de habilidades y destrezas __ 99 Tabla 31.Sub caso de uso resultados habilidades y destrezas(individual) ____ 101 Tabla 32.Caso de uso, administración del sistema ______________________ 102 Tabla 33.Sub caso de uso, crear usuario _____________________________ 103 Tabla 34.Sub caso de uso, crear institución ___________________________ 105 Tabla 35.Caso de uso, enviar datos _________________________________ 106 Tabla 36.Caso de uso, ingresar prueba de maduración biológica ___________ 107 Tabla 37.Caso de uso exportar _____________________________________ 108 Tabla 38.Caso de uso enviar E-mail _________________________________ 108 Tabla 39. Caso de prueba para ingresar información básica del estudiante ___ 140 Tabla 40. Caso de prueba: Ingresar institución estudiante ________________ 141 Tabla 41.Caso de prueba: Ingresar datos de salud estudiante _____________ 142 Tabla 42.Caso de prueba: Ingresar datos antecedentes de salud estudiante __ 143 Tabla 43.Caso de prueba; Ingresar habilidades y destrezas _______________ 144 Tabla 44.Caso de prueba: Ingresar datos pruebas fisiológicas _____________ 146 Tabla 45.Caso de prueba: Ingresar riesgo nutricional ____________________ 147 Tabla 46.Caso de prueba: Ingresar clasificación riesgo nutricional __________ 148. 10.
(11) Tabla 47.Caso de prueba: Consulta información básica del estudiante ______ 149 Tabla 48.Caso de prueba: Consulta comparativa habilidades y destrezas(por curso) _________________________________________________________ 150 Tabla 49.Caso de prueba: Consulta resultados habilidades y destrezas (individual) ______________________________________________________________ 151 Tabla 50. Caso de prueba: crear usuario ______________________________ 152 Tabla 51. Caso de prueba: Crear institución ___________________________ 153 Tabla 52. Caso de prueba: Ingresar prueba de maduración biológica________ 154 Tabla 53. Caso de prueba: Exportar consultas _________________________ 155 Tabla 54. Story card: Ingresar información básica del estudiante ___________ 156 Tabla 55.Story card: Ingresar datos institución estudiante ________________ 157 Tabla 56.Story card. Ingresar datos de salud estudiante __________________ 157 Tabla 57.Story card: Ingresar datos antecedentes de salud estudiante ______ 158 Tabla 58.Story card: Ingresar habilidades y destrezas ___________________ 158 Tabla 59.Story card: Ingresar prueba destrezas ________________________ 159 Tabla 60.Story card: ingresar prueba velocidad_________________________ 159 Tabla 61.Story card: Ingresar prueba salto cuerda ______________________ 160 Tabla 62.Story card: Ingresar prueba tiro al arco ________________________ 160 Tabla 63.Story card: Ingresar prueba bolos ____________________________ 161 Tabla 64.Story card: Ingresar datos pruebas fisiológicas _________________ 161 Tabla 65.Story card: Ingresar riesgo nutricional general __________________ 162 Tabla 66.Story card: Consulta comparativa de habilidades y destrezas(por curso) ______________________________________________________________ 162 Tabla 67.Story card: Consulta resultados habilidades y destrezas (individual) _ 163 Tabla 68. Story card: Consulta Resultados habilidades y destrezas(curso) ___ 163 Tabla 69.Story card: Consulta información básica del estudiante por curso ___ 164 Tabla 70.Story card: Crear usuario __________________________________ 164. 11.
(12) Tabla 71.Story card: Crear institución ________________________________ 165 Tabla 72.Story card: Ingresar prueba de maduración biológica _____________ 165 Tabla 73.Story card: Exportar consultas ______________________________ 166 Tabla 74.Story card: Enviar e-mail ___________________________________ 166 Tabla 75.Story card: Enviar datos ___________________________________ 167. 12.
(13) LISTA DE FIGURAS. pág.. Figura 1.Cuota del mercado versiones de sistema operativo Android _________ 27 Figura 2.Etapas y fases de la metodología Mobile-D. _____________________ 29 Figura 3.Familia de las metodologías Crystal ___________________________ 31 Figura 4.Practicas de XP ___________________________________________ 32 Figura 5. Funcionamiento de Scrum __________________________________ 33 Figura 6.Fases de RUP ____________________________________________ 34 Figura 7. Funcionamiento metodología cascada _________________________ 35 Figura 8. Diagrama de sistema ______________________________________ 47 Figura 9. Isquiotibiales _____________________________________________ 57 Figura 10.Adductores ______________________________________________ 57 Figura 11. Ileosoaps ______________________________________________ 58 Figura 12. Espinales bajos __________________________________________ 58 Figura 13. Recto anterior ___________________________________________ 58 Figura 14. Matriz de trazabilidad: Requerimiento funcional vs Caso de uso ____ 69 Figura 15 Diagrama: Menú de actividades. ____________________________ 110 Figura 16.Ingresar datos básicos estudiantes Fuente. El autor ____________ 111 Figura 17.Diagrama de actividades: Ingresar información básica estudiante __ 112 Figura 18. Diagrama de actividades: Ingresar institución del estudianteFuente. El autor__________________________________________________________ 113 Figura 19.Diagrama de actividades: Ingresar información salud ____________ 114 Figura 20.Diagrama de actividades: Ingresar datos antecedentes __________ 116 Figura 21.Diagrama de actividades: Elegir habilidades y destrezas _________ 117. 13.
(14) Figura 22.Diagrama: Ingresar prueba destrezas ________________________ 118 Figura 23.Diagrama de actividades, Ingresar prueba velocidad ____________ 119 Figura 24.Diagrama de actividades: Ingresar prueba salto cuerda __________ 120 Figura 25.Diagrama de actividades: Ingresar prueba tiro al arco____________ 121 Figura 26.Diagrama de actividades: Ingresar pruebas fisiológicas __________ 122 Figura 27.Diagrama de actividades: Ingresar prueba bolos ________________ 123 Figura 28.Diagrama de actividades: Ingresar Riesgo nutricional ____________ 124 Figura 29.Diagrama de actividades: Ingresar riesgo nutricional general ______ 125 Figura 30.Diagrama de actividades: Ingresar clasificación riesgo nutricional general ________________________________________________________ 126 Figura 31.Diagrama de actividades: Seleccionar consultas básicas _________ 127 Figura 32.Diagrama de actividades: Consulta información básica del estudiante128 Figura 33.Diagrama de actividades: Consulta información básica estudiante por curso _________________________________________________________ 129 Figura 34.Diagrama de actividades: Consulta comparativa habilidades y destrezas ______________________________________________________________ 130 Figura 35.Diagrama de actividades: Consulta habilidades y destrezas(individual) ______________________________________________________________ 131 Figura 36.Diagrama de actividades: Crear usuario ______________________ 132 Figura 37.Diagrama de actividades: Crear institución ____________________ 134 Figura 38.Diagrama de actividades : Ingresar prueba de maduración biológica 135 Figura 39.Diagrama de actividades : Envío de datos _____________________ 136 Figura 40.Diagrama de base de datos ________________________________ 137 Figura 41. Diagrama de clases _____________________________________ 138 Figura 42. Diagrama de clases(Continuación) __________________________ 139 Figura 43.Representación del envió de datos __________________________ 169 Figura 44. Encuesta para prueba de usabilidad_________________________ 171 Figura 45.Instrucciones para prueba de usabilidad ______________________ 172. 14.
(15) LISTA DE ANEXOS. Pag. Anexo A _______________________________________________________184 Anexo B _______________________________________________________186 Anexo C________________________________________________________192. 15.
(16) RESUMEN. En este proyecto se explora el proceso de desarrollo de una aplicación móvil que sirve de apoyo al funcionamiento de la plataforma web del observatorio “monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar de Risaralda”. Se da inicio con la elección del sistema operativo móvil a utilizar junto con las herramientas necesarias para su desarrollo(lenguajes de programación, motores de base de datos), además de una metodología de desarrollo , posteriormente con base en los requerimientos utilizados para la creación de la plataforma y utilizando la metodología ágil previamente escogida se realizan una serie de entrevistas y modelos que permiten adquirir nuevos requerimientos y así se comienza con la etapa diseño, la cual contiene múltiples tablas y figuras que proporcionan una mejor perspectiva de las necesidades del usuario respecto a la aplicación, luego se realiza la codificación del proyecto en donde se implementa la funcionalidad requerida y se documenta mediante story cards, además de pruebas de verificación, luego se establecen los algoritmos para realizar la conexión y envió de datos y mediante una prueba piloto se determina la validez de la hipótesis.. 16.
(17) INTRODUCCION. El observatorio “monitoreo de variables físicas y fisiológicas en niños y adolescentes de Risaralda”, nació de la necesidad de construir tablas de variables físicas y fisiológicas locales que permitieran conocer el biotipo del escolar Risaraldense, para ello existe una plataforma web que recolecta y almacena esta información, pero cuando se dificulta el acceso a internet no se puede acceder a ella, obligando a recolectar los datos en papel y luego pasándolos a la plataforma, lo que consume tiempo y compromete la calidad de la información. Por lo anterior se presenta como solución el desarrollo de una aplicación móvil que apoya a la plataforma web, para ello fue necesario obtener nuevos requerimientos a partir del análisis de la documentación disponible de la plataforma web, lo que proporcionó una base para comenzar con el diseño y la codificación que una vez finalizados permitieron realizar la conexión y sincronización de datos entre la aplicación y la pagina web, para finalmente determinar la validez de la solución mediante una prueba de usabilidad; cabe anotar todo este proceso fue realizado con una metodología especial para desarrollo de aplicaciones móviles conocida como Mobile-D.. 17.
(18) 2. PLANTEAMIENTO DEL PROBLEMA El proyecto Observatorio “monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar de Risaralda”[14], hace parte del grupo de investigación Grande de la Universidad Tecnológica de Pereira [15].Este proyecto inició con una primera etapa en la cual se elaboro el análisis de los requerimientos [3] además del diseño de los diagramas en UML, una vez terminada esta fase se continuo con la segunda etapa que consistió en la implementación de una plataforma web del observatorio “monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar de la Universidad Tecnológica de Pereira” [4] en donde en base a los requerimientos anteriores se realizó el desarrollo planteado desde un inicio. Durante la fase de pruebas de la segunda etapa se presentaron algunos inconvenientes en el registro de datos en campo abierto las cuales se enumeran a continuación: 1. Al momento del registro de datos, se dificulto el acceso a internet y se vio forzada la recolección de estos en forma manual, lo que comprometió la integridad datos, debido a errores de escritura, pérdida de documentos y problemas de legibilidad. 2. Las condiciones climáticas en algunas ocasiones no favorecieron la toma de datos, ya que los equipos de cómputo se veían afectados por el agua. 3. El difícil transporte de los equipos de cómputo hasta las pruebas de campo.. ¿Es posible facilitar la recolección y el almacenamiento de los datos en espacios abiertos cuando se dificulta el acceso a Internet y el transporte de los equipos?. 18.
(19) 3. JUSTIFICACIÓN En la actualidad las Tecnologías de la Información y comunicación (TIC) nos ofrecen diferentes herramientas para el acceso y recolección de datos, ejemplo de esto nos muestra, la firma Gartner Inc, en su comunicado de prensa Gartner Says Worldwide PC, Tablet and Mobile Phone Combined Shipments to Reach 2.4 Billion Units in 2013"[6], en donde informa que los dispositivos móviles como tabletas y teléfonos inteligentes son unas de las tecnologías más adoptadas en los últimos años, con un total de envíos de 2.2 billones durante el año 2012, y una proyección de 2.4 billones de envíos para el 2013 han desplazado al computador tradicional (Computador de escritorio y notebooks) y se proyecta una disminución de envíos del 7.5% para el año 2013. Lo anterior se debe a que los dispositivos móviles están siendo considerados por los usuarios finales como una extensión del computador personal, ya que presentan una amplia gama de ventajas y beneficios como la movilidad, facilidad y rapidez en el acceso, almacenamiento de la información con o sin conexión a internet, además de ofrecer integridad en la recolección y sincronización de datos. Es por esto que este proyecto propone el desarrollo de una aplicación móvil para apoyo de la plataforma web del observatorio “monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar”, como una alternativa eficiente y eficaz para la toma de datos de este, cuando no se cuenta con una conexión a internet y se requieren facilidades de transporte, además de permitirnos aplicar los conocimientos adquiridos durante la carrera y estar a la vanguardia en las tendencias actuales.. 19.
(20) 4. OBJETIVOS. 4.1 OBJETIVO GENERAL Desarrollar una aplicación móvil de apoyo para la plataforma web del observatorio “monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar de Risaralda”.. 4.2 OBJETIVOS ESPECÍFICOS . Obtener nuevos requerimientos, a partir del análisis de la documentación anterior disponible del Observatorio “Monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar en el departamento de Risaralda”.. . Diseñar y codificar una aplicación para un dispositivo móvil.. . Establecer conexión entre la aplicación móvil y la página web para la sincronización de los datos.. . Efectuar pruebas de validación y usabilidad con prueba piloto. 20.
(21) 5. MARCO REFERENCIAL. 5.1. MARCO DE ANTECEDENTES Para el Observatorio de “MONITOREO DE VARIABLES FÍSICAS Y FISIOLÓGICAS EN NIÑOS Y ADOLESCENTES EN EDAD ESCOLAR DE RISARALDA” [14] se han adelantado múltiples proyectos, como se mencionan a continuación: . Análisis y diseño de una plataforma web, soporte para el monitoreo de variables físicas y fisiológicas de niños y niñas en el departamento de Risaralda. Autores: Dolly Cuero Angulo, Juliana Londoño Loaiza. [3] Es la primera etapa del observatorio y consistió en la obtención de los requerimientos para la recolección de datos mediante una plataforma web.. . Segunda etapa de la plataforma web para el observatorio para el monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar de la Universidad Tecnológica de Pereira. Autores: Ana Teresa Cortes Hurtado, Jorge Alberto Hoyos Linton [4] Este proyecto realizó el desarrollo e implantación de la plataforma web del observatorio, con base en el análisis hecho en la primera etapa; fue creada con los lenguajes de programación HTML, PHP, JavaScript y con el sistema gestor de bases de datos MySQL.. . Primeros pasos para programar aplicaciones móviles en Java. Autores: Juan David Montoya M, Saulo de Jesús Torres, Paula Andrea Villa S. Artículo que enseña los pasos básicos para desarrollar una aplicación móvil mediante el ejemplo de una historia clínica para el Observatorio “Monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar”. [12]. 21.
(22) 5.2. MARCO TEORICO. 5.2.1 Sistema operativo móvil. Para el desarrollo de la aplicación móvil del “observatorio de variables físicas y fisiológicas en niños y adolescentes de Risaralda” es necesario encontrar un sistema operativo que permita flexibilidad tanto en hardware como software, puesto que actualmente el observatorio no cuenta con una infraestructura ni equipos fijos para su funcionamiento; igualmente se necesita estabilidad que garantice la integridad de los datos ya que se trabajan con datos sensibles, y finalmente que presente una vasta oferta de productos puesto que se necesita elegir un equipo adecuado para el campo abierto. A continuación se muestra una breve descripción de algunos de los sistemas operativos móviles más relevantes de la actualidad 5.2.1.1 Android [1]. El sistema operativo móvil android fue creado por la Open Handset Alliance. Tiene licencia software Apache de software libre y código fuente abierto. Android permite a los desarrolladores escribir código manejado en lenguaje de programación Java. Su pila de software consiste de aplicaciones Java que ejecutan en un framework de aplicaciones Java orientadas a objetos sobre librerías de núcleo Java que ejecutan sobre una máquina virtual Dalvik con compilación JIT.. 5.2.1.2 IOS [11]. Es un sistema operativo móvil desarrollado por Apple, originalmente se llamaba iPhone OS pero en 2009 se cambio el nombre a iOS, el cual funciona en los iPhone, iPod Touch y iPad. Este sistema operativo usa una interfaz gráfica moderna (GUI), la cual está diseñada para una entrada TouchScreen, otra característica muy importante es la facilidad de uso la cual dejo sin integrar una gran variedad de características encontradas en sistemas operativos tradicionales.. 5.2.1.3 Windows Phone [5]. El sistema operativo móvil desarrollado por Microsoft, para uso en teléfonos inteligentes y dispositivos móviles. Su versión actual está basada en el núcleo del sistema operativo Windows CE 7 e implementa una serie de aplicaciones básicas desarrolladas con la API de Microsoft Windows.. 22.
(23) 5.2.1.4 Blackberry [2]. Se trata de una plataforma de software propietario, creado por RIM 17 para su línea de teléfonos inteligentes BlackBerry. Este sistema operativo proporciona multitarea y soporta dispositivos de entrada especializados (adoptados por RIM en sus dispositivos móviles), como pueden ser la rueda, bola y panel de desplazamiento, o la pantalla táctil. Para tener un mejor panorama sobre los sistemas operativos mencionados anteriormente se han realizado 2 tablas comparativas, las cuales reúnen información sobre requerimientos de hardware y software, además de costos y licencias, estas se muestran a continuación. Tabla 1. Requerimientos sistema vs S.O. Requerimientos sistema\ s.o. BlackBerry. IOS. Android. IDE. Eclipse 3.7 classic 32b Nota: Requerimientos de memoria debe ser mínimo 512M o más. XCODE 1.50 GB de espacio OS X 10.7.4 o superior. Eclipse 3.6.2 Visual Studio (Helios) o mayor Express 2012. Runtime Enviroment. Java SE Development Kit (JDK) 6 32b, update 14 or later. Objetiveruntime. JDK 6(JRE no es suficiente). Procesador. Windows: PC con Intel Pentium 4 processor or AMD Athlon 2.5 GHz or mayor Mac: Intel Core i5 desktop processor, 2.53GHz 6GB GB o más disponible de almacenamiento en el Disco duro 4Gb de RAM o más. Mac: Intel Core desktop processor, 2.53GHz mayor. Espacio de almacenamiento. Memoria Monitor. Resolución 1024x768 o más. C. Windows Phone. Intel Core i5 desktop processor, 2.53GHz o mayor. 64-bit(X64). 8GB o más. 16 GB o más. 6.5 GB o más. 4Gb de RAM o más Resolución 1024x768 o más. 4GB de RAM o más. 4GB de RAM o más. i5. o. Resolución 1024x768 o más. Continua.... 23.
(24) Sistema Operativo. Windows: Windows XP, Windows 7 (64b or 32b) Mac: Mac OS X 10.6 Snow Leopard, or Mac OS X 10.7 Lion. Mac: Mac OS X 10.6 Snow Leopard, or Mac OS X 10.7 Lion. Windows XP (32-bit), 64-bit version Vista (32- or 64Windows bit), or Windows 7 edition (32- or 64-bit) Pro ó Mac OS X 10.5.8 or mayor later (x86 only) Linux (tested on Ubuntu Linux, Lucid Lynx) o GNU C Library (glibc) 2.7 or later is required. o On Ubuntu Linux, version 8.04 or later is required. o 64-bit distributions must be capable of running 32-bit applications.. Fuente : El autor.. Tabla 2. Comparación herramientas y costos de desarrollo Blackberry Herramientas para desarrollo. IOS. Android. Windows phone. AndroidSdK. Windows pone SDK 8.0:. IOS SDK: BlackBerry Java Plug-in for Eclipse The BlackBerry Java SDK. XCode ios Simulator Instruments Interface Builder. IDE Netbeans. Visual Studio Express 2012 para Windows pone. Blend para Visual Studio Librería de diseño para Windows pone Windows pone Emulator. 24.
(25) Costo para acceder al market. Ninguno1. USD 99 por añoIOS Developer Program. Este programa está diseñado especialmente para una compañía con un equipo de desarrollo de aplicaciones IOS para distribuirlas en la APP store. EL programa proporciona las herramientas además del acceso al market.2. Tarifas para publicar aplicaciones pagas. 30% del valor de cada unidad descargada.. Las tarifas de publicación y venta. USD 25 por el registro en el market, el cual se debe realizar a través de una cuenta googlechekout3 Checkout Merchant Transaction Fee. USD 19 por cada 100 aplicaciones pagas ó número ilimitado de aplicaciones no pagas.. 30% del valor de cada unidad descargada.6. 30% del valor de cada unidad descargada.7. Gratis si se Dreampark Estudiante5. es. 4. Fuente: El autor.. En la Tabla 1.Requerimientos sistema vs S.O, se observa una comparación de los requerimientos físicos y de software que necesita cada S.O, se puede observar que el desarrollo con el S.O IOS es más restrictivo tanto en hardware como en software puesto que exige que todos los productos utilizados sean de la misma 1. BLACKBERRRY LIMITED. Apply for a membership Account [Aplica para una cuenta de miembro].[en línea]. 2013.Disponible en intertnet<http://developer.blackberry.com/devzone/blackberryworld/apply_for_a_blackberry_world_ membership_account.html#pde1350406051752> 2 APPLE INC. iOS developer program [Programa de desarrollador para iOS].[en línea].2013.Disponible en internet<https://developer.apple.com/programs/ios/> 3 GOOGLE. Supported locations for merchant. [en linea]. 2013. Disponible en internet <https://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=150324> 4 GOOGLE. Developer registration [Registro del desarrollador].[en línea].2013. Disponible en internet<https://support.google.com/googleplay/androiddeveloper/answer/113468?hl=en&ref_topic=2897388> 5 MICROSOFT. Join [Union]. [en línea]. 2013. Disponible en internet <https://dev.windowsphone.com/en-us/join> 6 GOOGLE. Transaction Fees [Tarifas de transacción]. [en línea]. 2013. Disponible en internet< https://support.google.com/googleplay/android-developer/answer/112622?hl=en&ref_topic=15867> 7 MICROSOFT. Tax details for paid apps.[en línea]. 2013. Disponible en intertnet <http://msdn.microsoft.com/en-us/library/windowsphone/help/jj206727(v=vs.105).aspx>. 25.
(26) marca, mientras que Android, Windows phone y Backberry son más flexibles de acuerdo a las necesidades de hardware y software (S.O), es por esto que se descarta a IOS para el desarrollo. Ahora, en la Tabla 2. Comparación de herramientas y costos de desarrollo, se encuentran las herramientas necesarias para el desarrollo además las tarifas para acceder a ellas, asimismo el costo de publicación y de venta en los mercados de aplicaciones (market), se evidencia que la característica común en todos es la tarifa de venta, pero los costos para acceder al market son diferentes siendo el más elevado Android con USD 25, Windows phone con USD 19 o USD 0 si se cuenta con una cuenta Dream Spark y el más bajo de todos el de Blacberry con USD 0. Por el lado de la penetración del mercado de estos sistemas operativos tenemos a Android que lidera la lista con 497.082 unidades enviadas durante el 2012, seguido por Windows phone con 346.457, y en cuarta posición seguido de IOS se encuentra Blackberry con sólo 34.177 unidades, lo que lleva a descartarlo para la elección. Finalmente el último aspecto a evaluar es la estabilidad del sistema operativo, Android fue lanzado en el año 2005 y va en la versión 4.3-Kitkat mientras que Windows phone fue lanzado en el año 2010 con la versión 8.0 y sólo hasta el año 2012 se ha visto un incremento en el número de productos vendidos, debido a la alianza entre Microsoft y Nokia, pero aún el sistema presenta fallas y conflictos con el hardware. Por lo anterior es que se elige Android como sistema operativo móvil para el desarrollo de la aplicación del “Observatorio variables físicas y fisiológicas en niños y adolescentes de Risaralda”, ahora para elegir la versión a utilizar se debe tener en cuenta el dispositivo móvil en el cual se van a realizar las pruebas, este posee la versión 4.0.3 Ice-Cream Sandwich(API 15), lo cual es positivo ya que según la figura 1, esta versión tiene una cuota de distribución en el mercado del 20,6 %, además si al momento del desarrollo de la aplicación se elige una versión mínima de compatibilidad como la 2.3.7 GingerBread se asegura que el rango de equipos en el cual funcione sea mayor.. 26.
(27) Figura 1.Cuota del mercado versiones de sistema operativo Android. 48.6%. 2.2% 20.6% 28.5%. 0.1%. Fuente. Google dashboards8 5.2.2 Lenguajes de Programación. A continuación se hace una breve descripción de los lenguajes de programación que utiliza el sistema operativo Android para el desarrollo las aplicaciones móviles.. 5.2.2.1 JAVA. Según la organización ORACLE9, Java es un lenguaje de programación y la primera plataforma informática creada por Sun Microsystems en 1995. Es la tecnología subyacente que permite el uso de programas punteros, como herramientas, juegos y aplicaciones de negocios. La principal virtud de Java, es que se trata de un lenguaje de programación orientado a objetos, lo que permite al programador desarrollar aplicaciones de forma más sencilla e intuitiva. Toda la funcionalidad requerida para una aplicación móvil Android, es desarrollada en este lenguaje. 5.2.2.2 XML. Según la organización W3C10, es un Lenguaje de Etiquetado Extensible muy simple, pero estricto que juega un papel fundamental en el intercambio de una gran variedad de datos. Es un lenguaje muy similar a HTML, pero su función principal es describir datos y no mostrarlos como es el caso de 8. GOOGLE. Dashboards. [en línea]. 2013. <http://developer.android.com/about/dashboards/index.html>. Disponible. en. internet. 9. ORACLE. ¿Qué es la tecnología Java y por qué la necesito?. [en línea]. 1995-2010. Disponible en internet < http://www.java.com/es/download/faq/whatis_java.xml> 10. FUNDACION CTIC. Guía breve de tecnologías XML. [en línea]. 2013. Disponible en internet <http://www.w3c.es/Divulgacion/GuiasBreves/TecnologiasXML>. 27.
(28) HTML. XML es un formato que permite la lectura de datos a través de diferentes aplicaciones. Las tecnologías XML son un conjunto de módulos que ofrecen servicios útiles a las demandas más frecuentes por parte de los usuarios. XML sirve para estructurar, almacenar e intercambiar información. En el caso de Android, XML es utilizado para declarar los elementos de la interfaz de usuario, puesto que este cuenta con etiquetas simples que permiten definir el diseño y atributos de esta.. 5.2.2.3 SQL. “SQL es un lenguaje de programación estándar ANSI utilizado para acceder y manipular bases de datos, sus siglas significan lenguaje de consulta estructurado”. 11 Este lenguaje es utilizado en Android para realizar todas las consultas pertinentes a la base de datos.. 5.2.3 Motor de base de datos. El sistema operativo Android, cuenta un motor de base de datos por defecto conocido como SQLITE el cual se describe a continuación.. 5.2.3.1 SQLITE Es una librería en proceso que implementa un motor de base de datos transaccional, autónomo, que no tiene necesidad de utilizar servidor, ni de realizarse configuraciones de ningún tipo, SQLITE lee y escribe directamente a archivos de disco normales. Suele ser utilizado en dispositivos móviles como teléfonos inteligentes, reproductores de mp3, entre otros debido a que es una librería de tamaño pequeño (menos de 500kib) que utiliza poca 12 memoria RAM para funcionar.. 5.2.4 Metodología de desarrollo. Para realizar el desarrollo de la aplicación móvil, es conveniente encontrar y elegir una metodología que se adecue a las características del proyecto, es por esto que a continuación se muestra una breve. 11. REFSNES DATA. Introduction to SQL [introducción a SQL].[en línea]. 1999-2013.Disponible en internet <http://www.w3schools.com/sql/sql_intro.asp> 12 AboutSQLITE [Sobre SQLite]. [en línea]. Disponible en internet <http://www.sqlite.org/about.html>. 28.
(29) descripción de algunas de las metodologías de desarrollo utilizadas en la actualidad.. 5.2.4.1 MOBILE-D [16]. Mobile-D es una metodología ágil para el desarrollo de software. Además del desarrollo de software para dispositivos móviles, es conveniente para varios contextos, por ejemplo, la seguridad, financiera, logística y aplicaciones de productos de simulación. Esta metodología ágil se basa en las practicas de desarrollo de XP(Programacion Extrema), el método de escalabilidad de la metodología Crystal, y la cobertura ciclo de vida de la metodología Rational Unified Process. 13 Propone diferentes fases de desarrollo …ver figura 2… las cuales son: . Exploración, esta fase se enfoca en planear y establecer el proyecto. Inicialización, Preparar y verificar todas las cuestiones relacionadas con el proyecto. Productization, se encarga de hacer la implementación requerida del proyecto. Estabilización, se finaliza la implementación del producto y se realizan mejoras. Prueba y arreglos del sistema, se hacen pruebas y solucionan errores.. Nota. Más información de esta metodología en el Anexo B. Figura 2.Etapas y fases de la metodología Mobile-D.. Fuente: VTT electronics(2006). 13. KYNKÄÄNNIEMI, Tanja; KOMULAINEN Kaisa. En: Agile documentation in mobile-D projects. Marzo, 2006, p 39. 29.
(30) 5.2.4.2 METODOLOGIAS CRYSTAL. Como menciona Rod Coffin14, esta es una familia de metodologías de desarrollo ágil creada por Alistair Cockburn a mediados de los años 90, son consideradas adaptables y ligeras, puesto que fueron creadas para proyectos con diversos tamaños de equipos y complejidades. De acuerdo a lo anterior, las metodologías pertenecientes a esta familia se dividen en colores como Crystal clear(1-6 personas), Crystal yellow(7-20 personas), Crystal orange (21-40 personas), Crystal red (41-80 personas), Crystal maroon (81-200 personas) … ver figura 3… ; y cada una de estas en niveles de criticidad(Potencial del sistema de causar daño) : . Comfort (C) Discretionary Money (D) Essential Money (E) Life (L). Los cuales determinan la serie de roles, documentos, estándares de codificación, pruebas y entregables para la realización del proyecto pero siempre teniendo presente los siete principios fundamentales de la familia Crystal: . Entregas Frecuentes Continua retroalimentación Constante comunicación Seguridad Enfoque Acceso a los usuarios Integración y pruebas automatizados.. 14. COFFIN, Rod; LANE, Derek. A practical Guide to seven Agile Methodologies, part 2 [Guía práctica para siete metodologías ágiles].[en línea].Octubre 17, 2006. Disponible en internet <http://www.devx.com/architect/Article/32836/0/page/2,> Crystal methods [Métodos Crystal].[en línea]. Marzo 2013. Disponible en internet <http://en.wikiversity.org/wiki/Crystal_Methods>. 30.
(31) Figura 3.Familia de las metodologías Crystal. Fuente. A Practical Guide to Seven Agile Methodologies Part 2 5.2.4.3 Extreme Programming [Programación Extrema], XP Según la página oficial de esta metodología15, Es una disciplina de desarrollo ágil de software que se basa en los valores de simplicidad, comunicación, retroalimentación, coraje y respeto. Funciona porque reúne a todo el equipo en presencia de prácticas simples con suficiente retroalimentación lo que sirve para ajustar las prácticas a la situación particular. Esta metodología se enfoca en que sus programadores trabajen en pareja o grupos acompañados del cliente, con un diseño simple, constantes pruebas del código y un estilo definido de programación para que así todos puedan entenderlo y mejorarlo si es necesario, además de otras prácticas …ver figura 4 … básicas conocidas como: . El juego de la planeación Pruebas del cliente Pequeñas entregas Diseño simple Desarrollo basado en pruebas Mejoramiento del diseño Integración continua Propiedad colectiva del código Estándar de codificación Ritmo sostenible. 15. JEFFRIES; Ronald E. What is Extreme Programming? [Que es Programación Exterma?]. [en línea].1999-2013.Disponible en internet < http://xprogramming.com/what-is-extreme-programming/>. 31.
(32) Figura 4.Practicas de XP. Fuente. Sitio web oficial XP 5.2.4.4 SCRUM. En carta de referencia de Scrum16 donde se menciona la metodología se indica que Scrum es un marco de gestión para el desarrollo incremental de productos, valiéndose de uno o más equipos multi-funcionales, auto organizados, de aproximadamente siete personas cada uno. Proporciona una estructura de roles, reuniones, reglas y artefactos. Los equipos son los responsables de crear y adaptar sus procesos dentro de este marco. Scrum utiliza iteraciones de longitud fija que se denominan Sprints, que son típicamente de dos semanas o 30 días de duración. Los equipos Scrum intentan generar un incremento de producto potencialmente entregable (debidamente probado) en cada iteración ...ver figura 5…. 16. JAMES, Michael. Scrum reference card [Carta de referencia de Scrum]. [en linea].2010-2013. Disponible en internet <http://www.scrumreferencecard.com/ScrumReferenceCard_v0_9l-es.pdf>. 32.
(33) Figura 5. Funcionamiento de Scrum. Fuente. Scrum reference Card,Michael James 5.2.4.5 RUP (Rational Unified Process). Adaptación de IBM sobre el marco de procesos de desarrollo de software conocido como UP(Unified Process) en la cual se especifican las actividades y objetos involucrados en un proyecto de software.17 RUP, provee un acercamiento a la asignación de tareas y responsabilidades dentro del desarrollo de la organización, su objetivo es asegurar la producción de software de alta calidad que supla las necesidades de los usuarios finales, dentro de un horario y presupuesto predecible18. El ciclo de vida del desarrollo de software en RUP está dividido en ciclos …ver figura 6… donde en cada uno de ellos se trabaja en una nueva generación del producto, cada ciclo posee 4 fases consecutivas: . Incepción Elaboración Construcción Transición. 17. http://www.devx.com/architect/Article/32836 RATIONAL SOFTWARE CORPORATION.Rational Unified Process, Best practices for software development teams. [en línea]. 1998. Disponible en internet <http://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_bestpractices _TP026B.pdf> 18. 33.
(34) Las cuales al ser concluidas deben permitir realizar decisiones críticas y alcanzar los objetivos principales. Figura 6.Fases de RUP. Fuente. Rational software White paper, IBM.. 5.2.4.6 Cascada. En el libro Metodología y tecnología de programación19 se menciona que la metodología cascada es también conocida como el ciclo de vida clásico del software, fue propuesto por W. Royce a principio de 1970. Se distinguen una serie de pasos…ver figura 7… que se muestran a continuación. . . Especificación de requerimientos: Este es el proceso más extenso de esta metodología, puesto que se busca captar y comprender las necesidades del software, es por ello que los requerimientos son documentados y revisados por el cliente. Diseño. En esta etapa se busca traducir los requisitos del software a un modelo el cual sea entendido por las personas que realizan la codificación. Codificación. Es la traducción de las especificaciones de diseño a un lenguaje de programación.. 19. MOLINA MARCO, Antonio. Introducción a la ingeniería de programación. En: Metodología y tecnología de la programación. Pie de imprenta: Valencia, España; Camino de Vera;1997. p 9.. 34.
(35) . Prueba. Es una etapa que tiene como objetivo verificar el funcionamiento del software. Integración. Se unen los distintos componentes que conforman el software. Mantenimiento. Se hacen las modificaciones pertinentes bien sea por solicitud del usuario o porque el software presenta errores.. Figura 7. Funcionamiento metodología cascada Especificación de requerimientos. Diseño. Codificación. Prueba. Integración. Mantenimiento. Fuente. El autor Un mejor panorama de las metodologías mencionadas anteriormente, es presentado en la tabla 3, la cual muestra una comparación entre las fortalezas y debilidades de estas; es de notar que existe una división de metodologías, por un lado tenemos las metodologías tradicionales como Cascada y RUP las cuales se caracterizan hacer que el desarrollo sea largo y pesado; y por otro lado encontramos metodologías ágiles como XP, SCRUM, Mobile-D y Crystal las cuales son más flexibles para el desarrollo. Ahora la aplicación móvil a desarrollar presenta una serie de características como que el grupo de desarrollo sólo está conformado por una persona, además que se cuenta con un tiempo corto, aproximadamente 4 meses; es por esto que las metodologías tradicionales no son muy adecuadas ya que requieren de mucho tiempo además de ser poco flexibles si se necesita hacer un cambio, descartándolas así de la elección. Por lo anterior quedan cuatro metodologías agiles como opciones, y si bien todas estas metodologías tienen los atributos necesarios para ser elegidas, hay que 35.
(36) tener en cuenta que tanto XP, como SCRUM, y Crystal fueron diseñadas para realizar cualquier tipo de proyecto; mientras que Mobile-D fue creada especialmente para el desarrollo de aplicaciones móviles, además, su metodología se basa en las mejores prácticas de XP, SCRUM,CRYSTAL y RUP, por consiguiente se elige Mobile-D como metodología de desarrollo. Tabla 3. Fortalezas y debilidades de metodologías de desarrollo Metodología XP. Scrum. Fortalezas Debilidades Fuertes practicas Requiere que el técnicas cliente esté en el sitio Propiedad del cliente en La comunicación caracterizar la es principalmente prioridad, verbal y de código. propiedad del Para algunos desarrollador de equipos estos son estimaciones los únicos artefactos creados, Frecuentes mientras que otros oportunidades de crean un pequeño comunicación. diseño además Ampliamente documentación de conocido y usuario. adoptado, al Dificultad para los menos en los nuevos adoptantes Estados Unidos en determinar cómo dar cabida a las preocupaciones de arquitectura y de diseño Se complementan Solamente provee las practicas apoyo a la existentes administración del proyecto, las otras Auto- organización disciplinas están de equipos y fuera de alcance. comentarios No especifica Prioridades practicas técnicas. basadas en el valor del negocio. Puede tomar algún tiempo para conceder al negocio prioridades únicas 36.
(37) Metodología. Crystal. Fortalezas. . . . . . Debilidades para cada requerimiento.. Familia de metodologías diseñadas para ser escaladas por tamaño y criticidad del proyecto. Es la única metodología que se puede utilizar para proyectos donde se involucre la vida. A medida que crece el tamaño del proyecto, se utilizan equipos multifuncionales para garantizar la coherencia El componente “humano” ha sido considerado para cada aspecto de la estructura de apoyo del proyecto. El énfasis en el testeo es tan fuerte que al menos se espera que halla una persona que realice este en cada equipo del proyecto.. 37. . . . . Espera que todos los miembros del equipo estén ubicados. Podria no funcionar para equipos distribuidos Son requeridos ajustes si se cambia de un proyecto con tamaño y estructura definida a otro, con el fin de seguir la guía de tamaño y criticidad de Crystal Mudarse de un color de Crystal a otra en mitad del proyecto, no funciona, puesto que Crystal no fue diseñada para ser compatible ascendentemente o descendentemente . P.
(38) Metodología RUP20. Mobile-D. Fortalezas Debilidades Especial énfasis en Los miembros del documentación equipo necesitan precisa ser expertos en esta metodología Es proactivamente para desarrollar un capaz de resolver software bajo esta. los riesgos del proyecto asociado El proceso de con la evolución de desarrollo es los requerimientos complicado y del cliente desorganizado. Se requiere menos En proyectos de tiempo para la vanguardia que integración utilizan nueva tecnología, la El tiempo de reutilización de desarrollo es componentes no menor puesto que será posible. Por lo se hace una tanto el ahorro de reutilización de los tiempo se podría componentes. haber hecho será imposible de cumplir. . . Múltiples prácticas desarrolladas Esta hecha especialmente para su uso en el desarrollo de dispositivos móviles Se basa en múltiples metodologías reconocidas como XP, Crystal, RUP, SCRUM. 20. . Se puede crear demasiada documentación o muy poca de ella, dependiendo de cómo se utilice la metodología.. SOUSA’S, Susan. The advantages and disadvantages of RUP software development.[en línea].2009. Disponible en internet < http://www.my-project-management-expert.com/theadvantages-and-disadvantages-of-rup-software-development.html>. 38.
(39) Metodología Cascada21. Fortalezas Debilidades Se realiza una No es flexible, planeación sólida puesto que no antes de iniciar. permite devolver de un punto del Es organizada, ciclo a otro. puesto que se documenta todo el La documentación proceso. puede ser pesada de realizar. Funciona muy bien en desarrollo de Puede tardar proyectos que mucho tiempo necesiten niveles realizar un más altos de proyecto con esta tolerancia a fallos. metodología. Fuentes. The advantages and disadvantages of RUP software development A practical Guide to seven Agile Methodologies, part 2 RUP & Agile(Scrum) El autor.. 5.2.5 Servicios web. La conexión y el envió de los datos entre la aplicación móvil y el servidor web que aloja a la plataforma del observatorio, necesita de una arquitectura o protocolo que permita la interoperabilidad entre estos. Un servicio web es la opción ya que es una tecnología que utiliza un conjunto de estándares y protocolos que sirven para intercambiar datos entre aplicaciones, permitiendo que a la hora de comunicarse entre aplicaciones creadas en diferentes lenguajes de programación y ejecutadas en diferentes plataformas, no existan inconvenientes. A continuación se presentan las diferentes opciones de servicios web disponibles en la actualidad.. 5.2.5.1 SOAP. En el gran libro de Android22 se menciona que SOAP, es un servicio web basado en la arquitectura orientada a servicios (SOA) en la cual la unidad de interacción es el mensaje el cual es definido con una estricta sintaxis de XML.. 21. KHAN, Atif. RUP & Agile(Scrum).[Diapositiva]. Mayo 2010. Disponible en internet < https://cs.uwaterloo.ca/~a78khan/courses-offered/cs446/2010_05/lectureslides/08_development_processes.pdf> 22 GIRONÉS TOMÁS, Jesus.El Gran libro de android. 3 ed. Barcelona, MARCOMBO S.A, 2013. P 238.. 39.
(40) SOAP es la sigla de Simple Object Access Protocol [Protocolo de acceso simple a objetos], fue creado en el año de 1998 por Microsoft , IBM y otros, actualmente es manejado por la W3C. El funcionamiento de SOAP según IBM23 consiste en un mensaje creado en XML que posee tres partes: . . Una etiqueta conocida como <Envelope> la cual define un framework para describir el contenido del mensaje y sus instrucciones de proceso, esto mediante los header que son los que contienen control de información como los atributos de calidad de servicio y el body que contiene la identificación del mensaje y sus parámetros. Un conjunto de reglas de codificación para expresar instancias de los tipos de datos definidos en la aplicación una convención que sirve para representar los llamados y respuestas a procedimientos remotos.. Los mensajes SOAP son fundamentalmente de una sola vía de transmisión entre el que envía y el que recibe, pero también pueden ser utilizados en patrones como solicitud/respuesta. 5.2.5.2 REST. Es la sigla de Transferencia de Estado Representacional, es una arquitectura que se centra en la solicitud de recursos y utiliza los principios básicos de la aplicación WWW: . . transporte de datos mediante HTTP por medio de las operaciones básicas : o Petición GET, el recurso se solicita a través de la URL al servidor web. o Petición POST, el recurso se solicita mediante un conjunto de datos o Petición PUT, envía el recurso identificado en la URL desde el cliente hacia el servidor o Petición DELETE, solicita al servidor que borre el recurso identificado con el URL. Los diferentes servicios son invocados mediante URI(identifica un recurso en internet) unificado. La codificación de datos es identificada mediante tipos MIME(text/html,image/gif).. REST es una arquitectura simple, que tiene buenos tiempos de respuesta entre el cliente y el servidor, presenta mayor estabilidad frente a los cambios, además de sencillez en su desarrollo para clientes; pero su inconveniente es que no se mantiene el estado por lo tanto cuando el servidor trata una solicitud lo hace de forma independiente sin recordar solicitudes anteriores. 23. IBM Redbooks. WebSphere Version 6 Web Services Handbook Development and Deployment. IBM;Durham, NC, USA; Julio 2005.p 41-42. 40.
(41) NOTA: Para más información sobre REST dirigirse al Anexo C. Conforme a los servicios web presentados anteriormente, para realizar una elección se debe tener en cuenta que aunque el uso de SOAP ha sido bastante difundido, no es adecuada su utilización en el sistema operativo Android, puesto que su complejidad hace que tenga un rendimiento menor en comparación con REST, además Android no posee librerías nativas para trabajar con SOAP mientras que si las tiene para REST, conjuntamente el servidor web que aloja la plataforma web del observatorio no se encuentra basado en SOAP, lo que descarta esta opción y deja a REST como elección para realizar el envío de la información almacenada. 5.3 MARCO CONCEPTUAL. 5.3.1 Actividad. El portal oficial de Android24 define que en este sistema operativo, una actividad es un componente de la aplicación que provee una pantalla con la cual los usuarios pueden interactuar para realizar alguna operación, como marcar un número de teléfono, tomar una fotografía, enviar un correo electrónico o ver un mapa. Cada actividad provee una ventana en la cual se dibuja la interfaz de usuario, la cual normalmente llena la pantalla, pero algunas veces puede ser más pequeña que esta y flotar sobre otras ventanas. 5.3.2 Sistema operativo móvil. Es un programa que hace una administración de todos los recursos de hardware del dispositivo móvil y provee interfaces de comunicación entre estas y el usuario. 5.3.3 Lenguaje de programación. Conjunto de símbolos y reglas definidos para expresar procesos que van a ser llevados a cabo por una computadora. 25 5.3.4 Metodología ágil. Para Ian Sommerville26 son métodos de desarrollo iterativo que se centran en la especificación, diseño e implementación del sistema de forma incremental. Implican directamente a los usuarios en el proceso de desarrollo. Reducir la sobrecarga en cuanto al esfuerzo de desarrollo puede hacer posible un desarrollo del software más rápido.. 24. GOOGLE. Activities [Actividades].[en línea]. 2013. Disponible en línea <http://developer.android.com/guide/components/activities.html> 25 WIKIPEDIA. Lenguaje de programación.[en línea]. 2013. Disponible en línea <http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n> 26 SOMMERVILLE, Ian. Desarrollo rápido de software. En: Ingeniería del software. 7 ed. Madrid, Pearson Education S.A, 2005. P 377.. 41.
(42) 5.3.5 JIT(Just in time compilation). Según el portal oficial de IBM27, el compilador JIT (Just-In-Time) es un componente de Java Runtime Environment. Mejora el rendimiento de las aplicaciones Java compilando códigos de bytes en el código de máquina nativa en tiempo de ejecución.. 27. IBM CORPORATION. Visión general del compilador JIT.[en línea]. 2005,2013.Disponible en internet <http://pic.dhe.ibm.com/infocenter/java7sdk/v7r0/index.jsp?topic=%2Fcom.ibm.java.zos.70.doc%2F diag%2Funderstanding%2Fjit_overview.html>. 42.
(43) 6. DISEÑO METODOLÓGICO. Hipótesis. Una aplicación móvil facilita la recolección y el almacenamiento de los datos en espacios abiertos cuando se dificulta el acceso a Internet y el transporte de los equipos.. Obtención de nuevos requerimientos a partir del análisis de documentación anterior, para llevar a cabo el desarrollo de este objetivo, se tendrá en cuenta la información de los proyectos desarrollados anteriormente; “análisis y diseño de una plataforma web, soporte para el monitoreo de variables físicas y fisiológicas de niños y niñas en el departamento de Risaralda”[3] y “Segunda etapa de la plataforma web, como soporte del observatorio de la Universidad Tecnológica de Pereira”[4]. A partir del análisis anterior y mediante nuevas entrevistas con las personas involucradas en el proceso, se obtendrán y documentaran los nuevos requerimientos. Diseño y codificación de aplicación móvil, Con la información proporcionada por los objetivos anteriores y teniendo en cuenta la posible volatilidad de los requerimientos, el ciclo de desarrollo corto (4 meses), además de un equipo de desarrollo pequeño (1 persona); se requiere utilizar técnicas de desarrollo rápido, es por esto, se utilizará Mobile-D, para el desarrollo de este ítem. Por lo anterior esta etapa contara de las siguientes fases: 1. Exploración, en donde se realizará la planeación del proyecto. 2. Inicialización, se preparan los recursos físicos y técnicos, el entrenamiento, los medios de comunicación a utilizar, el análisis de los requerimientos iniciales; todo esto con el objetivo que al final estén preparadas para implementar los requisitos seleccionados. 3. Producto, Se implementa la funcionalidad de la aplicación con ciclos de vida iterativos y/o incrementales. 4. Estabilización, se realiza la integración de subsistemas (si fueron creados).. 43.
(44) 5. Prueba del sistema, se verifica la funcionalidad de la aplicación con base en los requerimientos Posteriormente se debe establecer conexión entre la aplicación móvil y la pagina web, para ello, se debe realizar un estudio sobre las interfaces de entrada y salida proporcionadas por la página web, para luego determinar el protocolo más conveniente para esta conexión. Validación del sistema con prueba piloto, finalmente luego de tener implantada la aplicación móvil además de haber establecido conexión con la página web, se realizará la prueba piloto en un campo abierto, con 15 niños. Para determinar la validez o falsedad de la hipótesis se medirá la usabilidad mediante encuestas las cuales se realizarán al equipo de trabajo que realice la prueba de campo. Las encuestas tendrán un formato donde se darán varios puntos a evaluar de 1 a 10, estos puntos serán uno por cada actividad ejecutada durante la recolección de datos en la aplicación móvil, la aplicación web y el formato en hojas, luego se promediarán, y finalmente se realizará una comparación la cual determinará la validez o falsedad de la hipótesis.. 44.
(45) 7. REQUERIMIENTOS. 7.1.. PROPÓSITO. Este documento de Especificación de Requerimientos de Software tiene como objetivo presentar de una manera clara y organizada todas las necesidades planteadas para realizar el desarrollo de una aplicación móvil que apoye a la plataforma web del “Observatorio: Variables físicas y fisiológicas en niños y adolescentes en edad escolar de Risaralda”.. 7.2.. ÁMBITO. El sistema “ObservatorioApp” está en capacidad de apoyar la labor de la plataforma web del “Observatorio: Variables físicas y fisiológicas en niños y adolescentes en edad escolar de Risaralda”. Esto mediante el ingreso de datos a los módulos: Información básica, pruebas fisiológicas, pruebas de habilidades y destrezas, consultas; desde un dispositivo móvil y posterior sincronización y almacenamiento de estos con el servidor.. 7.3.. DEFINICIONES, ACRÓNIMOS Y ABREVIATURAS. 7.3.1 Sistema. Cuando es utilizada la palabra Sistema, se refiere a una aplicación móvil 7.3.2 Almacenar.. Es referida a guardar la información en la base de datos. 7.3.3 Pliegues cutáneos. Pliegues que posee la piel, utilizados para medir la cantidad de grasa que tiene el cuerpo 7.3.4 Fisiología. Ciencia que tiene por objeto el estudio de las funciones de los seres orgánicos 7.3.5 Registrar. Referido a ingresar(escribir) datos en un campo. 45.
(46) 7.3.6 Servidor Web. Aplicación de software que ayuda a enviar el contenido web que puede ser accedido a través de la internet. 7.4. REFERENCIAS. Este documento se basa principalmente en los trabajos de grados previos: . Análisis y diseño de una plataforma web, soporte para el monitoreo de variables físicas y fisiológicas de niños y niñas en el departamento de Risaralda. Autores: Cuero Angulo Dolly y Londoño Loaiza juliana.. . Segunda etapa de la plataforma web, como soporte del observatorio "Monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar en el departamento de Risaralda". Autores: CORTES HURTADO, Ana Teresa y HOYOS LINTON, Jorge Alberto.. 7.5. DESCRIPCIÓN GENERAL. 7.5.1. Perspectiva del producto. La aplicación para dispositivo móvil “ObservatorioApp”, es un sistema que se basa en los mismos requerimientos utilizados para el desarrollo de la plataforma web "Monitoreo de variables físicas y fisiológicas en niños y adolescentes en edad escolar en el departamento de Risaralda", es por ello que su comportamiento es similar a este, como se muestra en el diagrama del sistema; y donde sus diferencias radican en las interfaces de usuario, el modo de conexión con el servidor y el almacenamiento de datos en este.. 46.
(47) Figura 8. Diagrama de sistema. 47.
(48) 7.5.2 Funciones del sistema Las funciones de la aplicación móvil son: Recolectar, almacenar y enviar a la plataforma web: Información básica, de estudiantes, instituciones y usuarios. Resultados de pruebas fisiológicas Resultados de pruebas de habilidades y destrezas Crear: Consultas Informes. 7.5.3 Características de los usuarios . Administrador: Profesional, técnico o estudiante con conocimientos en desarrollo de aplicaciones móviles, especialmente en el sistema operativo Android; y lenguajes de programación como SQL, XML, y JAVA. . Usuarios: Profesionales en pedagogía(profesores), médicos deportólogos, ó estudiantes de ciencias del deporte y otros expertos. Estos deben tener conocimiento en el manejo de teléfonos inteligentes, tabletas; además de uso de internet y navegación de páginas web.. 7.5.4 Restricciones Generales. 7.5.5 Suposiciones y dependencias . Funcionamiento de la plataforma y servidor web: Para lograr un total uso de la aplicación móvil, el servidor web y su plataforma se deben encontrar en normal funcionamiento; de no ser así la información sólo quedara almacenada en el dispositivo móvil y no podrá ser sincronizada. . El uso de la aplicación móvil también depende su instalación en un dispositivo móvil con versión mínima Android 4.0(Ice Cream Sandwich), API(15), ya sea teléfono inteligente o tableta(Recomendada).. . La rápida o lenta sincronización de los datos recolectados y almacenados en la aplicación móvil con el servidor web, esta sujeta al 48.
(49) ancho de banda proporcionado por la conexión de internet tanto del dispositivo móvil, como del servidor web que aloja la plataforma web del observatorio.. 7.6 7.6.2. REQUSITOS ESPECÍFICOS Características del sistema. 7.6.2.1 Información básica. La intención de esta característica es recolectar datos, concernientes al estudiante, la institución o usuario. Nota: Los campos con asterisco(*) son obligatorios Requerimiento funcional 1.1 El sistema debe permitir al administrador registrar y almacenar en la base de datos los siguientes datos de las instituciones educativas. Antes de realizar la visita para la aplicación de la pruebas en los estudiantes. Nit o código *Tipo de institución, puede ser (1) pública, (2) privada, (3) semiprivada *Nombre de la institución Dirección *municipio Teléfono. Requerimiento funcional 1.2 El sistema debe permitir al usuario ingresar y almacenar los siguientes datos para registrar las pruebas físicas, fisiológicas, de habilidades y destrezas que se realizarán a cada estudiante. El evaluador, sea docente o profesional en la salud, podrá ingresar la información, con la excepción de las pruebas de autoevaluación de maduración biológica y la ficha de observaciones, que solamente serán elaboradas por aquel que sea profesional en la salud.. . *Nombre completo conformado por primer y segundo nombre, primer y segundo apellido. *Tipo de documento de identidad (D.I.). Puede ser: o Registro Civil 49.
(50) o Tarjeta de Identidad o Cedula o Cedula de extrangeria. . *Sexo *Dirección Teléfono fijo Teléfono celular *Barrio *Institución: Este dato se ingresa seleccionándolo, de acuerdo a las instituciones que fueron registradas con anterioridad por el administrador. *Nivel educativo (grado) Repitente: Se selecciona este ítem sí está repitiendo el grado que cursa. No (0) Si (1) Deporte favorito. Se seleccionan los siguientes sub-ítems: o Atletismo o Baloncesto o Voleibol o Natación o Ciclismo o Fútbol o Patinaje o Otros *Estrato. Está definido por la clasificación socioeconómica que se mide de acuerdo a los servicios públicos domiciliarios y la ubicación e infraestructura de la vivienda. Se clasifican en los siguientes: o Bajo-bajo o Bajo o Medio – bajo o Medio o Medio-alto o Alto. Requerimiento funcional 1.3. El sistema debe registrar y almacenar los siguientes datos, concernientes a la salud del estudiante; como enfermedades, antecedentes familiares, si cuenta con cobertura en salud y resultados de pruebas físicas que se realizan, las cuales permitirán identificar los posibles riesgos nutricionales y hacer el posterior seguimiento. Fecha. En que realizan las pruebas de salud. Por defecto es la fecha del sistema.. 50.
Figure
Documento similar
Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y
E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi
Sanz (Universidad Carlos III-IUNE): "El papel de las fuentes de datos en los ranking nacionales de universidades".. Reuniones científicas 75 Los días 12 y 13 de noviembre
(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la
Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de
Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y