ESCUELA SUPERIOR DE INGENIERÍA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "ESCUELA SUPERIOR DE INGENIERÍA"

Transcripción

1 ESCUELA SUPERIOR DE INGENIERÍA INGENIERO TÉCNICO EN INFORMÁTICA DE GESTIÓN CLIENTE MOODLE PARA ANDROID Enrique Castill Mntañ Cádiz, Ener 2014

2

3 ESCUELA SUPERIOR DE INGENIERÍA INGENIERO TÉCNICO EN INFORMÁTICA DE GESTIÓN CLIENTE MOODLE PARA ANDROID DEPARTAMENTO: LENGUAJES Y SISTEMAS INFORMÁTICOS DIRECTOR DEL PROYECTO: MANUEL PALOMO DUARTE AUTOR DEL PROYECTO: ENRIQUE CASTILLO MONTAÑO Cádiz, Ener 2014 Fd: Enrique Castill Mntañ

4

5 A mis padres y hermans, su apy ha sid incndicinal. A mi tutr de pryect, pr su entrega y clabración. A Daniela, pr aguantarme y animarme a llevar a cab este PFC.

6 Prduct licenciad baj GPL. Se incluyen ls términs de la licencia al final del dcument. Cpyright (c) 2013 Enrique Castill Mntañ.

7 Índice General 1. Intrducción Objetivs Alcance Definicines, acrónims y abreviaturas Estructura del dcument 2 2. Planificación 4 3. Descripción general Interfaces de usuari Interfaces sftware Ubicación 8 4. Intrducción a Andrid Alternativas Mdle-Andrid Análisis Metdlgía del desarrll Requisits del sistema Especificación de ls requisits funcinales Especificación de ls requisits de almacenamient Especificación de ls requisits de rendimient Especificación de ls requisits de idima Análisis del sistema Mdels de cass de us Cass de us destinads a Lgin Cass de us destinads a la subida de cntenids Cass de us destinads a la gestión de participantes Cass de us destinads a la gestión de cntenids Cass de us destinads a ls dats estadístics 43

8 5.3.2.Mdel cnceptual de dats Diagrama de clases cnceptuales Diseñ Estructura de un pryect Andrid Diseñ de la capa de gestión de dats Diseñ cnceptual Diseñ lógic Diseñ físic Diseñ de la capa de dmini Diagrama de clases de diseñ Diagrama de secuencia Cntrats de las peracines Diseñ de la capa de presentación Implementación Instalación del entrn de trabaj Requisits del sistema Instalación de Eclipse Instalación del SDK Andrid Instalación del plugin ADT de Eclipse AndridManifest.xml Internacinalización Prblemas encntrads Caché Algritm AES Pruebas Genymtin Junit UI Autmatr Viewer y uiautmatr Pruebas y validacines 99

9 8.4.1.Plan de pruebas Especificación del diseñ de las pruebas Especificación de ls cass de pruebas Especificación de ls prcedimients de pruebas Dcumentación de la ejecución de las pruebas Cnclusines Aspects generales Cncimients adquirids Futur del pryect Referencias y Bibligrafía 106 A. Publicación de la aplicación 108 B. Manual de usuari 111 C. Manual de instalación 120 D. Ejempls de la aplicación 123 E. Licencia 125

10 Índice de Figuras Figura 2.1: Diagrama de Gantt 6 Figura 4.1: Arquitectura de Andrid 10 Figura 4.2: Cicl de vida de una aplicación Andrid 12 Figura 4.3: Icns de las alternativas 13 Figura 5.1: Diagrama de cass de us - Lgin 20 Figura 5.2: Diagrama de secuencia - Lgin 21 Figura 5.3: Diagrama de secuencia - Lgin cuenta almacenada 22 Figura 5.4: Diagrama de secuencia - Eliminar cuenta 23 Figura 5.5: Diagrama de cass de us - Cntenids 24 Figura 5.6: Diagrama de secuencia - Subir ft 25 Figura 5.7: Diagrama de secuencia - Hacer ft y subirla 26 Figura 5.8: Diagrama de secuencia - Grabar víde y subirl 27 Figura 5.9: Diagrama de secuencia - Grabar audi y subirl 28 Figura 5.10: Diagrama de cass de us - Participantes 29 Figura 5.11: Diagrama de secuencia - Listar participantes 30 Figura 5.12: Diagrama de secuencia - Detalles participante 31 Figura 5.13: Diagrama de secuencia - Enviar mensaje 32 Figura 5.14: Diagrama de secuencia - Añadir nta 33 Figura 5.15: Diagrama de secuencia - Agregar a la agenda 34 Figura 5.16: Diagrama de cass de us - Curss 35 Figura 5.17: Diagrama de secuencia - Listar curss 36 Figura 5.18: Diagrama de secuencia - Acceder curs 37 Figura 5.19: Diagrama de secuencia - Descargar ficher 38 Figura 5.20: Diagrama de secuencia - Visualizar ficher 39 Figura 5.21: Diagrama de secuencia - Acceder Url 40 Figura 5.22: Diagrama de secuencia - Acceder carpeta 41 Figura 5.23: Diagrama de secuencia - Versión web 42 Figura 5.24: Diagrama de secuencia - Ayuda 42 Figura 5.25: Diagrama de cass de us - Estadísticas 43

11 Figura 5.26: Diagrama de secuencia - Dibujar estadísticas 44 Figura 5.27: Diagrama cnceptual de clases 45 Figura 6.1: Arquitectura de nuestra aplicación 47 Figura 6.2: Esquema Entidad-Relación 52 Figura 6.3: Esquema Entidad-Relación - Cnexines al sistema 52 Figura 6.4: Secuencias para la creación de la base de dats 55 Figura 6.5: Diagrama de clases de diseñ - Lgin 56 Figura 6.6: Diagrama de clases de diseñ - Subida Fts 56 Figura 6.7: Diagrama de clases de diseñ - Subida Audis 57 Figura 6.8: Diagrama de clases de diseñ - Curss 57 Figura 6.9: Diagrama de clases de diseñ - Participantes 58 Figura 6.10: Diagrama de clases de diseñ - Estadísticas, ayuda y acces Web 58 Figura 6.11: Diagrama de clases de diseñ - Acces a dats 59 Figura 6.12: Diagrama de clases de diseñ - DTOs (parte I) 59 Figura 6.13: Diagrama de clases de diseñ - DTOs (parte II) 60 Figura 6.14: Diagrama de clases de diseñ - Servicis 60 Figura 6.15: Diagrama de clases de diseñ - Utils 61 Figura 6.16: Diagrama de interacción - Lgin 62 Figura 6.17: Diagrama de interacción - Lgin desde cuenta almacenada 62 Figura 6.18: Diagrama de interacción - Principal 63 Figura 6.19: Diagrama de interacción - Subir ft almacenada 63 Figura 6.20: Diagrama de interacción - Realizar ft y subirla 64 Figura 6.21: Diagrama de interacción - Grabar audi y subirl 64 Figura 6.22: Diagrama de interacción - Listar participantes 65 Figura 6.23: Diagrama de interacción - Detalle de un participante 65 Figura 6.24: Diagrama de interacción - Mandar mensaje a un participante 65 Figura 6.25: Diagrama de interacción - Curss asignads al usuari 66 Figura 6.26: Diagrama de interacción - Detalle de un curs 66 Figura 6.27: Diagrama de interacción - Descargar cntenid 67 Figura 6.28: Diagrama de interacción - Visualizar cntenid carpeta 67 Figura 6.29: Diagrama de interacción - Estadísticas 67 Figura 6.30: Diagrama de interacción - Versión web 68 Figura 6.31: Diagrama de interacción - Ayuda Mdle 68 Figura 6.32: Diseñ - View y Viewgrup 71 Figura 6.33: Diseñ - Tips de Views 72

12 Figura 6.34: Diseñ de pantalla - Lgin 73 Figura 6.35: Diseñ de pantalla - Lgin desde cuenta almacenada 74 Figura 6.36: Diseñ de pantalla - Menú Principal 74 Figura 6.37: Diseñ de pantalla - Pantalla Subidas 75 Figura 6.38: Diseñ de pantalla - Listad de participantes 76 Figura 6.39: Diseñ de pantalla - Detalle participante 76 Figura 6.40: Diseñ de pantalla - Lista de curss 77 Figura 6.41: Diseñ de pantalla - Detalle curs 78 Figura 6.42: Diseñ de pantalla - Elements de una carpeta 78 Figura 6.43: Diseñ de pantalla - Estadísticas 79 Figura 6.44: Diseñ de pantalla - Versión Web 80 Figura 6.45: Diseñ de pantalla - Ayuda 80 Figura 7.1: Descarga de Eclipse 82 Figura 7.2: Descarga de SDK Andrid 83 Figura 7.3: Instalación de Andrid Develper Tls 84 Figura 7.4: Especificar ubicación del SDK 85 Figura 7.5: ADV Manager 86 Figura 8.1: Genymtin 95 Figura 8.2: UI Autmatr Viewer 98 Figura B.1: Pantalla de Lgin 112 Figura B.2: Pantalla Principal 113 Figura B.3: Pantalla Subidas 114 Figura B.4: Pantalla Infrmación Participante 115 Figura B.5: Pantalla Curs 116 Figura B.6: Pantalla Estadísticas 117 Figura B.7: Pantalla versión Web 118 Figura B.8: Pantalla Ayuda 119 Figura C.1: Cnfiguración para instalar apk 121 Figura C.2: Cnfiguración del siti Mdle 122

13 Índice de Tablas Tabla 4.1: Tabla cmparativa de aplicacines 14 Tabla 6.1: Tabla de entidades 50 Tabla 6.2: Tabla de atributs de la entidad Cuentas 51 Tabla 6.3: Tabla de atributs de la entidad Actividad 52 Tabla 7.1: Tabla de atributs AndridManifest.xml 88 Tabla 7.2: Tabla de ejempl de definición de una cadena 89 Tabla 7.3: Tabla de ejempl de referencia a cadena desde layut 89 Tabla 7.4: Tabla de ejempl de us de cadena desde el códig 90 Tabla 7.5: Tabla Cache variables timestamps 92 Tabla 7.6: Tabla Cache cmprbación timestamps 92 Tabla 7.7: Tabla AES encriptación cntraseña 93 Tabla 8.1: Tabla Junit primer test 96 Tabla 8.2: Tabla Junit segund test 97 Tabla 8.3: Tabla uiautmatr 99

14 Capítul 1 Intrducción La realización de este Pryect Fin de Carrera tiene cm bjetivs generales el trabaj en 3 líneas: aplicar ls cncimients adquirids en la titulación de Ingeniería Técnica en Infrmática de Gestión, realizar una pequeña cntribución al Sftware Libre y, pr últim, el estudi y us de nuevas herramientas para ampliar cncimients sbre Infrmática. 1.1 Objetivs Este Pryect cnsiste en la creación de una aplicación que ns permite acceder a sitis Mdle desde un terminal Andrid. N está rientad a un sl siti Mdle, el cliente es genéric. Pdems definir Mdle cm una aplicación web para la creación de curss virtuales basads en Internet y sitis web. Tiene fines educativs. En cuant a Andrid, se trata de un sistema perativ de carácter abiert bastante extendid en el mund de la telefnía móvil. Cm ya se ha indicad anterirmente, nuestra aplicación permitirá acceder a un siti Mdle de frma directa desde un dispsitiv cn sistema perativ Andrid. 1.2 Alcance La aplicación será capaz de acceder a cualquier siti Mdle de versión 2 superir y que tenga habilitads ls Mbile Web Services. 1.3 Definicines, acrónims y abreviaturas Se listan a cntinuación ls acrónims y abreviaturas que irán a apareciend a l larg del dcument, cn su crrespndiente definición. 1

15 Capítul 1 - Intrducción API: cnjunt de funcines y prcedimients ( métds, en la prgramación rientada a bjets) que frece cierta bibliteca para ser utilizad pr tr sftware cm una capa de abstracción. GUI: del inglés (graphical user interface), es el medi en el que el usuari se cmunica cn la máquina. IDE: entrn integrad de desarrll. Aplicación cmpuesta pr un cnjunt de herramientas útiles para un prgramadr. SGBD: Sistema de Gestión de Base de Dats. Cnjunt de prgramas encargad de definir, cnstruir y manipular una base de dats. Sirve de interfaz entre la base de dats, el usuari y las aplicacines que la utilizan. SQLite: sistema de gestión de base de dats relacinal, multihil y multiusuari. Usad en esta aplicación. SQL: lenguaje de cnsulta estructurad. Permite realizar diversas peracines sbre la base de dats. SVN: subversin, un sistema de revisines de versines sftware. SDK: kit de desarrll de sftware. Cnjunt de herramientas de desarrll de sftware. ADT: plugin Eclipse que cntiene herramientas para el desarrll de aplicacines Andrid. 1FN: primera frma nrmal. Usad en base de dats. 2FN: segunda frma nrmal. Usad en base de dats. 3FN: tercera frma nrmal. Usad en base de dats. FNBC: Frma Nrmal de Byce-Cdd. Usad en base de dats. 1.4 Estructura del dcument Para el desarrll de esta memria, se han seguid las pautas marcadas en el dcument Recmendacines para la realización de la dcumentación del Pryect Fin de Carrera. La presente memria se divide en las siguientes partes: Intrducción: incluye una breve descripción acerca del pryect, se enumeran sus bjetivs y su alcance. Pr últim, se detalla la estructura de este dcument. Planificación: a través de un diagrama de Gantt, se detalla la planificación del pryect y el prcentaje de esfuerz dedicad a cada una de sus fases. Descripción general: visión en prfundidad del pryect. Se especifican las distintas tecnlgías utilizadas para el desarrll del mism. 2

16 Capítul 1 - Intrducción Intrducción a Andrid: se explica brevemente en qué cnsiste el sistema perativ Andrid y sus aplicacines. Análisis: se definen ls requisits funcinales del sistema, diagramas de cass de us, diagramas de secuencia y cntrat de las peracines. Diseñ: diseñ de la base de dats, y de ls diagramas de secuencia y de clase aplicads al diseñ. Implementación: aspects más relevantes relacinads cn la implementación de la aplicación. Además, se enumerarán ls prblemas encntrads en esta fase. Pruebas: se verifica que el sftware cumple su cmetid. Cnclusines: valración glbal, psibles mejras y ampliacines del pryect. Bibligrafía y Referencias: librs y referencias cnsultads para la elabración del pryect. Apéndices: Publicación de la aplicación: pcines para difundir nuestr sftware. Manual de usuari: manual de funcinamient de la aplicación destinad a ls usuaris finales. Manual de instalación: instruccines para una crrecta instalación. Ejempls de la aplicación: se recgen un par de ejempls práctics de us de la aplicación. Licencia: text de la licencia sbre la cual se rige el pryect. 3

17 Capítul 2 Planificación Durante el desarrll del pryect se ha seguid la planificación tempral que se detalla a cntinuación. Dicha planificación se verá reflejada en su crrespndiente diagrama de Gantt. El resumen de las tareas reflejadas en el gráfic es el siguiente: Fase Inicial: [03/06/ /07/2013] El bjetiv de esta fase es la puesta en marcha del pryect. Idea del pryect: [03/06/ /06/2013] Durante esta fase se define exactamente en que iba a cnsistir exactamente el pryect Entrevista cn el tutr: [07/06/ /06/2013] En este perid se cnciertan varias entrevistas cn el tutr para expnerle la idea de pryect. Finalmente se da vía libre a la realización del mism. Búsqueda de bibligrafía: [18/06/ /06/2013] Se recpila gran cantidad de infrmación que puede ayudar al desarrll del pryect. Para ell, se utilizan librs de la bibliteca, cntenids de internet y apuntes de la titulación. Creación del prttip [28/06/ /07/2013] Cn ayuda de un editr gráfic, se crea un prttip del aspect que tendrá la interfaz gráfica del usuari. Planificación [12/07/ /07/2013] Cm su prpi nmbre indica, en esta fase se planifican las tareas que se llevarán a cab en la fase de ejecución. Fase de Ejecución: [19/07/ /01/2014] Desarrll del pryect. Análisis de requisits: [19/07/ /08/2013] Cn tda la infrmación recpilada anterirmente, se btienen tds ls requisits de nuestra aplicación. El análisis debe ser exhaustiv ya que pdems encntrarns cn requisits mal definids incmplets. 4

18 Capítul 2 - Planificación Especificación: [13/08/ /09/2013] Se define el cmprtamient que tendrá la aplicación una vez se encuentre desarrllada. Dedicarems el tiemp que sea necesari para que la aplicación cumpla tda su funcinalidad. Diseñ: [13/09/ /10/2013] Es una de las etapas más imprtantes. Debems ser muy meticulss cn el diseñ de nuestra aplicación ya que ells ns evitará retrass en la implementación para la crrección de errres. Cdificación: [25/10/ /12/2013] Se trata de la fase más larga. Se implementa td el diseñ de la fase anterir. Llegads a este punt, hay que decidir el IDE sbre el que vams a trabajar, cn qué lenguaje, gestr de la base de dats Pruebas: [31/12/ /01/2014] Se cmprueba que la aplicación cumple cn l indicad en la fase de especificación. Fase de Dcumentación: [19/07/ /02/2014] Al mism tiemp que la fase de ejecución, se irá generand la dcumentación necesaria que finalmente quedará plasmada en esta memria. Fase de Finalización: [31/01/ /04/2014] En esta fase se demuestra que nuestra aplicación es un prduct de calidad y que cumple cn ls requisits marcads. Revisión del tutr: [31/01/ /02/2014] El tut asignad a nuestr pryect debe cmprbar si el trabaj cumple las cndicines e ideas iniciales. Preparación del material: [07/02/ /02/2014] Es el mment de revisar que la memria es crrecta, para mandarla a imprimir y encuadernar. Se prcede a entregar el material a la Universidad y a cumplimentar la matrícula para la presentación del PFC. Presentación: [14/04/2014] Expsición del trabaj que será evaluad pr un Tribunal. 5

19 Capítul 2 - Planificación Figura 2.1: Diagrama de Gantt 6

20 Capítul 3 Descripción General Se trata de un pryect de Sftware Libre, pr tant, cualquier persna pdrá cntinuarl en el futur, ya sea el prpi autr persnas ajenas al mism. Es un pryect independiente; n se trata de una parte de tr ni la cntinuación de un ya empezad. 3.1 Interfaces de usuari La interfaz de usuari se basa en una pantalla principal de inici a través de la cual, el usuari puede acceder a tdas las funcinalidades que frece la aplicación. Para alcanzar dicha pantalla, antes ha tenid que superar un prces de lgin al siti desead. Para ell, se encntrará una pantalla en la que intrducir sus credenciales acceder cn dats ya almacenads. Al tratarse de una aplicación dirigida a terminales móviles, el usuari n pdrá mdificar el tamañ de las pantallas. Siempre trabajará cn una pantalla que cupa la ttalidad de la pantalla del terminal y desde ahí pdrá ir accediend a las distintas funcinalidades que se le frecen. El idima en el que aparecerá la aplicación dependerá del idima en el que se encuentre el terminal. Cn est quier decir que la aplicación desarrllada permite su internacinalización y sprta diferentes idimas cm españl, inglés francés. 3.2 Interfaces sftware La aplicación está preparada para funcinar sbre sistema perativ Andrid. Para el desarrll de la misma, se han utilizads las Andrid SDK, que sn un cnjunt de librerías y utilidades prprcinadas pr Ggle para el desarrll de aplicacines Andrid. La versión de 7

21 Capítul 3 Descripción General la SDK utilizada es la 8, cn l cual nuestra aplicación estará sprtad en sistemas Andrid 2.2 superir (más del 99% de cuta de mercad actual). Ya que nuestra aplicación n utiliza características del SO avanzadas intrducidas en las últimas versines de Andrid, se ha ptad pr hacer la aplicación cmpatible cn la versión más baja psible, cn el bjet de llegar a un mayr númer de teléfns. La versión 8 de la API cn la que es cmpatible la aplicación englba a prácticamente la ttalidad de terminales Andrid del mercad. El lenguaje de prgramación utilizad ha sid Java. A través de la herramienta Eclipse SDK, que es un entrn de desarrll Java de códig abiert multiplatafrma, se ha desarrllad la ttalidad de la aplicación. Además, se ha utilizad el lenguaje XML para crear las vistas interfaces cn las que interactuará el usuari de la aplicación. Eclipse frece la psibilidad de crear esas vistas escribiend directamente el códig a través de un visualizadr interactiv al que irems arrastrand ls diferentes cmpnentes de la interfaz mediante el métd de drag and drp (pica y arrastra). El SDK de Andrid prvee funcinalidades para ayudar al prgramadr a implementar una base de dats prpia para su aplicación. Las BBDD Andrid se basan en el sistema SQLite3, que es un sistema de gestión de base de dats liger que administra el prpi terminal. 3.3 Ubicación Para pder hacer us de la aplicación, tendrems que dispner de acces a Internet en nuestr terminal, ya que, de l cntrari, ns será impsible cnectarns a ls diferentes sitis Mdle. 8

22 Capítul 4 Intrducción a Andrid Según se define en Wikipedia, Andrid es un sistema perativ basad en Linux diseñad principalmente para dispsitivs móviles cn pantalla táctil, cm teléfns inteligentes tabletas, inicialmente desarrllad pr Andrid, Inc. Ggle respaldó ecnómicamente y más tarde cmpró esta empresa en Andrid fue presentad en 2007 junt la fundación del Open Handset Alliance: un cnsrci de cmpañías de hardware, sftware y telecmunicacines para avanzar en ls estándares abierts de ls dispsitivs móviles.11 El primer móvil cn el sistema perativ Andrid fue el HTC Dream y se vendió en ctubre de Cncretamente, está basad en un núcle Linux 2.6 cuya función es hacer de capa de abstracción entre el hardware y el rest del sistema, freciend a la capa del sftware ls diverss servicis existentes. Entre ests servicis se encuentran la seguridad, la gestión de prcess y memria, la pila de red y el mdel de drivers. Ya pr encima del núcle se han diseñad una serie de capas que cmpletan un entrn de desarrll asequible para cualquier prgramadr. Se define el runtime cm el cnjunt de biblitecas que frecen la mayría de las funcinalidades dispnibles en el núcle de Java, lenguaje mediante el cual está prgramad el sistema. Un de sus principales cmpnentes es la Máquina Virtual Dalvik. Permite que un dispsitiv pueda ejecutar varias máquinas virtuales, de md que cada aplicación sea lanzada cm un prces independiente y cn su prpia instancia de la máquina virtual, a la vez que supne un baj cnsum de recurss. El cnjunt de biblitecas, escritas en C/C++, sn usadas en muchs prgramas Andrid, y están puestas a dispsición del prgramadr mediante el Framewrk de aplicacines. Sus cmpetencias abarcan desde la prpia gestión del sistema, cm System C, hasta la manej de bases de dats SQLite, pasand pr diversas librerías multimedia cn sprte para audi y vide 2D y 3D, cm Surface Manager, Media Framewrk, OpenGL, FreeType, la navegación web facilitada pr el mtr LibWebCre, entre tras funcinalidades. El Framewrk de Andrid es el cmpnente que da sprte a ls desarrlladres para el us de las características anterirmente expuestas, y es, además, el mism sbre el que están 9

