glUCModel para iOS
Full text
POR: FRANCISCO JAVIER LINDE BLÁZQUEZ
!
GRADO EN INGENIERÍA DEL SOFTWARE
FACULTAD DE INFORMÁTICA
DEPARTAMENTO DE ARQUITECTURA DE COMPUTADORES Y
AUTOMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
!
!
!
!
!
!
!
!
PROYECTO DE FIN DE GRADO EN INGENIERÍA DEL SOFTWARE
!
Mad id, a 18 de Junio de 2014
Di ec o : José Ignacio Hidalgo
Colabo ado : J. Manuel Colmena
glUCModel pa a iOS
AUTORIZACIÓN DE DIFUSIÓN Y
UTILIZACIÓN
!
!
F ancisco Ja ie Linde Blázquez au o iza a la Uni e sidad Complu ense
de Mad id a di undi y u iliza con ines académicos, no come ciales y
mencionando exp esamen e a su au o , an o la p opia memo ia como
el código, los con enidos audio isuales, incluidas imágenes del au o y
documen ación.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Es e documen o se dis ibuye bajo licencia C ea i e Commons
BY-NC-SA 3.0.
!
Dicha licencia pe mi e:
Compa i — copia y edis ibui el ma e ial en cualquie medio o
o ma o
Adap a — ans o ma y c ea a pa i del ma e ial
!
Bajo las condiciones siguien es:
Reconocimien o — Debe econoce la au o ía del documen o. Debe
p opo ciona un enlace a es e documen o o iginal e indica si se han
ealizado modi icaciones sob e el mismo.
No Come cial — No puede u iliza el ma e ial pa a una inalidad
come cial.
Compa i Igual — Si ans o ma o c ea a pa i del ma e ial, debe á
di undi sus con ibuciones bajo la misma licencia que el o iginal.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
A Ge a do Fe nández Mo eno.
!
Po se un ejemplo de abajo y cons ancia.
Po se i me de mo i ación.
!
!
!
AGRADECIMIENTOS
!
!
Mis más since os ag adecimien os a mi di ec o de p oyec o José
Ignacio Hidalgo po odo el iempo dedicado, po el in e és mos ado y
po su paciencia y amabilidad du an e el desa ollo del p oyec o.
Ag adecimien os a José Manuel Colmena po su colabo ación
en el p oyec o, ha a ojado luz en aquellos emas écnicos que
eque ían una consul a ex e na.
Ag adecimien os a mi compañe o Abdelkhalek El Mansou i po
colabo a en aquellas a eas comunes del p oyec o así como po p es a
la ayuda que le ha sido posible en el p oyec o.
!
!
!
!
!
!
!
!
!
!
!
!
!
ÍNDICE
!
1. In oducción: Pág. 8
2. ¿Qué es glUCModel?: Pág.14
3. Desa ollando en iOS: Pág.17
4. Implemen ación: Pág.26
5. Resul ado: Pág.37
6. Conclusiones: Pág.41
7. Fu u o de la aplicación: Posibles mejo as: Pág.42
8. Bibliog a ía: Pág.42
!
Apéndice 1: Manual de Uso (Pacien e): Pág.45
Apéndice 2: Manual de Uso (Médico): Pág.57
!
!
!
!
!
!
!
Ve sión en Inglés: Página 65
English Ve sion: Page 65
!
Página de 6 105
!
Página de 7 105
1. INTRODUCCIÓN
!
La ecnología debe juga un papel impo an e en nues a
sociedad, y es que no debemos con empla la sólo como una
he amien a pa a ayuda nos a hace lo que ya sabemos, sino que
enemos que i mas allá y concebi la como una he amien a pa a hace
cosas que has a aho a no podíamos hace , cosas que ni siquie a
imaginábamos.
Sin emba go, en ocasiones el emendo po encial que ienen las!
nue as ecnologías no es á siendo ap o echado plenamen e, y es o se!
debe a que muchas eces se han desa ollado las he amien as, pe o
aún no se han iden i icado los p oblemas que que emos esol e .
Son muchas las pe sonas que en su día a día ienen que lucha
con p oblemas, p oblemas pe sonales, p oblemas labo ales,
económicos, amilia es, de salud… Es en es os úl imos en los que nos
amos a cen a .
Y es que según un es udio ealizado po [email p o ec ed] en 2011 el
13,8% de los españoles mayo es de 18 años su e diabe es, y a ni el
mundial hay mas de 260 millones de pe sonas diabé icas. Es os da os
a ojan su icien e luz ace ca de la magni ud del p oblema.
!
1.1 - HABLEMOS DE DIABETES
La Diabe es Melli us (comúnmen e conocida como diabe es) es
una en e medad que a ec a al me abolismo. No se a a de una
en e medad empo al, du a oda la ida. Se ca ac e iza po que el
pacien e mues a unos ni eles ele ados de glucosa en sang e
(hipe glucemia).
La Ame ican Diabe es Associa ion clasi ica la diabe es en 2 ipos:
!
Página de 8 105
Español/Spanish
- Tipo 1: El pánc eas del pacien e no gene a insulina, de al modo que
los ni eles de glucosa no pueden se educidos adecuadamen e.
Es os pacien es son insulinodependien es, es deci que equie en de
un apo e ex e no de insulina en su día a día. La o ma de inco po a
es e apo e insulínico puede se median e una bomba o median e
inyecciones.
- Tipo 2: El pacien e gene a insulina en dosis in e io es a las co ec as y
a es o se le debe añadi que el cue po mues a ole ancia a la
glucosa, lo cual la con ie e en menos e ec i a educiendo los ni eles
de glucosa en sang e. Es os pacien es no son insulinodependien es.
A o unadamen e más del 90% de los diabé icos se encuen a en
el segundo g upo, y decimos a o unadamen e po que es e ipo de
diabe es es menos incapaci an e que la diabe es ipo 1. El p incipal
a amien o pa a la diabe es ipo 2 consis e en log a un peso saludable
y man ene una alimen ación sana, pe o en algunos casos equie en
a amien o en o ma de pas illas o en e apas a anzadas necesi an
ambién apo e ex e no de insulina.
Los diabé icos ipo 1 son po an o los diabé icos que en su ida
a ec ada en mayo medida. Deben man ene un con ol me iculoso de
sus ni eles de glucemia en sang e pa a p e eni an o hipe glucemias
(ni eles > 120mg/dl) como hipoglucemias (ni eles < 40mg/dl). El
con ol me iculoso que mencionamos consis e en mediciones de
glucemia en sang e, pa a ealiza pos e io es p edicciones basadas en
la inges a de comida que an a ealiza , el posible depo e que ayan a
p ac ica , el peso que engan en ese momen o, y muchos o os ac o es
que in luyan en los ni eles de glucemia. En base a es a p edicción
deben ealiza una es imación de la insulina que an a inyec a se pa a
man ene sus ni eles de glucemia en unos alo es adecuados.
!
1.2 - GLUCMODEL
La a ea de un diabé ico ipo 1 no es ácil. En la mayo ía de los
casos los pacien es pe eccionan sus p edicciones con la p ác ica, pe o
aún con muchos años de expe iencia el pacien e ye a en sus
Página de 9 105
Español/Spanish
El uncionamien o de la aplicación es el siguien e: los pacien es
suben los da os a a és de la in e az g á ica. Los médicos pueden
e isa los da os de sus pacien es median e la misma in e az g á ica. El
modelo de glucosa analiza la in o mación y gene a las
ecomendaciones pa a el pacien e. El módulo de ap endizaje es á
conec ado con la aplicación pa a comunica el p og eso de los
pacien es con los es s.
!
!
!
!
!
!
!
!
!
!
!
!
!
Página de 16 105
Español/Spanish
3. DESARROLLANDO EN iOS
3.1 - ¿POR QUÉ iOS?
La Apple App S o e es sin duda alguna la ienda de aplicaciones
más en able del me cado a día de hoy. El día 2 de Julio de 2014 Apple
hizo público su núme o de desca gas acumuladas en el App S o e
desde su salida en 2007 du an e la WWDC (Wo ld Wide De elope
Con e ence). En es os 7 años de ida del App S o e el núme o
acumulado de aplicaciones desca gadas asciende a 75.000.000.000
(se en a y cinco mil millones).
Du an e es os 7 años Apple ha epa ido a los desa ollado es
15.000.000.000$ (quince mil millones) de dóla es. Pa a hace una
compa a i a hemos escogido a sus dos p incipales compe ido es:
And oid y Windows Phone. Los da os o iciales que hemos ecogido son
los siguien es:
!
*Todos los da os co esponden al año 2013
FIGURA 2: Tabla compa a i a. Da os iendas de aplicaciones.
Todos es os da os pueden encon a se en la página web de
Fo bes, bajo el i ula “How Much Do A e age Apps Make?” !
h p://www. o bes.com/si es/ is anlouis/2013/08/10/how-much-do-
a e age-apps-make/
Apple
Google
Mic oso
Núme o de usua ios (en millones)
600
900
12
Núme o de Apps (en miles)
1250
800
160
Núme o de desa olado es (en miles)
235
150
45
Nº de desca gas (en miles de millones)
50
48
65
Pago a desa ollado es (en millones de $)
5000
900
100
Página de 17 105
Español/Spanish
Bas a con ija nos en que se han desca gado ap oximadamen e
el mismo núme o de aplicaciones en iOS, en And oid y en Windows
Phone, sin emba go los ing esos de los desa ollado es se mul iplican
po más de 5 en Apple espec o a And oid, y po más de 50 espec o a
Mic oso .
Con los da os ob enidos an e io men e decidimos hace una
compa a i a de en abilidad pa a es udia qué ienda e a más
in e esan e pa a el desa ollado .
!
*Todos los da os co esponden al año 2013
FIGURA 3: Tabla compa a i a. Ren abilidad de iendas de aplicaciones.
!
Si p es amos a ención a la úl ima ila pod emos obse a que a
a ec os mone a ios, un desa ollado de iOS ob iene 4 eces más
ing esos que uno de And oid y 11 eces más que uno de Windows
Phone. Los da os son cla os: La App S o e es a día de hoy la ienda de
Apps más en able del me cado.
Po an o como ingenie o me apo a mucho el hecho de pode
desa olla aplicaciones pa a iOS, ya que pod ía llega a mone iza
alguna en el App S o e.
!
!
!
!
Apple
Google
Mic oso
Media de aplicaciones po desa ollado
5
5
3
Media de desca gas po app
40.000
60.000
4.062
Bene icio medio po desca ga
0,10$
0,01875$
0,1538$
Bene icio medio po desa ollado
20.000$
5.625$
1.874$
Página de 18 105
Español/Spanish
3.1 - LENGUAJE: OBJETIVE-C
!
Ac ualmen e sólo se pueden desa olla aplicaciones na i as pa a
iOS en el lenguaje de p og amación Obje i e-C. Pa a la p óxima e sión
de iOS (iOS 8), que se espe a es é disponible en O oño de 2014, se
pod á ambién p og ama en Swi . Swi ue p esen ado po Apple el 2
de Junio de 2014 po lo que aún no se sabe demasiado sob e es e
nue o lenguaje.
Obje i e-C es un lenguaje de p og amación que apa eció en
1980, y como su p opio nomb e indica es á o ien ado a obje os. Fue
c eado po B ad Cox y en 1992 ue libe ado bajo la licencia GPL.
Obje i e-C supone una le e capa po encima de C, po lo que es
posible compila cualquie aplicación de C con un compilado de
Obje i e-C, así como ambién es posible inclui código C di ec amen e
en nues a aplicación en Obje i e-C.
Semán icamen e es di e en e a Ja a o C++ ya que el
p og amado no hace llamadas a mé odos de obje os, lo que hace es
manda mensajes a los obje os pa a que ealicen las acciones que
necesi emos.
!
FIGURA 4: Ejemplo de llamadas en Ja a, C++ y Obje i e-C
!
Es a peculia idad lo con ie e en un leguaje que en un p ime
con ac o esul a ex año. En ocasiones p o oca que haya llamadas a
Página de 19 105
Español/Spanish
Ejemplo de llamada a un mé odo en C++ y Ja a
obje o->me odo (pa ame o); obje o.me odo (pa ame o);
Ejemplo de en ío de mensaje en Obje i e-C:
[obje o me odo : pa ame o];
unciones que ocupen a ias líneas de código po que no en an en la
pan alla debido a lo la gas que se hacen. Es e es un ejemplo de una
unción ex emadamen e sencilla que se puede encon a den o de
es a aplicación. Su inalidad es mos a una sencilla en ana de ale a.
FIGURA 5: Ejemplo de llamada a unción en a ias líneas.
!
La unción ale S a us cuen a an sólo con dos líneas de código, la
p ime a cons uye un UIAle View y la segunda le manda a es e nue o
obje o la o den de mos a se. Como se puede obse a la llamada al
cons uc o de UIAle View se iene que hace en a ias líneas po
mo i os de espacio y cla idad.
!
3.2 - EL ENTORNO DE DESARROLLO: XCODE
Apple es conocida po se una emp esa ce ada en muchos de
sus aspec os. En p og amación no han ealizado excepciones. Es as son
algunas de las condiciones que se deben cumpli :
1. La única mane a de p og ama pa a iOS o Mac OS en Obje i e-C
es usa un Mac. Exis en al e na i as no o iciales pe o no esul an
iables.
Página de 20 105
Español/Spanish
2. El único en o no de desa ollo capaz de desa olla , compila y
ejecu a aplicaciones de iOS en Xcode (po supues o
desa ollado po Apple).
3. Si deseamos p oba una aplicación sob e un disposi i o como un
iPhone o un iPad, debemos con a a una cuen a de desa ollado
de iOS que iene un cos e de 99$/año.
4. Si deseamos publica nues a aplicación debemos además de
con a con la cuen a de desa ollado ci ada en el pun o an e io ,
pasa un es ic o con ol de nues a app, que ga an ice que es a
cumple con las es icciones legales de la App S o e y p esen a
un co ec o uncionamien o.
FIGURA 6: P og ama de desa ollo pa a iOS y cos e del mismo.
!
Una ez engamos lo necesa io podemos comenza a p og ama
con Xcode. Cabe deci que Xcode es g a ui a lo cual al con a io de las
es icciones an e io es, es o supone una g an en aja pa a el
p og amado . Xcode ue lanzando en 2003 y es á in eg ado con
In e ace Builde una he amien a g á ica pa a la c eación de in e aces.
Es o pe mi e desa olla cie as pa es de la aplicación de una mane a
sencilla y ápida. Xcode es capaz de compila aplicaciones en C, C++,
Obje i e-C, Objec i e-C++, Ja a y AppleSc ip . Compañías ex e nas han
desa ollado sopo es pa a Pascal, Ada y Pe l.
Página de 21 105
Español/Spanish
Una ca ac e ís ica muy in e esan e de Xcode es que es capaz de
dis ibui abajos pesados como el de cons ucción, en e a ios
o denado es median e la ecnología Bonjou .
Xcode p opo ciona ambién un ges o de disposi i os conocido
como O ganize . Median e es e ges o podemos conec a nues o
disposi i o iOS a nues o Mac pa a p oba las aplicaciones sob e el
e minal.
!
FIGURA 7: In e az ealizada en Xcode de o ma g á ica. A la de echa de la imagen se obse an
los elemen os disponibles pa a su c eación.
Las aplicaciones en iOS cuen an con un ni el de segu idad y
con ol muy al o, po lo que odas las aplicaciones que gene emos
deben i i madas po el desa ollado . Pa a ello Xcode u iliza un
complejo sis ema de i mas y ce i icados digi ales. En es e apa ado
Apple ha a ado de simpli ica el p oceso y ayuda nos median e Xcode
pe o lo cie o es que es una a ea a dua.
!
Página de 22 105
Español/Spanish
FIGURA 8: O ganize . He amien a de ges ión de disposi i os iOS pa a es .
FIGURA 9: Ejemplo de ce i icado u ilizado pa a i ma la aplicación glUCModel.
Obsé ese que se indica el ipo de enc ip ación así como las cla es pública y p i ada del
algo i mo de ci ado.
Página de 23 105
Español/Spanish
Xcode cuen a con un simulado en pan alla en el que podemos
p oba nues as aplicaciones si no enemos un e minal ísico o la
cuen a de desa ollado necesa ia. Es e simulado es muy ápido,
apenas necesi a 3 segundos pa a encende se y ap oximadamen e unos
dos segundos en ca ga la aplicación. Además de pe mi i nos p oba la
app si no enemos las he amien as necesa ias, ambién o ece una g an
en aja y es que es posible simula odos los disposi i os iOS an o
iPhone, como iPad, como iPod ouch… en sus di e en es gene aciones y
con la e sión de iOS que escojamos.
He de añadi que he enido la opo unidad de u iliza el
simulado And oid que o ece Google pa a desa ollo, y el iempo de
encendido del simulado de Nexus 4 alcanzó los 10 minu os, se a a de
una di e encia abismal con el simulado de iOS y supone un pun o a
a o del desa ollo en iOS.
FIGURA 10: Ejemplo de uso del simulado de iPhone 4s con iOS 7.
!
La aplicación es á disponible en la página que la Uni e sidad
Complu ense de Mad id iene des inada a las aplicaciones mó iles
Página de 24 105
Español/Spanish
(h p://www.ucm.es/apps). Pos e io men e es a á disponible en el App
S o e de Apple.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Página de 25 105
Español/Spanish
4.4.3 - SEGURIDAD DE LA BASE DE DATOS
!
La base de da os SQL es á p o egida median e usua io y
con aseña, po lo que es e aspec o no debía se abo dado. La
p eocupación se cen a po an o en la segu idad de las API’S
desa olladas y en la conexión ealizada con las mismas.
!
4.4.4 - INTEGRIDAD DE LAS CREDENCIALES DE ACCESO
!
Los da os sensibles que deben se p o egidos son sin duda los
de Login. La pe ición de login se ealiza median e POST y la a iable
que con iene la con aseña iaja ci ada. Es en la p opia aplicación iOS
donde se ealiza el ci ado. Es e ci ado es á ealizado median e una
unción de enc ip ado MD5, es el mismo algo i mo que u iliza
glUCModel en la aplicación web, a di e encia de que el ci ado en es e
caso es ealizado an es de ealiza la pe ición y no después, po lo que
la segu idad es aún mayo que en la p opia aplicación web.
!
4.4.5 - PREVENCIÓN DE INYECCIÓN SQL
!
O a p eocupación ue sin duda la posibilidad de que se
inyec a a código SQL en las pe iciones a la API. Pa a p e eni es o las
API’S es án p o egidas de modo que odas las pe iciones que son
ecibidas se il an as su ecepción pa a ealiza un escapado de los
ca ac e es especiales que no sean al anumé icos y puedan p o oca un
aguje o de segu idad.
T as ealiza es a p e ención se ealiza on di e sas p uebas en las
que se a ó de bu la la segu idad de la API ce ando consul as SQL
pa a ealiza olcados de la base de da os, inse ciones o bo ados. No
se consiguió bu la la segu idad, es o demos ó que se a aba de API’S
segu as.
!
Página de 32 105
Español/Spanish
4.4.6 - ALMACENAMIENTO LOCAL DE LOS DATOS
Cuando el usua io no dispone de conexión a in e ne los da os
son almacenados en el disposi i o pa a pos e io men e inse a los en la
base de da os. Si el usua io cie a la app los da os se pe de ían, po lo
que se plan eó que los da os que no se habían podido subi ue an
almacenados de o ma local.
iOS sopo a di e sos ipos de almacenamien o local. El más
sencillo, lige o y ápido es NSUse De aul s. La des en aja de es e
sis ema es que sólo pe mi e almacena ipos na i os de Obje i e-C.
Nues a necesidad e a la de almacena obje os “insulina”, obje os
“glucemia”, obje os “die a”… po lo que a p io i es e mé odo no nos
se ía. Se omó la decisión de ealiza una unción que con e ía los
da os al ipo S ing pa a almacena nos con NSUse De aul s. Al inicia se
la aplicación los da os son ecupe ados y con e idos de nue o a los
obje os de inidos po noso os (Glucemia, Insulina, Eje cicio… e c).
FIGURA 19: Pan alla que in o ma al usua io de que sus da os no han sido subidos. Se
almacena án de o ma local.
Página de 33 105
Español/Spanish
4.5 - MANTENIBILIDAD DE LA APP
!
Pa a que la aplicación pueda se man enida más adelan e quizá
po o o desa ollado o equipo de desa ollado es, el código ha sido
debidamen e comen ado con acla aciones que indican de o ma cla a
la inalidad de cada pa e de código como mues a la igu a 19.
FIGURA 20: Ex ac o de código de la aplicación donde se obse a que el código
con iene comen a ios acla a o ios.
!
El desa ollo de la in e az se ha ealizado casi en su o alidad con
la he amien a g á ica, pues o que si se desa olla con código se ía de
una di icul ad muy ele ada a a de comp ende y modi ica el código.
Cuando se usa la in e az g á ica se ob ienen esul ados áciles de
comp ende como mues a la igu a 20.
Página de 34 105
Español/Spanish
FIGURA 21: Cap u a del a chi o que gene a el menú in e io y sus en anas.
!
4.6 - LA SALUD DEL USUARIO
!
Ha sido inco po ada una mecanismo de segu idad en la
aplicación que in o ma al usua io si sus ni eles de azúca en sang e
suponen un iesgo pa a su salud.
Cuando se in oduce una medición al a que se encuen a en
alo es conside ados de hipe glucemia, o cuando se in oduce un alo
an bajo que se encuen a en zona de hipoglucemia, la aplicación
con i ma es e da o, y si el usua io indica que es co ec o se le
ecomienda un plan de ac uación.
Los alo es conside ados como pelig osos han sido desc i os po
los médicos endoc inos in oluc ados en el p oyec o de glUCModel, los
alo es hipe glucémicos de e io an la salud del pacien e a la go plazo, y
los alo es hipoglucémicos pueden causa la pé dida del conocimien o
al pacien e. Las igu as 22 y 23 con ienen cap u as de los mensajes que
son mos ados al usua io.
Página de 35 105
Español/Spanish
FIGURAS 22 y 23: Mensajes de a iso en caso de Glucemia ele ada.
!
!
!
!
!
!
!
Página de 36 105
Español/Spanish
5. RESULTADO
!
El esul ado del desa ollo ha sido sa is ac o io. Nos encon amos
an e una aplicación que cumple los equisi os que se p opusie on al
inicio y du an e el desa ollo.
Se a a de una aplicación lige a, segu a y ápida.
T as a ios es udios de endimien o, se ha podido comp oba
que inicialmen e ocupa unos 20MB en memo ia RAM y que as un uso
in enso de aplicación es a ocupa en memo ia RAM en o no a 50MB, el
uso que se da del p ocesado nunca supe a el 1% pues o que la
aplicación no necesi a ealiza cálculos. La igu a 24 mues a los da os
de uso de la memo ia RAM y el p ocesado as un uso in enso.
Se ha es udiado ambién el espacio que ocupa en disco la
aplicación una ez es compilada. Se ha obse ado que la aplicación no
llega a ocupa en disco 1MB. Si con amos con los da os que se
almacenan de o ma local, puede ocupa 1,5MB o 2MB como se
obse a en la igu a 25.
FIGURA 24: Moni o de ecu sos del iPhone du an e la ejecución de glUCModel
!
!
!
!
Página de 37 105
Español/Spanish
FIGURA 25: Cap u a de pan alla, espacio en disco de glUCModel.
En cuan o a la in e az los esul ados son a mi juicio buenos. Los
es de usabilidad ealizados han demos ado que la in e az es
amigable e in ui i a. Las opiniones ecabadas ace ca de la expe iencia
de usua io son buenas.
!
!
!
!
!
!
Página de 38 105
Español/Spanish
!
!
!
!
!
!
!
!
!
!
FIGURA 26: Inse ción de Insulinas. FIGURA 27: His o ial de Insulina
FIGURA 28: His o ial de Glucemias. FIGURA 29: Inse ción de da os de Peso
!
!
!
!
!
!
!
!
!
!
!
!
Página de 39 105
Español/Spanish
FIGURA 25: Lis ado de Pacien es de un médico.
!
!
!
!
!
!
!
!
!
Página de 40 105
Español/Spanish
6. CONCLUSIONES
!
El desa ollo del p oyec o ha culminado de o ma sa is ac o ia y
la colabo ación con glUCModel ha sido bene iciosa pa a ambas pa es.
Po un lado glUCModel aho a cuen a con una aplicación pa a iOS na i a
que cumple con los equisi os que eque ía. Po o o lado como
desa ollado , he adqui ido conocimien os de p og amación en
Obje i e-C lo cual le apo a un g an alo a mi cu iculum y a mi
po encial como au ónomo.
Me he en en ado a p oblemas du an e el desa ollo que he
sabido sol en a de o ma co ec a, p ueba de ello es que la aplicación
ha salido adelan e y unciona co ec amen e.
Lamen ablemen e el desa ollo ha es ado muy condicionado po
los plazos de en ega y el calenda io uni e si a io, de habe enido
disponibilidad o al de iempo y calenda io, la aplicación goza ía de
más uncionalidades.
!
!
!
!
!
!
!
!
Página de 41 105
Español/Spanish
PASO 4: NAVEGACIÓN POR EL MENÚ INFERIOR
!
Una ez hayamos hecho el p oceso de Log In pod emos e es a
pan alla:
!
Es a es la pan alla donde se in oducen los nue os da os de
glucemias. En la pa e in e io de la pan alla podemos obse a el es o
de pes añas del menú.
Página de 48 105
Español/Spanish
Podemos accede a Glucemia, Insulina, Die a, Eje cicio y más.
Den o de más encon a emos Peso y Sali . En las siguien es imágenes
se mues an las pan allas disponibles en o den de izquie da a de echa.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Página de 49 105
Español/Spanish
Si pulsamos en más e emos es a
pan alla que nos mues a o as dos
opciones: Peso y Sali .
Desde la pan alla de peso pod emos
añadi nues o peso co po al pa a ealiza
un seguimien o de es e
Si pulsamos en sali , se cie a la sesión
iniciada en el paso 2 de al modo que se
pasa al paso 1 de nue o.
A con inuación se mues an unas
cap u as de la in e az de subida de da os
de peso y de la in e az pa a ce a sesión
o Log Ou .
!
!
!
!
!
!
!
!
!
!
!
!
!
Página de 50 105
Español/Spanish
PASO 5: SUBIR UN DATO
!
Las in e aces pa a la subida de da os son simila es unas de o as,
es o acili a adap a se a la app de o ma ápida. Pa a subi un da o
debemos selecciona la opción del menú que nos in e ese subi . T as
es o debemos selecciona la echa y la ho a, pa a lo cual disponemos
de selec o es que sólo nos o ece án sólo echas y ho as álidas.
Usa emos la in e az de subida de da os de insulina como
ejemplo pa a las ins ucciones.
Debemos ambién indica en qué momen o se ha ealizado es a
medición, pa a lo cual disponemos de un selec o que sólo nos
o ece ás las opciones de momen os disponibles.
En es e caso al a a se de insulina ambién debemos indica la
can idad y el ipo de insulina adminis ados.
!
!
!
!
!
!
!
!
!
!
!
!
Página de 51 105
Español/Spanish
!
!
!
!
!
!
!
!
!
!
!
Pa a acili a la selección de la
echa y la ho a, se ha habili ado un
bo ón con o ma de lecha gi ando
que al pulsa hace que la echa y la
ho a sean las de ese momen o.
En la imagen se mues a el
bo ón pulsado.
!
!
!
!
!
Página de 52 105
Español/Spanish
Du an e la subida del da o el bo ón de subi se sus i uye po una
ule a de p oceso que nos inicia que en es os momen os la app es á
subiendo un da o. Una ez e minada la subida el bo ón uel e a es a
disponible.
Al e mina de subi el da o ambién se mues a al usua io un
mensaje de éxi o.
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Página de 53 105
Español/Spanish
!
SUBIR UN DATO SIN CONEXIÓN A INTERNET
!
Si la subida de los da os allase la aplicación se lo no i ica ía al
usua io y almacena ía los da os de o ma local en el disposi i o pa a
pos e io men e subi los cuando sea posible.
El usua io sabe que hay un da o almacenado po que se mues a
un globo en el menú in e io que indica el núme o de da os pendien es
de se subidos.
!
!
!
Página de 54 105
Español/Spanish
LA SALUD DEL PACIENTE: SUBIR UN DATO PELIGROSO
!
Si el usua io sube un da o cuyos ni eles suponen un iesgo pa a s
salud, la aplicación le in o ma á debidamen e. Es o sucede po ejemplo
con las glucemias ele adas o las glucemias excesi amen e bajas. Las
siguien es cap u as mues an los mensajes que la aplicación gene a.
!
!
!
!
!
Página de 55 105
Español/Spanish
PASO 5: CONSULTAR EL HISTORIAL DE DATOS
!
Pa a mos a su his o ial, un pacien e debe accede a la pes aña
del menú que co esponde a los da os que quie a consul a . Po
ejemplo si desea mos a su his o ial de insulinas debe á pulsa en
insulinas.
Una ez se mues e la pan alla de subida de da os, debe á pulsa
en el bo ón que se encuen a en la pa e in e io de echa que dice
“His .” (His o ial).
El usua io pod á e una lis a con sus da os. En caso de que e
eg esa , el usua io encon a á un bo ón que dice “A ás” en la pa e
supe io izquie da de la pan alla.
!
Página de 56 105
Español/Spanish
APÉNDICE: MANUAL DE USO (MÉDICO)
!
PASO 1: ABRIR LA APLICACIÓN.
!
Debemos localiza el icono de la aplicación en nues o
disposi i o. Es a iene un logo azul con la ase “Bien enido a
glUCModel”. Debemos pulsa sob e es e icono pa a ab i la
Página de 57 105
Español/Spanish
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Página de 64 105
Español/Spanish
BY: FRANCISCO JAVIER LINDE BLÁZQUEZ
!
GRADO EN INGENIERÍA DEL SOFTWARE
FACULTAD DE INFORMÁTICA
DEPARTAMENTO DE ARQUITECTURA DE COMPUTADORES Y
AUTOMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
!
!
!
!
!
!
!
!
FINAL YEAR PROJECT IN SOFTWARE ENGINEERING
!
Mad id, June 18, 2014
Di ec o : José Ignacio Hidalgo
Colabo a o : J. Manuel Colmena
Page o 65 105
English/Inglés
glUCModel o iOS
AUTHORIZATION FOR DISTRIBUTION
AND USE
!
!
This documen is dis ibu ed unde C ea i e Commons
BY-NC-SA 3.0.
!
This license allows:
Sha e - copy and edis ibu e he ma e ial in any media o o ma
Adap - ans o m and c ea e om his ma e ial
!
Unde he ollowing condi ions:
A ibu ion - You mus a ibu e he au ho ship o he documen . You
mus p o ide a link o his o iginal documen and whe he changes ha e
been made on i .
Noncomme cial - You can no use he ma e ial o comme cial pu poses.
Sha e Alike - I ans o m, o build om he ma e ial, you mus dis ibu e
he con ibu ions unde he same license as he o iginal.
!
!
!
!
!
Page o 66 105
English/Inglés
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Dedica ed o: Ge a do Fe nández Mo eno.
!
He is an example o ha d wo k and pe se e ance.
He has been a mo i a ion o me.
!
!
!
!
Page o 67 105
English/Inglés
ACKNOWLEDGEMENTS
!
!
My since e hanks o my p ojec manage José Ignacio Hidalgo
o all ime spen , o his in e es and o his pa ience and kindness
du ing p ojec de elopmen .
Thanks o José Manuel Colmena o his collabo a ion in he
p ojec , has b ough ligh on hose echnical issues ha equi ed
consul a ion.
Thanks o my pa ne Abdelkhalek El Mansou i o wo king in
hose common asks o he p ojec and o p o iding he help he has
been able in he p ojec .
!
!
!
!
!
!
!
!
!
!
!
!
!
Page o 68 105
English/Inglés
INDEX
!
1. In oduc ion: Page 71
2. Wha is glUCModel?: Page 77
3. De eloping on iOS: Page 79
4. Implemen a ion: Page 87
5. Resul : Page 98
6. Conclusions: Page 102
7. Fu u e o applica ion: Possible imp o emen s: Page 103
8. Bibliog aphy: Page 104
!
!
!
!
!
!
!
!
!
!
!
Use Manual can be ound in spanish a page 45.
!
Page o 69 105
English/Inglés
1. INTRODUCTION
!
Technology should play an impo an ole in ou socie y, and we
mus no only con empla e i as a ool o help us do wha we al eady
know, bu we mus go u he and hink o i as a ool o make hings so
a could no do hings e en imagined.
Howe e , some imes he emendous po en ial o new
echnologies !
no being ully exploi ed, and his because many imes he ools ha e
been de eloped bu a e no ye iden i ied he p oblems we wan o
sol e.
Many people in hei daily li es ha e o s uggle wi h pe sonal
p oblems, wo k p oblems, inancial, amily, heal h ... I 's in he las one in
which we will ocus.
And acco ding o a s udy by [email p o ec ed] in 2011 13.8% o
Spania ds aged o e 18 ha e diabe es, and wo ldwide he e a e o e
260 million people wi h diabe es. These da a shows he magni ude o
he p oblem.
!
1.1 - LET'S TALK ABOUT DIABETES
Diabe es Melli us (commonly known as diabe es) is a disease ha
a ec s me abolism. This is no a empo a y illness, li elong.
Cha ac e ized by ha he pa ien exhibi s high le els o blood glucose
(hype glycemia).
The Ame ican Diabe es Associa ion Diabe es classi ied in o 2
ypes:
- Type 1: The pa ien 's panc eas p oduces insulin, so ha blood
glucose le els can no be adequa ely educed. These pa ien s a e insulin
dependen s, ha mean ha hey equi e an ex e nal supply o insulin in
Page o 70 105
English/Inglés
hei daily li es. How o inco po a e his con ibu ion may be insulin by a
pump o by injec ions.
- Type 2: The pa ien p oduces insulin o lowe igh and also he
body shows glucose ole ance dose, making i less e ec i e in educing
blood glucose le els. These pa ien s a e no insulin dependen s.
Fo una ely o e 90% o diabe ics is in he second g oup, and say
o una ely because his ype o diabe es is less disabling han ype 1
diabe es. The main ea men o ype 2 diabe es is o achie e a heal hy
weigh and main ain powe heal hy, bu in some cases equi e ea men
in pill o m o in ad anced s ages also need ex e nal insulin in ake.
Type 1 diabe ics a e bo h diabe ics who see hei li es a ec ed
disp opo iona ely. Mus main ain a moni o ing o you blood glucose
le els o p e en bo h hype glycemia (le els> 120mg/dl) and
hypoglycemia (le els <40mg/dL). The ca e ul con ol men ioned is
blood glucose measu emen s o make p edic ions based on
subsequen ood in ake, he spo p edic ed hey a e going o do, he
weigh hey ha e a he momen , and many o he ac o s ha in luence
in blood glucose le els. Based on his p edic ion should make an
es ima e o insulin o be injec ed o keep hei blood glucose le els
app op ia e alues.
!
1.2 - GLUCMODEL
The ask o a ype 1 diabe ic is no easy. In mos cases pa ien s
e ine hei p edic ions wi h p ac ice, bu e en wi h many yea s o
expe ience he pa ien e o hei es ima es. I is in his daily ask ha
glUCModel wan s o play a big ole. The idea behind glUCModel is o
be able o p edic he pa ien 's blood le els based on cu en
pa ame e s o he subjec as a e he nex le el o suga o ca bohyd a e
in ake o ad ise a ce ain amoun o insulin.
To calcula e he u u e suga le els glUCModel is de eloping
e olu iona y g amma s based gene ic p og amming. This ype o
de ini ion allows g ea e eedom in de ining he ma hema ical
Page o 71 105
English/Inglés
exp ession o he solu ion, since i does no ha e es ic ions such as can
be ound using linea equa ions.
The p ojec is se e al yea s de eloped h ough he collabo a ion
o he Uni e sidad Complu ense de Mad id, Uni e si y Hospi al P íncipe
de As u ias (Alcalá de Hena es, Spain) and el hospi al Vi gen de la Salud
(Toledo, Spain). The p o essionals in ol ed in he p ojec a e: J. Ignacio
Hidalgo, José L. Risco-Ma in, Juan Lancha es y Osca Ga nica del
depa amen o de A qui ec u a y Au óma as de la Uni e sidad
Complu ense de Mad id.
•J. Manuel Colmena y Al edo Cues a-In an e om C.E.S. Felipe II,
Uni e sidad Complu ense de Mad id.
•Es he Maqueda om depa amen o de nu ición y endoc inología
del Hospi al Vi gen de la Salud (Toledo, España)
•Ma a Bo ella y José An onio Rubio om depa amen o de nu ición
y endoc inología del hospi al Uni e si a io P íncipe de As u ias
(Alcalá de Hena es, España).
!
1.3 - THE PROJECT: THE MOBILE APPLICATION
!
One o he main needs o glUCModel is collec ing da a, wi hou i
hey could no ind he o mula o es ima ion o glucose, on he o he
hand also could apply his o mula o in o m he pa ien o insulin be
adminis e ed.
To mee his need a web applica ion o en e da a and access was
made, bu he use needs o en e da a a all imes and no doub ha
he use does no ha e a compu e 24 hou s a day. I is possible o
eco d he in o ma ion on a no epad o en e hem la e bu i is a
con enien solu ion, so we chose he bes solu ion o he pa ien :
C ea e a mobile applica ion.
No one lea es his mobile phone, he da a a e e ealing: In Spain
he e a e 26 million sma phones wi h in e ne access and 53.8% o
Spanish mobile e minal na iga e using on a daily basis. These da a
Page o 72 105
English/Inglés
we e collec ed and published by he Tele ónica Founda ion in ea ly
2014.
In 2013 hey we e o e ed wo d a inal p ojec o he
de elopmen o glUCModel mobile phones: A e sion o And oid and
iPhone e sion in o de o p o ide use s o Glucmodel a simple,
accessible and iendly way o he inco po a ion o in o ma ion a
da abase. I chose iPhone because I hink i 's a pla o m wi h g ea
po en ial. The e a e many companies ha need de elope s o iOS on
he o he hand, he App S o e is undoub edly he mos p o i able
opponen o selling pla o m applica ions he e o e p og amming
knowledge o me as a eelance iOS de elope opens he possibili y o
c ea e and mone ize my own mobile applica ions.
The iPhone applica ion de eloped allows he use o en e da a
on blood glucose, hei insulin injec ions, you meals, you weigh and
physical ac i i y. The da a collec ed is sen di ec ly o he da abase which
will s o e glUCModel sa ely. All da a a e also accessible om he mobile
applica ion o he use o isualize hem.
This me hod o add da a o he da abase is a signi ican
imp o emen in usabili y. The use can now use an app op ia e in e ace
o he sc een size o his Sma phone, and i adds he possibili y o use
o line. On he Web logically i we lose in e ne access we can no s o e
any da a, bu in he iPhone applica ion, we can add da a o be s o ed
locally un il we can make he upload.
The iPhone does no s o e any o he da a en e ed by he pa ien
unless i is no possible o s o e hem on he se e , in which case hey
emain in he iPhone un il hey can be uploaded. The applica ion does
no s o e any pe sonal da a o he pa ien , so ha al hough he da a
empo a ily s o ed on he iPhone would be comp omised, i would be
impossible o associa e hem wi h an indi idual, since ansac ions a e
conduc ed using he use ID assigned by glUCModel.
!
!
!
Page o 73 105
English/Inglés
3.1 - THE LENGUAGE: OBJETIVE-C
!
Cu en ly you can only de elop na i e applica ions o iOS in he
p og amming language Objec i e-C. Fo he nex e sion o iOS (iOS 8),
which is expec ed o be a ailable in Fall 2014, will also be p og ammed
in Swi . Swi was in oduced by Apple on June 2, 2014 so we s ill do
no know much abou his new language.
Objec i e-C is a p og amming language ha appea ed in 1980,
and as i s name sugges s is objec o ien ed. I was c ea ed by B ad Cox
in 1992 and was eleased unde he GPL license.
Objec i e-C is a hin laye abo e C, so i is possible o compile
any C applica ion wi h Objec i e-C compile , and is also possible o
include C code di ec ly in o you applica ion in Objec i e-C.
Is seman ically di e en om Ja a o C + + since he p og amme
does no call me hods on objec s, wha he does is send messages o
objec s o pe o m he ac ions we need.
!
Figu e 4: Example o calling unc ions in Ja a, C + + and Objec i e-C
!
This peculia i y makes i a language ha a i s con ac is s ange.
Some imes he e a e causes unc ion calls ha occupy se e al lines o
code ha do no en e he sc een due o how long hey a e. This is an
example o an ex emely simple unc ion ha can be ound wi hin his
applica ion. I s pu pose is o show a simple ale window.
Page o 80 105
English/Inglés
Example o calling a me hod in C++ and Ja a
objec ->me hod (pa ame e ); objec .me hod (pa ame e );
Example o message sending in Obje i e-C:
[objec me hod : pa ame e ];
Figu e 5: Example o unc ion call on se e al lines.
!
The ale S a us unc ion has only wo lines o code, builds an
UIAle View he i s and he second sends his new objec load o de .
As you can see he cons uc o call UIAle View has o be done on
mul iple lines o easons o space and cla i y.
!
3.2 - THE DEVELOPMENT ENVIRONMENT: XCODE
Apple is known o being a closed in many aspec s o business. In
p og amming ha e been no excep ions. These a e some o he
condi ions ha mus be me :
1. The only way o p og am o iOS o Mac OS in Objec i e-C using a
Mac The e is no o icial al e na i es bu no easible.
2. The only de elopmen en i onmen can de elop, compile and un
iOS apps in Xcode (cou se de eloped by Apple).
3. I we wan o es an applica ion on a de ice like an iPhone o an
iPad, we hi e an iOS de elope accoun which cos s $ 99 / yea .
4. I we wan o publish ou applica ion in addi ion o he de elope
accoun men ioned in he p e ious poin , go s ic ly con ol ou app,
Page o 81 105
English/Inglés
o ensu e ha i mee s he legal es ic ions o he App S o e and has
p ope ope a ion.
FIGURE 6: P og am de elopmen o iOS and cos .
!
Once we ha e wha we need o s a p og amming wi h Xcode.
We can say ha Xcode which is ee unlike he es ic ions abo e, his is
a g ea ad an age o he p og amme . Xcode was launched in 2003
and buil wi h In e ace Builde is a g aphical ool o c ea ing in e aces.
This allows o ce ain pa s o he applica ion in a simple and as
way. Xcode can compile applica ions in C, C + +, Objec i e-C,
Objec i e-C + +, Ja a and AppleSc ip . Ex e nal companies ha e
de eloped suppo s Pascal, Ada and Pe l.
An in e es ing ea u e is ha Xcode is able o dis ibu e hea y wo k such
as cons uc ion, among mul iple compu e s using Bonjou echnology.
Xcode also p o ides a de ice manage known as O ganize . Using his
ope a o we can connec ou iOS de ice o you Mac o es applica ions
on he e minal.
!
!
!
!
Page o 82 105
English/Inglés
FIGURE 7: In e ace made in Xcode wi h g aphical ool. To he igh o he pic u e elemen s
a ailable o c ea ion could be obse ed.
FIGURE 8: O ganize . Managemen ool o iOS de ices es .
!
!
Page o 83 105
English/Inglés
Figu e 9: Example o ce i ica e used o sign he applica ion glUCModel. No e ha he ype o
enc yp ion as well as public and p i a e key enc yp ion algo i hm is indica ed.
!
IOS applica ions ha e a le el o secu i y and con ol oo high, so
we gene a e all applica ions mus be signed by he de elope . Xcode
uses a complex sys em o digi al signa u es and ce i ica es. In his
sec ion, Apple has ied o simpli y he p ocess and help us by Xcode
bu he u h is ha i is an a duous ask.
Xcode simula o has a sc een whe e we can es ou applica ion i
we ha e a physical e minal o de elope accoun equi ed. This
simula o is e y as , jus need 3 seconds o u n on and abou wo
seconds o load he applica ion. Besides allowing us o es he app i
you do no ha e he necessa y ools, i also o e s a g ea ad an age in
ha i is possible o simula e all iOS de ices so iPhone, such as iPad,
iPod ouch ... as in di e en gene a ions and wi h he elease o iOS we
choose .
I would add ha I ha e had he oppo uni y o use he And oid
simula o ha Google p o ides o de elopmen , and he igni ion iming
Page o 84 105
English/Inglés
simula o Nexus 4 eached 10 minu es is a huge di e ence wi h he iOS
Simula o and is a poin o de elopmen in iOS.
Figu e 10: Example o using he simula o iPhone 4s wi h iOS 7.
!
The applica ion is a ailable in he page ha he Uni e sidad
Complu ense de Mad id is in ended o mobile applica ions (h p://
www.ucm.es/apps). La e i will be a ailable in he Apple App S o e.
!
!
!
!
!
!
!
Page o 85 105
English/Inglés
4. IMPLEMENTATION
4.1 - DEVELOPMENT METHODOLOGY
!
I ha e ollowed a de elopmen SCRUM ype, since hey ha e
made pa ial deli e ies e i ica ion mee ings wi h he p ojec manage .
The as majo i y o he equi emen s a e de ined ea ly in de elopmen
mee ings, la e du ing de elopmen and e i ica ions ha e been
adap ing and adding equi emen s o achie e he desi ed objec i e.
Th oughou he i e a ions p og ess he p ojec has made co ec ly and
imp o ed wi h each.
!
4.2 - CODE ORGANIZATION
!
The code has been dis ibu ed in packs acco ding o hei
unc ionali y so ha we ind he ollowing g oups o packages:
1. Doc o s: Con ains classes o login in e aces in medical,
managemen o pa ien s associa ed wi h he physician, medical
class, medical logou in e ace, such in e aces d i e s ... e c
2. Use name: Con ains classes o login use in e aces, class use
in e ace use logou , he d i e s o hese in e aces, he class ha
manages he da a upload in e aces ... e c
3. Glucose: Con ains in e aces and d i e s needed o ising
glycemia da a, and da a shown by his o y. Con ains classes ha
ep esen glucose and s o e he da a o he same (blood suga
le el, da e and ime .. e c).
4. Weigh : Con ains in e aces and d i e s needed o uploading
da a and pa ien weigh da a shown by his o y. Con ains classes
ha ep esen a weigh on a ce ain da e and s o e i s da a (da e,
obse a ions and weigh in kg).
Page o 86 105
English/Inglés
5. Insulin: Con ains in e aces and d i e s equi ed o uploading
da a om insulin adminis a ion, and da a shown by his o y.
Con ains classes ha ep esen an e en o insulin and s o e his
da a (amoun o insulin, insulin ype, da e and ime .. e c).
6. Die : Con ains in e aces and d i e s needed o da a s o age
die s. Con ains classes ha ep esen he p e ious in akes by
his o y. Die Con ains class ha s o es da a in ake (se ings o
ca bohyd a es, da e and ime, ype o ood, commen s .. e c).
7. Exe cise: This package s o es he classes esponsible o
displaying in e aces o uploading wo kou da a and his o y o
he exe cises. Con ains he class ha ep esen s and s o es a yea
and he da a associa ed wi h his (le el o physical demand, da e,
ime and obse a ions).
8. Images: In his pack you will ind he images used in in e aces,
mos ly icons.
9. Auxilia y Classes: S o es classes ha a e used o a ious
in e aces, such as ViewHelpe , which is used o d aw a line wi h
g adien colo ; o Ci cleLineBu on which is also used by se e al
in e aces o d aw a ci cula bu on; o JSONHelpe ha is used o
access he da abase SQL pa sing JSON da a o ma .
!
!
!
Page o 87 105
English/Inglés
FIGURES 11 and 12: Examples o packages and classes iewed he p ojec wi h Xcode.
!
4.3 -INTERFACE DESIGN
!
The in e ace design was no included in he equi emen s, bu
a e included as pa o he de elopmen wo k. I chose o make he
easies way o make i in ui i e use in e ace. Also o his pu pose
s anda d iOS design showing lowe na iga ion menus ha a e p esen
in na i e applica ions like iTunes and App S o e om he i s e sion o
iOS is ollowed.
!
!
Page o 88 105
English/Inglés
FIGURES 13 and 14: Compa ison o Apple App S o e applica ion and glUCModel. You can see
he same design on he bo om menu.
!
I also has sough o make a mode n design gea ed o he la es
e sion o iOS (iOS 7). This can be seen in de ails like he ounded
uploading da a ha mimics he design o he bu ons ha we e
in oduced wi h he iOS bu on 7.
The bo oms o he sc eens a e b oken colo s we e ca e ully
chosen, a e passing h ough se e al selec ion p ocesses elying on
ou side opinions o use s who es ed he applica ion. Se e al o he
designs p esen ed ones causing e en eeling s ess. The colo s we e
eplaced by pas el hues anges, less agg essi e. The esul is an
in e ace ha is gen le o he eye.
!
Page o 89 105
English/Inglés
FIGURES 22 and 23: wa ning messages in case o high glycemia.
!
!
!
!
!
!
!
!
Page o 96 105
English/Inglés
5. RESULTADO
!
The esul has been sa is ac o y de elopmen . We a e aced wi h
an applica ion ha mee s he equi emen s se ou a he beginning and
du ing de elopmen .
I is a ligh weigh , secu e and as applica ion.
A e se e al s udies o pe o mance, i has been ound ha
ini ially occupies abou 20MB in RAM and a e in ense use o his
applica ion in RAM occupies a ound 50MB, he use o which he
p ocesso ne e exceeds 1% since he applica ion does no need o
pe o m calcula ions. Figu e 24 shows he use o da a RAM and he
p ocesso a e in ense use.
He has also s udied he disk space occupied by he applica ion
once i is compiled. I has been obse ed ha he applica ion ails o
occupy disk 1MB. I we ha e he da a ha is s o ed locally, you can
occupy 1.5MB o 2MB as shown in Figu e 25.
Figu e 24: Resou ce Moni o iPhone while unning glUCModel
!
!
!
!
Page o 97 105
English/Inglés
!
Figu e 25: Sc eensho , glUCModel disk space.
Rega ding he in e ace esul s a e my good. Usabili y es s ha e
shown ha he in e ace is iendly and in ui i e. These opinions abou
he use expe ience is good.
!
!
!
!
!
Page o 98 105
English/Inglés
!
!
!
!
!
!
!
!
!
!
!
Figu e 26: Inse ing insulins. Figu e 27: His o y o Insulin
Figu e 28: His o y o hype glycemia. Figu e 29: Inse ing da a o Weigh .
!
!
!
!
!
!
!
!
!
!
!
Page o 99 105
English/Inglés
Figu e 30: Pa ien s o a doc o .
!
!
!
!
!
!
!
!
!
Page o 100 105
English/Inglés
6. CONCLUSIONS
!
The de elopmen o he p ojec has success ully comple ed and
collabo a ion wi h glUCModel has been bene icial o bo h pa ies. On
one side glUCModel now has a na i e iOS applica ion ha mee s he
equi emen s needed. Fu he mo e as a de elope , I ha e acqui ed
knowledge o p og amming in Objec i e-C which b ings g ea alue o
my esume and my po en ial as au onomous.
I ha e aced p oblems du ing de elopmen ha ha e lea ned o sol e
co ec ly, he p oo is ha he applica ion has gone ahead and wo king
p ope ly.
Un o una ely he de elopmen has been la gely in luenced by
deadlines and he uni e si y calenda , ha ing had ull ime a ailabili y
and scheduling, implemen a ion would enjoy mo e ea u es.
!
!
!
!
!
!
!
!
!
Page o 101 105
English/Inglés
7. FUTURO DE LA APLICACIÓN
!
The applica ion has g ea po en ial since he de elopmen has
been ca ied ou by only one pe son. By p o iding mo e human
esou ces could include mo e unc ionali y o he applica ion. De ail a
lis o possible imp o emen s:
• Add o he languages.
• Glucose p edic ion sys em based on he p edic ion algo i hm ha is
de eloping.
• Recommenda ion sys em insulin dose based on he p edic ion
algo i hm ha is de eloping.
• Di ec communica ion wi h doc o -pa ien by app.
• Pe iodically checking he in e ne o uploading he ou s anding
da a au oma ically.
• Imp o ed speci ic design o he in e ace o di e en e minals
(iPhone 4, iPhone 5, iPad, iPad e ina, iPad mini ... e c)
• Code op imiza ion o highe speed.
!
!
!
!
!
!
!
Page o 102 105
English/Inglés
8. REFERENCES
!
1 - J.I. Hidalgo, e al., Modeling glycemia in humans by means o
G amma ical E olu ion, Appl. So Compu . J. (2013), h p://dx.doi.o g/
10.1016/j.asoc.2013.11.006
2 - S and o d Uni e si y Online Cou se: De eloping iOS 7 Apps o
iPhone and iPad, h p://online.s an o d.edu/cou se/de eloping-ios7-
apps- all-2013
3 - J.I. Hidalgo, e al. glUCModel: A moni o ing and modeling sys em o
ch onic diseases applied o diabe es. J Biomed In o m (2014), h p://
dx.doi.o g/10.1016/j.jbi.2013.12.015
4 - A. Ame ican-Diabe es-Associa ion. S anda ds o medical ca e in
diabe es 2010. Diabe es Ca e, 33(S1):11–61, 2010.
5 - Apple iOS De elope Lib a y: P og amming wi h Objec i e-C,
h ps://de elope .apple.com/lib a y/ios/documen a ion/Cocoa/
Concep ual/P og ammingWi hObjec i eC/
P og ammingWi hObjec i eC.pd
6 - Apple iOS De elope Lib a y: iOS 7 Design Resou ces, iOS Human
In e ace Guidelines, h ps://de elope .apple.com/lib a y/ios/
documen a ion/Use Expe ience/Concep ual/MobileHIG/MobileHIG.pd
7 - Hidalgo JI e al. glUCModel: Cla ke and Pa kes E o G id Analysis o
Diabe ic Glucose Models ob ained wi h E olu iona y Compu a ion
8 - iOS De elope Lib a y: iOS App P og amming Guide, h ps://
de elope .apple.com/lib a y/ios/documen a ion/iPhone/Concep ual/
iPhoneOSP og ammingGuide/iPhoneAppP og ammingGuide.pd
9 - Zach Waugh, a Mac & iOS de elope : How o use JSON in Cocoa/
Objec i e-C, h p://zachwaugh.me/pos s/how- o-use-json-in-
cocoaobjec i e-c/
10 - And ey P ikazno : C ea e You Own XML/JSON/HTML API wi h PHP,
h p://css.dzone.com/a icles/c ea e-you -own-xmljsonh ml
Page o 103 105
English/Inglés
11 - Manual de PHP, Segu idad Segu idad de Bases de Da os: Inyección
de SQL, h p://www.php.ne //manual/es/secu i y.da abase.sql-
injec ion.php
12 - iOS De elope Tips: C ea e MD5 Hash om NSS ing, NSDa a o a
File, h p://iosde elope ips.com/co e-se ices/c ea e-md5-hash- om-
nss ing-nsda a-o - ile.h ml
13 - Ray Wende lich, How To W i e A Simple PHP/MySQL Web Se ice
o an iOS App, h p://www. aywende lich.com/2941/how- o-w i e-a-
simple-phpmysql-web-se ice- o -an-ios-app
14 - T is an Louis, How Much Do A e age Apps Make?, h p://
www. o bes.com/si es/ is anlouis/2013/08/10/how-much-do-a e age-
apps-make/
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Page o 104 105
English/Inglés
!
!
!
!
!
!
!
Page o 105 105
English/Inglés