scieee Science in your language
[es] (orig)

Simulador de escáner de rayos X: creación y análisis de imágenes

Abstract

Actualmente cada vez son mayores las medidas de seguridad que nos rodean. Cada vez son más importantes y severas estas medidas de seguridad en infraestructuras y edificios públicos. Como consecuencia de estos hechos, cada vez se aumenta la necesidad de contar con personal de seguridad más cualificado y preparado. Esto ha provocado que aumente la demanda de formación en esta área, ya que las empresas de seguridad que operan en el aeropuerto deben formar a su personal para que puedan ejercer su trabajo con la mayor eficacia. Ante esta situación, hemos decidido desarrollar una aplicación para la formación de los alumnos en materia de seguridad aeroportuaria. Con esta aplicación, los usuarios pueden conseguir cualquiera de las tres certificaciones que emite AESA (Agencia Estatal de Seguridad Aérea). Cada certificación es distinta según la zona del aeropuerto en donde opere el alumno. Por tanto, el objetivo de este proyecto es la implementación de una herramienta de aprendizaje y evaluación por parte de alumnos, que está compuesta por dos aplicaciones que se relacionan mediante la arquitectura cliente-servidor.

Read accessible full text

Simulador de escáner de rayos X: creación y análisis de imágenes

Author: Cárdenas Carrillo, Jefferson; Redruello Fernández, Luis
Year: 2016
Source: https://docta.ucm.es/bitstreams/76d1cfaa-4b56-4217-b0cf-1f6af13429d9/download
1
Simulado de escáne de ayos X: c eación y análisis
de imágenes
Je e son Cá denas Ca illo
Luis Red uello Fe nández
T abajo de in de g ado del G ado en Ingenie ía In o má ica
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Di ec o : Manuel Mon eneg o Mon es
2
3
Au o ización de di usión
Los abajo i man es, ma iculados en el G ado en Ingenie ía In o má ica de la Facul ad de
In o má ica, au o iza a la Uni e sidad Complu ense de Mad id (UCM) a di undi con ines
académicos, no come ciales y mencionando exp esamen e a sus au o es el p esen e T abajo
de Fin de G ado: “Simulado de escáne de ayos X: c eación y análisis de imágenes”, ealizado
du an e el cu so académico 2015-2016 bajo la di ección de Manuel Mon eneg o Mon es en el
Depa amen o de Sis emas In o má icos y Compu ación, y a la Biblio eca de la UCM, a
deposi a lo en el A chi o Ins i ucional E-P in s Complu ense con el obje i o de inc emen a la
di usión, uso e impac o del abajo en In e ne y ga an iza su p ese ación y acceso a la go
plazo.
_________________________ _________________________
Luis Red uello Fe nández Je e son Cá denas Ca illo
_________________________
Manuel Mon eneg o Mon es
4
5
Ag adecimien os
Que emos ap o echa es e espacio pa a ag adece a odas y cada una de las pe sonas que nos
han ayudado a llega has a aquí, y de mane a muy especial a nues o di ec o Manuel
Mon eneg o, po su paciencia, dedicación y disponibilidad. Po anima nos y po ayuda nos en
odo momen o, g acias Manuel.
Finalmen e ag adece al cen o de o mación SEF los ecu sos que nos han p es ado pa a la
ealización de es e p oyec o.

6
7
Índice
Resumen 9
Palab as cla e 9
Capí ulo 1: In oducción 11
a. Mo i ación y con ex o 11
b. Obje i os 12
c. Plan de abajo 12
Capí ulo 2: An eceden es 18
Capí ulo 3: Desa ollo 22
a. Requisi os 22
b. Tecnologías u ilizadas 27
c. A qui ec u a gene al del sis ema 29
d. Diseño de la base de da os 30
e. Se icios Sopo ados 33
. Implemen ación del clien e 42
Capí ulo 4: Conclusiones 45
a. Di icul ades encon adas 46
b. Aplicación del p oyec o 47
Capí ulo 5: T abajo u u o 52
Capí ulo 6: Re e encias 54
Capí ulo 7: Apo aciones de los in eg an es 55
8
9
Resumen
Ac ualmen e cada ez son mayo es las medidas de segu idad que nos odean. Cada ez son
más impo an es y se e as es as medidas de segu idad en in aes uc u as y edi icios públicos.
Como consecuencia de es os hechos, cada ez se aumen a la necesidad de con a con pe sonal
de segu idad más cuali icado y p epa ado.
Es o ha p o ocado que aumen e la demanda de o mación en es a á ea, ya que las emp esas
de segu idad que ope an en el ae opue o deben o ma a su pe sonal pa a que puedan
eje ce su abajo con la mayo e icacia.
An e es a si uación, hemos decidido desa olla una aplicación pa a la o mación de los
alumnos en ma e ia de segu idad ae opo ua ia. Con es a aplicación, los usua ios pueden
consegui cualquie a de las es ce i icaciones que emi e AESA (Agencia Es a al de Segu idad
Aé ea). Cada ce i icación es dis in a según la zona del ae opue o en donde ope e el alumno.
Po an o, el obje i o de es e p oyec o es la implemen ación de una he amien a de
ap endizaje y e aluación po pa e de alumnos, que es á compues a po dos aplicaciones que
se elacionan median e la a qui ec u a clien e-se ido .
Palab as cla e
Ja a, Se icio web, A qui ec u a Clien e Se ido , Segu idad Ae opo ua ia, Ce i icación,
simulado ayos X, Modelo-Vis a-Con olado , Pe iciones (GET POST), Ap endizaje, XML.
16
Aims
The main objec i e o his Final P ojec is he implemen a ion o a lea ning ool o s uden s, in
his case o he aining o ai po secu i y pe sonnel. I will consis o wo desk op
applica ions ha a e ela ed by he clien -se e a chi ec u e, and ha will assess a s uden o
check i he has acqui ed he necessa y skills o pe o m an ac i i y in he ield o secu i y
esponsibili ies. This applica ion will ha e he ollowing ea u es:
 Add o emo e use s om he applica ion i sel .
 P esen a ion o heo e ical lessons in he o m o PDF iles, so ha he s uden will
ead and s udy on hei own, in he o de in which he wan s.
 E alua ion o he heo e ical skills o s uden s acqui ed in he p e ious sec ion.
 Analysis and in e p e a ion o images o an X- ay machine o de ec whe he a
baggage con ains o no i ems no allowed by he cu en egula ions.
 Assessmen o p ac ical skills conce ning he analysis and in e p e a ion o images
desc ibed in he p e ious sec ion
 Possibili y o main enance by he adminis a o : add exam ques ions and heo e ical
lessons
The heo e ical lessons, exams and images a y depending on he ype o acc edi a ion wan
o ge he s uden . Ou applica ion will allow o s uden o ecei e a o al o 3 ce i ica ions.
Type 1 ce i ica ion is in ended o hose gua ds who a e in ai po zones bu do no examine
luggage and he e o e no using scan images.
Type 2 ce i ica ion is o ien ed inspec ion equipmen ope a o s bo h hand luggage, and
ai c a s o es and supplies. Finally, ype 3 ce i ica ion is aimed a ope a o s o ca go and mail
The e o e, as each ce i ica ion has a di e en pu pose, esou ces a e di e en o each o
hem.
Wo k Plan
In his sec ion we will indica e in wha o de a e pe o med each o he objec i es desc ibed in
he p e ious sec ion, he amoun o ime de o ed o each, and which pa o he memo y
con ains he explana ion o each o hese objec i es is de eloped.
1. De ini ion o equi emen s and selec ion o echnologies o be used.
Fi s , we de ine he p ojec scope by se ing bases and lea ing possible ex ensions o
imp o emen open o implemen a ion i we ha e ime o hem. This poin is discussed in
Chap e 3.a Requi emen s o his documen . Once ma ked hese guidelines, we choose he