23 Capítul 4 Intrducción a Andrid diseñadas las aplicacines prpias incluidas en la platafrma Andrid. Permite una sencilla reutilización de cmpnentes y cmunicación ente aplicacines, siempre sujetas a ciertas medidas de seguridad que facilitan, pr ejempl, la actualización sustitución de cmpnentes pr parte del usuari, resultand un sencill y efectiv métd para utilizar nvedades intrducir mejras en el sftware. En la figura 4.1, btenida de pdems ver un esquema cn la arquitectura de Andrid. Figura 4.1: Arquitectura de Andrid Ls principales cnjunts de servicis frecids sn ls siguientes: Un extens y variad cnjunt de vistas (Views) frecidas para el diseñ de interfaces gráficas de usuari y su interactividad cn el sistema, cm ls típics btnes, cuadrs de text listas. Ls prveedres de cntenids (Cntents Prviders) sn el métd de intercambi de infrmación entre aplicacines, ya sea cmpartiend ls dats prpis accediend a ls de tras aplicacines. Ls gestres de recurss (Resurces Manager) permiten el acces indexad a recurss cm cadenas gráfics, en un intent de mdular aún más el diseñ de las aplicacines y el us de sus recurss. 10

24 Capítul 4 Intrducción a Andrid El gestr de ntificacines (Ntificatin Manager) dirige alertas persnalizadas al sftware, que sn mstradas en una barra de estad. Finalmente, el gestr de actividades (Activities Manager) es respnsable del cicl de vida de las aplicacines. Una vez prprcinads tds ests estrats, Andrid prprcina una serie de aplicacines base, prgramadas en Java, que facilitan el manej de las características del sistema, tales cm un cliente de crre electrónic y SMS, calendari, mapas, navegadr gestr de cntacts, entre trs. Sbre esta misma capa sería dnde se sustenten las aplicacines de usuari diseñadas pr tercers desarrlladres. El rest de características del sistema Andrid pdríams agruparlas pr cnectividad (telefnía GSM, Bluetth, EDGE, WIFI, 3G), frmats multimedia sprtads (MPEG4, H.264, MP3, OGG, AAC, AMR, JPG, PNG, GIF) y tras características hardware, tales cm GPS, brújula, acelerómetr, cámara pantalla táctil. En el ámbit de desarrll, dispne de un cmplement para el IDE Eclipse, así cm herramientas de simulación y depuración. Las aplicacines creadas pueden pnerse a dispsición del usuari a través de Ggle Play, dnde pdrán ser descargadas e instaladas pr ls usuaris, sirviend igualmente cm fuente de reprte de falls y errres en el funcinamient. Otra peculiaridad de Andrid es el cicl de vida de las aplicacines, ya que n se trata únicamente de abrir y cerrar a gust del usuari, sin que estas, una vez iniciadas, permanecen cargadas en memria siempre que se dispnga de recurss para ell. En cas cntrari el prpi sistema perativ se encargaría de destruirlas definitivamente. Dich cicl de vida se rige pr las llamadas a ls métds ncreate, nstart, nresume, npause, nstp, nstp, ndestry y nrestart. En la siguiente página se muestra un gráfic sacad de en el que aparece reflejad de una manera más intuitiva el cicl anterirmente descrit. 11

25 Capítul 4 Intrducción a Andrid Figura 4.2: Cicl de vida de una aplicación Andrid 12

26 Capítul 4 Intrducción a Andrid 4.1 Alternativas Mdle-Andrid Haciend una búsqueda de clientes para Mdle en el mercad ficial de aplicacines de Andrid (Ggle Play), ls resultads sn escass. Ninguna de las aplicacines frece las funcinalidades que presenta la aplicación desarrllada en este Pryect. La mayría están muy mal valradas pr la cmunidad de usuaris, tras n sn un cliente genéric que se pueda cnectar a cualquier servidr mdle mientras que el rest n muestran una interfaz práctica y amigable para el usuari. A cntinuación, se listan ls 3 resultads más relevantes en una búsqueda de Mdle en el mercad de aplicacines Ggle Play: Figura 4.3: Icns de las alternativas MDrid Es una aplicación que aún cuenta cn pcas descargas y parece encntrarse en un estad de madurez baj. Al intentar cnectar la aplicación cn nuestr siti Mdle de pruebas, emite un errr y se cierra inesperadamente. Drdle La aplicación tiene una interfaz muy pc usable y la mayría de sus valracines sn negativas. El teste de la aplicación ns demuestra que, tras hacer lgin crrectamente, el sistema se limita a mstrar ls curss y n frece la psibilidad de ver ls cntenids, ni ls participantes ni de subir ningún tip de ficher. 13

27 Capítul 4 Intrducción a Andrid UC3Mid Es la aplicación mejr valrada de las presentes en Ggle Play. Sin embarg, se limita a dar acces a ls curss y cntenids de una clase cncreta de la Universidad Carls III de Madrid. Cmentar también la prblemática de navegar pr un siti web de Mdle desde el prpi navegadr del terminal. Este prcedimient sería lent y cmplicad, pr ell resulta bastante práctic el us del cliente implementad en este trabaj. Pr últim, indicar que nuestr cliente se asemeja bastante al ya existe para terminales cn sistema perativ ios. Ns hems basad en esta aplicación debid a sus buenas valracines y a que explta de la manera más clara psible tds ls recurss frecids a través de ls Mbile Web Services de Mdle. El enlace para la descarga de dicha aplicación se encuentra en: Interfaz amigable Si N N N Universal Si N Si N Multiidima Si N N N Explta tds ls Mbile Web Services Si Si N Si Estadísticas Si N N N Tabla 4.1: Cmparativa de aplicacines 14

28 Capítul 5 Análisis En este apartad se detallarán las diferentes fases del análisis previ realizad antes de abrdar la implementación del cliente Mdle. Primer, se hará una definición detallada de ls requisits que ha de cumplir la aplicación, tant ls referentes a la funcinalidad cm al cnjunt de dats que ésta debe almacenar. Adicinalmente, se detallarán también alguns requisits de rendimient que se han identificad al cmprbar que la implementación básica hacía demasiadas peticines al servidr de Mdle y, pr tant, tenía un baj rendimient y sbrecargaba innecesariamente el tráfic de red. También se incluyen ls requisits crrespndientes a ls dats estadístics que estarán dispnibles para la cnsulta del usuari. 5.1 Metdlgía del desarrll Para el desarrll del pryect se ha utilizad una metdlgía basada en el Prces Unificad Racinal (Ratinal Unified Prcess (RUP)). Este prces de desarrll de sftware, cmbinad cn el Lenguaje Unificad de Mdelad (Unified Mdeling Language (UML)), hacen que esta metdlgía sea la más utilizada para el análisis, diseñ, implementación y dcumentación de sistemas rientads a bjets. 5.2 Requisits del sistema Especificación de ls requisits funcinales A cntinuación, se detalla la lista cn ls requisits funcinales detectads en la cnstrucción del sistema. La base para la elabración de ests requisits ha sid el cliente ficial de Mdle implementad para ls teléfns iphne. Tras un análisis de la funcinalidad implementada pr 15

29 Capítul 5 Análisis este, se cncluye que aprvecha al máxim el cnjunt de funcines frecidas pr el servici web Mbile Web Service implementad a partir de la versión 2 de la platafrma. Requisits funcinales de la gestión de usuaris: Lgin en cualquier Mdle que tenga ls Mbile Web Services activs. El sistema deberá pder hacer lgin en cualquier servidr Mdle que tenga ls servicis web para las platafrmas móviles activs. Para ell, el sistema deberá mstrar un frmulari dnde el usuari tendrá que intrducir la url del servidr, su nmbre de usuari y su cntraseña. La aplicación deberá btener un tken de acces para ls servicis web e indicar al usuari si existe algún prblema de cnexión si las credenciales aprtadas n sn válidas en el servidr especificad. Psibilidad de hacer lgin cn varias cuentas de usuari. El sistema deberá permitir que pdams lgarns cn varias cuentas usuari sin necesidad de hacer lgin cada una de las veces. Para ell, se mstrará una lista cn las cuentas de usuari almacenadas. Eliminar cuentas de usuari almacenadas. El sistema deberá permitir eliminar las cuentas de usuari que ya n necesitems. Para llevar la acción a cab, al acceder a la lista de cuentas almacenadas, si dejams pulsad nuestr ded sbre la cuenta que querems eliminar, aparecerá la pción de brrad. Requisits funcinales de la subida de cntenids: Subida de fts almacenadas en el teléfn. El sistema deberá permitir que el usuari pueda explrar las fts que tiene almacenadas en el teléfn y frecerle la psibilidad de subirlas al espaci persnal que tiene asignad en el sistema. Hacer fts cn el teléfn y subirlas al sistema. El sistema deberá permitir que el usuari pueda usar la cámara de su teléfn para tmar una ft y, una vez la haya tmad, darle la psibilidad de subirla a su espaci persnal asignad en el sistema. Grabar un ficher de audi cn el teléfn y subirl al sistema. El sistema deberá permitir que el usuari pueda grabar un ficher de audi y, una vez l haya grabad, darle la psibilidad de subirl a su espaci persnal asignad en el sistema. 16

30 Capítul 5 Análisis Requisits funcinales de la gestión de participantes: Listar ls participantes de cada curs visible pr el usuari. El sistema deberá permitir que el usuari pueda ver la lista de participantes de cada curs a ls que tiene acces. Desde el menú principal de la aplicación, pdrá acceder a ls participantes que se encntrarán agrupads pr curss. Visualizar la infrmación de un usuari detalladamente. El sistema deberá permitir que el usuari pueda acceder a la infrmación detallada (nmbre, apellids, dirección, ) de ls usuaris de ls curss a ls que tiene acces. Enviar un mensaje privad a un usuari. El sistema deberá permitir que el usuari pueda mandar un mensaje privad a ls usuaris de ls curss a ls que tiene acces. Añadir un usuari a ls cntacts del teléfn. El sistema deberá permitir que el usuari pueda imprtar a la libreta de direccines del teléfn a ls usuaris de ls curss a ls que tiene acces. Añadir una nta para un usuari. Añadir una nta para un usuari. La nta es de text y esta funcinalidad sl está dispnible para aquells usuaris que tengan el perfil prfesr. Requisits funcinales de la gestión de curss: Listar ls curss que tiene accesibles el usuari. El sistema deberá permitir que el usuari pueda ver la lista de curss a ls que tiene acces. Dich acces estará dispnible desde el menú principal de la aplicación. Acceder al detalle de un curs. El sistema deberá permitir que el usuari pueda acceder al detalle de ls curss a ls que tiene acces, incluyend tdas sus seccines, ls móduls que cmpnen cada sección y tds ls cntenids que incluye cada módul. Requisits funcinales de la gestión de cntenids: Descargar al teléfn ls cntenids de tip archiv. El sistema deberá permitir que el usuari pueda descargar al teléfn ls cntenids de tip archiv (Excel, Wrd, imágenes, pdf ) de ls curss a ls que tiene acces. Visualizar ls cntenids de tip archiv. El sistema deberá permitir que el usuari pueda visualizar ls cntenids de tip archiv siempre y cuand el teléfn dispnga de un visr aprpiad para el ficher que se intenta visualizar. Generalmente, se pdrán abrir la mayría de archivs ya que ls teléfns Andrid tienen visres de archivs para ls frmats más cmunes. 17

31 Capítul 5 Análisis Acceder a ls cntenids de tip URL. El sistema deberá permitir que el usuari pueda acceder a las direccines web de ls módul tip Url definids en el detalle de un curs. Además, dich acces se realizará cn un navegadr prpi de la aplicación cn las pcines básicas (atrás, adelante, refrescar ). Abrir ls cntenids de tip URL desde el navegadr del teléfn. El sistema deberá permitir que el usuari pueda abrir ls cntenids de tip Url desde el navegadr del teléfn (aparte de REQ-016, que se abre desde el navegadr de la aplicación). Listar el cntenid de tip carpeta. El sistema deberá permitir que el usuari pueda listar el cntenid de tip carpeta. Bajar/visualizar el cntenid de tip carpeta. El sistema deberá permitir que el usuari pueda bajar/visualizar el cntenid de tip carpeta. Acceder a la versión web de Mdle. El sistema deberá permitir que el usuari pueda acceder a la versión adaptada para móviles de Mdle desde un navegadr prpi de la aplicación. Acceder a la ayuda de Mdle. El sistema deberá permitir que el usuari pueda acceder a la ayuda de Mdle desde un navegadr prpi de la aplicación. Requisits funcinales de las gráficas estadísticas: El usuari pdrá btener gráficas estadísticas que muestren su actividad para un siti Mdle en cncret, desde el terminal pr el que accede. Esa actividad incluye númer de lgins, fichers subids y access a curss Especificación de ls requisits de almacenamient Al igual que en el punt anterir, en este apartad se expndrán una serie de requisits per esta vez relacinads cn ls dats que deberá almacenar el sistema para su crrect funcinamient: Almacenar cuentas de acces. El sistema deberá almacenar las diferentes cuentas de acces cn las que se ha hech lgin, incluyend url del servidr Mdle, nmbre de usuari y cntraseña. Almacenar actividad de usuari. El sistema deberá almacenar tda la actividad relativa a un usuari. Dicha actividad incluye númer de lgins, subida de fichers y acces a curss. 18

32 Capítul 5 Análisis Especificación de ls requisits de rendimient Hay que evitar hacer un númer elevad a ls web Services de Mdle, ya que ell puede prvcar lentitud en el funcinamient de nuestra aplicación. Si el terminal se encuentra cnectad a la red wifi, la caída del rendimient pr las múltiples cnexines a ls web Services n se ntará demasiad. Sin embarg, cuand el terminal se encuentre cnectad a una red 3G, y especialmente si n dispne de demasiada cbertura, las cnexines http penalizarán much la sensación del usuari, pudiend inclus fallar aleatriamente la carga ls Activities, debid a que se prduciría un TimeOut en la cnexión cn el servidr. Pr tant, en nuestra aplicación vams a ptar pr cachear alguns de ls elements que prvienen de Mdle, ya que, en general, ests n sn muy cambiantes y cn ell cnseguirems una mayr fluidez en la aplicación. Ls requisits detectads y que pdrían aumentar el rendimient de la aplicación sn: Cache de curss. El sistema realizará un cache de ls curss btenids a través de ls servicis web de Mdle. Ls dats permanecerán en lcal en el teléfn durante un tiemp que se puede cambiar en las cnstantes de la aplicación. Actualmente, el valr de la cnstante es de 5 minuts, de tal frma que si se acude a ls servicis web de Mdle para cnsultar ls curss y se vuelve a realizar la misma petición, pr ejempl, transcurrids 3 minuts desde la primera, el sistema utilizará ls dats lcales en vez de acudir de nuev al servidr. Cache de participantes en un curs. El sistema realizará un cache de ls participantes de ls curss a ls que el usuari tiene acces, btenids a través de ls servicis web de Mdle. Ls dats permanecerán en lcal en el teléfn durante un tiemp que se puede cambiar en las cnstantes de la aplicación. Actualmente, el valr de la cnstante es de 5 minuts, de tal frma que si se acude a ls servicis web de Mdle para cnsultar ls curss y ls participantes de ls misms, y se vuelve a realizar la misma petición, pr ejempl, transcurrids 3 minuts desde la primera, el sistema utilizará ls dats lcales en vez de acudir de nuev al servidr. Cache de icns de ls móduls pertenecientes a un curs. El sistema realizará un cache de ls icns de ls móduls pertenecientes al detalle de un curs. Ns descargarems tds ls icns psibles y en vez de hacer llamadas a Mdle para descargar el icn (en el jsn de vuelta sól viene la url del icn), utilizams ls recurss lcales. 19

33 Capítul 5 Análisis Especificación de ls requisits de idima Al tratarse de un cliente genéric para Mdle, la aplicación debería estar dispnible en varis idimas para que pudieran hacer us de ella persnas de distintas nacinalidades. El bjetiv cnsiste en pder adaptarla y traducirla a trs idimas sin tener que cambiar el códig fuente de la misma. De este md estaríams habland de una aplicación multiidima. Ls idimas dispnibles serán españl (pr defect), inglés y francés ya que cn ells abarcaríams a un ampli númer de usuaris. La aplicación se adaptará al idima en el que se encuentre el sistema perativ del terminal sbre el que se encuentra instalada. En cas de n estar dispnible, se mstrará en españl. 5.3 Análisis del sistema Mdels de cass de us En este punt, se realizará una descripción más detallada de ls requisits funcinales mediante la técnica de ls cass de us. Ests indican la secuencia de pass que deben seguir ls actres así cm la interacción del sistema cn ests Cass de us destinads a Lgin Figura 5.1: Diagrama de cass de us - Lgin 20

34 Capítul 5 Análisis Lgin Descripción: lgin de un usuari. Precndición: el usuari está dad de alta en el siti Mdle. Pstcndición: el usuari accede al siti Mdle. Actres: usuari. Resumen: cuand el usuari arranca la aplicación, debe indicar al siti Mdle que se quiere cnectar, así cm las credenciales de acces. Escenari principal: 1. El cas de us cmienza cuand el usuari ejecuta la aplicación cuand quiere iniciar una nueva sesión. 2. El usuari intrduce la url del siti al que quiere acceder, su nmbre y cntraseña. 3. El sistema hace lgin cn ls parámetrs intrducids. Escenari alternativ: 0. En cualquier mment, el usuari puede salir del prces de lgin. 3. Si se deja algun de ls camps sin rellenar, si n se puede cnectar cn el servidr de Mdle si las credenciales de acces sn incrrectas, el sistema muestra un mensaje de errr. Figura 5.2: Diagrama de secuencia Lgin Cntrat de la peración: Lgin(datsUsuari) Respnsabilidades: acces al siti Mdle especificad. Referencias cruzadas: Cas de us Lgin. Precndición: datsusuari es válid Pstcndición: acces al sistema. En cas de n existir, se guarda al usuari en el almacén de dats. 21

35 Capítul 5 Análisis Acces desde cuenta almacenada Descripción: lgin de un usuari desde una cuenta almacenada. Precndición: ya se ha accedid previamente cn dichas credenciales. Pstcndición: el usuari accede al siti Mdle. Actres: usuari. Resumen: cuand el usuari arranca la aplicación, puede acceder a un listad de cuentas almacenadas y seleccinar una de ellas. Escenari principal: 1. El cas de us cmienza cuand el usuari ejecuta la aplicación cuand quiere iniciar una nueva sesión. 2. El usuari accede al listad de cuentas almacenadas. 3. Tras la selección de una de las cuentas, el sistema hace lgin. Escenari alternativ: 0. En cualquier mment, el usuari puede salir del prces de lgin. 2. Si n existen cuentas almacenadas, se mstrará una lista vacía. 3. Si las credenciales de acces sn incrrectas, el sistema muestra un mensaje de errr. Figura 5.3: Diagrama de secuencia Lgin cuenta almacenada Cntrat de la peración: Lgin() Respnsabilidades: acces al siti Mdle. Referencias cruzadas: Cas de us Lgin cuenta almacenada. Precndición: existe al mens una cuenta almacenada. Pstcndición: acces al sistema. 22

36 Capítul 5 Análisis Eliminar una cuenta almacenada Descripción: brrad de una cuenta almacenada. Precndición: ya se ha accedid previamente cn dichas credenciales. Pstcndición: se elimina la cuenta seleccinada. Actres: usuari Resumen: cuand el usuari arranca la aplicación, puede acceder a un listad de cuentas almacenadas y seleccinar una de ellas para eliminarla. Escenari principal: 1. El cas de us cmienza cuand el usuari ejecuta la aplicación cuand quiere iniciar una nueva sesión. 2. El usuari accede al listad de cuentas almacenadas. 3. Tras la selección de una de las cuentas para ser eliminada, el sistema la brra (se requerirá cnfirmación). Escenari alternativ: 0. En cualquier mment, el usuari puede salir del prces de lgin. 3. Si se prduce un errr a la hra de brrar la cuenta, se mstrará un mensaje de errr. Figura 5.4: Diagrama de secuencia Eliminar cuenta Cntrat de la peración: Eliminar(datsCliente) Respnsabilidades: elimina una cuenta de acces. Referencias cruzadas: Cas de us Eliminar cuenta almacenada. Precndición: existe al mens una cuenta almacenada. Pstcndición: se elimina la cuenta del almacén de dats. 23

37 Capítul 5 Análisis Cass de us destinads a la subida de cntenids Figura 5.5: Diagrama de cass de us Cntenids Subir ft almacenada en el terminal Descripción: subida de una ft almacenada. Precndición: el usuari se encuentra lgad. Pstcndición: se subirá la ft al espaci privad del usuari. Actres: usuari. Resumen: desde el menú de Subidas, el usuari elegirá la pción de subir una ft y tras seleccinar la imagen deseada, la subirá a su espaci privad. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Subidas. 2. Dentr del menú, el usuari elige Buscar una ft en álbum. 3. Se mstrará la galería de imágenes del teléfn y el usuari deberá seleccinar la imagen que desea subir. 4. Una vez seleccinada la imagen, pulsar sbre el btón de Subir. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver sin seleccinar ninguna imagen. 24

38 Capítul 5 Análisis 4. Una vez la imagen se encuentra seleccinada, el usuari puede vlver sin subirla. Figura 5.6: Diagrama de secuencia Subir ft Cntrat de la peración: subirft(datsimagen) Respnsabilidades: sube al espaci privad la imagen seleccinada. Referencias cruzadas: Cas de us Subir ft. Precndición: existe datsimagen. Pstcndición: se sube la imagen al espaci privad del usuari. Hacer una ft cn el terminal y subirla al espaci privad Descripción: hacer una ft y subirla. Precndición: el usuari se encuentra lgad. Pstcndición: se subirá la ft que se acaba de tmar al espaci privad del usuari. Actres: usuari. Resumen: desde el menú de Subidas, el usuari elegirá la pción de Realizar una ft víde, que psterirmente pdrá subir a su espaci privad. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Subidas. 2. Dentr del menú, el usuari elige Realizar una ft víde. 3. Se mstrará la cámara del terminal para que el usuari realice la ft. 4. Una vez realizada la ft, pulsar sbre el btón de Subir. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver sin realizar ninguna ft. 25

39 Capítul 5 Análisis 4. Cn la ft ya tmada, el usuari puede vlver sin subirla. Figura 5.7: Diagrama de secuencia Hacer ft y subirla Cntrat de la peración: tmarft() Respnsabilidades: realiza una ft cn la cámara del terminal. Referencias cruzadas: Cas de us Hacer ft y subir. Precndición: el terminal psee cámara. Pstcndición: se btiene la ft. Grabar un víde cn el terminal y subirl al espaci privad Descripción: grabar un víde y subirl. Precndición: el usuari se encuentra lgad. Pstcndición: se subirá el víde que se acaba de grabar al espaci privad del usuari. Actres: usuari. Resumen: desde el menú de Subidas, el usuari elegirá la pción de Realizar una ft víde, que psterirmente pdrá subir a su espaci privad. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Subidas. 2. Dentr del menú, el usuari elige Realizar una ft víde. 3. Se mstrará la cámara del terminal para que el usuari grabe el víde. 4. Una vez grabad el víde, pulsar sbre el btón de Subir. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver sin grabar ningún víde. 26

40 Capítul 5 Análisis 4. Cn el víde ya grabad, el usuari puede vlver sin subirl. Figura 5.8: Diagrama de secuencia Grabar víde y subirl Cntrat de la peración: grabarvíde() Respnsabilidades: grabar un víde cn la cámara del terminal. Referencias cruzadas: Cas de us Grabar víde y subir. Precndición: el terminal psee cámara. Pstcndición: se graba el víde. Cntrat de la peración: subirvíde(datsvíde) Respnsabilidades: sube al espaci privad el víde seleccinada. Referencias cruzadas: Cas de us Grabar víde y subir. Precndición: existe datsvíde. Pstcndición: se sube el víde al espaci privad del usuari. Grabar un audi cn el terminal y subirl al espaci privad Descripción: grabar un audi y subirl. Precndición: el usuari se encuentra lgad. Pstcndición: se subirá el audi que se acaba de grabar al espaci privad del usuari. Actres: usuari. Resumen: desde el menú de Subidas, el usuari elegirá la pción de Grabar audi, que psterirmente pdrá subir a su espaci privad. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Subidas. 27

