You are on page 1of 17

8-1-2015

Cuaderno Azul
Carlos Cano Prez

Desarrollo de aplicaciones multiplataforma


CPIFP LOS ENLACES

Carlos Cano Prez


1

Cuaderno Azul

OBJETIVO GENERAL DE PROYECTO ................................................................................................................ 2


1.1
DESCRIPCIN DE PROYECTO.................................................................................................................................2
1.2
ACUERDO DE PROYECTO .....................................................................................................................................2
1.2.1 Requisitos funcionales..............................................................................................................................2
1.2.2 Requisitos no funcionales.........................................................................................................................3
1.2.3 Diagrama de Gantt ..................................................................................................................................3

DESCRIPCIN GENERAL ................................................................................................................................. 4


2.1
2.2

CASTELLANO ....................................................................................................................................................4
ENGLISH ..........................................................................................................................................................4

OBJETIVOS ESPECFICOS ................................................................................................................................ 6


3.1
DESCRIPCIN....................................................................................................................................................6
3.1.1 Identificacin y registro ...........................................................................................................................6
3.1.2 Nuevas tareas y valoraciones ..................................................................................................................6
3.1.3 Detalles de las tareas ...............................................................................................................................6
3.1.4 Navigation Drawer ...................................................................................................................................6
3.2
DIAGRAMA DE BASE DE DATOS .............................................................................................................................6
3.3
DIAGRAMA DE CLASES ........................................................................................................................................7
3.4
DIAGRAMA DE SECUENCIA ...................................................................................................................................8
3.5
DISEO DE INTERFAZ ..........................................................................................................................................9

CASOS DE USO ............................................................................................................................................. 10

RECURSOS MATERIALES Y PRESUPUESTO .................................................................................................... 11


5.1
5.2
5.3

MATERIAL .....................................................................................................................................................11
PERSONAL .....................................................................................................................................................11
OTROS ..........................................................................................................................................................11

PROCEDIMIENTO DE SEGUIMIENTO Y CONTROL ......................................................................................... 12


6.1
DOCUMENTOS DE PRUEBAS ...............................................................................................................................12
6.2
INSTALACIN ..................................................................................................................................................12
6.3
MANUAL DE USUARIO ......................................................................................................................................13
6.3.1 LogIn ......................................................................................................................................................13
6.3.2 Registro ..................................................................................................................................................13
6.3.3 Principal .................................................................................................................................................13
6.4
CUADERNO DE BITCORA ..................................................................................................................................13

PRXIMAS VERSIONES ................................................................................................................................ 15

BIBLIOGRAFA .............................................................................................................................................. 16

Carlos Cano Prez

Cuaderno Azul

CUADERNO AZUL
1 OBJETIVO GENERAL DE PROYECTO
1.1 DESCRIPCIN DE PROYECTO
En un principio no saba qu hacer, mis ideas rondaban en torno a un juego sencillo
desarrollado en Java (es lo que ms me gustaba o llamaba la atencin). Pero se me
presentaban complicaciones ya que debera utilizar conocimientos de todos los mdulos
impartidos en el grado. Adems de que un juego se complica ms que una aplicacin de
gestin normal, ya que utiliza bibliotecas que nunca he tocado, ni si quiera odo hablar.
Sabiendo que el proyecto est establecido alrededor de cuarenta horas, no era una buena
opcin.
Al final con ayuda de mi tutora consegu encontrar una idea. Una idea sencilla pero til y que
toca todos los temas aprendidos.
Me decid por esa idea porque, adems de no tener muchas ms ideas, el tiempo se me
echaba encima. Cuando empezaba el proyecto, ya llevaba unas semanas de retraso as que no
tena ms opciones que elegir algo y ponerme a ello.
Parece que fue un poco a la desesperada y que no me convenca mucho. Pero empec a
desarrollar la idea en mi cabeza, a moldearla, a ponerle detalles y a tener un objetivo fijo,
entonces fue cuando me gusto y se convirti en un verdadero reto.

1.2 ACUERDO DE PROYECTO