17
necessa y a chi ec u e o implemen ou applica ion, as well as echnologies ha would be
in ol ed in his de elopmen . This poin is discussed in Chap e 3.b Technologies used in his
documen .
2. Da abase design, login and use egis a ion.
Once he equi emen s ha e been de ined, we made a i s design o ou da abase, c ea ing all
ables and ela ions be ween hem. In addi ion, we implemen ed an ea ly e sion o how he
use is logged in o he clien applica ion, wi hou issuing eques s o he se e . In addi ion we
de elop adminis a o unc ions such as use egis a ion, also in a local en i onmen . This
poin is discussed in Chap e 3-d design Da abase.
3. Web se ice implemen a ion
Fo hose unc ions, such as he ones desc ibed in he p eceding pa ag aph ha a e no
pe o med by he clien , bu a he by issuing eques o he se e . We ea his poin in he
chap e s 3.c Gene al Sys em A chi ec u e and 3.e Suppo ed Se ices o his documen .
4.Theo e ical pa
Once implemen ed he web se ice, we con inue o add ea u es, o use s and adminis a o s.
A his poin , we add he possibili y ha he s uden can see a heo e ical module as well as
he adminis a o o hang in he applica ion. This poin is discussed in Chap e 3.e Suppo ed
Se ices and 3. Clien Deploymen o his documen .
5.Exams
Since he s uden mus ake an exam a e iewing he heo e ical pa , he nex poin ha we
implemen ed is he possibili y o conduc ing examina ions. In u n, we also implemen he
possibili y ha he adminis a o can add ques ions a ailable in he da abase. This poin is
discussed in Chap e 3.e Suppo ed Se ices and 3. Clien Deploymen o his documen .
6.Image analysis
Finally, we equip ou applica ion wi h he possibili y o displaying images o ha he s uden
can analyze. The s uden can iew he image wi h any o he h ee con as ha owns he
applica ion, o de ec i he luggage is p esen ed con ains p ohibi ed i ems o o he wise can
con inue wi hou being inspec ed manually. This poin is discussed in sec ions 3.e Se ices
Clien and 3. Suppo ed Deploymen o his documen .
18
2. An eceden es
El obje i o de es e p oyec o es la implemen ación de una he amien a de ap endizaje po
pa e de alumnos, que es á compues a po dos aplicaciones de esc i o io que se elacionan
median e la a qui ec u a clien e-se ido . En es e apa ado, que emos comen a de mane a
concep ual las p incipales a qui ec u as, he amien as y pa ones que hemos u ilizado pa a el
desa ollo.
A qui ec u a Clien e-Se ido
En p ime luga amos a de ini el pa adigma clien e/se ido como un modelo de aplicación
en el cual los clien es ealizan pe iciones de ejecución o ealización de a eas a los se ido es
que son los enca gados de p opo ciona los ecu sos.
Una de las p incipales en ajas de es a a qui ec u a es la posibilidad de añadi an os clien es
o se ido es como sean necesa ios, sin inc emen a la complejidad del sis ema, y, en
consecuencia, sin a ec a al endimien o. O a en aja muy impo an e es que los ecu sos
es án cen alizados y con olados po el se ido . De es a mane a las ac ualizaciones de los
mismos se hacen de mane a sencilla.
En la imagen adjun a
1
se mues a un diag ama de cómo unciona es a a qui ec u a.
1
Imagen ob enida de: h p://www.you e pso wa e.com/con en /25-a qui ec u a
19
Si aplicamos es os concep os a nues a aplicación, nues os clien es se ían los alumnos que
ejecu an la aplicación desde sus equipos. Es a aplicación in e ac úa con el se ido , pa a ecibi
los ecu sos necesa ios. Po ejemplo, cuando el usua io quie e ealiza un examen eó ico, la
aplicación le en ía una pe ición al se ido . Es e busca en la base de da os las p egun as
necesa ias y se las de uel e al clien e, que se las mues a al usua io median e su in e az
g á ica.
Se icio web
Un se icio web es una he amien a que pe mi e la comunicación en e dos aplicaciones
median e un conjun o de no mas y es ánda es p e iamen e de inidos. Así, las aplicaciones
pueden in e cambia se mensajes en o ma de código XML o JSON en e o os.
Las dos p incipales a qui ec u as o ien adas a la implemen ación de se icios web son SOAP
(Simple Objec Access P o ocol) y REST (Rep esen a ional S a e T ans e ). La ca ac e ís ica más
impo an e de las a qui ec u as SOAP es que gene an iche os WSDL
2
(Web Se ice Desc ip ion
Language) añadiendo así una capa adicional. En el iche o WSDL se decla an odas las
unciones de la a qui ec u a.
Po su pa e, las a qui ec u as REST no necesi an es a capa, ya que se basan en HTML y XML.
Las unciones de la a qui ec u a es án p ede inidas, en e las que des acan GET, POST, PUT,
DELETE y PATCH. Comen a emos más en de alle es as unciones en los capí ulos 3.c
A qui ec u a Gene al del Sis ema y 3.e Se icios Sopo ados del p esen e documen o.
En la siguien e imagen
3
exponemos una compa a i a en e ambas a qui ec u as.
2
Más in o mación en: h ps://es.wikipedia.o g/wiki/WSDL
3
Imagen ob enida de: h p://www.p og amacion.com.py/web/web-se ices- es - s-soap
20
En la imagen podemos ap ecia las di e encias en e ambas a qui ec u as. Mien as SOAP es
un p o ocolo de mensaje ía, que p opo ciona acceso a muchas ipos de mensaje y ope aciones
sob e ellos, REST basa su uncionamien o en ope aciones conc e as y limi adas ep esen adas
en comandos HTTP.
Pa ón Modelo-Vis a-Con olado
Pa a de ini el pa ón modelo- is a-con olado , amos a ci a su de inición en Wikipedia
debido a la cla idad con la que es á expues a. ”Modelo-Vis a-Con olado es un pa ón de
a qui ec u a de so wa e, que sepa a los da os y la lógica de negocio de una aplicación de la
in e az de usua io y el módulo enca gado de ges iona los e en os y las comunicaciones”
4
.
Es e pa ón di ide la aplicación en 3 capas, con la inalidad de dis ibui mejo las
uncionalidades de la aplicación, consiguiendo un man enimien o más sencillo. Además
pe mi e educi el con enido de código edundan e y aumen a la escalabilidad del sis ema a la
ho a de añadi nue as uncionalidades.
En la capa del modelo, se encuen a oda la lógica de la aplicación mien as que en la is a se
p esen an a los usua ios es os da os. El enca gado de in e ac ua en e ambas es la capa
con olado . El con olado ecibe las pe iciones del usua io asladándoselas al modelo, que
de uel e al con olado los da os solici ados, que son p esen ados de nue o al usua io
median e la is a.
4
Más in o mación en: h ps://es.wikipedia.o g/wiki/Modelo%E2%80%93 is a%E2%80%93con olado
21
En la siguien e imagen
5
mos amos un ejemplo de uncionamien o del pa ón modelo- is a-
con olado :
5
Imagen ob enida de: h p://u201201013.blogspo .com.es/

