scieee Open visual document viewer

Desarrollo de un sistema de control de asistencia de profesorado guiado por pruebas

Díaz Martínez, Rubén

Abstract

El presente trabajo describe el desarrollo de una aplicación para el registro de las horas de docencia impartidas por el profesorado en la universidad. Con esto se persigue tener la información digitalizada para agilizar las gestiones que se tengan que realizar con ella. Por el lado del profesorado, se enviarán notificaciones vía correo electrónico para confirmar la docencia firmada, a modo de registro personal para que el profesor sepa la docencia que ha impartido y, en caso de sustitución, que también el profesor sustituido tenga constancia de la sustitución. El desarrollo se hará apoyándose en métodos ágiles, utilizando el desarrollo guiado por pruebas los módulos del modelo y persistencia.

Full text

! ! ! ! ! ! ! ! ! ! ! ! ! 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