Sie sind auf Seite 1von 104

Universidad Politcnica de Valencia

Escuela Tcnica Superior de Ingeniera Informtica


Ingeniera en Informtica
Proyecto Fin de Carrera
Sistema mvil personal de ayuda para el
mantenimiento de vehculos y equipos del
Consorcio Provincial de Bomberos de
Valencia.
Consorcio Provincial de Bomberos de Valencia
Autor: Javier Garca San Juan.
Codirector ETSI!: Juan Snc"e# $a#
Codirector C%&': (anuel $. Serrat )lmos
Enero 2012
Universidad Politcnica de Valencia
Ingeniera Informtica
2
Universidad Politcnica de Valencia
Ingeniera Informtica
Agradecimientos
La realizacin del proyecto final de carrera conlleva el trmino de na etapa en
la !e merece la pena ec"ar la vista atrs y recordar todo lo pasado# tanto por el frto
de meses de desarrollo como por la conclsin de na licenciatra a travs de a$os de
dro tra%a&o' Por esto# !iero agradecer con estas pala%ras a todos a!ellos !e me
"an aydado en este camino'
(n primer lgar# reconocer a mis padres el gran esferzo realizado en
aydarme de forma moral y econmica para mi formacin como ser "mano y como
profesional' )racias por dedicar gran parte de vestra vida en giarme en el camino'
* +avid# mi "ermano pe!e$o# !e siempre me "a aydado con s %en "mor en
las sitaciones difciles y en general a toda mi familia# !e siempre "an estado a"
cando la "e necesitado'
,am%in gracias a mi ttores -an y .anel por s orientacin y ss conse&os
drante todo el proyecto' / disponi%ilidad y el %en trato tenido siempre conmigo
"an sido de gran valor para m'
)ratificar a todos los compa$eros !e "e podido crzarme en mi carrera y !e
"an sa%ido ense$arme valores como la amistad# compa$erismo# tra%a&o en grpo y
solidaridad'
.c"as gracias a todos mis amigos por todos a!ellos %enos momentos
vividos y los !e nos !edan por vivir'
0 por spesto a Virginia# mi novia# por "a%er estado a" todos estos a$os#
tanto en los %enos como en los malos momentos# apoyndome en cada momento de
mi vida'
1
Universidad Politcnica de Valencia
Ingeniera Informtica
2
Universidad Politcnica de Valencia
Ingeniera Informtica
*esumen
(l o%&etivo principal del proyecto es constrir n sistema informtico !e
permita al personal del Consorcio Provincial de 3om%eros de Valencia disponer de la
informacin y de las gas operativas necesarias para poder realizar el mantenimiento
de los ve"clos y e!ipos de cada par!e de 3om%eros'
(l sistema !e se desarrollar# formado por varias aplicaciones# de%e poder ser
e&ectado en s parte clientes so%re el sistema operativo *ndroid en n ta%let o en n
telfono inteligente' Los clientes accedern tilizando servicios 4e%'
Para ello# no slo "a%r !e constrir las aplicaciones necesarias sino !e ser
necesario definir toda la plataforma "ard5are de soporte a estas aplicaciones# de
manera !e el Consorcio peda planificar adecadamente ss inversiones alineando
este proyecto con otros proyectos tecnolgicos previstos' *simismo# tam%in se
definir la infraestrctra soft5are so%re la !e se e&ectarn los servicios 5e% a los
!e las aplicaciones mviles accedern para la materializacin de ss fncionalidades
y las posi%les necesidades de interopera%ilidad de esta aplicacin con otras e6istentes'
Concretamente la parte cliente del sistema de%e ser capaz de realizar los
sigientes escenarios en el sistema7
)estin de e!ipos y ve"clos'
Filtrado de conslta de ve"clos y e!ipos para cada par!e'
Listado de revisiones de mantenimiento de cada e!ipo y ve"clo'
Conslta del "istorial de revisiones de cada activo'
Conslta de las gas operativas para el mantenimiento'
Por 8ltimo la parte servidora del sistema 9:(/,; de%en programarse los
sigientes escenarios7
Conslta a la %ase de datos e6istentes de personal# e!ipos y ve"clos'
*torizados para la realizacin de n mantenimiento'
:evisiones realizadas'
%ala+ras Clave
*ndroid# servicio 5e%# :est# aplicacin mvil# sistema mantenimiento
<
Universidad Politcnica de Valencia
Ingeniera Informtica
=
Universidad Politcnica de Valencia
Ingeniera Informtica
,ndice General
>' Introdccin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>2
>'> .otivacin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''><
>'2 Propsito''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>=
>'1 (strctra del proyecto''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>?
2' Fase de inicio'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>@
2'> (l proyecto'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>@
2'>'> Visin y anlisis del negocio'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>@
2'>'2 .odelado de casos de so'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2>
2'>'1 (specificaciones de re!isitos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
2'>'2 (specificaciones tcnicas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''21
2'>'2'> *tenticacin I.*P'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
2'>'2'2 3ase de datos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
2'>'2'2'> Postgre/AL''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
2'>'2'2'2 .y/AL'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
2'>'2'1 /ervicios 5e% :(/,''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
2'>'2'2 *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2=
2'>'2'< :iesgos asociados''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2?
1' Fase de ela%oracin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2@
1'> Casos de so''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2@
1'2 +iagramas de clase''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''1@
1'1 +iagramas de secencia''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2B
2' Fase de constrccin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<2
2'> *r!itectra de la aplicacin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<1
2'2 Proceso de desarrollo''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<2
2'1 +ise$o del sistema'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<=
2'1'> +iagrama de componentes''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<=
2'1'2 +iagrama de despliege''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<?
2'2 Programacin de la aplicacin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<C
2'2'> Primera iteracin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<C
?
Universidad Politcnica de Valencia
Ingeniera Informtica
2'2'>'> /ervicio 5e% :(/,'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<@
2'2'>'>'> Introdccin a :(/,''''''''''''''''''''''''''''''''''''''''''''''''''''''<@
2'2'>'>'2 .todos D,,P'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<@
2'2'>'>'1 :est y -ersey en -ava''''''''''''''''''''''''''''''''''''''''''''''''''''''=B
2'2'>'>'2 Instalacin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=>
2'2'>'>'< Creacin del servicio 5e% :est''''''''''''''''''''''''''''''''''''''=2
2'2'>'>'= *r!itectra servicio 5e% :(/,fl'''''''''''''''''''''''''''''''=2
2'2'>'>'? Implementando el C:U+ de :estfl'''''''''''''''''''''''''''''=2
2'2'>'2 Programacin con *ndroid'''''''''''''''''''''''''''''''''''''''''''''''''''''''''==
2'2'>'2'> Introdccin a *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''==
2'2'>'2'2 (ntorno de desarrollo *ndroid'''''''''''''''''''''''''''''''''''''''=@
2'2'>'2'1 (strctra de n proyecto *ndroid''''''''''''''''''''''''''''''''?>
2'2'>'2'2 Componentes de na aplicacin *ndroid''''''''''''''''''''''?1
2'2'>'1 Cone6in cliente *ndroid E servicio 4e%''''''''''''''''''''''''''''''''''?2
2'2'>'2 Cone6in servicio 5e% E 3ase de datos''''''''''''''''''''''''''''''''''''''?2
2'2'>'< Interfaz grfica *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?<
2'2'>'<'> Listado conslta'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?C
2'2'2 /egnda iteracin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?@
2'2'2'> Clases de la aplicacin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?@
2'2'2'2 )estin de activos y tareas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?@
2'2'2'1 *tenticacin I.*P'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C>
2'2'2'2 *lmacenamiento en *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''''''C>
2'2'1 ,ercera iteracin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C1
2'2'1'> /eleccin de par!e'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C1
2'2'1'>'> (stado de cone6in''''''''''''''''''''''''''''''''''''''''''''''''''''''''C1
2'2'1'>'2 +ilogos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C2
2'2'1'2 Filtrado por par!e''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C<
2'2'1'1 Frdenacin por fec"a''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C<
2'2'1'2 Cierre de tarea'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C=
2'2'1'< Distorial de revisiones'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C=
C
Universidad Politcnica de Valencia
Ingeniera Informtica
<' Fase de Cierre''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC
<'> .anal de instalacin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC
<'>'> Instalacin de aplicaciones'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C@
<'2 .anal de sario'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@B
<'2'> /eleccin de la aplicacin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@B
<'2'2 *tenticacin de la aplicacin'''''''''''''''''''''''''''''''''''''''''''''''''''''''@>
<'2'1 Pantalla principal'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@1
<'2'2 )estin de activos''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@1
<'2'< )estin de ordenes de tra%a&o''''''''''''''''''''''''''''''''''''''''''''''''''''''''@<
<'2'= Distorial de revisiones''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@=
<'2'? .ensa&es de la aplicacin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@?
=' *mpliaciones'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>BB
?' Conclsin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>B2
C' 3i%liografa''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>B2
@
Universidad Politcnica de Valencia
Ingeniera Informtica
>B
Universidad Politcnica de Valencia
Ingeniera Informtica
,ndice !iguras
Figra >7 +iagrama de casos de so''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2>
Figra 27 (specificaciones tcnicas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''21
Figra 17 +iagrama de )rantt''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''2?
Figra 27 +iagrama de clases'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''1@
Figra <7 +iagrama de secencia7 Iniciar sesin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''2B
Figra =7 +iagrama de secencia7 /eleccionar par!e''''''''''''''''''''''''''''''''''''''''''''''''2>
Figra ?7 +iagrama de secencia7 Consltar activo''''''''''''''''''''''''''''''''''''''''''''''''''''2>
Figra C7 +iagrama de secencia7 (ditar activo''''''''''''''''''''''''''''''''''''''''''''''''''''''''''22
Figra @7 +iagrama de secencia7 3orrar activo'''''''''''''''''''''''''''''''''''''''''''''''''''''''''21
Figra >B7 +iagrama de secencia7 *$adir activo'''''''''''''''''''''''''''''''''''''''''''''''''''''''22
Figra >>7 +iagrama de secencia7 /eleccionar tipo activo''''''''''''''''''''''''''''''''''''''''2<
Figra >27 +iagrama de secencia7 Consltar orden de tra%a&o''''''''''''''''''''''''''''''''''2<
Figra >17 +iagrama de secencia7 (ditar orden de tra%a&o''''''''''''''''''''''''''''''''''''''''2=
Figra >27 +iagrama de secencia7 Cerrar orden de tra%a&o'''''''''''''''''''''''''''''''''''''''2?
Figra ><7 +iagrama de secencia7*$adir orden de tra%a&o'''''''''''''''''''''''''''''''''''''''2C
Figra >=7 +iagrama de secencia7 /eleccionar contacto'''''''''''''''''''''''''''''''''''''''''''2@
Figra >?7 +iagrama de secencia7 /eleccionar sario'''''''''''''''''''''''''''''''''''''''''''''2@
Figra >C7 +iagrama de secencia7 /eleccionar activo'''''''''''''''''''''''''''''''''''''''''''''''<B
Figra >@7 +iagrama de secencia7 Consltar "istorial'''''''''''''''''''''''''''''''''''''''''''''''<B
Figra 2B7 +iagrama de componentes'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<=
Figra 2>7 +iagramas de despliege'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''<?
Figra 227 Pantalla instalacin servicio 5e%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=2
Figra 217 +iagrama de clase GsingletonH'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=1
Figra 227 Conslta )(, con :est Client de Firefo6'''''''''''''''''''''''''''''''''''''''''''''''''=<
Figra 2<7 *r!itectra *ndroid'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=?
Figra 2=7 *ndroid /+I .anager''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''=@
Figra 2?7 (mlador dispositivo'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?B
Figra 2C7 (strctra proyecto *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?>
Figra 2@7 Ciclo de vida *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?1
>>
Universidad Politcnica de Valencia
Ingeniera Informtica
Figra 1B7 Listado de conslta de activos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''?C
Figra 1>7 AicJ*ctions en *ndroid''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CB
Figra 127 Configracin de aplicaciones'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C@
Figra 117 *ctivar orgenes desconocidos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C@
Figra 127 /eleccin de la aplicacin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@B
Figra 1<7 *tenticacin en la aplicacin'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@>
Figra 1=7 +ialogo de descarga de datos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@2
Figra 1?7 /eleccin de par!e'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@2
Figra 1C7 Pantalla principal''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@1
Figra 1@7 Listado de activos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@2
Figra 2B7 *$adir activos''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@2
Figra 2>7 (dicin activos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@2
Figra 227 3orrar activos'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@2
Figra 217 Listado de tareas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@<
Figra 227 *$adir tareas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@<
Figra 2<7 (dicin de tareas''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@<
Figra 2=7 Cerrar tareas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@<
Figra 2?7 Distorial de tareas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@=
Figra 2C7 Visalizar "istorial'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@=
Figra 2@7 Fi&ar fec"a''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@?
Figra <B7 Informacin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@?
Figra <>7 Fi&ar "ora''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@?
Figra <27 /eleccin''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@?
Figra <17 AicJ*ctions'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@C
Figra <27 (rror cone6in''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@C
Figra <<7 )as operativas'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@C
>2
Universidad Politcnica de Valencia
Ingeniera Informtica
>1
Universidad Politcnica de Valencia
Ingeniera Informtica
- Introducci.n
(l sigiente docmento tiene como o%&etivo detallar el proyecto final realizado
para el termino de la Ingeniera Informtica# !e consiste en el desarrollo de na
sistema mvil para dispositivos *ndroid para el mantenimiento de ve"clos y
sistemas en el Consorcio Provincial de 3om%eros de Valencia'
(l sistema de mantenimiento consiste en na aplicacin para na ta%let o mvil
inteligente dotado con el sistema operativo *ndroid y !e tendr como misin
realizar el mantenimiento en los par!es de 3om%eros# esta aplicacin se comnicar
a travs de servicios 5e% :(/, 9:epresentational /tate ,ransfer; y descargar
a!ellas tareas !e se de%an realizar en el par!e seleccionado' (sto spondr
diversas me&oras tanto en segridad como en atomatizacin de procesos para el
Consorcio# as como para todas a!ellas personas !e re!ieran de ss servicios'
(n primer lgar# el personal operativo tendr n proceso informatizado !e
gestionar y giar en el proceso de mantenimiento facilitando la realizacin de las
tareas'
(n segndo lgar# el personal operativo pede planificar la realizacin de las
tareas mediante na programacin de esta o con el vencimiento en na fec"a
concreta'
0 finalmente# cal!ier sario del Consorcio Provincial pede consltar tanto
las ordenes de tra%a&o pendientes# como n "istorial de las revisiones realizadas para
n activo en concreto en s par!e# gracias a !e estos estarn conectados a travs de
na red empresarial y podrn comnicarse mediante los servicios 5e%'
(n lo referente al desarrollo de la memoria y del proyecto se tilizar
tecnologa orientada a o%&etos# las fases de anlisis y dise$o se llevarn a ca%o
empleando na adaptacin de :UP 9Rational Unified Process; y con la notacin del
lenga&e nificado de modelado para el modelo de re!isitos# diagrama de clases y
escenarios'
>2
Universidad Politcnica de Valencia
Ingeniera Informtica
-.- (otivaci.n
(n primer lgar remarcar !e este proyecto "a sido realizado en cola%oracin
con el Consorcio Provincial de 3om%eros de Valencia y "a servido para acercarme al
mndo la%oral aportando mi conocimiento en estos a$os niversitarios# adems de
aydar con la gestin del mantenimiento de na GempresaH donde la segridad en
todos los casos es crcial y pede marcar la diferencia en cada salida de emergencia
!e se peda prodcir'
Por otro lado# este proyecto aporta la sistematizacin e informatizacin de la
gestin de n mantenimiento !e anteriormente se "aca sin ning8n tipo de
programacin y de forma independiente en cada par!e de 3om%eros'
*l mismo tiempo# este sistema de ayda facilitar el tra%a&o de mantenimiento#
de%ido a !e el personal operativo podr realizar la gestin de n ve"clo o n
e!ipo desde el lgar donde se encentre este# gracias a !e esta aplicacin a sido
desarrollada para n dispositivo mvil# ya sea ta%let o mvil inteligente'
(n el *ndroid .arJet se pede o%servar !e "ay gran cantidad de aplicaciones
para el mantenimiento de ve"clos# so%retodo de coc"es# pero la aplicacin
desarrollada no solo va mas all# manteniendo cal!ier tipo de activo del Consorcio
Provincial de 3om%eros# sino !e se le da na velta de terca pdiendo programarse
la gestin de dic"o mantenimiento tanto para na fec"a concreta como para na tarea
determinada# por e&emplo# 9cam%iar el aceite cada <BBB Jm del 3UP de n par!e de
%om%eros;'
+e esta manera se "a desarrollado na aplicacin especifica para la gestin de
mantenimiento de ve"clos y e!ipos para el Consorcio Provincial de 3om%eros de
Valencia# pero !e con nos pe!e$os cam%ios podra servir para aydar en el
mantenimiento de cal!ier empresa'
><
Universidad Politcnica de Valencia
Ingeniera Informtica
-./ %rop.sito
(l principal o%&etivo del proyecto es proporcionar n nevo sistema de acceso
al personal operativo del Consorcio Provincial de 3om%eros de Valencia para !e
pedan realizar el mantenimiento de forma mas sencilla y pdiendo o%tener los pasos
o gas operativas para poder desenvolverse en dic"as tareas con la 8nica ayda de
na ta%let o telfono inteligente'
(sta aplicacin logra !e cal!ier miem%ro del personal operativo peda
interactar con los datos del ve"clo o e!ipo y s orden de mantenimiento de na
forma rpida# sencilla desde el lgar donde se encentra dic"o activo' +e esta manera
podemos decir !e "ay tres o%&etivos %ien diferenciados7
*cceso eficiente7 Presentar los datos de forma ordenada y optimizada#
adems de ser lo mas interactivo posi%le para facilitar la creacin y edicin
del mantenimiento de los activos'
Interaccin mvil7 Posi%ilidad de realizar el mantenimiento desde el lgar
donde se encentra el ve"clo o el e!ipo# facilitando as s gestin'
Feed3acJ7 Cando "aya finalizado la gestin del mantenimiento y s orden
de tra%a&o se cierre# se podr volver a consltar mediante n "istrico de
revisiones# donde se visaliza todas las operaciones de mantenimiento !e
se "an realizado para el activo seleccionado'
La finalidad personal es el poder aportar mi granito de arena en el lgar de
tra%a&o donde "e realizado las prcticas para complementar mis a$os niversitarios y
poder aydar tecnolgicamente al personal !e se encarge del mantenimiento de
cada par!e'
*dems# el poder continar mis estdios en *ndroid y profndizar en la
tecnologa mvil# dado !e *ndroid es n sistema operativo donde comenc a
estdiar en na asignatra de !into G*+.H# y !e me go para la realizacin del
proyecto final'
>=
Universidad Politcnica de Valencia
Ingeniera Informtica
-.0 Estructura del pro1ecto
La memoria esta organizada principalmente en la forma en la !e se "a
realizado el proyecto# es decir sigiendo n proceso 9:UP; el cal permite !e sea n
proceso de desarrollo fndamentalmente iterativo# adems de gestionar na
administracin de re!isitos necesarios para la realizacin de este'
(l proceso :UP esta centrado en la ar!itectra y giado por los casos de so'
Inclye artefactos 9prodctos tangi%les del proceso;# !e iremos presentando en la
memoria seg8n el proceso en el !e nos encontremos en cada momento'
+ic"o esto# podemos dividir la memoria en 2 captlos diferenciados por este
proceso7
Fase de inicio7 (n este capitlo se define y acota el alcance del proyecto con
el Consorcio Provincial de 3om%eros de Valencia# adems se identifica los
riesgos asociados al proyecto y se propone na visin my general de la
ar!itectra soft5are# es decir# del sistema operativo *ndroid# de la
implementacin del servicio 5e% :(/, y la gestin de la %ase de datos
.y/AL y Post)ress'
Fase de ela%oracin7 (n este capitlo se orienta al desarrollo de la
ar!itectra# a%arcando mas los fl&os de tra%a&os de re!isitos# anlisis y
dise$o'
Fase de constrccin7 (n este capitlo se descri%e la constrccin de la
aplicacin y del servicio 5e%' /e seleccionan los casos de so# se refina s
dise$o y anlisis y se procede a s implementacin y pre%as'
Fase de transicin7 (n este capitlo se asegra !e el soft5are este
disponi%le para los sarios finales# se aca%an de a&star errores
encontrados en las pre%as de aceptacin y se provee del soporte tcnico
necesario para el so de la aplicacin'
>?
Universidad Politcnica de Valencia
Ingeniera Informtica
>C
Universidad Politcnica de Valencia
Ingeniera Informtica
/ !ase de Inicio
(n este capitlo se esta%lece el m%ito del proyecto y ss lmites# adems de
poner en manifiesto los casos de so del sistema# y la mestra general de la
ar!itectra tilizada para s implementacin'
,am%in se indica nas pe!e$as estimaciones de costes y tiempos del
proyecto !e intentaremos segir drante toda la implementacin# y por 8ltimo se
estimaran los posi%les riesgos !e se peden dar en el proyecto'
Los prodctos o GartefactosH !e incliremos en esta fase de inicio del proceso
de desarrollo :UP ser el modelo de casos de so# adems de la visin del negocio# la
cal descri%e los o%&etivos y restricciones a alto nivel'
/.- El pro1ecto
(n este apartado y los sigientes s%apartados se descri%en cestiones
generales acerca del proyecto en crso' (n primer lgar# se detalla el conte6to del
mismo# desps se definen los re!isitos y por 8ltimo se marcan las decisiones
tomadas en %ase a las necesidades'
/.-.- 'isi.n 1 Anlisis del egocio
(l cliente es el Consorcio Provincial de 3om%eros de Valencia# es n
organismo p8%lico cya misin es la prevencin y e6tincin de incendios as como
las tareas de salvamento en la provincia de Valencia' (l Consorcio se "a consolidado
como no de los servicios ms importantes de (spa$a# con na co%ertra territorial
de >B'=?>#2C Jilmetros cadrados# <'C>@ Jilmetros cadrados de masa forestal#
ms de 1'BBB Jilmetros de carreteras# >'?BB'C2@ ve"clos y cerca de >C2'2C1
empresas conta%ilizadas en la provincia de Valencia'
>@
Universidad Politcnica de Valencia
Ingeniera Informtica
Los 2=< pe%los y cidades de la provincia sman# sin contar la capital# na
po%lacin de >'?=>'><2 "a%itantes 9IK( mayo 2B>B;# !e prcticamente se dplican
al llegar la poca estival'
*ctalmente# y con todos estos datos entre manos# pedo decir !e la
segridad y la prevencin de accidentes es clave en n organismo como es el
Consorcio# por lo !e el mantenimiento de todos los ve"clos y e!ipos !e se
tilizan para los servicios es vital'
Por otro lado# el Consorcio no dispone de n sistema de mantenimiento
informatizado y atomtico para la realizacin de las tareas de mantenimiento de
ve"clos y e!ipos de cada par!e' (n este caso cada par!e# realiza dic"as tareas
gestionadas por ellos mismo# sin ning8n recordatorio !e les avise y sin ning8n
gestin de incidentes en el mantenimiento a travs de la central'
Por todo esto# y gracias a la ftra ad!isicin de "ard5are !e facilitar la
gestin del mantenimiento mediante dispositivos mviles y !e podrn aydar al
personal operativo a realizar las tareas desde donde se localice el activo en cestin#
se decidi como finalizacin de las practicas de empresa# la realizacin del proyecto
final !e sprimir dic"a carencia'
(l o%&etivo del proyecto es consegir !e a%ar!e la gestin de los activos y las
tareas de mantenimiento a realizar por los par!es de 3om%eros en na aplicacin
*ndroid por el personal operativo del Consorcio# apoyada por n servicio 5e% :(/,#
para la ad!isicin de los datos almacenados en las %ases de datos de la organizacin'
(l servicio 5e% :(/, tam%in de%e ser dise$ado desde cero# y !e se %asar
en la escritra y lectra de las %ases de datos necesarias para la implementacin de
este servicio de mantenimiento'
Finalmente# esta aplicacin tam%in dispondr de n "istorial de todas las
revisiones realizadas a travs del tiempo# dado !e se considero importante !e se
conozca todo el mantenimiento !e "aya podido reci%ir n activo drante s vida 8til
tanto para ss ftras revisiones como para la gestin de nevas ordenes de tra%a&o
so%re ese activo'
/.-./ (odelado de casos de uso
2B
Universidad Politcnica de Valencia
Ingeniera Informtica
(n este diagrama se define na notacin grfica para representar los casos de
so# es decir# el comportamiento del sistema al afrontar na tarea de negocio o n
re!isito del negocio' Para realizar cal!iera de ellas de%e "a%erse atenticado
mediante I.*P 9sario y contrase$a del correo corporativo; previamente'
!igura -: $iagrama de casos de uso
2>
Universidad Politcnica de Valencia
Ingeniera Informtica
/.-.0 Especificaciones de re2uisitos
(l Consorcio no dispona de ning8n sistema de mantenimiento definido# con lo
cal se de%e definir tanto las decisiones de la interfaz grfica de la aplicacin como
los re!isitos fncionales' La finalidad es !e la aplicacin sea lo mas sencilla de
tilizar posi%le para el personal operativo y !e el salto tecnolgico a los dispositivos
mviles no sea n inconveniente sino na venta&a' Los principales re!isitos
esta%lecidos para realizar la aplicacin son7
*tenticacin7 (l sario de%er atenticarse con los datos del correo
corporativo# mediante n sario y contrase$a'
Interfaz7 Clara y sencilla para el sario corporativo' Con el aspecto similar
a na aplicacin *ndroid'
/egridad7 ,an solo n sario con correo corporativo pede acceder a la
aplicacin'
*mpliacin7 Cdigo adapta%le a ftras modificaciones o ampliaciones'
Interaccin con el dispositivo7 +ado !e esta dise$ado para n dispositivo
mvil# la aplicacin de%e poder interactar con ss posi%ilidad# por
e&emplo# poder enviar n correo a la central cando na tarea "aya
finalizado'
)estin de errores7 ,ratar todos lo errores posi%les con dilogos para !e el
sario peda interactar sin ayda con el dispositivo mvil'
)estin de ordenes de tra%a&o7 Posi%ilidad de finalizar na tarea como
realizada o simplemente devolverla al spervisor por!e no corresponde en
ese instante'
Filtrado7 .ostrar solo las tareas !e correspondan al par!e en cestin'
22
Universidad Politcnica de Valencia
Ingeniera Informtica
/.-.3 Especificaciones tcnicas
(l servicio de mantenimiento desarrollado centa con tres capas %sicas para
poder realizar las especificaciones de re!isitos descritas en el apartado anterior'
(n primer lgar# tenemos almacenados los datos de la organizacin en %ases de
datos almacenada en varios servidores disponi%les en el Consorcio'
Por n lado tenemos almacenadas en n servidor las ordenes de tra%a&o y los activos
con .y/AL y por otro lado o%tenemos el listado de par!es de otra %ase de datos
con Postgre/AL y finalmente realizamos la atenticacin I.*P contra la %ase de
datos del servidor de correo donde tenemos el listado de personal operativo'
(n segndo lgar# la aplicacin centa con na serie de servicios 5e% :(/,
!e "an sido desarrolladas para na comnicacin mas eficiente con las %ases de
datos descritas anteriormente y la aplicacin *ndroid'
Finalmente# la aplicacin trata la informacin reci%ida por los servicios 5e% y
los mestra por pantalla para !e el sario corporativo peda gestionar las tareas de
mantenimiento'
!igura /: Especificaciones tcnicas
21
Universidad Politcnica de Valencia
Ingeniera Informtica
/.-.3.- Autenticaci.n I(A%
(l Consorcio tiene n servidor propio de correo electrnico# lo cal permite
proporcionar direcciones personalizadas a todos los empleados' *dems es accesi%le
desde Internet# por lo !e se pede acceder a el desde cal!ier lgar sando n
cliente apropiado siempre y cando permita los envos con atenticacin' ,eniendo
en centa esto# nestra aplicacin se atenticara contra dic"o servidor# por tanto#
cal!ier persona operativa poseedora de n sario y contrase$a de correo podr
acceder a la aplicacin# es decir# el personal operativo de la empresa'
/.-.3./ &ase de datos
/.-.3./.- %ostgreS45
(l Consorcio tilizar este sistema gestor de datos como el corporativo # por lo
!e la mayora de aplicaciones de%en sarlo' /e encentra alo&ado en n servidor
9Firenet; y de a" podemos o%tener el listado de par!es del Consorcio'
/.-.3././ (1S45
(l Consorcio tam%in tiliza este sistema gestor de datos para algnas
aplicaciones !e no se "an adaptado a Postgre/AL por!e s esferzo no mereca la
pena' *! ser donde tendremos alo&ados la gestin de los activos 9ve"clos y
e!ipos;# adems de las ordenes de tra%a&o'
/.-.3.0 Servicios 6e+ *EST
+e%ido a !e la aplicacin se "a dise$ado para dispositivos mviles se "a
decidido tilizar :(/, o 9:epresentational /tate ,ransfer;# !e es na tcnica de
ar!itectra soft5are para sistemas "ipermedia distri%idos como la 4orld 4ide
4e%# de%ido a !e pede descri%ir cal!ier interfaz 5e% simple tilizando L.L y
D,,P# sin las a%stracciones adicionales de los protocolos %asados en patrones de
intercam%io de mensa&es como el protocolo de servicios 5e% /F*P'
22
Universidad Politcnica de Valencia
Ingeniera Informtica
:(/, tiene varias venta&as !e lo "acen ideal para tilizarlo por dispositivos
mviles de%ido a !e estos tienen escasos recrsos7
Un protocolo clienteMservidor sin estado7 Cada mensa&e comprende toda la
informacin para comprender la peticin# es decir# !e ni el cliente ni el
servidor necesitan recordar ning8n estado de las comnicaciones entre
mensa&es' Por tanto# en la implementacin de los servicios 5e% se "a
decidido !e en cada mensa&e se mande el sario y contrase$a !e se "a
atenticado en la aplicacin *ndroid y se compre%e mediante I.*P desde
el servicio 5e% :(/,'
Un con&nto de operaciones 9C:U+; %ien definidas7 D,,P define n
con&nto de operaciones !e gestionan los servicios 5e% :(/, como son
PU,# )(,# PF/,# y +(L(,( para la persistencia de datos y con estas
podremos gestionar todo el mantenimiento !e se "aga desde la aplicacin
*ndroid'
Una sinta6is niversal7 (n n sistema :(/,# cada recrso es direcciona%le
8nicamente a travs de s U:I para identificar los recrsos'
(l so de "ipermedios7 tanto para la informacin de la aplicacin como para
las transiciones de estado son tpicamente D,.L o L.L'
Ftro aspecto importante es !e se permite no solo la transferencia de datos
en formato L.L# sino tam%in en formato -/FK' (n nestro caso# se "a
decidido devolver los datos en este 8ltimo# dado !e es mc"o mas
compacto y eficiente sndolo de forma efectiva' (sto es de%ido a !e es
mc"o mas sencillo GparsearH los datos -/FK a la estrctra !e se !iere
almacenar'
2<
Universidad Politcnica de Valencia
Ingeniera Informtica
/.-.3.3 Android
(s el sistema operativo !e se "a tilizado para desarrollar la aplicacin en los
dispositivos mviles y del cal se profndizara en captlos posteriores' (ste sistema
operativo se "a tilizado de%ido a la ftra o%tencin de "ard5are mvil con este
sistema operativo y !e complementar# con este proyecto final# la solcin o%tenida
para sistematizar e informatizar el mantenimiento en los par!es del Consorcio de
3om%eros'
Las principales venta&as !e nos aporta *ndroid para ser tilizado para este
proyecto son las sigientes7
+ise$o de dispositivo7 La plataforma es adapta%le a pantallas mas grandes#
es decir# nos permite la fle6i%ilidad de poder tilizarlo en telfonos
inteligentes y en ta%lets'
*lmacenamiento7 Kos permite gardar datos# mediante s %ase de datos
/ALite# %asada en .y/AL'
/oporte de -ava7 Cdigo estdiado drante la carrera niversitaria y !e
facilita el conocimiento frente a la programacin de la aplicacin'
(ntorno de desarrollo7 Inclye n emlador para dispositivos el cal nos
permite pro%arlo desde el ordenador# adems de "erramientas para la
depracin y anlisis del rendimiento del soft5are'
.ltitarea7 Las aplicaciones !e no estn e&ectndose en primer plano
reci%en tam%in ciclos de relo&'
/oporte para "ard5are adicional7 *ndroid soporta cmaras de fotos# de
vdeo# pantallas tctiles# )P/# acelermetros'''
/oft5are li%re7 *ndroid es cdigo li%re y por lo tanto e6iste en Internet n
pnto de vista orientado a compartir el cdigo'
2=
Universidad Politcnica de Valencia
Ingeniera Informtica
/.-.7 *iesgos asociados
(n general para n proyecto informtico los riesgos asociados son !e el
soft5are nnca llege a fncionar# !e no se cmplan los plazos de entrega y !e no
se cmplan con las fncionalidades esperadas principalmente casado por la alta
comple&idad o la incertidm%re de cara al comienzo de n proyecto'
Para evitar !e estos riesgos se tradzcan en pro%lemas# tra%a&aremos de forma
proactiva# tratando de identificar los pro%lemas potenciales y ata&ndolos' (n nestro
caso# el soft5are es testeado en cada iteracin realizada# seg8n el proceso de
desarrollo :UP# por tanto evitamos el riesgo de !e nestro soft5are nnca llege a
fncionar'
Por otro lado# para evitar el incmplimiento de plazos "emos realizado n
diagrama de )rantt para cmplir cada tarea en la fec"a indicada previamente'
Por 8ltimo# realizamos reniones con el personal operativo# el cliente potencial
del proyecto# en cada iteracin para tratar de adaptar el prodcto lo m6imo posi%le'
!igura 0: $iagrama de Grantt
2?
Universidad Politcnica de Valencia
Ingeniera Informtica
2C
Universidad Politcnica de Valencia
Ingeniera Informtica
0 !ase de ela+oraci.n
(n este capitlo se analiza el dominio del pro%lema# se esta%lecen los
cimientos de la ar!itectra# se desarrolla el plan del proyecto y se eliminan los
mayores riesgos'
* partir de esta fase se llega al pnto de no retorno del proyecto# por tanto esta
es la fase en la !e se de%e indicar si el proyecto es via%le para s pr6imas fases#
!e sern mc"o mas costosas y arriesgadas'
La fase de ela%oracin de%e contener los casos de so crticos identificados en
la fase de inicio y demostrarse !e se "an evitado los riesgos mas graves'
0.- Casos de uso
(n este apartado se analiza cada no de los casos de so !e se presentan en el
diagrama de casos de so del capitlo anterior' Con esto descri%iremos de forma
%reve cada no de los casos del diagrama# de esta forma o%tendremos na visin mas
completa del proyecto'
Caso de uso: Iniciar Sesin
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 N
Postcondicones7 (l personal operativo !eda atenticado en el sistema'
+escripcin 9Fl&o 3sico;7
>; Indica s nom%re de sario y contrase$a'
2; (l sistema compre%a s validez comparando con los o%tenidos del servidor de
correo'
1; (l sistema mestra la pagina principal de la aplicacin'
(6tensiones 9Fl&o *lternativo;7
2'a; Indica s nom%re de sario y contrase$a' (l nom%re de sario o la
contrase$a es incorrecto'
2@
Universidad Politcnica de Valencia
Ingeniera Informtica
2'a'>; (l sistema notifica !e el nom%re de sario o la contrase$a es
incorrecto y lo pide de nevo'
Caso de uso: Cerrar Sesin
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo se "a atenticado en el sistema'
Postcondicones7 (l personal operativo cierra sesin en el sistema'
+escripcin 9Fl&o 3sico;7
>; (l sario cierra sesin'
2; (l sistema sale de la sesin y se mestra la pagina de atenticacin'
(6tensiones 9Fl&o *lternativo;7
Caso de uso: Seleccionar Parque
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo se "a atenticado en el sistema'
Postcondicones7 (l personal operativo selecciona el par!e de 3om%eros'
+escripcin 9Fl&o 3sico;7
>; (l sistema o%tiene el listado de par!e'
2; (l sistema mestra el listado de par!es'
1; (l sario elige el par!e donde va a realizar la tarea'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de par!es'
Caso de uso: Consultar Activos
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo se "a atenticado en el sistema y "a
seleccionado s par!e de 3om%eros'
1B
Universidad Politcnica de Valencia
Ingeniera Informtica
Postcondicones7 (l personal operativo o%tiene el listado de activos en el par!e'
+escripcin 9Fl&o 3sico;7
>; (l sistema o%tiene el listado de activos del par!e seleccionado del servicio
5e%'
2; (l sistema mestra el listado de activos'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de activos'
Caso de uso: Editar Activo
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado el
listado de activos'
Postcondicones7 (l personal operativo "a editado el activos correspondiente'
+escripcin 9Fl&o 3sico;7
>; (l sistema mestra el listado de activos'
2; (l sario elige el activo'
1; (l sario selecciona editar el activo'
2; (l sistema mestra el formlario de edicin con los cadros de te6to
correspondientes'
<; (l sario modifica los datos necesarios para las tareas de mantenimiento'
=; (l sario selecciona confirmar el activo'
?; (l sistema valida las entradas del sario en los cadros de te6to y otros
controles'
C; (l sistema edita los datos en el servicio 5e%'
@; (l servicio 5e% inserta los datos modificados en la %ase de datos'
(6tensiones 9Fl&o *lternativo;7
='a; (l sario selecciona cancelar'
='a'>; (l sistema sale de la edicin de activos sin editar ning8n campo'
?'a; *lgna entrada "a sido introdcida incorrectamente'
?'a'>; (l sistema notifica !e la entrada esta vaca o no es correcta'
1>
Universidad Politcnica de Valencia
Ingeniera Informtica
C'a; Ko "ay cone6in'
C'a'>; (l sistema notifica !e no se pede editar el activo correspondiente'
Caso de uso: Borrar Activo
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado el
listado de activos'
Postcondicones7 (l personal operativo %orra el activo seleccionado'
+escripcin 9Fl&o 3sico;7
>; (l sistema mestra el listado de activos'
2; (l sario elige el pedido a %orrar'
1; (l sario selecciona %orrar el activo'
2; (l sistema mestra el dialogo de confirmacin de %orrado'
<; (l sario confirma el %orrado'
=; (l sistema valida !e el activo no este asignado a ningna orden de tra%a&o'
?; (l sistema %orra el activo en el servicio 5e%'
C; (l servicio 5e% %orra los datos del activo en la %ase de datos'
(6tensiones 9Fl&o *lternativo;7
<'a; (l sario cancela el %orrado'
<'a'>; (l sistema sale del dialogo de %orrado sin %orrar el activo'
='a; Ko "ay cone6in'
='a'>; (l sistema notifica !e no se pede %orrar el activo'
='%; (l sistema encentra na orden de tra%a&o activa asignada a ese activo'
='%'>; (l sistema mestra n dialogo de error7 (l activo esta siendo sado'
Caso de uso: Aadir Activo
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado el
listado de activos'
12
Universidad Politcnica de Valencia
Ingeniera Informtica
Postcondicones7 (l personal operativo a$ade el activo'
+escripcin 9Fl&o 3sico;7
>; (l sistema mestra el listado de activos'
2; (l sario selecciona .en8 del teclado del dispositivo'
1; (l sistema mestra el .en8 *$adir'
2; (l sario selecciona *$adir'
<; (l sario a$ade los datos necesarios para rellenar el activo'
=; (l sario selecciona confirmar'
?; (l sistema valida las entradas del sario en los cadros de te6to y otros
controles'
C; (l sistema a$ade el activo en el servicio 5e%'
@; (l servicio 5e% inserta los datos modificados en la %ase de datos'
(6tensiones 9Fl&o *lternativo;7
='a; (l sario selecciona cancelar'
='a'>; (l sistema sale del registro de activos sin a$adir ning8n activo'
?'a; Ko "ay cone6in'
?'a'>; (l sistema notifica !e no se pede a$adir el activo correspondiente'
Caso de uso: Seleccionar Tipo de Activo
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado
editar o a$adir n activo'
Postcondicones7 (l personal operativo asigna n activo a n tipo de activo'
+escripcin 9Fl&o 3sico;7
>; (l sistema o%tiene el listado de tipos de activos'
2; (l sistema mestra el listado de tipos de activos'
1; (l sario elige el tipo de activo al !e se va a asignar el activo seleccionado'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de tipos de
activos'
11
Universidad Politcnica de Valencia
Ingeniera Informtica
Caso de uso: Consultar Orden de Traa!o
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo se "a atenticado en el sistema y "a
seleccionado s par!e de 3om%eros'
Postcondicones7 (l personal operativo o%tiene el listado de ordenes de tra%a&o del
par!e'
+escripcin 9Fl&o 3sico;7
>; (l sistema o%tiene el listado de ordenes de tra%a&o del par!e seleccionado del
servicio 5e%'
2; (l sistema mestra el listado de ordenes de tra%a&o'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de ordenes de
tra%a&o'
Caso de uso: Editar Orden de Traa!o
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado el
listado de ordenes de tra%a&o'
Postcondicones7 (l personal operativo edita la orden de tra%a&o correspondiente'
+escripcin 9Fl&o 3sico;7
>; (l sistema mestra el listado de ordenes de tra%a&o'
2; (l sario elige la orden de tra%a&o a modificar'
1; (l sario selecciona (ditar'
2; (l sistema mestra el formlario de edicin con los cadros de te6to
correspondientes'
<; (l sario modifica los datos necesarios para la orden de tra%a&o'
=; (l sario selecciona confirmar'
?; (l sistema valida las entradas del sario en los cadros de te6to y otros
controles'
C; (l sistema edita los datos de la orden de tra%a&o en el servicio 5e%'
@; (l servicio 5e% inserta los datos modificados en la 3ase de +atos'
12
Universidad Politcnica de Valencia
Ingeniera Informtica
(6tensiones 9Fl&o *lternativo;7
='a; (l sario selecciona cancelar'
='a'>; (l sistema sale de la edicin de orden de tra%a&o sin editar ning8n
campo'
?'a; Ko "ay cone6in'
?'a'>; (l sistema notifica !e no se pede editar la orden de tra%a&o
correspondiente'
Caso de uso: Cerrar Orden de Traa!o
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado# con s par!e y s listado de
ordenes del par!e# selecciona na orden para editar'
Postcondicones7 (l personal operativo cierra la orden de tra%a&o seleccionada'
+escripcin 9Fl&o 3sico;7
>; (l sistema mestra el formlario de la ordenes de tra%a&o seleccionada'
2; (l sario selecciona Cerrar'
1; (l sistema mestra el dialogo de Cierre de Frden de ,ra%a&o'
2; (l sario selecciona la confirmacin'
<; (l sistema valida el cierre de la orden de tra%a&o'
=; (l sistema cierra la orden de tra%a&o en el servicio 5e%'
?; (l servicio 5e% cierra la orden de tra%a&o en la 3ase de +atos'
(6tensiones 9Fl&o *lternativo;7
2'a; (l sario plsa el selecciona Ko'
2'a'>; (l sistema sale del dialogo de cierre sin cerrar la orden'
='a; Ko "ay cone6in'
='a'>; (l sistema notifica !e no se pede cerrar el activo'
Caso de uso: Aadir Orden de Traa!o
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado el
1<
Universidad Politcnica de Valencia
Ingeniera Informtica
listado de ordenes de tra%a&o'
Postcondicones7 (l personal operativo a$ade la orden de tra%a&o'
+escripcin 9Fl&o 3sico;7
>; (l sistema mestra el listado de ordenes de tra%a&o'
2; (l sario selecciona .en8 del teclado del dispositivo'
1; (l sistema mestra el .en8 *$adir'
2; (l sario selecciona *$adir'
<; (l sario a$ade los datos necesarios para rellenar la orden de tra%a&o'
=; (l sario selecciona confirmar'
?; (l sistema valida las entradas del sario en los cadros de te6to y otros
controles'
C; (l sistema a$ade la orden de tra%a&o en el servicio 5e%'
@; (l servicio 5e% inserta los datos modificados en la 3ase de +atos'
(6tensiones 9Fl&o *lternativo;7
='a; (l sario selecciona cancelar'
='a'>; (l sistema sale del registro de activos sin a$adir ningna orden'
?'a; Ko "ay cone6in'
?'a'>; (l sistema notifica !e no se pede a$adir la orden correspondiente'
Caso de uso: Seleccionar Contacto
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado
editar o a$adir na orden de tra%a&o'
Postcondicones7 (l personal operativo asigna n contacto a na orden de tra%a&o'
+escripcin 9Fl&o 3sico;7
>; (l sistema o%tiene el listado de contactos del Consorcio del servicio 5e%'
2; (l sistema mestra el listado de contactos'
1; (l sario elige el contacto al !e se va a asignar en la orden'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de contactos'
1=
Universidad Politcnica de Valencia
Ingeniera Informtica
Caso de uso: Seleccionar Usuario
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado
editar o a$adir na orden de tra%a&o'
Postcondicones7 (l personal operativo asigna n sario a na orden de tra%a&o'
+escripcin 9Fl&o 3sico;7
2; (l sistema o%tiene el listado de sarios del Consorcio del servicio 5e%'
<; (l sistema mestra el listado de sarios'
=; (l sario elige el sario al !e se va a asignar en la orden'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de sarios'
Caso de uso: Seleccionar Activo
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo atenticado y con s par!e# "a seleccionado
editar o a$adir na orden de tra%a&o'
Postcondicones7 (l personal operativo asigna n activo a na orden de tra%a&o'
+escripcin 9Fl&o 3sico;7
?; (l sistema o%tiene el listado de activos del Consorcio del servicio 5e%'
C; (l sistema mestra el listado de activos'
@; (l sario elige el activo al !e se va a asignar en la orden'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de activos'
1?
Universidad Politcnica de Valencia
Ingeniera Informtica
Caso de uso: Consultar "istorial
*ctor primario7 Personal Fperativo'
*ctores secndarios7
Precondicones7 (l personal operativo se "a atenticado en el sistema y "a
seleccionado s par!e de 3om%eros'
Postcondicones7 (l personal operativo o%tiene el listado de ordenes de tra%a&o para el
activo seleccionado en el par!e'
+escripcin 9Fl&o 3sico;7
>; (l sistema o%tiene el listado de activos del par!e seleccionado del servicio
5e%'
2; (l sistema mestra el listado de activos'
1; (l sario selecciona n activo'
2; (l sistema o%tiene el listado de ordenes de tra%a&o del par!e para ese activo
seleccionado del servicio 5e%'
<; (l sistema mestra el listado de ordenes de tra%a&o filtrada'
(6tensiones 9Fl&o *lternativo;7
>'a; Ko "ay cone6in'
>'a'>; (l sistema notifica !e no se pede o%tener el listado de activos'
1C
Universidad Politcnica de Valencia
Ingeniera Informtica
0./ $iagrama de clases
Una vez definidos los casos de so# se procede a dise$ar las caractersticas
mediante diagramas U.L' (n primer lgar# dado !e se trata de na aplicacin de
tratamiento de datos principalmente# lo primero es definir el modelo de datos# es decir
las distintas clases de o%&etos !e se necesitan para implementar todas las
caractersticas !e se "an tratado en los casos de so' (l diagrama de clases no slo
se realiza en %ase a las especificaciones dadas por la aplicacin sino tam%in se "a
orientado en torno a los servicios 5e% :(/, dise$ados con los !e se conectara la
aplicacin# as como tam%in con las diferentes %ase de datos donde se almacena toda
la informacin'
!igura 3: $iagrama de clases
1@
Universidad Politcnica de Valencia
Ingeniera Informtica
0.0 $iagramas de secuencias
(l sigiente paso "a sido la ela%oracin de los diagramas de secencias para
mostrar la interaccin de n con&nto de o%&etos en na aplicacin a travs del tiempo
modelndose para cada caso de so' (ste contiene detalles de la implementacin del
escenario# inclyendo o%&etos y clases !e se san para implementar el escenario# y
mensa&es intercam%iados entre los o%&etos' +ado !e ya tenemos las descripcin de
los casos de so como na secencia de varios pasos# entonces se pede pasar so%re
esos pasos para o%tener !e o%&etos son necesarios para !e se peda constrir dic"o
diagrama de secencias'
Para dise$ar los diagramas de secencias se "a tilizado n programa llamado
GAicJ /e!ence +iagram (ditorH !e consiste en na "erramienta de desarrollo
constrida en -ava < para generar U.L de forma profesional con diagramas de
secencias mediante sencillas lineas de cdigo'
/s principales venta&as para tilizar esta "erramienta# "an sido principalmente
!e pede ser e6portado a na imagen para introdcirlo de forma sencilla en la
memoria del proyecto y !e cam%ia de forma atomtica mediante la introdccin
del cdigo '
#ia$ra%a de secuencia: Iniciar Sesin
!igura 7: Iniciar sesi.n
2B
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Seleccionar Parque
!igura 8: Seleccionar par2ue
#ia$ra%a de secuencia: Consultar Activo
!igura 9: Consultar activo
2>
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Editar Activos
!igura :: Editar activo
22
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Borrar Activos
!igura ;: &orrar activo
21
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Aadir Activos
!igura -<: A=adir activo
22
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Seleccionar Tipo Activo
!igura --: Seleccionar tipo activo
#ia$ra%a de secuencia: Consultar Orden de Traa!o
!igura -/: Consultar orden de tra+a>o
2<
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Editar Orden de Traa!o
!igura -0: Editar orden de tra+a>o
2=
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Cerrar Orden de Traa!o
!igura -3: Cerrar orden de tra+a>o
2?
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Aadir Orden de Traa!o
!igura -7: A=adir orden de tra+a>o
2C
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Seleccionar Contacto
!igura -8: Seleccionar contacto
#ia$ra%a de secuencia: Seleccionar Usuario
!igura -9: Seleccionar usuario
2@
Universidad Politcnica de Valencia
Ingeniera Informtica
#ia$ra%a de secuencia: Seleccionar Activo
!igura -:: Seleccionar activo
#ia$ra%a de secuencia: Consultar "istorial
!igura -;: Consultar "istorial
<B
Universidad Politcnica de Valencia
Ingeniera Informtica
<>
Universidad Politcnica de Valencia
Ingeniera Informtica
3 !ase de Construcci.n
(n la sigiente fase se pretende alcanzar la capacidad operacional del prodcto
de forma incremental a travs de las scesivas iteraciones' +rante esta fase y
sigiendo con el proceso de implementacin :UP aca%aremos de implementar los
artefactos necesarios# como el diagrama de componentes y de despliege para
modelar las distintas partes del sistema y el modelo relacional para la %ase de datos'
*dems los integraremos y testearemos o%teniendo na versin %eta del prodcto !e
se peda poner en manos de los sarios'
Por otra parte# ca%e decir !e en la fase de constrccin se "a llevado a ca%o n
proceso iterativo# implementado %a&o el sistema operativo *ndroid por parte del
cliente e implementado en -ava por parte del servicio 5e% 9servidor; :(/,'
(n primer lgar# el cliente se "a desarrollado %a&o la versin 2'2 %a&o la *PI C
del sistema operativo comentando anteriormente %a&o el entorno de desarrollo (clipse
y con el PlgNin *ndroid /+I'
(n segndo lgar# el servidor o servicio 5e% :(/, se "a implementado
principalmente %a&o el lenga&e de programacin -ava# adems de tilizar el entorno
de desarrollo (clipse y n servidor 5e% o contenedor de servlets *pac"e ,omcat' (n
nestro caso# tilizamos la versin ? de *pac"e ,omcat !e tiene como principales
caractersticas !e esta implementado en /ervlet 1'B# -/P 2'2 y (L 2'2# adems de
contener me&oras para detectar y prevenir Gfgas de memoriaH en las aplicaciones
5e%# na mayor limpieza de cdigo y soporte para contenidos e6ternos'
La aplicacin cliente desarrollada principalmente se encarga de gestionar los
activos y las tareas de mantenimiento para dic"os activos en cada par!e de
%om%eros para n sarios 9personal operativo; atenticado previamente# o%teniendo
los datos del servicio 5e% :(/,# el cal se encargar de posteriormente# almacenar y
gestionar dic"os datos con las %ases de datos del Consorcio Provincial de 3om%eros
de Valencia'
Para esta fase# y na vez tenidos los conceptos %sicos claros se "a programado
tanto la aplicacin cliente como el servicio 5e% 9servidor; sigiendo el estilo de
programacin por capas'
<2
Universidad Politcnica de Valencia
Ingeniera Informtica
3.- Ar2uitectura de la aplicaci.n
La programacin por capas# se pede definir como na ar!itectra clienteN
servidor donde el o%&etivo primordial es la separacin lgica de negocio de la lgica
de dise$o# es decir# separando la capa de datos con la capa de presentacin al sario'
(n nestro caso tilizaremos la programacin en tres capas# la mas tilizada# donde
cada aplicacin se divide en tres capas %ien diferenciadas7
Capa de Presentacin7 (s la !e ve el sario# presentando la aplicacin# le
comnica la informacin y captra la informacin !e el sario le indica
realizando na validacin previa# es decir# en nestro proyecto ser la
interfaz grfica de la aplicacin
Capa de Kegocio7 (s donde residen los programas !e se e&ectan# se
reci%en las peticiones del sario y se envan las respestas tras el proceso'
(sta capa se comnica con la capa de presentacin para reci%ir las
solicitdes y presentar los resltados y con la capa de datos para solicitar al
gestor 9en nestro caso el servicio 5e% :(/,; almacenar o recperar datos
de l'
Capa de +atos7 (s donde residen los datos y es la encargada de acceder a
los mismo' (n el proyecto estar formado por el servicio 5e% :(/, al !e
accede la aplicacin mvil cando necesitar informacin# para realizar
almacenamiento de datos o para actalizacin de datos'
Por otra parte# y para finalizar con el apartado de la ar!itectra en la !e se "a
%asado dic"a programacin# ca%e destacar !e la ar!itectra de la solcin es por
tres capas y dos niveles' Las tres capas "an sido detalladas previamente# pero los dos
niveles sern necesarios por!e la solcin reside en dos componentes# por n lado
tenemos la presentacin O lgica !e reside en la aplicacin mvil y por tanto en los
dispositivos mviles donde se tilizar la aplicacin y# por otro lado# tenemos la
lgica O datos del servicio 5e% :(/, !e se implementa en n servidor de la sede
central del Consorcio Provincial de 3om%eros de Valencia y !e gracias a toda la
intercone6in e6istente se podrn comnicar y realizar las peticiones pertinentes'
Finalmente se pede o%servar !e la principal venta&a para este tipo de
ar!itectra de programacin es la independencia !e e6iste entre niveles# y !e
permite "acer cam%ios en n nivel# sin tener !e afectar al resto'
<1
Universidad Politcnica de Valencia
Ingeniera Informtica
3./ %roceso de $esarrollo
La implementacin de la aplicacin "a sido desarrollada de forma iterativa y
creciente sigiendo el frame5orJ 9entorno de tra%a&o; :UP 9:ational Unified
Process;' La idea principal es desarrollar la aplicacin de forma incremental# sacando
venta&a de lo !e se "a aprendido a lo largo del desarrollo e incrementndolo en
forma de versiones posteriores o entrega%les' +ic"o aprendiza&e se pede o%tener por
dos caminos# mientras se esta desarrollando la iteracin o cando se pre%a dic"a
versin con el cliente# o%teniendo as los re!isitos para la sigiente versin' Los
pasos para tener 6ito en este proceso de desarrollo son comenzar con na
implementacin simple de los re!erimientos e iterativamente me&orar la
fncionalidad en las distintas versiones "asta !e el sistema completo est
implementado'
(l proceso en s mismo consiste de na etapa de inicializacin donde se crea la
versin del sistema y n prodcto con el !e el sario peda interactar con el
proceso# ofreciendo na mestra de los aspectos del pro%lema y o%teniendo na
solcin simple' Para giar el proceso de iteracin se crea na lista de control de
proyecto# !e contendr n "istorial de todas las tareas realizadas y ftras'
*dems contiene na etapa de iteracin donde involcra el redise$o e
implementacin de las tareas de la lista de control de proyecto' La meta del dise$o es
ser simple y modlar para soportar el redise$o de la etapa' (l anlisis de na iteracin
se %asa principalmente en la retroalimentacin con el cliente y en las fncionalidades
a introdcir de la lista de control de proyecto'
(n nestra aplicacin se desarrollaron tres iteraciones %sicas y %ien
diferenciadas para a%ordar el proyecto de mantenimiento de e!ipos y sistemas del
Consorcio7
Primera Iteracin7 +ise$o y constrccin del servicio 5e% :(/,# lo !e
conlleva !e el servicio 5e% peda realizar las principales fnciones
9C:U+;# es decir# crear# o%tener# actalizar y %orrar las distintas clases !e
necesitemos para el proyecto' Introdccin a la programacin con *ndroid'
*dems se realiza la cone6in entre los distintos sistemas !e tilizaremos
para realizar dic"o proyecto# es decir# la cone6in clienteNservicio 5e%
:(/, para consltar la informacin para las tareas de mantenimiento y la
cone6in servicio 5e%N%ases de datos para el almacenamiento y o%tencin
de la informacin necesaria' Por otra parte# se comienza con la
<2
Universidad Politcnica de Valencia
Ingeniera Informtica
implementacin de la aplicacin de forma inicial# tan solo la conslta de la
informacin o%tenida del servicio 5e% :(/, para poder o%servar !e los
datos o%tenidos son los correctos en cada caso' Finalmente en esta primera
iteracin# ser realiza n primer %oceto del dise$o de la interfaz grfica de la
aplicacin mvil# con lo !e ya podremos realizar la implementacin de la
aplicacin en iteraciones posteriores'
/egnda iteracin7 (n primer lgar y tras la aceptacin del dise$o del
cliente se realiza la implementacin final de la interfaz grfica de la
aplicacin mvil' /egidamente# y por lo !e respecta el servicio 5e%
:(/,# se aca%an de a$adir todas las clases necesarias para la gestin del
mantenimiento en los dispositivos mviles' Por otro lado# en el cliente se
implementa na primera versin de la gestin de activos y tareas en la
aplicacin eso conlleva las fnciones %sicas 9C:U+; !e se implementan
para la aplicacin mvil' Por 8ltimo# se acerda con el cliente# realizar na
atenticacin para !e tan solo el personal operativo del Consorcio peda
acceder a la aplicacin# por lo !e se decide realizar n pe!e$o modlo de
atenticacin !e consistir en la llamada al servidor de correo I.*P del
Consorcio# la gestin de errores en dic"o login y s interfaz grfica
correspondiente'
,ercera iteracin7 (n esta iteracin realizamos la implementacin de la
seleccin del par!e de %om%eros donde se va a proceder a realizar la
gestin del mantenimiento# a s vez# o%tenemos na tarea ligada a la
seleccin del par!e y !e consiste en el filtrado de activos y ordenes de
tra%a&o por par!e seleccionado# por lo !e o%tendremos tan solo los
activos y tareas !e realmente nos interesan' * continacin realizamos el
dise$o e implementacin del "istorial de revisiones !e nos aporta
informacin de conslta para los activos !e nos interesan# es decir# los del
par!e correspondiente' Por otro lado# realizamos el dise$o e
implementacin de la gestin de las gas operativas en la !e se podr
consltar fic"eros pdf para facilitar el mantenimiento' Finalmente# se
implementa el cierre de na orden de tra%a&o cando se termina n
mantenimiento# esta orden pasar del listado de ordenes del "istorial de
revisiones'
Para realizar todos el proyecto se "a tilizado en entorno de tra%a&o (clipse# tanto
para el servicio 5e% :(/, como para el cliente mediante el plgin *ndroid /+I'
<<
Universidad Politcnica de Valencia
Ingeniera Informtica
3.0 $ise=o del Sistema
(n este apartado se define los componentes# mdlos y datos del sistema para
satisfacer los re!erimientos definidos previamente' *dems el dise$o de sistema es
la primera fase en la cal se selecciona la apro6imacin %sica para resolver el
pro%lema# se decide la estrctra y el estilo glo%al'
Para continar con el dise$o orientado a o%&etos se realiza n diagrama de
componentes !e representa cmo n sistema de soft5are es dividido en
componentes y mestra las dependencias entre estos componentes'
3.0.- $iagrama de Componentes
(l diagrama de Componentes es n tipo de diagrama U.L !e se dise$a para
o%tener na visin esttica y dinmica de los componentes fsicos y ss
dependencias' (stos componentes inclyen arc"ivos# ca%eceras# %i%liotecas
compartidas# mdlos# e&ecta%les o pa!etes'
!igura /<: $iagrama de componentes
<=
Universidad Politcnica de Valencia
Ingeniera Informtica
(n el diagrama de componentes dise$ado se "an implementado interfaces dado
!e ofrece la venta&a de romper la dependencia directa entre componentes# en este
caso entre las clases &ava y la interfaz *ndroid' Una interfaz contiene na o varias
operaciones y se tiliza para especificar los servicios de na clase o de n
componente# adems se conecta al componente !e la implementa a travs de na
relacin de realizacin# y al componente !e tiliza ss servicios con na
dependencia'
3.0./ $iagrama de $espliegue
(l diagrama de despliege es n tipo de diagrama U.L !e tiliza para
modelar el "ard5are tilizado en las implementaciones de sistemas y las relaciones
entre ss componentes'
Para el dise$o del diagrama de despliege tilizamos nodos# componentes y
asociaciones con el !e se representa la topologa del "ard5are so%re el !e se
e&ecta el sistema'
(n el proyecto se "a implementado n diagrama de despliege para modelar el
sistema clienteNservidor# los cales son n e6tremo del espectro de los sistemas
distri%idos y re!ieren la toma de decisiones so%re la conectividad de red de los
clientes a los servidores y so%re la distri%cin fsica de los componentes soft5are del
sistema a travs de los nodos'
!igura /-: $iagrama de despliegue
<?
Universidad Politcnica de Valencia
Ingeniera Informtica
(n el diagrama de despliege dise$ado se "a implementado la ar!itectra
"ard5are en la !e se tra%a&ara# por n lado tendremos el dispositivo mvil conectado
y configrado de%idamente a la red con la aplicacin de mantenimiento instalada
previamente# por otro lado# disponemos de los distintos servidores a los !e se
conectara el dispositivo mvil para gestionar el mantenimiento en cada par!e'
*dems se "a indicado en el diagrama de despliege el servidor de correo# !e
reslta de gran tilidad para la implementacin de la atenticacin en la aplicacin
*ndroid# dado !e todo personal operativo tiene centa de correo en la compa$a'
Finalmente se o%serva !e el servicio 5e% 9en el servidor apac"e; depende de las
%ases de datos# tanto de .y/AL como de Postgre/AL# de las cales se o%tendr
todos los datos necesarios para la realizacin con 6ito del mantenimiento'

3.3 %rogramaci.n de la Aplicaci.n
(n el sigiente apartado se va a e6poner todo el desarrollo y las tecnologas
tilizadas para la ela%oracin de este proyecto analizando los lenga&es y el entorno
de desarrollo !e se "an tilizado para implementar el sistema de mantenimiento#
tanto por parte del servidor como por parte del cliente'
,odo esto se detallara profndizando en las iteraciones !e se "an e6plicado
anteriormente escri%iendo la memoria tal como se "a realizado el proyecto# es decir#
sigiendo el entorno de tra%a&o :UP'
3.3.- %rimera Iteraci.n
(n esta primera iteracin se "an analizado todas las tecnologas !e se "an
elegido para implementar el sistema de mantenimiento# tales como los /ervicios 5e%
:(/,# *ndroid# (clipse# -ava# el servidor *pac"e ,omcat'''
/egidamente# se "a implementado na cone6in %sica para poder gestionar toda la
informacin necesaria para el sistema'
* continacin# realizaremos n primer %oceto de la aplicacin *ndroid con el
plgin *ndroid /+I# !e nos mestre n listado de la informacin contenida en las
%ases de datos del Consorcio' *dems se dise$a y se descri%e la interfaz grfica de la
aplicacin *ndroid# para poder realizar la programacin en iteraciones scesivas'
<C
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.-.- Servicio 6e+ *EST
+ado !e ya se "a comentado las venta&as de tilizar /ervicios 5e% :(/, en el
primer capitlo del proyecto# se va a complementar con na pe!e$a introdccin y
definicin de estos servicios para !e el lector peda comprender finalmente esta
tilidad para el proyecto de mantenimiento'
3.3.-.-.- Introducci.n a *EST
La ,ransferencia de (stado :epresentacional 9:(/,; "a ganado enteros como
servicio 5e% "asta llegar a ser na alternativa# mas simple# a /F*P y a servicios 5e%
%asados en el lenga&e de descripcin de servicios 5e% 94/+L;' )randes
proveedores como )oogle# Face%ooJ''' ya "an migrando a esta tecnologa para sar
n modelo mas fcil# orientado a los recrsos'
:(/, define n con&nto de principios ar!itectnicos por los cales se dise$an
servicios 5e% "aciendo foco en los recrsos del sistema# inclyendo cmo se accede
al estado de dic"os recrsos y cmo se transfieren por D,,P "acia clientes escritos
en diversos lenga&es' :(/, emergi en los 8ltimos a$os como el modelo
predominante para el dise$o de servicios logrando n impacto tan grande en la 5e%
!e prcticamente logr desplazar a /F*P y las interfaces %asadas en 4/+L por
tener n estilo %astante ms simple de sar'
:(/, fe presentado por :oy Fielding en el a$o 2BBB en la Universidad de
California# drante la c"arla acadmica P(stilos de *r!itectra y el +ise$o de
*r!itectras de /oft5are %asadas en :edesP# analizando n con&nto de principios
ar!itectnicos de soft5are para sar a la 4e% como na plataforma de
Procesamiento +istri%ido'
*$os desps de s presentacin comenzaron a aparecer frame5orJs :(/, y se llega
a convertir en na parte integral en -ava = a travs de -/:N1>>'
3.3.-.-./ (todos ?TT%
:est tiliza mtodos D,,P de manera e6plcita de manera !e reslta na
asociacin de noNaNno entre las operaciones crear# leer# actalizar y %orrar y los
mtodos D,,P7
%)ST crea o actaliza n recrso en el servidor'
<@
Universidad Politcnica de Valencia
Ingeniera Informtica
GET define n acceso a la lectra del recrso' (l recrso no se cam%ia
mediante na peticin )(,'
%@T cam%ia el estado de n recrso o lo actaliza'
$E5ETE elimina n recrso del servidor'
(n nestro proyecto los servicios 5e% estn dise$ados para responder a las peticiones
D,,P con la gestin de recrsos !e concerden con la rta 9o el criterio de
%8s!eda; en la peticin# y devolver estos resltados o na representacin de los
mismos en la respesta gestionando a s vez la %ase de datos donde se almacenan
dic"os recrsos'
,odos estos valores son enviados con el formato -/FK 9o L.L; de%ido a la
pro%lemtica !e peden provocar las "erramientas de cac"e 5e% y los motores de
%8s!eda realizando cam%ios no intencionales en el servidor si estos valores feran
enviados de cal!ier manera'
3.3.-.-.0 *est 1 Jerse1 en Java
-ava define el estandar :est a travs de -*LN:/ 9La api de -ava para los
servicios 5e% :(/,fl; en -/: 1>>' -*LN:/ tiliza anotaciones para definir la
relevancia de clases :(/,'
Utilizando el G5e%'6mlH se registra n servlet provisto mediante -ersey y tam%in
define la rta %a&o el cal la aplicacin estar disponi%le7
&ttp:''(our)do%ain:port'displa(*na%e'url*pattern'pat&)fro%)rest)class
(ste servlet !e analiza la solicitd D,,P entrante y selecciona la clase correcta y el
mtodo para responder a esta solicitd' (sta seleccin se %asa en la anotacin en la
clase y los mtodos'
Las anotaciones mas importantes en -*LN:/ y !e tilizaremos en el proyecto para
generar nestro servicio 5e% :(/, son7
A%AT?B1ourCpat"D Q (sta%lece la rta de la U:L %ase' La direccin U:L %ase
se %asa en el nom%re de la aplicacin# servlet y modelo de direccin U:L del arc"ivo
de configracin 5e%'6ml'
A%)ST Q Indica !e el mtodo responder a na peticin PF/, D,,P'
=B
Universidad Politcnica de Valencia
Ingeniera Informtica
AGET Q Indica !e el mtodo responder a na peticin )(, D,,P'
A%@T Q Indica !e el mtodo responder a na peticin PU, D,,P'
A$E5ETE Q Indica !e el mtodo responder a na peticin +(L(,( D,,P'
A%roducesB (ediaT1pe.TEETC%5AI FG moreHt1pes I D Q +efine !e tipo de
.I.( es entregado por n mtodo anotado' (n el e&emplo se prodce Gte6to planoH'
(n nestro caso se tiliza tam%in GapplicationM6mlH y GapplicationM&sonH'
AConsumesB t1pe FG moreHt1pes I D Q +efine !e tipo de .I.( es consmida por
este mtodo'
A%at"%aram Q (s sado para inyectar valores de la U:L en n parmetro del
mtodo' (n el caso del proyecto es tilizado para o%tener el recrso mediante s id'
Para esta especificacin tilizaremos la li%rera -ersey el cal contiene n servidor y
n cliente :(/,# pero en el proyecto se desarrolla n servidor -ersey y n cliente
adaptado a aplicaciones mviles llamado /pring'
3.3.-.-.3 Instalaci.n
+rante la implementacin del servicio 5e% :(/, se "an tilizado diferentes
li%reras !e "an sido agregadas al proyecto# entre ellas centas las li%reras Spring
9frame5orJ de cdigo a%ierto para el desarrollo de aplicaciones -ava;# Jerse1
9frame5orJ para el desarrollo del servicio 5e% :(/,;# Json 9li%rera para la
tilizacin del formato ligero de intercam%io de datos !e reci%e s nom%re;#
postgres2l 9li%rera &ava para la cone6in del servicio 5e% :(/, con la %ase de datos
del Consorcio postgre/AL; y m1s2lNconnector 9li%rera &ava para la cone6in del
servicio 5e% :(/, con la %ase de datos del Consorcio .y/AL;'
*dems se genero n servlet *pac"e ,omcat en el entorno de desarrollo de
pre%as (clipse antes de ser s%ido a prodccin' ,am%in se %ara&o la posi%ilidad de
la alternativa de )oogle *pp (ngine para GcorrerH el servidor en la red# pero no se
vio la necesidad de ello'
=>
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.-.-.7 Creaci.n del servicio Je+ *est
Con (clipse se crea n nevo proyecto llamado G+ynamic 4e% ProyectH %a&o
el servlet *pac"e ,omcat instalado previamente# en el cal se depra el servicio "asta
!e se peda s%ir el definitivo a prodccin en n servidor *pac"e del Consorcio'
!igura //: %antalla instalaci.n Servicio 6e+
/egidamente# se copian todos los &ars !e se "a comentado con anterioridad y !e
son necesarios para implementar el servicio 5e% en el apartado G4(3NIKFMli%H'
3.3.-.-.8 Ar2uitectura servicio Je+ *ESTful
(n esta seccin se crea n C:U+ 9Crear# Leer# *ctalizar# 3orrar; para cada
=2
Universidad Politcnica de Valencia
Ingeniera Informtica
no de los datos !e !eremos gestionar del servicio 5e%' (sto permite mantener n
listado de cada orden de tra%a&o# activo''' !e se re!iera en la aplicacin mvil'
(n primer lgar se modifica en el G5e%'6mlH los sigientes parmetros7
RdisplayNnameS%om%ers'dva'gva'esRMdisplayNnameS
RparamNvaleS%om%ers'dva'gva'es'resorcesRMparamNvaleS
RrlNpatternSMrestMTRMrlNpatternS
Con este resltado "emos modificado la rta %a&o la cal el dispositivo mvil
podr acceder a los diferentes elementos necesarios# y adems se "a indicado
mediante RparamNvaleS donde residen el modelo de los datos'
* continacin se pasa a la creacin de los diferentes modelos mediante el llamado
G/ingletonH 9clase para la cal slo na instancia pede ser creada y !e proporciona
n acceso glo%al a esta instancia; !e sirve como el proveedor de datos para el
modelo' /e "a tilizado la implementacin %asado en n enmerado'
p%lic class /ingleton U
private static /ingleton instance V ne5 /ingleton9;W
private /ingleton9; U
X
p%lic static sync"ronized /ingleton getInstance9; U
if9instance VV nll;
instance V ne5 /ingleton9;W
retrn instanceW
X
X
!igura /0: $iagrama de Clase KSingletonL
=1
Universidad Politcnica de Valencia
Ingeniera Informtica
Por otro lado# la distri%cin se "a realizado en catro pa!etes para !e s estrctra
sea mas sencilla e intitiva7
+ao Q (n este pa!ete se crea na clase para cada dato a gestionar' /
fncin es la programacin intermedia entre los datos reci%idos de la
aplicacin *ndroid con la %ase de datos correspondiente'
.odel Q (n este pa!ete se implementa na clase para cada dato y se
crean ss varia%les'
.ys!l Q (n este pa!ete se dise$a el C:U+ con las %ases de datos
9.y/AL y Postgre/AL;# se gestiona la cone6in y las consltas con estas'
:esorces Q (n este pa!ete se crea na clase para cada dato y otra clase
para el listado de dic"o dato' Con esto# podemos o%tener el listado de todos
los datos para s conslta# o individalmente podemos realizar la gestin de
n dato en concreto'
3.3.-.-.9 Implementando el C*@$ de *estful
(n el apartado G:esorcesH citado anteriormente se crea na clase donde se
gestiona el listado de los datos llamada GListado+ato:esorceH' (n esta clase se
podr realizar el listado de todos los datos mediante )(,7
// Devuelve la lista de Activos almacenados en la BD
@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON!
public "ist#Bienes$ %etBienes(! {
"ist#Bienes$ Bienes & new Array"ist#Bienes$(!'
Bienes.addAll( BienesDao.instance.%etModel(!.values(! !'
return Bienes'

(n esta fncin se o%serva !e prodce elementos tanto 6ml como &son !e


desps podrn ser tilizados para s gestin' Por otro lado# la fncin realiza la tarea
de crear n listado de *ctivos a$adindolos a n List desde s instancia de clase
/ingleton'
Por otro lado# en esta clase tam%in se pede a$adir n dato a la %ase de datos
mediante el mtodo PF/,7
=2
Universidad Politcnica de Valencia
Ingeniera Informtica
@P()T
@Pat*(+add,e-+!
@.onsumes(MediaType.TEXT_PLAIN!
@Produces(MediaType.APPLICATION_JSON!
public )trin% post.lic*edMessa%e()trin% messa%e! {
/)(,(01ect 1son & null'
try {
1son & new /)(,(01ect(messa%e!'
catch (/)(,E2ception e3! {
e3.print)tac4Trace(!'

BienesDao.PostBienes(1son!'
return +(rden de Tra0a1o %uardada+'

(sta fncin se encarga de reci%ir na cadena y convertirla al formato ligero &son# tras
esto# "ace la llamada a la %ase de datos para gardar el activo reci%ido# adems de
a$adirse en la clase /ingleton del servicio 5e%'
@Pat*(+{ordenTra0a1o+!
public (rdenTra0a1o5esource %et(rdenTra0a1o(
@Pat*Param(+ordenTra0a1o+! )trin% id! {
return new (rdenTra0a1o5esource(uri6n7o, re8uest, id!'

*dems se realiza las fnciones de centa de los datos y la llamada a la clase


G+ato:esorceH donde se gestiona cada dato de forma individal mediante n
identificador 8nico# es decir# para na orden de tra%a&o con id V 2# la direccin U:L
de conslta seria7 *ttp9//3:;.3<=.3>>.3?@9=>=>/0om0ers.dva.%va.es/rest/ordenAtra0a1o/;
!igura /3: Consulta GET con *est Client de !irefoM
=<
Universidad Politcnica de Valencia
Ingeniera Informtica
* continacin se implementar la parte donde se gestiona cada dato del
servicio 5e% de forma individal y filtrado por el identificador 8nico# (sta clase
G+ato:esorceH tendr n mtodo )(, similar a la mostrada anteriormente pero en
este caso tan solo mostrar n solo dato'
Finalmente# en esta misma clase se realiza na mtodo PU, para la actalizacin del
dato !e solicita la aplicacin y n mtodo +(L(,( para el %orrado de dic"o dato'
Una vez se "a implementado las dos clases para cada datos# na para el listado y otra
para cada dato individalmente# se pede pro%ar la aplicacin# se compila en (clipse
y se e&ecta en el navegador las U:L para mostrar los items7
"ttp7MMlocal"ost7CBCBM%om%ers'dva'gva'esMrestMordenYtra%a&oM Q .estra
n listado en formato 6ml de todos los datos de la clase Gorden de tra%a&oH'
"ttp7MMlocal"ost7CBCBM%om%ers'dva'gva'esMrestMordenYtra%a&oMUidX Q
.estra na Gorden de tra%a&oH# si el UidX e6iste'
"ttp7MMlocal"ost7CBCBM%om%ers'dva'gva'esMrestMordenYtra%a&oMcont Q
.estra el nmero de Gordenes de tra%a&oH e6istentes'
3.3.-./ %rogramaci.n con Android
3.3.-./.- Introducci.n a Android
(n este apartado se van a realizar na %reve introdccin acerca de la
programacin de *ndroid con el entorno de desarrollo de (clipse' Android es n
sistema operativo para dispositivos mviles %asado en Lin6' Da sido desarrollado
por la Fpen Dandset *lliance# liderada por )oogle' Fe implementado por *ndroid
inc' Una firma comprada por )oogle en 2BB< y !e en la actalidad alcanza na
cota de mercado del <B#@ Z drante el carto trimestre de 2B>># mas del do%le !e
el segndo sistema operativo 9iF/ de Ip"one;'
* casa de s cdigo a%ierto# *ndroid tiene na gran comnidad de
desarrolladores para e6tender la fncionalidad de ss dispositivos' * la fec"a se "an
so%repasado las 2BB'BBB aplicaciones disponi%les en la tienda oficial7 )oogle Play'
La estrctra del sistema operativo *ndroid se compone de aplicaciones !e se
e&ectan en n frame5orJ -ava de aplicaciones orientadas a o%&etos so%re el n8cleo
de las %i%liotecas de -ava en na m!ina virtal +alviJ con compilacin en tiempo
==
Universidad Politcnica de Valencia
Ingeniera Informtica
de e&eccin' Las %i%liotecas escritas en lenga&e C inclyen n administrador de
interfaz grfica 9srface manager;# n frame5orJ FpenCore# na %ase de datos
relacional /ALite# na *PI grfica Fpen)L (/ 2'B 1+# n motor de renderizado
4e%Iit# n motor grfico /)L# //L y na %i%lioteca estndar de C 3ionic'
!igura /7: Ar2uitectura Android
=?
Universidad Politcnica de Valencia
Ingeniera Informtica
(n la figra anterior se mestra la ar!itectra principal del sistema operativo
*ndroid y !e se pasa a comentar de forma mas detallada a continacin7
*plicaciones7 Con&nto de programas desarrollados !e inclyen cliente de
correo# proveedor de /./# calendarios# '''adems de todas las aplicaciones
disponi%les en )oogle Play'
.arco de aplicacin7 Los desarrolladores tienen acceso total a los *PI/
sados por la aplicacin %ase' La ar!itectra se %asa en la retilizacin de
componentes'
3i%liotecas7 Con&nto de li%reras en CMCOO sadas por varios componentes
del sistema'
(ntorno de e&eccin7 /et de %i%liotecas %ase !e proporcionan la mayor
parte de las fnciones disponi%les en las %i%liotecas %ase del lenga&e &ava'
Cada aplicacin *ndroid corre s propio proceso# con s propia instancia de
la m!ina virtal +alviJ' +alviJ "a sido escrito de forma !e n
dispositivo pede correr m8ltiples m!inas virtales de forma eficiente'
Iernel de Lin67 *ndroid depende de Lin6 para los servicios %ase tales
como la segridad# gestin de energa# gestin de procesos'''
*ndroid "a tenido nmerosas actalizaciones desde s li%eracin' Comentar la
8ltima versin 2'B 9Ice Cream /and5ic"; !e salio "ar nos pocos meses al mercado
y !e inclye entre ss principales venta&as7
Unificacin del so en cal!ier dispositivo mvil'
Interfaz renovada y mas moderna con la neva fente llamada G:o%otoH'
*celeracin por "ard5are' Interfaz mane&a%le desde la )PU'
Posi%ilidad de finalizar na tarea desplazndola fera de la lista'
*ndroid 3eam# !e nos ofrece la posi%ilidad de compartir contenido entre
telefonos'
:econocimiento de voz del sario'
:econocimiento facial# para cam%iar vistas'
/oporte nativo para el so tanto del contenedor .VI como del lpiz tctil'
=C
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.-././ Entorno de desarrollo Android
(n el sigiente capitlo se detalla los pasos a segir para desarrollar
aplicaciones as como todo lo necesario para la instalacin de todos ss componentes'
(n primer lgar se necesita descargar (clipse# en este proyecto se tiliza la
versin GIndigoH 1'? de (clipse for -ava +evelopers# para el sistema operativo
apropiado' ,ras s instalacin se descarga al plgin /+I de *ndroid con s 8ltima
versin# adems necesitamos el plgin de *ndroid para (clipse llamado Android
#evelop%ent Tools 9*+,; y !e se descargar desde (clipse# accediendo al men
G"elp' Install +e, Soft,are---H e indicando la U:L7 G"ttps7MMdl
ssl'google'comMandroidMeclipseMH
/e de%e seleccionar e instalar el pa!ete completo +eveloper ,ools# formado por
*ndroid ++./ y *ndroid +evelopment ,ools''
/egidamente se de%e acceder a la seccin de *ndroid e indicar la rta en la !e se
"a instalado el /+I7 G&o%e'!$arcia'#esarrollo'android*sd.*linu/H
* continacin se de%en descarga los targets necesarios !e no son mas !e las
li%reras necesarias para desarrollar en cada na de las versiones de *ndroid' Para
ello# se de%e# desde (clipse acceder al men8 G0indo, ' Android S#1 and A2#
3ana$erH# y en la seccin *valia%le PacJages seleccionar los pa!etes deseados7
!igura /8: Android S$N (anager
=@
Universidad Politcnica de Valencia
Ingeniera Informtica
Por otro lado# para pro%ar y deprar las aplicaciones *ndroid no tendremos !e
"acerlo siempre en el dipositivo fsico sino !e disponemos tam%in de n emlador
llamado *ndroid Virtal +evice 9*V+;' Para ello# se accede al *V+ .anager y en
Virtal +evices se a$aden tantos emladores como se !iera' Para configrar el *V+
tan slo tendremos !e indicar n nom%re descriptivo# el target de *ndroid !e
tilizar# y las caractersticas de "ard5are del dispositivo virtal# como por e&emplo
s resolcin de pantalla# el tama$o de la tar&eta /+# o la disponi%ilidad de )P/'
!igura /9: Emulador $ispositivo
Finalmente# creamos n nevo proyecto de tipo Android Pro!ect' Indicamos s
nom%re# el target deseado# el nom%re de la aplicacin# el pa!ete &ava por defecto
para nestras clases y el nom%re de la clase 9Activit(; principal'
Podemos emlar n proyecto configrando na neva entrada tipo Android
Applications en la ventana de Run Confi$urations' *l e&ectar el proyecto# se a%rir
n nevo emlador *ndroid creado previamente y se cargar atomticamente
nestra aplicacin'
?B
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.-./.0 Estructura de un pro1ecto Android
,ras la creacin de n proyecto *ndroid se genera atomticamente la
estrctra de carpetas para poder generar la aplicacin' (sta estrctra ser com8n a
cal!iera aplicacin *ndroid7
!igura /:: Estructura %ro1ecto Android
%om%erosValenciaMsrcM Q Contiene todo el cdigo fente de la aplicacin#
cdigo de la interfaz grfica# clases a6iliares# cone6in con el servicio 5e%
:(/,# clases# mane&o de errores# etc' (clipse# inicialmente# crear el cdigo
%sico de la pantalla principal de la aplicacin' (l proyecto contendr la
sigiente estrctra dentro de esta carpeta7
*cceso a +atos Q (n este pa!ete se crea na clase para cada dato a
gestionar' / fncin es la programacin intermedia entre los datos de la
aplicacin *ndroid con el servicio 5e% :(/,'
*tenticacin Q (n este pa!ete se genera la atenticacin I.*P'
3ienes Q (n este pa!ete se gestionan los activos'
Clases Q (n este pa!ete se implementa na clase para cada dato y otra
para el listado de cada dato y se crean ss varia%les'
.ane&o de (rrores Q (n este pa!ete gestionan los mensa&es de error'
Frden de ,ra%a&o Q (n este pa!ete se gestionan las tareas a realizar'
AicJ*ctions Q (n este pa!ete se dise$an las !icJ*ctions !e
e6plicaremos mas adelante'
/eleccin Par!e Q (n este pa!ete se gestiona la seleccin del par!e'
%om%erosValenciaMresM Q Contiene todos los recrsos necesarios para el
?>
Universidad Politcnica de Valencia
Ingeniera Informtica
proyecto !e de%ern dividirse entre las sigientes carpetas7
MresMdra5a%leM' Contienen las imgenes de la aplicacin' /e pede dividir en
Mdra5a%leNldpi# Mdra5a%leNmdpi y Mdra5a%leN"dpi para tilizar diferentes
recrsos dependiendo de la resolcin del dispositivo'
MresMlayotM' Contienen los fic"eros de definicin de las diferentes pantallas
de la interfaz grfica'
MresManimM' Contiene la definicin de las animaciones tilizadas por la
aplicacin'
MresMmenM' Contiene la definicin de los men8s de la aplicacin'
MresMvalesM' Contiene otros recrsos de la aplicacin como por e&emplo
cadenas de te6to 9strings'6ml;# estilos 9styles'6ml;# colores 9colors'6ml;# etc'
%om%erosValenciaMgenM Q Contiene na serie de elementos de cdigo
generados atomticamente al compilar el proyecto' Ko de%e ser modificada
pesto !e se actaliza sola cada vez !e se "aga alg8n cam%io dentro de la
carpeta res' /irve# por lo tanto# como interfaz entre la carpeta res y el cdigo
fente contenido en src'
Por 8ltimo# ca%e destacar el fic"ero *ndroid.anifest'6ml# !e contiene la
definicin en L.L de los aspectos principales de la aplicacin# como por e&emplo s
identificacin 9nom%re# versin# icono# [;# ss componentes 9pantallas# mensa&es#
etc;# o los permisos necesarios para s e&eccin'
(n este fic"ero se de%en definir todos los permisos necesarios para la aplicacin# !e
le sern mostrados al sario en el momento de la instalacin7
RsesNpermission android7nameV4android-per%ission-I+TER+ET4 S
,am%in de%en especificarse todos los nom%res de las actividades !e
aparecen en la aplicacin *ndroid# si ningna de estas cosas se definen# la e&eccin
mostrar na e6cepcin saliendo del programa7
Ractivity
android7la%elV45strin$'app)na%e4
android7nameV4-Bo%erosActivit(4 S
RMactivityS
Finalmente# se pede definir !e aplicacin ser la primera a mostrar7
RintentNfilter S
Raction android7nameV4android-intent-action-3AI+4 MS
Rcategory android7nameV4android-intent-cate$or(-6AU+C"ER4 MS
RMintentNfilterS
?2
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.-./.3 Componentes de una aplicaci.n Android
(n este apartado se mestra los distintos tipos de componentes con los !e se
constrye el proyecto *ndroid'
*ctivity Q :epresentan el componente principal de la interfaz grfica de na
aplicacin *ndroid' Crea la I)U de la aplicacin# na de ella ser la principal#
el cam%io entre *ctivitys se realiza mediante Intents'
Intent Q (lemento %sico de comnicacin entre los distintos componentes
*ndroid' /e peden entender como mensa&es o peticiones enviados entre los
distintos componentes de la aplicacin o entre distintas aplicaciones'
Vie5 Q /on los componentes %sicos con lo !e se "a constrido la interfaz
del proyecto y !e se comentaran en apartados posteriores'
Ciclo de 'ida: Cando na se
lanza pasa a ser la cima de la
pila' La cima de la pila anterior
pasa a segndo plano "asta !e
la neva *ctivity termine'
Cando el sario plsa el %otn
atrs# la actividad en segndo
plano pasa a la cima y se activa'
(stados7
N E>ecuci.n7 (n primer
plano# interact8a con el sario'
N En pausa7 Visi%le# pero
no en la cima# no interact8a con
el sario'
N %arada7 Completamente
oclta# mantiene s estado# ser
matada por el sistema cando se
necesite algo de memoria'
!igura /;: Ciclo 'ida Android
?1
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.-.0 ConeMi.n cliente Android H servicio 6e+
(n este apartado se van a realizar na %reve descripcin de la cone6in entre el
cliente *ndroid y el servicio 5e% :(/,# como ya se "a comentado las llamadas al
servicio no se "arn a travs de na 8nica U:L# sino !e se determinara la accin a
realizar seg8n la U:L accedida y la accin D,,P tilizada para realizar la peticin
9)(,# PF/,# PU,# +(L(,(;'
(l cliente *ndroid "a sido dise$ado mediante /pring# tilizando el cliente de
/pring :est llamado :est,emplate# y se "an implementado m8ltiples
representaciones !e tilizan Dttp.essageConverter para comnicarse con los
servicios 5e% :(/,' Por otra parte# la cone6in del servicio 5e% ya "a sido
comentado en n apartado anterior'
,anto solicitdes como respestas en D,,P estn %asadas en te6to %rtos
comnicados mediante n navegador y s servidor# !e gracias a
Dttp.essageConverter convertiremos en o%&etos' Day varios e&emplos de este tipo#
pero en este proyecto se "a tilizado .apping-acJsonDttp.essageConverter de%ido
a !e es capaz de leerMescri%ir en formato -/FK sando GF%&ect.apper -acJson H'
Convierte datos a .ime ,ype applicationM&son'
Las fnciones !e se tilizaran para la implementacin C:U+ en la parte
cliente y as# poder comnicarse sern7
getForF%&ect Q (&ecta el mtodo D,,P )(, y o%tiene la respesta como
n o%&eto'
PostForF%&ect Q (&ecta el mtodo D,,P PF/, con n cerpo de la
solicitd de tipo -/FK'
Pt Q (&ecta el mtodo D,,P PU, con n cerpo de la solicitd -/FK'
+elete Q (&ecta el mtodo D,,P +(L(,( para n U:I determinado'
3.3.-.3 ConeMi.n servicio 6e+ O &ase de $atos
(l o%&etivo de esta seccin es la creacin de cone6iones con -ava para las %ases
de datos del Consorcio# tanto para .y/AL con la li%rera mys!lNconnector como para
postgre/AL con la li%rera postgres!l'
(n primer lgar# lo !e de%emos "acer es instanciar la clase del driver7
Class'for+a%e9Pcom'mys!l'&d%c'+riverP;W
Class'for+a%e9Porg'postgres!l'+riverP;W
?2
Universidad Politcnica de Valencia
Ingeniera Informtica
Las tres clases !e se mane&aran en el servicio 5e% sern Connection para
realizar la cone6in a la %ase de datos tanto para la cone6in con .y/AL como en
postgre/AL7
c V +river.anager'$etConnection9
P&d%c7postgres!l7MMservidorM%aseYdatosP#PsarioP# Pcontrase$aP;W
c V +river.anager'$etConnection9
P&d%c7mys!l7MMservidorM%aseYdatos\PPserVsario]pass5ordVcontrase$aP;W
/tatement !e ser la !e contenga la sentencia /AL7
statement V c'create/tatement9;W
y :eslt/et !e ser la !e contenga el resltado7
reslt/et V statement'e6ecteAery9Pselect T from 5orJorder F:+(: 30
origYtime */CP;W
Una vez tengamos el contenido en :eslt/et ya se es capaz de poder tra%a&ar
so%re dic"os datos en el servicio 5e% para s ftra gestin'
3.3.-.7 Interfa# grfica Android
Para continar con la primera iteracin se detalla los elementos !e se peden
mostrar por pantalla con *ndroid# adems se realiza na primera conslta para
compro%ar !e los datos se mestren correctamente por pantalla'
,odo o%&eto !e !eremos !e se mestre por pantalla de%e "eredar de la clase
Vie5 descrita anteriormente' Podemos definir nestras propias clases !e "ereden de
Vie5 o tilizar las clases predeterminadas' (stos elementos se peden organizar y
ordenar dentro de o%&etos Layot'
Los layots son elementos no visales destinados a controlar la distri%cin#
posicin y dimensiones !e se insertan en s interior# entre ellos7
LinearLayot7 *pila no tras otro todos ss elementos "i&os de forma
"orizontal o vertical seg8n se esta%lezca s prioridad' ,am%in se pede
esta%lecer ss propiedades 5idt" y "eig"t para determinar ss dimensiones'
FrameLayot7 Coloca todos ss controles "i&os alinendolos con s es!ina
sperior iz!ierda' /ele tilizarse para mostrar n solo control'
,a%leLayot7 Permite distri%ir ss elementos "i&os de forma ta%lar#
definiendo filas y colmnas necesarias# y la posicin de cada componente
?<
Universidad Politcnica de Valencia
Ingeniera Informtica
dentro de cada ta%la'
:elativeLayot7 Permite especificar la posicin de cada elemento de forma
relativa a s elemento padre o a cal!ier otro elemento inclido en el
propio layot'
Una vez tengamos los layots definidos en la clase Vie5# podemos a$adir los
diferentes controles !e nos ofrece *ndroid para el dise$o de interfaces y !e# a
continacin# se comentan los mas tilizados en este proyecto7
3tton7 (lemento !e di%&a n %otn para la interaccin con el sario'
(ntre ss caractersticas esta la capacidad de a$adir te6to# cam%iar de
color''' Una propiedad a destacar es onClicJ# !e pede generar n evento
cando el sario plsa el %otn'
Image3tton7 Control !e define na imagen a mostrar en vez de n te6to#
para lo !e se de%e definir n GsrcH 9donde esta almacenada la imagen;'
ImageVie57 Control !e permite mostrar imgenes'
,e6tVie57 eti!etas para mostrar te6to al sario# se pede dar el formato
deseado mediante s propiedades'
(dit,e6t7 Componente de edicin de te6to'
Finalmente se detallan los controles de seleccin tilizados en este proyecto y
como aplicar los adaptadores !e son comnes a todos ellos7
*daptadores7 :epresenta el modelo de datos donde accedern a los datos
!e contienen a travs de n adaptador'
final /tring^_ datos Vne5 /tring^_UP(lem>P#P(lem2P#P(lem1PXW
*rray*dapterR/tringS adaptador V ne5 *rray*dapterR/tringS9t"is#
android':'layot'simpleYspinnerYitem# datos;W
/pinner7 Listas desplega%les de *ndroid# mostrando na especie de lista
emergente al sario con todas las opciones disponi%les y al seleccionarse
na de stas se !eda fi&ado el control' Para enlazar n adaptador7
final /pinner Fpciones V 9/pinner;findVie53yId9:'id'Fpciones;W
?=
Universidad Politcnica de Valencia
Ingeniera Informtica
adaptador'set+rop+o5nVie5:esorce
9 android':'layot'simpleYspinnerYdropdo5nYitem;W
Fpciones'set*dapter9adaptador;W
ListVie57 .estra al sario na lista de opciones selecciona%les directamente
so%re el propio control# sin listas emergentes'
Finalmente y para entender completamente el proyecto# se e6plica el
*rray*dapter dise$ado para el proyecto7
class Icon*dapter e6tends *rray*dapterR/tringS U
Icon*dapter9; U
sper9*ctivity't"is# :'layot'listitem# datos;W
X
p%lic Vie5 getVie59int position# Vie5 convertVie5# Vie5)rop parent; U
Vie5 ro5 V convertVie5W
if 9ro5 VV nll; U
ro5 V sper'getVie59position# convertVie5# parent;W
X
,e6tVie5 firsLine V 9,e6tVie5;ro5'findVie53yId9:'id'firstLine;W
firstLine'set,e6t9datos^position_'get,itlo9;;W
,e6tVie5 secondLine V 9,e6tVie5;ro5'findVie53yId9:'id'secondLine;W
secondLine'set,e6t9datos^position_'get/%titlo9;;W
retrn9ro5;W
X
X
Primero se implementa el constrctor para nestro adaptador al !e se le pasa
la actividad !e ser el conte6to del listado'
Posteriormente# se redefine el mtodo encargado de generar y rellenar con los
datos todos los controles necesarios de la interfaz grfica de cada elemento de la lista'
??
Universidad Politcnica de Valencia
Ingeniera Informtica
(l mtodo getVie59; se llamar cada vez !e "aya !e mostrar n elemento de
la lista' Primeramente# se crea e inicializa na fila de nestro layot L.L'
,ras esto# tan slo se tendr !e o%tener la referencia a cada na de las
eti!etas como siempre y asignar s te6to correspondiente seg8n los datos del array y
la posicin del elemento actal 9parmetro position del mtodo getVie59;;'
3.3.-.7.- 5istado Consulta
Una vez se "a e6plicado todos los componentes !e se van a tilizar en el
proyecto# ya se es capaz de definir n listado de conslta# mediante el adaptador
GIcon*dapterH y con la cone6in entre la %ase de datos# servicio 5e% y aplicacin
*ndroid !e se "a e6plicado anteriormente# se o%tiene el sigiente resltado7
!igura 0<: 5istado consulta activos
?C
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3./ Segunda Iteraci.n
,ras la aceptacin de los %ocetos por parte del cliente# en este apartado se va
continar con la fase de constrccin# en concreto# con la segnda iteracin del
proyecto'
(n esta segnda fase se termina la interfaz grfica# !e desps se desglosar
en el apartado del manal de sario e instalacin'
3.3./.- Clases de la aplicaci.n
/e a$aden todas las clases en el servicio 5e% :(/, !e se tilizaran para
gestionar el mantenimiento# ca%e destacar7
*ctivo7 ,odos a!ellos e!ipos y ve"clos del Consorcio y !e se "ace
inventario seg8n el par!e al !e pertenezcan'
Par!e7 Los par!es de 3om%eros del Consorcio Provincial de 3om%eros
de Valencia inclyendo Central'
Frden de ,ra%a&o7 ,odas a!ellas tareas de mantenimiento !e se definen
so%re n activo de n par!e'
Usario7 (l personal operativo !e se encargar de realizar las tareas de
mantenimiento'
3.3././ Gesti.n de activos 1 tareas
(ste apartado se e6plica con mas detalle en el manal de sario donde se
podr visalizar las interfaces tilizadas para s gestin# en cam%io# en esta seccin
se e6plica la implementacin de los 4uicPActions en el listado de activos y tareas#
!e permite n so mc"o mas intitivo# al plsar so%re cal!ier dato del listado#
aparece n men8 !e mestra las opciones !e se tienen so%re ese dato en forma de
listado'
AicJ*ctions no estn inclidos en el plgin estndar de *ndroid /+I# por lo
!e "ay !e crearlos manalmente' /e "a tilizado n layot simple y plano %asado
en el AicJ*ctions de contactos o de t5itter de *ndroid'
?@
Universidad Politcnica de Valencia
Ingeniera Informtica
(n primer lgar# se crean los Gaction
itemsH !e son todas a!ellas opciones !e
tendr el men8 AicJ*ctions y se asocia n
titlo y n icono para !e sea mas visal7
*ctionItem addItem V
neJ *ctionItem9I#)E#IT# P(ditarP#
get:esorces9;'get+ra5a%le9 :'dra5a%le'ic)u
p)a7ul;;W
* continacin# se implementa la instancia de
AicJ*ctions y se a$aden los Items al
AicJ*ction7
final AicJ*ction mAicJ*ctionW
mAicJ*ction'add*ctionItem9addItem;W
/egidamente# se implementa el mtodo !e
mestra !e elemento de accin es plsado7
!igura 0-: 4uicPAction en Android
mAicJ*ction'setFn*ctionItemClicJListener9neJ
AicJ*ction'Fn*ctionItemClicJListener9; U
`Fverride
pu+lic void onItemClicJ9AicJ*ction !icJ*ction# int pos# int actionId; U
X
X;W
Finalmente# se a$ade el cdigo para mostrar el men8 AicJ*ctions cando se plsa
la fila correspondiente7
ro5'setFnClicJListener9neJ FnClicJListener9; U
`Fverride
pu+lic void onClicJ9Vie5 v; U
mAicJ*ction's"o59v;W
X
X;W
CB
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3./.0 Autenticaci.n I(A%
Para continar con esta segnda iteracin se acerda con el cliente realizar na
pantalla de atenticacin para permitir solo al personal operativo acceder a las tareas
de mantenimiento del Consorcio# !e consiste en la atenticacin contra el correo de
la compa$a y na gestin de errores de login y contrase$a' Para realizar esta
implementacin se necesita instalar la li%rera -ava.ail'
-ava.ail es na e6pansin de -ava !e facilita el envo y recepcin de eNmail desde
cdigo -ava'
(n el proyecto tan solo se realiza el proceso de cone6in con el servidor de
correo mediante la atenticacin y se conslta si se "a realizado la atenticacin con
6ito para permitir el acceso al personal atorizado'
Properties props V neJ Properties9;W
props'setProperty9Pmail'store'protocolP# PimapP;W
props'setProperty9Pmail'imaps'"ostP# PservidorYcorreoY%om%erosP;W
props'setProperty9Pmail'imaps'portP# PpertoYservidorYcorreoP;W
props'setProperty9Pmail'imaps'socJetFactory'classP#
P&ava6'net'ssl'//L/ocJetFactoryP;W
props'setProperty9Pmail'imaps'socJetFactory'fall%acJP# PfalseP;W
/ession imap/ession V /ession'$etInstance9props;W
/tore store V imap/ession'get/tore9PimapP;W
store'connect9PservidorYcorreoY%om%erosP# sario# contrasenya;W
if 9store'isConnected9;; U
conectado V trueW
X
return conectadoW
3.3./.3 Almacenamiento en Android
(n aplicaciones tpicas de escritorio# el sistema operativo ofrece el sistema de
fic"eros para compartir datos entre aplicaciones# en cam%io# en *ndroid# los fic"eros
son privados por aplicacin'
Para compartir informacin# se tilizan los Content Providers# !e no es mas !e n
mecanismo !e proporciona *ndroid para compartir informacin entre aplicaciones'
Finalmente en la segnda iteracin se descri%e las diferentes formas de
almacenamiento de datos en *ndroid y la gestin !e se realiza para gardar los
datos del sario y s cdigo de par!e asociado mediante las preferencias en
C>
Universidad Politcnica de Valencia
Ingeniera Informtica
*ndroid7 G/"aredPreferencesH'
*ndroid ofrece varias posi%ilidades de almacenamiento de datos seg8n !e caso7
%references:
(s na tcnica gil para gardar datos simples de la aplicacin# estos se
almacenan en pares JeyMvale y es sado tpicamente para gardar las preferencias de
la aplicacin 9fentes# colores''';' (n el caso del proyecto# se tiliza para el
almacenamiento del login del sario y de s cdigo de par!e asociado7
final /tring .0P:(F/ V P.yPreferencesYBB>PW
/"aredPreferences my/"aredPreferencesW
/"aredPreferences'(ditor my(ditorW
pu+lic void onCreate93ndle savedInstance/tate; U
my/"aredPreferences V get/"aredPreferences9.0P:(F/# B;W
my(ditor V my/"aredPreferences'edit9;W
save+etails9vie5;
X
private +oolean save+etails9Vie5 vie5; U
my(ditor'pt/tring9GcodigoYpar!eH# codigoYpar!e;W
my(ditor'pt/tring9GsarioH# sario;W
my(ditor'commit9;W
return trueW
X
+e esta forma se garda datos primitivos 93oolean# /tring# float'''; y estos
persisten an!e la aplicacin mera'
!ic"eros locales:
*cceso similar a -ava estndar# se de%en crear inpts y otpt streams# pero
solo se soportan arc"ivos !e estn creados en la misma carpeta !e la aplicacin'
(sta rta es7 MdataMapp 9gratitas; y MdataMappNprivate 9de pago;7
/tring FIL(YK*.( V Ptempfile'tmpPW
FileFtpt/tream fos V openFileFtpt9FIL(YK*.(# Conte6t'.F+(YP:IV*,(;W
FileInpt/tream fis V openFileInpt9FIL(YK*.(;W
C2
Universidad Politcnica de Valencia
Ingeniera Informtica
S45ite:
(s n %ase de datos Fpen /orce !e cmplimenta los estndares de 3ds'
*dems no re!iere e6cesivos recrsos y las consltas se develven como o%&etos
Crsor# apntando a la informacin'
Cada %ase de datos es privada para la aplicacin# pero peden acceder todas las clases
de sta' (stas se almacenan en la carpeta MdataMdataMnom%reYpacJageMdata%ases'
Servicio 6e+:
Ftra forma de almacenamiento# pero en este caso e6terna# y !e ya se "a
comentado en captlos anteriores es enviar la informacin a n servicio 5e% para s
almacenamiento a %ases de datos e6ternas y !e generalmente sirve para cando esta
informacin tiene !e ser gestionada de forma e6terna y adems pede ser
modificada por varios dispositivos mviles'
3.3.0 Tercera Iteraci.n
Finalmente se completa el proyecto con na 8ltima iteracin# donde se
proceder con los detalles finales !e se esta%lecieron con el cliente de forma !e se
termine la aplicacin y se pede pasar a la fase final de cierre o transicin'
3.3.0.- Selecci.n de %ar2ue
(n este apartado se procede a la realizacin de n listado de par!es con el
adaptador detallado anteriormente GIcon*dapterH' (ste listado se encarga de mostrar
el par!e al !e pertenece el personal atenticado# indicado en el servicio 5e%# por
otro lado# si el personal operativo esta asignado a central# el listado mestra todos los
par!es del Consorcio# por !e los sarios de central tienen permisos para "acer las
revisiones de mantenimiento en cal!ier par!e del Consorcio'
3.3.0.-.- Estado de ConeMi.n
(n la mayora de ventanas de la aplicacin *ndroid se "ace so de cone6in al
servicio 5e% y# por tanto# a la red del Consorcio' Por esto# es de especial inters
gestionar de%idamente el estadio de cone6in con el servicio 5e% y mostrar n
dialogo de error en caso de !e la compro%acin sea errnea7
C1
Universidad Politcnica de Valencia
Ingeniera Informtica
final *lert+ialog dialog V neJ *lert+ialog'3ilder9t"is;'create9;W
dialog'set,itle9P(rrorP;W
dialog'set.essage9PImposi%le o%tener la lista de Usarios' an:evise s cone6in'P;W
dialog'set3tton9PFIP# neJ +ialogInterface'FnClicJListener9; U
pu+lic void onClicJ9+ialogInterface dialog# int 5"ic"; U
MM ,ratamiento del dialogo
X
X;W
MM F%tenemos el personal
Personal+*F Personal+*F V neJ Personal+*F9get*pplicationConte6t9;;W
*rrayListR/tringS items V Personal+*F'descargarPersonal9sario;W
if 9items VV null; U
MM /i falla# mostramos la alerta de dialogo
dialog's"o59;W
return falseW
X
Una vez controlada la gestin de errores# se pasa a la compro%acin de !e el
estado de la cone6in sea valido# esto se realiza en el +*F y se compre%a si la
cone6in develve na e6cepcin7
tr1 U
&son:eslt V rest'getForF%&ect9rl# /tring'class# PsariosP;W
X catc" 9:estClient(6ception e2; U
e2'print/tacJ,race9;W
return nullW
X
3.3.0.-./ $ilogos
+ado !e se "a "a%lado de dilogos en el apartado anterior se va a comentar y
definir n poco ss tilidades en *ndroid' /e trata de n mecanismo para mostrar o
solicitar informacin pntal al sario y !e se podrn tilizar con distintos fines# en
general7
.ostrar n mensa&e'
Pedir na confirmacin rpida'
/olicitar na eleccin 9simple o m8ltiple; entre varias alternativas'
C2
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.0./ !iltrado por %ar2ue
(n este apartado se descri%e como se "a implementado la lgica para filtrar
tanto los activos como las ordenes de tra%a&o por el par!e seleccionado previamente'
+e forma %sica y resmida# las operaciones !e se realizan para tratar este
filtrado consisten en la compro%acin de !e el campo del par!e !e tiene el activo
almacenado corresponda al par!e seleccionado por el personal operativo !e esta
atenticado en ese momento' ,odo esto se realiza en el +*F de la aplicacin
*ndroid en el proceso de descargar de datos del servicio 5e%'
Por otra parte para gestionar el filtrado en las ordenes de tra%a&o# el proceso es
%astante similar# con la 8nica diferencia# !e tan solo n activo corresponde a na
orden de tra%a&o# y es el activo el !e pertenece al par!e correspondiente# por tanto#
se tendr !e comparar el activo asociado a esta orden de tra%a&o con el par!e
seleccionado por el personal operativo !e esta atenticado en ese momento'
Por 8ltimo# ca%e decir !e si el personal operativo "a seleccionado como
par!e Central# tendr los listado de activos y ordenes de tra%a&o completos de todos
los par!es# e6cepto a!ellas ordenes de tra%a&o !e se "ayan cerrado'
3.3.0.0 )rdenaci.n por !ec"a
(n esta seccin se detalla como se "a dise$ado para realizar la ordenacin de
las tareas por fec"a de inicio# siendo las mas cercanas a la fec"a actal# las !e se
tendr en el principio del listado de ordenes de tra%a&o'
(n primer lgar# en el servicio 5e% se realiza na conslta a la %ase de datos
donde se almacenan estas ordenes de tra%a&o# la cal se ordena mediante el tiempo de
inicio# de esta forma se o%tiene n servicio 5e% con ordenes de tra%a&o ya ordenadas
de%idamente'
* continacin# en la aplicacin *ndroid# tan solo se tendr !e realizar na
lectra del servicio 5e%# y este# le mandar los datos de forma ordenada por fec"a de
inicio de la orden de tra%a&o'
C<
Universidad Politcnica de Valencia
Ingeniera Informtica
3.3.0.3 Cierre de Tarea
* continacin se descri%e la implementacin del cierre de tareas en la
aplicacin *ndroid# !e se prodcir na vez se "aya "ec"o el mantenimiento en n
activo' (n primer lgar# se de%e seleccionar la orden de tra%a&o correspondiente y
realizar la edicin de la tarea !e se esta compro%ando'
,ras esto# el personal operativo seleccionara del listado de tareas# la tarea !e desea
cerrar y la aplicacin le indicara mediante n dialogo las opciones de las !e dispone
para el cierre de la tarea correspondiente7
:eselta7 ,area finalizada con 6ito'
/in resolver7 Ko "a podido resolverse# pero se cierra por distintas casas'
+plicada7 +os sarios distintos "an creado dic"a tarea'
Ko procede7 La tarea no se corresponde con lo !e se de%e "acer'
Una vez seleccionada la opcin# esta se gardar en la %ase de datos# marcando
la orden de tra%a&o como cerrada y# por tanto# esta tarea ya no se visalizar en el
apartado de listado de tareas'
3.3.0.7 ?istorial de *evisiones
(n esta seccin se comenta la lgica tilizada para el dise$o del "istorial de
revisiones# !e ser de gran tilidad para cmplir con todas las fases del
mantenimiento en na empresa'
(n primer lgar# cando se plsa so%re el icono del "istorial de revisiones# este
descarga del servicio 5e% todos los activos del par!e seleccionado'
* continacin# el sario seleccionar n activo !e desee revisar y le
aparecer el listado de tareas# tanto activas como cerradas !e se "an realizado so%re
ese activo en concreto'
3.3.0.8 'isuali#ar %$!
(n esta seccin se detalla la lgica aplicada para realizar la visalizacin de la
docmentacin y gas operativas para !e el personal operativo peda consltar y
realizar las tareas de forma ptima'
if 9pdfFile'e6ists9;; U
Uri pat" V Uri'fro%8ile9pdfFile;W
Intent pdfIntent V neJ Intent9Intent'ACTIO+)2IE0;W
pdfIntent'set+ata*nd,ype9pat"# PapplicationMpdfP;W
pdfIntent'setFlags9Intent'86A9)ACTI2IT:)C6EAR)TOP;W
start*ctivity9pdfIntent;W
X
C=
Universidad Politcnica de Valencia
Ingeniera Informtica
C?
Universidad Politcnica de Valencia
Ingeniera Informtica
7 !ase de Cierre
(l propsito de esta fase es asegrar !e el soft5are est disponi%le para los
sarios finales# a&star los errores y defectos encontrados en las pre%as de
aceptacin# capacitar a los sarios y proveer el soporte tcnico necesario' /e de%e
verificar !e el prodcto cmpla con las especificaciones entregadas en el proyecto'
7.- (anual de Instalaci.n
* continacin se procede a la descripcin de la generacin de n instala%le
con la e6tensin 'apJ para la posterior instalacin en el dispositivo mvil sin tener
!e s%ir la aplicacin a )oogle Play'
Para la creacin del instalador# el proyecto de%e ser firmado digitalmente para
la posterior instalacin en n dispositivo' /e pede realizar sin la necesidad de n
certificado digital# sino directamente al e6portar el proyecto a n *ndroid
*pplication se mestra n formlario para rellenar los campos !e el desarrollador
de%e modificar para poner ss propios datos7
Location Iey/tore7 :ta para gardar el Jeystore'
Iey/tore Pass5ord7 Contrase$a para la segridad del Jeystore'
*lias7 Identificador con el !e se refieren las claves !e se estn creando'
Iey Pass5ord7 Contrase$a para acceder a las claves !e se estn creando'
Certificate Validity7 Periodo de tiempo de validez'
,ras rellenar estos campos# se solicita na serie de datos personales !e el
desarrollador opcionalmente pede rellenar para asociar con el alias !e se "a creado'
Una vez se "a "ec"o esto# finalmente (clipse nos indica donde !eremos sitar
nestro 'apJ y con esto se o%tiene la aplicacin lista para s instalacin'
CC
Universidad Politcnica de Valencia
Ingeniera Informtica
7.-.- Instalaci.n de Aplicaciones
Primeramente se tiene !e o%tener el 'apJ !e !eremos instalar en el
dispositivo mvil# e6plicado en el apartado anterior' * continacin se copia este
arc"ivo por ca%le al dispositivo y en el men8 a&stes vamos plsando tal y como se ve
en las sigientes imgenes7
!igura 0/: Configuraci.n de aplicaciones
!igura 00: Activar )rgenes desconocidos
C@
Universidad Politcnica de Valencia
Ingeniera Informtica
Finalmente slo tenemos !e ir con n navegador de arc"ivos donde
"%iremos copiado el apJ correspondiente y lo e&ectamos'
7./ (anual de @suario
,ras la generacin del 'apJ y la configracin de dispositivos mviles para la
instalacin de aplicaciones !e no se "ayan descargado de )oogle Play# el personal
operativo tan solo necesita na directrices para tilizar el sistema de mantenimiento
de forma flida'
7./.- Selecci.n de la Aplicaci.n
(n primer lgar# se accede al listado de todas las aplicaciones !e dispone
nestro dispositivo mvil# segidamente# se selecciona la aplicacin de
mantenimiento del Consorcio Provincial de 3om%eros de Valencia# a!ella !e
dispone del logo del Consorcio como icono de la aplicacin'
!igura 03: Selecci.n de la aplicaci.n
@B
Universidad Politcnica de Valencia
Ingeniera Informtica
7././ Autenticaci.n de la Aplicaci.n
* continacin# la aplicacin nos mestra na interfaz de atenticacin donde
se de%e introdcir el sario y contrase$a para poder acceder al men8 principal'
!igura 07: Autenticaci.n en la aplicaci.n
Cando se "aya introdcido estos datos y al plsar so%re el %otn de GIniciar
/esinH peden ocrrir tres estado7
.ostrar n mensa&e de G(scri%ir sario yMo contrase$aH# cando el sario no
"a introdcido ning8n dato en los apartados correspondientes'
.ostrar n mensa&e de G(l sario o contrase$a son incorrectosH# cando el
sario no "a introdcido los datos correctamente o no tiene permisos para
acceder a la aplicacin'
*cceso con 6ito cando el sario se "a atenticado con 6ito mediante el
servidor de correo I.*P y se procede a la descarga de datos mediante el
sigiente dialogo de progreso mostrado en la figra sigiente'
Finalmente# podemos plsar so%re el icono de informacin !e se encentra
arri%a a la derec"a# !e mestra los pasos !e se de%en segir en cada na de las
pantallas de la aplicacin'
@>
Universidad Politcnica de Valencia
Ingeniera Informtica
!igura 08: $ialogo descarga de datos
* continacin la aplicacin mestra na pantalla donde se mestra n listado
de los par!es del Consorcio' /i el personal operativo esta asociado a central# se
mestra el listado de todos los par!es# en cam%io# pede estar asociado a n par!e
en concreto# por lo !e# por permisos en el Consorcio# solo se visaliza dic"o par!e7
!igura 09: Selecci.n par2ue
@2
Universidad Politcnica de Valencia
Ingeniera Informtica
7./.0 %antalla %rincipal
(ste men8 se divide en catro iconos principales para la gestin del
mantenimiento# adems contiene n icono de informacin de lo !e realiza cada
icono y na crceta para realizar n logot en el programa7
!igura 0:: %antalla %rincipal
(l primer icono a comentar es la !e esta sitada arri%a a la derec"a# esta
pantalla nos permite cam%iar de par!e respecto al !e "a%amos seleccionado al
principio# si el sario es personal operativo asignado a central# sino tan solo saldr el
par!e al !e el sario esta asignado' (sta pantalla es similar a la pantalla !e se "a
comentado anteriormente y !e corresponde con la seleccin del par!e'
7./.3 Gesti.n de Activos
* continacin# se procede a la descripcin de la gestin de activos# icono
sitado a%a&o a la iz!ierda y !e tras s plsacin aparece n listado de todos los
activos sitados en el par!e correspondiente# como se pede o%servar en la figra
sigiente7
@1
Universidad Politcnica de Valencia
Ingeniera Informtica
!igura 0;: 5istado de Activos !igura 3<: A=adir Activos
,ras o%tener el listado de activos# se pede realizar la gestin completa del activo7
a$adir no nevo# editar y %orrarlo como se pede o%servar en las figras'
,an solo detallar !e en en el apartado del %orrado de activos# este proceso mostrar
n dialogo de error# si este activo contiene na orden de tra%a&o'
Por otro lado al editar n activo# aparecen dos flec"as en la parte sperior para poder
moverse en el listado de na forma visal e interactiva'
!igura 3-: Edici.n Activos !igura 3/: &orrar Activos
@2
Universidad Politcnica de Valencia
Ingeniera Informtica
7./.7 Gesti.n de )rdenes de Tra+a>o
/egidamente# desde el men8 principal se pede acceder a la gestin de
ordenes de tra%a&o plsando el %otn sitado en la parte sperior iz!ierda# y !e
tiene na ar!itectra my similar a la de la gestin de activos# la 8nica diferencia
%sica es !e na orden de tra%a&o se pede cerrar# eliminndose del listado de tareas
pero no del "istorial de revisiones'
!igura 30: 5istado de Tareas !igura 33: A=adir Tareas
!igura 37: Edici.n de Tareas !igura 38: Cerrar Tareas
@<
Universidad Politcnica de Valencia
Ingeniera Informtica
7./.8 ?istorial de *evisiones
:especto al "istorial# al !e se pede acceder desde el men8 principal plsando
so%re el %otn sitado en la parte inferior derec"a# tenemos en primer lgar na
pantalla de todos los activos !e se encentran en el par!e seleccionado'
* continacin se selecciona el activo deseado y se plsa so%re este# se pede
o%tener el listado de todas las ordenes de tra%a&o !e se "an realizado so%re este
activo y visalizar las tareas de forma informativa'
/e "a segido na poltica de a"orro y eficiencia en lo !e corresponde en la
retilizacin de pantallas# por tanto no es necesario inclir las pantallas de listado de
activos# dado !e es el mismo !e en la figra anterior'
/egidamente y tras plsar so%re n activo para !e mestre s listado de
tareas# se mestra la misma pantalla de listado de tareas con la 8nica diferencia de
!e aparecern a!ellas tareas !e ya "an sido cerradas como se mestra en la figra'
Finalmente# tras plsar so%re na tarea# aparece n AicJ*ction !e nos
despliega n men8 para poder visalizar la tarea como se mestra en la figra# con la
diferencia de !e no se pede editar la informacin'
!igura 39: ?istorial de Tareas !igura 3:: 'isuali#ar ?istorial
@=
Universidad Politcnica de Valencia
Ingeniera Informtica
7./.9 (ensa>es de la Aplicaci.n
* continacin# se detalla %revemente n con&nto de figras con el resto de
posi%les mensa&es !e se pede encontrar n sario al tilizar la aplicacin'
!igura 3;: !i>ar !ec"a !igura 7<: Informaci.n

!igura 7-: !i>ar "ora !igura 7/: Selecci.n
@?
Universidad Politcnica de Valencia
Ingeniera Informtica
!igura 70: 4uicPActions !igura 73: Error coneMi.n
Finalmente en los apartados de edicin de tareas o de edicin de activos se
pede consltar las gas informativas para realizar las tareas de mantenimiento o
para conocer las partes y caractersticas respectivamente'
!igura 77: Guas )perativas
@C
Universidad Politcnica de Valencia
Ingeniera Informtica
@@
Universidad Politcnica de Valencia
Ingeniera Informtica
8 Ampliaciones
,anto la aplicacin como el servicio 5e% :(/, estn preparados y
programados para facilitar el dise$o e implementacin de nevas fncionalidades en
n ftro para el Consorcio'
(ste sistema de mantenimiento es el es!eleto de n sistema !e se
incrementara en el ftro seg8n las necesidades del personal operativo# con lo !e se
pretende dise$ar para informatizar toda esta gestin y !e adems sea de forma
mvil'
Una posi%le e inmediata ampliacin podra ser el registro de "oras del personal
operativo !e realiza dic"o mantenimiento y a partir de a! se peden o%tener
estadsticas anales de eficiencia# velocidad# eficacia'''etc'
Por otro lado# otra ampliacin con respecto al registro de "oras# sera !e el
personal operativo registre el inicio del mantenimiento y !e la aplicacin
atomticamente# mediante n cronometro# vaya conta%ilizando el tiempo# y !e
cando el sario finalice la gestin y el mantenimiento y lo registre en la aplicacin#
esta finalice el tiempo y atomticamente indi!e el intervalo de tiempo !e "a
consmido el sario en realizar dic"a tarea'
Finalmente# se pede realizar na ampliacin !e incremente la segridad en
los servicios 5e%# de forma !e cando se solicite informacin a travs de la
aplicacin se velva a "acer na atenticacin I.*P en el servidor de correo de la
compa$a# an!e estvo contemplado# finalmente se decidi por no dise$ar este
modlo por redndancia'
>BB
Universidad Politcnica de Valencia
Ingeniera Informtica
>B>
Universidad Politcnica de Valencia
Ingeniera Informtica
9 Conclusi.n
(n conclsin# este proyecto realizado drante todo este tiempo en el
Consorcio Provincial de 3om%eros de Valencia "a servido de na introdccin en el
mercado la%oral tilizando los conceptos aprendidos en la Universidad Politcnica de
Valencia' *dems "a sido my gratificante poder aydar al cerpo de %om%eros y
devolverle na pizca de lo !e ellos "acen por nosotros a diario'
(n primer lgar# pntalizar !e todos los o%&etivos !e se "an desarrollado en
la fase de inicio "an sido llevados a ca%o con 6ito# gracias a la motivacin de !e el
sistema "a sido re!erido por el mismo )erente del Consorcio y so%retodo a !e el
proyecto era de cierta importancia de%ido a !e se !iere aplicar de forma inmediata'
Por otro lado# este proyecto reslta innovador para el consorcio# an!e e6isten
algnos soft5are Fpen /orce de tipo 5e% en el mercado# se re!era na aplicacin
para n dispositivo mvil dado !e la gestin de mantenimiento re!iere de mc"a
movilidad'
*dems de esto la solcin implementada "a ofrecido ciertas venta&as# como el
peso redcido de los dispositivos mviles# la interfaz intitiva dise$ada para el
proyecto# la integracin con las %ases de datos del consorcio y la entrada de datos GinN
sitH'
)racias a esto# se "an eliminado los costes de impresin de los formlarios de
gestin de mantenimiento yMo la &stificacin de !e na orden de tra%a&o se "a
realizado pensando en el medio am%iente# adems otra venta&a es la contina
actalizacin de la informacin en las %ases de datos y el registro de las revisiones
para ftras consltas'
(l proyecto tam%in re!iere de cierto personal# so%retodo personal operativo
de central# !e peda gestionar el mantenimiento de los par!es con n dispositivo
mvil# por tanto# "a sido my complaciente el poder incrementar los pestos de
tra%a&o y todo ello a coste cero por lo !e respecta el desarrollo y licencias del
soft5are'
Finalmente# desde el pnto de vista personal# "e podido aprender a programar
en na plataforma mvil tilizando metodologas giles 9:UP; y plasmndolo en la
memoria del proyecto# adems de estar en contacto constante con el cliente#
realizando reniones y o%teniendo re!isitos para la aplicacin a travs de ellas'
>B2
Universidad Politcnica de Valencia
Ingeniera Informtica
>B1
Universidad Politcnica de Valencia
Ingeniera Informtica
: &i+liografa
:eto .eier# GProfessional *ndroid 2 *pplication +evelopmentH# (d7 4ro6
Programmer to Programmer# .arzo 2B>B'
+an Pilone# Keil Pitman# U.L 2'B in a Kts"ell' (d7 Fb:eilly# -ne 2BB<
Dans (riJ (riJsson# U.L 2'B ,oolJit' (d7 4iley 2BB2'
*ndroid developer )ide7 *ttp9//dev eloper.android.com/%uide/inde2.*tml
accedido en 3ar7o ;<=;
.arJ L' .rp"y# G3eginning *ndroid 2H# 2B>B'
4e% oficial *ndroid7 555'android'com accedido en Aril ;<=;
)rpo de desarrolladores *ndroid7
"ttp7MMgrops'google'comMgropMdesarrolladoresNandroi d accedido en 3ar7o ;<=;
+esarrollo Iterativo7 "ttp7MMes'5iJipedia'orgM5iJiM+esarrolloYiterativoYyYcreciente
accedido en 8erero ;<=;
+esarrollo C:U+7 "ttp7MMes'5iJipedia'orgM5iJiMC:U+ accedido en 3ar7o ;<=;
+ise$o singleton7 "ttp7MM555'vogella'deMarticlesM+esignPattern/ingletonMarticle'"tml
accedido en 3ar7o ;<=;
+ise$o :(/,7 "ttp7MM555'vogella'deMarticlesM:(/,Marticle'"tml# 8erero ;<=;
:(/, O /pring7 "ttp7MM555'i%m'comMdeveloper5orJsM5e%servicesMli%raryM5aNrestfl
accedido en 8erero ;<=;
Cliente /pring7 "ttp7MM555'springsorce'orgM accedido en 8erero ;<=;
AicJ*ctions7
"ttp7MM555'londatiga'netMitM"o5NtoNcreateN!icJactionNdialogNinNandroid# 3ar7o 2B>2
>B2

Das könnte Ihnen auch gefallen