22
3. Desa ollo
En es e capí ulo amos a explica los aspec os de implemen ación de nues o p oyec o. En
p ime luga , en el apa ado de Requisi os amos a desc ibi la uncionalidad del sis ema desde
el pun o de is a del usua io. En el siguien e pun o (Tecnologías u ilizadas) amos a explica los
lenguajes, lib e ías, en o nos de p og amación y he amien as adicionales que hemos
necesi ado pa a el desa ollo del p oyec o. En el apa ado de A qui ec u a gene al del sis ema,
comen a emos las pa es que componen al sis ema y el lujo de abajo. Con inua emos con la
sección Diseño de la base de da os, en la que habla emos del diseño de la misma y de cada una
de las ablas. En la sección Se icios sopo ados amos a desc ibi la API del se ido y los
se icios que p opo ciona. Finalmen e en el apa ado Implemen ación del clien e amos a
comen a la es uc u a de clases del clien e, explicando el diseño u ilizado.
a. Requisi os
El simulado que que emos desa olla es una he amien a de ap endizaje sob e las
compe encias en segu idad de los igilan es de zonas ae opo ua ias. Cons a de 3 ipos
dis in os de ce i icaciones. La ce i icación de ipo 1 (de aquí en adelan e C1) es sólo eó ica y
a di igida a aquellos igilan es que es án en zonas ae opo ua ias, pe o que no manejan
obje os y, po an o, no usan imágenes. El igilan e, una ez ce i icado, no iene que ol e a
“ e esca ” su o mación, es deci , no necesi a ningún ipo de o mación adicional o eciclaje.
Pa a ob ene la ac edi ación, el alumno, una ez es udiado odo el ema io, debe supe a un
examen ipo es de 50 p egun as con 4 posibles espues as de las que sólo una es co ec a.
La ce i icación de ipo 2 (C2) a di igida a ope ado es de equipos de inspección, an o de
equipaje de mano, bodega, como p o isiones de a bo do y suminis os. A di e encia del C1, en
es a ce i icación hay pa e eó ica y pa e p ác ica. En es e caso, los igilan es ienen que
ealiza una o mación inicial y, una ez adqui idas las compe encias, ienen que ol e a
epe i la pa e p ác ica de mane a pe iódica a modo de eciclaje.
Dado lo an e io hemos de dis ingui si el alumno a a ealiza una o mación inicial o un
eciclaje. En la pa e de la o mación inicial end á pa e eó ica y pa e p ác ica, y en el
eciclaje sólo p ác ica. Al inal de cada pa e, an o eó ica como p ác ica, se iene que ealiza
un examen. El examen eó ico es un examen ipo es de 25 p egun as con 4 posibles opciones
de las cuáles sólo una es co ec a. El examen p ác ico cons a de un ca álogo de imágenes con
la mayo a iedad posible, en la que el alumno debe decidi si el equipaje o paque e cumple
con la no ma i a, o si, po el con a io, debe ía se inspeccionado manualmen e (es deci , hay
sospecha de que pueda con ene obje os p ohibidos). El iempo debe se limi ado y el núme o
de allos po cada ca álogo ambién, pe o la no ma i a dice que eso queda a elección del
o mado .
23
La ce i icación de ipo 3 (C3), a di igida a ope ado es de ca ga y co eo. Es análogo al C2, es
deci , ambién cons a de pa e eó ica y pa e p ác ica y, de nue o, los alumnos ienen que
ealiza pe iódicamen e un eciclaje en su pa e p ác ica. En es e caso, el examen eó ico es de
10 p egun as de ipo es con 4 posibles espues as co ec as, pe o la no ma i a del examen
p ác ico es o almen e igual a la del C2, sal o que, ob iamen e, son o o ipo de imágenes.
La siguien e abla mues a a modo de esumen, los componen es del examen
co espondien es a cada ce i icación:
Ce i icación
Pe iodicidad
TipoExamen
C1
Fo mación Inicial
Teo ía
Examen eó ico
C2
Fo mación Inicial
Teo ía
Examen eó ico
Fo mación Inicial
P ác ica
Examen p ác ico
Reciclaje
P ác ica
Examen p ác ico
C3
Fo mación Inicial
Teo ía
Examen eó ico
Fo mación Inicial
P ác ica
Examen p ác ico
Reciclaje
P ác ica
Examen p ác ico
A con inuación, pasamos a desc ibi los casos de uso de la aplicación:
1. Login
El usua io que accede a la aplicación es cualquie igilan e de segu idad que abaje en zonas
ae opo ua ias o que abaje con equipos de ayos X. Cuando ab e la aplicación iene que
p ocede a iden i ica se. Pa a ello in oduce su DNI sin le a y su con aseña. Una ez iniciada
la sesión, puede ol e al p oceso donde lo dejó en su sesión an e io , es deci , se gua dan los
ap obados y ac edi aciones que haya conseguido. La aplicación no unciona si el usua io no se
iden i ica.
Po o o lado, dis inguimos un ipo de usua io adminis ado , que se enca ga con ola las al as
y bajas de los usua ios y ambién se enca ga de ges iona la pa e de la o mación en sí, como
po ejemplo, subi módulos eó icos. La in e az de login es igual pa a ambos ipos de usua io.
Se á el sis ema el enca gado de mos a la is a de la aplicación adecuada al ipo de usua io.
2. Selección Ce i icación
Después de iden i ica se en la aplicación el usua io, de ipo alumno, elegi á el ipo de
ce i icación pa a la que desea se e aluado (C1, C2, C3). En la p ime a pan alla hab á es
bo ones, cada uno pa a las dis in as ce i icaciones. T as elegi una, se mos a án las opciones
de o mación inicial o eciclaje.
24
3. Fo mación Inicial
Después de escoge una ce i icación el alumno i á a la pan alla de o mación inicial, siemp e
que no haya ob enido ya esa ce i icación, es deci , que la haya ap obado p e iamen e. La
o mación inicial cons a de o mación eó ica y o mación p ác ica.
3.1Fo mación eó ica
Al elegi la o mación eó ica se mos a á un lis ado con los dis in os módulos eó icos
ca gados en el sis ema, co espondien es a la ce i icación en la que se encuen a el usua io de
ipo alumno. Un módulo es una unidad de eo ía, que se p esen a en o ma o PDF o cualquie
o o o ma o de ex o, pa a que el alumno adquie a los conocimien os su icien es de mane a
p e ia a la isualización de imágenes
6
. También exis i á un bo ón pa a empeza el examen,
aunque solo es a á ac i o después de e mina odos los módulos eó icos.
3.2 Examen Teó ico
Al examen eó ico sólo se accede después de e mina el ap endizaje con odos los módulos.
Po an o sólo se ealiza un único examen eó ico en cada ce i icación. El examen cons a de
a ias p egun as ipo es con solo una espues a co ec a. T as e mina el examen se
mos a án los esul ados ob enidos po el alumno.
3.3 Fo mación P ác ica
El alumno accede a es a o mación una ez concluida su o mación eó ica y habiendo
ap obado p e iamen e su examen eó ico. Pa a la o mación p ác ica, en p ime luga se le
mos a án al alumno una colección de imágenes a modo de en enamien o de un ipo en
conc e o (Equipaje, Bodega).
El uncionamien o del apa a o o iginal de ayos X consis e en lanza unas ondas que miden
p incipalmen e la densidad de los obje os que aspasa. En base a es e esul ado, el
p ocesado de la máquina asigna un colo de e minado a cada uno de los obje os. Es os
colo es se mues an según un código aco dado de mane a uni e sal. De es a o ma el neg o
ep esen a obje os muy densos, el na anja ma e ia o gánica y el azul ma e ia ino gánica.
En es a pan alla exis en es bo ones pa a cambia el con as e de la imagen. Es os son:
 Con as e o gánico: Mues a sólo los ma e iales o gánicos mien as que
inhabili a los ma e iales ino gánicos (po ese mo i o suelen sali onalidades
más ana anjadas). Es ecomendable pa a la búsqueda de d ogas o explosi os.
 Con as e ino gánico: De mane a análoga al an e io , mues a sólo los
ma e iales ino gánicos mien as que inhabili a los ma e iales o gánicos (po
6
En la ce i icación 1 sólo hay pa e p ác ica
25
es e mo i o suelen sali onalidades más azuladas). Suele se el más u ilizado
pa a la búsqueda de a mas.
 Con as e blanco y neg o: Ayuda a e la opacidad de los obje os, po an o es
