TFG Juan Diego Valencia Marin
TFG Juan Diego Valencia Marin
TFG Juan Diego Valencia Marin
de Madrid
Escuela Técnica Superior de
Ingenieros Informáticos
Tutor:
Raúl Alonso Calvo
Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del
Software
ETSI Informáticos
Universidad Politécnica de Madrid
Resumen
El presente trabajo de fin de grado (TFG) en una aplicación Android, realizar la
toma de fotografías georreferenciadas, customización de los nombres de los
archivos de cada imagen previamente definidos y la compresión de los mismos
para compartirlos mediante medios habituales como mail, mensajería
instantánea, etc.
Esta app en adelante llamada FotoTIC aplica al sector de las telecomunicaciones,
concretamente en el ámbito de las instalaciones y manipulación de equipos de
conmutación de datos, llevadas a cabo en salas técnicas, sin embargo, se podría
aplicar a cualquier modelo que requiera documentarse ordenadamente,
cronológicamente y detalladamente, ya que cómo más adelante se explicará en
este documento, la aplicación permite a través de plantillas predefinir el número
de ítems (fotografías) con su respectivo nombre, FotoTIC mejorará los tiempos
de entrega que debe hacer la empresa instaladora a sus clientes en materia de
documentación, y facilitará a los técnicos la tarea de recopilar las imágenes en
la fase final de instalación.
Personalmente, la realización de una aplicación para una empresa siempre me
ha resultado interesante y me ha parecido una tarea fundamental como
profesional, ya que se obtiene esa experiencia de trabajar para un cliente y
cumplir con sus requisitos y expectativas.
Esta aplicación está en una fase floreciente, debido a que su funcionalidad está
ajustada a los requisitos básicos y específicos de la empresa, cumpliendo una
ejecución lineal, es decir, realizando únicamente los pasos para suplir la
necesidad solicitada. Esta necesidad consta de los siguientes pasos:
x Realización de fotos georreferenciadas nombrándolas según un formato
específico.
x Creación de una carpeta para almacenar estas imágenes y comprimirla
una vez finalizada la revisión.
x Compartir este archivo comprimido mediante las tecnologías conocidas
(WhatsApp, Microsoft Teams, correo electrónico, etc.)
Al ser una necesidad concreta, estas funciones se cumplen actualmente
mediante dos aplicaciones externas, estando atado a su funcionamiento y no
pudiendo ajustarse a lo que realmente se desea. En este punto, toma
protagonismo este trabajo, realizando todas las funciones mencionadas
agilizando el trabajo, evitando la pérdida de datos y el mal entendimiento que
puede llegar a ocurrir realizando estas tareas por separado.
Como se mencionó anteriormente, la aplicación se ha desarrollado para
dispositivos móviles Android, siendo el entorno de trabajo Android Studio,
mediante el lenguaje de programación Java y algunas librerías adicionales.
Por lo tanto, el objetivo es que un técnico tenga un acceso instantáneo a la
aplicación para realizar su trabajo de un modo eficiente y sencillo.
i
Abstract
The present final degree project (FDP) in an Android application, take
georeferenced photographs, customize the names of the previously defined files
of each image and compress them to share them through usual means such as
mail, instant messaging, etc.
This app, hereinafter called FotoTIC, applies to the telecommunications sector,
specifically in the field of installation and manipulation of data switching
equipment, carried out in technical rooms, however, it could be applied to any
model that requires orderly documentation, chronologically and in detail, since
as will be explained later in this document, the application allows, through
templates, to predefine the number of items (photographs) with their respective
name, FotoTIC will improve the delivery times that the installation company
must make to its clients in terms of documentation, and will make it easier for
technicians to collect images in the final phase of installation.
Personally, making an application for a company has always been interesting to
me and it has seemed like a fundamental task as a professional, since you get
the experience of working for a client and meeting their requirements and
expectations.
This application is in a flourishing phase because its functionality is adjusted
to the basic and specific requirements of the company, fulfilling a linear
execution, that is, carrying out only the steps to meet the requested need. This
need consists of the following steps:
x Execution of georeferenced photos naming them according to a specific
format.
x Creation of a folder to store these images and compress it once the
revision is finished.
x Sharing this zip file using known technologies (WhatsApp, Microsoft
Teams, email, etc.)
Being a specific need, these functions are currently fulfilled by two external
applications, being tied to their operation and not being able to adjust to what
is desired. At this point, this work takes center stage, performing all the
functions, speeding up the work, avoiding data loss and the misunderstanding
that can occur when performing these tasks separately.
As mentioned above, the application has been developed for Android mobile
devices, being the Android Studio work environment, using the Java
programming language and some additional libraries.
Therefore, the objective is that a technician has instant access to the application
to carry out his work in an efficient and simple way.
ii
Tabla de contenidos
1 Introducción ......................................................................................1
1.1 Motivación y Objetivos ........................................................................ 1
2 Estado del arte ..................................................................................3
2.1 Aplicaciones móviles ........................................................................... 3
2.1.1 Historia ........................................................................................ 3
2.1.2 Aplicaciones más utilizadas ......................................................... 4
2.1.2.1 Facebook .................................................................................. 4
2.1.2.2 YouTube ................................................................................... 4
2.1.2.3 Instagram ................................................................................. 4
2.1.2.4 WhatsApp ................................................................................. 4
2.2 Sistema operativo iOS, iPhone ............................................................ 4
2.2.1 Historia ........................................................................................ 5
2.2.2 Lenguajes de programación para iOS ........................................... 5
2.2.2.1 Objective-C ............................................................................... 5
2.2.2.2 Swift ......................................................................................... 5
2.3 Sistema operativo Android .................................................................. 6
2.3.1 Historia ........................................................................................ 6
2.3.2 Lenguajes de programación para Android .................................... 6
2.3.2.1 Kotlin ........................................................................................ 6
2.3.2.2 Java .......................................................................................... 7
2.3.2.3 JavaScript ................................................................................ 7
2.3.2.4 C# ............................................................................................. 7
3 Desarrollo ..........................................................................................8
3.1 Tecnologías y herramientas de trabajo ............................................... 8
3.1.1 Herramientas utilizadas ............................................................... 8
3.1.2 Lenguajes de programación ........................................................ 12
3.1.3 Librerías/Bibliotecas .................................................................. 13
3.2 Diseño de la aplicación ..................................................................... 14
3.2.1 Diagrama de clases .................................................................... 14
3.3 Mockups .......................................................................................... 14
3.4 Implementación ................................................................................ 31
3.4.1 Metodología de trabajo ............................................................... 31
3.4.2 Funcionalidades ......................................................................... 32
3.4.3 Estructura ................................................................................. 32
3.4.3.1 Diagrama de pantallas ............................................................ 32
3.4.3.2 Casos de uso........................................................................... 34
3.4.3.3 Flujo de pantallas ................................................................... 41
3.4.4 Toma de decisiones .................................................................... 50
iii
3.4.4.1 Cuestiones de flujo de datos ................................................... 50
3.4.4.2 Cuestiones de diseño .............................................................. 51
3.4.5 Pruebas y evaluación ................................................................. 51
3.5 Plan de trabajo ................................................................................. 51
3.5.1 Lista de tareas ........................................................................... 52
3.5.2 Diagrama de Gantt..................................................................... 53
4 Conclusiones y visión a futuro .........................................................56
4.1 Conclusiones .................................................................................... 56
4.2 Visión a futuro ................................................................................. 56
5 Análisis de Impacto .........................................................................58
6 Referencias ......................................................................................59
7 Índice de figuras ..............................................................................61
8 Índice de tablas ...............................................................................63
iv
1 Introducción
El presente trabajo pretende solventar una necesidad en el ámbito de la
instalación de equipos de telecomunicaciones agilizando el proceso en la fase
crucial e importante de instalación final, que permite visualizar gráficamente al
cliente a través de las imágenes tomadas con dispositivos móviles los trabajos
desarrollados por la empresa instaladora, para su correcta documentación y
clasificación, que le permitirá en un futuro el mantenimiento, ampliación y
control de los equipos y dispositivos presentes en cada implementación. Para
ello se utilizan imágenes georreferencias fecha, coordenadas y renombramiento
de imágenes acordes con las capturas realizadas de los equipos implicados.
Esta aplicación no solo realizará fotos georreferenciadas, ya que esta
característica está presente en muchas aplicaciones de terceros en la actualidad,
sino que tiene la capacidad de importar plantillas con los títulos de las imágenes
deseadas, almacenar todas las imágenes en una carpeta, comprimirla y
compartirla mediante el medio que se desee. Facilitando de este modo el trabajo
a los técnicos que realizan la toma de imágenes, siendo estos, el colectivo que
utilizará la herramienta en campo. No obstante, no serán los únicos
beneficiados, ya que al georreferenciar las imágenes y al crear la carpeta,
guardando el nombre del operario, se facilita la recopilación de información por
parte del departamento de despliegue encargado de manipular y documentar
las imágenes para poder cotejar las informaciones entre áreas con el fin de
mejorar y contrastar que la instalación es acorde a los procedimientos de
instalación contemplados, así mismo entregar las imágenes al cliente final
acordes a los requisitos y plazos estipulados.
Actualmente, estas tareas se realizan mediante varias aplicaciones, una de ellas
para tomar las fotos georreferenciadas y otra para guardar las fotos en una
carpeta accesible por un ordenador. Mediante el ordenador se renombran las
imágenes, se genera un archivo comprimido y se comparte. La nueva aplicación
FotoTIC pretende entre otros, cubrir estos vacíos y facilitar notablemente este
proceso.
Finalmente, la metodología de trabajo utilizada es el modelo de prototipos,
presentándolos constantemente a la empresa para su aprobación, más adelante
se profundiza y se muestran los modelos propuestos con los cambios
correspondientes.
1
usan permiten cumplir con dicho objetivo pero sacrificando tiempo, es decir, los
técnicos entregan las fotos, el departamento de despliegue se encarga de
renombrar cada imagen y clasificarla para poder subirla a los repositorios de
los clientes, la necesidad de contar con una app que permita a los técnicos
realizar la documentación de cada proyecto según la plantilla que se le indique
y que la propia aplicación pueda nombrar a cada imagen con el campo especifico
que se desea, permitirá mejorar los tiempos de entrega, los tiempos de
documentar y permitirá agilizar el proceso iniciado en campo hasta la entrega
final.
Los “partners” que colaboran con la empresa, también se beneficiarán de dicha
herramienta ya que actualmente no existe un sistema genérico que permita
unificar todo el proceso en una determinada instalación, por lo que apuestan
por el desarrollo de esta app cómo punto de partida para mejorar los servicios
que prestan a sus clientes en materia documental, ya que la entrega ágil, rápida,
efectiva y de calidad de dichos reportes, les permiten ver el trabajo realizado en
sus instalaciones en un tiempo más corto que el actual.
Por lo tanto, está app a la carta también permitirá allanar el camino para
futuros cambios.
2
2 Estado del arte
Hoy por hoy, convivir en la sociedad actual sin un dispositivo móvil parece una
idea descabellada, es por ello por lo que día a día numerosas empresas apuestan
por desarrollar aplicaciones que puedan ser visualizadas y ejecutadas en estos
dispositivos, con el fin de ayudar a ejecutar las labores que se desempeñan en
entornos que exigen una herramienta que por su tamaño, usabilidad y facilidad
de transporte cumpla y satisfaga los objetivos propuestos, sin apartarnos claro
de la posibilidad de comunicarnos vía oral, los dispositivos cada día se adaptan,
evolucionan, mejoran y acompañan al hombre, integrándose en su vida laboral
y personal, la posibilidad de crear “app” abreviatura de la palabra inglesa
“application” hace que dicha interacción se estreche buscando mejorar en la
mayoría de casos, nuestra calidad de vida, nuestra productividad laboral,
diversión y no menos importante, mantenernos informados en un mundo digital
conectado que carecería de sentido si no existieran los dispositivos móviles.
Según el diccionario panhispánico del español jurídico [1], una aplicación móvil
es un programa informático destinado a ser ejecutado en teléfonos inteligentes,
tabletas u otros dispositivos móviles. Pueden tener una gran variedad de
funcionalidades, desde algo tan básico como ver la hora, programar una alarma
o visualizar el calendario, hasta algo tan complejas como videojuegos en
“streaming” [2], visualización de videos en directo, redes sociales donde se
pueden realizar fotos o videos, subirlos y enviar y recibir mensajes entre otras
funciones.
Por otra parte, una de las principales diferencias y características de las
aplicaciones es el sistema operativo, debido a que su programación, subida al
mercado e incluso visualización pueden variar en función del especificado. Los
más grandes y conocidos son iOS y Android. Los cuales se comentará en los
siguientes capítulos, profundizando más en Android ya que es en este sistema
operativo en el que se desarrolla esta aplicación.
2.1.1 Historia
3
cuando de la mano Apple llegan los “markets” [3], tiendas online accesibles
desde el propio dispositivo móvil en donde se pueden descargar aplicaciones y
juegos. Y posteriormente aparece el de Android. [4]
En la actualidad, los móviles ahora llamados smartphones, debido a la pantalla
táctil y sus amplias funcionalidades, son una herramienta indispensable. Y
cerca del 90% tiempo de uso del móvil es utilizando aplicaciones, por ello tienen
un gran impacto en el presente y en el futuro, por su posible evolución centrada
en la inteligencia artificial, la realidad aumentada y las aplicaciones en la nube.
[5]
Las aplicaciones más descargadas y usadas tanto en iOS como en Android son
las siguientes.
2.1.2.1 Facebook
Facebook es una red social que fue creada para poder mantener en contacto a
personas, y que éstos pudieran compartir información, noticias y contenidos
audiovisuales con sus propios amigos y familiares. [6, 7]
2.1.2.2 YouTube
YouTube es un sitio Web que permite a sus usuarios subir vídeos para que otros
puedan consumirlos en cualquier momento y de manera Online. [8, 9]
2.1.2.3 Instagram
Instagram es una red social y una aplicación móvil al mismo tiempo, que
permite a sus usuarios subir imágenes y vídeos con múltiples efectos
fotográficos como filtros, marcos, colores retro, etc., para posteriormente
compartir esas imágenes en la misma plataforma o en otras redes sociales. [10,
11]
2.1.2.4 WhatsApp
Como este proyecto no está basado en iOS, solo se realizará una llana
investigación. Este sistema operativo es conocido como “el sistema operativo de
4
la manzana” (Apple), y su nombre proviene de iPhone Operative System o
Sistema Operativo de iPhone.
Se trata de un sistema cerrado que no puedes utilizar salvo en dispositivos de
marca Apple. La gran diferencia con Android es esta: el sistema operativo de
Google puede instalarse en infinidad de teléfonos de todas las marcas, pero iOS
es un sistema cerrado y exclusivo para los aparatos de la marca.
2.2.1 Historia
En cuanto lenguajes para este sistema operativo, los más usados y conocidos
son los siguientes.
2.2.2.1 Objective-C
2.2.2.2 Swift
Swift [16] como código abierto, es uno de los lenguajes más recientes diseñados
para ser mejor que sus antecesores. Siendo unas de las mejoras principales su
facilidad de uso y aprendizaje, junto con su rendimiento y seguridad. Dado que
cuenta con una estructura robusta que obliga a cumplir una serie de requisitos
para garantizar una mayor seguridad.
5
2.3 Sistema operativo Android
2.3.1 Historia
2.3.2.1 Kotlin
6
2.3.2.2 Java
Android se ha diseñado con Java [19] , por lo que durante mucho tiempo ha
sido el lenguaje de programación por defecto para el desarrollo de aplicaciones
en este sistema operativo. Este lenguaje es rápido, sencillo y ofrece un amplio
rango de aplicaciones. Por ello, sigue siendo uno de los más populares en la
programación en Android.
2.3.2.3 JavaScript
2.3.2.4 C#
7
3 Desarrollo
En este capítulo se van a definir los aspectos de la codificación, tanto como las
herramientas de desarrollo como la metodología seguida para el código o
ejecución de las tareas.
x GIMP
Programa para retocar, componer y editar imágenes. Se ha utilizado para
realizar el logo de la aplicación.
x Balsamiq Wireframes
Herramienta para Windows que podemos utilizar para organizar
visualmente nuestras ideas para crear prototipos que muestren
interfaces de usuario en desarrollo. Si necesitamos hacer wireframes,
bocetos, maquetas o prototipos de un proyecto, con este programa
generaremos fácilmente lo que queremos y lo mostraremos con claridad.
Utilizada para mostrar el primer boceto.
8
Figura 2. Logo de balsamiq Wireframes
x Justinmind
Programa utilizado para el prototipo de cualquier aplicación web o móvil.
Tanto para sitios web y aplicaciones para la web, iOS y Android con una
intuitiva interfaz de arrastrar y soltar, además de no involucrar ningún
código.
x Lucidchart
Lucidchart es una plataforma de diagramación que permite trabajar en
un documento con otros usuarios al mismo tiempo, en pocas palabras,
un espacio digital para crear en equipo sin importar el lugar donde se
encuentren. Empleada en la diseño y realización de los diagramas de
clases.
9
x GitHub
Portal creado para alojar el código de las aplicaciones de cualquier
desarrollador, creada para que los desarrolladores suban el código de sus
aplicaciones y herramientas, y que como usuario no sólo puedas
descargarte la aplicación, sino también entrar a su perfil para leer sobre
ella o colaborar con su desarrollo. Como su nombre indica, la web utiliza
el sistema de control de versiones Git (diseñado por Linus Torvalds), con
el que los desarrolladores pueden administrar su proyecto, ordenando el
código de cada una de las nuevas versiones que sacan de sus
aplicaciones para evitar confusiones. Empleado para el control de
versiones.
x Android Studio
Android Studio es el entorno de desarrollo integrado (IDE) oficial para el
desarrollo de apps para Android y está basado en IntelliJ IDEA. Ofrece
incluso más funciones que aumentan tu productividad cuando desarrollas
apps para Android. IDE utilizado para el desarrollo de la aplicación.
x Microsoft Word
Software informático procesador de texto, uno de los más utilizados a la
hora de trabajar con documentos digitales, que nació de la mano de IBM
en 1981. Empleado para la realización de este documento.
10
Figura 7. Logo de Microsoft Word
x Microsoft Excel
Excel es una hoja de cálculo que nos permite manipular datos numéricos
y de texto en tablas formadas por la unión de filas y columnas. Una hoja
de cálculo es lo que utilizaban los contadores para llevar registros, esto
se utilizaba mucho antes de que aparecieran las computadoras. Mediante
este programa se realizó el Diagrama de Gantt.
x Microsoft PowerPoint
Microsoft PowerPoint (PPT) es un software de ofimática diseñado para
realizar presentación de diapositivas. Fue creado a mediados de los años
80 y vendido en 1987 a Bill Gates, convirtiéndose en un producto estrella
de la compañía Microsoft. Empleado para la presentación de la memoria
final en la defensa de esta TFG.
11
Figura 9. Logo de Microsoft PowerPoint
x Java
Java es un lenguaje de programación de propósito general, concurrente
y orientado a objetos diseñado específicamente para tener la menor
cantidad posible de dependencias de implementación. Originalmente
desarrollado por James Gosling de Sun Microsystems (la cual fue
adquirida por la compañía Oracle) y publicado en 1995 como un
componente fundamental de la plataforma Java de Sun Microsystems.
Su sintaxis deriva en gran medida de C y C++, pero tiene menos
utilidades de bajo nivel que cualquiera de ellos.
x XML
XML, acrónimo de Extensible Markup Language, es un lenguaje de
marcado que define un conjunto de reglas para la codificación de
documentos. Siendo el lenguaje de marcado un conjunto de códigos que
se pueden aplicar en el análisis de datos o la lectura de textos creados
por computadoras o personas.
12
Figura 11. Logo de xml
3.1.3 Librerías/Bibliotecas
x Android SDK
El SDK de Android es un conjunto de herramientas y bibliotecas de
desarrollo de software que se requieren para desarrollar aplicaciones
Android.
x JDK
Java Development Kit es un software que provee herramientas de
desarrollo para la creación de programas en Java.
13
3.2 Diseño de la aplicación
Los diagramas de clases [23], son una forma eficiente de entender el diseño de
un programa, permitiendo modelar relaciones entre las diferentes entidades.
A continuación, se muestra el diagrama de este proyecto:
3.3 Mockups
15
Figura 17. Primer boceto, pantalla 4
Pantalla con los datos básicos de la obra y los botones para realizar las
fotos con sus nombres provenientes de la plantilla seleccionada.
16
Figura 19. Primer boceto, pantalla 6
17
Figura 21. Primer boceto, pantalla 8
18
2. Segundo modelo.
A partir de este modelo, ya se comenzó a utilizar la herramienta
Justinmind, con el objetivo de realizar los mockups un poco mas
visuales y amenos al cliente.
20
Figura 27. Segundo boceto, pantalla 5
21
Figura 29. Segundo boceto, pantalla 7
22
Figura 31. Segundo boceto, pantalla 9
Mensaje de alerta para compartir los archivos sin ningún problema previo.
3. Tercer modelo.
23
A partir de este punto, los cambios no son tan significativos, por lo que
se mostrarán únicamente los cambios indicando las pantallas a las que
hacen referencia.
Los datos del cliente y obra están en la plantilla y se toman los datos del
operario y de la fase manualmente en este punto.
24
Figura 35. Tercer boceto, pantalla 3
4. Último modelo.
Con este modelo ya se tenía una idea clara de cómo se quería cada
pantalla, salvo algún caso puntual que se mostrará y se hará hincapié
en el apartado 3.4.3.1 flujo de pantallas.
25
Figura 37. Boceto Final, pantalla permiso ubicación
26
Figura 39. Boceto Final, pantalla de datos principales mediante importar
27
Figura 41. Boceto Final, pantalla de datos principales mediante realizar fotos
Pantalla parecida a la figura 39, pero en este caso se escriben los datos
generales de la obra a realizar, ya que los datos obtenidos de la otra pantalla se
reciben a través de la plantilla.
28
Figura 43. Boceto Final, pantalla de fotos con foto
Una vez realizada una foto, aparece el botón flotante con el objetivo de informar
al usuario que se pueden realizar acciones una vez has fotos tomadas.
29
Figura 45. Boceto Final, pantalla comprimir
30
Figura 47. Boceto Final, pantalla compartir
3.4 Implementación
31
3.4.2 Funcionalidades
3.4.3 Estructura
32
Figura 48. Diagrama de pantallas
33
3.4.3.2 Casos de uso
1. Aceptación de permisos
x Descripción
x Pasos
Usuario Aplicación
1. Solicitud por parta de la App
de los permisos necesarios.
2. Aceptación o negación de 3. Uso de permisos.
permisos.
Tabla 2. Pasos caso de uso 01
34
x Diagrama
2. Importación de plantilla
x Descripción
x Pasos
Usuario Aplicación
1. Selección de importar
plantilla.
2. Selección de archivo txt. 3. Lectura del archivo txt.
4. Trato y muestra de datos
provenientes del txt.
5. Escritura de último dato.
35
6. Pulsación de continuar. 7. La aplicación continua a la
siguiente pantalla.
Tabla 4. Pasos caso de uso 02
x Diagrama
3. Selección de fotos
x Descripción
x Pasos
Usuario Aplicación
1. Selección de realizar fotos.
2. Selección de cantidad de 3. Lectura de la cantidad de
fotos. fotos a realizar.
36
4. La aplicación sigue a la
siguiente ventana.
5. Escritura de datos. 6. Lectura de datos.
7. Pulsación de continuar. 8. La aplicación continua a la
siguiente pantalla.
Tabla 6. Pasos caso de uso 03
x Diagrama
4. Realización de fotos
x Descripción
37
x Pasos
Usuario Aplicación
1. Pulsación de imagen para
realizar la foto.
2. Cambio a cámara del
dispositivo.
3. Realización y comprobación
de la foto realizada.
4. Escritura de textos encima del
layout.
5. Guardado de la imagen en el
layout.
Tabla 8. Pasos caso de uso 04
x Diagrama
5. Compresión de archivos
x Descripción
38
Objetivo Comprimir en un archivo zip la carpeta con las imágenes
realizadas.
Precondiciones Carpeta creada y mínimo una foto realizada.
Postcondiciones Archivo comprimido zip.
Actor primario Usuario.
Tabla 9. Descripción caso de uso 05
x Pasos
Usuario Aplicación
1. Pulsación de botón de
comprimir.
2. Creación de archivo zip con
las imágenes en la carpeta
correspondiente.
3. Renombrado del archivo zip
recién creado.
Tabla 10. Pasos caso de uso 05
x Diagrama
x Descripción
39
Caso de uso 06 Compartición del archivo comprimido
Objetivo Compartir el archivo zip creado en el anterior paso.
Precondiciones Archivo zip existente.
Postcondiciones Archivo zip compartido.
Actor primario Usuario.
Tabla 11. Descripción caso de uso 06
x Pasos
Usuario Aplicación
1. Pulsación de botón de
compartir.
2. Selección del archivo y
compartición.
3. Selección de aplicación para
su compartición.
4. Puesta de archivo zip en la
aplicación seleccionada.
5. Escritura opcional y envío.
Tabla 12. Pasos caso de uso 06
x Diagrama
40
Figura 54. Caso de uso compartir
41
Figura 55. Permisos de ubicación
42
Figura 56. Pantalla principal
43
Al seleccionar y aceptar la plantilla, la aplicación leerá sus datos y avanzará a
la siguiente pantalla, pantalla de datos principales mediante importar. La
cual solo es necesario rellenar un campo ya que el resto son leídos por el archivo
txt importado. Este campo, ya definido con un número máximo de caracteres,
pide las iniciales del operario que va a realizar las fotografías. Adicionalmente,
se verá un dropdown que define el tipo de obra, habiendo únicamente dos
opciones, instalación o replanteo, esta última opción es la predeterminada ya
que en la mayoría de los casos será la obra por realizar. Por último, está el
elemento “selección de cabecera”, el cual aparece en el último boceto, cuya
función es permitir visualizar el nombre de las fotos en cada elemento
seleccionable donde se realizarán las imágenes. Aunque en la última reunión se
tomó la decisión de eliminarlo, con el objetivo de que siempre sea visibles estos
nombres.
Figura 58. Pantalla datos 1 Figura 59. Pantalla datos 2 Figura 60. Pantalla datos 3
44
Figura 61. Pantalla datos 4 Figura 62. Pantalla de fotos con plantilla
45
En el cuadro de dialogo aparecen las opciones de cancelar y aceptar, las cuales
la primera se mantiene en la pantalla actual y la segundo avanza a la siguiente,
pantalla de datos principales mediante realizar fotos. En este punto, los
datos principales no se obtienen a través de la plantilla predeterminada, por lo
que el técnico debe escribir sus datos, el cliente y todo lo relacionado con la obra
manualmente.
Figura 64. Pantalla datos Figura 65. Pantalla datos Figura 66. Pantalla datos
realizar 1 realizar 2 realizar 3
46
Figura 67. Pantalla de fotos 1 Figura 68. Pantalla de fotos 2 Figura 69. Pantalla de fotos 3
47
Figura 70. Pantalla de fotos 4 Figura 71. Pantalla menú Figura 72. Pantalla menú
flotante 1 flotante 2
En esta pantalla, aparece un fondo blanco dejando más intuitivo los botones
situados abajo a la derecha, los cuales realizan las siguientes acciones,
comprimir y compartir.
El botón de compartir, no se visualiza hasta que no se haya comprimido la
carpeta con las imágenes correspondientes, evitando de este modo cualquier
error de entendimiento y de diseño mencionado anteriormente.
48
Figura 73. Pantalla compartir Figura 74. Pantalla compartir mediante correo
49
Figura 75. Pantalla de archivos 1 Figura 76. Pantalla de archivos 2
50
3.4.4.2 Cuestiones de diseño
51
3.5.1 Lista de tareas
6. Importe de plantillas.
La aplicación permitirá la importación de plantillas con un formato
previamente definido.
52
8. Compartir el archivo comprimido.
Por último, el archivo comprimido se compartirá vía Microsoft Teams,
correo, WhatsApp, etc.
Nombre de la empresa Leyenda: Según lo previsto Riesgo bajo Riesgo medio Riesgo alto Sin asignar
Selección del diseño (flujo) de la aplicación Riesgo medio Juan Diego V. 100% 01/03/2022 2
Abrir la cámara de fotos de la aplicación Riesgo bajo Juan Diego V. 100% 03/03/2022 3
Guardar la foto realizada y verla en un layout Riesgo medio Juan Diego V. 100% 06/03/2022 3
Selección de la carpeta de guardado de imágenes Riesgo alto Juan Diego V. 100% 23/03/2022 5
Comprimir la carpeta con las imágenes Riesgo bajo Juan Diego V. 100% 04/04/2022 7
Aplicación
Memoria
Presentación
53
TÍTULO DEL PROYECTO
Nombre de la empresa Leyenda: Según lo previsto Riesgo bajo Riesgo medio Riesgo alto Sin asignar
Selección del diseño (flujo) de la aplicación Riesgo medio Juan Diego V. 100% 01/03/2022 2
Abrir la cámara de fotos de la aplicación Riesgo bajo Juan Diego V. 100% 03/03/2022 3
Guardar la foto realizada y verla en un layout Riesgo medio Juan Diego V. 100% 06/03/2022 3
Selección de la carpeta de guardado de imágenes Riesgo alto Juan Diego V. 100% 23/03/2022 5
Comprimir la carpeta con las imágenes Riesgo bajo Juan Diego V. 100% 04/04/2022 7
Aplicación
Memoria
Presentación
Nombre de la empresa Leyenda: Según lo previsto Riesgo bajo Riesgo medio Riesgo alto Sin asignar
Selección del diseño (flujo) de la aplicación Riesgo medio Juan Diego V. 100% 01/03/2022 2
Abrir la cámara de fotos de la aplicación Riesgo bajo Juan Diego V. 100% 03/03/2022 3
Guardar la foto realizada y verla en un layout Riesgo medio Juan Diego V. 100% 06/03/2022 3
Selección de la carpeta de guardado de imágenes Riesgo alto Juan Diego V. 100% 23/03/2022 5
Comprimir la carpeta con las imágenes Riesgo bajo Juan Diego V. 100% 04/04/2022 7
Aplicación
Memoria
Presentación
54
TÍTULO DEL PROYECTO
Nombre de la empresa Leyenda: Según lo previsto Riesgo bajo Riesgo medio Riesgo alto Sin asignar
Selección del diseño (flujo) de la aplicación Riesgo medio Juan Diego V. 100% 01/03/2022 2
Abrir la cámara de fotos de la aplicación Riesgo bajo Juan Diego V. 100% 03/03/2022 3
Guardar la foto realizada y verla en un layout Riesgo medio Juan Diego V. 100% 06/03/2022 3
Selección de la carpeta de guardado de imágenes Riesgo alto Juan Diego V. 100% 23/03/2022 5
Comprimir la carpeta con las imágenes Riesgo bajo Juan Diego V. 100% 04/04/2022 7
Aplicación
Memoria
Presentación
55
4 Conclusiones y visión a futuro
Para finalizar, se presentarán reflexiones sobre el resultado final del proyecto,
un análisis de lo que funcionó, áreas que podrían mejorarse y una revisión
general de cuán útil ha sido el proyecto para mis estudios y para mi futuro
profesional.
4.1 Conclusiones
56
x Botón de información.
En caso de ayuda o de no tener claro el flujo de datos o de pantallas, se
realizaría un botón de información en cada pantalla el cual permitiría
explicar al usuario en donde está y lo que ha de realizar para ejecutar las
fotografías correctamente.
57
5 Análisis de Impacto
Para finalizar, en este capítulo se analizará el impacto que tendrá FotoTIC tanto
a nivel personal, empresarial como económico.
A nivel personal, esta aplicación me ayudado a adquirir una gran cantidad de
conocimientos en muchos aspectos, el adentramiento al mundo del desarrollo
de las aplicaciones móviles, la responsabilidad de cumplir los objetivos de un
proyecto de este calibre, la experiencia real de realizar un software a un cliente,
entre otros. Por este abanico de motivos, el impacto que ha generado en mí y
los resultados que obtendré gracias a esta experiencia, indudablemente
influirán en gran parte en mi futuro personal y profesional.
En cuanto al impacto empresarial y económico, la aplicación FOTO Tic traerá
consigo cuando se implemente en la empresa AMSA, mejoras significativas de
tiempos en el campo de la coordinación del departamento de despliegue y el
departamento de instalaciones, ya que las dudas y las formas de realizar el
reporte fotográfico que se generan actualmente, se verán reducidas
notablemente al tener una hoja de ruta en forma de plantilla, los instaladores
tomarán las imágenes que le indiquen los gestores de proyecto, permitiendo
tomar la imagen necesaria y adecuada cuantas veces sea necesario hasta
encontrar la ideal, también en el proceso de compresión que se realiza dentro
de la aplicación permitirá al técnico ahorrar tiempo evitando utilizar
aplicaciones de terceros, todo ello en un proceso fácil, sencillo e intuitivo.
Los beneficios se reflejarán también con la reducción de no conformidades que
se generan, cuando los clientes reclaman imágenes que con el actual sistema
se pueden omitir a la hora de realizar la toma de imágenes, de igual forma afecta
el tiempo que el departamento de despliegue invierte a la hora de organizar las
imágenes para documentarlas, ya que al venir renombradas ahorra un tiempo
considerable en la organización y clasificación cuando se crean los reportes y
documentos que se suben a los distintos repositorios y herramientas de los
clientes.
58
6 Referencias
[1] «Diccionario panhispánico del español jurídico,» [En línea]. Available:
https://dpej.rae.es/lema/aplicaci%C3%B3n-
m%C3%B3vil#:~:text=Programa%20inform%C3%A1tico%20destinado%2
0a%20ser,tabletas%20u%20otros%20dispositivos%20m%C3%B3viles..
[2] «Streaming,» [En línea]. Available:
https://espanol.verizon.com/info/definitions/streaming/.
[3] «Markets,» [En línea]. Available: https://www.tecnologiaypunto.es/que-
es-android-market/.
[4] «Historia de aplicaciones móviles,» [En línea]. Available:
https://www.duacode.com/es/blog-noticia/aplicaciones-moviles-
desarrollo-historia.
[5] «Skyscanner, historia de aplicaciones,» [En línea]. Available:
https://www.skyscanner.es/noticias/esta-es-la-historia-de-las-
aplicaciones-moviles.
[6] «Facebook,» [En línea]. Available: https://www.facebook.com/.
[7] «Que es Facebook,» [En línea]. Available:
https://webescuela.com/facebook-que-es-como-funciona/.
[8] «YouTube,» [En línea]. Available: https://www.youtube.com/.
[9] «Que es Youtube,» [En línea]. Available:
https://webescuela.com/youtube-que-es-como-funciona/.
[10] «Instragram,» [En línea]. Available: https://www.instagram.com/?hl=es.
[11] «Que es Instagram,» [En línea]. Available: https://webescuela.com/que-
es-instagram-para-que-sirve/.
[12] «WhatsApp,» [En línea]. Available: https://www.whatsapp.com/?lang=es.
[13] «Que es WhatsApp,» [En línea]. Available:
https://www.whatsapp.com/about/?lang=es.
[14] «iOS y su historia,» [En línea]. Available:
https://www.adslzone.net/reportajes/software/que-es-ios/.
[15] «Objective-C,» [En línea]. Available:
https://lenguajesdeprogramacion.net/objective-c/.
[16] «Swift,» [En línea]. Available: https://www.apple.com/es/swift/.
[17] «Android,» [En línea]. Available: https://www.android.com/intl/es_es/.
[18] «Kotlin,» [En línea]. Available: https://kotlinlang.org/.
[19] «Java,» [En línea]. Available: https://www.java.com/es/.
[20] «JavaScript,» [En línea]. Available:
https://developer.mozilla.org/es/docs/Web/JavaScript.
59
[21] «Github,» [En línea]. Available: https://github.com/.
[22] «C#,» [En línea]. Available: https://docs.microsoft.com/es-
es/dotnet/csharp/.
[23] «Lucidchart,» [En línea]. Available:
https://www.lucidchart.com/pages/es/tutorial-de-diagrama-de-clases-
uml.
[24] «Metodologías de trabajo,» [En línea]. Available:
https://thedigitalprojectmanager.com/es/metodologias-gestion-
proyectos-simplificadas/.
[25] «Metodologías ágiles,» [En línea]. Available:
https://blog.incubicon.com/tipos-de-metodolog%C3%ADas-agiles-para-
la-gestion-de-proyectos.
[26] «Casos de uso,» [En línea]. Available:
https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso
/416.
[27] «Android developers,» [En línea]. Available:
https://developer.android.com/.
[28] «Material Design,» [En línea]. Available: https://material.io/.
[29] «Material Design, colores,» [En línea]. Available:
https://material.io/design/color/the-color-system.html#tools-for-
picking-colors.
[30] «Diseño minimalista,» [En línea]. Available:
https://webnova.com.ar/teoria-del-diseno-minimalista/.
[31] «Diseño plano,» [En línea]. Available:
https://www.departamentodeinternet.com/que-es-flat-design-diseno-
plano/.
[32] «Diagrama de Gantt,» [En línea]. Available:
https://www.atlassian.com/es/agile/project-management/gantt-chart.
60
7 Índice de figuras
FIGURA 1. LOGO DE GIMP ............................................................................................ 8
FIGURA 2. LOGO DE BALSAMIQ WIREFRAMES .................................................................... 9
FIGURA 3. LOGO DE JUSTINMIND .................................................................................... 9
FIGURA 4. LOGO DE LUCIDCHART ................................................................................... 9
FIGURA 5. LOGO DE GITHUB ....................................................................................... 10
FIGURA 6. LOGO DE ANDROID STUDIO ........................................................................... 10
FIGURA 7. LOGO DE MICROSOFT WORD ......................................................................... 11
FIGURA 8. LOGO DE MICROSOFT EXCEL......................................................................... 11
FIGURA 9. LOGO DE MICROSOFT POWERPOINT ................................................................ 12
FIGURA 10. LOGO DE JAVA .......................................................................................... 12
FIGURA 11. LOGO DE XML ........................................................................................... 13
FIGURA 12. LOGO DE ANDROID SDK............................................................................. 13
FIGURA 13. LOGO DE JDK .......................................................................................... 13
FIGURA 14. PRIMER BOCETO, PANTALLA 1 ...................................................................... 14
FIGURA 15. PRIMER BOCETO, PANTALLA 2 ...................................................................... 15
FIGURA 16. PRIMER BOCETO, PANTALLA 3 ...................................................................... 15
FIGURA 17. PRIMER BOCETO, PANTALLA 4 ...................................................................... 16
FIGURA 18. PRIMER BOCETO, PANTALLA 5 ...................................................................... 16
FIGURA 19. PRIMER BOCETO, PANTALLA 6 ...................................................................... 17
FIGURA 20. PRIMER BOCETO, PANTALLA 7 ...................................................................... 17
FIGURA 21. PRIMER BOCETO, PANTALLA 8 ...................................................................... 18
FIGURA 22. PRIMER BOCETO, PANTALLA 9 ...................................................................... 18
FIGURA 23. SEGUNDO BOCETO, PANTALLA 1 ................................................................... 19
FIGURA 24. SEGUNDO BOCETO, PANTALLA 2 ................................................................... 19
FIGURA 25. SEGUNDO BOCETO, PANTALLA 3 ................................................................... 20
FIGURA 26. SEGUNDO BOCETO, PANTALLA 4 ................................................................... 20
FIGURA 27. SEGUNDO BOCETO, PANTALLA 5 ................................................................... 21
FIGURA 28. SEGUNDO BOCETO, PANTALLA 6 ................................................................... 21
FIGURA 29. SEGUNDO BOCETO, PANTALLA 7 ................................................................... 22
FIGURA 30. SEGUNDO BOCETO, PANTALLA 8 ................................................................... 22
FIGURA 31. SEGUNDO BOCETO, PANTALLA 9 ................................................................... 23
FIGURA 32. SEGUNDO BOCETO, PANTALLA 10 ................................................................. 23
FIGURA 33. TERCER BOCETO, PANTALLA 1 ...................................................................... 24
FIGURA 34. TERCER BOCETO, PANTALLA 2 ...................................................................... 24
FIGURA 35. TERCER BOCETO, PANTALLA 3 ...................................................................... 25
FIGURA 36. BOCETO FINAL, PANTALLA PRINCIPAL............................................................. 25
FIGURA 37. BOCETO FINAL, PANTALLA PERMISO UBICACIÓN ............................................... 26
FIGURA 38. BOCETO FINAL, PANTALLA SELECCIÓN DE PLANTILLA ........................................ 26
FIGURA 39. BOCETO FINAL, PANTALLA DE DATOS PRINCIPALES MEDIANTE IMPORTAR ............... 27
FIGURA 40. BOCETO FINAL, PANTALLA NÚMERO DE FOTOS ................................................. 27
FIGURA 41. BOCETO FINAL, PANTALLA DE DATOS PRINCIPALES MEDIANTE REALIZAR FOTOS ...... 28
FIGURA 42. BOCETO FINAL, PANTALLA DE FOTOS ............................................................. 28
FIGURA 43. BOCETO FINAL, PANTALLA DE FOTOS CON FOTO ............................................... 29
FIGURA 44. BOCETO FINAL, PANTALLA MENÚ FLOTANTE COMPRIMIR .................................... 29
FIGURA 45. BOCETO FINAL, PANTALLA COMPRIMIR ........................................................... 30
FIGURA 46. BOCETO FINAL, PANTALLA MENÚ FLOTANTE COMPRIMIR COMPARTIR .................... 30
FIGURA 47. BOCETO FINAL, PANTALLA COMPARTIR ........................................................... 31
FIGURA 48. DIAGRAMA DE PANTALLAS ........................................................................... 33
FIGURA 49. PERMISOS DE UBICACIÓN ............................................................................ 42
FIGURA 50. PANTALLA PRINCIPAL .................................................................................. 43
FIGURA 51. SELECCIÓN DE PLANTALLA ........................................................................... 43
FIGURA 52. PANTALLA DATOS 1 .................................................................................... 44
FIGURA 53. PANTALLA DATOS 2 .................................................................................... 44
FIGURA 54. PANTALLA DATOS 3 .................................................................................... 44
FIGURA 55. PANTALLA DATOS 4 .................................................................................... 45
FIGURA 56. PANTALLA DE FOTOS CON PLANTILLA .............................................................. 45
61
FIGURA 57. PANTALLA DE NÚMERO DE FOTOS.................................................................. 45
FIGURA 58. PANTALLA DATOS REALIZAR 1 ....................................................................... 46
FIGURA 59. PANTALLA DATOS REALIZAR 2 ....................................................................... 46
FIGURA 60. PANTALLA DATOS REALIZAR 3 ....................................................................... 46
FIGURA 61. PANTALLA DE FOTOS 1 ................................................................................ 47
FIGURA 62. PANTALLA DE FOTOS 2 ................................................................................ 47
FIGURA 63. PANTALLA DE FOTOS 3 ................................................................................ 47
FIGURA 64. PANTALLA DE FOTOS 4 ................................................................................ 48
FIGURA 65. PANTALLA MENÚ FLOTANTE 1 ....................................................................... 48
FIGURA 66. PANTALLA MENÚ FLOTANTE 2 ....................................................................... 48
FIGURA 67. PANTALLA COMPARTIR ................................................................................ 49
FIGURA 68. PANTALLA COMPARTIR MEDIANTE CORREO ...................................................... 49
FIGURA 69. PANTALLA DE ARCHIVOS 1 ........................................................................... 50
FIGURA 70. PANTALLA DE ARCHIVOS 2 ........................................................................... 50
FIGURA 71. DIAGRAMA DE GANTT MES DE MARZO ............................................................ 53
FIGURA 72. DIAGRAMA DE GANTT MES DE ABRIL.............................................................. 54
FIGURA 73. DIAGRAMA DE GANTT MES DE MAYO .............................................................. 54
FIGURA 74. DIAGRAMA DE GANTT MES DE JUNIO ............................................................. 55
62
8 Índice de tablas
TABLA 1. DESCRIPCIÓN CASO DE USO 01........................................................................ 34
TABLA 2. PASOS CASO DE USO 01 ................................................................................. 34
TABLA 3. DESCRIPCIÓN CASO DE USO 02........................................................................ 35
TABLA 4. PASOS CASO DE USO 02 ................................................................................. 36
TABLA 5. DESCRIPCIÓN CASO DE USO 03........................................................................ 36
TABLA 6. PASOS CASO DE USO 03 ................................................................................. 37
TABLA 7. DESCRIPCIÓN CASO DE USO 04........................................................................ 37
TABLA 8. PASOS CASO DE USO 04 ................................................................................. 38
TABLA 9. DESCRIPCIÓN CASO DE USO 05........................................................................ 39
TABLA 10. PASOS CASO DE USO 05 ............................................................................... 39
TABLA 11. DESCRIPCIÓN CASO DE USO 06...................................................................... 40
TABLA 12. PASOS CASO DE USO 06 ............................................................................... 40
63
Este documento esta firmado por
Firmante CN=tfgm.fi.upm.es, OU=CCFI, O=ETS Ingenieros Informaticos -
UPM, C=ES
Fecha/Hora Wed Jun 01 19:44:01 CEST 2022
Emisor del EMAILADDRESS=camanager@etsiinf.upm.es, CN=CA ETS Ingenieros
Certificado Informaticos, O=ETS Ingenieros Informaticos - UPM, C=ES
Numero de Serie 561
Metodo urn:adobe.com:Adobe.PPKLite:adbe.pkcs7.sha1 (Adobe
Signature)