La idea principal es un cuaderno de seguimiento de prcticas en el bolsillo, en el telfono.
Lo que debera tener era claro, tres tipos de usuarios; para el estudiante, el tutor y el jefe de la
empresa. Adems de unos permisos de edicin para que el tutor o el jefe no puedan borrar las
tareas el estudiante aade, o que el estudiante no pueda puntuarse a s mismo sus
capacidades.
Adems, debera tener una seleccin de las fechas que quera ver. No es lo mismo ver lo que
haces en la primera semana de prcticas, que la ltima.
1.2.1 Requisitos funcionales
El usuario puede registrarse, introduciendo unos datos personales que se incluirn en una base
de datos. Posteriormente con estos datos, podrs identificarte y acceder a lo que sera la
aplicacin en cuestin.
Habr unas tareas, las cuales solo podrn ser aadidas o eliminadas por el estudiante. Pero si
podrn ser vistas por los tres tipos de usuarios.
Parecido pasa con las valoraciones, las cuales solo podrn ser editadas por el jefe, pero los
dems usuarios podrn verlas.

Carlos Cano Prez


1.2.2

Cuaderno Azul

Requisitos no funcionales

1.2.2.1 Rendimiento y estabilidad


No es una aplicacin muy compleja que tenga que cargar muchos paquetes por lo que es muy
fluida, incluso en dispositivos de gama baja/media. En las numerosas pruebas realizadas en
diferentes dispositivos y emuladores, no ha dado ningn fallo, error o bloqueo inesperado. La
aplicacin se comporta de forma correcta sin mayor problema.
1.2.2.2 Interfaz, accesibilidad y usabilidad
Posee una interfaz muy sencilla, usando botones ya tpicos en Android y navegacin mediante
el men lateral, que lo vemos en infinidad de aplicaciones. No hay un periodo de adaptacin
hasta que nos hacemos con la aplicacin ya que todo est a la vista, son caractersticas
sencillas, y no requieren de ningn conocimiento previo ni tiempo para indagar en ellas.
La aplicacin est pensada para llegar a la mayor cantidad de dispositivos. Es decir, no limitar
el uso de esta con unos requisitos muy especficos.
1.2.3 Diagrama de Gantt
El proceso de realizacin del proyecto se realiza en fechas de FTC por lo que el horario de
trabajo diario no es excesivo (2-3 horas al da).
El proyecto est previsto para finalizar al cabo de un mes (treinta das naturales), cuarenta y
tres horas. A continuacin vemos una distribucin del tiempo ms especfica.

Carlos Cano Prez

Cuaderno Azul

2 DESCRIPCIN GENERAL
2.1 CASTELLANO
La idea era sencilla, un cuaderno para el seguimiento de las FCT pero en nuestro bolsillo, en
nuestro Smartphone.
La aplicacin debera tener unas tareas, unas puntuaciones y tres tipos de usuarios. Todo esto
conectado a una base de datos para guardar la informacin y poder verla en cualquier
dispositivo sin mayor problema. Esta era la idea principal.
Mi primera idea fue crearla multiplataforma, es decir, tanto para Android como para iOS o
Windows Phone. Encontr un programa (Zend Studio) con el que se poda compilar para los
tres sistemas con un mismo cdigo. La programacin sera en lenguaje PHP. Pero no lo
descart por esto, sino su coste. El entorno de desarrollo no es gratuito as que me olvid de
ello rpidamente.
Adems el problema de hacer una aplicacin igual para los diferentes sistemas operativos es el
diseo o interfaz. Los diferentes SO cuentan con unos estndares que hay que intentar cumplir,
algo que sera imposible realizar con un mismo cdigo.
Despus de esto decid ir a lo conocido, Eclipse. Esto limitara la aplicacin solo a dispositivos
Android. Pero una vez acabada no sera mayor problema migrarla a otros sistemas.
Una vez limitado solo a Android, la idea era llegar a la mayor cantidad de dispositivos as que
elegimos un amplio rango de versiones desde la API15 hasta la actual API21. Intentando que el
diseo sea lo ms parecido a las actuales aplicaciones de la API21, pero sin limitar por ello
otros dispositivos con versiones algo ms antiguas.
Una vez elegido el entorno y con la idea clara, necesitaba los equipos. Un ordenador con el que
programar, y varios dispositivos Android, de diferentes tamaos y gamas para realizar pruebas.