de mucha u ilidad pa a e de alles que con los con as es an e io es se nos
escapen.
Después de analiza la imagen el usua io pod á elegi si se a a de una male a sin a ículos
p ohibidos o po el con a io hay que p ocede a su inspección. En es e úl imo caso, es deci , si
el alumno sospecha que el obje o es pelig oso, se debe elegi si exis e una amenaza ob ia o
hay que e i a el obje o.
Si el usua io elige amenaza ob ia (al pulsa el bo ón co espondien e), p ime o selecciona á la
pa e de la imagen donde conside a que se encuen a es a amenaza. Además, sald á un lis ado
po pan alla con los di e en es ipos de posibles obje os (A ma blanca, explosi os, e c...) Al
elegi uno de ellos, se indica á po pan alla si ha ace ado o ha come ido un e o .
Pa a analiza cada imagen, el alumno no iene iempo lími e. Una ez analizada la imagen, se
mues a al usua io si su análisis es co ec o o no, es deci , si el usua io ha ace ado en su
decisión.
3.4 Examen P ác ico
Un examen p ác ico es un ca álogo de imágenes alea o ias que el usua io debe analiza . La
in e az del examen p ác ico es simila a la de o mación, con la sal edad de que aho a iene
un iempo limi ado y que ampoco se mues an los esul ados en e una imagen y o a.
Cuando el alumno e mine el examen se le mos a á una pan alla con el esul ado ob enido.
Además se o ecen las opciones de ol e a epe i el examen o de ol e a la o mación
p ác ica.
4. Reciclaje
Si el usua io de ipo alumno selecciona una ce i icación que ya ha conseguido (ya la ha
ap obado), accede a un epaso de los conocimien os de la misma. Pa a ello únicamen e a a
dispone an o de la o mación p ác ica como del examen p ác ico. Pa a pode
man ene / eno a la ce i icación, debe ol e a ap oba el examen p ác ico.
Pe il Adminis ado
Den o de la misma aplicación, si el usua io que se loguea es de ipo Adminis ado , pod á
ealiza ges iona usua ios (p o eso es y alumnos) y con aseñas y con ola los pe misos.
32
A con inuación, amos a explica , a modo de esumen, el con enido de cada una de las ablas
de nues a base de da os an e io men e mencionadas:
Módulo Teó ico
IdMódulo
PDF
Ni el
P egun a
IdP egun a
Enunciado
IdExamen
*P o iene de
Examen Teó ico
Respues a
IdRespues a
EsCo ec a
Ap ueba_ eó ico
DNI
IdExamenTeó ico
Fecha
Ap ueba_p ác ico
DNI
Tiene
DNI
Ni el
*P o iene de
Ce i icación
Enunciado
IdP egun a
IdExamenP ác ico
Fecha
*P o iene de
Usua io
*P o iene de
Examen P ác ico

33
 Usua ios: Almacena oda la in o mación de los usua ios: DNI, nomb e y ipo de
usua io (alumno o adminis ado ).
 Ce i icación: Hace e e encia a la ac edi ación que consigue el usua io, que iene
indicada en el campo ni el.
 Tipo A ma: En es a abla gua damos odos los posibles ipos de obje os pelig osos que
se encuen an egis ados en la aplicación, con un código y una desc ipción.
 Obje o P ohibido: En es a abla se gua dan las coo denadas del obje o p ohibido de
cada imagen.
 Examen p ác ico: Almacena el núme o de imágenes que iene cada examen p ác ico
según a la ce i icación que co esponda (ni el).
 Examen Teó ico: Almacena el núme o de p egun as que iene cada examen p ác ico
según a la ce i icación que co esponda (ni el).
 Imagen: En es a abla se gua dan e e encias a odos los con as es posibles de la
imagen.
 Módulo Teó ico: En es a abla se gua dan los PDF (como ipo BLOB) co espondien es
a cada ce i icación (ni el)
 P egun a: Almacena odas las p egun as eó icas, gua dando una e e encia a la
ce i icación que pe enecen.
 Respues a: Almacena odas las espues as, gua dando una e e encia de la p egun a a
la que pe enecen.
 Ap ueba Teó ico: Lis a odos los usua ios que han ap obado un examen eó ico.
 Ap ueba P ác ico: Lis a odos los usua ios que han ap obado un examen eó ico.
 Tiene: Relaciona los usua ios con las ce i icaciones que han ob enido.
e. Se icios sopo ados
En es a sección de la memo ia amos a comen a los de alles de implemen ación que hemos
ealizado pa a la pa e del se icio web. El web se ice unciona como un p o eedo de
se icios pa a la pa e del clien e. Po an o es á con igu ado pa a ecibi pe iciones, y
solamen e de uel e Reponse S a us Code o los ecu sos solici ados.
Si po ejemplo, el clien e solici a un usua io, pueden da se dos al e na i as. Si el usua io exis e
y se encuen a en la base de da os, el se icio web le de ol e á al usua io el ecu so solici ado,
en es e caso un s ing que ep esen a un XML con la in o mación del usua io. Si po el
con a io, el usua io no exis e, el web se ice de uel e un código de e o , en es e caso 404
NOT FOUND.
Pa a nues a implemen ación, hemos di idido la implemen ación en un o al de 9 paque es,
que pasamos a desc ibi a con inuación:
34
Con ig
El paque e Con ig con iene clases pa a la con igu ación del sis ema. En él se implemen an las
clases db.p ope ies, y log4j2p ope ies. En la p ime a se es ablecen los pa áme os de
con igu ación del usua io de la base de da os, an o pa a MySQL como pa a O acle. Po su
pa e, la clase log4j2p ope ies si e pa a con igu a un egis o (log), donde an a i los
mensajes que aya de ol iendo la aplicación. Los mensajes pueden se de ipo depu ación
(debug), de ipo in o mación, de ipo e o …e c. En unción de la con igu ación se mues an
unos mensajes u o os.
Da a
Es e paque e con iene una clase po cada ecu so de la base de da os, como pueden se
usua ios, imágenes, p egun as o espues as. En cada una de es as clases se de inen los
a ibu os de las ablas y se c ea la cons uc o a. Además, se implemen an mé odos ge e s y
se e s.
Da abase
El paque e Da abase se enca ga de in e ac ua con la base de da os. Con iene las clases DAO y
DBConnec ion. La p ime a accede a la base de da os pa a ealiza ope aciones de consul a,
inse ción, bo ado o ac ualización sob e las ablas del sis ema.
Po su pa e la clase DBConnec ion c ea una ins ancia de la conexión a BBDD. Ob iene los
da os de la base de da os del a chi o p ope ies y ealiza una conexión u ilizando el D i e
Se ices
El paque e Se ices c eamos una clase Ja a po cada a ibu o de la aplicación: exámenes
eó icos, p ác icos, imágenes usua ios…e c. Si analizamos clase a clase:
 Ce i icadoResou ce: ecibe odas las pe iciones elacionadas con un ce i icado.
 ExamenP ac icoResou ce: ecibe odas las pe iciones elacionadas con un examen
P ác ico.
 ExamenToe icoResou ce: ecibe odas las pe iciones elacionadas con un examen
Teó ico.
 ImagenResou ce: ecibe odas las pe iciones elacionadas con la imagen, además
accede a las dis in as u as donde es án alojadas las imágenes y se la en ía al clien e.
 ModuloTeo icoResou ce: ecibe odas las pe iciones elacionadas con un módulo
eó ico, además es la enca gada de de ol e los a chi os PDF al clien e.
 Obje oP ohibidoResou ce: ecibe odas las pe iciones elacionadas con un obje o
p ohibido.
35
 P egun aResou ce: Además de ecibi las pe iciones elacionadas con las p egun as,
iene mé odos de inse ción y consul a sob e la base de da os.
 Respues aResou ce: Además de ecibi las pe iciones elacionadas con las espues as,
iene mé odos de inse ción y consul a sob e la base de da os.
 Use Resou ce: Todo lo elacionado con los usua ios (inse , upda e and dele e)
además hace algunas comp obaciones ú iles pa a el clien e como comp oba si exis e
un usua io o si ha ap obado un de e minado examen.
 Se e Aplica ion: es la clase que inicializa el web se ice y se enca ga de ins ancia la
clase que accede a la BBDD y odas las clases que eciben las pe iciones (las
mencionadas a iba).
A con inuación, pasamos a desc ibi odos los se icios sopo ados:
 Class Use Resou ce:
