Publicado el 3 de Abril del 2018
839 visualizaciones desde el 3 de Abril del 2018
1,7 MB
90 paginas
Creado hace 7a (21/07/2016)
Grado en Ingeniería Informática
Trabajo Final de Grado
Desarrollo de aplicación iOS utilizando
webservices REST en formato JSON
Autor:
Ignacio Vicent Salvador
Supervisor:
Sergio Aguado González
Tutor académico:
Dolores María Llidó Escrivá
Fecha de lectura: 18 de julio de 2016
Curso académico 2015/2016
Resumen
Con la creación y la llegada de nuevos sistemas operativos para smartphones, emergen
nuevas posibilidades que llevan a algunas empresas del sector informático a tomar ventaja de
estas tendencias y generar ideas para abarcar nuevos nichos de mercado. Una de estas ideas es la
creación de una aplicación para apuestas deportivas, enfocada especialmente a un sector joven
de la sociedad. En este documento se describen los procesos de análisis, planificación y diseño
que se han llevado a cabo para poner en marcha dicha aplicación. El desarrollo de la aplicación
se ha realizado durante la estancia en prácticas en la empresa Soluciones CuatroOchenta
S.L. [12], empresa especializada en el desarrollo de aplicaciones para smartphones. El proyecto
general ha sido implementado por un equipo de desarrolladores con la metodología Scrum [9],
de forma que hay un webservice restfull que provee todos los servicios necesarios. La presente
memoria se centra en el trabajo desarrollado por el alumno durante su estancia en prácticas, en
la creación de la aplicación iOS del sistema de apuestas, desarrollada nativamente en Swift [1] la
cual consulta unos webservices. Se utiliza Jira para Scrum, Xcode es el entorno de programación
y Swift el lenguaje.
Palabras clave
iOS, REST, JSON
Keywords
iOS, REST, JSON
Índice general
1. Introducción
1.1. Contexto y motivación del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1. Contexto y visión general de la empresa . . . . . . . . . . . . . . . . . . .
9
9
9
1.1.2. Motivación del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2. Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Descripción del proyecto
3. Planificación del proyecto
13
15
3.1. Metodología de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Planificación temporal de las tareas . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3. Estimación de recursos y costes del proyecto . . . . . . . . . . . . . . . . . . . . . 17
3.4. Seguimiento del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4.1. Sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.2. Sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.3. Sprint 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4.4. Sprint 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.5. Sprint 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.6. Sprint 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3
3.4.7. Sprint 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4. Diseño del sistema
25
4.1. Arquitectura del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2. Diagrama de la arquitectura del sistema . . . . . . . . . . . . . . . . . . . . . . . 28
4.3. Diseño del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5. Implementación y pruebas
33
5.1. Detalles de implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.1. Arquitectura REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1.2. Reglas de la arquitectura REST . . . . . . . . . . . . . . . . . . . . . . . 35
5.1.3. Transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.1.4. Detalles implementación iOS . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2. Verificación y validación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6. Conclusiones
7. Agradecimientos
A. Documentación peticiones JSON
B. Manual para crear un proyecto en Xcode 7.0
41
43
48
86
4
Índice de figuras
4.1. Arquitectura general
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2. Ejemplo petición JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3. Ejemplo respuesta JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4. Diagrama de la arquitectura de la información . . . . . . . . . . . . . . . . . . . 29
4.5. Pantalla inicio (Splash)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6. Pantalla apuestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7. Pantalla apostar 1x2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.8. Pantalla perfil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
B.1. Pantalla inicio Xcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
B.2. Selección plantillas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
B.3. Selección parámetros generales del proyecto . . . . . . . . . . . . . . . . . . . . . 88
B.4. Seleccionar sitio dónde guardar nuestro proyecto . . . . . . . . . . . . . . . . . . 89
B.5. Pantalla general de nuestro proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 90
5
Índice de cuadros
3.1. Pila de tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Planificación sprints
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3. Planificación sprints
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4. Pila sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.5. Pila sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.6. Pila sprint 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.7. Pila sprint 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.8. Pila sprint 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.9. Pila sprint 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.10. Pila sprint 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6
Listings
5.1. Código 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2. Código 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3. Código 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4. Código 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7
8
Capítulo 1
Introducción
Este documento establece la memoria del proyecto Desarrollo de aplicación iOS utili-
zando webservices REST [7] en formato JSON [4] desarrollado durante la estancia en
prácticas en la empresa Soluciones CuatroOchenta S.L. La presente memoria se desglosa
en una pequeña introducción de la empresa, la descripción del proyecto realizado, la planifica-
ción seguida durante la estancia en prácticas, el análisis y diseño utilizado para llevar a cabo
el proyecto, la implementación y pruebas realizadas y finalmente una conclusión por parte del
alumno.
1.1. Contexto y motivación del proyecto
El proyecto se va a llevar a cabo en la empresa Soluciones Cuatroochenta S.L. ubicada en
Castellón. El proyecto consta de tres partes (Interfaz y webservices al sistema de apuestas,
Interfaz Android al sistema de apuestas y la Interfaz iOS al sistema de apuestas), en esta
documentación se va a desarrollar la parte de Interfaz iOS al sistema de apuestas.
1.1.1. Contexto y visión general de la empresa
Este proyecto ha sido desarrollado en la empresa Soluciones CuatroOchenta S.L., líder
en el desarrollo de apps en España y Centroamérica, caracterizada por sus soluciones a medida
para mejorar procesos de trabajo, inteligencia de negocio, movilidad, turismo, cultura, deporte
y comunicación. También impulsa productos propios como 480interactive [13], herramienta
de referencia en el sector editorial para convertir publicaciones en apps interactivas, o el gestor
de incidencias Sefici [14].
Cuatroochenta es una empresa especializada en el desarrollo integral de aplicaciones para
smartphones y tabletas y programación avanzada a medida para mejorar procesos de trabajo.
Cuenta con 50 empleados y más de 50 aplicaciones desarrolladas durante sus 5 años de expe-
riencia, entre ellas se encuentran: la aplicación de las fiestas de la magdalena, la aplicación del
Villarreal C.F., ASSA compañía de seguros y helados Nestlé.
9
Su metodología se basa en la colaboración real y una altísima implicación tanto con
sus clientes como con sus trabajadores, con el objetivo de crear apps que faciliten la
vida, prácticas y eficientes. Se basa en el trabajo y esfuerzo de su joven plantilla, consiguiendo
clientes y ampliando mercados paso a paso, hasta lograr emplear a 50 personas en dos países
diferentes, entre ingenieros, informáticos, diseñadores, publicistas, comerciales y periodistas.
Además de que cuenta con 6 premios gracias al éxito obtenido desde que empezó hasta la fecha
actual.
El curioso nombre de la compañía está tomado de la resolución de pantalla del primer iPhone
480x320, smartphone que abrió una nueva forma de difundir contenidos en la que después
profundizaría Android.
1.1.2. Motivación del proyecto
En los últimos años el aumento del uso de Smartphones ha cambiado el mercado y el modo de
acceso a Internet por parte de los usuarios. Internet ha pasado de usarse como una herramienta
de consulta esporádica a una herramien
Comentarios de: Desarrollo de aplicación iOS utilizando webservices REST en formato JSON (0)
No hay comentarios