2.2 ENGLISH
The idea was simple, a notebook for tracking the FCT but in our pocket, in our own
Smartphone.
Application should have a tasks, scores and three types of users. All this connected to a
database to save information and view it on any device without any problems. This was the
main idea.
I wanted to create platform for both Android and iOS or Windows Phone. I found a program
(Zend Studio) with which you could build for the three systems with the same code. The
programming would be in PHP. But I did not discard by this, but their cost. Development
environment is not free so I dismissed quickly.
Besides, the problem of making an equal application for different operating systems is the
design and interface. OS have different standards that we must try to fulfill, something that
would be impossible with the same code.

Carlos Cano Prez

Cuaderno Azul

After that I decided to go to a known program, Eclipse. This would limit the application only to
Android devices. Once finished biggest problem would not migrate to other systems.
Once limited to Android, the idea was to reach as many devices so we chose a wide range of
versions from API15 to the current API21. Trying to keep the design as similar to current
applications API21, but without limiting other devices with some older versions.
Having chosen the environment and with a clear idea, I needed equipment. A computer with
which to program, and several Android devices, different sizes and ranges for testing.

Carlos Cano Prez

Cuaderno Azul

3 OBJETIVOS ESPECFICOS
3.1 DESCRIPCIN
3.1.1 Identificacin y registro
Esta aplicacin al tener diferentes usuarios deber constar de un proceso de identificacin, por
lo que se desarrollar una pantalla en la que nos pida un nombre de usuario y contrasea.
Adems de, su pantalla de registro, para poder crear usuarios y acceder al contenido.
En la pantalla de registro se introducirn datos como el nombre de usuario, la empresa en la
que estamos realizando las FCT, una contrasea para completar el proceso de identificacin, y
una seleccin del rol donde se podr elegir entre estudiante, tutor, o jefe.
Estos datos sern almacenados en una base de datos SQLite, y en el proceso de identificacin
se realizar una consulta que compruebe los datos introducidos.
3.1.2 Nuevas tareas y valoraciones
En la pantalla principal de la aplicacin, donde vemos el listado de las tareas, hay dos botones
en la parte superior de la pantalla, en el ActionBar o barra de acciones.
Uno de ellos accede al apartado donde nos permitir crear nuevas tareas. Se introduce un
ttulo, una descripcin y una duracin. Estos datos se almacenan en la base de datos y al
volver a la pantalla anterior, el listado de las tareas se actualiza consultando los datos y
mostrndolos automticamente.
El otro botn nos permite ver las calificaciones que ha dado el jefe al alumno en los diferentes
campos. Estas sern editables (por el jefe) y son diferentes para cada quincena, igual que las
tareas.
3.1.3 Detalles de las tareas
Cuando vemos el ListView que contiene las tareas realizadas por el alumno, podemos tocar
una de ellas para obtener ms detalles de estas o incluso eliminarlas (solo el estudiante). En
dichos detalles, veremos la empresa a la que pertenece y una descripcin de la tarea. Adems
del ttulo y la duracin que ya vemos en el listado.
3.1.4 Navigation Drawer
Esto es un componente que utilizan numerosas aplicaciones Android. Se accede como un
men lateral y contiene un ListView fijo con las quincenas, los detalles del usuario y dos
botones, uno para cambiar de usuario y otro para obtener informacin adicional de la
ampliacin, su desarrollador, versin y otros detalles.

3.2 DIAGRAMA DE BASE DE DATOS


Para la base de datos he usado SQLite ya que gracias a su reducido tamao es muy adecuado
para sistemas mviles como lo es Android. A diferencia de otros sistemas de gestin de bases
de datos SQLite no es un proceso con el que el programa principal se comunique. La biblioteca
se enlaza con el programa pasando a ser parte integral del mismo.

Carlos Cano Prez

Cuaderno Azul

El esquema de la base de datos es sencillo. Hay tres entidades que son, usuario, tareas y
valoraciones:

Un usuario puede realizar ninguna o varias tareas pero una tarea es solo realizada por un
usuario, ya que cada tarea creada posee un cdigo especfico. A su vez, un usuario puede
puntuar cero o varias valoraciones, y estas pueden ser puntuadas por cero o varios usuarios.

3.3 DIAGRAMA DE CLASES


Aqu se muestran las clases disponibles en la aplicacin, con sus mtodos y variables
principales:

Carlos Cano Prez

Cuaderno Azul

3.4 DIAGRAMA DE SECUENCIA


Divido la aplicacin en tres puntos principales; la pantalla principal que se muestra al iniciar la
aplicacin, LogIn. La aplicacin general donde podemos ver, aadir y editar los datos. Y la base
de datos donde estn todos los datos alojados.

El logIn sera la primera interaccin con el usuario, la primera pantalla que se muestra, donde
podemos registrarnos o acceder a la aplicacin principal.
Desde a aplicacin principal nos comunicamos directamente con la base de datos, tanto para
aadir datos nuevos como para consultar los existentes y mostrarlos por pantalla.
Como se ve en el diagrama, se pueden aadir tareas o valoraciones nuevas y cambiar de
usuario en cualquier momento.

Carlos Cano Prez

Cuaderno Azul

3.5 DISEO DE INTERFAZ


El diseo del interfaz he intentado que sea lo ms cmodo he intuitivo posible, sin entrar en
complicaciones o mens raros o poco frecuentes en Android.
El aspecto general de la aplicacin es muy minimalista, buscando una claridad a la hora de ver
el contenido y facilidad de uso en el primer contacto.
Aun que he optado por algo sencillo, mi intencin ha sido crearla del modo ms vistoso y
amigable. Dando por ejemplo, color a la barra de accin, o aadiendo estilo a los botones.
Ah vemos un ejemplo de los botones de la pantalla registro. El botn cancelar es en estado
normal, y el aceptar est siendo pulsado (mantenido). El fondo es blanco para crear una falsa
sensacin de ausencia de botn y a su vez, seguir con la lnea del estilo minimalista.
Para crear estos botones he creado un estilo en un xml sencillo (custom_button.xml) en el que
indico el color que tiene en los diferentes estados.
Las barras de accin, son de diferente color en cada apartado. Y en la pantalla de identificacin
y registro no existe dicha barra, ya que no era de utilidad. Aqu muestro un ejemplo de la barra
de color verde que encontramos en la activity principal:
Tambin, en el men lateral de navegacin, he aadido una imagen de fondo a la posicin
cero, donde se ubican los datos del usuario. Para as, diferenciar esto del resto de elementos
del ListView, que son botones, y conseguir una interfaz ms agradable.

Carlos Cano Prez

Cuaderno Azul

4 CASOS DE USO
El primer caso que vemos es al entrar a la aplicacin, donde deberemos identificarnos con un
usuario existente o crear un registro nuevo:

Una vez registrados, podemos identificarnos con diferentes tipos de usuario, segn el cual
tendremos acceso a unas funcionalidades u otras.
El estudiante, podr ver las tareas y puntuaciones y adems agregar tareas nuevas a la base
de datos.

El jefe podr, adems de ver las tareas y puntuaciones, evaluar las tareas que el estudiante ha
realizado en una quincena.

El tutor de prcticas solo podr ver las puntuaciones y tareas. Sin poder editar los datos
correspondientes.

10

Carlos Cano Prez

Cuaderno Azul

5 RECURSOS MATERIALES Y PRESUPUESTO


El presupuesto es de aproximadamente 2130. Es un valor aproximado ya que como se
muestra en el siguiente detalle hay gastos que pueden variar segn las circunstancias. Este
presupuesto est elaborado para una duracin de 30 das naturales.

5.1 MATERIAL
Para realizar este proyecto es preciso contar con ciertas herramientas de trabajo, tanto para
desarrollo como para realizar pruebas del mismo. Se utilizan diferentes dispositivos para crear
un buen entorno de trabajo segn el tamao de la pantalla y la potencia del dispositivo.
Creando as, una aplicacin con un amplio abanico de dispositivos en los que se mostrara de
forma correcta, evitando futuros errores.

Ordenador genrico con Windows: 400