o Public S ing ge Use App(@Fo mPa am("dni") S ing dni,@Fo mPa am("pass")
S ing pass)
 Mé odo pa a consul a un usua io de la base de da os.
 Tipo: POST
 Pa h: “ge ”
 Pa áme os: ‘dni’ , ‘pass’ que ep esen an los da os del usua io
 P oduces: “applica ion/xml”
o public S ing ge Lis Use s()
 Mé odo usado pa a ob ene odos los usua ios.
 Tipo:POST
 Pa h: "ge "
 P oduces: "applica ion/xml"
o Public Response inse Use (@Fo mPa am("nomb e") S ing nomb e,
@Fo mPa am("dni") S ing dni,@Fo mPa am("pass") S ing pass)
 Mé odo que inse a un nue o usua io
 Tipo:POST
 Pa h: "add"
 Pa áme os: ‘nomb e’, dni’ , ‘pass’ que ep esen an los da os del
usua io a inse a .
 P oduces: " MediaType.TEXT_HTML"
o public Reponse dele eUse (@Pa hPa am("dni") S ing dni)
 Mé odo pa a bo a un usua io.
 Tipo:DELETE
 Pa h: "{dni}"
 Pa áme os: dni’ , ‘pass’ que ep esen an los da os del usua io
36
o Public Response checkUse (@Pa hPa am("dni") S ing dni)
 Mé odo pa a consul a un usua io.
 Tipo: GET
 Pa h: "{dni}"
 Pa áme os: dni’, que ep esen a al usua io.
o Public Response upda eUse (@Pa hPa am("dni") S ing dni,
@Fo mPa am("nomb e") S ing nomb e, @Fo mPa am("pass") S ing pass)
 Mé odo pa a ac ualiza los da os del usua io.
 Tipo: POST
 Pa h: "upda e/{dni}"
 Pa áme os: ‘nomb e’, ‘dni’, ‘pass’ que ep esen an los da os del
usua io.
o Public Response ieneTeo icoAp obado(@Fo mPa am("dni") S ing dni,
@Fo mPa am(“id”) in id)
 Mé odo pa a comp oba si el alumno ha ap obado el examen que se
indica po pa áme o.
 Tipo: POST
 Pa h: " iene eo ico"
 Pa áme os: ‘dni’ que ep esen a al usua io que ha ap obado el
examen. ‘id’ ep esen a el examen eó ico que ha sido ap obado.
o Public Response ieneP ac icoAp obado(@Fo mPa am("dni") S ing dni,
@Fo mPa am("id") in id)
 Mé odo pa a comp oba si el alumno ha ap obado el examen que se
indica po pa áme o.
 Tipo: POST
 Pa h: " ienep ac ico "
 Pa áme os: ‘dni’ que ep esen a al usua io que ha ap obado el
examen. ‘id’ ep esen a el examen p ác ico que ha sido ap obado.
 Class ExamenP ac icoResou ce
o public S ing ge ExamenP ac ico(@Pa hPa am("ni el") in ni el)
 Mé odo pa a ob ene un examen p ác ico de la base de da os.
 Tipo:GET
 Pa h: "{ni el}"
 P oduces: "applica ion/xml"
 Pa áme e os: ‘ni el’ que ep esen a la ce i icación a la que pe enece
el examen.
o public Response inse aAp obadoP ac ico(@Fo mPa am("dni") S ing dni,
@Fo mPa am("id") in id)
37
 Mé odo pa a indica que el alumno ha ap obado un examen p ác ico.
 Tipo: POST
 Pa h: "/ap ueba"
 P oduces: MediaType.TEXT_HTML
 Pa áme os: ‘dni’ que ep esen a al usua io que ha ap obado el
examen. ‘id’ ep esen a el examen p ác ico que ha sido ap obado.
 Class ExamenResou ce
o public S ing ge ExamenTeo ico(@Pa hPa am("ni el") in ni el)
 Mé odo pa a ob ene un examen eó ico de la base de da os.
 Tipo:GET
 Pa h: "/ eo ico/{ni el}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘ni el’ que ep esen a la ce i icación a la que pe enece
el examen.
o Public S ing ge ExamenP ac ico(@Pa hPa am("ni el") in ni el)
 Mé odo pa a ob ene un examen p ác ico de la base de da o.
 Tipo:GET
 Pa h: "/ eo ico/{ni el}"
 P oduces: "applica ion/xml"
 Pa ám e os: ‘ni el’ que ep esen a la ce i icación a la que pe enece
el examen.
 Class Examen Teo ico
o public S ing ge ExamenTeo ico(@Pa hPa am("ni el") in ni el)
 Mé odo pa a ob ene un examen eó ico de la base de da os.
 Tipo:GET
 Pa h: "/ eo ico/{ni el}"
 P oduces: "applica ion/xml"
 Pa áme os: ni el’ que ep esen a la ce i icación a la que pe enece el
examen.
o public Response inse Ap obadoTeo ico(@Fo mPa am("dni") S ing dni,
@Fo mPa am("id") in id)
 Mé odo Mé odo pa a indica que el alumno ha ap obado un examen
eó ico.
 Tipo: POST
 Pa h: "/ap ueba"
 P oduces: "MediaType.TEXT_HTML
 Pa áme os: ‘dni’ que ep esen a al usua io que ha ap obado el
examen. ‘id’ ep esen a el examen p ác ico que ha sido ap obado.

38
 Class Ce i icado Resou ce
o public S ing ge Ce i icadosF omDNI(@Pa hPa am("dni") S ing dni)
 Mé odo que ob iene los ce i icados que posee un alumno.
 Tipo: GET
 Pa h: "{dni}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘dni’ que ep esen a al usua io que ha ap obado el
examen.
o public Response inse aCe i icacion(@Fo mPa am("ni el") in ni el,
@Fo mPa am("dni") S ing dni)
 Mé odo que ac ualize la base de da os cuando el usua io adquie e una
ce i icación.
 Tipo: POST
 Pa h: "/ob iene"
 P oduces: MediaType.TEXT_HTML
 Pa áme os: ‘dni’ que ep esen a al usua io que ha ap obado el
examen. ‘ni el ep esen a la ce i icación que ha sido ob enida po el
alumno.
 Class Imagen Resou ce
o public by e[] ge Image(@Pa hPa am(" ipo") S ing ipo,
@Fo mPa am("examen") in examen, @Fo mPa am("id") in id)
 Mé odo pa a ob ene una imagen de la base de da os.
 Tipo: POST
 Pa h: "/{ ipo}"
 P oduces: "image/png"
 Pa áme os: ’id’ ep esen a el id de la imagen. ‘examen’ que
ep esen a al examen al que pe enece la imagen. ‘ ipo’ ep esen a si
la imagen con iene obje os p ohibidos o no.
o public S ing ge ImageF omId(@Pa hPa am("id") in id)
 Mé odo que de uel e una imagen dado su iden i icado .
 Tipo: GET
 Pa h: "{id}"
 P oduces: "applica ion/xml”
 Pa áme os: ’id’ ep esen a el id de la imagen.
o public S ing ge Lis ImagesF omExam(@Pa hPa am("examen") in examen)
 Mé odo que de uel e odas las imágenes de un examen.
 Tipo: GET
 Pa h: "/imagenes/{examen}"
 P oduces: "applica ion/xml”
39
 Pa áme os: ‘examen’ que ep esen a al examen al que pe enecen las
imágenes.
o public Response inse aImagenLimpia(@Fo mPa am("id") in id,
@Fo mPa am("no mal") S ing no mal, @Fo mPa am("bn") S ing bn,
@Fo mPa am("o ganico") S ing o ganico, @Fo mPa am("ino ganico") S ing
ino ganico)
 Mé odo que inse a una imagen sin obje os p ohibidos en la base de
da os.
 Tipo: POST
 Pa h: "limpia/inse "
 P oduces: MediaType.TEXT_HTML
 Pa áme os: ‘id’ ep esen a el iden i icado de la imagen. ‘no mal’ es
