Prototipo Apps Libro
-
Upload
lina-fernandez -
Category
Documents
-
view
219 -
download
0
Transcript of Prototipo Apps Libro
-
7/26/2019 Prototipo Apps Libro
1/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 1
Primeras aplicaciones Android para
el acceso mvil a los servicios de
ESADE (AMSE).
AutorAlberto Santos Benito
Director de proyecto:Jorge Luis Rodriguez Gonzlez
Curso 2011/2012
-
7/26/2019 Prototipo Apps Libro
2/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 2
ndice
Contenidondice ............................................................................................................................................. 2
1. Introduccin .......................................................................................................................... 5
1.1. Motivacin del proyecto .............................................................................................. 5
1.2. Objetivos ....................................................................................................................... 5
1.3. Metodologa seguida en el proyecto............................................................................. 6
1.4. Estructura de la memoria .............................................................................................. 82. Requisitos funcionales y maquetacin .................................................................................. 9
2.1. Toma de requisitos funcionales .................................................................................... 9
2.2. Descomposicin funcional ............................................................................................ 9
2.3. Fase de maquetacin y prototipaje ............................................................................ 10
2.4. Funcionalidades ........................................................................................................... 13
2.4.1. F01 Acceso a la aplicacin personas ESADE ........................................................ 13
2.4.2. F02 Acceso a la aplicacin por defecto ............................................................... 15
2.4.3. F03 Mostrar noticias............................................................................................ 16
2.4.4. F04 Informacin Campus .................................................................................... 17
2.4.5. F05 Mostrar Horario ............................................................................................ 18
2.4.6. F06 Solicitudes de informacin ........................................................................... 19
2.4.7. F07 Mostrar Notas............................................................................................... 21
2.4.8. F08 Alertas Especficas ........................................................................................ 22
2.4.9. F09 Estado de las becas ....................................................................................... 23
2.4.10. F10 Estado solicitud admisin ............................................................................. 24
2.4.11. F11 Documentacin Pendiente ........................................................................... 25
2.4.12. F12 Estado TUI ..................................................................................................... 26
2.4.13. F13 Movimientos TUI .......................................................................................... 27
2.4.14. F14 Moodle ......................................................................................................... 28
2.4.15. F15 Mostrar Exmenes ........................................................................................ 29
2.4.16. F16 Salir de la aplicacin .................................................................................... 30
2.4.17. F17 Seleccionar idioma ....................................................................................... 31
2.4.18. F18 Cerrar Sesin ................................................................................................ 32
-
7/26/2019 Prototipo Apps Libro
3/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 3
2.4.19. F19 Listar Programas ESADE ................................................................................ 33
2.4.20. F20 Experiencias Alumnos ................................................................................... 34
2.4.21. F21 Cmo llegar? ............................................................................................... 35
2.4.22. F22 Eventos ESADE Frum .................................................................................. 36
2.4.23. F23 Listar eventos ESADE Frum ......................................................................... 37
2.4.24. F24 Qu es ESADE? .............................................................................................. 38
2.4.25. F25 Pasatiempos ................................................................................................. 39
2.4.26. F26 Sopa de letras ............................................................................................... 40
2.4.27. F27 Test del talento para las Becas ..................................................................... 41
3. Especificacin ...................................................................................................................... 42
3.1. Especificacin parte ANDROID .................................................................................... 43
3.2. Especificacin parte Servidor ...................................................................................... 51
3.3. Curso de acontecimientos de los casos de uso. .......................................................... 56
3.3.1. Login .................................................................................................................... 56
3.3.2. Acceso pblico ..................................................................................................... 57
3.3.3. Consultar Informacin ESADE ............................................................................. 57
3.3.4. Consulta ESADE ................................................................................................... 583.3.5. Consultar Eventos................................................................................................ 58
3.3.6. Consultar Noticias ............................................................................................... 59
3.3.7. Seleccin de idiomas ........................................................................................... 59
4. Diseo .................................................................................................................................. 60
4.1. Mdulos ...................................................................................................................... 61
4.1.1. Mdulo Login y llamadas al servidor. .................................................................. 61
4.1.2. Mdulo creacin de funcionalidades .................................................................. 64
4.1.3. Mdulo Generacin Men Principal ................................................................... 68
4.1.4. Mdulo Generador de Listas ............................................................................... 70
4.1.5. Mdulo Generacin RSS ...................................................................................... 73
5. Estndares utilizados y tecnologas ..................................................................................... 74
5.1. XML .............................................................................................................................. 74
5.2. Jquery Mobile .............................................................................................................. 75
5.3. Struts (obligatorio por ESADE) .................................................................................... 76
5.4. Hibernate (obligatorio por ESADE) .............................................................................. 76
-
7/26/2019 Prototipo Apps Libro
4/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 4
5.5. RSS (obligatorio por ESADE) ........................................................................................ 76
6. Implementacin .................................................................................................................. 77
6.1. Mdulo de Generacin de funcionalidades. ............................................................... 78
6.2. Mdulo Generacin Men Principal. .......................................................................... 80
6.2.1. La clase Adapter (API Android) ............................................................................ 80
6.2.2. Implementacin del mdulo Generacin Men Principal .................................. 83
6.3. Mdulo de Generacin de RSS ................................................................................ 86
6.4. Mdulo de Generacin de Listas. ............................................................................ 88
6.5. Mdulo de Login...................................................................................................... 90
7. Evolutivos, cambios respecto al funcional y problemas surgidos ...................................... 92
7.1. Cambio de iconos ........................................................................................................ 92
7.2. Inclusin Google Maps Nativo (Evolutivo F21) ........................................................... 93
7.3. Informacin Campus (Evolutivo F4) ............................................................................ 95
7.4. Inclusin de RSS (Eliminacin de F22 y F23 y Evolutivo de F3) ................................... 96
8. Planificacin del proyecto. .................................................................................................. 97
8.1. Costes estimados (parte 1) .......................................................................................... 98
8.2. Costes estimados (parte 2) .......................................................................................... 998.3. Costes (tiempo real) .................................................................................................. 100
9. Resultado Final .................................................................................................................. 104
10. Conclusiones y agradecimientos. .................................................................................. 108
-
7/26/2019 Prototipo Apps Libro
5/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 5
1. Introduccin
1.1.
Motivacin del proyecto
La fundacin ESADE es una institucin acadmica internacional con ms de cincuenta
aos de historia. Su principal patrimonio son las personas: profesores y profesionales que
generan pensamiento, discurso, proyectos e iniciativas al servicio de una formacin excelente,
una investigacin relevante y una valiosa contribucin al debate pblico y a la transformacin
social.
ESADE no se escapa del impacto y de la repercusin que ha tenido la explosin de la
Sociedad de la Informacin y las mejoras en las comunicaciones. Estas mejoras han dado lugar
al desarrollo y herramientas que permiten evolucionar y crecer entre otras como empresa, o
fundacin en este caso. Es por todo esto que ESADE se ve en la necesidad de sumarse al carro
de las tecnologas mviles, y de las redes sociales.
El tener la posibilidad de ser el primero en enfocar las aplicaciones de ESADE para
dispositivos mviles, dada la importancia de ESADE en el mundo de las escuelas de negocio,
era un reto muy interesante.
1.2.
Objetivos
El objetivo de este proyecto es empezar a introducir a ESADE en el mundo de las
tecnologas mviles, y darle al usuario lo questas son capaces de ofrecerle.
Qu queremos conseguir?
Queremos ofrecer al usuario el acceso a los servicios de ESADE mediante terminales
mviles. Para ello se ha tenido que conocer internamente como funciona ESADE, qu servicios
ofrece, y cules son los ms adecuados para llevar a dispositivos mviles.
No seramos la primera institucin de enseanza que ofrece la posibilidad de acceder
a informacin pblica de esta forma, y es por eso que queremos que este proyecto sediferencie de los otros dndole un valor aadido importante, poder acceder a la informacin
privada, sin necesidad de logarse a la intranet de ESADE mediante navegador convencional.
Actualmente la para poder consultar la informacin privada, se tener que ir a consultar
informacin desde la intranet, y eso puede resultar confuso y molesto a la hora de hacerlo
desde un dispositivo mvil, ya que las aplicaciones y la intranet no estn pensadas para ser
mostradas en este tipo de dispositivos.(aunque stos soporten los navegadores sin
problemas).
-
7/26/2019 Prototipo Apps Libro
6/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 6
Android
Actualmente Android y iOS estn dominando el mundo de las tecnologas mviles en
cuanto a aplicaciones, ya sean para uso personal, ocio o gestin empresarial. Es por ello que es
acertado enfocarse en estas 2 plataformas para abarcar el mximo en cuanto a usuarios que
vayan a utilizar nuestros servicios.
La parte que se ha implementado y que forma parte de este proyecto es la parte
Android, pero las primeras fases del proyecto son independientes a la plataforma de
desarrollo, puesto que queremos que los servicios sean homogneos en todas las plataformas
de desarrollo futuras. Para ello hay que abstraerse y pensar en hacer algo multiplataforma,
escalable, reutilizableetc.
Una de las partes importantes a destacar es el hecho de que la aplicacin ha sidopensada para ser multiidiomay multidispositivo
Esto puede parecer obvio a simple vista, pero hay que pensar en que si desarrollas una
funcionalidad pensando en una propiedad especifica de la API de una plataforma, ests
imposibilitando la portabilidad a otra plataforma, con lo que estas reduciendo el nmero de
usuarios que utilizaran esa funcionalidad. En el estudio del producto que queramos
desarrollar se prefiri la portabilidad y la homogeneidadde las funcionalidades entre
diferentes plataformas.
1.3.
Metodologa seguida en el proyecto
Para la realizacin de este proyecto se ha utilizado la metodologa que se sigue en
ESADE para los proyectos del TIC. Esta metodologa puede variar en funcin de si los
proyectos se empiezan de 0 o si son un evolutivo. En nuestro caso el proyecto empezaba desde
cero, aunque obviamente, utiliza mdulos o libreras ya implementadas previamente.
Ms que metodologa podramos estar hablando de las fases que siguieron para llevar a
cabo el proyecto, que listar a continuacin y describir brevemente.
Brainstorming
En esta fase nos tomamos un tiempo en estudiar que es ESADE, qu servicios ofrece, y
cuales son susceptibles a ser accesibles mediante un dispositivo mvil.
Funcional
En esta fase definimos las funcionalidades finales que tendr el mvil en una primera
fase. En ella definimos el comportamiento de la funcionalidad y la interaccin con el usuario,
los perfiles que pueden acceder a ella y las restricciones que pueda haber.
-
7/26/2019 Prototipo Apps Libro
7/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 7
Estimacin de costes
En esta fase estimaremos los costes separando por mdulos / funcionalidades para
hacernos una idea de lo que nos va a costar desarrollar el proyecto. Esta fase tiene en cuentatodas las fases que prosiguen, y nos marcamos unas fechas lmites para cada fase. Adems, encada funcionalidad o mdulo vamos aadiendo el tiempo estimado y el tiempo real, para saberla desviacin que hemos tenido en nuestro proyecto.
Wireframes / Prototipaje
En esta fase definimos las pantallas de la aplicacin, asociadas a cada funcionalidad, y
la navegabilidad entre ellas, con lo que nos podemos empezar a hacer una idea de la
arquitectura que tendr la aplicacin y podemos empezar a hacer los primeros esquemas, afalta de conocer la API y la arquitectura Android.
Investigacin
Puesto que no conocemos la tecnologa Android, necesitaremos un tiempo de
aprendizaje y de una primera propuesta de cmo se desarrollaran las funcionalidades, sin
llegar al detalle del algoritmo. Tenemos que investigar si Android nos facilita o no con su API, el
desarrollo porque no tendra sentido reinventar la rueda o desarrollar algo que ya viene
nativamente en Android. Sera una prdida de tiempo considerable y preferimos invertir
tiempo en investigar.
Especificacin
Una vez sabemos cmo funciona la API de Android en los aspectos que nos interesa, y
hemos realizado unos tutoriales para entender el funcionamiento interno de una aplicacin,
debemos definir el diagrama de clases en el que basaremos nuestra aplicacin. Tenemos que
pensarlo de tal manera que sea ampliable as que tenemos que tener cuidado con la cohesin
y el acoplamiento, aunque la arquitectura que te presenta Android, facilita bastante este tema.
Diseo
En esta fase definimos los diagramas de secuencia que nos servir para empezar la
implementacin. Puesto que estamos definiendo el esqueleto de la aplicacin y las actividades
como tal, son muy simples, nos quedan pocos diagramas de secuencia pero son los diagramas
clave para el posterior desarrollo de la aplicacin.
Implementacin
En esta fase empezamos a implementar la aplicacin. Durante esta fase nos daremos
cuenta de que hay cosas que no se tendran que haber planteado de segn qu forma y nos
har replantear el diseo de algunas de las funcionalidades, o simplemente nos da alguna
funcionalidad de forma nativa.
-
7/26/2019 Prototipo Apps Libro
8/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 8
Test
En esta fase nos limitaremos a testear toda nuestra aplicacin, en ella intentaremos
ver si tenemos algn problema con la implementacin y trataremos de arreglar cualquier
imprevisto que nos surja.
Documentacin
En esta fase documentaremos todo lo realizado para la presentacin. Aunque parte de
la documentacin forma parte del anlisis y la especificacin y la toma de requisitos ser
incluida en ella.
1.4.
Estructura de la memoria
Se ha estructurado la memoria de la siguiente manera
En la seccin 2mostramos los requisitos funcionales con su maquetacin. Para cada
funcionalidad adjuntaremos el prototipo de pantallas de la cual partiremos para empezar a
desarrollar.
En la seccin 3explicamos la especificacin del proyecto, tanto en la parte mvil como
en la de servidor, con sus modelos conceptuales y casos de usos de las partesimplementadas solamente.
En la seccin 4explicamos el diseo definido. Gracias a este diseo se ha definido una
arquitectura potente, gracias a unos cuantos mdulos, que sern los que explicaremos con
detalle. En este caso tambin describimos tanto la parte mvil como la de servidor.
En la seccin 5explicamos los estndares utilizados, puesto que en las siguientes
secciones empezamos a entrar en detalles ms tcnicos, y as ponernos en contexto.
En la seccin 6explicamos parte de la implementacin y tendremos un apartado de
problemas surgidos con sus soluciones.
En la seccin 7se ven los cambios realizados respecto al funcional inicial y su
maquetacin. Puesto que en principio se tuvo unas ideas, desconociendo la API de
Android, y al final el resultado vari. En este apartado reflejamos todos los cambios.
En las ultimas 3 seccionesmostraremos, respectivamente, la informacin relativa a la
gestin del proyecto, el producto final, y una conclusin y valoracin personal.
-
7/26/2019 Prototipo Apps Libro
9/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 9
2. Requisitos funcionales y maquetacin
2.1.
Toma de requisitos funcionales
Los requisitos funcionales se tomaron en funcin de un estudio de los servicios que
existen en ESADE. Para ello, se invirti horas en conocer qu servicio se ofrece a los usuarios.
Se lleg a la conclusin de que mediante un terminal mvil no se pueden ofrecer esas
funcionalidades que requieren tramitaciones complejas o rellenos de formularios complejos,
puesto que para ello ya estn definidas las aplicaciones internas de ESADE.
La decisin clave de este proyecto es enfocar la aplicacin como una forma de acceder
a los servicios ms importantes a modo de consulta principalmente, intentando aprovechar los
servicios que ya estn funcionando desde hace tiempo.
Como todo en este proyecto, se han tenido que seguir las pautas y las
metodologas propias de ESADE, por lo que una vez se hizo el brainstorming se tuvo que
realizar el documento funcional del proyecto, y que fuera validado por el jefe de proyectos del
TIC.
2.2.
Descomposicin funcional
En los prximos apartados describiremos las funcionalidades en las que se ha dividido
la aplicacin. Como ya se ha comentado previamente, estas son las funcionalidades que
esperbamos desarrollar, pero se han visto sujetas a cambios por desconocimiento de la
tecnologa y por problemas a la hora de integrar nuestra aplicacin con los sistemas ya
implementados en ESADE. En el apartado donde comentemos la implementacin y resultado
finales de las funcionalidades desarrolladas en esta versin del proyecto, mostrando las
diferencias entre la maquetacin y el resultado final.
Para hacer ms fcil al lector la comprensin de las funcionalidades, hemos aadido la
maquetacin de cada funcionalidad. Con esto las funcionalidades quedan mucho ms claras a
la hora de mostrrselas al cliente, y al jefe de proyecto, que a fin y al cabo son los que tienen
que dar el visto bueno al proyecto, y tambin al lector de este documento.
Aun as, en el siguiente apartado, comentaremos la fase de maquetacin, que se
considera una parte importante de nuestro proyecto.
-
7/26/2019 Prototipo Apps Libro
10/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 10
2.3.
Fase de maquetacin y prototipaje
En ESADE, las aplicaciones antes de ser desarrolladas pasan por un proceso de
maquetacin, o prototipaje, como se prefiera llamar. Esto se hace para que la fase de
implementacin y diseo de la arquitectura de la aplicacin no se tenga que ver afectada. Se
hace una maqueta con lo que el usuario ver, la navegacin y datos de prueba, se le ensea al
usuario, y ste lo confirma, pide cambios, etc A partir de ah, tericamente ya se puede
empezar a desarrollar, y no estar sujeto a cambios en mitad de la implementacin, lo cual es
un coste de recursos, que no estaba previsto en la estimacin de costes del proyecto.
Hasta hace relativamente poco lo que se haca era maquetar las aplicaciones en HTML
y CSS puro. Incluso tambin utilizando ya las tecnologas que se utilizaran para el desarrollo,
como las JSP, para luego poder aprovecharlas en el futuro desarrollo. Por lo que ya tenas que
estar pensando tambin en el futuro desarrollo de la aplicacin. Cada cambio implicaba abrir
el proyecto y maquetar a mano todos los nuevos cambios. Si queras hacer un prototipo muy
cercano al resultado final, tenas que empezar a meter mano a JavaScript y empezar a tener
unas nociones de programacin ms elevadas.
Es por eso que se decidi buscar alguna herramienta que sirviera nica y
exclusivamente para prototipar. Se estuvo valorando varias opciones, y al final se escogi
JustimindPrototyper.http://www.justinmind.com
Esta herramienta permita entre otras cosas, hacerte tus propios elementos
personalizados, para luego poder aprovecharlos en maquetaciones posteriores. Todo a nivel
de drag and drop, y muy configurable. Adems contiene un gestor de eventos, con el que
puedes controlar eventos, como el click de ratn, el doble click, al entrar en una pantalla, al
saliretc.
Con todo esto se consigue hacer prototipos de una aplicacin o de un sitio web, sin
tener que picar una sola lnea de cdigo HTML, css o jquery(JavaScript en su defecto).
Se recibi una formacin de 20 horaspara el aprendizaje de esta herramienta. Y con
este proyecto, se inici el primer prototipaje en ESADE, con lo que se puede decir que el autorde este proyecto fue el primer usuario de esta herramienta, de una manera oficial.
La herramienta posee elementos web predefinidos con los que empezar a maquetar, y
puedes aadirle estilos de una manera muy sencilla, cambiando el color de los bordes, el
orden u orientacin de los elementos etc. Con la personalizacin y creacin de tus propios
elementos puedes generarte estilos propios o estndares de cualquier tipo, como por ejemplo
crearte el estilo de una aplicacin Android, que es lo que quisimos hacer desde un principio. Es
decir, nosotros nos crebamos nuestro elemento botn, y lo guardbamos como widget
personalizado. Cada vez que quisiramos un botn con ese estilo y tamao concreto, solo
tendramos que seleccionarlo y colocarlo donde quisiramos. Es una inversin de tiempo, que
http://www.justinmind.com/http://www.justinmind.com/http://www.justinmind.com/http://www.justinmind.com/ -
7/26/2019 Prototipo Apps Libro
11/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 11
a largo plazo se agradece, sobre todo si los estilos de los elementos son siempre los mismos y
estn estandarizados.
La imagen superior nos muestra unos ejemplos de lo que se puede hacer con
Justinmind Prototyper, en dispositivos mviles con Android.
Por suerte en la pgina web de Justinmind ya tenan la librera de widgets para
Android, por los que solo tuve que bajrmelos y modificarlos a mi gusto, pero por lo menos ya
tena un estilo del que partir. Con esto consegu centrarme en el estilo final de la aplicacin:
colores, textos, color de los bordes, estilo de los botonesetc. Los widgets complejos de Listas
de elementos, dilogos de informacin, mens, etcno tuve que crearlos desde cero.
Como se puede ver en la imagen inferior, incluso tenemos una carcasa de dispositivo
mvil con el que simular que estamos en un terminal Android, con su reloj, su batera,
botones etc., dejando solo la necesidad de maquetar el contenido de la pantalla.
-
7/26/2019 Prototipo Apps Libro
12/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 12
Con esta herramienta se hizo el prototipo de este proyecto tanto las pantallas para
cada funcionalidad, como el mapa de navegacin de toda la aplicacin en general.
Hay que decir que como el desarrollo en Android de una aplicacin para ESADE nunca
se haba realizado, el resultado final de la aplicacin no es del todo igual al del prototipaje.
Todos los cambios que se han ido realizando han sido para conseguir un estilo mejor y ms
adecuado para el nivel de las aplicaciones que deben tener y tienen las de ESADE.
Hay que aadir que en el encabezado de cada funcionalidad aadimos el icono que le
representa. Tambin se tuvo que buscar una propuesta de iconos y de logos para la aplicacin.
Aunque no lo parezca, se lleva bastante tiempo buscando iconos adecuados. Al final no nos
quedamos los de la propuesta, y se tuvieron que encontrar unos nuevos. Aun as es posible
que en un futuro se hagan iconos especficos para la aplicacin.
En apartados posteriores se podr ver el resultado final de la aplicacin y los cambios
ms significativos que ha habido a nivel de presentacin, y tambin funcionales. A
continuacin se listaran las funcionalidades definidas, con sus prototipos adjuntos.
-
7/26/2019 Prototipo Apps Libro
13/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 13
2.4.
Funcionalidades
2.4.1. F01 Acceso a la aplicacin personas ESADE
Descripcin de la funcionalidad: Funcionalidad que se encarga de comprobar que el usuarioexiste en la base de datos
Perfiles: Alumno
CandidatoPAS/ProfesoresPerfiles Especiales
Comportamiento:El usuario, una vez ha seleccionado la forma de entrada a la aplicacin Soyde ESADE introducir en la pantalla que le aparezca su usuario y password de ESADE. Si elperfil no es vlido o no se ha podido encontrar el email se mostrara un mensaje de error comoeste: Elusuario no existe o no tiene un perfil validoLos campos a rellenar son:Usuario:Contrasea:
Validaciones:Usuario es de tipo email y password est informado.
Ok
Error
-
7/26/2019 Prototipo Apps Libro
14/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 14
Restricciones: El usuario tiene que ser uno de los perfiles vlidos para acceder a la aplicacin.Alumno, PAS/Profesor, Candidato o Perfil Especial.
-
7/26/2019 Prototipo Apps Libro
15/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 15
2.4.2. F02 Acceso a la aplicacin por defecto
Descripcin de la funcionalidad: Funcionalidad que permite acceder a las funcionalidadespblicas de la aplicacin, es decir, sin necesidad de logarse en la aplicacin.
Perfiles:-
Comportamiento:El usuario marcar la opcin An no soy de ESADE y se le mostrarn lasfuncionalidades no asociadas a ningn perfil
Validaciones:-Restricciones: -
-
7/26/2019 Prototipo Apps Libro
16/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 16
2.4.3. F03 Mostrar noticias
Descripcin de la funcionalidad: En esta funcionalidad nos encargaremos de coger todas lasnoticias de la web de ESADE. Consistir en una pantalla con una lista de las ltimas noticias ypodremos seleccionarlas para leerlas en su totalidad. Si hay algn video, se mostrar.
Perfiles:-
Comportamiento: Se le mostrar al usuario una lista con de la web, que se irn cargandoparcialmente. A medida que el usuario avance por la lista de noticias, se irn cargando ms. Encada elemento de la lista aparecer el ttulo, una imagen (si la hay) y un fragmento pequeo denoticia. Si el usuario quiere acceder al contenido en su totalidad solo tendr que seleccionar la
noticia de la lista y se le abrir una nueva ventana con la noticia entera. En el caso de que hayaun video, podremos ejecutarlo seleccionndolo utilizando el reproductor de video que tengainstalado en el terminal mvil.
Validaciones:-
Restricciones:En el caso de que no haya noticias se le mostrara un mensaje como este:No hay noticias actualmente
-
7/26/2019 Prototipo Apps Libro
17/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 17
2.4.4. F04 Informacin Campus
Descripcin de la funcionalidad: Esta funcionalidad muestra la informacin pblica de cadacampus. Se podr seleccionar el campus del que queramos la informacin, y aparecer
informacin actualizada del campus, como por ejemplo el men, los horarios de biblioteca,laboratorio, etc.
Perfiles:-
Comportamiento:Se le mostrar al usuario una lista con los campus de ESADE. Al seleccionaruno de esos campus se le mostrar la informacin de los servicios de ese campus. Adems sele dar la posibilidad de mostrar la localizacin geogrfica del campus en un mapa F21
Validaciones:-
Restricciones: Es posible que alguno de los campus no contenga ninguna informacin sobrealgn servicio. En tal caso se le mostrara un mensaje claro sobre el servicio que as lo ndice, enfuncin del servicio, como los que se indican a continuacin.Este campus nodispone de servicio de laboratorio
Este campus no dispone de servicio de men
Este campus no dispone de servicio de biblioteca
Este campus no dispone de servicio de lanzadera
-
7/26/2019 Prototipo Apps Libro
18/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 18
2.4.5. F05 Mostrar Horario
Descripcin de la funcionalidad:En esta funcionalidad se mostrara el horario del usuario consus clases, reuniones o acontecimientos planeados.
Perfiles: AlumnoPAS/Profesores
Comportamiento: Se mostrar el horario del da por defecto. Se podr seleccionar el eventopara encontrar informacin ampliada y ms detallada. Se podr cambiar el filtro para ver lainformacin del mes y de la semana.
Validaciones:-
Restricciones: Solo se podr sincronizar con los calendarios de ESADE y el correo de Exchange.
-
7/26/2019 Prototipo Apps Libro
19/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 19
2.4.6. F06 Solicitudes de informacin
-
7/26/2019 Prototipo Apps Libro
20/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 20
Descripcin de la funcionalidad: Funcionalidad que permite solicitar informacin de aquellos
programas de ESADE que acepten solicitudes online.
Perfiles:-
Comportamiento: Se tendr que seleccionar el programa del cual queremos informacin yaparecer un formulario que tendr que rellenar. Una vez lo rellene y acepte los trminos de lanormativa de proteccin de datos tendr que confirmar dndole a un botn.El usuario recibirun email por solicitud de informacin.Los campos a rellenar son los siguientes:
Nombre
Primer Apellido
Segundo Apellido:
Fecha Nacimiento:
Ao de graduacin:
Pas de residencia
Provincia:
Ciudad:
Email:
Mvil:
(Adems del campo que implica aceptar la normativa de
proteccin de datos.)
Validaciones:Todos los campos seguirn la misma validacin que se realiza en el formulario de
solicitudes de informacin va web.
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
21/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 21
2.4.7. F07 Mostrar Notas
Descripcin de la funcionalidad: Esta funcionalidad mostrara una lista con las asignaturas delas que est matriculado el alumno y la nota oficial del expediente y la extra oficial.
Perfiles: Alumno
Comportamiento: Se le mostrara una pantalla no editable con la informacin de las notas delas asignaturas que ha cursado.
Validaciones:-
Restricciones: El periodo de muestra de notas ser el mismo que el de la intranet
-
7/26/2019 Prototipo Apps Libro
22/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 22
2.4.8. F08 Alertas Especficas
Descripcin de la funcionalidad: Esta funcionalidad permitir al usuario ver si tiene algunaalerta de la intranet y podr acceder mediante navegador web a ella.
Perfiles:Alumno
PAS/Profesor
Perfiles especiales
Comportamiento: Se mostrara las alertas especficas del usuario en una lista. En el momentoen que seleccionemos alguna se abrir el navegador web externo a la aplicacin.En el caso de no tener ninguna alerta pendiente, se le mostrara un mensaje del estilo: No
tiene ninguna alerta
Validaciones:-
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
23/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 23
2.4.9. F09 Estado de las becas
Descripcin de la funcionalidad: Esta funcionalidad muestra para un candidato el estado de lasbecas que haya podido solicitar
Perfiles: Candidato
Comportamiento: Se le mostrara una lista con las becas solicitadas y al seleccionar unaaparecer la informacin en una ventana de dialogo y ser solo de consulta. En el caso de queno haya ninguna solicitud de becas se le mostrara un mensaje que as lo indique, como este.No ha solicitado ninguna beca
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
24/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 24
2.4.10.F10 Estado solicitud admisin
Descripcin de la funcionalidad:Esta funcionalidad muestra para un candidato, el estado deuna solicitud de admisin.
Perfiles:Candidato
Comportamiento: Se le mostrara una lista con las solicitudes de admisin y al seleccionar una,aparecer la informacin en una ventana de dialogo y ser solo de consulta. En el caso de queno haya ninguna solicitud de becas se le mostrara un mensaje que as lo indique, como este.No tiene ninguna solicitud de admisin
Validaciones:-
Restricciones:-
-
7/26/2019 Prototipo Apps Libro
25/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 25
2.4.11.F11 Documentacin Pendiente
Descripcin de la funcionalidad: Esta funcionalidad permitir consultar si tienedocumentacin pendiente para una solicitud.
Perfiles:Candidato
ComportamientoSe le mostrara una lista con las solicitudes que requieren documentacin y alseleccionar una, aparecer la informacin en una ventana de dialogo y ser solo de consulta.En el caso de que no haya ninguna documentacin pendiente de entregar se le mostrara unmensaje que as lo indique, como este.No tiene documentacin pendiente de entregar
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
26/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 26
2.4.12.F12 Estado TUI
Descripcin de la funcionalidad: Esta funcionalidad mostrara al usuario el saldo y el estado
Perfiles:Alumno
PAS/Profesor
Comportamiento: Se le mostrara en la pantalla principal el saldo y el estado del carnet, y unbotn que permitir listar las operaciones o movimientos realizados por orden temporal. (Quenos enviar a la funcionalidad F13)
Validaciones: -
Restricciones:-
-
7/26/2019 Prototipo Apps Libro
27/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 27
2.4.13.F13 Movimientos TUI
Descripcin de la funcionalidad: Esta funcionalidad mostrara los movimientos de la TUI delusuario, permitiendo filtrar por periodos.Perfiles:Alumno
PAS/Profesor
Comportamiento: Esta funcionalidad aparecer pulsando el botn Movimientos de la
funcionalidad F12.Se le dar la opcin de filtrar mediante una opcin que permitir seleccionar que periodo de
tiempo desea que sea listado
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
28/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 28
2.4.14.F14 Moodle
Descripcin de la funcionalidad: esta funcionalidad permitir descargar los archivos que se
hayan subido y sean visibles en el Moodle del usuario. Aprovechando la potencia de lasterminales actuales para poder mostrar archivos como hojas de clculo, documentos de textoo PDFs.
Perfiles:AlumnoPAS/Profesor
Comportamiento: Aparecer un listado de los archivos que se pueden descargar y tan soloseleccionando uno de ellos se abrir la aplicacin predeterminada del telfono que puedasoportar el formato del archivo.En caso de no tener ningn archivo para descargar se le mostrara un mensaje del estilo:
No hay ningn archivo para descargar
Validaciones: -
Restricciones: El usuario tiene que tener una cuenta de Moodle
-
7/26/2019 Prototipo Apps Libro
29/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 29
2.4.15.F15 Mostrar Exmenes
Descripcin de la funcionalidad: esta funcionalidad permitir listar los exmenes y saber lahora, el da, la fecha y el lugar del examen.
Perfiles:Alumno
Comportamiento: Aparecer un listado de exmenes mostrando las horas y los das y laasignatura de los exmenes. Si seleccionamos uno, nos aparecer informacin ms detallada,as como el aula en la que se realizar el examen. En el caso de que no tuviera ningn examense le mostrara un mensaje del estilo:No tiene ningn examen pendiente de realizar
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
30/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 30
2.4.16.F16 Salir de la aplicacin
Descripcin de la funcionalidad: esta funcionalidad permitir cerrar la aplicacin.
Perfiles:-
Comportamiento: Al pulsar el botn se cerrara automticamente la aplicacin.
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
31/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 31
2.4.17.F17 Seleccionar idioma
Descripcin de la funcionalidad: Esta funcionalidad permite elegir el idioma en el que semostrarn los textos de la aplicacin.
Perfiles:-
Comportamiento: Utilizando la tecla de men del terminal aparecern 3 opciones. Al pulsar lade la tecla de idioma se mostrara un men con tres opciones de idioma. El usuario tendr que
seleccionar una opcin y pulsar el botn aceptar. Se le mostrara un mensaje que indicar quese debe de reiniciar la aplicacinDebe reiniciar la aplicacin para que los cambios se efecten
Validaciones: -
Restricciones: Solo se podr seleccionar una de las opciones que se muestren en el men deseleccin de idioma.
-
7/26/2019 Prototipo Apps Libro
32/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 32
2.4.18.F18 Cerrar Sesin
Descripcin de la funcionalidad: esta funcionalidad permite cerrar la sesin de la aplicacin.
Perfiles:Alumno
Pas/Profesor
Perfiles Especiales
Candidato
Comportamiento: Utilizando la tecla de men del terminal aparecern 3 opciones. Alseleccionar la opcin de Logout se terminar la sesin y llevar al usuario a la pantalla deinicio de la aplicacin.
Validaciones: El usuario tiene que estar logado.
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
33/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 33
2.4.19.F19 Listar Programas ESADE
Descripcin de la funcionalidad: esta funcionalidad permitir mostrar la lista de programas deESADE y consultar su informacin.
Perfiles:-
Comportamiento: Se le mostrara al usuario una lista con todos los programas de ESADE. Alseleccionar uno de estos programas se le llevara a la pgina web, mediante el navegador delterminal con la informacin del programa seleccionado.
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
34/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 34
2.4.20.F20 Experiencias Alumnos
Descripcin de la funcionalidad: esta funcionalidad permitir ver videos sobre experiencias dealumnos sobre ESADE.
Perfiles:-
Comportamiento: Esta funcionalidad mostrar una lista de videos sobre experiencias dealumnos que al seleccionarlos ejecutara el reproductor de video de la terminal.
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
35/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 35
2.4.21.F21 Cmo llegar?
Descripcin de la funcionalidad: esta funcionalidad permitir mostrar la localizacin delcampus seleccionado en la funcionalidad F04.
Perfiles:-
Comportamiento:Se mostrara la localizacin del campus y la ruta a seguir desde la situacinactual del usuario. Si se selecciona el punto de destino (el campus como tal) se mostrarinformacin bsica de la localizacin y del campus.
Validaciones: -
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
36/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 36
2.4.22.F22 Eventos ESADE Frum
Descripcin de la funcionalidad: esta funcionalidad permitir consultar los eventos que serealizarn en ESADE frum mediante un calendario
Perfiles:-
Comportamiento: Al iniciar la funcionalidad se le mostrara un calendario con el mes actual conlos das que posean un evento marcados de un color diferente. En el momento en que setoque uno de estos evento se le mostrara una dialogo con la informacin del evento. Si porotro lado presionamos la tecla de men se activar la funcionalidad F23.
Validaciones:-
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
37/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 37
2.4.23.F23 Listar eventos ESADE Frum
Descripcin de la funcionalidad: esta funcionalidad mostrar una lista con los prximoseventos por orden de fecha.
Perfiles:-
Comportamiento: Esta funcionalidad viene activada de la F22. Se mostrar una lista por ordentemporal con los prximos eventos de ESADE Frum. Cuando se seleccione uno de los
elementos de la lista aparecer un dialogo con la informacin del evento.
Validaciones:-
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
38/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 38
2.4.24.F24 Qu es ESADE?
Descripcin de la funcionalidad: esta funcionalidad informacin sobre la fundacin ESADE.
Perfiles:-
Comportamiento: Se mostrara informacin para dar a conocer ESADE.
Validaciones:-
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
39/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 39
2.4.25.F25 Pasatiempos
Descripcin de la funcionalidad: esta funcionalidad permitir acceder a las funcionalidadesF26 y F27 con la finalidad de entretener al usuario o premiarle por su talento.
Perfiles:-
Comportamiento: Se le permitir al usuario acceder a los pasatiempos mediante el men delusuario y le mostrar una lista con los iconos que acceden a las funcionalidades F26 y F27
Validaciones:-
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
40/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 40
2.4.26.F26 Sopa de letras
Descripcin de la funcionalidad: esta funcionalidad permitir acceder al tpico pasatiempo dela sopa de letras donde tendremos que buscar los valores de ESADE en ella.
Perfiles:-
Comportamiento: Se le mostrar al usuario un panel con letras y de ellas deber sacar las
palabras que sean vlidas como resultado. Deber tocar el inicio de una letra y el final de otra.Si la palabra es correcta se le marcara como correcta, si la palabra no es correcta no semarcara nada.
Validaciones:-
Restricciones: -
Fin del juego?
-
7/26/2019 Prototipo Apps Libro
41/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 41
2.4.27.F27 Test del talento para las Becas
Descripcin de la funcionalidad: Esta funcionalidad permitir hacer un Test de nivel muyelevado, que servir para premiar con una beca a la persona o las personas que saquen lamejor nota.
Perfiles:-
Comportamiento: Se le mostrar preguntas con las posibles respuestas de las que tendr queseleccionar la correcta. Cada vez que responda una pregunta, se avanzar a la siguientepregunta sin notificarle an sobre el resultado de las preguntas. Al final del test se le mostrarael resultado obtenido que quedar registrado. Se podr saltar la pregunta actual a la siguientey navegar entre preguntas. Si la pregunta ya ha sido contestada se le notificar junto con larespuesta seleccionada.
Validaciones:-
Restricciones: -
-
7/26/2019 Prototipo Apps Libro
42/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 42
3. Especificacin
En este apartado se explicar el trabajo realizado sobre la especificacin realizada en
UML (Unified Modeling Language), lenguaje utilizado hoy en da para realizar tanto la
especificacin como el diseo de las operaciones.
En esta etapa de especificacin se desarrolla el modelo conceptual (diagrama de
clases), el modelo de casos de uso, y el modelo de comportamiento. ste ltimo no lo
comentaremos por ser bastante redundante y trivial, y no lo tuvimos en cuenta a la hora de la
realizacin del proyecto.
El modelo conceptual es la representacin de los conceptos significativos en el
dominio del problema a resolver. Muestra principalmente las clases de objetos, asociaciones,
atributos, operaciones ms relevantes y restricciones textuales.
En el modelo de casos de usose definen los casos de uso del sistema y la relacin
existente entre ellos. Un caso de uso describe una secuencia de acontecimiento que realiza un
actor (agente externo) que usa el sistema para llevar a cabo un proceso que tiene valor para l.
Este modelo principalmente se compone de los siguientes procesos:
Identificar a los actores: Un actor es una entidad externa al sistema que participa en la
historia de los casos de uso.
Especificacin de caso de uso:es una breve descripcin de las acciones del caso de
uso.
En este primer apartado detallar el modelo conceptual resultante de la parteimplementada. Puesto que inicialmente sugerimos un modelo muy parecido al resultado final,surgieron unos cambios a la hora de conocer la API de Android o por la problemtica surgida ala hora de intentar aprovechar los servicios ya implementados de ESADE que, o ya seencargaba de solucionarnos parte del problema que tenamos, o simplemente nosimposibilitaba la realizacin de la funcionalidad como la tenamos pensada.
Otros elementos del modelo fueron eliminados porque Android nativamente ya nosproporcionaba lo que nosotros queramos. A priori puede parecer que esto fuera una prdidade tiempo, y en parte as es, porque nos hizo tardar ms y afectaba a nuestra planificacin yestimacin de costes, pero en el fondo me sirvi para saber cmo afrontar los cambios deespecificacin y saber qu partes ya no necesitaba y cules necesitaba aadir.
En el tema de los casos de uso ocurre lo mismo, puesto que los cambios que ha habidohan modificado muchas de las funcionalidades.
Aun as en el modelo conceptual aadir algunos comentarios de algunos elementosdel modelo que eliminamos, para que se entienda el por qu lo quitbamos.
-
7/26/2019 Prototipo Apps Libro
43/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 43
3.1.Especificacin parte ANDROID
Este es el diagrama con las actividades de nuestra aplicacin.
API ANDROID
-
7/26/2019 Prototipo Apps Libro
44/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 44
Descripcin
Este diagrama contiene 2 partes. Como una aplicacin Android est compuesta por 1 o
ms actividades (clase Activity proporcionada por la API de Android), tenemos que definir una
actividad por cada funcionalidad (al menos una). Lo primero que hicimos fue prever si para
cada actividad pudiera haber algo en comn. Y tan solo con encontrar que queremos acceder a
los ajustes del idioma en cualquier parte de la aplicacin, nos encontramos con que todas las
actividades deberan ser creadas a partir de una actividad genrica. Es por eso que se cre
GenericActivity. En ella podremos aadir cualquier parte o mdulo comn a todas las
actividades.
Una ventaja de tener una GenericActivity es que tienes un nico punto de
acoplamiento con la API de Android y no N (una para cada actividad), con lo que te cubres las
espaldas contra futuras versiones de la API , haciendo que solo tengamos que tocar un punto
de nuestra aplicacin.
Solo por el hecho de partir de GenericActivity, ya estamos haciendo las
comprobaciones necesarias en cada actividad o inicializaciones, lo cual nos ahorra un trabajo
importante a la hora de aadir funcionalidades nuevas.
En este diagrama tambin podemos ver la parte del login (LoginUtil), que es quien se
encargar de identificarse y gestionar el acceso a los servidores de ESADE y de hacer las
llamadas pertinentes, haciendo transparente a las actividades la gestin relacionada con esta
parte.
Con esto conseguiremos que cualquier cambio en la forma de logarse con ESADE,
sistema de autenticacin, etc. ser transparente a las actividades y a las funcionalidades.
Estas actividades estn relacionadas conceptualmente con otros elementos pero lo
mostraremos en diagramas posteriores, para que todo quede ms claro.
Evolutivo y modificacin en la especificacin:
Cuando se estuvo investigando la API de Android para ver qu nos proporcionaba,
vimos que nos facilitaba la clase ListActivity, preparada para las actividades que iban a serlistas de elementos. Lo vimos bastante bien, pero entonces nos hizo pensar la especificacin
separando por dos tipos de actividades, las que son listas, y las que no lo son. Al ser ms
especfico podamos tener ms control sobre el desarrollo y el diseopero con el tiempo
vimos que no nos aportaba ningn beneficio puesto que una actividad normal tambin puede
mostrar listas.
-
7/26/2019 Prototipo Apps Libro
45/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 45
En cualquiera de los dos casos, la actividad tiene que saber que contiene una lista en
su UI, por lo que no nos aportaba nada separarlas conceptualmente en el modelo. Estos
cambios se vieron reflejados en la especificacin, diseo e implementacin y eliminamos la
clase GenericActivityList, y todo pas a hacerse a partir de GenericActivity.
-
7/26/2019 Prototipo Apps Libro
46/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 46
El siguiente diagrama contiene la especificacin para la creacin de las actividades que contienen listas de elementos.
API ANDROID
-
7/26/2019 Prototipo Apps Libro
47/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 47
Descripcin
La clase BaseAdapteres la que se utiliza para poblar Listas (ListView) en Android, entre
otras. Lo que hicimos fue identificar que funcionalidades iban a necesitar listas, y crear
nuestros propios Adapters (extendiendo de BaseAdapter), en funcin del contenido de cada
elemento de la lista.
Una vez tienes creados y definidos los Adapters, solo hay que asociarlos con la
actividad correspondiente. Es por eso que si creamos una actividad que va a mostrar la
informacin de un RSS, debemos crear el Adapter especfico para el RSS, que vaya rellenando
cada elemento de la lista.
Si en cualquier otra actividad necesitramos el mismo tipo de lista con el mismo tipo
de informacin, podramos aprovechar los Adapters. En el caso de los RSS, tendramos eventosy noticias, que es informacin diferente, y el origen de los datos es diferente, pero cumplen
el mismo patrn, por lo que podemos aprovechar el Adapter para las 2 actividades, como
podemos ver en el fragmento de diagrama a continuacin
-
7/26/2019 Prototipo Apps Libro
48/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 48
Especificacin de la creacin de funcionalidades:
Descripcin:
Este es el mdulo ms importante de la aplicacin y sobre el que ms se ha trabajado.
Aunque a simple vista no parezca una estructura de clases compleja, detrs de esto hay varias
propuestas, teniendo en cuenta futuros mantenimientos, adiciones de funcionalidades, etc.
En la parte de diseo se ver mucho ms el trabajo realizado y la implicacin de esta
decisin.
Bsicamente lo que tenemos es un Factory de funcionalidades. Adems hemos hecho
que sea Singleton, para que solo haya una instancia en memoria.
El Factory crea objetos de tipo Funcionalidad y es Funcionalidad quien sabe cmo
crearse y donde tiene que acceder, creando menos acoplamiento entre el Factory y el origen
de datos de la funcionalidad.
El Factory es utilizado por MenuPrincipal, pero se podra aprovechar para crear otro
tipo de objetos aprovechando la potencia de la herencia y del polimorfismo.
-
7/26/2019 Prototipo Apps Libro
49/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 49
En el siguiente diagrama mostramos la parte de cargar RSS
Investigando la API de ANDROID y mirando patrones que son tendencia en diseo y
usabilidad, descubrimos que un dispositivo mvil no debe dar la sensacin de que est
bloqueado o sin hacer nada.
Es por eso que aadimos a nuestra especificacin una clase que se encargara de
obtener los datos por nosotros de manera asncrona (utilizamos la API de Android mediante
AsyncTask) con una pantalla de progreso para darle esa sensacin de trabajo al usuario.
LoadFeedsse encargar de obtener los datos tanto para la actividad de obtencin de eventos
EventosRssActivityy noticias NoticiasRssActivity.
En este punto hemos tenido en cuenta el uso razonable de la batera ya que es uno de
los requisitos no funcionales a ms importantes a la hora de realizar este proyecto.
-
7/26/2019 Prototipo Apps Libro
50/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 50
Para terminar de explicar la especificacin de la parte ANDROID, aadimos la clase AMSE.
Descripcin
La claseApplicationes utilizada para mantener un estado global de la aplicacin. Sera
como una especie de Singleton, solo que ya proporcionado por la API, y accesible desde
cualquier punto de la aplicacin. Con ello somos capaces de guardar el estado de variables
globales, la configuracin actual de la aplicacin, o en nuestro caso, guardar el mapeo de las
funcionalidades del men principal, puesto que necesitaremos acceder a ellas desde diferentes
lugares.
-
7/26/2019 Prototipo Apps Libro
51/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 51
3.2.
Especificacin parte Servidor
En esta parte aprovechamos el conjunto de libreras estndar desarrolladas por ESADE
para con un coste reducido tener una serie de funcionalidades (login con usuarios de ESADE,
seguridad a nivel de sesin, esto es, durante una sesin no se puede cambiar ni de IP y ni de
navegador, ni estar inactivo ms de 30 minutos sin que te salte otra vez la pantalla de login,
entre otros)
Pese a que la parte de cliente ya posee una parte de autenticacin y autorizacin,
reforzamos esta seguridad con una segunda capa en el servidor. Para ello nos servimos de la
librera ya existente en ESADE para la creacin de las aplicaciones, en la que ya hay un modeloconceptual especificado y que cubre todos los requisitos en cuanto a creacin de sesiones y
autenticacin para las aplicaciones.
Nuestra especificacin parte de sta, explicada a continuacin.
Bsicamente, la idea de este diagrama de clases es poder implementar cualquier tipo
de aplicacin sin necesidad de duplicar el cdigo en todas las aplicaciones cuando queramos
que el usuario por ejemplo entre con login, o que tenga una sesin activa para poder acceder.
Con GenericStartActionpodemos crear aplicaciones que no necesiten sesin activa,
simplemente un punto de entrada. Con GenericActionSession obligamos al usuario a tener
-
7/26/2019 Prototipo Apps Libro
52/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 52
una sesin activa. Con GenericActionAuthOptobligamos al usuario a que tenga una sesin
activa y adems podemos hacer que est logado o no, modificando el comportamiento, si es
necesario, para cuando est logado; por ltimo tenemos GenericActionAuth que hereda laspropiedades de sus antecesores y adems obliga al usuario a estar logado. En el caso de que
no se cumplan las condiciones, se muestra una pantalla de error y no se permite continuar.
-
7/26/2019 Prototipo Apps Libro
53/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 53
Como uno de los requisitos era montar un framework para aplicaciones mviles, hemos creado una estructura de clases especial. Queda reflejada
en la siguiente figura.
API ESADE
-
7/26/2019 Prototipo Apps Libro
54/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 54
Descripcin
Con esta estructura de clases dotaremos a nuestra aplicacin con la capacidad deautorizar al usuario a la hora de acceder a las funcionalidades
Como ya se ha comentado, esta aplicacin contiene varias funcionalidades pero notodo el mundo puede acceder a ellas, depender del perfil que le asigne la aplicacin una vezidentificado. Ms adelante explicaremos con detalle cmo se asigna dicho perfil y lasfuncionalidades a las que da acceso.
Para ello, creamos una estructura de clases a partir de la que ESADE nos proporciona,de tal manera que, si una funcionalidad requiere de un perfil especfico, utilizaremos esa clasepara empezar a implementar la funcionalidad.
Con esto conseguimos, aparte de reforzar la seguridad de nuestra aplicacin, puestoque tan solo por usar esta estructura de clase, nos aseguramos una sesin activa y unaautenticacin con ESADE, tambin una forma de que los desarrolladores no tengan quepreocuparse sobre la gestin de los perfiles, con lo que el desarrollo ser bastante ms rpidoy el mantenimiento mucho ms sencillo.
En el apartado de diseo e implementacin aadiremos unos ejemplos para que quedetodo mucho ms claro.
A parte, tenemos otras funcionalidades que requieren de esta estructura de clases. Porejemplo, para logarse contra ESADE y obtener las cookies de sesin e identificacin, vamos a
necesitar la clase SuperGenericAction , proporcionada por ESADE.
-
7/26/2019 Prototipo Apps Libro
55/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 55
Para obtener los perfiles vamos a tener que poseer la cookie de identificacin deESADE, por lo que vamos a tener que utilizar la clase GenericAMSEAuth , creada por nosotros,que nos obliga a estar logados previamente (simplemente heredar de GenericActionAuth ,proporcionada por ESADE).
Si por ejemplo quisiramos aadir una funcionalidad nueva a la especificacin de la
aplicacin y quisiramos que esta funcionalidad solo pudiera ser ejecutada por alguien que
tuviera el perfil PAS, por ejemplo debera aadirla heredando de la clase que se encarga de
controlar que tenga ese perfil, en este caso: GenericAMSEAuthPAS.
-
7/26/2019 Prototipo Apps Libro
56/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 56
3.3.
Curso de acontecimientos de los casos de uso.
En este punto explicaremos los cursos de acontecimientos de los casos de uso. Solo se
explicarn los siguientes:
Login
Consultar Informacin ESADE
Consultar ESADE
Consultar Eventos
Consultar Noticias
Salir de la aplicacin
Seleccionar Idioma
Acceso pblico
3.3.1. Login
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere entrar a la aplicacin con superfil asociado y accede mediante el botnde acceso privado Soyde ESADE .
2. El sistema muestra un formulariodonde se muestran los campos a rellenar.
3. El usuario introduce sus datospersonales y pulsa el botn de Aceptar.
4. El sistema accede al servidor conlos datos del usuario, obtiene los perfiles y lemuestra las funcionalidades que puede
utilizar.
5. El usuario puede navegar yseleccionar las funcionalidades en las quetiene autorizacin.
-
7/26/2019 Prototipo Apps Libro
57/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 57
3.3.2. Acceso pblico
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere entrar a la aplicacin sinningn perfil asociado.
2. El sistema muestra las funcionalidades
que no requieren ningn perfil asociado .
3.3.3.
Consultar Informacin ESADE
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere consultar la informacinasociada a ESADE tocando el botnInformacin.
2.El sistema le muestra una lista con loscampus de ESADE.
3. El usuario selecciona el campus delque quiere obtener la informacin.
4.El sistema le muestra una lista con losedificios del campus con informacin asociada yvarias opciones para cada edificio
5. El usuario selecciona una de lasopciones. *
6. El sistema activa la opcin seleccionada. *
* Existen 2 opciones actualmente:
-
7/26/2019 Prototipo Apps Libro
58/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 58
Llamar: Le permite llamar al edificio seleccionado.
Ver Mapa: Se le muestra la posicin en el mapa del edificio seleccionado.
3.3.4. Consulta ESADE
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere consultar qu es ESADE y
toca el botn Qu es ESADE?.
2. Se le muestra la pgina web con lainformacin asociada a la funcionalidad Qu
es ESADE?.
3.3.5. Consultar Eventos
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere consultar los eventos prximosde ESADE
2. Se le muestra al usuario una listacon los eventos de ESADE
3.El usuario selecciona un evento
4. Se muestra el detalle del eventoseleccionado.
-
7/26/2019 Prototipo Apps Libro
59/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 59
3.3.6. Consultar Noticias
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere consultar las noticias de ESADE
2. Se le muestra al usuario una lista
con los noticias de ESADE
3.El usuario selecciona una noticia
4. Se muestra el detalle de la noticia
seleccionada.
3.3.7. Seleccin de idiomas
Accin del actor Respuesta del sistema
1. El caso de uso empieza cuando elusuario quiere cambiar el idioma de laaplicacin pulsando la tecla men yselecciona la opcin ajustes.
2. Se le muestra al usuario losidiomas disponibles
3.El usuario selecciona un idioma
4. La aplicacin pasa a tener elidioma seleccionado
-
7/26/2019 Prototipo Apps Libro
60/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 60
4.
Diseo
Estilo de las aplicaciones de ESADE vs API Android
Si un experto en Android, y solo en Android, viera cmo se ha diseado la aplicacin y
que arquitectura se ha decidido para sta, es posible que pusiera en entredicho algunas de las
decisiones tomadas. Un experto Android pensara que algunas de las decisiones tomadas
acaban montando estructuras demasiado complejas para una aplicacin mvil que suele tener
una vida til ms bien corta y que por tanto se suelen desarrollar con bajo coste y pensando a
corto plazo.
Despus de ms de un ao desarrollando en ESADE aprend la importancia de la
ingeniera del software y sus efectos a posteriori a la hora del mantenimiento de las
aplicaciones, por ejemplo.
Discutindolo con el director de proyecto, y siendo l el que conoce ESADE y est ms
familiarizado con la realizacin de los proyectos , su mantenimiento, y sus costes llegamos a la
conclusin de que vala ms invertir tiempo en hacer una aplicacin slida a nivel de diseo y
arquitectura. Con ello la haramos mantenible sin tener a gente con conocimientos en el
desarrollo de Android, dado que se trata de un perfil que actualmente no se necesita enESADE y por el que no es muy probable que se quiera invertir, por lo menos a corto - medio
plazo.
Esto es importante tenerlo en cuenta puesto que Android hace mucho nfasis, entre
otras cosas, en cuidar al usuario que utiliza el dispositivo mvil. Si una aplicacin gasta mucha
batera o es muy lenta, esa aplicacin ser objeto de ser desinstalada sin miramientos. Es por
ello que hay que cuidar cada lnea de cdigo para no replicar cdigo, no consumir mucha
memoria (puesto que los dispositivos mviles no andan sobrados de memoria, comparado con
los servidores u ordenadores de sobremesa).
Se ha intentado ser cuidadoso en ese tema, pero si necesitbamos aadir un coste en
memoria o en ejecucin para llevar a cabo un cdigo mantenible y extensible, lo bamos a
hacer. De hecho, lo hicimos y el rendimiento de la aplicacin no se vea afectado, por lo que
seguimos adelante con la idea.
El ejemplo ms claro lo encontramos en la generacin dinmica del men principal
que utiliza un XML y una asignacin de actividades o clases ejecutables mediante reflexin, o
tener la informacin de los campus y sus edificios y obtenerlos mediante reflexin tambin,
donde utilizamos el tipo de datos String como identificadores que contienen informacin de
otros elementos que deben escoger para formar la estructura correcta. Esto lo hicimos para
conseguir que aadir un elemento de men no implique tocar ni una sola lnea de cdigo, solo
-
7/26/2019 Prototipo Apps Libro
61/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 61
editar un XML. Se explicar con ms detalle en los apartados de diseo y la implementacin de
estas funcionalidades.
Para la parte de servidor se ha seguido el libro de estilo para las aplicaciones de ESADE.
Para ello se han utilizado las libreras de autenticacin oficiales de ESADE. En las que
aprovechando la potencia de java (herencias, polimorfismos, etc...) se ha creado una
estructura de clases con las que el desarrollo de las aplicaciones se acelera significativamente.
Aprovechando la idea de este diseo y aprovechando estas mismas clases, se ha
montado la arquitectura de la aplicacin de servidor.
Esta es la fase en la que recae parte del peso de nuestro proyecto, puesto que las
decisiones que se han tomado aqu, son las que hacen que la aplicacin sea slida, mantenible
y extensible. Aunque no sea ptimo, las decisiones que bamos tomando y estudiando en esta
fase, nos modificaron parte de la especificacin y del funcional.
Parte de esto se debe al desconocimiento de la API, ya que a medida que bamos
investigando cmo se podra hacer una cosa u otra, nos iban apareciendo soluciones mejores
ya implementadas por la API o , simplemente, consideramos que era mejor hacer nuestro
diseo a partir de las funcionalidades que nos facilitaba dicha API.
Para empezar a estructurar nuestra aplicacin tuvimos que separarla en los que seran los
mdulos principales, que formaran la arquitecturade la aplicacin y sobre la que solamente
quedar la parte de aadir funcionalidades, sin tocar nada de lo ya implementado.
4.1.
Mdulos
Hay 5 mdulos importantes que componen la arquitectura bsica de la aplicacin. A
continuacin pasaremos a describir los mdulos uno por uno, cul es su funcin y el por qu
de las decisiones tomadas en su diseo e implementacin.
4.1.1. Mdulo Login y llamadas al servidor.En la siguiente figura se muestra por encima el flujo seguido a la hora de logarse en laaplicacin y lo que ocurre con el usuario.
-
7/26/2019 Prototipo Apps Libro
62/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 62
Descrito brevemente, el usuario introduce sus credenciales, el servidor le devuelve superfil y para la aplicacin eres un usuario con uno o ms perfiles asociados.
Pese a que previamente se dijo que no entraba en el alcance del proyecto, cremosnecesario incluirlo puesto que este mdulo era el que iba a diferenciar nuestra aplicacin de ladel resto de organizaciones educativas.
El hecho de incluirlo y valorar la posibilidad de que el usuario se logara en la aplicaciny pudiera ver una especie de intranet en versin reducida, fue lo que nos hizo motivarnos eneste proyecto, aunque nos diera ms de un problema, por varios motivos, que explicaremosms adelante.
El mdulo de login es el que ms problemas nos ha dado, debido al sistema deautenticacin que ya existe en ESADE. Este sistema ya lleva mucho tiempo implantado y noestaba pensado para ser utilizado en un dispositivo mvil. No por ello es peor. Al contrario, elgestiona las sesiones y las cookies de manera que solos usuarios de ESADE con sesin activa enla intranet puedan utilizar las aplicaciones.
-
7/26/2019 Prototipo Apps Libro
63/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 63
Para ello se necesita el navegador, porque es la nica forma desde la que se puedeacceder a la intranet.
Quisimos hacer transparente la gestin de la cookie por el navegador. Es decir,queramos logarnos y obtener los perfiles de forma transparente para el usuario, mostrndolesimplemente el formulario o el dilogo con los campos de usuario y contrasea. El dispositivointernamente se conectara a ESADE, intentara obtener los perfiles y en funcin de estosperfiles se le mostrara las funcionalidades a las que se le autorice.
Diagrama del mdulo
Descripcin del diagrama
La idea del diseo es bastante simple. Nuestra actividad principal, muestra un dialogo
donde saldr el formulario para logarse. Una vez tengamos usuario y contrasea llamamos a
LoginUtil, que es quien se encargar de hacer toda la gestin de los perfiles y persistirlos en la
sesin.
Una vez la actividad posee el control de la aplicacin otra vez, se llama al men principal,donde mostraremos las funcionalidades autorizadas por la aplicacin.
-
7/26/2019 Prototipo Apps Libro
64/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 64
No existe la opcin de logarse permanentemente puesto que las cookies en ESADE,
caducan, por lo que este proceso hay que repetirlo tantas veces como veces quieras entrar en
la aplicacin con tu perfil.
Problemas encontrados
Nos encontramos con el problema de que al no tener navegador, no tenamos uncliente que auto gestionara las cookies. Adems era necesario que la sesin del navegador sea
la misma que cuando te has logado, porque si no ocurre esto, te vuelve a pedir las credencialespara seguir trabajando.
Para nuestro proyecto era imposible abrir un navegador, puesto que al volver al meno a la aplicacin mvil, el navegador se cierra, y se tiene que abrir otra instancia, por lo queestaramos pidindole el login al usuario para cada transaccin que requiera de una peticin alos servidores de ESADE (los que requieran autorizacin y autenticacin).
Bsicamente, entrando en detalles un poco ms tcnicos, ESADE requiere de la sesindel navegador y de la cookie creada una vez te has logado en la intranet. Al no tenernavegador, cuando nos logbamos y hacamos una peticin sobre nuestra aplicacin deservidor, que comprueba que ests logado y tengas una sesin activa, no tenamos esa sesin
activa, porque la cookie de sesin no la tenamos.
Entonces empezamos a valorar soluciones, y la nica que encontramos sin modificar laexperiencia del usuario a la hora de utilizar la aplicacin mvil ( consideramos que es lo msimportante a la hora de utilizar un dispositivo mvil, el hecho de que te proporcione rapidez ycomodidad) , fue que cada vez que llamramos a una funcionalidad, nos logamos y,aprovechando el cliente de la llamada que hace el login, hacemos la llamada a la funcionalidadcorrespondiente, emulando as una sesin activa, y pasndole las dos cookies necesarias parapoder autenticarnos correctamente.
4.1.2. Mdulo creacin de funcionalidades
Este mdulo es el core de nuestraaplicacin. Gracias a ste mdulo podemos ampliarnuestra aplicacin de una manera rpida y eficaz.
Este es el mdulo ms importante de todos y el que justifica el coste temporal dedesarrollo y diseo de esta aplicacin. Es nuestro mdulo favorito, puesto que invirtiendo unascuantas jornadas pensando y mejorando el diseo, y otros tantos para la implementacin ytesteo, hemos conseguido que la adicin de funcionalidades en nuestra aplicacin sea directa ytrivial.
-
7/26/2019 Prototipo Apps Libro
65/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 65
La idea est en persistir la informacinnecesaria en el dispositivo mvil(para tenermxima disponibilidad y no depender de internet para mostrar las funcionalidades) paradefinir las funcionalidades de la aplicacin y la autorizacin a stas. Es la funcionalidad la quesabe quin puede acceder a ella.
La figura siguiente muestra el ejemplo para un usuario con perfil de Alumno, a modo
de ejemplo.
Descrito brevemente, el alumno se loga y obtiene su perfil. El Factory de
funcionalidades lee el origen de datos con la informacin de las funcionalidades y las va
generando todas, para luego mostrar al usuario solo las que l pueda ver.
Esto puede penalizar un coste espacio, puesto que estamos guardando ms de las que
l puede ver, pero como la generacin de men puede llegar a darse repetidas veces,
-
7/26/2019 Prototipo Apps Libro
66/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 66
aprovechamos esto para que la respuesta de la aplicacin sea ms rpida y mejorar la
experiencia del usuario.
-
7/26/2019 Prototipo Apps Libro
67/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 67
A partir de aqu solo tenemos que asignar para cada elemento pulsable del Men
Principal (apartado 4.1.3), la actividad que tiene que ejecutar. Al mantener el mismo orden,
solo tenemos que leer la actividad de la lista que est en la misma posicin que su aparicin enel men. Es decir, si pulsamos la funcionalidad que est en la tercera posicin del men (de
izquierda a derecha y de arriba a abajo), tendremos que ejecutar la funcionalidad que est en
la tercera posicin de la lista de actividades.
Si queremos cambiar el orden, no tenemos que preocuparnos para nada de este
mdulo, solo vamos al fichero que define las funcionalidades porque el orden de escritura de
estas, ya define implcitamente el orden de aparicin en el men principal.
Con esto adems conseguimos que funcione para todas las funcionalidades nuevas que
se quieran aadir en el mdulo de creacin de funcionalidades.
Por qu decidimos hacerlo as?
Hacerlo de esta manera nos permite una adicin de funcionalidades directa, sin
necesidad de tocar absolutamente nada ms que el fichero de funcionalidades y aadir la
nueva funcionalidad como fichero nuevo. Eso en coste de mantenimiento y evolutivos es ideal
y as se prefiri cuando se plante el proyecto, puesto que despus podra quererse aadir
funcionalidades sin necesidad de dominar necesariamente el funcionamiento de Android y su
API. Si quisiramos aadir una funcionalidad mostrada en un navegador, eso sera trivial y
podra hacerlo cualquiera, siguiendo el documento tcnico que se dej de manual en ESADE.
Tendramos una funcionalidad o varias, nuevas a un coste muy bajo.
Actividad Qu Es ESADE
Actividad Info
Actividad Eventos
Actividad Noticias
Actividad Programas
Al pulsar
-
7/26/2019 Prototipo Apps Libro
68/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 68
4.1.3. Mdulo Generacin Men Principal
Este mdulo es el que se encarga de generar el men principal (imagen superior,
extrada del funcional) a partir de las funcionalidades creadaspor el mdulo de creacin de
funcionalidades (ver apartado 4.1.2).
Como las funcionalidades a mostrar no son siempre las mismas, no podamos ni
asignarles una posicin en la lista del men fija. Se poda disear de tal manera que una vez se
aadiera una nueva funcionalidad y conocindolas todas se fueran agregando
programticamente una a una.
Esta decisin no es la correcta puesto que requiere tocar muchas partes de la
aplicacin y el coste de mantenimiento aumenta, as que lo hicimos de tal manera quehubiera una dependencia directa con el mdulo de la creacin de funcionalidades.
La solucin por la que optamos fue primero obtener las funcionalidades ya creadas, y a
partir de ah ir generando el men para cada una de las funcionalidades autorizadas para el
usuario.
Para ello necesitbamos que el objeto de modelo que define a la funcionalidad tuviera
3 atributos obligatorios, que son los siguientes: La imagen que le representa en el men, el
nombre de la funcionalidad que se mostrar en el men y la actividadque ejecuta esta
funcionalidad en el dispositivo.
Con esto conseguimos poder hacer un men creado dinmicamente
independientemente del orden en el que se creen las funcionalidades. De tal manera que si
queremos cambiar el orden de aparicin, solo tenemos que tocar el mdulo de creacin de
funcionalidades. Al crear las funcionalidades en un orden determinado, generamos una lista
con las actividades asociadas a estas funcionalidades en el mismo orden.
Adems, es dinmico en el sentido de que se muestran unas funcionalidades u otras en
funcin del rol de la persona logada, como se ha explicado anteriormente en la parte de
especificacin/diseo.
-
7/26/2019 Prototipo Apps Libro
69/109
Primeras aplicaciones Android para el acceso mvil a los servicios de ESADE (AMSE).Proyecto final de carrera
Alberto Santos Benito
pg. 69
Diagrama secuencia Generacin de Men
Descripcin
El diagrama de secuencia es sencillo puesto que el Adapter se encarga de hacer toda la
faena, e iterar con los elementos de la lista obtenidos por FactoryFuncionalidades e ir
asignandolas a cada posicion que le corresponde en el men principal.
Como vemos, la actividad instancia un MenuAdapter, ste llama a nuestro Singleton
FactoryFuncionalidadese iterativamente va asignandole el elemento correspondiente al
menprincipal.
Por qu decidimos hacerlo as?
Utilizando la paginawww.androidpatterns.com, aprendimos patrones de diseo de las
aplicaciones mviles (Android en concreto) , puntos fuertes y puntos dbiles de cada uno. En
concreto encontramos el patrn Dashboard, el cual, dada la cantidad de