41 Capítul 5 Análisis 2. Dentr del menú, el usuari elige Grabar audi. 3. Se mstrará una pantalla para que el usuari grabe el audi. 4. Una vez grabad el audi, pulsar sbre el btón de Subir. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver sin grabar ningún audi. 4. Cn el audi ya grabad, el usuari puede vlver sin subirl. Figura 5.9: Diagrama de secuencia Grabar audi y subirl Cntrat de la peración: grabaraudi() Respnsabilidades: grabar un ficher de audi cn el terminal. Referencias cruzadas: Cas de us Grabar audi y subir. Precndición: el terminal psee grabadra. Pstcndición: se graba el audi. Cntrat de la peración: subiraudi(datsaudi) Respnsabilidades: sube al espaci privad el audi seleccinad. Referencias cruzadas: Cas de us Grabar audi y subir. Precndición: existe datsaudi. Pstcndición: se sube el audi al espaci privad del usuari. 28

42 Capítul 5 Análisis Cass de us destinads a la gestión de participantes Figura 5.10: Diagrama de cass de us Participantes Listar participantes Descripción: listar participantes de un curs. Precndición: el usuari se encuentra lgad. Pstcndición: se listarán tds ls participantes de un curs. Actres: usuari. Resumen: desde el menú de Participantes, el usuari seleccinará el curs del que quiere listar ls participantes. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Participantes. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. Cuand se seleccina el curs, aparecen tds ls participantes que l cmpnen. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 29

43 Capítul 5 Análisis Figura 5.11: Diagrama de secuencia Listar participantes Cntrat de la peración: listarparticipantes() Respnsabilidades: listar ls participantes de un curs. Referencias cruzadas: Cas de us Listar participantes. Precndición: el usuari tiene asignad algún curs. Pstcndición: se muestra el rest de participantes del curs. Mstrar infrmación detallada de un participante Descripción: dats de un participante. Precndición: el usuari se encuentra lgad. Pstcndición: se mstrará la infrmación relativa a un participante. Actres: usuari. Resumen: desde el menú de Participantes, el usuari seleccinará el curs del que quiere listar ls participantes y elegirá a un de ells. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Participantes. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. Cuand se seleccina el curs, aparecen tds ls participantes que l cmpnen. 4. El usuari pulsa sbre el participante y se muestra su infrmación detallada. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver a la lista de curss sin seleccinar un participante. 30

44 Capítul 5 Análisis Figura 5.12: Diagrama de secuencia Detalles participante Cntrat de la peración: detallesparticipante(idparticipante) Respnsabilidades: mstrar infrmación detallada del participante. Referencias cruzadas: Cas de us Detalles participante. Precndición: el usuari tiene asignad algún curs y en el curs hay más participantes Pstcndición: se muestra infrmación del participante seleccinad. Enviar mensaje a un participante Descripción: enviar un mensaje a un de ls participantes. Precndición: el usuari se encuentra lgad. Pstcndición: se enviará el mensaje al participante. Actres: usuari. Resumen: desde el menú de Participantes, el usuari seleccinará el curs del que quiere listar ls participantes y elegirá a un de ells para enviarle un mensaje. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Participantes. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. Cuand se seleccina el curs, aparecen tds ls participantes que l cmpnen. 4. El usuari pulsa sbre el participante y se muestra su infrmación detallada. 5. Si pulsa sbre el btón de enviar mensaje, se mstrará el cuadr para escribir el text y la pción de efectuar el enví. 31

45 Capítul 5 Análisis Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver a la lista de curss sin seleccinar un participante. 4. El usuari puede vlver a la lista de participantes. 5. El usuari puede vlver a la infrmación detallada del participante sin enviar el mensaje. Figura 5.13: Diagrama de secuencia Enviar mensaje Cntrat de la peración: enviarmensaje(idparticipante, datsmensaje) Respnsabilidades: enviar un mensaje a un participante. Referencias cruzadas: Cas de us Enviar mensaje. Precndición: el usuari tiene asignad algún curs y en el curs hay más participantes. Pstcndición: se envía el mensaje al participante. Añadir nta a un participante Descripción: añadir una nta a un de ls participantes. Precndición: el usuari se encuentra lgad. Pstcndición: se añadirá la nta al participante. Actres: usuari. Resumen: desde el menú de Participantes, el usuari seleccinará el curs del que quiere listar ls participantes y elegirá a un de ells para añadirle una nta. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Participantes. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 32

46 Capítul 5 Análisis 3. Cuand se seleccina el curs, aparecen tds ls participantes que l cmpnen. 4. El usuari pulsa sbre el participante y se muestra su infrmación detallada. 5. Si pulsa sbre el btón de añadir nta, se mstrará el cuadr para escribir el text y la pción de agregarla. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver a la lista de curss sin seleccinar un participante. 4. El usuari puede vlver a la lista de participantes. 5. El usuari puede vlver a la infrmación detallada del participante sin añadir la nta. Figura 5.14: Diagrama de secuencia Añadir nta Cntrat de la peración: añadirnta(idparticipante, datsnta) Respnsabilidades: añadir una nta a un participante. Referencias cruzadas: Cas de us Añadir nta. Precndición: el usuari tiene asignad algún curs y en el curs hay más participantes. Pstcndición: se añade la nta al participante. Agregar un participante a la agenda del terminal Descripción: agregar participante cm cntact del terminal. Precndición: el usuari se encuentra lgad. Pstcndición: se añadirá al participante a la lista de cntacts. Actres: usuari. 33

47 Capítul 5 Análisis Resumen: desde el menú de Participantes, el usuari seleccinará el curs del que quiere listar ls participantes y elegirá a un de ells para agregarl a la lista de cntacts. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Participantes. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. Cuand se seleccina el curs, aparecen tds ls participantes que l cmpnen. 4. El usuari pulsa sbre el participante y se muestra su infrmación detallada. 5. Si pulsa sbre el btón de añadir a cntacts, se agregará a ls cntacts del terminal. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 3. El usuari puede vlver a la lista de curss sin seleccinar un participante. 4. El usuari puede vlver a la lista de participantes. Figura 5.15: Diagrama de secuencia Agregar a la agenda Cntrat de la peración: agregaragenda(idparticipante) Respnsabilidades: agregar a un participante a la agenda del terminal. Referencias cruzadas: Cas de us Agregar a la agenda. Precndición: el usuari tiene asignad algún curs y en el curs hay más participantes. Pstcndición: se agrega al participante en la lista de cntacts del terminal. 34

48 Capítul 5 Análisis Cass de us destinads a la gestión de cntenids Figura 5.16: Diagrama de cass de us Curss Listar curss Descripción: listar curss accesibles para el usuari. Precndición: el usuari se encuentra lgad. Pstcndición: se listarán tds ls curss dispnibles. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Curss. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Curss. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. Escenari alternativ: 35

49 Capítul 5 Análisis 2. El usuari puede vlver al menú Principal. Figura 5.17: Diagrama de secuencia Listar curss Cntrat de la peración: listarcurss() Respnsabilidades: listar curss a ls que pertenece el usuari. Referencias cruzadas: Cas de us Listar curss. Precndición: el usuari tiene asignad algún curs. Pstcndición: se muestran tds ls curss asignads al usuari. Acceder a un curs Descripción: acceder al detalle de un curs. Precndición: el usuari se encuentra lgad. Pstcndición: se accederá al detalle de un curs. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Curss y seleccinará un de ls que tiene dispnibles, mstrándse tdas sus seccines, móduls y cntenids. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Curss. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. El usuari seleccinará un de ls curss. 4. Se mstrará el detalle del curs seleccinad. Escenari alternativ: 2. El usuari puede vlver al menú Principal. 36

50 Capítul 5 Análisis Figura 5.18: Diagrama de secuencia Acceder curs Cntrat de la peración: accedercurs(idcurs) Respnsabilidades: acceder al curs seleccinad. Referencias cruzadas: Cas de us Acceder a un curs. Precndición: el usuari tiene asignad algún curs. Pstcndición: se muestra el cntenid del curs. Descargar ficher Descripción: descargar ficher perteneciente al detalle de un curs. Precndición: el usuari se encuentra lgad. Pstcndición: se descargará al terminal el ficher. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Curss y seleccinará un de ls que tiene dispnibles, mstrándse tdas sus seccines, móduls y cntenids. Elegirá un de ls fichers para descargarl al terminal. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Curss. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. El usuari seleccinará un de ls curss. 4. Se mstrará el detalle del curs seleccinad. 5. El usuari descargará el ficher desead. Escenari alternativ: 2. El usuari puede vlver al menú Principal 4. El usuari puede vlver a la lista de Curss. 37

51 Capítul 5 Análisis Figura 5.19: Diagrama de secuencia Descargar ficher Cntrat de la peración: descargarficher(idficher) Respnsabilidades: descargar al terminal el ficher seleccinad. Referencias cruzadas: Cas de us Descargar ficher. Precndición: el usuari tiene asignad algún curs y dentr del curs existe al mens un ficher para descargar. Pstcndición: se descarga el ficher al terminal. Visualizar un ficher descargad Descripción: visualizar el cntenid de un ficher previamente descargad. Precndición: el usuari se encuentra lgad. Pstcndición: se visualizará el cntenid del ficher. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Curss y seleccinará un de ls que tiene dispnibles, mstrándse tdas sus seccines, móduls y cntenids. Elegirá un de ls fichers para descargarl al terminal. Una vez descargad, l seleccinará para mstrar su cntenid. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Curss. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. El usuari seleccinará un de ls curss. 4. Se mstrará el detalle del curs seleccinad. 5. El usuari descargará el ficher desead. 6. El usuari visualizará el cntenid. Escenari alternativ: 2. El usuari puede vlver al menú Principal 4. El usuari puede vlver a la lista de Curss. 38

52 Capítul 5 Análisis 6. N se puede abrir el ficher prque el terminal n dispne del visr adecuad para su explración. Figura 5.20: Diagrama de secuencia Visualizar ficher Cntrat de la peración: visualizarficher(idficher) Respnsabilidades: visualizar el cntenid del ficher descargad. Referencias cruzadas: Cas de us Visualizar ficher. Precndición: el usuari ya se ha descargad el ficher y psee en el terminal un visr para pder visualizar su cntenid. Pstcndición: se visualiza el cntenid del ficher. Acceder a una url Descripción: acceder a una url perteneciente al detalle de un curs. Precndición: el usuari se encuentra lgad. Pstcndición: se accederá a la url. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Curss y seleccinará un de ls que tiene dispnibles, mstrándse tdas sus seccines, móduls y cntenids. Tras seleccinar un cntenid de tip url, se visualizará. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Curss. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. El usuari seleccinará un de ls curss. 4. Se mstrará el detalle del curs seleccinad. 39

53 Capítul 5 Análisis 5. El usuari visualizará el cntenid de una url. Escenari alternativ: 3. El usuari puede vlver al menú Principal 4. El usuari puede vlver a la lista de Curss. Figura 5.21: Diagrama de secuencia Acceder Url Cntrat de la peración: accederurl(url) Respnsabilidades: acceder a la url seleccinada. Referencias cruzadas: Cas de us Acceder a url. Precndición: el usuari tiene asignad algún curs y dentr del curs existe al mens un cntenid de tip url. Pstcndición: se accede al cntenid del tip url. Acceder al cntenid de una carpeta Descripción: acceder al cntenid de una carpeta en el detalle de un curs. Precndición: el usuari se encuentra lgad. Pstcndición: se accederá al cntenid de una carpeta. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Curss y seleccinará un de ls que tiene dispnibles, mstrándse tdas sus seccines, móduls y cntenids. Tras seleccinar un cntenid de tip carpeta, se mstrará. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Curss. 2. Se mstrará una lista cn ls curss dispnibles para el usuari. 3. El usuari seleccinará un de ls curss. 4. Se mstrará el detalle del curs seleccinad. 40

54 Capítul 5 Análisis 5. El usuari explrará el cntenid de una carpeta. Escenari alternativ: 2. El usuari puede vlver al menú Principal 4. El usuari puede vlver a la lista de Curss. Figura 5.22: Diagrama de secuencia Acceder carpeta Cntrat de la peración: accedercarpeta(carpeta) Respnsabilidades: acceder a la carpeta seleccinada. Referencias cruzadas: Cas de us Acceder a carpeta. Precndición: el usuari tiene asignad algún curs y dentr del curs existe al mens un cntenid de tip carpeta. Pstcndición: se accede al cntenid del tip carpeta. Acceder a la versión web Descripción: acceder a la versión web del siti Mdle. Precndición: el usuari se encuentra lgad. Pstcndición: se accederá a la versión web del siti. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción Web y se mstrará la versión web del siti. Escenari principal: 1. El cas de us cmienza cuand se accede a la pción Web. 41

55 Capítul 5 Análisis Figura 5.23: Diagrama de secuencia Versión web Cntrat de la peración: versiónweb() Respnsabilidades: acceder a la versión web del siti Mdle. Referencias cruzadas: Cas de us Versión Web. Precndición: el usuari se encuentra lgad. Pstcndición: se accede a la versión web del siti Mdle. Acceder a la ayuda Descripción: acceder a la ayuda de Mdle. Precndición: el usuari se encuentra lgad. Pstcndición: se accederá a la ayuda. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción de Ayuda y se mstrará la ayuda de Mdle. Escenari principal: 1. El cas de us cmienza cuand se accede a la pción de Ayuda. Figura 5.24: Diagrama de secuencia Ayuda 42

56 Capítul 5 Análisis Cntrat de la peración: ayuda() Respnsabilidades: acceder a la ayuda de Mdle. Referencias cruzadas: Cas de us Ayuda. Precndición: el usuari se encuentra lgad. Pstcndición: se accede a la ayuda de Mdle Cass de us destinads a ls dats estadístics Figura 5.25: Diagrama de cass de us Estadísticas Dibujar estadísticas Descripción: acceder a la gráfica cn ls dats estadístics. Precndición: el usuari se encuentra lgad. Pstcndición: se dibuja la gráfica cn ls dats. Actres: usuari. Resumen: desde el menú Principal, el usuari accederá a la pción Estadísticas para ver sus dats. Escenari principal: 1. El cas de us cmienza cuand se accede al menú de Estadísticas. 2. Se dibujará una gráfica indicand el númer de lgins, fichers subids y acces a curss realizads pr el usuari a ese siti desde el terminal. 43

57 Capítul 5 Análisis Figura 5.26: Diagrama de secuencia Dibujar estadísticas Cntrat de la peración: dibujarestadísticas() Respnsabilidades: dibujar estadísticas referentes al usuari. Referencias cruzadas: Cas de us Dibujar estadísticas. Precndición: el usuari se encuentra lgad. Pstcndición: se dibujan las estadísticas de us del usuari lgad Mdel cnceptual de dats Diagrama de clases cnceptuales En la figura 5.26 pdems ver una simplificación del diagrama cnceptual de clases. Se ha ptad pr incluir esta versión reducida en la dcumentación para que su cmpresión sea much más sencilla. 44

58 Capítul 5 Análisis Figura 5.27: Diagrama cnceptual de clases 45

59 Capítul 6 Diseñ Para el diseñ del sistema se ha seguid un patrón arquitectónic de tres capas. De este md, pdems dividir la carga de trabaj en 3 niveles, cn un repart clar de funcines. A cntinuación se presentan las capas rdenadas de mayr a menr nivel de abstracción: Capa de presentación: es la encargada de interactuar cn el usuari. Capa de dmini: es la encargada de implementar las funcinalidades del sistema. Capa de gestión de dats: es la encargada de interactuar cn el SGBD. Cada capa de las indicadas anterirmente sól se cmunica cn su capa cntigua. A cntinuación se muestra un diagrama cn la arquitectura prpuesta para la aplicación, incluyend las capas en las que está subdividid el sftware, la interacción cn elements externs y cn el terminal del usuari. 46

60 Capítul 6 Diseñ Figura 6.1: Arquitectura de nuestra aplicación 6.1 Estructura de un pryect Andrid Tds ls pryects Andrid tienen la siguiente estructura: 47

61 Capítul 6 Diseñ Libs: en esta carpeta deberán ir tds ls fichers de librerías externas que utilice la aplicación. En nuestr cas, la carpeta tiene un jar para el parse de bjets jsn (gsn.jar) y tr para el dibuj de las gráficas estadísticas (Andridplt.jar). Res: cntiene tds ls recurss que utiliza la aplicación. Ests recurss generalmente sn definicines de pantallas, imágenes estáticas, fichers de audi así cm recurss necesaris para la internacinalización de las aplicacines. El directri res se divide a su vez en: Drawable: cmpuest pr elements gráfics de la aplicación cm imágenes estáticas y fichers xml que definen estils aplicables a ls bjets. En nuestr cas, en la carpeta drawable están tds ls icns de la aplicación, así cm un cnjunt de fichers que ns han permitid persnalizar ls elements de la interfaz gráfica: brdes redndeads, degradads, fnds, etc. La platafrma Andrid permite que existan varias carpetas de recurss gráfics cn el bjet de hacer aplicacines adaptadas a diferentes terminales. De esta frma, existen las carpetas drawable-hdpi, drawable-ldpi y drawable-mdpi que pueden cntener elements adicinales ( sbrescribir a la carpeta drawable). Si estas carpetas tienen elements, el terminal utilizará la carpeta de recurss en función de la densidad de píxeles que tenga su pantalla. Así, se pdría definir una imagen de fnd cn más reslución dentr de la carpeta drawablehdpi y si se ejecuta la aplicación en una tablet, esta cargará la imagen más pesada; la imagen cn menr reslución para aquells dispsitivs cn pantallas más pequeñas. Layut: cntiene ls XMLs que definen las diferentes pantallas que cmpnen la aplicación. Values: frmada pr un únic ficher XML que cntiene las diferentes cadenas de text utilizadas. El bjetiv de separar las cadenas del text del códig ls xmls de definición de vistas, es la internacinalización de la aplicación. De esta frma, para adaptar la aplicación a tr idima basta cn crear un nuev ficher (strings.xml) cn las cadenas traducidas y clcarlas dentr de una nueva carpeta values-xx. Src: Cntiene el códig de la aplicación. Ls fichers class resultantes de la cmpilación del códig se almacenarán en un directri bin. 48

62 Capítul 6 Diseñ AndridManifest.xml: este ficher cuelga de la raíz del pryect, es bligatri en tdas las aplicacines Andrid y se encarga de definir alguns parámetrs de la aplicación. Dentr de la carpeta src, en nuestr pryect se ha ptad pr dividir el códig en capas, dnde cada paquete se encarga de una parte cncreta de la aplicación: paquete cm.quique.pfc.activities - cntiene tdas las Activities de la aplicación, es decir, aquellas clases encargadas de definir el cmprtamient de las pantallas así cm de establecer qué XML define su interfaz. Las Activities implementadas n cntienen ninguna lógica de negci, simplemente instancian ls diferentes elements de la interfaz (btnes, frmularis, listas) y se encarga de establecer el cmprtamient de cada element (invcand al crrespndiente servici de la lógica de negci). paquete cm.quique.pfc.dats - representa la capa de acces a dats. La aplicación cuenta cn ds fuentes de dats diferentes, pr un lad, la prpia base de dats de la aplicación dnde se almacenan las cuentas de usuari y se registra la actividad de cada un de ells, y pr tr, el servidr de Mdle. Para cada una de las fuentes de dats se han implementad un DAO (Data Access Object) que tiene ls diferentes métds de acces/brrad/mdificación para cada fuente de dats. El bjetiv de crear ls diferentes DAOs en vez de llamar directamente a las cnsultas de dats en la lógica de negci es hacer el sistema más rbust y fácilmente mdificable ante cambis en el rigen de ls dats. Pr ejempl, si en un futur cambian tds ls servicis web de Mdle se quieren almacenar las cuentas de usuari en un servidr extern, únicamente tendríams que mdificar el DAO crrespndiente sin mdificar su interfaz, y la lógica de negci y la presentación serían igualmente válidas y el cambi para estas capas sería transparente. paquete cm.quique.pfc.dts - Cntiene diferentes POJOs (Plain Old Java Object) que mdelan ls dats que viajan entre las diferentes capas de la aplicación. Para cada tip de bjet presente en la lógica de negci (curss, usuaris, participantes, cntenid ) se ha cread un DTO (Data Transfer Object) cn tds ls atributs públics. paquete cm.quique.pfc.servicis frmad pr las clases que implementan la lógica de negci de la aplicación. Ests servicis de negci serán invcads desde 49

63 Capítul 6 Diseñ las clases que únicamente se encargan de la presentación de ls dats (Activities) y se nutren de ls dats prprcinads pr ls DAOs. El bjetiv de la implementación de estas clases es definir claramente cuál es la funcinalidad de la aplicación y separar la presentación del acces a dats. Adicinalmente, la clase de negci encargada de la interacción cn el servidr Mdle se encarga de tener cacheads ciert tiemp ls dats cn el bjetiv de mejrar el rendimient de la aplicación y minimizar el tráfic de red. paquete cm.quique.pfc.utils - paquete en el cual se aljan un cnjunt de clases estáticas cn diferentes métds que sn utilizads en el rest de capas de la aplicación: utilidades para el manej de cadenas, peticines http, cálcul de listas, etc. Tdas estas clases sn estáticas prque únicamente frecen funcinalidad y n tiene sentid instanciarlas ya que n tienen ningún atribut ni estad que mantener. 6.2 Diseñ de la capa de gestión de dats La aplicación mantiene su prpia base de dats para el almacenamient de las cuentas de usuari que han sid utilizadas para hacer lgin y para el registr de la actividad. Esta base de dats está implementada, al igual que tdas las aplicacines Andrid, en el SGBD SQLite Diseñ cnceptual Tips de entidades: En la tabla 6.1 se muestran las entidades que intervienen, sus atributs y el tip de entidad. Nmbre Atributs Tip Cuentas idcuenta, url, usuari, passwrd, imagen Fuerte Actividad idactividad, idcuenta, actividad, fecha Fuerte Tabla 6.1: Tabla de entidades 50