la imagen sin ningún con as e. ‘bn’ es la imagen con el con as e
blanco/neg o. ‘o ganico’ es la imagen o mada con el con as e
o gánico. ‘ino ganico’ es la imagen con el con as e ino gánico.
o public Response inse aImagenP ohibido(@Fo mPa am("id") in id,
@Fo mPa am("no mal") S ing no mal, @Fo mPa am("bn") S ing bn,
@Fo mPa am("o ganico") S ing o ganico, @Fo mPa am("ino ganico") S ing
ino ganico, @Fo mPa am("x") in x, @Fo mPa am("y") in y,
@Fo mPa am("ancho") in ancho, @Fo mPa am("al o") in al o,
@Fo mPa am(" ipoa ma") in ipoa ma)
 Mé odo que inse a una imagen con obje os p ohibidos en la base de
da os.
 Tipo: POST
 Pa h: "p ohibido/inse "
 P oduces: MediaType.TEXT_HTML
 Pa áme os: ‘id’ ep esen a el iden i icado de la imagen. ‘no mal’ es
la imagen sin ningún con as e. ‘bn’ es la imagen con el con as e
blanco/neg o. ‘o ganico’ es la imagen o mada con el con as e
o gánico. ‘ino ganico’ es la imagen con el con as e ino gánico.
 Class ModuloTeo icoResou ce
o public by e[] ge PDF(@Pa hPa am("ni el") in ni el,@Pa hPa am("modulo")
in modulo)
 Mé odo pa a ans o ma un a chi o PDF en un a ay de by es.
 Tipo: GET
 Pa h: "pd /{ni el}/{modulo}"
 P oduces: "applica ion/pd "
 Pa áme os: ‘ni el’ ep esen a la ce i icación a la que pe enece el
módulo. ‘módulo’ es el inden i icado del módulo que se desea
ob ene .
40
o public Response uploadPDF (@Pa hPa am("ni el"), in ni el,
@Pa hPa am("modulo") in modulo, @Fo mPa am(" ile") S ing ile)
 Mé odo pa a subi un iche o a la aplicación.
 Tipo: POST
 Pa h: "upload/{ni el}/{modulo}"
 P oduces: "applica ion/x-www- o m-u lencoded"
 Pa áme os: ‘ni el’ ep esen a la ce i icación a la que pe enece el
módulo. ‘módulo’ es el iden i icado del módulo que se desea añadi .
‘ ile’ es el a chi o en cues ión que se desea añadi .
o public S ing ge ModuloTeo ico(@Pa hPa am("ni el") in
ni el,@Pa hPa am("modulo") in modulo)
 Mé odo que ob iene un módulo eó ico de la base de da os.
 Tipo: GET
 Pa h: "upload/{ni el}/{modulo}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘ni el’ ep esen a la ce i icación a la que pe enece el
módulo. ‘módulo’ es el iden i icado del módulo que se desea ob ene .
 Class Obje oP ohibidoResou ce
o public S ing ge Obje oP ohibido(@Pa hPa am("id") in id)
 Mé odo pa a ob ene un obje o p ohibido desde la base de da os.
 Tipo: GET
 Pa h: " {id}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘id’ que ep esen a al ipo de obje o p ohibido.
 Class P egun aResou ce
o public S ing ge Lis aP egun as(@Pa hPa am("examen") in examen)
 Mé odo que de uel e las p egun as de un examen.
 Tipo: GET
 Pa h: " {examen}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘examen’ ep esen a el examen al que pe enece la
p egun a.
o public S ing inse aP egun a(@Fo mPa am("enunciado") S ing enunciado,
@Fo mPa am("examen") in examen)
 Mé odo que añade p egun as a la base de da os.
 Tipo: POST
 Pa h: " /inse "
 P oduces: "applica ion/xml"
41
 Pa áme os: ‘examen’ ep esen a el examen al que pe enece la
p egun a. ‘enunciado’ ep esen a al enunciado de la p egun a.
 Class Respues aResou ce
o public S ing ge Lis aRespues asF omP egun a (@Pa hPa am("p egun a") in
p egun a)
 Mé odo que de uel e odas las posibles espues as a una p egun a en
conc e o.
 Tipo: GET
 Pa h: "{p egun a}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘p egun a’ que ep esen a la p egun a cuyas espues as
se quie en ob ene .
o public Response inse aRespues a(@Fo mPa am("id") in
id,@Fo mPa am(" espues a") S ing espues a, @Fo mPa am("co ec a") in
co ec a)
 Mé odo pa a inse e posibles espues as a p egun as
 Tipo: POST
 Pa h: " /inse "
 P oduces: MediaType.TEXT_HTML
 Pa áme os: ‘id que ep esen a la p egun a cuyas espues a se quie e
inse a . ‘ espues a’ que ep esen a el enunciado de la misma.
‘co ec a’ que indica si la espues a inse ada es la co ec a o no.
 Class TipoA maResou ce
o public S ing ge TipoA ma(@Pa hPa am("id") in id)
 Mé odo ob iene el ipo de obje o p ohibido.
 Tipo: GET
 Pa h: " {id}"
 P oduces: "applica ion/xml"
 Pa áme os: ‘id’ que ep esen a el obje o p ohibido.
o public S ing ge Lis TipoA ma()
 Mé odo que de uel e una lis a con odos los posibles ipos de obje os
p ohibidos
 Tipo: GET
 Pa h: " lis "
 P oduces: "applica ion/xml"
Se le
48
Además, aunque nues a aplicación es á cla amen e o ien ada al ap endizaje de pe sonal de
segu idad, pod ía se eu ilizada pa a cualquie o o ipo de alumnos. El esquele o de
pe iciones al se ido se man end ía y el p incipal cambio que hab ía que ealiza se ían los
ecu sos que se mues an, pe o el uncionamien o se ía análogo al de nues a aplicación.