Mvil Android gama media: 150
Tablet Android 10: 250

5.2 PERSONAL
Contaremos con personal cualificado y especfico para cada apartado del proyecto.
Consiguiendo un entorno de trabajo fiable y efectivo.

Analista programador (19 horas): 570 - 30/h


Analista de sistemas (4 horas): 120 - 30/h
Programador (19 horas): 380 - 20/h

5.3 OTROS
En este apartado voy a aadir gastos especficos y variables que dependern de varios
factores, por lo que son nmeros aproximados.

Oficina: 500/mes
Desplazamientos (para hablar con el cliente u otros viajes necesarios): 60/mes
Luz, agua y gastos de oficina en general: 80/mes

11

Carlos Cano Prez

Cuaderno Azul

6 PROCEDIMIENTO DE SEGUIMIENTO Y CONTROL


6.1 DOCUMENTOS DE PRUEBAS
Las primeras pruebas hasta conseguir una aplicacin funcional han sido en el propio emulador
de Eclipse. Una vez conseguida la app, para hacer mejor las pruebas y solucionar detalles he
utilizado un Smartphone.
Le metodologa usada ha sido prueba-error. Es decir, cambiar algo de cdigo y probar si
funciona correctamente, y si no funciona seguir probando mtodos diferentes.
Para colocar en una posicin correcta los botones tuve ciertos problemas y tuve que hacer
muchas pruebas. Yo quera los botones en la parte inferior de la pantalla, fijos. En un principio
los botones se colocaban debajo de los dems objetos, dejando hueco en blanco por debajo de
ellos, esto lo solucion utilizando dos tipos de Layout en un mismo xml.
Tambin tuve ciertos problemas para colocar dos botones en horizontal. Pero buscando por
internet, encontr una solucin que me gusto, utilizando un TableLayout.
Sin duda mi mayor problema fue con la base de datos. Intent crear un acceso desde el mvil a
una base de datos alojada en mi PC, pero todos los intentos fueron en vano. Pregunt a varias
personas y nadie supo contestarme por qu no conectaba. Con el tiempo corriendo, no tuve
ms remedio que utilizar una base de datos interna en el telfono.
Prob diferentes versiones de la biblioteca jdbc, XAMPP y de mySQL. Desactivando firewall y
antivirus, pero segua sin funcionar. La conexin desde el mismo PC s que se realizaba
correctamente, pero hacerlo de forma remota con el Smartphone, no.
En las pruebas finales, le dej la aplicacin a un usuario medio de Android, es decir, lo usa a
diario, pero no sabe cmo funciona ni como se programa. Me devolvi un fallo. En el registro, al
introducir un nombre, algunos teclados con texto predictivo introducen el nombre y seguido un
espacio en blanco. Esto daba problemas ya que despus, al intentar identificarse, nadie se
acuerda del espacio. Lo que hice para solucionarlo fue, antes de aadir los datos a la base de
datos, quitar todos los espacios.

6.2 INSTALACIN
El primer paso para conseguir la aplicacin es permitir que en nuestro dispositivo se puedan
instalar aplicaciones que no proceden del PlayStore. Para ello nos vamos a ajustes del
dispositivo y accedemos a seguridad, aqu habr una opcin llamada Orgenes desconocidos
que por defecto est desactivada, la activamos y nuestro dispositivo ya est preparado para
instalar la aplicacin. La ubicacin de esta opcin puede variar segn la versin de Android.
La aplicacin est alojada en Dropbox, por lo que podremos descargarla a travs de un enlace.
Accederemos a l desde el navegador del Smartphone, descargamos el archivo APK y lo
abrimos. Para abrirlo hay buscar el archivo en descargas.
Al abrirlo, pulsamos instalar y esperamos.
En un futuro, la aplicacin podra subirse al Play Store para hacer ms sencilla su instalacin.

12

Carlos Cano Prez

Cuaderno Azul

6.3 MANUAL DE USUARIO


