Full text
Análisis, diseño e
implemen ación de una
aplicación pa a disposi i os
mó iles mul ipla a o ma
pa a la comunicación en e
cen os educa i os y pad es
de alumnos
2017
ALUMNO
JOEL DAVID DELGADO PERDOMO
TUTOR
DR. ALEXIS QUESADA ARENCIBIA
GRADO EN INGENIERÍA INFORMÁTICA (INGENIERÍA DEL SOFTWARE)
Julio 2017 - Las Palmas de G an cana ia
T abajo de Fin de G ado en Ingenie ía In o má ica (in ensi icación en Ingenie ía del
So wa e) de la Uni e sidad de Las Palmas de G an Cana ia p esen ado po el alumno:
Joel Da id Delgado Pe domo
Tí ulo del p oyec o
Análisis, diseño e implemen ación de una aplicación pa a disposi i os mó iles
mul ipla a o ma pa a la comunicación en e cen os educa i os y pad es de alumnos
Tu o
D . Alexis Quesada A encibia
Ag adecimien os
A mi u o Alexis Quesada A encibia, po apoya nos y ecibi nos con los b azos desde el p ime
día, haciendo lo imposible po a ende nos.
A mi compañe o y amigo Ad ián Lou o Alonso, po habe me acompañado en es e p oyec o y
habe me ayudado an o du an e la ca e a.
Al g upo Monóxido Fe oso, sin oso os no es a ía aquí.
A mi amilia, no ia y amigos, po apoya me siemp e desde el p ime c édi o has a el úl imo.
Resumen
En la ac ualidad la ecnología es á p esen e en odas pa es. Pe o exis iendo al e na i as
ecnológicas aún seguimos haciendo uso de he amien as an adicionales, como el
papel.
Su ab icación conlle a una se ie de des en ajas hacia el medioambien e, que puede se
paliado haciendo uso de al e na i as.
Uno de los usos más popula es consis e en el papeleo escola . Millones de hojas son
u ilizadas cada año pa a ealiza encues as, au o izaciones, o ci cula es escola es, con
uso único y desechadas después de cumpli su obje i o, la mayo ía de las eces sin
ecicla se.
Como al e na i a, p oponemos un sis ema que posibili a a cen os y pad es pa a
comunica se de mane a ápida, sencilla, di ec a y económica, pe mi iendo además que
los pad es puedan las i ma au o izaciones de sus hijos.
Abs ac
Nowadays, echnology is p esen e e ywhe e. Bu wi h echnologic al e na i es we s ill
use some o he mos adi ional ools, like pape .
I s making ca y a se ies o disad an ages o he en i omen , ha can be mi iga ed using
al e na i es.
One o he mos popula s uses consis s in schola papelwo k. Millions o pape shee s
a e used e e y yea o make schola polls, au ho iza ions, o ci cula s, wi h a single- ime
use and hey a e disca ded a e being used, he mos o hem wi hou ecycling.
As an al e na i e, we pu pose a sys em ha enables he communica ion be ween
cen es and pa en s in a as , simple, di ec and economic way, allowing as well pa en s
o sign au ho iza ions o hei child en.
Índice de ablas
Tabla 1: Resumen de casos de uso .............................................................................................. 34
Tabla 2: Especi icaciones de casos de uso (Responde au o izaciones) ..................................... 35
Tabla 3: Especi icaciones de casos de uso (Responde encues as) ............................................. 35
Tabla 4: Especi icaciones de casos de uso (Cambia código de segu idad) ................................ 36
Tabla 5: Especi icaciones de casos de uso (Añadi cen o/s) ...................................................... 37
Tabla 6: Con enido de las ablas de la Base de Da os ................................................................. 44
1
In oducción
El malgas o de los ecu sos del plane a en gene al nos pa ece un p oblema undamen al
en nues o sis ema sociocul u al. Po ello, hemos decidido ealiza un p oyec o que
pueda colabo a a emedia es e hecho en la medida de lo posible y de lo que nues os
conocimien os en la in o má ica y nues a capacidad de busca soluciones nos lo
pe mi an. Hemos decido cen a nos en una ac i idad que, si bien co idiana, iene como
esul ado un consumo de papel que c eemos innecesa io con las ecnologías disponibles
hoy en día.
Po ello, hemos decidido ealiza una p opues a pa a los cen os educa i os pa a e i a
el mé odo ac ual y poco amigable con el medio ambien e de comunicación con los
pad es. La inalidad de nues a p opues a es pone in al uso del papel pa a en ia
mensajes de ca ác e gene al y/o au o izaciones a los pad es po pa e de los cen os
educa i os.
Po consiguien e, hemos desa ollado una solución que pe mi e a los cen os en ia
dis in os ipos de mensajes con uno o a ios adminis ado es enca gados de ges iona
dicha mensaje ía a los pad es de sus alumnos (au o izaciones de ac i idades, ci cula es
de ca ác e gene al y encues as) y que es os úl imos puedan isualiza las en sus
disposi i os mó iles e incluso esponde las desde el mismo, e i ando cos es y
o eciendo una al e na i a más ac ualizada y espe uosa con el ecosis ema.
En es e T abajo de Fin de G ado en conc e o nos cen a emos en la aplicación mó il
dedicada a los pad es, en la que pod án isualiza el con enido de los es ipos de
mensajes an e io men e mencionados y esponde en consecuencia a aquellos en los
que se solici e una espues a, más especí icamen e, se pe mi i á au o iza o
desau o iza a los hijos/as a asis i a ac i idades p opues as po el cen o, así como
esponde a encues as solici adas po el cen o pa a mejo a su comunicación con el
mismo.
La aplicación des inada a se ges ionada po el cen o se á desa ollada po Ad ián Lou o
Alonso en el T abajo de Fin de G ado i ulado: “Análisis, Diseño e Implemen ación de un
Backend pa a la Comunicación en e Cen os Educa i os y Pad es de Alumnos”, en la que
se pe mi i á a uno o a a ios adminis ado es en ia au o izaciones, encues as y
ci cula es a los pad es, además de pe mi i isualiza los esul ados que se en ían desde
la aplicación clien e a desa olla en es e T abajo de Fin de G ado.
Como se p e ió necesa io, hemos además diseñado y desa ollado un se icio web
REST ul que, haciendo uso de una capa de acceso a da os pe enecien e al backend
diseñado en el T abajo de Fin de G ado enca gado del mismo, pe mi a a nues a
aplicación mó il accede a la base de da os de la aplicación.
2
Es uc u a del documen o
Es a memo ia es á sepa ada po capí ulos, que p ocede emos a desc ibi b e emen e
en las siguien es líneas:
1. Es ado ac ual y obje i os iniciales
Es ablecemos el pun o de pa ida del p oyec o, de allando la si uación ac ual del
p oblema, compe ido es de nues a p opues a y los obje i os que nos hemos
p opues o alcanza con el p oyec o.
2. Compe encias especí icas cubie as
Enume amos y jus i icamos cómo se han alcanzado las compe encias cubie as
du an e la ealización del p oyec o.
3. Apo aciones
De allamos cuáles son las apo aciones que iene nues o p oyec o en el
apa ado socioeconómico y cuál ha sido el impac o pe sonal que ha enido en
noso os.
4. No ma i a y legislación
Explicamos nues o análisis de la no ma i a y legislación igen e y qué medidas
hemos omado en el p oyec o pa a adop a las, se incluyen ambién in o mación
sob e las licencias u ilizadas de los di e en es p oduc os so wa e u ilizados
du an e el desa ollo del p oyec o.
5. Me odología de abajo y plani icación del p oyec o
Especi icamos cuál de las di e en es me odologías de abajo hemos escogido y
jus i icamos nues a elección además de mos a cuál ha sido la plani icación del
p oyec o.
6. Tecnologías y he amien as u ilizadas
In oducimos cuáles han sido las ecnologías escogidas pa a abaja en el
p oyec o, así como las he amien as u ilizadas pa a ello.
3
7. Análisis
Señalamos y de allamos el análisis ealizado del p oyec o, así como la
iden i icación de equisi os uncionales y la esquema ización de los mismos
median e diag amas de casos de uso.
8. Diseño
De inimos el diseño y la a qui ec u a bajo los cuáles se ha cons uido el sis ema.
Además, es os se jus i ican debidamen e y se de alla su implemen ación y
uncionamien o. Añadimos ambién el diseño u ilizado pa a nues a base de
da os.
9. Desa ollo
Visualizamos de mane a sencilla cómo ha sido el desa ollo en el p oyec o,
jus i icando la elección del amewo k escogido, la es uc u a de a chi os de la
aplicación mó il, y como se ha con igu ado y u ilizado el paque e escogido pa a
desa olla nues a API Res ul.
10. P uebas
Desc ibimos las p uebas que hemos ealizado pa a alida el uncionamien o de
la aplicación, sepa adas po p uebas de usabilidad y p uebas de in eg ación.
11. Resul ados, conclusiones y abajo u u o
Concluimos con el desa ollo de la memo ia, señalando cuales han sido nues as
e lexiones, esul ados inales y los posibles cambios y mejo as que se pod ían
in oduci en el sis ema en el u u o.
12. Bibliog a ía
Enunciamos odas las e e encias a las que se ha hecho alusión du an e la
memo ia, sus au o es y sus uen es espec i as.
13. Anexos
I. Explicamos de mane a concisa y sencilla cómo hace uso de la aplicación
mó il.
II. Explicamos cómo ins ala el sis ema de la aplicación mó il y la API Res ul
pa a pode u iliza la en esc i o io.
III. Adjun amos un sc ip de sen encias SQL que dan como esul ado la base
de da os u ilizada du an e el anscu so del p oyec o.
4
1. Es ado ac ual y obje i os iniciales
1.1 Es ado ac ual
1.1.1 Al e na i as Exis en es
Si que emos que nues a aplicación enga éxi o, p ime amen e, debe emos asegu a nos
de que p oblema que emos esol e . Una ez decidido es e pun o, debemos comp oba
que compe ido es posibles enemos en nues o en o no, y como sa is acen los mismos
las necesidades del usua io y cómo sol en an el p oblema. Si conseguimos o ece
al e na i as a dichas soluciones, o mejo es soluciones en gene al, pod emos mejo a la
p obabilidad de éxi o de nues a aplicación incluso an es de comenza el desa ollo de
la misma.
Teniendo en cuen a es a p emisa, hemos decidido ealiza un análisis del me cado
ac ual pa a e que soluciones exis en al p oblema de comunicación en e Cen os y
Pad es haciendo uso de las nue as ecnologías. A con inuación, p ocede emos a
enume a dichas soluciones, así como comen a que ca encias encon amos en las
mismas y que no exis en en nues o p ime concep o de aplicación.
• [1] miColegioApp:
▪ Pa a el cen o: pe mi e el en ío de ci cula es y adjun a documen os a los
mismos.
▪ Pa a los pad es: con i ma ci as, i ma au o izaciones.
▪ No pe mi e: ealización de encues as y au o-impo ación de da os.
• [2] TokApp:
▪ Pa a el cen o: impo ación de da os, pe mi e el en ío de mensajes en e
p o eso es y alumnos.
▪ Pa a los pad es: con ac a con los p o eso es, con los alumnos y con el
cen o sin es icciones.
▪ No pe mi e: Fi ma au o izaciones, en ia mensajes de un ipo especí ico
de con enido, es ingi la comunicación en e
pad es/p o eso es/cen o.
• [3] ClickEdu:
▪ Pa a el cen o: con abilidad, ges ión de ecu sos del cen o, ges ión de
bole ines de no as, ac i idades ex aescola es, ealización de exámenes,
en ega de abajos.
▪ Pa a los pad es: A isos, Emails:
▪ No pe mi e: Fi ma au o izaciones, esponde encues as, au o-
impo ación de da os.
5
• [4] Remind:
▪ Pa a el cen o: c eación de g upos de alumnos/ p o eso es/pad es en
o ma de cha s, en ío de ci cula es.
▪ Pa a los pad es: comunicación ía cha con cualquie p o eso , alumno o
pad e.
▪ No pe mi e: i ma au o izaciones, esponde encues as, en ia
ci cula es a odos los usua ios, au o-impo ación de da os.
• [5] ClassDojo:
▪ Pa a el cen o: pe mi e al p o eso ado c ea una ed social con sus
alumnos, alo a sus comen a ios, en ia mensajes a sus alumnos en
especí ico.
▪ Pa a los pad es: Pe mi e isualiza o og a ías omadas en clase o en
ac i idades po pa e de los pad es, ac ualizaciones po pa e del
p o eso y comunicación p i ada con el p o eso ado.
▪ No pe mi e: es ingi la comunicación pad e/p o eso ados, en ío de
ci cula es, en ío de encues as, adjun a documen os, en ia encues as.
1.1.2 Conclusiones
Como hemos podido obse a , en gene al enemos dos g upos de aplicaciones:
• Las p ime as es án des inadas a la ges ión comple a del cen o: bole ines de
no as, cali icaciones, ges ión de sala ios, con abilidad, ho a ios, ealización de
exámenes, en egas de abajos, e c. Po ello, el apa ado de la mensaje ía
laquea y es de ca ác e gene al, no suelen pe mi i di e encia en e mensajes
de ca ác e in o ma i o de aquellos que equie en de una e oalimen ación po
pa e de los pad es.
• Las segundas es án des inadas a la mensaje ía, pe o a una mensaje ía de
ca ác e indi idual o de g upos pequeños, eniendo los cha s como
abande ados. Es e ipo de aplicaciones es e ec i o pa a ene comunicación en
iempo eal y olca con enido mul imedia, pe o no lo es an o pa a el en ío más
gene al de in o mación o documen ación, como son las ci cula es, las encues as
o au o izaciones.
Además de lo mencionado, ambos ipos de aplicación suelen ca ece de la au o-
impo ación de da os, algo que conside amos esencial, debido a lo edioso que puede
se ealiza la impo ación de cien os de alumnos y sus espec i os pad es de mane a
manual.
6
Respec o a la mensaje ía, nues a aplicación se cen a más en la in o mación gene al y
de ca ác e o icial, y pe mi e supli la mensaje ía indi idual que las al e na i as o ecen,
sin llega a p opo ciona un lib e albed ío a la ho a de comunica se con el cen o o el
p o eso ado: oda la comunicación se ealiza desde el cen o y es es e el que decide si
desea una espues a y de qué ipo especí ico la desea.
Po úl imo, ambos g upos cuen an con aplicaciones pensadas pa a se u ilizadas po
pad es acos umb ado a las in e acciones más mode nas pe o que pueden se no an
in ui i as, y nues a solución b inda la acilidad de uso po su cla idad y sencillez,
in en ando se lo más in ui i a y cla a posible.
1.2 Obje i os
El obje i o p incipal de nues a solución es o ece una solución sencilla, amigable con
el medioambien e y iable incluso pa a aquellos cen os con in aes uc u as mínimas y
pe sonal inexpe o.
En el caso especí ico de es e T abajo de Fin de G ado, los obje i os son cla os:
• O ece una in e az de usua io sencilla, cla a e in ui i a.
• P opo ciona siemp e al usua io anspa encia sob e que acciones ealiza en la
aplicación.
• Ga an iza la segu idad del usua io, la p i acidad de sus da os y que cen os
pueden e los y sob e cuando ealizamos acciones que sus i uyen a la i ma
adicional.
• Asegu a nos de que la in o mación de los cen os y la e oalimen ación que
es os equie en llegue a los pad es y no se ex a íe como pod ía sucede con
mé odos más adicionales.
Pa a ello, desde la aplicación mó il, la in e az es á diseñada en un modelo de pes añas,
con iconos cla os y que ep esen an las di e en es secciones de la aplicación, se in o ma
de mane a ac i a y e oac i a al usua io cuando accede al con enido de los mensajes y
de cuando en ía espues as a los mismos y los pad es sólo debe án in oduci su núme o
de elé ono pa a inicia sesión y su nomb e y apellidos si nos encon á amos en el
egis o. La asignación de pad es/alumnos se ealiza ía po pa e del cen o.
7
2. Compe encias especí icas cubie as
2.1 Comunes a la Ingenie ía In o má ica
CII01
Capacidad pa a diseña , desa olla , selecciona y e alua aplicaciones y sis emas
in o má icos, asegu ando su iabilidad, segu idad y calidad, con o me a p incipios é icos
y a la legislación y no ma i a igen e.
Du an e el p oyec o hemos enido que diseña y desa olla la aplicación mó il pa a los
pad es, así como e alua que unciona en odas las condiciones, que cumple los
equisi os de segu idad y de calidad es ablecidos pa a los mismos, así como asegu a
que sólo los cen os que un pad e seleccione end án acceso a su in o mación, pa a
cumpli con la no ma i a y legislación igen e de p o ección de da os.
CII03
Capacidad pa a comp ende la impo ancia de la negociación, los hábi os de abajo
e ec i os, el lide azgo y las habilidades de comunicación en odos los en o nos de
desa ollo de so wa e.
Debido al ca ác e colabo a i o del p oyec o, ha sido de i al impo ancia es ablece una
buena comunicación en e los dos au o es de las dos pa es que componen el mismo.
Po ello, sob e odo en las ases de análisis y diseño, colabo amos ín imamen e con el
au o del T abajo de Fin de G ado enca gado del backend, pa a así pode e i a en g an
medida posibles p oblemas que pudie an su gi pos e io es al desa ollo de in eg ación
de ambas aplicaciones.
CII08
Capacidad pa a analiza , diseña , cons ui y man ene aplicaciones de o ma obus a,
segu a y e icien e, eligiendo el pa adigma y los lenguajes de p og amación más
adecuados.
Debido al ca ác e o iginal del p oyec o, hemos enido que ejecu a odas y cada una de
las ases de un p oyec o: desde el análisis, pasando po el diseño, has a el desa ollo.
Como el p o o ipo inal escogido de nues a aplicación eque ía se mul ipla a o ma,
hemos es udiado las dis in as opciones de ecnologías disponibles, escogiendo
inalmen e Ionic como amewo k del desa ollo. Pa a pode comunica nos con el
backend debíamos ambién desa olla un se icio web REST ul en el p oyec o del
mismo, basado en Sym ony. Po ello decidimos u iliza el paque e F iends O Sym ony
que nos pe mi e una con igu ación sencilla y una implemen ación mecánica de los
mé odos eque idos en el se icio.
8
CII012
Conocimien o y aplicación de las ca ac e ís icas, uncionalidades y es uc u a de las
bases de da os, que pe mi an su adecuado uso, y el diseño y el análisis e implemen ación
de aplicaciones basadas en ellos.
Debido a las dimensiones del p oyec o, nos hemos is o obligados a ealiza un análisis
exhaus i o y un diseño p eciso de la base de da os del sis ema, y haciendo uso de un
Objec -Rela ional Mapping hemos conseguido pode gene a obje os a pa i de los
da os. Con ello hemos sacado pa ido de las en ajas que nos p opo ciona la
p og amación o ien ada a obje os ap endidas du an e el g ado.
CII013
Conocimien o y aplicación de las he amien as necesa ias pa a el almacenamien o,
p ocesamien o y acceso a los Sis emas de in o mación, incluidos los basados en web.
Dado que el p oyec o comple o cons a de dos aplicaciones, como ya se ha mencionado
p e iamen e, se necesi a desa olla una API que nos pe mi a comunica ambas
aplicaciones sob e el mismo sis ema de base de da os.
CII016
Conocimien o y aplicación de los p incipios, me odologías y ciclos de ida de la ingenie ía
de so wa e.
Realizando una compa ación en e los dis in os ciclos de ida y los p incipios de los
mismos, concluimos que dada nues a mane a de abaja la mejo opción a escoge
se ía el desa ollo basado en p o o ipos, pe mi iéndonos gene a en cada i e ación un
p o o ipo uncional que nos pe mi ie a alida los equisi os del usua io, así como
comp oba la in eg ación de nues a aplicación y la del compañe o que abajaba en el
backend del p oyec o.
CII017
Capacidad pa a diseña y e alua in e aces pe sona compu ado que ga an icen la
accesibilidad y usabilidad a los sis emas, se icios y aplicaciones in o má icas.
Po el o ma o mó il de nues a aplicación, esul ó muy impo an e iden i ica los
elemen os a des aca den o de nues a in e az, simpli icándola lo mayo posible pa a
consegui una des acable acilidad de uso y sencillez. Se han u ilizado como base pa a
ello los con enidos ap endidos en la asigna u a de Diseño de In e aces de Usua io, así
como o os adqui idos du an e nues a o mación.
9
CII018
Conocimien o de la no ma i a y la egulación de la in o má ica en los ámbi os nacional,
eu opeo e in e nacional.
Hemos ealizado una búsqueda concisa en e e encia a aquellos apa ados de la
legislación ac ual que se aplican en los dis in os apa ados de nues a aplicación, pa a
cumpli de mane a adecuada con la no ma i a y egulación igen es.
2.2 T abajo Fin de G ado
TFG01
Eje cicio o iginal a ealiza indi idualmen e y p esen a y de ende an e un ibunal
uni e si a io, consis en e en un p oyec o en el ámbi o de las ecnologías especí icas de
la Ingenie ía en In o má ica de na u aleza p o esional en el que se sin e icen e in eg en
las compe encias adqui idas en las enseñanzas.
Teniendo en cuen a que es un p oyec o complejo, y además o iginal, hemos enido que
pasa po odas las ases de un desa ollo de p oyec o comple o que nos ha pe mi ido
emplea muchos de los conocimien os adqui idos en el g ado.
2.3 Ingenie ía del So wa e (IS)
IS01
Capacidad pa a desa olla , man ene y e alua se icios y sis emas so wa e que
sa is agan odos los equisi os del usua io y se compo en de o ma iable y e icien e,
sean asequibles de desa olla y man ene y cumplan no mas de calidad, aplicando las
eo ías, p incipios, mé odos y p ác icas de la ingenie ía del so wa e.
U ilizando una me odología de so wa e hemos conseguido simpli ica la o ganización
de nues o p oyec o, así como ealiza un seguimien o y alidación de que el mismo
sa is acía las necesidades del usua io. Además, haciendo uso de dis in as p ác icas de la
ingenie ía del so wa e hemos conseguido gene a un sis ema iable, e icien e y obus o,
sin pe de la lexibilidad de po medio.
16
4.1.4 Licencia MIT
[12] La licencia MIT es una Licencia de so wa e lib e pe misi a lo que signi ica que
impone muy pocas limi aciones en la eu ilización y po an o posee una excelen e
compa ibilidad de licencia. La licencia MIT pe mi e eu iliza so wa e den o de
so wa e p opie a io. Po o o lado, la licencia MIT es compa ible con muchas licencias
copyle , como la GNU GPL (so wa e con licencia MIT puede in eg a se en so wa e con
licencia GPL, pe o no al con a io). El ex o de la licencia no iene copy igh , lo que
pe mi e su modi icación.
Es a licencia pe mi e eu iliza el so wa e así licenciado an o pa a se so wa e lib e
como pa a se so wa e no lib e, pe mi iendo no libe a los cambios ealizados al
p og ama o iginal.
También pe mi e licencia dichos cambios con licencia BSD, GPL u o a cualquie a que
sea compa ible (es deci , que cumpla las cláusulas de dis ibución).
Con es a licencia se iene so wa e lib e. Ejemplos en los que pod ía in e esa su
aplicación se ían las licencias duales, si se p e ende di undi un es ánda median e una
implemen ación de e e encia, o si simplemen e se p e ende que el p oduc o sea lib e
sin mayo es conside aciones.
La licencia MIT es u ilizada po los siguien es p oduc os so wa e usados en el desa ollo:
Sym ony, Doc ine, JQue y, Ionic, NodeJS, Momen JS, Angula Momen , Ionic Fil e Ba
y A om.
4.1.5 Licencia pa a educación de Je B ains
[13] La licencia de Je B ains pa a educación iene un o ma o de susc ipción anual y es
g a ui a pa a los miemb os de la comunidad uni e si a ia. No obs an e, comp ende una
se ie de es icciones en lo que espec a a su uso, po lo que no se pe mi e:
• Alquila , ep oduci , modi ica , adap a , c ea abajos de i ados, ende ,
sublicencia o ans e i los p oduc os, o p o ee dicho p oduc o asociado a
nues a cuen a a e ce os.
• El uso de ingenie ía in e sa, descompila , desensambla , modi ica , aduci los
p oduc os o cualquie in en o de descub i el código uen e de los p oduc os.
• Elimina u ocul a cualquie a iso de p opiedad o de o o ipo con enidos en los
p oduc os.
• Usa los p oduc os pa a p opósi os come ciales.
Dicha licencia se ha u ilizado en el IDE PhpS o m.
17
4.1.6 Licencia de Jus inmind
[14] Jus inmind conside a las siguien es decla aciones en lo que espec a al copy igh y
a los de echos de p opiedad:
1. Jus inmind o sus p o eedo es son los p opie a ios de los de echos de p opiedad
in elec ual de cualquie y odos los componen es p o egibles del Se icio,
incluyendo po an o al nomb e del Se icio, abajo a ís ico y elemen os de la
in e az de usua io inal con enidos en el Se icio. No se pe mi e copia ,
modi ica , adap a , ep oduci , dis ibui , ealiza ingenie ía in e sa,
descompila , o desensambla cualquie aspec o del Se icio de los cuáles
Jus inmind o sus p o eedo es sean p opie a ios.
2. Jus inmind no eclama los de echos de p opiedad in elec ual del Con enido que
sea subido o p o eído al Se icio. Sin emba go, si se usa el Se icio pa a en ia
con enido, se es á de acue do en que o os puedan e y compa i el Con enido.
Es a licencia a ligada al p oduc o Jus inmind P o o ype .
4.1.7 Licencia pa a educación de O ice 365
[15] La licencia pa a educación de O ice 365 des inada a la Uni e sidad enume a las
siguien es es icciones en lo que espec a su uso:
1. Debe se un “Usua io educacional cuali icado” pa a susc ibi se y u iliza el
se icio y el so wa e de edición “Uni e si y”.
2. Susc ipción No pa a e en a. Las a je as de susc ipción No pa a e en a se
dis ibuyen con p opósi os limi ados. No puede ende las a je as de
susc ipción iden i icadas como “NPR” o “No pa a e en a”.
3. P og amas de e ce os. El so wa e puede inclui p og amas de e ce os que
Mic oso , no los e ce os, le licencia a us ed con o me a es e con a o. Las
no i icaciones, si las hay, pa a el p og ama de e ce os se incluyen pa a su
in o mación solamen e.
4. Mic oso le concede una licencia pa a copia , dis ibui , ealiza y mos a
elemen os mul imedia (imágenes, imágenes p ediseñadas, animaciones,
sonidos, música, clips de ídeo, plan illas y o o con enido) incluidos con el
se icio y/o el so wa e en p oyec os y documen os; sin emba go, no puede: (i)
ende , licencia ni dis ibui copias de elemen os mul imedia po sí mismos o
como un p oduc o, si el alo p incipal del p oduc o son los elemen os
mul imedia; (ii) concede a sus clien es el de echo de ol e a licencia o
dis ibui los elemen os mul imedia; (iii) licencia o dis ibui pa a p opósi os
come ciales elemen os mul imedia que incluyan la mani es ación de pe sonas,
gobie nos, logo ipos, ma cas o emblemas iden i icables, o u iliza es os ipos de
imágenes de mane as que pudie an implica una ap obación o una asociación
18
con su p oduc o, en idad o ac i idad; o (i ) c ea abajos obscenos o
escandalosos median e los elemen os mul imedia. O os elemen os mul imedia,
a los que se puede accede en o os si ios web a a és de las ca ac e ís icas de
O ice, se igen po los é minos de esos si ios web.
Se ha u ilizado dicha licencia en el p oduc o so wa e Mic oso Wo d 2016.
4.2 Segu idad de los Da os
[16] La Ley O gánica 15/1999 de 13 de diciemb e de P o ección de Da os de Ca ác e
Pe sonal, (LOPD), es una ley o gánica española que iene po obje o ga an iza y
p o ege , en lo que concie ne al a amien o de los da os pe sonales, las libe ades
públicas y los de echos undamen ales de las pe sonas ísicas, y especialmen e de su
hono , in imidad y p i acidad pe sonal y amilia .
Su obje i o p incipal es egula el a amien o de los da os y iche os, de ca ác e
pe sonal, independien emen e del sopo e en el cual sean a ados, los de echos de los
ciudadanos sob e ellos y las obligaciones de aquellos que los c ean o a an. Es a ley
a ec a a odos los da os que hacen e e encia a pe sonas ísicas egis adas sob e
cualquie sopo e, in o má ico o no.
Pa a cumpli con es a ley, se debe ga an iza que la p o ección de da os pe sonales es
un elemen o p esen e en odos aquellos apa ados elacionados de nues a aplicación,
en especial en lo que espec a a in o mación almacenada, es o es: en la base de da os.
En el caso especí ico de nues a aplicación, pa a cada pe sona ísica se ecogen los
siguien es da os:
• Nomb e y Apellidos.
• Núme o de elé ono pe sonal.
Po lo an o, igu an en el denominado [17] Ni el básico po lo que se deben
ga an iza los siguien es equisi os y se han adop ado las siguien es medidas:
• Dicha in o mación no es accesible po cualquie pe sona, y sólo aquellos
habili ados pa a ello end án acceso a ella.
▪ Pa a ello, hemos ga an izado que dicha in o mación sólo se á isible po
los p opie a ios de la misma, así como únicamen e po los
Adminis ado es designados po el cen o pa a hace uso del sis ema.
▪ El acceso a la base de da os es á p o egido po con aseña, ga an izando
que solo pe sonas in eg an es del equipo de desa ollo de la emp esa
puedan accede a ella.
▪ La in o mación e e en e a los pad es se á únicamen e isible pa a
aquellos cen os que los pad es hayan con igu ado pa a cede su
in o mación du an e la con igu ación inicial de su cuen a.
19
• Es a in o mación iene que se necesa ia además de con a con ines
de e minados explíci os y explíci os, ga an izando que no se usa án pa a o os
ines que no sean los aco dados. Nunca se exigi á al usua io de la aplicación da os
innecesa ios o supe luos con o me a lo eque ido pa a el co ec o
uncionamien o de la aplicación.
• Se ga an iza que la oma de decisiones en las au o izaciones po pa e de los
pad es pa a ac i idades de los cen os es á p o egida po con aseña, siendo
únicamen e los pad es los conocedo es de la misma, en o ma de un código de
segu idad de 4 dígi os.
• El sis ema ga an iza a que dichos da os sólo se án albe gados en su base de da os
du an e el iempo necesa io pa a cumplimen a la uncionalidad que se equie e
po pa e de los cen os. En caso de no se necesa ios en cie o pun o, se án
eliminados de la base de da os del sis ema, p e ia solici ud po pa e del cen o
o de un pad e/mad e.
20
5. Me odología de abajo y plani icación del p oyec o
Me odología de abajo
En lo que a la me odología de abajo espec a hemos escogido basa nos en el [18]
modelo de ciclo de ida del so wa e basado en p o o ipos pues es la mejo que se
adap a a nues a o ma de abajo, eniendo en cuen a que el p oyec o iene dos
aplicaciones independien es nos pe mi ía pode cons ui nues as aplicaciones de
mane a inc emen al e i e i icando en cada e apa que se alcanzaban los obje i os y se
alidaban los equisi os conside ados en el análisis jun o a la ayuda de nues o u o .
Pa a explica mejo en que consis e es e ciclo de ida, p ime amen e, de ini emos que
es un p o o ipo:
Los p o o ipos son una ep esen ación limi ada de un p oduc o, que pe mi e a ambas
pa es in e esadas en el desa ollo (clien e y desa ollado ) p oba lo en si uaciones
eales o explo a su uso, c eando así un p oceso de diseño de i e ación que gene a
calidad.
Teniendo cla o lo que es un p o o ipo p ocedemos a incidi en la me odología de
desa ollo basada en p o o ipos. Es e ipo de me odología pe enece a los modelos de
desa ollo e olu i o, po an o, se es ablece una p ime a implemen ación del p oyec o,
y se i e a sob e es e consecu i amen e has a llega al p oduc o inal. Des acan po es a
diseñados pa a ajus a se al cambio du an e el desa ollo del p oyec o, po lo que esul a
ideal en un abajo o iginal como es e.
21
Ilus ación 1: Modelo de cons ucción de p o o ipos
Tal y como se puede isualiza en la Ilus ación 1 es e modelo sigue una es uc u a
i e a i a que cons a de las siguien es e apas:
▪ Plan ápido, Modelado y Diseño ápido: es a e apa se cen a en la ep esen ación
de aquellos aspec os isibles pa a el clien e.
▪ Cons ucción del p o o ipo: se cons uye un p o o ipo uncional o no, en el que
el clien e alida si dichas uncionalidades son las deseadas.
▪ Desa ollo, En ega y e oalimen ación: se desa ollan las uncionalidades y se
en egan al clien e, consiguiendo una e oalimen ación de su pa e al espec o
ace ca de si los equisi os han sido alidados co ec amen e o no.
▪ Comunicación: El clien e comunica cambios que desea ealiza en la
implemen ación o posibles mejo as an es de ce a la i e ación.
Po dicho uncionamien o, el modelo basado en la cons ucción de p o o ipos dis u a
de las siguien es [19] en ajas e incon enien es:
Ven ajas
• Es e modelo es ú il cuando el clien e conoce los obje i os gene ales pa a el
so wa e, pe o no iden i ica los equisi os de allados de en ada, p ocesamien o
o salida.
22
▪ En nues o caso pa icula , nues o u o compa e la au o ía de la idea
o iginal del p oyec o y, po an o, conoce en de alle cuáles son los
obje i os gene ales de la aplicación pa a mó il, inclusi e conociendo e
ayudándonos a iden i ica los equisi os pa a la misma, lo cual es una g an
en aja.
• También o ece un mejo en oque cuando el esponsable del desa ollo del
so wa e es á insegu o de la e icacia de un algo i mo, de la adap abilidad de un
sis ema ope a i o o de la o ma que debe ía oma la in e acción humano-
máquina.
▪ Dada nues a al a de expe iencia en desa olla aplicaciones mó iles y
que, en gene al, odo desa ollo iene ma gen de mejo a, esul a ideal
pode alida que cada implemen ación es á yendo en la di ección
adecuada pa a alida los equisi os del p oduc o con o me se a
ealizando.
• Se puede eu iliza el código.
▪ Hemos podido ap o echa du an e el desa ollo código implemen ado
du an e los p o o ipos pa cialmen e uncionales, aho ándonos abajo y
sob e odo iempo de desa ollo pa a cumpli con las en egas.
Incon enien es
• El usua io iende a c ea se unas expec a i as cuando e el p o o ipo de ca a al
sis ema inal. A causa de la in ención de c ea un p o o ipo de o ma ápida, se
suelen desa ende aspec os impo an es, ales como la calidad y el
man enimien o a la go plazo, lo que obliga en la mayo pa e de los casos a
econs ui lo una ez que el p o o ipo ha cumplido su unción. Es ecuen e que
el usua io se mues e eacio a ello y pida que sob e ese p o o ipo se cons uya
el sis ema inal, lo que lo con e i ía en un p o o ipo e olu i o, pe o pa iendo
de un es ado poco ecomendado.
▪ En es e caso, dado que las alidaciones han sido ealizadas po el u o ,
sus i uyendo al usua io, y que el mismo conoce las ca ac e ís icas y el
p oceso de es a me odología no hemos enido ninguno de es os
p oblemas.
• En a as de desa olla ápidamen e el p o o ipo, el desa ollado suele oma
algunas decisiones de implemen ación poco con enien es (po ejemplo, elegi
un lenguaje de p og amación inco ec o po que p opo cione un desa ollo más
ápido). Con el paso del iempo, el desa ollado puede ol ida se de la azón que
le lle ó a oma ales decisiones, con lo que se co e el iesgo de que dichas
elecciones pasen a o ma pa e del sis ema inal.
▪ G acias a nues a expe iencia y las buenas p ác icas ap endidas du an e
el g ado hemos podido e i a en mayo medida la mala oma de
23
decisiones al ealiza el p o o ipo y escoge las ecnologías pa a el
desa ollo.
Conclusiones
A pesa de que al ez su jan p oblemas, la cons ucción de p o o ipos puede se un
pa adigma e ec i o pa a la ingenie ía del so wa e. La cla e es de ini las eglas del juego
desde el p incipio; es deci , el clien e y el desa ollado se deben pone de acue do en:
• Que el p o o ipo se cons uya y si a como un mecanismo pa a la de inición de
equisi os.
• Que el p o o ipo se desca e, al menos en pa e.
• Que después se desa olle el so wa e eal con un en oque hacia la calidad.
Pudiendo ene es as condiciones cla as y siguiendo las indicaciones del u o en el papel
de clien e, al inal es a me odología nos ha apo ado muchas en ajas y muy pocas
des en ajas eales, cla o que odo ello es debido a la na u aleza de nues o clien e po
lo que dichos esul ados no deben des i ualiza se y gene aliza se, pues la me odología
basada en p o o ipos aún con empla cie os iesgos.
5.2 Plani icación del p oyec o
5.2.1 Plani icación inicial
Pa a ealiza una plani icación co ec a del p oyec o, p ime amen e, ealizamos un
es udio del es ado del a e, pa a pode iden i ica cuáles e an los usua ios p incipales
de nues a aplicación, así como que uncionalidades eque i ían los mismos den o de
nues o sis ema. A pa i de es a in o mación pudimos iden i ica mejo cuáles se ían
los ac o es de nues o sis ema y que equisi os uncionales p ecisaba nues o sis ema.
Pa a ep esen a es a in o mación y ene la a nues a disposición de mane a cla a y
sencilla, cons uimos una se ie de diag amas de casos de uso, con sus espec i as ablas
de especi icación, donde se de alla al comple o la uncionalidad a implemen a .
Realizada dichas ep esen aciones p ocedimos a alida las con nues o u o , ealizando
los ajus es que conside amos opo unos en las mismas. Una ez ac ualizadas, pasamos
a ealiza una p ime a ep esen ación g á ica de la in e az de nues o sis ema, haciendo
uso del p oduc o so wa e Jus inmind P o o ype . Dicha in e az g á ica nos ayudó
muchísimo a da nos especi ica mejo las uncionalidades que habíamos de inido, así
como a iden i ica algunas que nos habíamos plan eado. Sumándose a es o, nos
pe mi ió isualiza cómo in e acciona ían los usua ios con sus aplicaciones y sus
espec i as uncionalidades.
24
Pa a con inua , eníamos que de ini bien cuál iba a se la a qui ec u a de nues o
sis ema, hecho es o, debe íamos ealiza un análisis de las ecnologías disponibles pa a
el desa ollo del sis ema, e sus dis in as en ajas e incon enien es pa a nues a
aplicación, y ealiza una elección en base a cuál de ellas se adap aba mejo a nues as
necesidades.
Al inal nos acabamos decan ando po las ecnologías de Ionic y Angula JS,
decla ándonos así abande ados de las aplicaciones mó iles híb idas mul ipla a o ma.
Una ez escogidas dichas ecnologías, comenzó un pe iodo de ap endizaje de dichas
ecnologías, siguiendo las documen aciones co espondien es y ealizando pequeñas
aplicaciones supe luas que nos pe mi ie an ap ende lo más posible ace ca de las
mismas, así como gana agilidad desa ollando con ellas.
Una ez ganada cie a des eza con dichas ecnologías comenzó el desa ollo de la
aplicación mó il y su se icio REST ul co espondien e. Siguiendo las di ec i as del
modelo basado en p o o ipos, de allado en el apa ado an e io de es a memo ia, el
p oyec o ue di idido en una se ie de i e aciones y se ue on ealizando con o me al
ciclo de es e modelo. Dichas i e aciones consis ie on en lo siguien e:
1º. Se ealizó una ins alación de las he amien as necesa ias pa a el desa ollo, así
como del p oyec o del backend. Realizamos una p ime a implemen ación del
inicio de sesión y egis o en el sis ema, así como de los mé odos necesa ios pa a
ello en la API REST.
2º. Se desa olla on las is as de las dis in as pes añas p incipales de la aplicación.
Se implemen a on las isualizaciones del lis ado y el con enido de Ci cula es,
Au o izaciones y Encues as, así como de la is a de Mi Pe il.
3º. Realizamos la implemen ación del en ío de espues as a las au o izaciones y
encues as desde la is a del con enido de las mismas, así como de los mé odos
del se icio web eque idos pa a su co ec o uncionamien o. Además, se añadió
el código de segu idad como mé odo de au en i icación.
4º. Se implemen a on las uncionalidades espec i as a la pes aña de Mi Pe il, ales
como la isualización de Mis Da os, Mis Hijos y la selección de Cen os en el
apa ado Mi Cen o. También se co igió el lujo del inicio de sesión/ egis o pa a
que incluye a un es ablecimien o del código de segu idad y de una selección de
cen os. Po ende, se añadie on ambién los mé odos del se icio necesa ios
pa a el uncionamien o de dichas is as.
5º. Po úl imo, se ealizó una e ac o ización del código en donde ue posible,
aho ando mucho código p e iamen e esc i o al comienzo del desa ollo,
sus i uible po di ec i as, así como una mejo o ganización de las u as de la API
pa a segui las buenas p ác icas p opues as po las APIs REST p agmá icas. Y pa a
inaliza se ealizó un con ol de e o es y alidación de o mula ios en aquellas
pa es de la aplicación en las que e a necesa io.
25
5.2.2 Ajus es de la plani icación
La aplicación ideada o iginalmen e con emplaba una implemen ación de un sis ema de
u o ías en e los pad es de los alumnos y el p o eso ado del cen o. Po ende, el sis ema
a desa olla e a mucho más complejo, dicho sis ema implica ía añadi a las
uncionalidades ya exis en es las que es án bajo es as líneas:
• Adminis ado es del cen o:
▪ Regis a p o eso es en el cen o.
▪ Asocia p o eso es a un cu so.
▪ Asocia un u o a un cu so.
▪ Es ablece asigna u as en el cen o.
▪ Asocia asigna u as a un p o eso .
• P o eso es:
▪ Es ablece un ho a io de u o ías.
▪ Solici a u o ías a los pad es.
▪ Ve calenda io de u o ías.
▪ Con i ma u o ías.
▪ Cancela u o ías.
• Pad es:
▪ Solici a u o ías a los p o eso es de sus hijos.
▪ Con i ma asis encia a una u o ía.
▪ Cancela u o ías.
Con o me a anzábamos en el desa ollo, llegamos a la conclusión de que dichas
implemen aciones eque i ían de un iempo y adap ación a las nue as ecnologías de
las que no disponíamos. Po ello, consul ando con Ad ián Lou o Alonso y nues o u o
concluimos que, pa a cumpli con las i e aciones plani icadas y los plazos de en ega con
la mejo calidad posible, lo mejo se ía desca a es as ideas en la implemen ación de
es e abajo de in de g ado.
32
Ilus ación 4: Diag ama de casos de uso (Ges iona au o izaciones)
Ilus ación 5: Diag ama de casos de uso (Ges iona encues as)
33
Ilus ación 6: Diag ama de casos de uso (Ges iona cuen a)
Bajo es as líneas, especi ica emos en la Tabla 1 cada uno de los casos de uso
ep esen ados an e io men e en el diag ama, acompañados de una b e e desc ipción
de los mismos.
ID
Ac o
Desc ipción
1
Pad e/Mad e
Se mues a el con enido de la ci cula seleccionada.
2
Pad e/Mad e
Se desca ga el documen o adjun o a la ci cula que se es á
isualizando.
3
Pad e/Mad e
Se mues a el lis ado de ci cula es que coinciden con el il o
in oducido.
4
Pad e/Mad e
Se mues a un lis ado de odas las ci cula es des inadas al
usua io.
5
Pad e/Mad e
Se mues a el con enido de la au o ización seleccionada.
6
Pad e/Mad e
Se desca ga el documen o adjun o a la au o ización que se
es á isualizando.
7
Pad e/Mad e
Se au o iza o desau o iza al hijo/hija de la au o ización
mos ada a ealiza la ac i idad p opues a po el cen o.
8
Pad e/Mad e
Se mues a el lis ado de au o izaciones que coinciden con el
il o in oducido.
9
Pad e/Mad e
Se mues a un lis ado de odas las au o izaciones des inadas
al usua io.
10
Pad e/Mad e
Se mues a el con enido de la encues a seleccionada.
11
Pad e/Mad e
Se desca ga el documen o adjun o a la encues a que se es á
isualizando.
34
12
Pad e/Mad e
Se esponde a la encues a p opues a po el cen o.
13
Pad e/Mad e
Se mues a el lis ado de encues as que coinciden con el il o
in oducido.
14
Pad e/Mad e
Se mues a un lis ado de odas las encues as des inadas al
usua io.
15
Pad e/Mad e
Se cambia el Nomb e y Apellidos ac uales del usua io po el
in oducido.
16
Pad e/Mad e
Se cambia el código de segu idad ac ual del usua io po el
in oducido.
17
Pad e/Mad e
Se mues a un lis ado de los hijos/as asociados al usua io.
18
Pad e/Mad e
Se desasocia el hijo/ha seleccionado del usua io.
19
Pad e/Mad e
Se mues a un lis ado de los cen os asociados al usua io.
20
Pad e/Mad e
Se añade el cen o seleccionado a la lis a de cen os
pe mi idos del usua io.
21
Pad e/Mad e
Se elimina el cen o seleccionado de la lis a de cen os
pe mi idos del usua io.
Tabla 1: Resumen de casos de uso
7.2.2 Especi icación de casos de uso
Bajo es as líneas adjun amos una se ie de casos de uso, los cuáles conside amos los
más ele an es de la aplicación, especi icados siguiendo un modelo abulado:
CASO DE
USO
7
RESPONDER AUTORIZACIONES
Desc ipción
El pad e/mad e au o iza o desau o iza a su hijo/a pa a asis i a
una ac i idad.
Ac o es
Pad e/Mad e.
P econdiciones
El pad e/mad e debe habe iniciado sesión en el sis ema.
Flujo no mal
Paso
Acción
1
Se accede a una de las au o izaciones de
ac i idades.
2
Se au o iza la ac i idad.
3
Se in oduce el código de segu idad del usua io.
4
Se esponde a la au o ización.
Pos condiciones
Se modi ica la lis a de au o izados pa a dicha ac i idad,
añadiendo al hijo/a del pad e/mad e co espondien e.
Va iaciones
Paso
Acción
35
2 A
Se desau o iza la ac i idad.
Ex ensiones
Paso
Condición
Caso de Uso
Excepciones
3
El código de segu idad in oducido no es
co ec o.
Obse aciones
Tabla 2: Especi icaciones de casos de uso (Responde au o izaciones)
CASO DE
USO
12
RESPONDER ENCUESTAS
Desc ipción
El pad e/mad e esponde a una encues a en iada po el cen o
pa a un ema de e minado.
Ac o es
Pad e/Mad e.
P econdiciones
El pad e/mad e debe habe iniciado sesión en el sis ema.
Flujo no mal
Paso
Acción
1
Se accede a una de las encues as.
2
Se selecciona la espues a/s deseada en e las
mos adas.
3
Se in oduce el código de segu idad del usua io.
4
Se esponde a la encues a.
Pos condiciones
Se egis a el o o/s del pad e/mad e en la encues a.
Va iaciones
Paso
Acción
Ex ensiones
Paso
Condición
Caso de Uso
Excepciones
4
El código de segu idad in oducido no es
co ec o.
Obse aciones
Tabla 3: Especi icaciones de casos de uso (Responde encues as)
36
CASO DE
USO
16
CAMBIAR CÓDIGO DE SEGURIDAD
Desc ipción
El pad e/mad e cambia el código de segu idad que es ableció
al egis a se/inicia sesión.
Ac o es
Pad e/Mad e.
P econdiciones
El pad e/mad e debe habe iniciado sesión en el sis ema.
Flujo no mal
Paso
Acción
1
Se accede a la en ana de “Mis da os”.
2
Se in oduce el código ac ual en el o mula io del
código de segu idad.
3
Se in oduce el nue o código de segu idad.
4
Se in oduce la epe ición del código de
segu idad.
5
Se ealiza el cambio del código de segu idad.
Pos condiciones
Se es ablece el nue o código y se limpia el o mula io.
Va iaciones
Paso
Acción
Ex ensiones
Paso
Condición
Caso de Uso
Excepciones
5
El código de segu idad ac ual no es co ec o.
5
El nue o código de segu idad no coincide.
Obse aciones
Tabla 4: Especi icaciones de casos de uso (Cambia código de segu idad)
CASO DE
USO
20
AÑADIR CENTRO/S
Desc ipción
El pad e/mad e añade un cen o/s a su lis a de cen os
pe mi idos que pueden consul a su in o mación pe sonal.
Ac o es
Pad e/Mad e.
P econdiciones
El pad e/mad e debe habe iniciado sesión en el sis ema.
Flujo no mal
Paso
Acción
37
1
Se accede a la en ana de “Mis Cen os”.
2
Se seleccionan aquellos cen os del lis ado que se
quie en añadi .
3
Se en ían los cen os nue os y se añaden a la lis a ya
exis en e.
Pos condiciones
Se egis a el o o del pad e/mad e en la encues a.
Va iaciones
Paso
Acción
Ex ensiones
Paso
Condición
Caso de Uso
Excepciones
Obse aciones
Tabla 5: Especi icaciones de casos de uso (Añadi cen o/s)
38
8. Diseño
En es e capí ulo amos a desc ibi el diseño al que hemos llegado a pos e io i de ealiza
el análisis, comenzando po el diseño de la a qui ec u a del sis ema.
8.1 Diseño de la a qui ec u a del sis ema
La a qui ec u a de sis ema escogida pa a el p oyec o ha sido la a qui ec u a de ipo
mul i-ni el que p ocede emos a de ini a con inuación.
[38] La a qui ec u a mul i-ni el o po capas: en dicha a qui ec u a a cada ni el se le
con ía una misión simple, lo que pe mi e el diseño de a qui ec u as escalables (que
pueden amplia se con acilidad en caso de que las necesidades aumen en).
El más u ilizado ac ualmen e es el diseño en es ni eles (o en es capas):
• Capa de p esen ación: la que e el usua io ( ambién se la denomina "capa de
usua io"), p esen a el sis ema al usua io, le comunica la in o mación y cap u a la
in o mación del usua io en un mínimo de p oceso ( ealiza un il ado p e io pa a
comp oba que no hay e o es de o ma o). También es conocida como in e az
g á ica y debe ene la ca ac e ís ica de se "amigable" (en endible y ácil de usa )
pa a el usua io. Es a capa se comunica únicamen e con la capa de negocio.
• Capa de negocio: es donde esiden los p og amas que se ejecu an, se eciben las
pe iciones del usua io y se en ían las espues as as el p oceso. Se denomina
capa de negocio (e incluso de lógica del negocio) po que es aquí donde se
es ablecen odas las eglas que deben cumpli se. Es a capa se comunica con la
capa de p esen ación, pa a ecibi las solici udes y p esen a los esul ados, y con
la capa de da os, pa a solici a al ges o de base de da os almacena o ecupe a
da os de él. También se conside an aquí los p og amas de aplicación.
• Capa de da os: es donde esiden los da os y es la enca gada de accede a los
mismos. Es á o mada po uno o más ges o es de bases de da os que ealizan
odo el almacenamien o de da os, eciben solici udes de almacenamien o o
ecupe ación de in o mación desde la capa de negocio.
39
Ilus ación 7: Ins alación ípica de una a qui ec u a mul i-ni el
Sob e es as líneas, en la Ilus ación 7, podemos ap ecia que, la capa de p esen ación
eside en el lado de los clien es, la de negocio suele inclui se en un se ido de
negociación y po úl imo la capa de da os en el se ido que albe ga la base de da os.
Hemos decidido escoge es a a qui ec u a po que nos p opo ciona las siguien es
en ajas:
• Cen alización del con ol: los accesos, ecu sos e in eg idad de los da os son
con olados po el se ido , de o ma que un p og ama clien e de ec uoso o no
au o izado no pueda daña el sis ema. Es a cen alización ambién acili a la
a ea de ac ualiza dichos da os u o os ecu sos.
• Escalabilidad: se puede aumen a la capacidad de clien es y se ido es po
sepa ado. Cualquie elemen o puede se aumen ado (o mejo ado) en cualquie
momen o.
• Fácil man enimien o: al es a dis ibuidas las unciones y esponsabilidades
en e a ios o denado es independien es, es posible eemplaza , epa a ,
ac ualiza , o incluso aslada un se ido , mien as que sus clien es no se e án
a ec ados po ese cambio (o se a ec a án mínimamen e). Es a independencia de
los cambios ambién se conoce como encapsulación.
• Simpli ica la segu idad: no es necesa io aplica polí icas de segu idad complejas
en las aplicaciones del clien e, ya que la lógica de negocio y los da os es án
alojados en un único se ido . Además, Exis en ecnologías, su icien emen e
desa olladas, diseñadas pa a es a a qui ec u a que asegu an la segu idad en las
ansacciones, la amigabilidad de la in e az, y la acilidad de uso.
En nues o caso pa icula , las aplicaciones del clien e sólo ienen la capa de
p esen ación y una capa de ed que pe mi e conec a se al se ido , y el backend de la
aplicación web y la API REST ul esiden en un se ido web, que sus i uye a las capas de
negocio, de acceso a da os y de da os. Dicha a qui ec u a puede obse a se en de alle
en la Ilus ación 8 que acompaña a es as líneas.
40
Ilus ación 8: Diag ama de despliegue
8.1.1 F on end
En el on end del sis ema con amos con dos aplicaciones dis in as:
• Aplicación mó il: en la cual, el ac o p incipal es el pad e/mad e del alumno. Su
uncionalidad conlle a pe mi i e los mensajes en iados po la adminis ación
de los cen os de sus hijos, así como esponde a au o izaciones y encues as.
• Aplicación web: en ella, el ac o p incipal es el adminis ado del cen o. Su
uncionalidad con empla pe mi i en ia mensajes a los pad es de los alumnos,
y pode isualiza qué alumnos han sido au o izados pa a una de e minada
au o ización po sus pad es y e los esul ados de una encues a ealizada a los
pad es de los alumnos.
El uso de la aplicación mó il se es ingi á a cualquie disposi i o mó il que los pad es
engan, dado el ca ác e mul ipla a o ma de nues a aplicación. Po o o lado, el uso de
la aplicación web es a á es ingido a un equipo de la adminis ación que el cen o
designe pa a el uso de nues o sis ema.
8.1.2 Backend
Como hemos desc i o y se podía obse a en la Ilus ación 8 el backend de nues o
sis ema se encuen a alojado en un se ido , que ejecu a un se ido web Apache que
inco po a an o la API REST ul que necesi a nues a aplicación mó il pa a unciona ,
como el backend de la aplicación web.
Tan o el backend de la aplicación mó il como el de la aplicación web es án desa ollados
e implemen ados u ilizando las mismas ecnologías (Sym ony3, PHP7 y Doc ine) de al
mane a que ambas u ilicen la misma capa de acceso a da os y e i emos un sis ema
epe i i o.
41
8.2 Diseño de la Base de Da os
Como se mencionó en el capí ulo des inado al a especi icación de he amien as y
ecnologías, hemos u ilizado el sis ema de ges ión de bases de da os elacional MySQL.
La es uc u a de dicha base de da os puede obse a se en la Ilus ación 9 adjun a en la
siguien e página.
48
P incipio 6
• Facili a el ap endizaje.
• Consis encia: signi icado de los con oles deducido a pa i de ellos mismos o
pis as muy áciles, nunca aliéndonos de nues a memo ia (pone el
conocimien o de uso de las coas en el mundo no en nues o ce eb o).
• E i a las consecuencias de los e o es, el usua io se a e e á a explo a cosas
nue as, ya que no suponen iesgo.
La con igu ación inicial de la aplicación acla a cómo se debe selecciona un cen o, qué
da os ealmen e se conoce án del usua io inal y el a ance po dicha con igu ación
siemp e es á acla ado haciendo uso de g andes bo ones que indican la acción que se
es á ealizando en cada e apa. Pa iendo de que el uso de los con oles en la aplicación
es á limi ado a oca y ealiza un desplazamien o po el con enido, dichos con oles son
homogéneos en oda la aplicación. Además, ninguno de los e o es que se mues an en
la aplicación conlle a un e ec o nega i o en el usua io y en su expe iencia.
P incipio 7
• P opo ciona in o mación al usua io, no simplemen e sol a le da os.
• “La pan alla le pe enece al usua io” es una o ma de no al e a ese espacio en
el que él se mue e. Respe a su e i o io y no cambies las cosas b uscamen e
(ine cia de la pan alla).
Cuando el usua io ealiza alguna ac i idad que debe ía de ene una e oalimen ación,
se ha implemen ado que enga algún ipo de espues a g á ica. Po ejemplo, cuando el
usua io au o iza o desau o iza una au o ización, se ac ualiza la in e az (no se cambia
b uscamen e) y se mues a un mensaje indicando el es ado de la au o ización, así como
el único bo ón que pe mi e “Desau o iza ” en caso de habe au o izado, y “Au o iza ”
en el caso con a io.
P incipio 8
• Diseña pa a la in e ac i idad en e la aplicación y el usua io.
• Respe a el iempo del usua io.
El iempo del usua io es i al, po ello, se ha diseñado la aplicación pa a que la
na egación po la misma sea ápida, con el meno iempo de espe a y mos ando el
meno núme o de pan allas posible sin epe cu i en la sencillez de uso.
49
P incipio 9
• P ueba los diseños con usua ios eales, es deci : Tes y Ve i icación.
• Co ige los allos.
Además de las p uebas de la aplicación ealizadas con el Tu o pa a alida los equisi os
uncionales, se hicie on p uebas con usua ios po enciales pa a e i ica si el diseño
cumplía con su come ido y si odas las uncionalidades se ejecu aban co ec amen e.
G acias a es o, se descub ie on algunos e o es que no se habían iden i icado du an e
las p uebas del desa ollo y se co igie on debidamen e.
50
9. Desa ollo
9.1 Ionic
Ionic es un SDK mó il a ac i o, g a ui o y de código abie o pa a desa olla aplicaciones
web na i as y p og esi as con acilidad. Las p incipales que ob enemos de usa Ionic
como amewo k p incipal de desa ollo y po las que nos hemos decan ado pa a
hace lo son:
• El desa ollo p incipal se ealiza en HTML jun o con CSS y JS, lenguajes muy
ex endidos po la comunidad de desa ollado es, con lo que la implan ación de
es a he amien a en la emp esa acili a á el desa ollo de p oyec os de la o ma
más e ec i a aun cuando la plan illa de desa ollado es con enga nue as
inco po aciones.
• Si ya con amos con una web app que que emos con e i en aplicación mó il, en
la mayo ía de los casos hab emos hecho uso de Ja aSc ip , po lo que el código
es eu ilizable.
• Pa a el caso de aplicaciones híb idas, end emos con un único p oceso de
desa ollo e implemen ación, una app pa a And oid, iOS y web.
• Angula JS: Ionic abaja pe ec amen e con Angula JS. Dando luga a una
a qui ec u a obus a pa a el desa ollo de apps. Pod emos c ea apps mó iles
icas y obus as, pa a subi desde la pla a o ma a u ienda de aplicaciones a
escoge .
• Es ácil de en ende : no emos que complica nos en exceso u ilizando Ionic, es
bas an e sencillo de en ende . Si ya hemos p og amado alguna aplicación pa a
iOS o And oid, segu o que nos en ende emos bien con el SDK, pues con Ionic
ambién. Pe mi e desa olla un código una ez y eu iliza lo las eces que
quie as ya que desde una única uen e pod emos llega a las pla a o mas que
sopo a es e amewo k (And oid e iOS).
• Pulc o: Ionic es mode no y es á diseñado pa a abaja con lo más ac ual, con un
diseño limpio y pulc o. Los componen es son a ac i os, la ipog a ía, e c.
• C ea, cons uye, p ueba y compila: con Ionic pod emos c ea , cons ui , y
compila aplicaciones en cualquie pla a o ma, odo con un solo comando. Po
eso se conside a un po en e CLI.
• Funciona ápido: si no dis u amos de excesi a paciencia, nos gus a á Ionic. Es á
hecho pa a se ápido.
• Ionic C ea o : una de las en ajas de Ionic, es Ionic C ea o . Básicamen e nos
pe mi e c ea las In e aces sin ene que me e el código de mane a adicional.
Pod emos c ea la pa e g á ica ácil sin apenas esc ibi código pa a ello.
• Cons uído y man enido po diseñado es y desa ollado es.
51
9.2 Es uc u a de la aplicación
Las aplicaciones de Ionic es án cons uidas haciendo uso de Co do a. Co do a es un
conjun o de HTML/CSS/Ja aSc ip empaque ados que pe mi en ejecu a el código en
disposi i os mó iles y en esc i o io, y nos p o ee de una a qui ec u a de complemen os
pa a accede a uncionalidades na i as más allá de lo que pod ía hace un código
Ja aSc ip en una aplicación web. Po es o, las aplicaciones de Ionic ienen [42] la
es uc u a de a chi os de Co do a.
En la Ilus ación 11 que acompaña a es as líneas podemos obse a la es uc u a
p incipal de nues o p oyec o, de la cual p ocede emos a de alla a con inuación el
con enido de los di ec o ios más ele an es.
Ilus ación 11: Es uc u a de a chi os de la aplicación
• hooks: se u iliza pa a almacena las acciones pe sonalizadas que que emos que
se ealicen en nues a aplicación du an e el p oceso de desa ollo de Co do a.
Puede se nos ú il en g andes p oyec os que equie an de p ocesos
au oma izados de ejecución y modi icación de código, pe o no malmen e no lo
usamos.
• pla o ms: con iene nues os p oyec os de iOS y And oid. En gene al, no
necesi amos abaja en esos di ec o ios a no se que es emos hacking na i o
pe sonalizado o lle ando nues as aplicaciones a p oducción.
• plugins: es el di ec o io donde Co do a almacena los plugins añadidos al
p oyec o haciendo uso del comando:
ionic co do a plugin add {plugin}
• scss: almacena el a chi o SASS pa a nues a aplicación. El uso de SASS es opcional
en Ionic, pe o de po sí Ionic es á cons uido con SCSS, po lo que hay muchos
es ilos po de ec o que se pueden cambia y pe sonaliza ápidamen e sin añadi
ninguna sob e-esc i u a a los CSS de la aplicación.
• www: es el di ec o io donde desa ollamos nues a aplicación.
52
Ilus ación 12: Es uc u a del di ec o io www
En la Ilus ación 12 podemos obse a el con enido del di ec o io www del cuál
menciona emos ambién qué con ienen sus subdi ec o ios.
• css: con iene o bien el a chi o CSS especi icado pa a nues a aplicación, o bien
con iene el a chi o de salida gene ado po nues o SCSS, que debemos usa
jun o al es o de a chi os CSS que deseamos u iliza . La ca pe a css es á enlazada
a nues o p oyec o bajo la e ique a <link> en el a chi o index.h ml.
• js: po de ec o, en es e di ec o io se incluyen los siguien es a chi os enume ados
a con inuación.
▪ app.js: con iene nues os mé odos de ejecución y con igu ación de
Angula , en él se de inen las a iables de en o no, po ejemplo: que ipo
de es ilo de pes añas usa si de iOS o And oid.
▪ con olle s.js: con iene nues os con olado es de Angula pa a los
es ados que así lo equie an.
▪ di ec i es.js: con iene las di ec i as de Angula pe sonalizadas que
deseemos u iliza .
▪ ou es.js: de ine el en u amien o de nues a aplicación, así como los
dis in os es ados que exis en en la misma y la is a que equie e mos a
cada uno de ellos si la hubie a.
▪ se ices.js: con iene los se icios pe sonalizados de Angula que
deseemos usa , como, po ejemplo: una ac o y que nos pe mi e ealiza
pe iciones Ajax haciendo uso del módulo $h p de mane a sencilla.
• lib: con iene las lib e ías de Ionic y o as lib e ías que hayamos ins alado, como
aquellas ins aladas con Bowe : po ejemplo, en nues o caso, angula -momen
u ilizó es e ins alado de paque es, po lo que el con enido de la lib e ía yace en
es e di ec o io.
• empla es: en es e di ec o io se albe gan los a chi os de is as de nues a
aplicación, enlazados a es ados en el a chi o de ou es.js.
53
9.3 API Res ul
Pa a el desa ollo de nues a API Res ul buscamos algún ipo de he amien a que nos
pe mi ie a c ea un se icio web de mane a sencilla pa iendo del p oyec o del backend
que ya con aba con una capa de acceso a da os hecha, explicada en de alle en el abajo
de in de g ado co espondien e al mismo, pa a así pode aho a epe i abajo
innecesa io. De en e odas las opciones acabamos decan ándonos po [43] F iends o
Sym ony.
9.3.1 F iends o Sym ony
Es e paque e nos p o ee de a ias he amien as pa a desa olla de mane a ápida APIs
REST ul y aplicaciones con Sym ony. En e sus ca ac e ís icas des acan:
• Una capa de is a pa a habili a la salida y o ma ea con olado es.
• Un [44] ca gado pe sonalizado de u as que gene a u ls que siguen los
con enios REST.
• Acep a la negociación del o ma o de la cabece a incluyendo la manipulación de
la misma pa a c ea ipos pe sonalizados.
• Decodi ica en REST ul el cue po de las solici udes HTTP y de las cabece as de
acep ación.
• C ea excepciones en el con olado pa a en ia códigos de es ado HTTP
ap opiados.
9.3.2 Con igu ación de la API
Pa a la con igu ación de la API eque imos de la ins alación de los paque es F iends o
Sym ony y Nelmio-Co s (es e úl imo pe mi e que la API sea accesible ue a de la máquina
local) y pa a ello deben se co ec amen e con igu ados en el p oyec o del backend del
sis ema.
P ime amen e, debemos ins ala ambos componen es usando compose , desde consola
ejecu amos en el di ec o io del backend del sis ema:
compose equi e iendso sym ony/ es -bundle
compose equi e nelmio/co s-bundle
Una ez ins alados los paque es, debemos edi a el a chi o localizado en la u a
/He me es /App/AppKe nel.php añadiendo las siguien es líneas en la sección de bundles
pa a pode egis a los paque es ecién ins alados e indica que aho a o man pa e de
nues o p oyec o.
new FOS Res Bundle FOSRes Bundle(),
54
new Nelmio Co sBundle NelmioCo sBundle(),
A con inuación, debemos edi a la con igu ación del p oyec o pa a inco po a la
con igu ación p opia de dichos paque es, añadiendo las líneas que siguen al a chi o
/He me es /App/con ig/con ig.yml al inal del mismo:
# Nelmio CORS Con igu a ion
nelmio_co s:
de aul s:
allow_c eden ials: alse
allow_o igin: ['*']
allow_heade s: ['*']
allow_me hods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS']
max_age: 3600
hos s: []
o igin_ egex: alse
# F iends O Sym ony Con igu a ion
os_ es :
iew:
iew_ esponse_lis ene : ' o ce'
o ma s:
json: ue
o ma _lis ene :
ules:
- { pa h: ^/api, p io i ies: [ json ], allback_ o ma : json,
p e e _ex ension: ue }
- { pa h: ^/, p io i ies: [ h ml ], allback_ o ma : h ml,
p e e _ex ension: ue }
55
Debemos ambién, añadi en la sección de F amewo ks de es e a chi o la siguien e línea
pa a ac i a la se ialización:
se ialize :
enabled: ue
Añadimos aho a, un di ec o io en el que se almacena án las u as con igu adas pa a el
paque e de F iends o Sym ony. Dicho di ec o io end á la siguien e u a inal:
s c/AppBundle/Resou ces/con ig
En ese di ec o io, c ea emos el a chi o api- es - ou ing.yml, que inclui á las u as del
se icio web. Siguiendo una o ma del es ilo:
api_p ogeni o s:
ype: es
esou ce: "@AppBundle/Con olle /api/P ogeni o sCon olle .php"
name_p e ix: api_p ogeni o s_
Aho a, en el a chi o de en u amien o gene al del p oyec o, app/con ig/ ou ing.yml,
debemos añadi la u a pa a que el paque e pueda encon a su lis a de en u amien os:
app_bundle_api:
ype: es
p e ix: /api
esou ce: "@AppBundle/Resou ces/con ig/api- es - ou ing.yml"
Po úl imo, pe mi imos que se acceda al se icio web si au en i ica se como
adminis ado . Es o es necesa io po que la aplicación web es á p o egida pa a o za la
au en i icación como adminis ado . Pa a ello edi amos el a chi o
/app/con ig/secu i y.yml y en la sección access_con ol añadimos:
{ pa h: ^/api/, oles: IS_AUTHENTICATED_ANONYMOUSLY }
Y ya end íamos los paque es con igu ados pa a hace uso de la API en nues o p oyec o
de backend.
9.3.3 En u amien o de la API
En el se icio web de la aplicación mó il el en u amien o hacia los mé odos co ec os ha
sido una pa e impo an e del desa ollo de la API. Haciendo uso del módulo $h p desde
Ionic hemos ealizado pe iciones Ajax de mane a sencilla a dicho se icio web, po lo
que nos pa eció ele an e o ganiza de mane a co ec a y homogénea dichos
en u amien os. Po es e mo i o hemos decidido segui las p ác icas ecomendadas pa a
ealiza [45] APIs REST ul p agmá icas en la cons ucción de nues a API, ob eniendo los
siguien es bene icios:
56
• Usa es ánda es web que ienen sen ido.
• Es amigable y en endible pa a el desa ollado , además de explo able con sólo
isualiza la u a de la ba a de di ecciones.
• Es sencilla, in ui i a y consis en e, no sólo ácil de usa , ambién ag adable.
• P o ee la su icien e lexibilidad pa a p o ee a cualquie in e az de usua io.
• Es e icien e, man eniendo el balance con los o os eque imien os.
Pa a ello hemos omado las siguien es medidas:
• Hemos sepa ado nues a API en ecu sos lógicos usando nomb e sus an i os que
ienen sen ido desde la pe spec i a del consumido de la API.
• Usamos los mé odos HTTP pa a maneja las acciones CRUD (c ea , lee ,
ac ualiza y elimina ) mapeados de la siguien e mane a:
▪ GET: ob enemos un ecu so
▪ POST: c eamos un ecu so.
▪ PUT: ac ualizamos un ecu so.
▪ PATCH: ac ualizamos pa cialmen e un ecu so.
▪ DELETE: eliminamos un ecu so.
• Pa a e i a el uso de plu ales i egula es, lo más sencillo es u iliza siemp e el
plu al en los nomb es de los endpoin .
57
10. P uebas
10.1 P uebas de usabilidad
Pa a e i ica que nues a aplicación e a sa is ac o ia y cumplía los obje i os que nos
habíamos ma cado, ealizamos una se ie de p uebas del p o o ipo solici ando a dis in os
usua ios inales (pad es, mad es y compañe os del g ado con conocimien os en
in o má ica) que hicie an uso de nues a aplicación y íbamos comp obando y solici ando
que nos die an su opinión sob e los siguien es apa ados:
• Ve i ica si la in e az e a cla a, sencilla de usa , in ui i a.
• Comp oba si el p oceso de inicio de sesión y egis o esul aba edioso o la go
de ealiza .
• Ve i ica si los usua ios, po sí mismos y sin indicaciones, e an capaces de na ega
sin p oblemas po la aplicación y ealiza las acciones que deseaban.
• Asegu a que cuando se mos aba un mensaje de e o , és e e a cla o y conciso
y ayudaba al usua io a subsana lo po si mismo.
• Medi y cuan i ica si los iempos de ca ga esul aban o no moles os pa a el
usua io.
• P egun a si ealmen e no aban alguna di e encia espec o a aplicaciones
na i as en cuan o a endimien o, luidez o diseño.
• Solici a si ecomenda ían dicha aplicación a o os pad es y colegios.
Una ez ealizadas dichas p uebas de usabilidad, imos que nues os obje i os habían
sido cumplidos po las espues as de los usua ios:
• La aplicación es sencilla y cla a de usa , no iene demasiados ado nos y se indican
cla amen e los apa ados.
• El p oceso de inicio de sesión es muy simila al de o as aplicaciones de
mensaje ía, po lo que pa ece es ánda , sencillo y ápido.
• No u imos que acla a a los usua ios como na ega po la aplicación, ni mucho
menos que acciones podían ealiza se o qué signi icaba algún componen e de la
in e az.
• Los mensajes de e o son cla os y ayudan mucho a da nos cuen a de qué e o es
se han come ido y hay muy pocos.
• La aplicación es ápida, con un endimien o muy simila al de o as aplicaciones
de mensaje ía.
• La mayo ía pensó que se a aba de una aplicación na i a en el caso de los
pad es. Los compañe os con conocimien os en in o má ica no aban la
di e encia, pe o nos comen aban que e a casi inap eciable pa a un usua io
es ánda .
• Todos los usua ios de p ueba ecomenda ían el uso de la aplicación.
64
[40] Wikipedia. “Modelo- is a-con olado ”, [en línea]. Disponible en:
h ps://es.wikipedia.o g/wiki/Modelo%E2%80%93 is a%E2%80%93con olado
[41] Juan Méndez Rod íguez. “Reglas Empí icas de Diseño de In e aces”, [en
línea]. Disponible en:
h p:// elep esencial1617.ulpgc.es/c /ulpgc p17/plugin ile.php/80359/mod_ e
sou ce/con en /1/Tema_I_7.pd
[42] D i y Co. “Ionic Concep s – App S uc u e”, [en línea]. Disponible en:
h p://ionic amewo k.com/docs/ 1/concep s/s uc u e.h ml
[43] Fabien Po encie . “FOSRes Bundle”,
h ps://gi hub.com/F iendsO Sym ony/FOSRes Bundle
[44] Fabien Po encie . “Rou ing (FOS Res Bundle)”, [en línea]. Disponible en:
h p://sym ony.com/doc/cu en /bundles/FOSRes Bundle/5-au oma ic- ou e-
gene a ion_single- es ul-con olle .h ml
[45] Vinay Sahni. “Bes P ac ices o Designing a P agma ic REST ul API”, [en
línea]. Disponible en: h p://www. inaysahni.com/bes -p ac ices- o -a-
p agma ic- es ul-api
65
Anexo I: Manual de usua io
In oducción
En es e apa ado p ocede emos a explica concisa y p ecisamen e las dis in as
uncionalidades de la aplicación web desa ollada pa a los pad es/mad es del
alumnado. Se i án explicando una a una las dis in as pa es del p og ama, acompañadas
de una ilus ación pa a de alla su uncionamien o.
Inicio de sesión – Regis o
Ilus ación 13: Inicio de sesión
66
Ilus ación 14: Validación po SMS
En la pan alla co espondien e a la Ilus ación 13, el pad e/mad e in oduce su elé ono
mó il siendo únicamen e álidos aquellos de 6 dígi os. En caso de encon a el elé ono
en la base de da os del sis ema, se p ocede a un inicio de sesión en el mismo, de lo
con a io, se p ocede al egis o del pad e/mad e.
En la siguien e pan alla, Ilus ación 14, p ocedemos a alida el código ecibido po SMS.
Es a implemen ación no se ealizó po mo i os de allados an e io men e, así que solo
se mues a a modo de mock-up. El código po de ec o es “123456”.
67
Ilus ación 15: Es ablece código de segu idad
En la Ilus ación 15 podemos obse a que en es a pan alla sólo se equie e es ablece
un código de segu idad. Pa a ello, sólo debemos escoge un código de 4 dígi os y
epe i lo donde se indica.
En el caso de se un inicio de sesión, es o es, ya es amos egis ados en el sis ema, la
pan alla mos a ía un mensaje de “Finaliza ” en el bo ón mos ado, y nos lle a ía
di ec amen e a la pan alla de Ci cula es.
68
Ilus ación 16: Regis o
En la Ilus ación 16 podemos obse a la pan alla de egis o. En ella se solici a al usua io
que in oduzca su Nomb e y Apellidos pa a p ocede al egis o.
69
Ilus ación 17: Selección de cen os
Como úl imo paso del egis o, se ap ecia en la Ilus ación 17 que se le solici a al usua io
que seleccione aquellos cen os a los que pe mi i á conoce su in o mación pe sonal.
Una ez seleccionados uno o a ios cen os, p ocedemos a inaliza el egis o y a pasa
a la pan alla obse ada en la Ilus ación 18, llamada Ci cula es.
70
Ci cula es
Ilus ación 18: Ci cula es
En Ci cula es se ap ecia la in e az comple a de la aplicación. En ella se ap ecia que la
misma es á di ida en cua o secciones p incipales: Ci cula es, Au o izaciones, Encues as
y Mi Pe il. I emos epasando cada una de ellas en es e anexo.
En ci cula es se ap ecia en cada elemen o de la lis a su í ulo, de allado en azul, un icono
de un clip si dicha ci cula lle a un a chi o adjun o, y un mensaje que nos indica hace
cuán o iempo que se ha en iado el mensaje desde la aplicación web del cen o.
Además, en la esquina supe io de echa, puede ap ecia se un icono de búsqueda, que
al ac i a lo pe mi i á ealiza il ados en e las ci cula es, como se puede obse a en
la Ilus ación 19. Es e componen e es á p esen e en odas las secciones, sal ando la de
Mi Pe il.
71
Ilus ación 19: Búsqueda de mensajes
Si accedemos a alguno de los elemen os de ci cula es, pasa emos a la pan alla de
con enido de las mismas, ap eciable en la Ilus ación 20.
72
Ilus ación 20: Con enido de ci cula
En ella se pueden ap ecia los siguien es elemen os: en la esquina supe io izquie da,
podemos ol e a Ci cula es ocando el bo ón de a ás. En el encabezado de la ci cula
podemos e el í ulo (a eces aco ado po su ex ensión o esolución de la pan alla), y
en su con enido, de nue o el í ulo po si apa ecie a aco ado, la echa en la que la
ci cula ue en iada, una sección de a chi o adjun o si la ci cula lo u ie a y po úl imo
el con enido. En caso de acciona el bo ón del a chi o adjun o, se nos edi igi á al
na egado po de ec o del sis ema pa a p ocede a su desca ga.
73
Au o izaciones
Ilus ación 21: Au o izaciones
En la Ilus ación 21 podemos obse a que el lis ado de Au o izaciones, así como el de
Encues as, añade además un sub í ulo, que in o ma de la echa lími e que dicha
au o ización pa a se espondida. Si accedemos a una de ellas nos encon a emos con
la pan alla mos ada en la Ilus ación 22.
80
Mis hijos
Ilus ación 28: Mis hijos
Al accede a es a sección (Ilus ación 28) se nos p esen a un lis ado de los hijos/as que
el usua io iene asociados. Tend emos la opción de desasocia un hijo/a ealizando un
simple oque en el bo ón de elimina de su de echa.
Es o lanza á una pequeña pan alla de con i mación, ap eciable en la Ilus ación 29.
81
Ilus ación 29: Con i mación al desasocia hijo/a
82
Mis cen os
Ilus ación 30: Mis cen os
De igual mane a que en el egis o, pod emos ma ca y desma ca los cen os que
deseemos de en e el lis ado de odos los cen os del sis ema, pe mi iendo sólo a los
ma cados isualiza nues a in o mación pe sonal, al y como se e en la Ilus ación 30.
83
Anexo II: Manual de ins alación
En es e anexo explica emos de mane a ápida como ins ala la aplicación mó il en
esc i o io y la API en el backend del sis ema. Po ello, se equie e p e iamen e habe
ins alado el backend del sis ema, el manual pa a ello se encuen a en el Anexo II del
T abajo de Fin de G ado i ulado: “Análisis, Diseño e Implemen ación de un Backend pa a
la Comunicación en e Cen os Educa i os y Pad es de Alumnos”.
API
Pa a la ins alación de la API Res ul sólo debemos segui los pasos de con igu ación
p e ios señalados en el apa ado 9.3.2 de es a memo ia. Una ez hecho, simplemen e
copia emos el di ec o io api del di ec o io abajo señalado y lo copiamos en la misma
u a. La localización del di ec o io es:
/He me es /s c/AppBundle/Con ole /
Y sus i uimos copiamos el di ec o io con ig del di ec o io abajo señalado y lo copiamos
en la misma u a. La localización del di ec o io es:
s c/AppBundle/Resou ces/
Aplicación mó il
Pa a la aplicación mó il eque imos de ene ins alados en el sis ema los siguien es
componen es:
• Node.js
• Co do a
• Ionic
En caso de no ene dichos componen es ins alados en el sis ema, p ime amen e,
ins ala íamos Node.js desca gándolo de su página web:
h ps://nodejs.o g/en/download/
Una ez desca gado e ins alado, p ocedemos a la ins alación de Co do a. Ab imos una
en ana del e minal (cmd en el caso de Windows) y ejecu amos el siguien e comando:
npm ins all -g co do a
Una ez inalizada la ins alación, con inua emos ins alando Ionic ejecu ando es e
comando:
npm ins all -g ionic
84
Una ez ins alado odo el so wa e eque ido podemos ejecu a nues a aplicación de
ionic, ab iendo el di ec o io donde es é localizada y ejecu ando un e minal desde esa
ubicación. En el mismo, ejecu a emos el siguien e comando:
npm ins all -g ionic
Y si odo unciona co ec amen e, debe íamos pode e nues a aplicación uncionando
en el explo ado web.
Si al in en a a anca el se ido de p uebas locales de Ionic nos die a un e o
solici ando la u a del gulp ile simplemen e debe emos ejecu a desde el di ec o io de
la aplicación la siguien e secuencia de comandos pa a soluciona lo:
npm upda e
npm emo e gulp-sass
npm ins all gulp-sass --sa e-de
85
Anexo III: Sc ip pa a la base de da os
DROP DATABASE IF EXISTS he me es ;
CREATE DATABASE he me es
DEFAULT CHARACTER SET u 8
DEFAULT COLLATE u 8_gene al_ci;
CREATE USER IF NOT EXISTS he me es ;
GRANT ALL ON he me es .* o 'he me es '@'localhos ' IDENTIFIED BY
'he me es ';
CREATE TABLE cen e(
id in AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE adminis a o (
id in AUTO_INCREMENT,
use VARCHAR(255) NOT NULL UNIQUE,
passwo d VARCHAR(32) NOT NULL,
name VARCHAR(255) NOT NULL,
cen e in NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(cen e) REFERENCES cen e(id) ON DELETE CASCADE
);
CREATE TABLE class(
id in AUTO_INCREMENT,
name VARCHAR(255) NOT NULL UNIQUE,
cen e in NOT NULL,
PRIMARY KEY(id),
UNIQUE (name,cen e),
FOREIGN KEY(cen e) REFERENCES cen e(id) ON DELETE CASCADE
);
CREATE TABLE s uden (
id in AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
86
su name VARCHAR(255) NOT NULL,
class in ,
cen e in NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(class) REFERENCES class(id) ON DELETE SET NULL
FOREIGN KEY(cen e) REFERENCES cen e(id) ON DELETE CASCADE
);
CREATE TABLE pa en (
id in AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
elephone VARCHAR(255) NOT NULL UNIQUE,72
PRIMARY KEY(id)
);
CREATE TABLE s uden _pa en (
s uden in NOT NULL,
pa en in NOT NULL,
PRIMARY KEY(s uden , pa en ),
FOREIGN KEY(s uden ) REFERENCES s uden (id) ON DELETE CASCADE,
FOREIGN KEY(pa en ) REFERENCES pa en (id) ON DELETE CASCADE
);
CREATE TABLE cen e_pa en (
cen e in NOT NULL,
pa en in NOT NULL,
PRIMARY KEY(cen e, pa en ),
FOREIGN KEY(cen e) REFERENCES cen e(id) ON DELETE CASCADE,
FOREIGN KEY(pa en ) REFERENCES pa en (id) ON DELETE CASCADE
);
CREATE TABLE message(
id in AUTO_INCREMENT,
subjec VARCHAR(255) NOT NULL,
message TEXT NOT NULL,
sendingDa e TIMESTAMP NOT NULL,
cen e in NOT NULL,
ype VARCHAR(255) NOT NULL,
87
PRIMARY KEY(id),
FOREIGN KEY(cen e) REFERENCES cen e(id) ON DELETE CASCADE
);
CREATE TABLE au ho iza ion(
id in ,
limi Da e TIMESTAMP NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(id) REFERENCES message(id) ON DELETE CASCADE
);
CREATE TABLE ci cula (
id in ,
PRIMARY KEY(id),
FOREIGN KEY(id) REFERENCES message(id) ON DELETE CASCADE
);
CREATE TABLE poll(
id in ,
limi Da e TIMESTAMP NOT NULL,
mul ipleChoice TINYINT(1) NOT NULL;
PRIMARY KEY(id),
FOREIGN KEY(id) REFERENCES message(id) ON DELETE CASCADE
);
CREATE TABLE pollOp ion(
id in AUTO_INCREMENT,73
ex VARCHAR(255) NOT NULL,
poll in NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(poll) REFERENCES poll(id) ON DELETE CASCADE
);
CREATE TABLE message_s uden (
message in NOT NULL,
s uden in NOT NULL,
PRIMARY KEY(message, s uden ),
FOREIGN KEY(s uden ) REFERENCES s uden (id) ON DELETE CASCADE,
FOREIGN KEY(message) REFERENCES message(id) ON DELETE CASCADE
88
);
CREATE TABLE pollReply(
id in AUTO_INCREMENT,
pa en in ,
pollOp ion in ,
PRIMARY KEY(id),
UNIQUE(pa en , pollOp ion),
FOREIGN KEY(pa en ) REFERENCES pa en (id) ON DELETE CASCADE,
FOREIGN KEY(pollOp ion) REFERENCES pollOp ion(id) ON DELETE
CASCADE
);
CREATE TABLE au ho iza ionReply(
id in AUTO_INCREMENT,
au ho iza ion in ,
pa en in ,
s uden in ,
au ho ized boolean NOT NULL,
PRIMARY KEY(id),
UNIQUE(pa en , au ho iza ion, s uden ),
FOREIGN KEY(au ho iza ion) REFERENCES au ho iza ion(id) ON DELETE
CASCADE
FOREIGN KEY(pa en ) REFERENCES pa en (id) ON DELETE CASCADE,
FOREIGN KEY(s uden ) REFERENCES s uden (id) ON DELETE CASCADE,
);
CREATE TABLE a achmen (
id in AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
message in NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(message) REFERENCES message(id) ON DELETE CASCADE
);
89