49
Conclusions
To end his documen , we would like o desc ibe he esul s we ha e ob ained wi h he
de elopmen o his wo k and he di icul ies encoun e ed. In gene al we could say yes we
ha e me he objec i es, al hough we ha e encoun e ed a ious p oblems ha ha e made
mee ing hese objec i es mo e di icul .
The e o e, i s we will analyze whe he he objec i es desc ibed in sec ion 1.b Objec i es o
his speci ica ion ha e been me o no . The i s objec i e we ha e se ou sel es is he
possibili y o in oduce o emo e use s om he applica ion i sel . This objec i e has been
comple ed, bu i i is ue ha had a g ea e deg ee o complexi y we expec ed a i s . The
ac o ha ing o make eques s o he web se ice o use s o he da abase, o ced us o ha e
a good implemen a ion o i so he could be eady his goal. The e o e i was an impo an s ep
in he de elopmen o he applica ion.
The second objec i e ha we had he p esen a ion o heo e ical lessons in he o m o PDF
iles, which also has been ul illed no wi hou di icul ies encoun e ed when loading he PDF
om he web se ice. We en e o discuss hem in mo e de ail in Chap e 4.a Di icul ies
encoun e ed his documen
The nex goal was o gi e he use he abili y o pe o m heo e ical examina ions on he
con en s ha he had p e iously s udied. One can say ha his objec i e mee s ou
expec a ions as we we e able o implemen i he way we o iginally hough , using a h ead o
calcula e he ime o examina ion.
The ollowing wo objec i es a e closely ela ed. They a e on he one hand, he analysis and
in e p e a ion o images o an X- ay machine o de ec co ec ly i baggage does no con ain
o no allowed in he ules o a ele s, and on he o he hand, he assessmen o p ac ical
skills conce ning his analysis. Fo hese objec i es we had o ho oughly in es iga e he
egula ions, which objec s a e allowed and which ones a e no in each o he o ms o
anspo a ion o luggage ( he ules a e di e en o cabin baggage o passenge s o checked
baggage). Once we had hese concep s clea , we had o in es iga e he op imal way o cha ge
and s o e images. These di icul ies will be discussed in chap e 4.a Di icul ies encoun e ed in
his documen .
Finally, we aimed a he possibili y o main enance o he applica ion by an adminis a o , so
ha he could in oduce o emo e use s, add o dele e ques ions o aise new heo e ical
lessons as main ea u es. These unc ions we e de eloped in pa allel, as we buil he
unc ionali y o he s uden p o ile.
Di icul ies encoun e ed
In his sec ion we will lis he main di icul ies encoun e ed when implemen ing his p ojec .
50
Connec ing o Web Se ice
The main p oblem ha we ha e encoun e ed in he de elopmen o his applica ion has been
se up web se ice and i s connec ion wi h he applica ion. Fo his, we in es iga e a ious
sou ces among which we highligh [2 ], [7 ] and [ 11]
The i s s ep we ook in he implemen a ion was o adjus he se ings o he web se ice
ini ializa ion. Once we had his clea , we unde s ood he anno a ion sys em, pa ame e
passing and sending and ecei ing da a. Finally, ano he poin o di icul y was making calls o
he web se ice om he clien
Implemen a ion o he GUI
In pa allel wi h he implemen a ion o he web se ice, we buil he g aphical in e ace ( he
login sec e ). A i s , we op ed o he use o Ja aFX, because i allowed us o u he
cus omize ou in e ace and can use s yle shee s. Howe e , ou p og ess was e y slow, since
he ini ial lea ning cu e was e y high. We consul ed he API and needed o main ain mul iple
con olle s o each iew, which was e y di icul o keep us in he design.
We also had p oblems in in eg a ing Scene Builde (g aphic design ool), wi h Eclipse, and
he e o e we could no go a he speed we wan ed. The e o e, we decided o change he
in e ace o Swing, and om hen build he es o sc eens in his way.
Upload PDF iles
Ano he majo di icul ies ha we ha e encoun e ed has been he admin unc ionali y o load
heo e ical modules in he applica ion. The idea we had was o ans o m he PDF ile in o an
a ay o by es. Howe e , when he clien makes a eques o he web se ice, we could no
send his a ay o by es, as i is e y di icul o send hese by es in he heade o a POST
eques .
As a solu ion, om he clien we enc yp hese by es base 64 encoding o con e a s ing ype,
ha now could pass as a pa ame e in a eques . Subsequen ly, he web se ice ecei es he
eques and e e ses he p ocess, i.e., con e s he ecei ed base 64 s ing o an a ay o by es
ha a e s o ed in he moduloTeo ico able.
P oyec aplica ion
As we discussed in chap e 1a. Mo i a ion and con ex o his documen , secu i y measu es a e
becoming inc easingly impo an and se e e in in as uc u e and public buildings. As a esul
o hese de elopmen s, he need o mo e secu i y pe sonnel quali ied and p epa ed i is
inc eased.
51
Fo his eason, mo e and mo e aining cen e s who see an oppo uni y in he wo ld o
secu i y. As s a is ical da a, in he Communi y o Mad id he e a e app oxima ely 40 acc edi ed
aining cen e s o each he cou se secu i y gua d.
To his ac is added ha is a e y popula ed sec o , and in ecen yea s has inc eased
signi ican ly he numbe o g adua es in secu i y. Due o he economic c isis ha has hi he
coun y, many people be ween 40 and 60 yea s who we e unemployed saw a way ou in he
wo ld o secu i y.
The e o e aining cen e s ha e o adap hei cou ses o he eal needs o he ma ke and
explo e new e enue s eams. The wo ld o ai po secu i y is an impo an sou ce o income
since, as discussed he ein, he e is an obliga ion e lec ed in cu en egula ions o secu i y
pe sonnel go o e eshe cou ses o imp o e and e esh he quali ies ob ained.
Gi en ha e y ew ools o his kind ha exis in he ma ke , we conside an applica ion as we
de eloped, can ha e an impo an weigh in he sec o , since, o all he abo e, sa e y
companies and aining cen e s a e in e es ed in s a ing ai po secu i y.
Al hough ou applica ion is clea ly o ien ed lea ning secu i y pe sonnel, i could be eused o
any o he s uden s. The skele on o eques s o he se e would emain and he main change
we would ha e o make is modi ied he esou ces would be shown, bu he ope a ion would
be simila o ha o ou applica ion.
52
5.T abajo u u o
En es e apa ado que emos comen a uncionalidades que nos pa ecen muy in e esan es pa a
mejo a y complemen a la aplicación. Si bien son múl iples las mejo as que se pueden
ealiza , pensados que las siguien es son las más impo an es.
Cambia aplicación de esc i o io po aplicación web
O a de las posibles mejo as a implemen a se ía la mig ación de aplicación de esc i o io a
aplicación web. De es a mane a, la aplicación pod ía es a alojada en pla a o mas de
ap endizaje como Moodle, que complemen a ían y mejo a ían la expe iencia del alumno, de
nue o o eciendo un mejo se icio. Además, al es a en la web, no ha ía al a que es a
he amien a es u ie a ins alada en el equipo, acili ando así su di usión.
Gene ación de con as es
O a posible uncionalidad que nos pa ece muy des acable se ía do a a es e so wa e de
p opiedades pa a el econocimien o de imágenes, es deci , pode inclui en la he amien a un
mo o pa a la c eación de imágenes, al y como ealiza un escáne de e dad.
La idea se ía do a a la aplicación de uncionalidades pa a que ella misma gene e sus p opios
con as es, emulando al uncionamien o de las máquinas de ayos X, que como ya hemos
explicado, basan sus colo es en una escala p ede inida según la densidad del obje o. De es a
mane a se educi ían los ecu sos necesa ios pa a la c eación de la aplicación.
C eación de imágenes
Finalmen e pe o no po ello menos impo an e, nos gus a ía mejo a la aplicación con una
uncionalidad de c eación de imágenes. La idea se ía pode ene dis in os ipos de obje os,
an o obje os co idianos como obje os no pe mi idos pa a su anspo e, y combina los de
di e sas mane as, gene ando así in ini as imágenes.
De es a o ma, se pod ían c ea di e sos g ados de complejidad en las imágenes, pudiendo
in oduci ni eles en la pa e p ác ica del análisis de imágenes. De es a mane a, los alumnos
pod ían i supe ando dis in os g ados de complejidad, an es de en en a se al examen pa a
pode ob ene su ac edi ación.
In e az con Ja a FX
53
El p ime cambio que nos gus a ía lle a a cabo, es uno de los ya comen ados p oblemas a la
ho a de ealiza la implemen ación, y no es o o que desa olla la in e az en Ja a FX. Aunque
Swing es á obsole o
9
, pensamos que Ja a Fx es una he amien a mucho más po en e y
mode na. En e sus en ajas se encuen a la posibilidad de pode ene un mayo con ol
sob e los elemen os isuales, pudiéndoles asigna hojas de es ilo pa a modi ica los, así como
su sencillez a la ho a de pe mi i la mig ación a in e az web, además de pe mi i el uso de
animaciones.
9
Más in o mación aquí: h p://www.o acle.com/ echne wo k/ja a/ja a x/o e iew/ aq-
1446554.h ml#6