Esto es una gua paso a paso de toda la aplicacin, para saber cmo funciona todo su
contenido.
6.3.1 LogIn
Esta pantalla se muestra la primera. En ella podemos introducir nuestro usuario y contrasea y
entrar a la pantalla principal. Si no poseemos un usuario podemos crearlo pulsando en
registro.
6.3.2 Registro
A esta pantalla acedemos desde el LogIn si no tenemos un usuario. Aqu lo creamos indicando
ciertos datos personales. Uno de ellos es el rol que poseemos que tendr que ser uno de los
indicados; estudiante, tutor de prcticas o jefe. Cada uno de estos usuarios tendr unos
permisos y podr realizar unas acciones u otras.

Estudiante; podr incluir tareas nuevas y ver las valoraciones de dichas tareas.
Jefe; este podr ver las tareas del estudiante y valorar ciertos aspectos de las mismas.
Tutor de prcticas; simplemente observa. Puede ver las tareas y las valoraciones pero
no puede editar ninguna.

6.3.3 Principal
Aqu entramos en la aplicacin en s. Esto se divide en dos apartados, el men lateral
(NavigationDrawer) y la pantalla principal que vemos.
En el men lateral vemos informacin del usuario y las quincenas que queremos seleccionar.
Adems de un botn de Acerca de que contiene informacin adicional de la aplicacin y otro
para cambiar de usuario y volver a la pantalla de LogIn.
En la pantalla principal vemos un listado de las tareas realizadas por el estudiante en la
quincena seleccionada, podemos entrar en cada una de ellas para ver ms detalles y una
descripcin ms amplia. Adems, en la parte superior vemos dos botones, uno para aadir una
nueva tarea y otro para ir a las valoraciones de esta quincena.

6.4 CUADERNO DE BITCORA


Das 1 a 3: Marcar objetivos de la aplicacin. Esquematizar las funcionalidades bsicas y un
estilo que seguir.
Da 4: Elegir software y hardware ms ptimo con el que desarrollar la aplicacin.
Das 5 a 8: Instalar programas necesarios y preparar los equipos para empezar a realizar la
aplicacin.
Das 9 a 11: Llevar las ideas a papel sobre la interfaz y usabilidad en general para hacer ms
sencillo su paso a cdigo.
Das 12 a 14: Programar aplicacin visual, sin funcionalidad. Hacer el diagrama de la base de
datos para su posterior desarrollo.
Das 14 a 16: Terminar la programacin visual, todava sin funcionalidad.
Da 17: Crear la base de datos.
13

Carlos Cano Prez

Cuaderno Azul

Das 18 a 23: Darle funcionalidad a la aplicacin. Permitir accesos a la base de datos, agregar
borrar y consultar datos.
Da 24: Pruebas finales en busca de fallos y errores.
Das 25 a 30: Correccin de errores.
Das 30 a 32: Mejoras visuales y de rendimiento para finalizar la aplicacin.

14

Carlos Cano Prez

Cuaderno Azul

7 PRXIMAS VERSIONES
Esta aplicacin se podra decir que es una versin beta. El primer cambio, para notar su utilidad
en un entorno de trabajo real, sera alojar la base de datos en un servidor y poder acceder a
ella desde cualquier sitio y desde diferentes dispositivos.
Otro cambio que me no he hecho por falta de tiempo ha sido crear un nuevo activity con
informacin completa del usuario, al que se accedera pulsado en el apartado del
navigationDrawer donde aparece el nombre y la empresa del usuario.
Tampoco estara de ms adaptar toda la aplicacin al nuevo diseo que recomienda Android
con su Material Design. Ya que esta aplicacin, aunque s que tiene rasgos que nos recuerdan
a dicho diseo, no termina de adaptarse por completo.
Otro aspecto a tener en cuenta sera una firma o algo similar del tutor de prcticas que
verifique que ha visto las tareas y puntuaciones realizadas hasta el momento. Actualmente,
aunque lo haya visualizado, no existe manera de plasmar eso y que el estudiante y el jefe se
enteren con solo mirar la aplicacin.

15

Carlos Cano Prez

Cuaderno Azul

8 BIBLIOGRAFA
Tutoriales de Android: http://www.javaya.com.ar/androidya/
Informacin oficial de Android: http://developer.android.com/
Preguntas y respuestas sobre programacin: http://stackoverflow.com/

16