64 Capítul 6 Diseñ Atributs de las entidades: En las tablas 6.2 y 6.3 se describen ls atributs de cada una de las entidades. Nmbre Descripción Tip Nul idcuenta Identificadr únic de cada fila. Camp generad y autincrementad pr el SGBD SQLite. De esta frma, al intrducir dats sbre la tabla, n tenems que especificar este valr ya que es el prpi SQLite quien se encarga de insertarl. Clave primaria N url Dirección web del servidr de Mdle al que pertenece la cuenta. Debe incluir el prefij http https (la aplicación funcina cn ls ds prtcls.. Simple N usuari Nmbre de usuari en Mdle Simple N Cntraseña en Mdle. El servidr de Mdle exige que las cntraseñas tengan al mens un carácter en mayúsculas y un carácter especial (numéric, ;, _, etc). passwrd Para almacenarl en la BBDD de nuestra aplicación, se ha cdificad dicha cntraseña utilizand el algritm AES. Se detalla este prces en el punt 7.6 de la memria. Simple N Sin embarg, para llamar al servici web de autenticación se le debe mandar el passwrd sin cifrar. Tabla 6.2: Tabla de atributs de la entidad Cuentas Nmbre Descripción Tip Nul idactividad Identificadr únic de cada fila. Camp generad y autincrementad pr el SGBD SQLite. De esta frma, al intrducir dats sbre la tabla, n tenems que especificar este valr ya que es el prpi SQLite quien se encarga de insertarl. Clave primaria N idcuenta Identificadr únic de la cuenta de usuari en la base de dats aljada en nuestr terminal. Simple N actividad Se identifica el tip de actividad a registrar. En nuestr cas, se ha utilizad un 1 cuand se trate de lgin, un 2 cuand se trate de una subida de ficher y un 3 cuand se cnsulte el detalle de un curs. Simple N 51

65 Capítul 6 Diseñ fecha Fecha y hra en la que se prduce la actividad. Será de gran utilidad cuand se saquen las gráficas estadísticas. Simple N Tabla 6.3: Tabla de atributs de la entidad Actividad Relacines: Las relacines que intervienen sn: Realiza Relación que existe entre las cuentas y las actividades. Se crea un atribut de la relación para determinar la fecha de cuand se prduce y el tip. Cnexines Relación que existe entre ls usuaris cn las cnexines al sistema. Diagrama de entidad-relación: Figura 6.2: Esquema Entidad-Relación Figura 6.3: Esquema Entidad-Relación Cnexines al sistema 52

66 Capítul 6 Diseñ Diseñ lógic Una vez btenidas las tablas, se va a prceder a aplicar el prces de nrmalización. La nrmalización, en el cntext de las base de dats, sn una serie de reglas que permiten a ls diseñadres de bases de dats desarrllar un esquema que minimice ls prblemas de lógica. Cada regla está basada en la que le antecede. Además, una base de dats nrmalizada es más fácil de entender, y l que es más imprtante, tiene un cnsum de espaci menr debid a que se reduce la repetición de dats. En nuestra base de dats se van a aplicar 4 grads de nrmalización, ls cuales sn: 1ª Frma Nrmal: establece que tds ls atributs de la tabla deben ser atómics (indivisibles), existe una clave primaria cn atributs y ests sn n nuls. Cn est se cnsiguen eliminar ls valres repetids en una base de dats. 2ª Frma Nrmal: establece que aquells dats que n dependen de la clave primaria se deben eliminar y separar dentr de sus prpias tablas. 3ª Frma Nrmal: una tabla esta en 3FN si tds ls dats sn dependientes funcinalmente de la clave primaria y n existe dependencias transitivas, es decir, que un clumna dependa de tra y ninguna de ellas sea clave primaria. Frma Nrmal de Byce-Cdd ( FNBC): es una 3FN ligeramente más fuerte. Una tabla se encuentra en FNBC si está en 3FN y si sól existen dependencias funcinales elementales que dependan de la clave primaria de cualquier clave alternativa. Ahra aplicarems ls 4 grads de nrmalización a nuestras tablas: 1ª Frma Nrmal: pdems cnsiderar que tdas las tablas descritas anterirmente están en 1FN ya que tds sus atributs sn atómics, cntienen una única clave primaria y estas n sn nulas. 2ª Frma Nrmal: tdas las tablas se encuentran directamente en 2FN debid a que están en 1FN y su clave primaria está cmpuesta pr un sl atribut. 3ª Frma Nrmal: tdas las tablas se encuentran el 3FN ya que tdas se encuentran en 2FN y ningún atribut que n sea clave primaria de la tabla es dependiente transitivamente de una clave candidata. FNBC: en este cas, tdas la tablas estarán en FNBC debid a que están en 3FN y n existen dependencias n triviales a una parte de la clave primaria. 53

67 Capítul 6 Diseñ Diseñ físic Cuand el usuari accede pr primera vez a la aplicación y realiza el primer lgin cntra un siti Mdle, se lleva a cab la creación de la base de dats y las estructuras de dats necesarias. A cntinuación mstrams las secuencias para la creación de la base de dats y las estructuras utilizadas: 54

68 Capítul 6 Diseñ Figura 6.4: Secuencias para la creación de la base de dats 6.3 Diseñ de la capa de dmini Diagrama de clases de diseñ Para una mejr cmprensión y lectura de ls diagramas de clases, se ha ptad pr dividirls según el paquete principal al que crrespnden en la aplicación. Diagrama de clases del paquete Activities: A cntinuación se muestra el diagrama de clases de diseñ. En el diagrama aparecerán ls métds de mayr relevancia. 55

69 Capítul 6 Diseñ Figura 6.5: Diagrama de clases de diseñ Lgin Figura 6.6: Diagrama de clases de diseñ Subida Fts 56

70 Capítul 6 Diseñ Figura 6.7: Diagrama de clases de diseñ Subida Audis Figura 6.8: Diagrama de clases de diseñ Curss 57

71 Capítul 6 Diseñ Figura 6.9: Diagrama de clases de diseñ Participantes Figura 6.10: Diagrama de clases de diseñ Estadísticas, ayuda y acces Web 58

72 Capítul 6 Diseñ Diagrama de clases del paquete Dats: Figura 6.11: Diagrama de clases de diseñ Acces a dats Diagrama de clases del paquete Dts: Figura 6.12: Diagrama de clases de diseñ DTOs (parte I) 59

73 Capítul 6 Diseñ Figura 6.13: Diagrama de clases de diseñ DTOs (parte II) Diagrama de clases del paquete Servicis: Figura 6.14: Diagrama de clases de diseñ Servicis 60

74 Capítul 6 Diseñ Diagrama de clases del paquete Utils: Figura 6.15: Diagrama de clases de diseñ Utils Diagrama de secuencia En este apartad se irán presentand ls diferentes diagramas de secuencia, junt cn la explicación general de l que ells representan. Al abrir la aplicación, se mstrará una pantalla para cnectarns al siti Mdle desead cn nuestras credenciales. Sin pasar estas cmprbacines, n pdrems ac ceder al rest de funcinalidades de la aplicación. En la figura 7.19 pdems bservar el diagrama de la acción descrita cn anteriridad. 61

75 Capítul 6 Diseñ Figura 6.16: Diagrama de interacción Lgin Además, cm se ha cmentad anterirmente, es psible acceder a través de una lista de cuentas almacenadas cn las que ya hems lgin previamente. Para ell, se accederá a la pantalla de Listad de Cuentas desde la pantalla de Lgin y se seleccinará una de las cuentas dispnibles. Pdems ver cóm sería la secuencia en la figura 7.20 Figura 6.17: Diagrama de interacción Lgin desde cuenta almacenada Desde la pantalla principal se mstrará un menú en el que se agrupan las pcines que tenems en la aplicación. Así pues, en la figura 7.21 pueden bservarse tdas las peracines que pdems ejecutar desde el menú principal. 62

76 Capítul 6 Diseñ Figura 6.18: Diagrama de interacción Principal En el siguiente diagrama se representa el cas de us en el que el usuari seleccina una ft ya existente en el terminal y la sube a su siti privad. Figura 6.19: Diagrama de interacción Subir ft almacenada Para el cas en el que el usuari realiza la ft y psterirmente la sube, la secuencia aparece representada en la figura Este cas es similar al de realizar un víde y subirl, pr ell bviams su representación. 63

77 Capítul 6 Diseñ Figura 6.20: Diagrama de interacción Realizar ft y subirla La última acción psible a realizar desde el menú de Subidas es la de grabar un ficher de audi y subirl al espaci privad. La secuencia para realizar dicha acción es la siguiente: Figura 6.21: Diagrama de interacción Grabar audi y subirl Ls próxims diagramas van relacinads cn ls participantes pertenecientes a cada un de ls curss. Pdrems listar dichs participantes, ver infrmación detallada de cada un de ells y mandar mensajes. Así, en la figura 7.24 se representa la frma de listar ls participantes. En la 7.25 pdems ver cóm alcanzar la pantalla de detalle de un usuari seleccinad. Pr últim, en la 7.26 se representa la acción de mandar un mensaje a un de ls participantes. 64

78 Capítul 6 Diseñ Figura 6.22: Diagrama de interacción Listar participantes Figura 6.23: Diagrama de interacción Detalle de un participante Figura 6.24: Diagrama de interacción Mandar mensaje a un participante 65

79 Capítul 6 Diseñ Pasams a tratar ahra ls cass relacinads cn ls curss. La primera acción que representarems será la de listar ls curss que tiene asignad el usuari. Figura 6.25: Diagrama de interacción Curss asignads al usuari Una vez se encuentre listada la lista de curss, pdems acceder al cntenid de un de ells. Este cas aparece reflejad en la figura 7.28 Figura 6.26: Diagrama de interacción Detalle de un curs Una vez que se listan ls elements de un curs, el usuari tendrá la pción de descargar y ver ls cntenids, así cm de listar el cntenid de una carpeta. En ls 2 próxims diagramas aparecen representadas ambas accines. 66

80 Capítul 6 Diseñ Figura 6.27: Diagrama de interacción Descargar cntenid Figura 6.28: Diagrama de interacción Visualizar cntenid carpeta Otr de ls cass de us sería el crrespndiente a dibujar las estadísticas de un usuari desde el terminal en el que se encuentra la aplicación. Se mstrarán dats de lgin, subidas y acces a curss. Figura 6.29: Diagrama de interacción Estadísticas 67

81 Capítul 6 Diseñ El próxim diagrama de interacción refleja el cas de acces a la versión web del siti Mdle al cual ns encntrams cnectads. Figura 6.30: Diagrama de interacción Versión web Finalmente, se representa el cas de us en cual se accede a la ayuda ficial de Mdle. Figura 6.31: Diagrama de interacción Ayuda Mdle 68

82 Capítul 6 Diseñ Cntrats de las peracines En este punt se van a describir ls cntrats de las peracines vistas en ls diagramas de secuencia reflejads en el punt anterir. Pantalla Lgin ncreate() (cnstructr): lleva a cab la creación de la pantalla de lgin para que el usuari intrduzca la url del siti Mdle al que se quiere cnectar, su nmbre de usuari y el passwrd. LginTask(url, usuari, passwrd): credenciales de acces del usuari para la aplicación. mensajedeerrr(): mensaje del sistema para el usuari en cas de que las credenciales de access sean incrrectas. ncreate() (cnstructr): se encarga de crear la pantalla principal de la aplicación. btenercuentas(): cnsulta para btener tdas las cuentas de usuari cn las que ya se ha accedid desde el terminal dnde el aplicativ se encuentra instalad. Menú Principal ncreate() (cnstructr): creará la pantalla según la pción del menú elegida (subidas, participantes, curss, estadísticas, web y ayuda) Pantalla Subidas ncreate() (cnstructr): se muestra la galería de imágenes almacenadas en el terminal. seleccinarfttask(): el usuari seleccina la imagen que desea subir a su espaci privad. SubirFtTask(datsFt): se sube la imagen seleccinada al espaci privad del usuari. ncreate() (cnstructr): se muestra la cámara del terminal para que el usuari realice una ft víde. RealizarFtTask(): el usuari realiza la ft que desee para psterirmente subirla. ncreate()(cnstructr): creación de la pantalla de audi dnde el usuari pdrá grabar un snid. 69

83 Capítul 6 Diseñ nrecrd(): grabación de audi pr parte del usuari. SubirAudiTask(datsAudi): se sube el audi previamente grabad al espaci privad del usuari. Pantalla Participantes calculacursstask(idusuari): se btiene la lista de curss que tiene asignads el usuari en el siti Mdle al que se encuentra cnectad. btenerparticipantes(idcurs): se btiene la lista de participantes para el curs seleccinad. btenerparticipante(idparticipante): acces a la infrmación detallada del participante elegid pr el usuari. ncreate()(cnstructr): se muestra la pantalla para escribir el mensaje que psterirmente pdrems enviar al participante. mandarmensajetask(idparticipante, mensaje): acción a través de la cual se envía el mensaje escrit pr el usuari al participante seleccinad. Pantalla Curss calculacursstask(idusuari): se btiene la lista de curss que tiene asignads el usuari en el siti Mdle al que se encuentra cnectad. btenercurs(idcurs): acces al detalle del curs seleccinad. Se muestras sus distintas seccines y cntenids. bajar(idcurs, cntenid): descarga al terminal del cntenid seleccinad. Si el terminal tiene el visr aprpiad para ver el cntenid descargad, el usuari tendrá además la pción de visualizar el cntenid. mstrarcarpeta(idcurs, carpeta): se muestran ls cntenids incluids dentr de la carpeta seleccinada. Estadísticas btenerestadística(idusuari): se dibujan ls dats estadísticas del usuari para el siti Mdle al que se encuentra cnectad (sól ls dats para el terminal actual). Web ncreate()(cnstructr): se muestra la versión web del siti Mdle al que el usuari se encuentra cnectad. 70

84 Capítul 6 Diseñ Ayuda ncreate()(cnstructr): se muestra la ayuda ficial de Mdle. 6.4 Diseñ de la capa de presentación Llegads a este punt, mstrarems el diseñ de la capa de la presentación. Tal y cm se ha cmentad en punts anterires, esta capa es de vital imprtancia ya que es la que entra en cntact cn el usuari final de la aplicación. Cn el bjetiv de que sea del agrad del usuari, tendrems que ser especialmente cuidadss cn el diseñ y el estil. Tdas las pantallas mstradas en una aplicación Andrid están frmadas pr Views. Un View es una clase que representa un element dentr de la interfaz de usuari (btnes, cuadrs de texts, listas, etc). Las distintas Views que cmpnen una pantalla dentr de una aplicación Andrid se agrupan en bjets cntenedres llamads ViewGrup, que es una clase abstracta que sirve de cntenedr de Views. Existen diferentes tips de ViewGrup (llamads Layut) en función de cóm se distribuyen ls elements que l cmpnen (de frma lineal, relativa tabular). Figura 6.32: Diseñ View y Viewgrup 71

85 Capítul 6 Diseñ Una lista cn ls diferentes tips de Views presentes en Andrid sería la siguiente: Figura 6.33: Diseñ Tips de Views Tds ests bjets se definen a través de un ficher xml que debe estar en la carpeta /drawable/layut dentr de la estructura del pryect. De esta frma, para cada pantalla que tengams en la aplicación deberems tener un xml que defina su interfaz. Ests fichers xml están cmpuests pr bjets View ViewGrup de tal frma que ls atributs del xml sean las diferentes prpiedades de cnfiguración del bjet (tamañ, clr, text ). A cntinuación verems el diseñ de las principales pantallas de la aplicación y se describirán las características más imprtantes de cada una de ellas. El rest de pantallas psee un diseñ similar a las aquí recgidas. 72

86 Capítul 6 Diseñ Pantalla Lgin La palabra Mdle se encuentra en un TextView cn el valr del text ya establecid. Ls 3 camps para que el usuari intrduzca sus credenciales sn del tip EditText. En el cas del Passwrd, se indica que es una entrada de ese tip para que culte cn * td l escrit. Tant Cuentas cm Lgin, sn btnes (Buttn). La cabecera que cntiene Cuentas está incluida en un RelativeLayut, mientras que el rest de elements se incluyen en un LinearLayut. Figura 6.34: Diseñ de pantalla Lgin Pantalla Lgin desde cuenta almacenada Vlver es un btón incluid dentr de un LinearLayut Además, existe tr LinearLayut cuy cntenid es un ListView, que estará cmpuest pr tdas las cuentas previamente almacenadas. Cada element de la lista se encuentra en un LinearLayut cmpuesta pr un ImageView(imagen del usuari), TextView(nmbres y apellids) y un ImageView cn el btón (flecha) para hacer lgin. 73

87 Capítul 6 Diseñ Figura 6.35: Diseñ de pantalla Lgin desde cuenta almacenada Pantalla Principal La parte superir de la pantalla está cmpuesta pr un LinearLayut que cntiene un ImageView cn el icn de la aplicación, y un TextView en el que irá escrit el nmbre del siti al que el usuari se encuentra cnectad. En la parte inferir se incluye un element de tip TableLayut. Estará frmad a su vez pr 3 TableRws, 3 filas cmpuesta pr 2 btnes cada una, crrespndientes a las diferentes seccines de la aplicación. Figura 6.36: Diseñ de pantalla Menú Principal 74

88 Capítul 6 Diseñ Pantalla Subidas Cm se ha cmentad en pantallas anterires, el btón de Vlver se encuentra en un LinearLayut. El rest de la pantalla está englbad en tr LinearLayut. En la parte superir se bserva tr LinearLayut que incluye la imagen (ImageView) y el text (TextView) de Subir. El rest está frmad pr una TableLayut cn 3 TableRws, cada una cn un btón representand las accines psibles. Figura 6.37: Diseñ de pantalla Pantalla Subidas Pantalla Participantes Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. En la parte inferir existe tr LinearLayut frmad pr un ListView para listar cada un de ls participantes del curs. Cada element de la lista se encuentra en un LinearLayut cn un TextView para indicar el nmbre y apellids del participante y un ImageView que cntiene el icn (flecha) para acceder al detalle del participante. 75

89 Capítul 6 Diseñ Figura 6.38: Diseñ de pantalla Listad de participantes Pantalla Detalle Participante Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. La primera infrmación relativa al participante viene recgida dentr de un LinearLayut. Cntiene un ImageView cn su imagen y un TextView cn su nmbre y apellids. El rest de la infrmación del usuari aparece en un TableLayut en el que se cmbinan TextView para las etiquetas y para reflejar la infrmación. Pr últim aparecen 2 LinearLayut cnteniend ls btnes cn las psibles accines. Figura 6.39: Diseñ de pantalla Detalle participante 76

90 Capítul 6 Diseñ Pantalla Curss Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. En la parte inferir existe tr LinearLayut frmad pr un ListView para listar cada un de ls curss. Cada element de la lista está frmad pr un TextView cn el nmbre del curs y un ImageView que cntiene el icn (flecha) para acceder al detalle. Figura 6.40: Diseñ de pantalla Lista de curss Pantalla Detalle Curs Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. L siguiente que aparece es un LinearLayut frmad pr un ListView. Ls elements de esa lista sn las seccines en las que se divide el curs. Pr cada sección, existe un LinearLayut cn un TextView cn el nmbre la misma y tr TextView cn el subtítul. Además, incluyen un ListView cn ls distints móduls que la cmpnen. A su vez, un módul está frmad pr un ImageView cn su imagen, un TextView cn su nmbre y un ImageView cn la acción a realizar. 77

91 Capítul 6 Diseñ Figura 6.41: Diseñ de pantalla Detalle curs Pantalla Elements Carpeta Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. L siguiente que aparece es un LinearLayut que cntiene un TextView cn el títul que vems y un ListView. Ls elements de esa lista sn ls que cnfrman la carpeta. Cada element está incluid en un LinearLayut cn un TextView cn su nmbre y un ImageView cn la acción a realizar. Figura 6.42: Diseñ de pantalla Elements de una carpeta 78

92 Capítul 6 Diseñ Pantalla Estadísticas Pantalla cmpuesta pr un RelativeLayut. Incluye un TextView cn el títul y un LinearLayut cn un tip GraphicalView para dibujar el gráfic cn ls dats estadístics. Para pder utilizar el tip GraphicalView se utiliza la librería externa achartengine.jar. Figura 6.43: Diseñ de pantalla Estadísticas Pantalla Web Mdle Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. L siguiente que aparece es un tip WebView dnde cargarems las páginas relativas a la versión web del siti Mdle. Pr últim, aparece un LinearLayut que cntiene 4 RelativeLayut. Cada un de ells está frmad pr un btón que usarems para la navegación (atrás, adelante, recargar y navegadr). 79

93 Capítul 6 Diseñ Figura 6.44: Diseñ de pantalla Versión Web Pantalla Ayuda Vlvems a encntrarns cn el btón Vlver incluid en un LinearLayut. L siguiente que aparece es un tip WebView dnde cargarems las páginas relativas a la ayuda ficial de Mdle. Pr últim, aparece un LinearLayut que cntiene 4 RelativeLayut. Cada un de ells está frmad pr un btón que usarems para la navegación (atrás, adelante, recargar y navegadr). Figura 6.45: Diseñ de pantalla Ayuda 80

94 Capítul 7 Implementación 7.1 Instalación del entrn de trabaj En este manual se va a tratar la instalación pas a pas de las herramientas necesarias para cmenzar a desarrllar nuestra aplicación sbre un sistema Andrid. Ls principales cmpnentes sn el SDK de Andrid, el plugin ADT para eclipse, así cm el prpi IDE Eclipse. En este cas se trabaja cn el IDE Eclipse Galile fr Java Develpers, pr l éste será el cas que se detalla para la instalación del SDK Andrid Requisits del sistema A partir de este mment vams a tratar td l necesari para preparar nuestr entrn de trabaj y pder empezar cn la fase de desarrll. Para ell, el primer pas es revisar ls requisits. Dichs requisits, según la prpia dcumentación de Andrid, sn ls siguientes: Sistema Operativ: Windws XP (32-bit), Vista (32 64-bit), Windws 7 (32 64-bit) Mac OS X superir (sl x86) Linux (prbad en Linux Ubuntu Hardy Hern) Entrn de desarrll: (Eclipse IDE) Eclipse 3.4 (Ganymede) 3.5 (Galile) Eclipse JDT plugin JDK 5 r JDK 6 Andrid Develpment Tls plugin (pcinal) 81

95 Capítul 7 Implementación N cmpatible cn Gnu Cmpiler para Java (gcj) Otrs entrns de desarrll: Apache Ant Instalación de Eclipse Aunque la instalación del IDE n frma parte del pryect, vams a prceder a su instalación, que es fácilmente abrdable desde su prpia web ( w w.eclipse.rg). En la sección Dwnlad", se elige la versión deseada, que en nuestr cas será Eclipse IDE fr Java Develpers para Windws 32 bits, cn un tamañ de 99MB. Una vez descargad, basta descmprimir y ejecutar eclipse.exe" para cmenzar a usar la aplicación. Figura 7.1: Descarga de Eclipse Instalación del SDK Andrid Entre ls númers recurss dispnibles en la web de Andrid ( tenems tdas las versines del SDK, en la sección SDK". En nuestr cas elegims la 82

96 Capítul 7 Implementación versión para Windws, cn un tamañ de 23MB. Una vez cmpletada la descarga, descmprimims en la ubicación deseada. Antes de prseguir, es recmendable almacenar la ruta de la subcarpeta tls" en la variable de entrn path" de nuestr sistema. Para ell hacems clic cn el btón derech en Equip" para acceder a las Prpiedades del sistema. En cnfiguración avanzada pdems acceder a dichas variables. Basta buscar la variable path" en la lista y hacer dble clic para editar. Al valr actual debems añadir nuestra ruta, precedida pr ;", para cnservar ls valres anterirmente almacenads. Figura 7.2: Descarga de SDK Andrid Est ns facilitará el acces mediante símbl del sistema a algunas cnfiguracines del SDK Andrid pr cmands, n siend necesari escribir la ruta cmpleta de la ubicación de las utilidades Instalación del plugin ADT de Eclipse Usand Eclipse, este plugin ns facilitará tareas de prgramación, simulación y depuración de nuestras aplicacines. Para descargarl, basta cn acceder a Install new sftware" del menú Help" e intrducir la dirección dnde se ubica ( cm directri de trabaj. Aunque pr raznes de seguridad es preferible usar el prtcl https, en cas de prblemas también pdría usarse http. 83

97 Capítul 7 Implementación A cntinuación debe frecerns la instalación de Develper Tls", y desplegand el árbl pdrems ver que se cmpne de Andrid DDMS" y Andrid Develper Tls". Elegims ambas herramientas y tras aceptar la crrespndiente licencia en el siguiente pas, cmienza la descarga del nuev sftware. Una vez descargad e instalad hay que cnfigurar las nuevas utilidades para que Eclipse recnzca el SDK Andrid. Para ell, en el menú Windw/Preferences" elegims la pción Andrid. En el cuadr de dialg mstrad debems intrducir la ruta dnde fue instalad el SDK en el pas anterir, pr ejempl C:\Andrid-sdk-windws. Si td el prces se ha realizad crrectamente, tras pulsar el btn Apply" ns aparecerán tdas las versines de las APIs incluidas en nuestr SDK. Aceptams ls cambis y ya pdrems empezar a desarrllar para Andrid. Figura 7.3: Instalación de Andrid Develper Tls 84

98 Capítul 7 Implementación Figura 7.4: Especificar ubicación del SDK Sin embarg, para cmpletar la puesta en marcha de las utilidades que ns frece el plugin, tdavía ns queda pr crear nuestr simuladr, simuladres, para prbar nuestras aplicacines. Est evitará tener que acceder a nuestr terminal para testear cada cambi realizad en el códig fuente desarrllad. Para ell accedems al menú Windw\Andrid SDK and ADV Manager", que ns mstrará una ventana del mism nmbre. Ahí, seleccinand la pción Virtual Devices" pdrems crear fácilmente nuestrs dispsitivs haciend clic en new ". Basta elegir el nmbre desead, elegir la versión de la API deseada y añadir la cmpatibilidad hardware que vayams a necesitar. Tras hacer clic en Create ADV" nuestr dispsitiv aparecerá en el listad. Opcinal. El plugin de desarrll crea de frma autmática una carpeta llamada.andrid" dentr de la carpeta Mis dcuments", dnde se almacenan, entre trs chers de cnfiguración, nuestrs dispsitivs virtuales creads. Si la cnfiguración de esta carpeta es la definida pr defect en nuestr sistema perativ Windws, n tendrems ningún prblema, per si hems cambiad la ruta de acces habrá que indicar a Eclipse y al plugin de Andrid nuestra ubicación persnalizada. La frma más sencilla es creand una nueva variable de entrn, prcediend de la misma frma que cuand añadims a la variable Path" la ruta de nuestr SDK Andrid. En este cas la diferencia sería que crearems una nueva variable en 85

99 Capítul 7 Implementación lugar de mdificar una ya existente. La llamarems ANDROID SDK HOME", y su valr será la ruta de nuestra carpeta Mis dcuments", pr ejempl D:\dcuments". Pr últim, señalar que en cas de que aparecieran nuevas versines del plugin pdrems acceder a ellas mediante la herramienta Check fr updates" del menú Help". Si l que querems es actualizar el SDK basta cn descargar el nuev paquete y cambiar, si fuera necesari, la ruta de instalación especificada en el plugin de Andrid. Figura 7.5: ADV Manager 7.2 AndridManifest.xml Este ficher se genera autmáticamente al crear un pryect de tip Andrid prject en el entrn de desarrll eclipse y su función principal es definir algunas de las especificacines de la aplicación que estams desarrlland (intents que la cmpnen, icn de la aplicación, permiss, etc). A cntinuación, se detallan ls atributs que hems tenid que definir para cmpner el AndridManifest.xml de nuestra aplicación así cm su significad: 86

100 Capítul 7 Implementación Atribut Valr Significad manifest /package cm.quique.pfc Sirve para indicar al cmpiladr en qué paquetes están las clases de nuestra aplicación. Además, el paquete será nuestr identificadr únic en Ggle Play manifest/versincde 1 Indica a ls desarrlladres la versión del prduct. Sirve también para manejar distintas versines de la aplicación y llevar un mejr cntrl sbre las mismas en Ggle Play. manifest/versinname 1.0 Versión de la aplicación que se verá en la tienda de aplicacines Ggle Play. uses-sdk Andrid:minSdkVersin 7 Indica la mínima versión de la API (y pr tant, del sistema perativ) baj la que puede funcinar la aplicación uses-permissin Andrid.permissin.INTERNET Andrid.permissin.READ_CONTACTS Andrid.permissin.WRITE_CONTACT Andrid.permissin.RECORD_AUDIO Andrid.permissin.EXTERNAL_STORAGE Indica ls permiss para ls cuales se va a pedir permis al usuari antes de que se realice la instalación de la aplicación. En el cas del cliente Mdle sn necesaris ls permiss de: - Salida a internet: para cnectar cn el servidr de 87

101 Capítul 7 Implementación Mdle - Lectura/escritura de cntacts: para la funcinalidad de añadir a participantes Mdle cm cntacts del teléfn - Grabar audi: para la funcinalidad de subir audi a tu espaci persnal de Mdle. - Almacenamient extern: para la bajada de ls fichers crrespndientes al detalle de ls curss Referencia al ficher (dentr de la carpeta drawable) que será el icn de la aplicación Nmbre de la aplicación. app_name es una referencia a una entrada al ficher de cadenas (strings.xml) activity Andrid:name= Activities.AudiActivity Activities.AyudaActivity Definición de las diferentes pantallas que cmpnen la aplicación. Para la pantalla de inici (IniciActivity en nuestr cas), se debe añadir el atribut Andrid.intent.actin.MAIN, de esta frma Andrid sabe qué actividad cargar al ejecutar la aplicación pr primera vez. Tabla 7.1: Tabla de atributs AndridManifest.xml 88

102 Capítul 7 Implementación 7.3 Internacinalización Dad el hech de que la aplicación desarrllada es un cliente genéric para cualquier siti Mdle a partir de la versión 2 y que el sistema Mdle es el más extendid en cuant a platafrmas educativas nline, la aplicación puede ser fácilmente adaptada y traducida a trs idimas, sin tener que cambiar el códig fuente de la misma. Para ell, Andrid prprcina una estupenda infraestructura, ya que el sistema perativ y la API de prgramación que prprcina están pensads para que las aplicacines sean internacinalizadas. Para la internacinalización de una aplicación, en la carpeta de recurs que incrpran tdas las aplicacines ( res ), debe existir una subcarpeta values que cntendrá un únic archiv: strings.xml. Este ficher debe cntener tdas las cadenas de texts utilizadas dentr del códig del sistema: cuadrs de text, valres de ls btnes, títuls, mensajes de cnfirmación, mensajes de espera, etc. En la siguiente tabla se muestra un ejempl de definición de una cadena dentr del prpi ficher: <string name="ft_subida_k">ft subida crrectamente al servidr</string> Tabla 7.2: Tabla de ejempl de definición de una cadena Las cadenas de texts pueden ser referenciadas desde 2 punts dentr del códig de una aplicación Andrid: ls fichers xml que definen las vistas y dentr del prpi códig de la aplicación. Para referenciar una cadena de text dentr de un xml que define un layut utilizams la seguida del nmbre de la cadena que querems usar y que se encuentra definida en el ficher string.xml. De esta frma cnseguims también que si cambia una cadena de text (pr ejempl, descubrims un errr rtgráfic) n es necesari que se vuelva a escribir en tdas las vistas dnde se utiliza, que ptencialmente pueden ser muchas, sin que bastaría cn cambiar la definición de la cadena en el strings.xml. Ejempl: andrid:text="@string/lgin" Tabla 7.3: Tabla de ejempl de referencia a cadena desde layut 89

103 Capítul 7 Implementación Si querems utilizar una cadena definida en el ficher xml dentr del códig java es necesari invcar a ls métds getresurces().getstring() que tiene el bjet Cntext. El bjet Cntext es el cntext de la aplicación y tdas las Activities implementadas heredan de él. Ejempl: //enviar_servidr es el nmbre de la cadena en el ficher strings.xml getresurces().getstring(r.string.enviar_servidr); Tabla 7.4: Tabla de ejempl de us de cadena desde el códig Una vez hems definid nuestr ficher de cadenas, si querems traducir la aplicación a tr idima, sól tenems que cpiar el ficher strings.xml, traducir sus texts, y almacenarls en una nueva carpeta values-xx dnde XX es el códig del idima al que se ha traducid. En nuestr cas, se han incluid carpetas para traducir la aplicación al inglés y el francés (EN y FR respectivamente). De esta frma, al arrancar la aplicación, Andrid detecta el códig del idima del teléfn e intenta hacer un reemplaz de las cadenas buscand el ficher string.xml en la carpeta values del códig de idima. En cas de n encntrarl, el sistema recurrirá a la carpeta de valres pr defect. 7.4 Prblemas encntrads Junt al descncimient inicial sbre la prgramación para dispsitivs móviles y más cncretamente en la platafrma Andrid, ls principales prblemas encntrads a la hra del desarrll han sid ds: el descncimient sbre ls servicis web de Mdle y ls prblemas de rendimient de la aplicación. Respect al primer prblema, la dcumentación tant de la cnfiguración cm de la descripción de ls métds frecids pr ls Mbile Web Services utilizads era prácticamente nula. La interfaz web Services n sigue un criteri unifrme a la hra de nmbrar ls parámetrs e inclus tampc mantiene cnstante la URL a la hra de invcar a ls servicis web. Pr ejempl, para btener un tken de acces es necesari invcar a una url, para invcar a las distintas funcines de cnsulta, tra url, para subir un ficher tra url distinta 90

104 Capítul 7 Implementación Afrtunadamente, existe un servici web que devuelve tdas las funcines dispnibles para ls Mbile web Services. De esta frma, se ha pdid investigar invcand a cada una de las funcines devueltas pr el servici web y analizand la salida frecida pr este. Tras analizar la salida jsn de cada un de ls métds, se ha cnstruid un bjet java equivalente para la psterir cnversión. El tr prblema n previst inicialmente en el análisis de la aplicación ha sid el rendimient. Las redes móviles sn cnsiderablemente más lentas que las cnexines de red de ls PCs y, pr tant, se ntó que al realizar un alt númer de peticines al servidr, la aplicación se ralentizaba en exces, prvcand casinalmente falls inesperads pr timeuts. Cncretamente, la pantalla que tenía un menr rendimient es la que muestra el detalle de un curs y es era debid a que la aplicación tenía que hacer una llamada http al servidr de Mdle para traerse ls icns de cada un de ls móduls que cmpnen el curs. Para slucinar est, se depuró e inspeccinó la respuesta btenida pr el servici web de cnsulta de curss para btener de frma externa tds ls psibles icns y así incluirls cm recurss en la aplicación. Además, teniend en cuenta que ni el listad de curss dispnibles para un usuari ni la lista de participantes de un curs es alg que deba cambiar cn mucha frecuencia, se ha implementad un sistema de cache que mantiene ls dats vivs en el teléfn durante un tiemp (5 minuts) definid en una de las cnstantes de la aplicación. 7.5 Caché Debid a que en la implementación inicial se detectó que el rendimient de la aplicación era baj, se hiz un estudi para detectar la causa de la lentitud del sistema. Se pud bservar que se hacían demasiadas cnexines a ls Web Services de Mdle. Esas cnexines se hacían especialmente lentas (llegand a tardar más de 10 segunds en alguna casión) cuand se realizaban desde una red 3G, llegand inclus a prducir errres de TimeOut en alguna casión. Cn redes wifi ls tiemps mejraban sensiblemente. Finalmente se ptó pr implementar alguns mecanisms de cache para n tener que recurrir cnstantemente al servidr Mdle a la hra de traerns ls diferentes dats mstrads en pantalla. Tant ls curss cm sus participantes sn un cnjunt de dats que n suele cambiar cn mucha frecuencia, pr l que en la lógica de negci encargada de esas cnsultas a Mdle se mantienen ls dats vivs durante cinc minuts. De este md se cmprbó 91

105 Capítul 7 Implementación que la aplicación funcina de manera much más fluida y se reducen bastante ls tiemps, haciend que las peticines n superen ls 3 segunds. La manera de implementarl es manteniend una serie de estructuras de dats estáticas en la clase MdleService.java y variables cn una marca de tiemp que indiquen la última vez que se cnsultarn ls dats: //participantes private static Map<String, ParticipanteDt> participantes = new HashMap<String, ParticipanteDt>(); //curss private ArrayList<CursDt> curss = new ArrayList<CursDt>(); //ultims access a la variables (en timestamps) private static lng curss_ts = 0; private static lng particpantes_ts = 0; Tabla 7.5: Tabla Cache variables timestamps De esta frma, la clase MdleService.java mantiene un mapa dnde la clave es el identificadr únic del curs y el valr es una lista cn ls participantes que la cmpnen. Además, mantiene la lista de ls curss dispnibles en el sistema. En ls métds de cnsulta, el primer pas es cmprbar si el timestamp actual difiere una cantidad de tiemp (5 minuts) de la variable que indica el últim acces. En cas de que la diferencia sea menr, se devuelven ls dats cacheads y si ha pasad más tiemp, se utiliza el MdleDAO para acudir al servidr de Mdle para traer ls dats más actualizads: public ArrayList<CursDt> btenercurss(string tken, String userid) { MdleDa mda = new MdleDa(); if(curss == null curss.size() == 0) { curss = mda.btenercurss(tken, userid); } if(system.currenttimemillis() - curss_ts > Cnstantes.TIEMPO_CACHE) { curss = mda.btenercurss(tken, userid); curss_ts = System.currentTimeMillis(); } return curss; } Tabla 7.6: Tabla Cache cmprbación timestamps 92

106 Capítul 7 Implementación Adicinalmente, se ha implementad un sistema similar a las sesines utilizadas en la prgramación web que mantiene ls dats más frecuentads pr el usuari en una variable de la aplicación (una clase cn atributs estátics en nuestr cas). Cada vez que se hace lgin en la aplicación se limpia este bjet Sesin y tras prducirse el acces se establecen en el bjet el tken de usuari para el us de ls servicis web, su identificadr únic en base de dats, el cntext de la aplicación, etc. 7.6 Algritm AES Una de las precupacines de la sciedad actual es la seguridad de la infrmación. Cada vez existen más servicis a través de internet y, pr tant, deben existir ciertas medidas de seguridad que ns ayuden a preservar nuestra privacidad. La aplicación desarrllada trabajará cn dats de usuaris de cualquier siti Mdle. Parte de ess dats se almacenarán en la base de dats que se guarda en el terminal. En cas de pérdida rb del terminal, cualquiera pdría acceder a la infrmación. Es pr ell que se ha decidid cdificar el passwrd que se almacena. El métd elegid para esa cdificación es el algritm AES, incluid en una clase Encriptación.java. En la siguiente tabla pueden bservase las principales funcines de la clase: /**Funcines para encriptar y desencriptar la cadena que se les pasa*/ public String encriptar(string text_a_encriptar) thrws Exceptin { Key key = new SecretKeySpec(keyValue, ALGORITMO); Cipher cipher = Cipher.getInstance("AES"); cipher.init(cipher.encrypt_mode, key); byte[] encrypted = cipher.dfinal(text_a_encriptar.getbytes("utf-8")); String text_encriptad = Base64.encdeTString(encrypted, Base64.DEFAULT); } return text_encriptad; public String desencriptar(string text_encriptad) thrws Exceptin { Key key = new SecretKeySpec(keyValue, ALGORITMO); Cipher cipher = Cipher.getInstance("AES"); cipher.init(cipher.decrypt_mode, key); byte[] decdificar_text = Base64.decde(text_encriptad.getBytes("UTF-8"), Base64.DEFAULT); byte[] desencriptad = cipher.dfinal(decdificar_text); return new String(desencriptad, "UTF-8"); } Tabla 7.7: Tabla AES encriptación cntraseña 93

107 Capítul 8 Pruebas Se expnen en este capítul las pruebas realizadas a la aplicación para verificar que funcina crrectamente y que cumple cn ls requisits marcads antes de cmenzar su desarrll. También se utilizan estas pruebas para incrprar algunas mejras según la experiencia del usuari. Además, se hablará en este capítul de Genymtin, la herramienta utilizada para las pruebas en la fase de desarrll. 8.1 Genymtin Cnfrme fui desarrlland la aplicación, realicé pruebas de las distintas seccines cdificadas. Al principi esas pruebas las realicé en el emuladr pr defect de Andrid integrad en el ADT Bundle. La experiencia cn dich emuladr fue muy mala ya que era excesivamente lent, prvcand demasiadas pérdidas de tiemp. Este hech me hiz buscar alternativas para realizar pruebas sbre el códig desarrllad y así llegué hasta Genymtin. Genymtin es una máquina virtual cn sistema perativ Andrid que crre sbre Virtual Bx. N se trata de un emuladr, sin que es una versión x86 del sistema perativ. Ls resultads btenids fuern bastante satisfactris desde que cmencé a utilizarl. Funcina much más rápid que el emuladr. Pr tant, fue el métd elegid para testear el códig que iba desarrlland. Puede descargarse Genymtin de su página ficial: 94

108 Capítul 8 Pruebas Figura 8.1: Genymtin 8.2 Junit En Wikipedia, se define Junit cm un cnjunt de biblitecas que sn utilizadas en prgramación para hacer pruebas unitarias de aplicacines Java. Se trata de un framewrk (cnjunt de clases) cn el que pdrems ejecutar clases Java de un md cntrlad, freciend la psibilidad de evaluar si ls métds que cnfrman la clase se cmprtan del md esperad. Según un valr de entrada dad al métd, se evalúa el valr de retrn esperad. En cas de que sea satisfactri, Junit cncluye que el test ha sid satisfactri; en cas cntrari, devlverá fall en el métd. Las primeras cmprbacines realizadas se efectuarn sbre métds independientes cn un acplamient baj cn respect a tras partes de la aplicación. Utilicé para ell la clase andrid.test.testcase. En el primer métd, testencriptacin() he cmprbad que el algritm AES para la encriptación y desencriptación de cadenas funcina crrectamente. En el siguiente métd, testayudamdle() he verificad que la ayuda de Mdle (una de las pcines de nuestra aplicación) se encuentra dispnible para su cnsulta. 95

109 Capítul 8 Pruebas public vid testencriptacin() thrws Exceptin{ Encriptacin e = new Encriptacin(); String cntraseña_encriptada = e.encriptar("hlamund"); String cntraseña_desencriptada = e.desencriptar(cntraseña_encriptada); } assertequals("hlamund",cntraseña_desencriptada); public vid testayudamdle() thrws Exceptin{ HttpGet httpget = new HttpGet(" HttpClient httpclient = new DefaultHttpClient(); HttpRespnse httprespnse = null; } try { httprespnse = httpclient.execute(httpget); } catch (Exceptin e) { fail("errr: Impsible acceder a la url especificada"); } Tabla 8.1: Tabla Junit primer test En la segunda batería de pruebas se prbarn funcines que interactúan cn tras partes de la aplicación, cn un acplamient mayr. He utilizad la clase andrid.test.andridtestcase que extiende de la clase utilizada en las pruebas anterires. Durante estas pruebas se ha testead que es psible acceder a la base de dats en md lectura/escritura y en md lectura (testbasedats()). Pr últim, se ha cmprbad mediante testagregarcntacts() que la aplicación tiene privilegis para escribir cntacts en la agenda del terminal. De este mism se pdría cmprbar el acces a la cámara, acces al almacenamient extern public vid testagregarcntacts() { Cntext ctx = this.getcntext(); PackageManager pm = ctx.getpackagemanager(); int res = pm.checkpermissin("andrid.permissin.write_contacts","cm.quique.pfc"); assertequals(res, PackageManager.PERMISSION_GRANTED); } 96

110 Capítul 8 Pruebas public vid testbasedats() { try { nmbrebd.pentread(); nmbrebd.clse(); nmbrebd.pentwrite(); nmbrebd.clse(); } catch (SQLExceptin e) { fail("errr: Impsible acceder a la base de dats"); } } Tabla 8.2: Tabla Junit segund test 8.3 UI Autmatr Viewer y uiautmatr Además de las pruebas unitarias sbre alguns de ls cmpnentes individuales que cnfrman la aplicación, también es imprtante realizar pruebas sbre el cmprtamient de la interfaz de usuari de la aplicación cuand se ejecuta sbre un dispsitiv. Cn estas pruebas pdems asegurar que la aplicación devuelve la salida de interfaz crrecta en respuesta a una secuencia de accines ejecutadas pr el usuari. En mi cas ejecutaré pruebas de frma manual y verificaré que la aplicación se cmprta cm se espera. Ambas herramientas vienen incluidas en la SDK de Andrid y ns servirán para apyar las pruebas de interfaz de usuari. Cn el fin de escanear y analizar gráficamente ls cmpnentes de la interfaz gráfica de la aplicación, he utiliza UI Autmatr Viewer. Dicha herramienta ns indicará cóm está rganizada jerárquicamente la pantalla, además de mstrarns ls atributs de cada un de sus cmpnentes. Tda la infrmación prprcinada pr esta herramienta será de mucha utilidad psterirmente para las pruebas a ejecutar cn uiatmatr. 97

111 Capítul 8 Pruebas Figura 8.2: UI Autmatr Viewer Gracias a ls dats btenids en la herramienta ejecutada anterirmente, escribiré pruebas autmatizadas sbre la interfaz de usuari cn uiautmatr. En la siguiente tabla se muestra el códig en el que se prueba el cas de lgin rellenand tds ls camps que aparecen en la pantalla inicial de la aplicación y se llega al menú principal. public vid testdem() thrws UiObjectNtFundExceptin { //Se pulsa el btón HOME del Terminal getuidevice().presshme(); //Iniciams la aplicación UiObject mdle_app = new UiObject(new UiSelectr().text("Andrid Mdle Client")); mdle_app.clickandwaitfrnewwindw(); //Establecems el valr de la url UiObject url = new UiObject(new UiSelectr().resurceId("cm.quique.pfc:id/editText1")); url.settext(" //Establecems el valr del usuari UiObject usuari = new UiObject(new UiSelectr().resurceId("cm.quique.pfc:id/editText2")); usuari.settext("alumn1"); //Establecems el valr del passwrd UiObject pass = new UiObject(new UiSelectr().resurceId("cm.quique.pfc:id/editText3")); pass.settext("alumn1;"); 98

112 Capítul 8 Pruebas UiObject lgin_btn = new UiObject(new UiSelectr().resurceId("cm.quique.pfc:id/buttn_lgin")); //Hacems click en el btn de lgin y esperams a la nueva ventana lgin_btn.clickandwaitfrnewwindw(); //Cnfirmams que estams en la pantalla principal de la aplicación UiObject lgin_k = new UiObject(new UiSelectr().resurceId("cm.quique.pfc:id/btn_estadistica")); asserttrue(lgin_k.exists()); } Tabla 8.3: Tabla uiautmatr Una vez escrit el códig, ls pass para la ejecución de ls test serían: Generar el ficher de cnfiguración del pryect en curs ( build.xml ) Cmpilar el pryect de prueba para generar el.jar que ejecutarems en el terminal Metems el ficher generad en el terminal Ejecución de la prueba El resultad será ver cm en el terminal se muestran las pantallas implicadas en la prueba y cóm se rellenan de manera autmática ls dats slicitads al usuari. Finalemente, se muestra en el terminal si la prueba se ha ejecutad crrectamente n. 8.4 Pruebas y validacines Plan de pruebas Cn el fin de verificar que nuestra aplicación realiza una crrecta gestión de ls dats, se realizó la siguiente batería de pruebas: Pruebas de caja negra independientes: se realizan sbre clases independientes y que interactúan directamente sbre la base de dats. L imprtante en este tip de pruebas n es la implementación, sin ls dats que se prprcinan a la entrada y ls dats que se btienen a la salida. 99

113 Capítul 8 Pruebas Pruebas de caja negra sbre subsistemas: se realizan sbre clases asciadas de alguna manera. Se verifica el pas de infrmación de una clase a tra y la chesión entre ambas. Pruebas de caja blanca: cnsistentes en recrrer tdas las psibles pcines que englba un módul clase para asegurarns de que tdas tienen el funcinamient esperad. Pruebas del sistema: se prueba la buena cmunicación entre ls cnjunts de subsistemas cnjunt de clases agrupadas Especificación del diseñ de las pruebas Las pruebas realizadas a la aplicación se han divid en 2 fases: Durante el desarrll de la aplicación: esta fase alberga td tip de pruebas relacinadas cn las clases independientes. Para realizarlas, ls dats de entrada utilizads eran dependientes del módul que se estaba cdificand en ess mments. El cnjunt de pruebas hacía referencia tant al tratamient de la infrmación pr parte de la aplicación cm a la lectura y escritura en la base de dats. Cn ell cnseguims evitar ir arrastrand errres desde el cmienz. En esta fase se utilizó Junit. Finalizada la aplicación: estas pruebas abarcan desde la instalación de la aplicación en diverss terminales hasta el cheque de tdas las funcinalidades que es capaz de realizar. Una vez habíams prbad la instalación en varis terminales, se prbarn ls distints métds para lgarns a un siti Mdle. Inicialmente se intrdujern ls dats requerids para acceder a varis sitis de pruebas, y psterirmente se accedió a ls sitis desde las cuentas ya almacenadas. El siguiente pas fue prbar el módul de subida de fichers del usuari a su espaci privad. La primera pción fue la de seleccinar una ft almacenada en la galería de imágenes de nuestrs terminal y subirla. Seguidamente se prbó la realización de fts y vídes y subida de ls misms. Pr últim se verifica el funcinamient de la grabación y subida de snids. A cntinuación se accede al módul de participantes. Se listan ls distints curss a ls que pertenece el usuari y se verifica la lista de participantes en un par de ells. Se accede a la infrmación detalla de un de ls participantes, se verifica que ls dats 100

114 Capítul 8 Pruebas mstrads sn crrects y que las psibles accines a realizar tienen el funcinamient esperad. Entre ellas se encuentran la de agregar ls dats de participante a la agenda del terminal y la de escribirle un mensaje privad. Para el teste de ls curss asignads a un usuari, vems primer que se listan tds ls crrespndientes y lueg accedems al detalle de cada un. En el detalle, se verifica que aparezcan tdas las seccines y móduls que las cmpnen. Se prueba la descarga de fichers al terminal y la apertura de aquells que sn psible visualizar prque el terminal tiene el visr crrect (pdf, Wrd, imágenes, urls ). Pr últim, se verifica también que se muestran ls elements de un tip carpeta. Las siguientes seccines que se prueban sn la de la versión web de la aplicación y la de la ayuda ficial de Mdle, bteniend resultads satisfactris. Finalmente, y debid a que ya se han registrad bastante actividad, se prcede a prbar la sección de dats estadístics. Se dibujan crrectamente ls dats pertenecientes al númer de lgin, de acces a curss y de fichers subids según la fecha en la que se prducen Especificación de ls cass de pruebas Cn el bjetiv de realizar pruebas más específicas, se facilitó la aplicación a 2 grups de usuaris bien diferenciads: Persnas cn perfil baj-medi en infrmática y cncimients nuls en prgramación: en este grup de persnas está frmad pr usuaris que cncen perfectamente qué debe hacer la aplicación y expltan tdas sus funcinalidades, per que descncen pr cmplet cóm l hace. Desde el primer mment encntrarn cn facilidad las distintas funcines frecidas, la aplicación les resultó bastante útil. Cm psible mejra, indicarn que sería mejr incluir un btón Vlver en tdas las pantallas, ya que n les resultaba cómd utilizar en td mment el del terminal. Persnas cn perfil alt en infrmática y amplis cncimients en prgramación: a este grup se le facilita el códig de la aplicación para que hagan una revisión más exhaustiva. Además de sugerir varias mejras en el códig para ptimizar algunas funcines, indican 2 cambis imprtantes: dtar a la aplicación de un aspect visual más prfesinal y cambiar el rden de las pcines del menú principal. Se aplican tdas las sugerencias. 101

115 Capítul 8 Pruebas Especificación de ls prcedimients de pruebas Además de ls testes realizads sbre la aplicación utilizand Genymtin, se han realizad pruebas sbre diferentes tips de terminales, entre ls que destacams tabletas y móviles. El mdel de tableta prbad fue el Samsung Galaxy Tab, mientras que de móvil se prbarn diferentes mdels de Samsung Galaxy (Ace, S2, y S3) y de HTC (One y Desire). En cuant a versines de Andrid, se ha testead la aplicación sbre Jelly Bean v4.3, Ice Cream Sandwich v4.0 y Gingerbread v2.3. Además, se realizarn pruebas sbre un terminal virtual cn la versión mínima sprtada pr nuestra aplicación, Andrid 2.2. Destacar que n se detectarn prblemas en ningun de ls cass expuests anterirmente Dcumentación de la ejecución de las pruebas Resultad de las pruebas: la mayría de errres detectads estaban casinads pr pequeñs falls a la hra de llevar a cab la implementación, siend nrmales en esa fase. Ls errres prducids pr la aplicación en tiemp de ejecución fuern un pc más cmplicads de reslver. L más difícil de detectar fuern ls errres prducids en el pas de infrmación entre ls distints subsistemas que frman parte de la aplicación. Infrme de incidentes currids: n se han registrad incidentes durante tda la fase de pruebas. Sería acnsejable que a partir de ahra, td el cambi sbre el códig quedara registrad, incluida la persna que l realiza. De este md, pdríams llevar un cntrl de versines de la aplicación cn ls diferentes cambis intrducids. 102

116 Capítul 9 Cnclusines Tras la detallada explicación llevada a cab en capítuls anterires, a cntinuación se hablará sbre las pcines que presenta el pryect realizad y el psible enfque que pdrían tener futurs trabajs basads en la aplicación desarrllada. Además se expndrán las cnclusines prpias a las que se ha llegad después de td este prces. 9.1 Aspects generales Tras cncluir de manera definitiva el desarrll del presente pryect fin de carrera, es el mment de hacer balance del resultad final repasand la trayectria recrrida para btener cnclusines, tant en el aspect técnic y prfesinal cm en el ámbit persnal, además de las habilidades adquiridas durante este tiemp en diversas tecnlgías y herramientas. A l larg del pryect se ha cnseguid btener un ampli cncimient de la platafrma Andrid, su funcinamient intern, la manera que tiene de gestinar ls recurss de un dispsitiv móvil, además de aprender a desarrllar aplicacines para dicha platafrma. Td est ha sid psible gracias a la extensa dcumentación que Ggle pne a dispsición de ls desarrlladres, aunque cabe destacar el imprtante trabaj de investigación que se ha realizad al respect. Pr tr lad, tras haber cursad la titulación de Ingeniería Técnica en Infrmática de Gestión y haber tenid la prtunidad de hacer us de muchs de ls cncimients adquirids durante la carrera, el ret que supnía realizar el pryect fin de carrera utilizand Java cm lenguaje de prgramación, n ha hech más que mtivar el aprendizaje de dich lenguaje, aun sabiend la dificultad inherente de adquirir dich cncimient. Pr l tant, tras ls resultads btenids, y aunque la mayr dificultad encntrada ha sid instruirse en este lenguaje, cre prtun decir que este bjetiv se ha alcanzad cn éxit. En cuant al resultad btenid en la aplicación desarrllada, aunque existen cierts punts que pdrían mejrarse sensiblemente, el balance final es muy psitiv ya que se ha cread una 103

117 Capítul 9 Cnclusines herramienta funcinal que permite exprimir bastantes de las pcines que frece un siti Mdle. 9.2 Cncimients adquirids Para el desarrll del pryect se ha utilizad el entrn de desarrll integrad (IDE) Eclipse [1] que ns permite prgramar en el lenguaje de prgramación Java [2]. Debid a que nuestra aplicación está destinada a dispsitivs Andrid [3], se ha utilizad un kit de desarrll de sftware (SDK) [4]. Además, cn el bjetiv de facilitar las tareas de prgramación, simulación y depuración, se ha utilizad el plugin ADT (Andrid Develpment Tls) [5]. En cuant a librerías externas, se han utilizad ggle-gsn [6] para realizar la cnversión entre bjets jsn y Java y la librería AndridPlt [7] para la creación de las gráficas estadísticas. Ls dats de la aplicación sn almacenads usand SQLite [8], sistema de gestión de base de dats liger que administra el prpi terminal. Las pruebas de ejecución de la aplicación se realizarn a través de Genymtin [18], mientras que para las pruebas de cmprtamient de la interfaz de usuari se utilizó uiatmatr [19] Ninguna de estas herramientas fue vista durante la titulación. Cn el bjetiv de cncer bien tdas las pcines de las que cnstaría la aplicación, hub que ampliar ls básics cncimients sbre Mdle [9] que ya pseía. Finalmente, para cnfeccinar la dcumentación se han aplicad muchs de ls cncimients adquirids durante la titulación sbre ingeniería del sftware, especialmente rientada a bjets. Se han realizad tant el análisis cm el diseñ de la aplicación al cmplet. Para ell, se ha utilizad la herramienta BOUML [10] cn la que se ha facilitad la creación de ls diagramas recgids a l larg de tda la memria. Para la parte de la planificación se ha utilizad el prgrama GanttPrject [11], que ns ha permitid cnstruir el diagrama en el que se recgen tdas las fases cn sus fechas crrespndientes. Pr últim, se ha utilizad Gimp [12], prgrama de edición de imágenes cn el que se han editad tdas las capturas de pantalla. Cabe destacar que tds ls prgramas mencinads anterirmente sn de sftware libre. 104

118 Capítul 9 Cnclusines 9.3 Futur del pryect Cm se cmentó durante la especificación de ls requisits funcinales, la aplicación aprvecha tdas las funcinalidades frecidas pr ls Mbile Web Services de Mdle. En el cas de que Mdle ampliará las psibilidades a través de ess servicis, tendríams que intrducir ess cambis en nuestra aplicación. Pr ejempl, en un futur se incrprarán la pcines de participar en frs y realizar test, pcines ya dispnibles en un siti Mdle per n a través de ls Mbile Web Services. Alternativamente, y si fuera necesari, nstrs pdríams implementar cada una de esas funcinalidades y añadirlas cm servicis en ls diferentes sitis Mdle en ls que querams hacer su us. El principal hándicap sería que en el cas de que el siti n tenga incrprad ese servici, la aplicación n tendría permitida esa psibilidad. Además, si realizams algún cambi sbre ese servici, tendríams que cambiarl en tds ls sitis Mdle en ls que se haya aplicad. Pr tant, inicialmente se desecha esta pción ya que perderíams el alcance de nuestra aplicación (cualquier siti Mdle de versión 2 superir y que tenga habilitads ls Mbile Web Services ). 105

119 Capítul 10 Referencias y Bibligrafía [1] Web ficial de la platafrma Eclipse [2] Lenguaje de prgramación Java [3] Web ficial de Andrid [4] Kit de desarrll para Andrid [5] Plugin ADT para Eclipse [6] Librería para cnvertir JSON en bjets Java [7] Librería para el desarrll de gráficas [8] Sistema de gestión de base de dats SQLite [9] Dcumentación ficial de Mdle [10] Página ficial sbre la herramienta BOUML [11] Página ficial sbre la herramienta GanttPrject 106

120 Capítul 10 Referencias y Bibligrafía [12] Página ficial de la herramienta de edición de imágenes Gimp [13] Fr de cnsulta para desarrlladres en general [14] Fr de prgramación en Andrid [15] Wikipedia, la enciclpedia libre [16] Página principal de la frja de la red Iris [17] Página ficial de la Free Sftware Fundatin [18] Genymtin [19] Pruebas de interfaz gráfica [20] Stallman, Richard M. Sftware libre para una sciedad libre, 4ª edición. GNU Press. Nviembre ISBN: [21] Larman, Craig. Applying UML and Patterns, 3ª edición. Prentice Hall, ISBN: [22] Pmés Olesti, Jaume. Intrducción a Andrid y sus aplicacines. PFC de la Escuela Técnica Superir de Ingeniería Infrmática de la Universidad de Sevilla. Septiembre de [23] Gálvez Rjas, Sergi y Ortega Días, Lucas. Java a Tpe, Universidad de Málaga ISBN: [24] Gramlich, Niclas. Andbk Libr nline. [25] Murphy, Mark L. The Busy Cder's Guide t Advanced Andrid Develpment, CmmnsWare ISBN: [26] Allen, Grant & Owens, Mike. The definitive guide t SQLite, 2ª edición. Apress ISNB: [27] Traducción al españl de la Licencia Pública General GNU 107

121 Apéndice A Publicación de la aplicación Si querems distribuir la aplicación una vez cmpletad el desarrll de la misma, el SDK de Andrid cmpila td el códig Java y, junt cn ls fichers de dats y recurss asciads (imágenes, etc.), crea un paquete Andrid : un archiv cn extensión.apk que representa a una única aplicación y que es el archiv utilizad pr ls dispsitivs Andrid para instalar nuevas aplicacines. Estas aplicacines, una vez instaladas, se ejecutarán cm un nuev prces en el sistema Linux subyacente, utilizand su prpi identificadr únic de usuari y su prpia instancia de la máquina virtual Dalvik. Cuand la aplicación deja de utilizarse cuand el sistema necesita memria para tras tareas, el sistema perativ Andrid finaliza la ejecución del prces, liberand ls recurss. De esta frma, Andrid crea un entrn bastante segur en el que cada aplicación, pr defect, sól puede acceder a ls cmpnentes estrictamente necesaris para llevar a cab su tarea, ya que cada prces está aislad del rest y n puede acceder a partes del sistema para las cuales n tiene permiss. La platafrma Andrid frece ds psibilidades para publicar una aplicación: dentr fuera de Ggle Play ( que es la herramienta que Ggle pne a dispsición de ls desarrlladres para la publicación de sus aplicacines, per su us n es bligatri. A.1 Publicar fuera de Ggle Play De este md, la aplicación puede darse a cncer de una manera sencilla y barata. Depende del prpi desarrlladr la distribución de la misma; est incluye pnerla a dispsición del usuari, publicitarla y adptar un canal de cmunicación cn el usuari final, de manera que exista un intercambi de infrmación sbre falls, cnsejs, ayuda y actualizacines, entre tras csas. 108

122 Apéndice A Publicación de la aplicación Para llevar a cab l descrit anterirmente, es necesari cmpilar la aplicación y subir el archiv.apk resultante a alguna web para que pueda ser descargad. La prmción puede realizarse en redes sciales, frs, mediante una página especifica dnde, además, se puede prprcinar infrmación acerca de nvedades sbre la aplicación. La cmpilación debe realizarse en Md Release. Est se cnsigue pulsand cn el btón derech sbre la carpeta principal de nuestr pryect en Eclipse y seleccinand Exprt Unsigned Applicatin Package dentr del menú Andrid Tls. El archiv generad es que el debe pnerse a dispsición del usuari para su descarga. Sin embarg, para pder instalar la aplicación, el usuari debe cnfigurar su terminal para aceptar aplicacines que n hayan sid descargadas de Ggle Play, l cual puede supner un incnveniente. Otr incnveniente de este métd es que n pdrems vender la aplicación de una manera tan sencilla cm en Ggle Play, ni insertar publicidad cm fuente de ingress. Además, es más cmplicad btener infrmes sbre el númer de descargar ntificar al usuari final sbre psibles actualizacines. A.2 Publicar en Ggle Play La tra frma de publicar una aplicación es hacerl en Ggle Play. Supne la frma más natural, útil y, a la larga, más fácil y beneficisa. Este métd, a pesar de tener un cste de 25$, permitirá vender nuestra aplicación, insertarle publicidad, y tener acces a una red de distribución much más extensa de l que seguramente pdríams lgrar mediante la autprmción, dad que es una herramienta existente en tds ls terminales Andrid. El primer pas será darns de alta cm desarrlladres en Ggle Play accediend a su web ( e intrducir la infrmación requerida, incluyend ls dats de pag. Una vez cnfirmads nuestrs dats, accederems a la cnsla de Ggle Play Develper, cnfigurarems una cuenta de Ggle Wallet Merchant y ya pdems empezar a publicar aplicacines. Hay una pequeña diferencia cn el cas anterir: en Ggle Play las aplicacines deben ser firmadas, pr l que al crear el.apk habrá que elegir Exprt Signed Aplicatin Package. Cund hayams cmpletad ests pass, la aplicación ya puede ser publicada. Para psterires actualizacines, es imprtante hacer ds cambis en el AndridManifest.xml de la aplicación, de l cntrari Ggle Play n aceptará la subida. Ls parámetrs a mdificar sn ls siguientes: 109

123 Apéndice A Publicación de la aplicación Andrid:versinCde = "1". Hay que incrementar una unidad cada vez que se realice una actualización. Andrid:versinName = "1.0". Realmente n es bligatri, per se recmienda cambiar la numeración, de frma que sea rientativ para el usuari. 110

124 Apéndice B Manual de usuari En este apartad detallarems pr cmplet el manual de usuari para pder utilizar tdas las funcinalidades que ns presenta la aplicación una vez se encuentre instalada. B.1 Pantalla de Lgin Será la primera pantalla que se mstrará al usuari cuand arranque la aplicación. El usuari pdrá intrducir la url del siti Mdle al que se quiere cnectar, su nmbre de usuari y su passwrd. Si el usuari aprecia que n existe su lgin debe de pnerse en cntact cn el administradr del siti Mdle al que desea cnectarse para que efectúe su alta en el sistema. En el cas de que se deje en blanc algun de ls camps ls dats intrducids n sean crrects, se mstrará al usuari un mensaje de errr y se vlverá de nuev a la pantalla inicial. Ls btnes dispnibles sn: Lgin: se cmienza el prces de validación cn ls dats intrducids pr el usuari. Cm se ha cmentad anterirmente, en cas de prducirse algún tip de errr, este será mstrad en pantalla. Cuentas: se muestra una lista de las cuentas cn las que ya se ha hech lgin anterirmente desde el terminal en el que se encuentra instalada la aplicación. El usuari pdrá acceder cn esas credenciales pulsand sbre alguna de las cuentas eliminar una cuenta ya almacenada. Para ell deberá mantener pulsada varis segunds la cuenta que desea eliminar y se slicitará cnfirmación de la peración. En cas de prducirse algún errr en alguna de las peracines descritas, se mstrará un mensaje de errr. En la parte superir aparece un btón Vlver para regresar a la pantalla de Lgin. 111

125 Apéndice B Manual de usuari Figura B.1: Pantalla de Lgin B.2 Pantalla Principal Una vez se han validad nuestras credenciales de acces al siti Mdle, se muestra la pantalla principal de la aplicación. En ella pdems bservar 6 btnes cn las diferentes znas que cmpnen nuestra aplicación, según la funcinalidad cn la que se encuentran relacinada. Ls btnes sn: Subir: se accede al menú que muestra tdas las alternativas para subir fichers al espaci privad del usuari. Participantes: al pulsar sbre esta pción se mstrará primer una lista cn ls curss a ls que el usuari tiene acces. Psterirmente pdrems ver ls participantes de cada un de ls curss. Curss: lista de curss asignads al usuari y sus crrespndientes cntenids (tant cm móduls cm seccines). Estadísticas: se dibujan las gráficas cn ls dats estadístics del usuari en cuestión para el terminal desde el que se encuentra accediend. Web: muestra la versión web del siti Mdle al que ns encntrams cnectads. Ayuda: acces a la web cn la dcumentación ficial de Mdle. 112

126 Apéndice B Manual de usuari Figura B.2: Pantalla Principal B.3 Subidas Cuand accedems a la zna de subidas se muestra una pantalla cn las diferentes pcines que tenems. Se trata de un nuev menú en el que existen 3 btnes, dependiend de l que querams subir y cóm: Buscar ft en álbum: ns abre la galería de imágenes de nuestr terminal para que seleccinems la ft que deseams subir a nuestr espaci privad. Si n encntrams ninguna imagen que deseems subir, pdems vlver al menú de subidas. Realizar ft víde: muestra la cámara del terminal. Según l que deseems, harems una ft grabarems un víde y, si l deseams, pdems subirl al espaci privad. En cas de que n ns cnvenza tenems la pción de pder hacerl grabarl de nuev. En cualquier mment tenems la pción de regresar al menú de subidas. Grabar audi: ns muestra una pantalla cn ls siguientes btnes: Grabar / Parar: al pulsar sbre este btón cmienza a grabarse el ficher de snid. Para detener la grabación, debems pulsar de nuev el mism btón. Reprducir / Parar: reprduce el ficher de audi que acabams de grabar. Si querems parar la reprducción, tendrems que pulsar de nuev el btón. Enviar: sube a nuestr espaci privad el ficher que acabams de grabar. 113

127 Apéndice B Manual de usuari Vlver: se retrna al menú de subidas. Figura B.3: Pantalla Subidas B.4 Participantes L primer que se muestra al pulsar el btón de participantes en el menú principal es una lista cn ls curss a ls que el usuari tiene acces. Llegads a este punt, tendrá que seleccinar el curs (pulsand sbre él) del que quiere cncer ls participantes. De este md, se muestra una lista cn el nmbre de tds ls participantes que pertenecen al curs seleccinad. También tenems la pción de regresar al menú principal pulsand sbre Vlver. Una vez tenems delante la lista de participantes, pdems pulsar sbre un de ells si querems acceder a infrmación detallada del mism. Además de la infrmación detallada, aparecen ls siguientes btnes: Enviar mensaje: se muestra un cuadr en el que escribirems el mensaje que querems enviar al usuari seleccinad. Si finalmente n deseams enviar el mensaje, pdems vlver a la infrmación detallada del usuari. Añadir nta: se añade una nta haciend referencia al usuari. Igualmente, pdems vlver sin agregar nada de infrmación. Añadir a cntacts: se agrega tda la infrmación relativa al usuari en la libreta de direccines del terminal. 114

128 Apéndice B Manual de usuari Vlver: se regresa a la lista de participantes pertenecientes al curs que habíams seleccinad previamente. Figura B.4: Pantalla Infrmación Participante B.5 Curss Al igual que en la zna de participantes, al acceder a ls curss se muestra una lista cn ls curss a ls que el usuari tiene acces. Si querems acceder al cntenid del curs, pulsarems sbre él y se ns mstrará una pantalla que cntiene ls móduls y seccines que l cmpnen. También pdrems regresar al menú principal pulsand sbre Vlver. Dentr del detalle del curs se ns presentan las siguientes pcines: Descargar cntenid: si pulsams sbre un cntenid junt el que aparece una flecha hacia abaj, se descargará dich cntenid al terminal. Visualizar cntenid: pdems abrir dich cntenid si tiene una flecha hacia la derecha. El terminal debe estar dtad del visr crrect para abrir ese tip de cntenid. Pr ejempl, fichers de tip Wrd, pdf enlaces a páginas web. Adicinalmente, pdems abrir el cntenid de un tip carpeta, mstrándse tds ls fichers que cntiene. Una vez dentr de la carpeta, pdrems realizar las mismas accines sbre ls cntenids vlver al curs en el que ns encntrams. 115

129 Apéndice B Manual de usuari Vlver: se regresa a la lista de curss accesibles pr el usuari. Figura B.5: Pantalla Curs B.6 Dats estadístics Cuand desde el menú principal pulsams sbre el btón de estadísticas, se muestra una pantalla en la que se dibuja una gráfica que cntiene ls dats relativs al usuari cnectad para el terminal desde el que se encuentra realizand la cnexión. Se trata de una gráfica en la que pr fecha, suma el númer de: Lgins: sumatri pr día de tds ls lgins a ese siti Mdle que ha realizad el usuari cnectad desde el terminal pr el que está accediend. Subidas: sumatri pr día de tds ls fichers (ft, víde y audi) que el usuari cnectad ha subid a su siti persnal desde el terminal pr el que está accediend. Curss: sumatri pr día de tds ls access a curss que ha realizad el usuari cnectad desde el terminal pr el que está accediend. Además, se pdrá vlver al menú principal pulsand sbre el btón de Vlver del terminal. Ls btnes que se muestran sn: +: hace zm, acerca la imagen -: quita zm, aleja la imagen 116

130 Apéndice B Manual de usuari 1:1: se vuelve al tamañ riginal de la imagen (de deshacen tds ls zms) Figura B.6: Pantalla Estadísticas B.7 Versión Web Otra de las pcines que tenems desde la pantalla principal de la aplicación es pulsar el btón Web, que ns abrirá la versión web del siti Mdle al que ns encntrams cnectad. Dentr de la pantalla cn la web aparecen ls siguientes btnes, prpis de la navegación: Atrás: se regresa a la página anterir. Siguiente: se avanza a la página siguiente. Recargar: se vuelve a cargar el cntenid de la página en la que ns encntrams. Navegadr: se abre la versión web en el navegadr del terminal en el que se encuentra abierta la aplicación. Vlver: se regresa al menú principal. 117

131 Apéndice B Manual de usuari Figura B.7: Pantalla versión Web B.8 Ayuda Finalmente, si pulsams el btón de Ayuda, se cargará la web ficial cn la dcumentación de ayuda de Mdle. Al igual que curría cn la pantalla descrita en el punt anterir, aparecen ls siguientes btnes: Atrás: se regresa a la página anterir. Siguiente: se avanza a la página siguiente. Recargar: se vuelve a cargar el cntenid de la página en la que ns encntrams. Navegadr: se abre la versión web en el navegadr del terminal en el que se encuentra abierta la aplicación. Vlver: se regresa al menú principal. 118

132 Apéndice B Manual de usuari Figura B.8: Pantalla Ayuda 119

133 Apéndice C Manual de instalación Se expnen a cntinuación tds ls pass necesaris para dispner de la aplicación en un terminal Andrid. C.1 Prerrequisits Debems dispner de un terminal cn sistema perativ Andrid La versión del sistema perativ debe ser Andrid 2.1 superir Nta: recuerda que para pder cnectarns desde la aplicación a un siti Mdle, éste debe ser versión 2.0 superir. Además, deberá tener ls Mbile Web Services habilitads. C.2 Instalación de la aplicación La instalación de la aplicación en nuestr terminal puede llevarse a cab de 2 maneras: a) Desde ficher apk El primer pas será descargar a nuestr PC el ficher cn extensión.apk que cntiene la aplicación. Una vez l tengams, tendrems que pasarl a nuestr terminal mediante cable USB a través de la tarjeta de memria. Cn ell, ya tendrems el ficher instaladr en el terminal. A cntinuación accederems al menú Ajustes del terminal y seleccinarems la pción de Aplicacines. Ya una vez dentr, tenems que activar la pción de 'Orígenes descncids' para permitir la instalación de aplicacines n pertenecientes a Ggle Play. 120

134 Apéndice C Manual de instalación Pr últim, ns ubicarems en la carpeta dnde previamente hems guardad el ficher apk instalable de la aplicación y l ejecutarems. De este md, la aplicación se encntrará instalada. Figura C.1: Cnfiguración para instalar apk b) Desde Ggle Play Accederems al icn de Ggle Play desde nuestr terminal. Seguidamente, buscarems la aplicación Cliente Mdle. Una vez la hayams encntrad, pulsarems sbre Instalar para que se instale en nuestr dispsitiv. Pr últim, tcarems sbre Aceptar para aceptar ls permiss requerids pr la aplicación y cmenzar la descarga. C.3 Puesta en funcinamient Para arrancar la aplicación, simplemente tendrems que buscar el icn que se ha cread tras llevar a cab la instalación y de este md accederems a la misma. 121

135 Apéndice C Manual de instalación C.4 Cnfiguración del siti Mdle Para pder acceder desde nuestra aplicación a un siti Mdle, éste debe ser versión 2.0 superir y tener ls Mbile Web Services habilitads. Esta última tarea deberá realizarla un usuari cn privilegis de administradr. Para ell, activará la edición en la zna de Ajustes, accederá a Administración del Siti y seleccinará Extensines; dentr de esta rama buscará la pestaña de Servicis Web y accederá a Mbile. En la pantalla que se muestra deberá habilitar el servici web para móviles. Las siguientes imágenes ilustran ls pass descrits: Figura C.2: Cnfiguración del siti Mdle 122

Manual de usuario para la Publicación de Becas a través de la página web institucional

Manual de usuario para la Publicación de Becas a través de la página web institucional Manual de usuari para la Publicación de Becas a través de la página web institucinal 1 PARA QUÉ SIRVE ESTA APLICACIÓN? El bjet de esta aplicación es publicar, directamente pr las unidades respnsables en

Más detalles

Instalación y Configuración de la interfaz de TPV. www.chefexact.es

Instalación y Configuración de la interfaz de TPV. www.chefexact.es Instalación y Cnfiguración de la interfaz de TPV INSTALACIÓN Una vez descargad el ficher de la Interfaz se instalara en el mism rdenadr dnde este TPVFacil instalada, haga dble clic para cmenzar la instalación,

Más detalles

Servicio de Registro de Solicitud de Acreditaciones para Dirigir u Operar Instalaciones de Radiodiagnóstico Médico

Servicio de Registro de Solicitud de Acreditaciones para Dirigir u Operar Instalaciones de Radiodiagnóstico Médico Servici de Registr de Slicitud de Acreditacines para Dirigir u Operar Instalacines de Radidiagnóstic Médic Manual de Versión: 1.0 25/06/2009 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids

Más detalles

Telealta de Abonados. Guía de Telealta en CST BIOINGENIERÍA ARAGONESA S.L. Índice. Vivienda del Abonado. Central de CST

Telealta de Abonados. Guía de Telealta en CST BIOINGENIERÍA ARAGONESA S.L. Índice. Vivienda del Abonado. Central de CST Telealta de Abnads Índice 1. El Instaladr a. Requerimients de Equip b. Prces de TeleAlta c. Prgramación del Terminal cn CSTGestin 2. El Centr a. Cntratación de línea 3G b. Creación de Red Privada Virtual

Más detalles

Registro de Autorización Empresa Venta y Asistencia Técnica de Comunidades Autónomas

Registro de Autorización Empresa Venta y Asistencia Técnica de Comunidades Autónomas Registr de Autrización Empresa Venta y Asistencia Técnica de Cmunidades Autónmas Manual de Us Versión: 1.3 28/05/2013 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids 1.2 15-09-2010

Más detalles

Cómo configurar el aula en Moodle?

Cómo configurar el aula en Moodle? Cóm cnfigurar el aula en Mdle? La platafrma Mdle les da a ls tutres pcines para cnfigurar un curs cn el fin de que puedan diseñar a su gust el espaci en el que publicarán sus cntenids. La función de cnfiguración

Más detalles

MANUAL DE USUARIO DEL VISOR URBANÍSTICO

MANUAL DE USUARIO DEL VISOR URBANÍSTICO MANUAL DE USUARIO DEL VISOR URBANÍSTICO Manual Públic de usuari del Visr Urbanístic Versión: 1.0.85 Diciembre 2010 Página 1 PAGINA EN BLANCO Manual Públic de usuari del Visr Urbanístic Versión: 1.0.85

Más detalles

Notificaciones Telemáticas Portal del Ciudadano MANUAL DE USUARIO. Versión 1.2

Notificaciones Telemáticas Portal del Ciudadano MANUAL DE USUARIO. Versión 1.2 20 Ntificacines Telemáticas Prtal del Ciudadan MANUAL DE USUARIO Versión 1.2 Manual de Usuari ÍNDICE 1. DESCRIPCIÓN GENERAL... 3 1.1. Alcance...3 1.2. Fluj de navegación...4 2. DESCRIPCIÓN FUNCIONAL...

Más detalles

Cómo tomar ebooks en préstamo

Cómo tomar ebooks en préstamo Cóm tmar ebks en préstam A cntinuación se detallan ls pass a seguir para tmar ebks en préstam. Requisits previs Inici de sesión Cnsulta del catálg Préstam Requisits previs Para disfrutar de ebkpzuel es

Más detalles

GUÍA RÁPIDA DE USO. Requisitos tecnológicos para el correcto funcionamiento de Bot PLUS 2.0.

GUÍA RÁPIDA DE USO. Requisitos tecnológicos para el correcto funcionamiento de Bot PLUS 2.0. GUÍA RÁPIDA DE USO NOVEDADES DE Bt PLUS 2.0 2014 Cóm se instala, accede y cnfigura? Requisits tecnlógics para el crrect funcinamient de Bt PLUS 2.0. Aplicación cmpatible cn ls siguientes sistemas perativs:

Más detalles

SISTEMAS OPERATIVOS. Pág. 1

SISTEMAS OPERATIVOS. Pág. 1 Un Sistema perativ es un sftware que actúa de interfaz entre ls dispsitivs de Hardware y las aplicacines (prgramas) utilizads pr el usuari para manejar un equip infrmátic. Es el respnsable de gestinar

Más detalles

Manual breve para la incorporación de sesiones de videoconferencia dentro de cursos de Moodle.

Manual breve para la incorporación de sesiones de videoconferencia dentro de cursos de Moodle. Manual breve para la incrpración de sesines de videcnferencia dentr de curss de Mdle. En el presente manual se van a explicar ls pass que han darse para incrprar una sesión de videcnferencia dentr de un

Más detalles

Plataforma de formación. Guía de navegación

Plataforma de formación. Guía de navegación Platafrma de frmación Guía de navegación Acceder a la platafrma Para acceder a la Platafrma de Frmación escribe la siguiente dirección en tu navegadr web: ics-aragn.cm A cntinuación verás la página de

Más detalles

GUÍA DE CONFIGURACIÓN DE CORREO etb.net.co EN DISPOSITIVOS MÓVILES

GUÍA DE CONFIGURACIÓN DE CORREO etb.net.co EN DISPOSITIVOS MÓVILES GUÍA DE CONFIGURACIÓN DE CORREO etb.net.c EN DISPOSITIVOS MÓVILES Para las cnfiguracines del Crre ETB net.c de la platafrma Exchange en un Smartphne es imprtante tener en cuenta las siguientes cnsideracines:

Más detalles

Guía de integración del módulo de Redsys en WooCommerce

Guía de integración del módulo de Redsys en WooCommerce Guía de integración del módul de Redsys en WCmmerce Versión: 2.6 25/08/2015 Referencia RS.ED.IND.MAN.0033 Redsys C/ Francisc Sancha, 12 28034 Madrid ESPAÑA Versión: 2.6 i Guía de integración Redsys en

Más detalles

El agente de software de Dr.Web SaaS

El agente de software de Dr.Web SaaS El agente de sftware de Dr.Web SaaS Antes de empezar Antes de instalar el sftware en el rdenadr dispsitiv móvil, tenga en cuenta que cada suscripción tiene su prpi agente de sftware, que debe ser descargad

Más detalles

EL ESCRITORIO DE WINDOWS Y LA BARRA DE TAREAS

EL ESCRITORIO DE WINDOWS Y LA BARRA DE TAREAS EL ESCRITORIO DE WINDOWS Y LA BARRA DE TAREAS Cuand se enciende el rdenadr, el Escritri es la primera pantalla que aparece una vez que se abre el sistema perativ del rdenadr, en este cas, Windws, y en

Más detalles

PROGRAMA FORMATIVO AvANZA

PROGRAMA FORMATIVO AvANZA Asesría y Organización de Frmación Cntinua Prgramación páginas web: servidr (PHP) Aplicacines Web Mdalidad: e-learning Duración: 56 Hras Códig: CAT00140 Objetiv Curs de desarrll de aplicacines web. Para

Más detalles

ecompetició Inscripciones Para acceder: http://www.fecapa.cat > Serveis Fecapa > Intranet ecompetició

ecompetició Inscripciones Para acceder: http://www.fecapa.cat > Serveis Fecapa > Intranet ecompetició ecmpetició Inscripcines Para acceder: http://www.fecapa.cat > Serveis Fecapa > Intranet ecmpetició También se puede acceder directamente al servidr pr la URL http://www.fecapa.cm:9080/ecmpetici, per es

Más detalles

Guía General Central Directo. Ingreso a la Plataforma

Guía General Central Directo. Ingreso a la Plataforma Guía General Central Direct Ingres a la Platafrma Añ: 2015 La presente guía ha sid elabrada pr el Banc Central de Csta Rica (BCCR) y frece infrmación básica para facilitar a ls participantes de Central

Más detalles

SGNTJ INTCF. Manual de Solicitud de Alta en el Sistema de Relación de Empresas (SRE) del Instituto Nacional de Toxicología y Ciencias Forenses (INTCF)

SGNTJ INTCF. Manual de Solicitud de Alta en el Sistema de Relación de Empresas (SRE) del Instituto Nacional de Toxicología y Ciencias Forenses (INTCF) Manual de Slicitud de Alta en el SGNTJ INTCF Manual de Slicitud de Alta en el Sistema de Relación de Empresas (SRE) del Institut Nacinal de Txiclgía y Ciencias Frenses (INTCF) Manual de Slicitud de Alta

Más detalles

Web Biblioteca Complutense 2006: Manual del Gestor de Contenidos. Versión 1.1. Mayo 2006

Web Biblioteca Complutense 2006: Manual del Gestor de Contenidos. Versión 1.1. Mayo 2006 Plantilla de menú de blques Esta plantilla prprcina una herramienta sencilla para realizar una página cuy aspect final sería una lista de enlaces a diferentes páginas, sean éstas páginas prpias, del rest

Más detalles

También. os. de formación. tendencias. Explica cómo se y la función de. Pág.1

También. os. de formación. tendencias. Explica cómo se y la función de. Pág.1 E-learning Técnic de frmación 110 HORAS ON-LINE CONTENIDOS Fundaments de la frmación a distancia Bases cnceptuales. Características de la frmación a distancia Se realiza una aprximación histórica al fenómen

Más detalles

GUÍA DE CONFIGURACIÓN DE CORREO etb.net.co EN DISPOSITIVOS MÓVILES

GUÍA DE CONFIGURACIÓN DE CORREO etb.net.co EN DISPOSITIVOS MÓVILES GUÍA DE CONFIGURACIÓN DE CORREO etb.net.c EN DISPOSITIVOS MÓVILES Para las cnfiguracines del Crre ETB net.c de la platafrma Exchange en un Smartphne es imprtante tener en cuenta las siguientes cnsideracines:

Más detalles

CURSO PRÁCTICO ONLINE: MICROSOFT PROJECT 2013 CON LOS FUNDAMENTOS DE LA GUIA DEL PMBOK

CURSO PRÁCTICO ONLINE: MICROSOFT PROJECT 2013 CON LOS FUNDAMENTOS DE LA GUIA DEL PMBOK CURSO PRÁCTICO ONLINE: MICROSOFT PROJECT 2013 CON LOS FUNDAMENTOS DE LA GUIA DEL PMBOK Dirigid a Empresas y Prfesinales en el ámbit de la gestión y dirección de pryects Escenari y Objetivs El curs práctic

Más detalles

INDICE. Servicios Informáticos. Guía básica del usuario de Symantec Endpoint Protection Windows Página 1 de 11

INDICE. Servicios Informáticos. Guía básica del usuario de Symantec Endpoint Protection Windows Página 1 de 11 Servicis Infrmátics Guía básica del usuari de Symantec Endpint Prtectin Windws Página 1 de 11 INDICE 1. Intrducción...2 2. Acerca del icn de Symantec Endpint...3 3. La cnsla principal y la ventana Estad...4

Más detalles

Eurowin 8.0 SQL. Manual de EW-LOG. Revisión de incidencias

Eurowin 8.0 SQL. Manual de EW-LOG. Revisión de incidencias Eurwin 8.0 SQL Manual de EW-LOG Revisión de incidencias Dcument: me_ewlg Edición: 05 Nmbre: Manual de Ewlg Fecha: 03-02-2011 Manual de Ewlg Tabla de cntenids 1. Intrducción... 2 1.1. Qué es el Registr

Más detalles

1. Objetivo de la aplicación

1. Objetivo de la aplicación 1. Objetiv de la aplicación El bjetiv de esta aplicación es el de dispner de un canal de participación ciudadana en el que recibir preguntas de interés para ls ciudadans. Desde la página principal del

Más detalles

CASO 9187 Se corrige falla que borra el SLA de los casos relacionados entre sí luego de que se ejecute una regla que modifique casos relacionados.

CASO 9187 Se corrige falla que borra el SLA de los casos relacionados entre sí luego de que se ejecute una regla que modifique casos relacionados. NOMBRE DEL PRODUCTO: ARANDA SERVICE DESK WINDOWS VERSIÓN DE ACTUALIZACIÓN QUE SE LIBERA: 8.1.13 LISTADO DE ARCHIVOS Nmbre de Archiv Versión Tamañ (En Bytes) Destin del Archiv (Ruta) ServiceDesk.exe 8.1.12.18

Más detalles

1 Departamento de Informática y Comunicaciones. IES San Juan Bosco (Lorca-Murcia)

1 Departamento de Informática y Comunicaciones. IES San Juan Bosco (Lorca-Murcia) 1 Departament de Infrmática y Cmunicacines. IES San Juan Bsc (Lrca-Murcia) Pryect de Implantación y Desarrll de una Aplicación Web (IDAW) 2º ASIR Blsa de Trabaj Curs 2013-2014 2 Departament de Infrmática

Más detalles

Curso de Access 2007

Curso de Access 2007 Curs de Access 2007 1. Objetivs Access es un cmplet y demandad prgrama infrmátic en entrns de empresa, que permite la creación y gestión de bases de dats, así cm su mdificación, cntrl y mantenimient. Este

Más detalles

Manual de Usuario- Vendedores. Uso del Portal

Manual de Usuario- Vendedores. Uso del Portal Manual de Usuari- Vendedres Us del Prtal Manual de usuari- Prtal Página 1 de 14 Autr Cntrl de cambis Vers. Fecha Karla Alfar Sánchez Dcument inicial 1,1 25/06/2011 Karla Alfar Sánchez Actualizacines 1,2

Más detalles

BUEN USO DEL CORREO ELECTRÓNICO

BUEN USO DEL CORREO ELECTRÓNICO BUEN USO DEL CORREO ELECTRÓNICO 2011 Secretaría de Infrmática Judicial Pder Judicial de San Luis 1 ÍNDICE 1. Intrducción. 2. Recmendacines cntra el Crre Basura SPAM 3. Otras Recmendacines para el us del

Más detalles

MANUAL CONFIGURACIÓN XMEYE DISPOSITIVOS MOVILES ANDROID

MANUAL CONFIGURACIÓN XMEYE DISPOSITIVOS MOVILES ANDROID MANUAL CONFIGURACIÓN XMEYE DISPOSITIVOS MOVILES ANDROID pág. 1 Tabla de Cntenid Pag 1. Intrducción. 03 1.1. Intrducción XMeye. 03 1.2. Funcines Principales. 03 2. Instalación. 03 2.1. Cm Adquirir XMeye.

Más detalles

Plataforma de formación. Guía de navegación

Plataforma de formación. Guía de navegación Platafrma de frmación Guía de navegación Acceder a la platafrma Para acceder a la Platafrma de Frmación escribe la siguiente dirección en tu navegadr web: www.ics-aragn.cm A cntinuación verás la página

Más detalles

ALUMNOS DE DOCTORADO. INSTRUCCIONES DE USO DE LAS AULAS DE INFORMÁTICA

ALUMNOS DE DOCTORADO. INSTRUCCIONES DE USO DE LAS AULAS DE INFORMÁTICA ALUMNOS DE DOCTORADO. INSTRUCCIONES DE USO DE LAS AULAS DE INFORMÁTICA Carretera de Utrera, Km.1 41013-SEVILLA. ESPAÑA. Tfn. (34) 95 434 92 58 Fax. (34) 95 434 92 62 INTRODUCCIÓN. La Universidad Pabl de

Más detalles

65 HORAS. documentos. describe el. información. de la suite. Pág.1

65 HORAS. documentos. describe el. información. de la suite. Pág.1 Micrsft Access 2010 (Cmplet) 65 HORAS ON-LINE CONTENIDOS Intrducción a Office 2010 Intrducción a Office Intrducción a la suite fimática Micrsft Office 2010, presentand ls prgramas que la frman. Se describee

Más detalles

Servicios Relacionados con el Pago Telemático de Tasas

Servicios Relacionados con el Pago Telemático de Tasas Servicis Relacinads cn el Pag Telemátic de Tasas Manual de Us Versión: 1.0 25/06/2009 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis prducids 1.0 25-06-2009 Versión inicial Índice 1. Intrducción...1

Más detalles

Dirección General de Tecnologías de la Información (DGTI)

Dirección General de Tecnologías de la Información (DGTI) Dirección General de Tecnlgías de la Infrmación (DGTI) Centr de Csts Dcument Tip IC - Cicl 01 Plítica de cnfiguración de estacines de Trabaj Mviles Fecha Emisión 27 de Juli de 2012 Plítica de cnfiguración

Más detalles

Inicio. En este sitio encontrarás las indicaciones para aprender a crear una wiki en Google Sites.

Inicio. En este sitio encontrarás las indicaciones para aprender a crear una wiki en Google Sites. Inici Un wiki una wiki (del hawaian wiki, 'rápid') es un siti web cuyas páginas pueden ser editadas pr múltiples vluntaris a través del navegadr web. Ls usuaris pueden crear, mdificar brrar un mism text

Más detalles

Pack Comercio Electrónico

Pack Comercio Electrónico Pack Cmerci Electrónic Prgramación Páginas Web cn PHP + Marketing 75 + 45 HORAS ON-LINE CONTENIDOS: Prgramación Páginas Web cn PHP Prgramación cliente Prgramación de páginas web Presenta la necesidad de

Más detalles

1.- ESCRITORIO GNOME 2.- SISTEMA: PREFERENCIAS 3.- SISTEMA: ADMINISTRACIÓN

1.- ESCRITORIO GNOME 2.- SISTEMA: PREFERENCIAS 3.- SISTEMA: ADMINISTRACIÓN Ubuntu 8.04 (1/5) 1.- ESCRITORIO GNOME 1.1.- Panel inferir 1.2.- Panel superir 1.3.- Applets 1.4.- Fnd de escritri 1.5.- Gestr de ventanas 1.6.- Navegadr de disc nautilus 2.- SISTEMA: PREFERENCIAS 2.1.-

Más detalles

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014 PISIS Cliente Ne Guía de Instalación y Us Versión del dcument: 1.8 Fecha: Octubre 10 de 2014 1. Intrducción PISIS Cliente es una aplicación de escritri (desarrllada para ser utilizada en el sistema perativ

Más detalles

Metodología de trabajo para la creación de un sitio web. Servicio de Comunicación Digital

Metodología de trabajo para la creación de un sitio web. Servicio de Comunicación Digital Metdlgía de trabaj para la creación de un siti web Servici de Cmunicación Digital Fecha de última actualización: 31 de may de 2013 1 El bjetiv de este dcument es describir tds ls aspects relacinads cn

Más detalles

GUIA REGISTRO USUARIOS PARA CONSULTA REPORTES PAGINA WEB APPUCE

GUIA REGISTRO USUARIOS PARA CONSULTA REPORTES PAGINA WEB APPUCE GUIA REGISTRO USUARIOS PARA CONSULTA REPORTES PAGINA WEB APPUCE Para pder registrase en la página web y realizar la cnsulta de reprtes pr sci se debe seguir ls siguientes pass. - Ingresar a la página:

Más detalles

Trabajo Práctico Redes Neuronales Artificiales

Trabajo Práctico Redes Neuronales Artificiales Universidad Tecnlógica Nacinal Facultad Reginal La Plata - Añ 2015 Trabaj Práctic de RNA Trabaj Práctic Redes Neurnales Artificiales 1. Objetiv Cmprender las particularidades de la implementación de un

Más detalles

MEFFLiveUpdate Configuración MANUAL DE USUARIO

MEFFLiveUpdate Configuración MANUAL DE USUARIO MEFFLiveUpdate Cnfiguración MANUAL DE USUARIO 19 de febrer de 2007 La infrmación cntenida en este dcument está sujeta a mdificacines sin previ avis. A mens que se indique l cntrari, las cmpañías, ls nmbres

Más detalles

Wimba Pronto. Guía de instalación de laboratorio informático

Wimba Pronto. Guía de instalación de laboratorio informático Wimba Prnt Guía de instalación de labratri infrmátic Descripción general Wimba Prnt frece a ls administradres de labratris de infrmática un métd para instalar el prgrama en "Md de labratri", que tiene

Más detalles

Guía de integración del módulo de Redsys en Magento

Guía de integración del módulo de Redsys en Magento Guía de integración del módul de Redsys en Magent Versión: 2.2 25/08/2015 Referencia RS.ED.IND.MAN.0035 Redsys C/ Francisc Sancha, 12 28034 Madrid ESPAÑA Versión: 2.2 i Guía de integración Redsys en Magent

Más detalles

AVANCE SOLUCIONES INFORMÁTICAS. Preguntas Frecuentes SGTaller. Cómo respaldo la información del programa?

AVANCE SOLUCIONES INFORMÁTICAS. Preguntas Frecuentes SGTaller. Cómo respaldo la información del programa? Cóm respald la infrmación del prgrama? La base de dats de SGTaller se encuentra pr defect en C:\SGTaller 2\Base\Service.fdb Ese archiv cntiene tda la infrmación. Si Ud. a parte tiene reprtes persnalizads,

Más detalles

Curso de Excel 2007. Con la realización de este curso se pretende capacitar al alumno para poder realizar

Curso de Excel 2007. Con la realización de este curso se pretende capacitar al alumno para poder realizar Curs de Excel 2007 1. Objetivs Cn la realización de este curs se pretende capacitar al alumn para pder realizar peracines básicas en la hja de cálcul, así cm prepararla para pder imprimirla de manera crrecta

Más detalles

Es importante destacar que el uso de cookies no proporciona datos personales del usuario, que de cara a Supercoaching permanece anónimo.

Es importante destacar que el uso de cookies no proporciona datos personales del usuario, que de cara a Supercoaching permanece anónimo. Plítica de ckies Infrmación sbre ckies USO DE COOKIES y FICHERO DE ACTIVIDAD. Este siti web utiliza ckies cuand un usuari navega pr sus páginas. Las ckies sn fichers enviads a un navegadr pr medi de un

Más detalles

Guía de Instalación. char utile online 1.0.0.0

Guía de Instalación. char utile online 1.0.0.0 Guía de Instalación. char utile nline 1.0.0.0 char utile nline Guía de Instalación 1 de 6 1) Requerimients del sistema 2) Licenciamient de utile nline 3) Descarga utile nline 4) Prcedimient de instalación

Más detalles

Servicio de Solicitud de Inscripción en el Registro Oficial de Empresas Externas del Consejo de Seguridad Nuclear

Servicio de Solicitud de Inscripción en el Registro Oficial de Empresas Externas del Consejo de Seguridad Nuclear Servici de Slicitud de Inscripción en el Registr Oficial de Empresas Externas del Cnsej de Seguridad Nuclear Manual de Versión: 1.3 27/05/2013 Cntrl de cambis Versión Fecha Revisad Resumen de ls cambis

Más detalles

Procedimiento P7-SIS Revisión 2 24-04-13

Procedimiento P7-SIS Revisión 2 24-04-13 Prcedimient P7-SIS Revisión 2 24-04-13 Gestión y mantenimient de Sistemas Objet Describir cóm se gestina y administra tda la infraestructura de sistemas infrmátics del Institut así cm las actividades de

Más detalles

TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI. (Importación de registros en MARC 21)

TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI. (Importación de registros en MARC 21) TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI (Imprtación de registrs en MARC 21) ÍNDICE 1 Transfrmación y preparación de ls fichers a cargar...3 2 Carga de registrs a Kbli...3 Pas 1. Se carga el archiv.mrc

Más detalles

Administración Local Soluciones

Administración Local Soluciones SISTEMA INTEGRADO DE GESTIÓN DE EXPEDIENTES MODULAR (SIGM) MANUAL DE CONFIGURACIÓN DEL PAGO TELEMÁTICO SIGM v3 Administración Lcal Slucines Cntrl de versines Versión Fecha edición Cambi prducid Autr 01

Más detalles

Perceptrón Adaline. ( Desarrollado en el entorno Eclipse en el lenguaje JAVA ) Jose Alberto Benítez Andrades 71454586A

Perceptrón Adaline. ( Desarrollado en el entorno Eclipse en el lenguaje JAVA ) Jose Alberto Benítez Andrades 71454586A Perceptrón Adaline ( Desarrllad en el entrn Eclipse en el lenguaje JAVA ) Jse Albert Benítez Andrades 71454586A Redes Neurnales y Algritms Genétics Universidad de León Manual de usuari PerAda JABA 2.0

Más detalles

I. INTRODUCCIÓN... 2 II. REQUERIMIENTOS... 2 III. SECCIÓN USUARIOS... 4. Objetivo...4. Acceso...4. Consulta de estado de pedimento...

I. INTRODUCCIÓN... 2 II. REQUERIMIENTOS... 2 III. SECCIÓN USUARIOS... 4. Objetivo...4. Acceso...4. Consulta de estado de pedimento... Manual del Usuari Sistema de Cnsulta de Estad de Pediment en WEB Administración General de Aduanas Méxic 2002 Sistema de Cnsulta de Estad de Pediment en Web INDICE I. INTRODUCCIÓN... 2 II. REQUERIMIENTOS...

Más detalles

Manual de Usuario APLICACIÓN ENVOICE. Página 1. Manual de Usuario de FACTURACIÓN ELECTRÓNICA Sección Facturas

Manual de Usuario APLICACIÓN ENVOICE. Página 1. Manual de Usuario de FACTURACIÓN ELECTRÓNICA Sección Facturas Página 1 de FACTURACIÓN ELECTRÓNICA Sección Facturas Página 2 Facturas: Sección dnde se enlistan las facturas generadas y el estatus que tiene cada una de ellas (n pagada, pagada, cancelada). La sección

Más detalles

Implementar dicha interfaz Definir TODOS los métodos incluidos en dicha interfaz

Implementar dicha interfaz Definir TODOS los métodos incluidos en dicha interfaz Clase adicinal 5 Temas Interfaces Qué es una interfaz ActinListener Intrducción a Java Swing Qué es Swing SwingApplicatin Guía pas a pas Prblemas de diseñ Interfaz Qué es una interfaz Una interfaz es un

Más detalles

SERVIDOR VIRTUAL IPLAN

SERVIDOR VIRTUAL IPLAN SERVIDOR VIRTUAL IPLAN ACCESO A UN SV VÍA VPN - PLATAFORMA XEN (DESDE WINDOWS) 1. INTRODUCCIÓN En el presente instructiv describirems cóm cnectarse a un Servidr Virtual IPLAN estableciend una VPN (métd

Más detalles

Relaciones de documentos.

Relaciones de documentos. Relacines de dcuments. Se está implementand un módul de cntrl de relacines. Es un módul para cntrlar grups de peracines. A semejanza de ls ltes y ls anticips de caja fija, es una pción en la que se pdrá

Más detalles

5. PERFIL DINAMIZADOR DE LAS TIC EN EL CENTRO 5.1 Descripción y objetivos

5. PERFIL DINAMIZADOR DE LAS TIC EN EL CENTRO 5.1 Descripción y objetivos 5. PERFIL DINAMIZADOR DE LAS TIC EN EL CENTRO 5.1 Descripción y bjetivs En este apartad se definen cuales sn las principales características, cncimients y herramientas TIC que debe tener el Perfil de Dinamizadr/a

Más detalles

Instrucción de trabajo I7-CYA Revisión 1 01-Feb-10

Instrucción de trabajo I7-CYA Revisión 1 01-Feb-10 Instrucción de trabaj I7-CYA Revisión 1 01-Feb-10 Creación y Activación de usuaris y recurss Objet Describir cm se realiza la creación de nuevs usuaris y recurss de us cmún del Institut, así cm el prces

Más detalles

CURSO TALLER DE DESARROLLO DE APLICACIONES MÓVILES MULTIPLATAFORMA 2ª EDICIÓN ORGANIZA COLABORA

CURSO TALLER DE DESARROLLO DE APLICACIONES MÓVILES MULTIPLATAFORMA 2ª EDICIÓN ORGANIZA COLABORA CURSO TALLER DE DESARROLLO DE APLICACIONES MÓVILES MULTIPLATAFORMA 2ª EDICIÓN ORGANIZA COLABORA 2 INTRODUCCIÓN La Asciación Canaria de Ingeniers de Telecmunicación, cn la clabración de la Escuela de Ingeniería

Más detalles

Consejería de Hacienda y Administración Pública. Cliente de firma electrónica. Consulta de configuración de usuario final en entorno Windows

Consejería de Hacienda y Administración Pública. Cliente de firma electrónica. Consulta de configuración de usuario final en entorno Windows de usuari final en entrn Windws Versión: v01r01 Fecha: 06/04/2011 Queda prhibid cualquier tip de expltación y, en particular, la reprducción, distribución, cmunicación pública y/ transfrmación, ttal parcial,

Más detalles

Conjunto de servicios de los módulos funcionales. Entre los servicios que se ofrecen, destacamos:

Conjunto de servicios de los módulos funcionales. Entre los servicios que se ofrecen, destacamos: Cnjunt de servicis de ls móduls funcinales Entre ls servicis que se frecen, destacams: Cmpnente DRI Cmpnente encargad de la rquestación de ls diferentes servicis lógics que cmpnen el nd de frma que permita

Más detalles

MANUAL MANUAL. DE MICROSOFT PowerPoint 2007

MANUAL MANUAL. DE MICROSOFT PowerPoint 2007 MANUAL DE MANUAL DE MICROSOFT MICROSOFT WORD EXCEL 2007 2007 PwerPint 2007 Page1 Page2 Índice Cntenids SISTEMA DE TRÁMITES VERSIÓN 2... 3 Intrducción... 3 Ingres... 3 Menú... 5 Funcines Principales del

Más detalles

Phontage. En este documento se explica cómo utilizar la herramienta Phontage desde un PC y aplicaciones de backup y grabación de conversaciones.

Phontage. En este documento se explica cómo utilizar la herramienta Phontage desde un PC y aplicaciones de backup y grabación de conversaciones. 1. DESCRIPCIÓN DEL PROBLEMA O PRESTACIÓN DESCRITA En este dcument se explica cóm utilizar la herramienta Phntage desde un PC y aplicacines de backup y grabación de cnversacines. 2. SISTEMAS A LOS QUE ES

Más detalles

Manipulador de Alimentos

Manipulador de Alimentos Presentación Objetivs Cntenids Metdlgía Recurss Evaluación Presentación Qué es la Guía Didáctica Este dcument te servirá cm rientación a l larg de td el curs. Aquí pdrás btener tda la infrmación que necesitas

Más detalles

Realizar copias de seguridad de archivos

Realizar copias de seguridad de archivos Autr: Micrsft Licencia: Cita Fuente: Ayuda de Windws Realizar cpias de seguridad de archivs Para asegurarse de n perder sus archivs, debe realizar cpias de seguridad regulares de ls misms. Puede cnfigurar

Más detalles

REQUISITOS TÉCNICOS CONOCIMIENTOS DE INFORMÁTICA NECESARIOS. El acceso al AULA VIRTUAL no requiere conocimientos técnicos ni informáticos especiales.

REQUISITOS TÉCNICOS CONOCIMIENTOS DE INFORMÁTICA NECESARIOS. El acceso al AULA VIRTUAL no requiere conocimientos técnicos ni informáticos especiales. REQUISITOS TÉCNICOS La infrmática es cada vez más intuitiva y la platafrma Mdle elegida para el curs, es una herramienta de trabaj; pr l que sól es necesari un cncimient a nivel de usuari. N bstante, el

Más detalles

MOODLE. CAMPUS VIRTUAL. Para qué utilizar Moodle

MOODLE. CAMPUS VIRTUAL. Para qué utilizar Moodle MOODLE. CAMPUS VIRTUAL Para qué utilizar Mdle Acces las 24 hras desde cualquier lugar Cntrlar y registrar la evlución del alumn Mejrar la respuesta y la cmunicación alumn/prfesr, prfesr/alumn Utilizar

Más detalles

Binary-Rain Informe de Verificación de Documento Versión 1.3. Historia de revisiones

Binary-Rain Informe de Verificación de Documento Versión 1.3. Historia de revisiones Binary-Rain Infrme de Verificación de Dcument Versión 1.3 Histria de revisines Fecha Versión Descripción Autr 01/09/2012 1.0 Creación del dcument Matias Bancher 01/09/2012 1.1 Revisión de calidad Camil

Más detalles

MANUAL DE UTILIZACIÓN DE LA APLICACIÓN DE GENERACIÓN DE GUÍAS DOCENTES A TRAVÉS DE CAMPUS VIRTUAL

MANUAL DE UTILIZACIÓN DE LA APLICACIÓN DE GENERACIÓN DE GUÍAS DOCENTES A TRAVÉS DE CAMPUS VIRTUAL MANUAL DE UTILIZACIÓN DE LA APLICACIÓN DE GENERACIÓN DE GUÍAS DOCENTES A TRAVÉS DE CAMPUS VIRTUAL El Campus Virtual del a UC ha incrprad una nueva funcinalidad que pretende facilitar la cnfección y actualización

Más detalles

PERFIL PROFESORADO UTILIZANDO HERRAMIENTAS TELEMÁTICAS

PERFIL PROFESORADO UTILIZANDO HERRAMIENTAS TELEMÁTICAS Perfiles del Mdel de madurez tecnlógica de centr educativ PERFIL PROFESORADO UTILIZANDO HERRAMIENTAS TELEMÁTICAS Aspects sciales y legales Analizar el impact de las TIC en la sciedad y facilitar el acces

Más detalles

SERVICIO ROBOT INTERACTIVO DE VOZ (IVR) Guía de Ayuda Soporte de Banca por Internet (Opción 2)

SERVICIO ROBOT INTERACTIVO DE VOZ (IVR) Guía de Ayuda Soporte de Banca por Internet (Opción 2) SERVICIO ROBOT INTERACTIVO DE VOZ (IVR) Guía de Ayuda Sprte de Banca pr Internet (Opción 2) Servici Rbt Interactiv de Vz pción 2 Sprte de Banca pr Internet. 15-04-2013 15-04-2015 2/8 Esta guía tiene cm

Más detalles

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN INTRODUCCIÓN Esta primera versión del mdul Web para el cálcul del Despach Ideal que XM pne a dispsición de tds ls agentes generadres del Mercad

Más detalles

Guía del Firewall Router ECI B-FOCuS. - Apertura de puertos - DMZ

Guía del Firewall Router ECI B-FOCuS. - Apertura de puertos - DMZ Guía del Firewall Ruter ECI B-FOCuS - Apertura de puerts - DMZ 1. Intrducción Las nuevas cnexines de FTTH (fibra óptica hasta el hgar) de Cablemel intrducen un nuev equip, que psee las mismas funcinalidades

Más detalles

ATTEST. Manual de usuario. Gestión LOPD 1 - ÍNDICE

ATTEST. Manual de usuario. Gestión LOPD 1 - ÍNDICE Manual de usuari 1 - ÍNDICE 1 - ÍNDICE... 1 2 - INTRODUCCIÓN... 1 3 - ESTRUCTURA DEL SISTEMA... 2 3.1 ESTRUCTURA DE PANTALLAS... 2 3.1.1 CABECERA... 2 3.1.2 MENÚ... 2 3.1.3 PAGINA INICIAL... 4 3.1.4 CONTENIDO

Más detalles

Filtro de Correo Electrónico

Filtro de Correo Electrónico Filtr de Crre Electrónic Indice 1. Intrducción. 2. Características. 3. Instalación 4. Us 1. Intrducción Filtr de Crre Electrónic es una funcinalidad del servici Pack Seguridad Ttal que prtege ante el crre

Más detalles

Software para mejorar la adaptación al puesto de trabajo de las personas con discapacidad intelectual GUÍA RÁPIDA

Software para mejorar la adaptación al puesto de trabajo de las personas con discapacidad intelectual GUÍA RÁPIDA Sftware para mejrar la adaptación al puest de trabaj de las persnas cn discapacidad intelectual GUÍA RÁPIDA Cntenids: 1. Prestacines principales... 2 2. REQUISITOS. Qué necesit?... 2 3. Cóm se rganiza

Más detalles

Portal para Acceso Profesional a Juicios Orales

Portal para Acceso Profesional a Juicios Orales Prtal para Acces Prfesinal a Juicis Orales XTREAM Sistemas de Infrmación Glbal Cnsultría, Desarrll e Implantación de Sistemas Sftware para Gestión de Cntenids Audivisuales Gestión de Cicl de Vida del Cntenid

Más detalles

BANCOLOMBIA SUCURSAL VIRTUAL EMPRESAS MANUAL DE USUARIO SERVICIO ALTERNO TRANSACCIONAL

BANCOLOMBIA SUCURSAL VIRTUAL EMPRESAS MANUAL DE USUARIO SERVICIO ALTERNO TRANSACCIONAL BANCOLOMBIA SUCURSAL VIRTUAL EMPRESAS MANUAL DE USUARIO SERVICIO ALTERNO TRANSACCIONAL Este servici ha sid diseñad para que nuestrs clientes puedan realizar sus pags de nómina prveedres y descargar la

Más detalles

Manual General de Usuario del Proceso. P36 Recuperación de CFDI de Recibos Timbrados de. Nóminas Extraordinarias

Manual General de Usuario del Proceso. P36 Recuperación de CFDI de Recibos Timbrados de. Nóminas Extraordinarias Manual General de Usuari del Prces P36 Recuperación de CFDI de Recibs Timbrads de Nóminas Extrardinarias Cntenid 1 Definición 1.1 Objetiv 1.2 Rles 1.3 Fluj 2 Tarea 01 Inici del prces Recuperación de Archivs

Más detalles

Estudio ICANN sobre la prevalencia de los nombres de dominio registrados con un servicio proxy o de privacidad entre los 5 gtlds más destacados

Estudio ICANN sobre la prevalencia de los nombres de dominio registrados con un servicio proxy o de privacidad entre los 5 gtlds más destacados Estudi ICANN sbre la prevalencia de ls nmbres de dmini registrads cn un servici prxy de privacidad entre ls 5 gtlds más destacads RESUMEN EJECUTIVO: Ls titulares de nmbres registrads tienen la psibilidad

Más detalles

MANUAL DE USUARIO REQUERIMIENTOS TÉCNICOS APLICACIONES WEB

MANUAL DE USUARIO REQUERIMIENTOS TÉCNICOS APLICACIONES WEB Tecnlógica Página 1 de 6 Tabla de Cntenid 1 Objetiv... 2 2 Alcance... 2 3 Cmpnentes de ls aplicativs web... 2 3.1 Diagrama General de ls aplicativs web.... 2 3.2 Elements requerids pr el cliente para perar...

Más detalles

Paessler - Webserver Stress Tool Características

Paessler - Webserver Stress Tool Características Paessler - Webserver Stress Tl Características Webserver Stress Tl simula gran númer de usuaris que acceden a un siti web a través de HTTP / HTTPS. El sftware puede simular hasta 10.000 usuaris que de

Más detalles

PRÁCTICA 5: REDES LOCALES

PRÁCTICA 5: REDES LOCALES PRÁCTICA 5: REDES LOCALES Ejercici 0 Cmpleta en tu cuadern la tería del Tema 2, manteniend tus prpis estils y frmat. Cmpleta ls cncepts LAN, MAN y WAN enumerand sus características principales. Explica

Más detalles

INTRODUCCIÓN A BSCW CFIE VALLADOLID I (Mayo de 2003)

INTRODUCCIÓN A BSCW CFIE VALLADOLID I (Mayo de 2003) BSCW (Basic Supprt fr Cperative Wrk) es una herramienta de trabaj cperativ clabrativ a través de la web. El trabaj cperativ permite que ds más persnas interactúen e intercambien infrmación eliminand las

Más detalles

METODOLOGÍA DE ENTREGAS INCREMENTALES

METODOLOGÍA DE ENTREGAS INCREMENTALES METODOLOGÍA DE ENTREGAS INCREMENTALES PLATAFORMA BUSINESSOBJECTS XI 3.1 Versión 1.4 Fase: Metdlgía de Desarrll Fecha: 21/07/2010 ÍNDICE I INTRODUCCIÓN... 4 I.1 OBJETIVOS Y ALCANCE... 5 I.2 AUDIENCIA OBJETIVO...

Más detalles

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación Vicerrectrad de Tecnlgías de la Infrmación y la Cmunicación Servici de cnexión remta mediante VPN-SSL Guía de usuari Última Actualización 30 de may de 2013 Históric de cambis Fecha Descripción Autr 24/06/13

Más detalles

Módulo Formativo:Administración de Sistemas Gestores de Bases de Datos (MF0224_3)

Módulo Formativo:Administración de Sistemas Gestores de Bases de Datos (MF0224_3) Módul Frmativ:Administración de Sistemas Gestres de Bases de Dats (MF0224_3) Presentación El Módul Frmativ de Administración de sistemas gestres de bases de dats - MF0224_ permite btener una titulación

Más detalles

Acronis Backup & Recovery 10

Acronis Backup & Recovery 10 Acrnis Backup & Recvery 10 Server fr Linux Guía rápida de inici Este dcument describe cóm instalar y cmenzar a utilizar Acrnis Backup & Recvery 10 Server para Linux. 1. Sistemas perativs cmpatibles Linux

Más detalles

Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO. (19 julio 2012)

Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO. (19 julio 2012) Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO (19 juli 2012) ÍNDICE 1. DESCRIPCIÓN GENERAL... 4 2. INTEGRAR DOCUMENTOS EN BIBLIOTECAS EN DICCIONARIO... 4 2.1. DEFINICIÓN DE LOS MÉTODOS... 5 2.2. EJEMPLOS

Más detalles

Preguntas Frecuentes de ebanking

Preguntas Frecuentes de ebanking Preguntas Frecuentes de ebanking 1. Qué es ebanking? Es el sistema en línea que psee Banc PrCredit para que sus clientes realicen peracines bancarias desde la cmdidad de su casa, ficina cualquier lugar

Más detalles

TDR Soporte Dataprotector 2010 Pág. 1/6 06/01/2010, 3:22

TDR Soporte Dataprotector 2010 Pág. 1/6 06/01/2010, 3:22 Banc Multisectrial de Inversines Gerencia de Operacines y Tecnlgía Términs de Referencia Servicis de Sprte Data Prtectr Ener 2010 TDR Sprte Dataprtectr 2010 Pág. 1/6 06/01/2010, 3:22 Banc Multisectrial

Más detalles