54
6.Re e encias
[1] Bo onczyk, Timo hy. Jump S a MySQL.Si ePoin . 2015.
[2] Bu ke, Bill. REST ul Ja a wi h JAX-RS 2.0, 2nd Edi ion. O'Reilly Media, Inc. 2013
[3] F iesen,Je . Beginning Ja a 7. Be keley, CA. 2011
[4] F iesen,Je . Ja a XML and JSON. Be keley, CA. 2016
[5] Equipo de Desa ollado es de ICTS Hipania.
h p://eagle.ic seu opesys ems.com/media/es/ICTS-Eu ope-Sys ems-Eagle-CBT.PDF.2011.
[6] Jiménez Ma ín, Al onso. Ap ende a P og ama con Ja a. Pa anin o.2016
[7] Kalin, Ma in. Ja a Web Se ices: Up and Running, 2nd Edi ion. O'Reilly Media, Inc. 2013
[8] Kulka ni,Ram. Ja a EE de elopmen wi h Eclipse : de elop, debug, es , and oubleshoo
Ja a EE 7 applica ions apidly wi h Eclipse. Bi mingham. 2015
[9] Lamon , Ian. Google D i e & Docs in 30 minu es: he uno icial guide o he new Google
d i e, docs, shee s & slides. i30 Media. 2015
[10] Pipinellis, Achilleas. Gi Hub essen ials: unleash he powe o collabo a i e wo k low
de elopmen using Gi Hub, one s ep a a ime. Bi mingham. 2015
[11] Pu usho haman, Jobinesh. REST ul Ja a Web Se ices - Second Edi ion. Pack Publishing.
2015
[12] Si iwa dena, P aba h. Ma en essen ials : ge s a ed wi h he essen ials o Apache Ma en
and ge you build au oma ion sys em up and unning quickly. Bi mingham. 2015
[13] Vuko ic, Aleksa y Goodwill, James. Apache Tomca 7. Be keley, CA. 2011
55
7. Apo aciones de los in eg an es
Po úl imo, en es e apa ado de la memo ia que emos indica la apo ación pe sonal de cada
uno de los in eg an es.
Luis Red uello Fe nández
En p ime luga me gus a ía mani es a que la mayo pa e del abajo que hemos ealizado ha
sido en o al colabo ación en e los dos miemb os del equipo. Si bien es cie o que cada uno
lle aba más peso en la pa e del clien e y o o en la del se ido , en odo momen o nos hemos
apoyado pa a ayuda nos mu uamen e cuando alguno de los dos lo necesi aba.
Dicho es o paso a enume a las p incipales a eas que he desa ollado en es e p oyec o:
 En p ime luga , la búsqueda de algún p oduc o simila en el me cado con el que pode
inspi a nos a la ho a de implemen a nues o p oyec o.
 Seguidamen e, inicié una búsqueda de documen ación pa a de e mina qué alcance
podía ene nues o p oyec o y has a dónde podíamos aba ca lo.
 Viendo que no había muchos p oduc os simila es en el me cado, empecé una
búsqueda de los ecu sos que nos ha ían al a pa a hace iable el p oyec o, como son
las imágenes y los módulos eó icos.
 El siguien e paso ue deba i sob e las ecnologías a u iliza , en ajas e incon enien es
de cada una de ellas.
 Una ez decididas las ecnologías y la a qui ec u a del sis ema, ui con igu ando e
ins alando odos los en o nos necesa ios pa a la implemen ación: Eclipse, Scene
Builde , mySQL…e c.
 En pa alelo con el pun o an e io , comencé con un p ime diseño de la base de da os,
y su ans o mación a modelo elacional.
 Una ez hecho es o, empecé a plan ea posibles casos de uso pa a su discu sión y aís
es ablece de mane a de ini i a el alcance del p oyec o.
 In es igación de las nue as ecnologías a a a , como e a Ja a FX
 El siguien e pun o, ue el desa ollo de una p ime a e sión de la unción login. Es e
desa ollo ue en un en o no local, mien as mi compañe o in es igaba el
uncionamien o del se icio web.
56
 Una ez conseguida es a p ime a unción, y una ez que mi compañe o había
con igu ado el se icio web, in es igamos la mane a de pode conec a ambas
aplicaciones.
 El siguien e paso ue c ea una in e az pa a el pe il adminis ado , pa a pode p oba
las unciones de inse a y bo a usua ios.
 Dadas las di icul ades que es ábamos eniendo con Ja a FX, decidimos cambia oda la
in e az g á ica a Swing.
 Pa a segui a anzando con la aplicación, incluí odos los ecu sos necesa ios en la base
de da os.
 El siguien e paso ue la implemen ación de la in e az del examen eó ico y la
con igu ación de las p egun as con el web se ice.
 Debido a la mane a en la que íbamos implemen ando ambas aplicaciones, u e que
modi ica el diseño de la base de da os y po an o sus ablas.
 El siguien e paso ue inaliza la implemen ación de los exámenes eó icos.
 Debido a que íbamos con algo de e aso con espec o de la plani icación es ablecida,
comencé a elabo a el p esen e documen o.
 Finalmen e, ealicé el es eo de la aplicación, in en ando e posibles mejo as y
co igiendo pun os débiles que nos habían quedado pendien es.
Je e son Cá denas Ca illo
An es de nada me gus a ía des aca que pa a el desa ollo de es a aplicación, hemos es ado en
con ac o de mane a cons an e, pa a in en a a anza lo máximo posible. En mi caso, me he
cen ado más en oda la pa e del se icio web, y debido a p oblemas de plani icación,
ambién implemen é algunas unciones del clien e.
A con inuación, paso a lis a las p incipales unciones que he ealizado:
 En p ime luga comencé con la in es igación del se icio web, ya que nunca había
implemen ado ninguno. Los ipos de a qui ec u as posibles y las en ajas e
incon enien es de cada uno.
 En pa alelo con es a in es igación, ambién me documen é sob e cuál se ía la mejo
a qui ec u a posible pa a ealiza la implemen ación. De es a mane a an o mi
compañe o como yo end íamos una isión comple a de la aplicación y cada uno
57
expond ía sus a gumen os, pa a de es e modo pode en ende ambos odo el
uncionamien o y es a de acue do desde un inicio.
 Ins alación de odo el en o no de desa ollo: Eclipse, mySQL, Tomca ...e c.
 Una ez enía cla o qué ipo de se icio web que ía implemen a , empecé a in es iga
sob e su compo amien o pa a in en a consegui que unciona a. En es e apa ado
incluyo odo lo elacionado con el uncionamien o y aplicación de las pe iciones
GET/POST, el uncionamien o de los Reponse S a us Code, el a amien o del código
XML…e c.
 El siguien e paso ue consegui la unción login haciendo llamadas al web se ice. Es e
paso ue uno de los más complicados de oda la implemen ación. Las mayo es
di icul ades es u ie on en el uncionamien o de los Reponse S a us Code, y en el
a amien o del código XML, ya que si el usua io exis e y se encuen a en la base de
da os, el se icio web le de ol ía al usua io un s ing que ep esen a un XML con la
in o mación del usua io.
 La siguien e a ea a ealiza e a la mane a de pode en ia a chi os PDF desde el
se ido al clien e. El p incipal p oblema con el que me encon é e a cómo en ia es e
a chi o en una pe ición al clien e. Pa a ello u e que consul a y e isa di e sa
documen ación al espec o.
 Finalmen e pa a la implemen ación del pun o an e io , decidí ans o ma el a chi o
PDF en un a ay de by es, codi icando esos by es a una codi icación base 64 pa a
pode con e i los a ipo cadena y de es a mane a pode en ia los en una pe ición.
 Una ez conseguido ca ga a chi os PDF en la aplicación, y que el adminis ado ue a
capaz de subi los, comencé la pa e de los exámenes eó icos pa a pode de ol e
p egun as y espues as al clien e y que el pe il adminis ado ue a capaz de añadi y
elimina p egun as.
 El siguien e pun o, ue in en a ca ga una imagen desde la base de da os en la
aplicación. En un p incipio es ábamos gua dando odas las imágenes y sus con as es
en la base de da os pe o ocupaban demasiado. Así que u e que ol e a ediseña la
base de da os eniendo es o en cuen a.
 Pa a ca ga las imágenes in en é ealiza una unción análoga a la de la ca ga de
a chi os PDF, en la que el se icio web busca el di ec o io de la imagen en la base de
da os, que es en iada en o ma de a ay de by es al clien e. Una ez ecibido, el clien e
c ea un a chi o con es e a ay de by es, que es el que mues a al usua io como
imagen.
 Una ez conseguí que el sis ema ca gase imágenes, empecé a implemen a la in e az
del examen p ác ico en el lado del clien e.