!
!
!
!
!
!
!
!
!
!
!
!
!
Desa ollo de un sis ema de !
con ol de asis encia de p o eso ado !
guiado po p uebas: Tes D i en De elopmen
!
!
!
G ado en Ingenie ía In o má ica
T abajo Fin de G ado
Junio de 2014
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Au o Rubén Díaz Ma ínez
Tu o es José Juan He nández Cab e a. Dp o. In o má ica y Sis emas
F ancisco José San ana Pé ez. Dp o. In o má ica y Sis emas
!
!
!
!
!
!
!
!
!
!
!
!
!
!
1. Obje i os!1!..............................................................................................
2. Es ado ac ual!3!.......................................................................................
3. Resul ados!4!...........................................................................................
3.1. P opues a de alo !4!...............................................................................
3.2. Requisi os!5!.............................................................................................
3.2.1. Casos de Uso!5!....................................................................................
3.2.2.No ma i a y legislación!7!.......................................................................
3.2. Diseño!9!..................................................................................................
3.2.1. Diseño del sis ema!9!............................................................................
3.2.2. Diseño de la base de da os!10!.............................................................
3.2.3.Diseño del so wa e!11!..........................................................................
3.2.4.Diseño de la in e az de usua io!17!.......................................................
4. Desa ollo!22!...........................................................................................
4.1.Mé odo de desa ollo!22!...........................................................................
4.1.1.Desa ollo Guiado po P uebas!23!........................................................
4.1.2.Tes s implemen ados!26!........................................................................
4.2.Tecnología!27!...........................................................................................
4.3. I e aciones!29!..........................................................................................
4.3.1. Idea inicial!29!........................................................................................
4.3.2. I e ación 1. Funcionalidades!31!............................................................
4.3.3. I e ación 2. In e az de usua io!35!........................................................
4.3.4.I e ación 3. Feedback y mejo as!39!......................................................
5. Conclusiones!46!.....................................................................................
6. T abajos u u os!48!................................................................................
7. Fuen es de In o mación!50!....................................................................
Anexo A. Manual de ins alación!51.............................................................
!
1. Obje i os!
!
El p esen e documen o de alla el desa ollo de una aplicación pa a el egis o de la
asis encia de p o eso ado a clase.
!
El p oyec o ha sido u o izado po José Juan He nández Cab e a y F ancisco José
San ana Pé ez. En el es o del documen o, pa a ab e ia , cuando se haga e e encia a
José Juan se le nomb a á como u o y a F ancisco José como p oduc owne
(p opie a io del p oduc o), ya que ac ualmen e eje ce como di ec o de la Escuela de
Ingenie ía In o má ica de la Uni e sidad de Las Palmas de G an Cana ia, po lo que, a
e ec os p ác icos, se le conside a como al.
!
Los obje i os que se pe siguen con la ealización de es e abajo se pueden sepa a en
dos ipos: a ni el adminis a i o pa a el clien e in e esado en el desa ollo del p oduc o
y a ni el pe sonal/académico pa a el es udian e.
!
A ni el adminis a i o, enemos los siguien es obje i os cla e:
!
•Como la in o mación es a á digi alizada, a a con ella se ía mucho más ácil.
En apa ados siguien es comen a emos algunos de los ámi es que pe mi i á
agiliza es a he amien a.
!
•A ni el del p o eso ado, el sis ema no i ica á median e co eos elec ónicos si se
ha i mado su docencia. Es o si e a los p o eso es como egis o de la docencia
que han impa ido, o si les sus i uye o o p o eso , en e a se de que no ha habido
ningún p oblema.
!
A ni el pe sonal y académico, se pe siguen los siguien es obje i os:
!
•Pa icipa en el desa ollo de un p oduc o so wa e de p incipio a in, algo que
no se puede ealiza en las dis in as asigna u as de la ca e a po mo i os
empo ales.
!
•Aplica mé odos de desa ollo ágil is os en la ca e a pe o de un modo más
“ ealis a”, al pode con a con un clien e eal in e esado en el p oduc o que se
es á desa ollando y del que se puede ob ene eedback cons an e.
!
•Aplica el desa ollo guiado po p uebas (Tes -D i en De elopmen ) en el
desa ollo de un so wa e comple o, ya que du an e la ca e a, si bien se explica
es e p oceso y se u iliza en algunas p ác icas, solo se usaba pa a desa olla
ca ac e ís icas aisladas y no in eg a las en un so wa e.
!
!
!1
A con inuación, se desc ibe la si uación ac ual del con ol de asis encia al p o eso ado
en la Escuela de Ingenie ía In o má ica así como las apo aciones del p oyec o a dicho
p oceso. La pa e cen al del documen o la ocupa la documen ación comple a del
p oduc o, de allando los equisi os y diseño de la aplicación. Después de es o, se de alla
el p oceso de desa ollo desde la idea inicial del p oduc owne , pasando po la elección
de la ecnología pa a el desa ollo has a la implemen ación del p oduc o solici ado. Po
úl imo, se sugie en posibles abajos u u os pa a mejo a el abajo desa ollado o
nue as aplicaciones que se apoyen en los da os ecogidos y las conclusiones ob enidas,
así como las e e encias bibliog á icas.!
!2
2. Es ado ac ual!
!
El desa ollo de es e p oyec o su ge de una idea inicial p esen ada po el p oduc owne
como una de sus p opues as elec o ales pa a la di ección de la Escuela de Ingenie ía
In o má ica (a pa i de aho a, EII).
!
Cuando un p o eso iene una clase que impa i , debe i ma pa a ac edi a que ha dado
esa docencia. Ac ualmen e en la EII, lo que se hace es pone a disposición de odos los
p o eso es una lis a con oda la docencia del día ac ual y los p o eso es deben i ma la
an es de asis i a clase. Es o es una solución que a nues o p oduc owne no le e mina
de con ence po que a a con la in o mación es algo cos oso o dado que se puede
i ma odo de golpe, hab á p o eso es que i men oda la docencia y luego puede su gi
un imp e is o que no les pe mi a impa i la docencia que han i mado. En euniones
con el Vice ec o del P o eso ado ambién se comen ó la si uación ac ual en o as
escuelas uni e si a ias, donde muchas eces ni siquie a se lle aba dicho con ol a cabo.
!
La solución que p opone implemen a el p oduc owne es algo muy sencillo. Coloca
en un pun o del edi icio un sis ema po el que odos los p o eso es engan que pasa
an es de i a clase, iden i ica se en él, mos a la docencia que ienen asignada en la ho a
ac ual y ma ca la como i mada de mane a i ual.
!
La idea de nues o clien e es desa olla el p oyec o pa a la EII y, as un pe íodo de
p ueba, comenza la implan ación en oda la Uni e sidad de Las Palmas de G an
Cana ia.
!
Es a idea su ge de un sis ema simila que se u iliza ac ualmen e en la UNED, según nos
comen a el p oduc owne . Cuando un p o eso en a en la UNED, debe iden i ica se en
un sis ema median e usua io con aseña pa a no i ica que es á en el cen o y ol e a
pasa po ese sis ema cuando a a i se. Es o se usa pa a que los alumnos que ayan a
u o ía puedan consul a desde ese mismo sis ema si el p o eso al que quie en e se
encuen a en el edi icio o no.
!
!3
3. Resul ados!
!
A con inuación, se desc iben los esul ados ob enidos del desa ollo del sis ema. Se
de alla la p opues a de alo a la que se ha llegado inalmen e, los equisi os y el diseño
de la aplicación.
!
3.1. P opues a de alo !
!
El alo que apo a es e p oduc o se puede e de dos o mas dis in as. Desde el pun o
de is a del p oduc owne , el alo que le apo amos es acili a las a eas
adminis a i as a la ho a de consul a da os como pueden se los siguien es:
!
•De ec a si una ho a de docencia no se impa e.
!
•En casos de huelga, la adminis ación iene que comp oba que odos los
p o eso es que no han impa ido clases sean aquellos que han hecho huelga.
Haciendo una simple consul a al sis ema se pueden ob ene los p o eso es que
no impa ie on clase y comp oba con la lis a de los que es aban apun ados a la
huelga.
!
En cambio, pa a los p o eso es, el alo lo apo an las no i icaciones que mande la
aplicación, pa a ene cons ancia de que se ha i mado su docencia, ya sea po ellos
mismos o po o o p o eso .!
!4
3.2. Requisi os!
!
En es e apa ado desc ibimos los equisi os que cumple la aplicación, en o ma de casos
de uso y la no ma i a y legislación que nos concie ne.
3.2.1. Casos de Uso
!
!
Ac edi a asis encia
Pa a que un p o eso ac edi e su asis encia a una clase, debe segui una se ie de pasos
sencillos.
!
•Iden i ica se en el sis ema in oduciendo su núme o de DNI. Una ez
au en i icado en el sis ema end á la posibilidad de ce a sesión en cualquie
momen o. Pasado un minu o de inac i idad, la sesión se ce a á de o ma
au omá ica.
•Selecciona la docencia que a a ac edi a . Po de ec o, se mos a án
seleccionadas las ho as de docencia asignadas al p o eso en la anja ho a ia
ac ual, pudiendo deselecciona las o ol e las a selecciona . Si el p o eso
de ec ase que no se mues a la docencia que debe ía ene aho a, puede en ia
una no i icación.
•Pa a en ia una no i icación, el p o eso selecciona el ipo de no i icación que
quie e en ia y i me sob e la able a e incluye algún de alle si ue a
necesa io.
•Fi ma la docencia. Una ez i mada la docencia, se ce a á la sesión. Si se
ealiza a una i ma y no se pulsa á el bo ón de con i mación en la able a, al
ce a se la sesión de ec a á que hay una i ma y gua da a la docencia i mada.
!
Escena io ípico:
1. El p o eso se iden i ica in oduciendo su DNI.
2. El sis ema mues a la docencia que iene el p o eso en la anja ho a ia.
2.1. Si no hubie a docencia o ya es u ie a i mada, el sis ema mues a un
mensaje de in o mación.
3. El p o eso i ma sob e la able a la docencia que se mues a en pan alla.
!
!
!
!5
applica ion
!
!
!
!
!
!
!
!
!
!
!
!
!
•Rube Applica ion. Es la clase p incipal de la aplicación. Su unción es c ea la
en ana de la aplicación con oda la in o mación y los comandos necesa ios.
!
commands
!
Pa a mejo a la legibilidad, es e diag ama se ha sepa ado en 2. El p ime o ep esen a
la he encia y dependencias comunes a odas las clases, y el segundo las dependencias
que no son comunes. !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!12
•Clea F ameCommand. Comando enca gado de einicia la en ana de la
aplicación al es ado inicial, sesión ce ada y mos ando el eclado. Si se hubiese
i mado docencia y no se hubiese gua dado, se gua da ía au omá icamen e an es
de ce a .
•LoadP o esso Command. Inicia sesión pa a el p o eso asociado al DNI
in oducido.
•SendNo i ica ionCommand. Almacena la no i icación que haya mencionado el
p o eso .
•ShowReplacemen P o esso Lis Command. Mues a los p o eso es con docencia
sin i ma en la anja ho a ia ac ual.
•ShowReplacemen TeachingLis Command. Mues a las asigna u as sin i ma
pa a el p o eso al que se a a sus i ui .
•SignTeachingsCommand. Fi ma las asigna u as seleccionadas y mues a un
mensaje de con i mación.
!
model
!
!
!
!
!
!
!
•Obse able y Obse e . Clases pa a implemen a el pa ón de diseño Obse e .
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
•P o esso . Rep esen ación de un p o eso con su DNI, nomb e y co eo
elec ónico.
•P o esso Lis .
•Schedule. Ho a io de la docencia, compues o po la ho a de inicio, in y el aula.
•Subjec . Asigna u a, compues a po su nomb e y la i ulación a la que pe enece.
•Teaching. Docencia, la cual se ep esen a median e un p o eso que da una
asigna u a a un g upo en un ho a io conc e o.
•TeachingLis .
!13
!
no i ica ion !
!
!
!
!
!
!
!
!
!
•MailSende . Se enca ga de en ia un co eo al p o eso que ha i mado la
docencia pa a con i ma dicha i ma. Si hubiese sus i uido a o o p o eso ,
ambién en ia á un co eo al o o p o eso pa a no i ica le que su docencia ha
sido cubie a.
!
pe sis ence !
!
•No i ica ionSa e . In e az pa a gua da una no i icación egis ada po un
p o eso .
•P o esso Lis Loade . In e az pa a ep esen a la ca ga de oda la lis a de
p o eso es median e un mé odo load().
•TeachingLis Loade . In e az pa a la ca ga de la docencia del día ac ual.
•SignedTeachingLis Sa e . In e az pa a gua da la lis a de la docencia i mada
po un p o eso .
!
!
!14
pe sis ence_db !
!
!
!
!
!
!
!
!
!
!
•Da abaseNo i ica ionSa e . Implemen ación pa a gua da una no i icación en
una base de da os.
•Da abaseP o esso Lis Loade . Implemen ación pa a ca ga la lis a de p o eso es
desde una base de da os.
•Da abaseTeachingLis Loade . Implemen ación pa a ca ga la lis a de docencia
del día ac ual desde una base de da os.
•Da abaseSignedTeachingLis Sa e . Implemen ación pa a almacena la docencia
i mada po un p o eso .
!
!
iewcon olle s !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
•Rube F ameCon olle . Con olado p incipal de la en ana de la aplicación al
cual acceden los comandos.
!
!
!15
iews !
!
!
!
!
!
!
!
!
•Command. In e az que implemen an las clases del paque e commands pa a
ejecu a acciones en el sis ema.
•E en s. Con iene odos los ipos de e en os que pueden lanza se du an e la
ejecución de la aplicación pa a que los cap u en los con olado es.!
!16
3.2.4.Diseño de la in e az de usua io
!
Pa a mos a el diseño de la in e az de usua io, explica emos el eco ido que hab ía
que segui pa a ealiza cada uno de los casos de uso. Al inicia la aplicación, la pan alla
inicial es siemp e la misma pa a solici a el DNI del p o eso .
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Pa a el caso de uso de ac edi a asis encia, el p oceso se ía el siguien e. Una ez
in oducido el DNI, se ocul a el eclado y se mues a la o o y nomb e del p o eso ,
jun o con las asigna u as que iene en la anja ho a ia ac ual. Las asigna u as apa ecen
ma cadas po de ec o po comodidad, aunque pueden desma ca se si el p o eso no a a
asis i a una de las clases.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!17
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
En es e momen o el p o eso debe i ma sob e la able a digi alizado a y pulsa sob e el
bo ón "Te mina " de la able a una ez haya acabado de i ma . Cuando haga es o,
apa ece á la siguien e pan alla:
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Es e mensaje apa ece du an e 3 segundos, as los cuales se cie a la sesión y
ol e íamos a la pan alla inicial. Si el p o eso i mase y no pulsa a el bo ón "Te mina "
en la able a, cuando se ce ase la sesión (po pulsa el bo ón "Ce a " o po
inac i idad), se i ma ía au omá icamen e.
!
!18
!
Si el p o eso quisie a en ia una no i icación po que su docencia no apa ece o un
p oblema pa ecido, debe ía pulsa sob e el bo ón "En ia no i icación":
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!19
Pa a el caso de sus i ui a un p o eso no debe ene docencia sin i ma en la anja
ho a ia ac ual, po lo que al inicia sesión debe ía apa ece le es a pan alla.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Al pulsa "Sus i ui p o eso " e á una lis a de los p o eso es con docencia sin i ma en
la anja ho a ia ac ual, es ando dicha lis a paginada po el nomb e del p o eso ,
haciendo que la búsqueda sea más ápida.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!20
Una ez seleccionado el p o eso , mos a íamos la docencia que iene dicho p o eso sin
i ma , dando la posibilidad de cambia de p o eso si nos hubiésemos equi ocado.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Po úl imo, i ma íamos en la able a igual que en el caso de ac edi a asis encia.!
!21
Pasando a la ecnología ha dwa e, pa a ejecu a la aplicación se u iliza un o denado
muy básico (1 GB de memo ia RAM, 1.8 GHz de p ocesado ) con Windows, jun o con
un moni o ác il de 17 pulgadas y un able a Wacom STU 500 pa a cap u a la i ma.
!
!28
4.3. I e aciones!
!
El desa ollo del p oduc o es a á basado en i e aciones, con euniones ecuen es con el
clien e pa a ecibi eedback de mane a ápida.
!
La p ime a i e ación es a á dedicada a implemen a las uncionalidades que pide el
p oduc owne , es deci , los casos de uso de allados más a iba. Una ez alidadas las
uncionalidades, se ha á una segunda i e ación pa a mejo a aspec os de la in e az de
usua io. Cuando és a haya acabado, se pond á en uncionamien o la aplicación con
algunos p o eso es pa a ob ene eedback de los usua ios. Po úl imo, se ha á una
e ce a i e ación pa a mejo a lo que hayan comen ado los usua ios y algunos cambios
en al in e az g á ica.
!
4.3.1. Idea inicial
!
La idea inicial del p oduc o es que sea una página web a la que se accede á desde un
equipo con pan alla ác il en la conseje ía de la EII. Desde ahí, los p o eso es se
au en i ica án con su usua io y con aseña de MiULPGC. Una ez au en i icado, se
mues a al p o eso su p óxima docencia. Es e e a el concep o que enía el p oduc
owne :
!29
!
Con es o en men e, comenzamos a busca in o mación sob e cómo ob ene odos los
da os necesa ios a a és de la ULPGC, es deci , ho a ios de docencia y un se icio pa a
au en i ica al p o eso ado.
!
Pa a ob ene los ho a ios de docencia, nos pusimos en con ac o con el Se icio de
In o má ica de la ULPGC, el cual nos comunicó que no exis ía aplicación o se icio
pa a ob ene esos da os, po lo que nos los debe ía p opo ciona el di ec o de la EII.
Con ac amos con el p oduc owne , que nos p opo ciona un iche o Excel con odos los
ho a ios de docencia que luego impo amos a una base de da os MySQL p opo cionada
po la EII.
!
Pa a la au en i icación de p o eso ado el cambio u o que se un poco más adical. Hace
pocos meses la ULPGC implan ó un nue o sis ema de au en i icación, CAS (Cen al
Au hen ica ion Sys em), median e el cual odos los se icios de la uni e sidad que
equie an el uso del usua io y con aseña de MiULPGC deben pasa po esa web pa a
au en i ica se. An e io men e exis ía un se icio de au en icación, pe o con es e nue o
sis ema odas las aplicaciones deben pasa po la web del CAS y abaja con “ icke s”
en luga de usua io/con aseña.
!
Es e cambio supone una p oblemá ica po que, dado que la aplicación que amos a
desa olla es a pensada pa a que se ejecu e en un o denado compa ido po odo el
p o eso ado, es a íamos con inuamen e iniciando y ce ando sesión con el CAS, algo
que no es lo que que emos. Únicamen e necesi amos alida un usua io, no inicia una
sesión pa a luego ce a la a los 10 segundos. Además, en con e saciones pos e io es
con el p oduc owne , llegamos a la conclusión de que in oduci dia iamen e a ias
eces el usua io y con aseña de MiULPGC en un moni o ác il es un p oceso
engo oso y pelig oso pa a que o as pe sonas descub an la con aseña.
!
Con es o en men e, p oponemos al p oduc owne o os mé odos pa a au en i ica a los
p o eso es. La idea de ene un PIN pa a cada p o eso no gus a po que al se una
con aseña única pa a es e sis ema es más ácil que los p o eso es la compa an y i men
en nomb e de o os. O a idea plan eada ue au en i ica median e una o o, al llega al
moni o se hace una o o y se egis a quien i mó la asis encia. Al p oduc owne
ampoco le con enció es á opción y al inal se op ó po u iliza una able a
digi alizado a, con la que los p o eso es i men la asis encia como si ue a en papel,
pe o almacenando odo de mane a digi al.
!
!
!30
4.3.2. I e ación 1. Funcionalidades
!
Una ez a la semana, ap oximadamen e, se enía una eunión con el clien e pa a alida
lo que se iba implemen ando. De es a o ma se iban haciendo cambios muy sencillos
sob e la ma cha, como po ejemplo el colo de alguna pa e de la in e az o que se
pe mi ie an i ma asigna u as den o de un ango de iempo de e minado. Si se hubiese
seguido un en oque de desa ollo en cascada, el clien e hubiese is o el p oduc o
e minado al inal y p obablemen e se acumula ían los cambios a ealiza y no se ían an
sencillos.
!
T as las euniones con el p oduc owne , se llegó a un p ime p o o ipo uncional que
enía la siguien e in e az. Al a anca el p og ama se mos aba es a pan alla que
solici aba el DNI. El eclado se hizo simila al eclado numé ico de un o denado ,
añadiendo una X pa a los DNI de ex anje os.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
T as in oduci el DNI, se mues a el nomb e e imagen de pe il del p o eso , jun o con
las dos opciones disponibles, e la docencia del día o sus i ui . En es e caso, si
pulsamos “Docencia del día” nos apa ece una pan alla acía po que no enemos
docencia y nos da la opción de ol e a ás.
!
!
!
!
!
!
!
!
!31
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!32
!
Al ol e a la página de inicio, si pulsamos en “Sus i ución” nos apa ece la docencia
ac ual, que pa a noso os signi ica que la clase haya empezado como mucho hace 2
ho as o den o de 2 ho as. Tenemos un espacio acío a la de echa que se dejó en blanco
pa a apoya el dedo en esa zona y ealiza un desplazamien o ác il.
!
!
!!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Cuando seleccionamos asigna u as, nos pe mi e la opción de i ma , la cual ab e una
cuad o de diálogo nue o y ac i a la able a digi alizado a.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!33
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Po úl imo, si hubiese iniciado sesión con un p o eso que u ie a docencia en ese
momen o, la pan alla de “Docencia del día” hubiese enido es e aspec o.
!
!!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!34
4.3.3. I e ación 2. In e az de usua io
!
Una ez c eado el p ime p o o ipo con odas las uncionalidades que que ía el p oduc
owne , nos eunimos con el u o pa a conoce su opinión y ecibi eedback ya que, a
in de cuen as, el u o ambién es un p o eso que acaba á usando es e sis ema.
!
El u o p opone a ios cambios en la in e az a modo de hace la más cómoda. Pa a
empeza sugie e coloca el eclado a la izquie da, ya que nues a o ma de lec u a es de
izquie da a de echa, y coloca los núme os en o den no mal como en una calculado a.
También e i amos el concep o de “Con ol de i mas”, ya que la palab a “con ol”
puede ene una conno ación nega i a. Añadimos ambién la ho a y el día como
in o mación adicional jun o con el edi icio en el que se encuen a el disposi i o. En es a
p ime a e sión mos amos siemp e “Edi icio de In o má ica y Ma emá icas”, pe o
cuando se implan e en más escuelas uni e si a ias se c ea á un diálogo que se mues e al
inicia el p og ama y pe mi a elegi la escuela.
!
La pan alla p incipal queda aho a de es a o ma: !
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Una ez se inicia sesión, pa ece lógico pensa que no debe íamos da la opción de
i ma la docencia del día o sus i ui . Si el p o eso que inicia sesión iene docencia hoy,
p ime o debe i ma esa docencia. Una ez i mada (o si no u iese), da emos la opción
de sus i ui a o o p o eso . De es a o ma, si iniciamos sesión y enemos clase nos
apa ece lo siguien e:
!
!
!
!
!35
!!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
En cambio, si ya hemos i mado o no enemos docencia, nos da á la opción de sus i ui .
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!36
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!37
Una ez se ha seleccionado al p o eso , se mues a su nomb e y su o o debajo del
p o eso que ha iniciado sesión, y se lis a la docencia que iene el p o eso sin i ma :
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
En una de las euniones inales con el p oduc owne , uno de los p o eso es p opuso que
la aplicación pe mi ie a en ia no i icaciones, en el sen ido de que a p incipio de cu so
se da mucho que hay p oblemas con los ho a ios de docencia y los p o eso es no ienen
su docencia en la hoja. Al p oduc owne le gus ó la idea y imos que incluso sob e la
misma able a digi alizado a se podía esc ibi un mensaje co o sin mucha complicación.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!44
De o ma ápida implemen amos es a uncionalidad, que quedó así:
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Al inicia sesión nos apa ece un bo ón de "En ia no i icación", al pulsa en él nos pide
que esc ibamos nues o mensaje sob e la able a y al pulsa e mina , la no i icación
queda á egis ada.
!
!
!45
5. Conclusiones!
!
La ealización del abajo ha sido bas an e sa is ac o ia ya que se han podido cumpli
odos los obje i os p opues os en un p incipio.
!
Desde el pun o de is a gene al del desa ollo de un p oduc o, ha sido in e esan e e
como ha su gido la p opues a de alo pa a los usua ios a pa i de ellos y no de los
desa ollado es. En un p incipio pa íamos de un p oduc o que a los usua ios no
apo aba nada; apo aba alo al p oduc owne po los da os que ecopilaba, pe o no a
las pe sonas que usaban el p oduc o. Sin emba go, la pues a en ma cha de un p ime
p o o ipo y la ecolección de eedback po pa e de los usua ios hicie on posible
descub i una p opues a de alo que mo i a a los usua ios a usa el p oduc o.
!
Pasando al desa ollo del p oduc o so wa e, ha sido en iquecedo el desa ollo de un
p oduc o eal, en el que hemos enido que i cambiando las ca ac e ís icas que habíamos
pensado en un p incipio pa a adap a nos a los dis in os p oblemas que apa ecían.
Además, se ha podido u iliza en pa e la me odología de desa ollo guiado po p uebas
(TDD) en el desa ollo del modelo de la aplicación.
!
Desde un pun o de is a de apo aciones adminis a i as que da el so wa e, se han
conseguido implemen a las uncionalidades p incipales que p e endíamos, dando la
posibilidad de egis a la asis encia de un p o eso a una clase o la sus i ución de un
p o eso a o o.
!
El mé odo de desa ollo elegido, basado en el agilismo, ha sido muy p o echoso ya que
es una mane a muy cómoda de abaja . No de inimos en un inicio un conjun o ígido de
equisi os y pasados 6 meses en egamos un p oduc o inal al p oduc owne . En luga
de eso, el p oduc owne iba iendo semanalmen e lo que se iba haciendo y alidando
las decisiones que se iban omando, lo que hacía el cambio más ápido que hace
muchos cambios cuando ya el p oduc o es á " e minado".
!
En ando en conc e o con el desa ollo guiado po p uebas, el hecho de ene p uebas
au omá icas nos ha dado la segu idad pa a ealiza cambios en el sis ema sin miedo,
pues o que eníamos los es s que nos de ec a ían si ha habido un allo. A modo de
esumen, y po elaciona un poco con la desc ipción que se dio en apa ados an e io es,
yo di ía que hace TDD me ha apo ado:
!
•Pode comp oba que odo unciona desde el p incipio, sin necesidad de ene un
mé odo main o una in e az de usua io.
•Pode e ac o iza sin miedo algunas secciones de código que en p incipio e an
menos "limpias".
•Sabe po donde empeza a abaja y ene un i mo de abajo más o menos
cons an e.
!
!
!
!
!46
Me hubiese gus ado pode aplica lo al desa ollo de la in e az, ya que había momen os
en los que sí no e que hacía cambios en la in e az con más "miedo" po que enía que
hace las p uebas a mano y aco da me de odo lo que enía que p oba cada ez que
hacía un cambio ya que no enía p uebas au omá icas pa a alida . En u u os abajos
se ía in e esan e aplica es a me odología al desa ollo de los o os módulos de una
aplicación (in e az de usua io, con ol).
!
Todo el diseño de la in e az de usua io se deba ió bas an e con ambos u o es, y se
puede e como la in e az u o muchas e siones dis in as. A lo la go de odas es as
e siones hemos in en ado consegui que el so wa e sea lo más usable posible, sin
necesidad de un manual de usua io. De hecho, cuando se puso en uncionamien o a
modo de p ueba, los p o eso es no u ie on demasiada di icul ad pa a u iliza lo, y las
pocas di icul ades que encon a on nos las comen a on pa a que las pudié amos
soluciona .
!
A ni el del código desa ollado, se ha in en ado consegui una a qui ec u a limpia, con
clases que muy a a ez supe an las 100 líneas de ex ensión. Igualmen e, no es nues a
in ención llega a una a qui ec u a y no ol e a modi ica la nunca. La a qui ec u a aún
puede mejo a se con la in ención de hace la más ácil de en ende pa a u u os
desa ollado es que man engan el p og ama. Esas es una de las apo aciones que nos da
el TDD, pode cambia el p og ama sabiendo que no hemos o o nada.
!
!47
6. T abajos u u os!
!
!
El desa ollo de es e sis ema no acaba en el ámbi o de es e T abajo de Fin de G ado.
Aún al a ían po desa olla una se ie de módulos que hagan uso de la aplicación que se
ha desa ollado.
!
Pa a empeza , hab ía que c ea una aplicación que, con los da os ecogidos a lo la go de
un día lec i o, gene e un iche o PDF con las i mas de odos los p o eso es que han
impa ido docencia en el día ac ual.
!
También pod ía se in e esan e ene o o pequeño módulo que lo único que haga sea
comp oba al inal del día si ha habido alguna al a y no i ica au omá icamen e al
esponsable. Es o ambién se pod ía hace manualmen e haciendo una consul a a la base
de da os, pe o es a o ma pod ía es a au oma izada po un lado la c eación de PDF's
pa a egis a la asis encia y el esponsable del cen o solo iene que p eocupa se cuando
eciba un co eo no i icándosele de que ha habido alguna ausencia.
!
Po úl imo, de ca a a in eg a el sis ema con oda la uni e sidad, lo ideal se ía que el
Se icio de In o má ica de la ULPGC pudie a da nos acceso di ec o a las bases de da os
de la uni e sidad, ya que end íamos la in o mación ac ualizada en odo momen o. Con
el sis ema ac ual, si hubiese un cambio en los ho a ios, el di ec o de la escuela nos lo
end ía que no i ica pa a noso os ac ualiza la base de da os in e na a la aplicación. Si
ya es amos conec ados di ec amen e a la uni e sidad, la ac ualización es inmedia a.
!
Con espec o al abajo ealizado, ambién se pod ían de ini una se ie de
modi icaciones u u as.
!
Po ejemplo, el abajo se ha ealizado sob e un o denado con sis ema ope a i o
Windows 7. Uno de los posibles abajos se ía p oba la aplicación en o os sis emas
ope a i os pa a e i a posibles p oblemas que puedan su gi si al implan a se el sis ema
en o a escuela uni e si a ia no se usa a el mismo sis ema ope a i o.
!
Po es e mismo mo i o ambién se pod ían ealiza p uebas con o as con igu aciones
so wa e, como po ejemplo, modelos dis in os de able as digi alizado as, pa a busca
algunas soluciones ha dwa e más ba a as o que los con olado es es én disponibles en
más sis emas ope a i os.
!
También pod ían añadi se o as uncionalidades, como po ejemplo a la ho a de sus i ui
a o o p o eso , da más opciones de il ado, como el á ea de conocimien o o un
his ó ico de p o eso es pa a que es én más ce ca los p o eso es que son más p obables
pa a sus i ui .
!
Con espec o a las no i icaciones, ambién se pod ían hace modi icaciones pa a elegi
el ipo de no i icación y hace un il ado más e ec i o pa a el esponsable de e isa
esos da os. De p ime as se nos pod ía ocu i no i icaciones de "Fallo en la docencia" o
"P oblema en el aula".
!
!48
!
Po úl imo, hab ía que dedica un iempo a o ma pe sonal pa a adminis a la
aplicación si pasase a man ene la el Se icio de In o má ica de la ULPGC. Se ha
in en ado que la a qui ec u a sea lo más limpia posible pa a que si el código lo coge o o
desa ollado no enga demasiados p oblemas, pe o siemp e es mejo si ese nue o
desa ollado iene a mano al au o o iginal pa a comen a dudas. Además, conside o
que es un p oceso bene icioso ambién pa a el desa ollado o iginal, ya que ecibi á
opiniones de o o p og amado y pod á ap ende cosas nue as pa a hace su código más
legible.!
!49
7. Fuen es de In o mación!
!
A con inuación, se ci an las uen es de in o mación u ilizadas pa a el desa ollo del
p oyec o:
!
Rela i as al uso de Ja aFX
!
•Layou
docs.o acle.com/ja a x/2/layou /buil in_layou s.h m
•CSS
docs.o acle.com/ja a x/2/api/ja a x/scene/doc- iles/css e .h ml
•E en os
docs.o acle.com/ja a x/2/api/ja a x/e en /E en .h ml
•Imágenes
s acko e low.com/ques ions/16990482/ja a-lang-illegala gumen
•Cambios en la IU desde un hilo dis in o al p incipal
s acko e low.com/ques ions/13784333/pla o m- unla e -and- ask-
ja a x
•Con olado es desde FXML
s acko e low.com/ques ions/12543487/ja a x-nes ed-con olle s- xml-
include
•Elimina ba a supe io de la en ana de la aplicación
s acko e low.com/ques ions/9861178/ja a x-p ima ys age- emo e-
windows-bo de s
•Tex o en a ias líneas cuando no cabe en una sola
s acko e low.com/ques ions/20743668/wo d-w apping-inside-a-
i ledpane- ha -is-inside- box
•Cap u a cualquie e en o en la aplicación
docs.o acle.com/ja a x/2/e en s/p ocessing.h m
•Cap u a e en o al ce a aplicación
www.ja a2s.com/Code/Ja a/Ja aFX/S ageclosee en .h m
!
O as uen es e e en es al desa ollo
!
•En ío de co eo desde Ja a
www.mkyong.com/ja a/ja amail-api-sending-email- ia-gmail-sm p-example/
•Ca ga una DLL en Ja a
blog.ceda so .com/2010/11/se ing-ja a-lib a y-pa h-p og amma ically/
!
Rela i as a no ma i a y legislación
!
•Con ol de asis encia ULPGC
www.ulpgc.es/hege/almacen/download/18/18456/
no mas_pa a_el_con ol_de_asis enci.pd
•Ley O gánica de P o ección de Da os
h p://www.agpd.es/po alwebAGPD/jo nadas/dia_p o eccion_2011/
esponsable/index-ides-idphp.php!
!50
Anexo A. Manual de ins alación!
!
La ins alación del so wa e en una máquina es un p oceso muy sencillo y que se
desc ibe a con inuación.
!
Lo p ime o que ecomendamos es que se desac i en las ac ualizaciones au omá icas en
el equipo con Windows, pa a e i a einicios inespe ados. También se ía deseable
desac i a el apagado de pan alla au omá ico pa a que se mues e siemp e la pan alla
inicial de la aplicación y no se quede en neg o.
!
En Windows 7, pa a desac i a las ac ualizaciones au omá icas, debemos i al Panel de
Con ol y en a al menú de Windows Upda e, en la opción Ac i a o desac i a la
ac ualización au omá ica.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Pa a desac i a el apagado de la pan alla, ambién debemos i al Panel de Con ol, en
Opciones de ene gía. Desde ahí podemos cambia la con igu ación del plan de ene gía y
es ablece que la pan alla no se apague nunca y que el equipo no en e en eposo.
!
!
!
!
!
!
!
!
!
!
!51
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Como equisi os an es de pone en uncionamien o la aplicación, el equipo debe de ene
ins alado el STU SDK de Wacom en el di ec o io "C: P og am Files". Tampoco
debemos ol ida nos de ene conec ada en odo momen o la able a Wacom pa a ealiza
las i mas.
!
!52
A la ho a de a anca la aplicación, és a se encuen a den o de la ca pe a "dis " la cual
con iene las lib e ías necesa ias y las imágenes de pe il del p o eso ado. Haciendo
doble click sob e el iche o Rube .ja , la aplicación debe ía a anca sin ninguna
complicación.
!53