@@ -146,7 +146,7 @@ Sin embargo, a pesar de su importancia, hemos constatado que el personal que tra
Las consecuencias de no hacerlo son medidas imprecisas, que dan lugar a experimentos erróneos y de baja calidad, que tienen poca capacidad de reproducción, pues, con un instrumento correctamente calibrado, dará resultados totalmente distintos.
Las causas pueden deberse a la falta de conocimiento sobre la necesidad de calibrar y/o los estándares, al tener que añadir más tareas a su rutina, que pueden olvidarse, al coste, ...\\
\textcolor{red}{Algunos autores han sugerido ... en el currículo de las carreras de química~\cite{olvera-trevino_que_2010}.}
%\textcolor{red}{Algunos autores han sugerido ... en el currículo de las carreras de química~\cite{olvera-trevino_que_2010}.}
%
%%%%%%%%%%%%%%%%%%%%%%%%%% CAPÍTULO 2: OBJETIVOS Y ALCANCE
\chapter{Objetivos y Alcance}
...
...
@@ -164,16 +164,6 @@ Si en el apartado anterior, el instrumento no es apto, o independientemente de s
También, se quiere mantener un registro de todos los procedimientos de análisis y las calibraciones realizadas para poder observar el comportamiento de los instrumentos, ver cuando es la ultima vez que se ha realizado un análisis o calibrado el instrumento, notificar de análisis rutinarios...
\subsection{Tareas a realizar}
\begin{enumerate}
\item Definir el trabajo y elaborar una planificación ...
\item Estudiar el problema ...
\item Localizar soluciones similares ...
\item Desarrollar nuestra solución ...
\item Probarla o realizar experimentos con ella ...
@@ -205,9 +195,9 @@ El desarrollo Agile cuenta con 7 etapas, 5 de las cuales se ejecutan en bucle. L
\item Lanzamiento: Se oficializa la publicación del proyecto, junto a la documentación de este (como es esta memoria) para su uso.
\end{itemize}
\section{Fases y costes}
\section{Fases}
Las distintas tareas a realizar en el proyecto y la estimación de horas de trabajo que se van a emplear en ellas son las que se detallan en el \ref{tab:metodo.fasesProyecto}.
Las distintas tareas a realizar en el proyecto y la estimación de horas de trabajo que se van a emplear en ellas son las que se detallan en la siguiente figura, la \ref{tab:metodo.fasesProyecto}.
\begin{table}[ht]
\centering
...
...
@@ -224,10 +214,10 @@ Las distintas tareas a realizar en el proyecto y la estimación de horas de trab
Diseño funcional & 20 \\\hline
Construcción del software & 120 \\\hline
Testeo del software & 30 \\\hline
Despliegue del software & 5 \\\hline
Despliegue del software &15 \\\hline
Mantenimiento & 2 \\\hline
Resultados & 5 \\\hline
Escribir la memoria del TFG &20\\\hline
Escribir la memoria del TFG &50\\\hline
\end{tabular}
\caption{Fases de desarrollo del proyecto previstas y su estimación.}
\label{tab:metodo.fasesProyecto}
...
...
@@ -939,9 +929,6 @@ Como alternativa, se puede realizar la aplicación con un framework como es Flut
%%%%%%%%%%%%%%%%%%%%%%%%%% CAPÍTULO 6: Análisis del Sistema
\chapter{Análisis}
\label{cap:analisis}
\lipsum[10]
Los diferentes artefactos generados en el desarrollo de un software, como son especificaciones de requisitos, casos de uso, etc., se presentarán a lo largo de este documento de forma gráfica utilizando el estándar de modelado UML, disponible como ISO/IEC 19505:2012\cite{object_management_group_omg_information_2012}.
\section{Especificación de requisitos software}
\subsection{Requisitos funcionales}
...
...
@@ -2653,6 +2640,17 @@ En este apartado, describiremos los distintos tipos de actores que pueden intera
\label{tab:AC-004}
\end{table}
\section{Modelo de clases}
Como todo proyecto, necesita una estructura de datos y sus relaciones. Para ello diseñamos un diagrama de clases de análisis que luego, implementaremos en el desarrollo utilizando los tipos específicos del lenguaje de programación que utilicemos.
En nuestro caso, el diagrama de clases es el siguiente
Todo proyecto tiene un coste asociado. Aunque este proyecto se haya realizado bajo un ámbito no comercial, tiene un valor asociado, incluyendo gastos del personal que ha trabajado en el, o los materiales que se han utilizado para su desarrollo. En esta sección comentaremos que se ha utilizado para el desarrollo del proyecto y el precio que se le ha asignado, dando una ligera idea de cuanto podría costar un proyecto de esta índole en el mercado.
...
...
@@ -2706,7 +2704,7 @@ Extra:
\item Estabilizador de móvil para grabar vídeos de los procedimientos: 15€
Los salarios medios para estos puestos se han extraído de la siguiente pagina web: https://www.jobted.es/salario
\subsection{Costes totales}
El proyecto ha sido desarrollado a lo largo de 6 meses. Suponiendo los precios dichos en las secciones anteriores y que todo se compró desde el día 1 del proyecto, nos sale lo siguiente:
...
...
@@ -2730,12 +2729,7 @@ En total, el coste del proyecto es de 5535,72€.
%%%%%%%%%%%%%%%%%%%%%%%%%% CAPÍTULO 7: Diseño de la Solución
\chapter{Diseño}
...
...
@@ -2744,16 +2738,16 @@ En total, el coste del proyecto es de 5535,72€.
\lipsum[10]
\section{Diseño de la interfaz}
Para el diseño de la interfaz, se han desarrollado primero unos mocks de las principales pantallas que utilizamos como esquema para luego desarrollar los diseños finales. Otras pantallas como listados no aparecen pues no se consideró oportuno a la hora de desarrollar los mocks.
\caption{Pantalla de calibración - Comprobación fallida}
...
...
@@ -2843,16 +2837,34 @@ El diagrama de despliegue del sistema es el siguiente:
\chapter{Pruebas}
\label{cap:pruebas}
\lipsum[10]
Para las pruebas, lo que vamos a realizar es, con ayuda de personal del laboratorio, comprobar si se pueden introducir correctamente los procedimientos de comprobación y calibración, y una vez introducidos, pedir al mismo personal, que utilice la aplicación para realizar el procedimiento.\\
Al ser uno de los tutores un miembro de los laboratorios, él también se encargaba de comprobar que el funcionamiento de la aplicación fuese el adecuado en todo momento.
También al principio hicimos una pseudo base de datos utilizando el gestor de base de datos de MongoDB para ver si este era capaz de solucionarnos el problema que planteábamos, pero finalmente lo descartamos por la complejidad que suponía tener que utilizar MongoDB y conectarlo con una API REST basada en el framework de Spring
Respecto a las pruebas unitarias, no se han realizado por restricciones temporales, y ha sido algo que decidimos no realizar. Y aunque la API se podía probar con la interfaz, no tiene que ser la manera con la que proceder. También hace falta investigar el como hacer pruebas automáticas e unitarias de la interfaz, y añadir esto al apartado de despliegue y la pipeline del proyecto.
Una vez realizado el proyecto consideramos que nos hubiese gustado tener más tiempo para refinarlo del todo. Es cierto que se ha llegado a un punto en el que el proyecto se puede utilizar para el fin que se quería, pero mucha funcionalidad que puede que no sea básica pero que normalmente tiene que aparecer, no nos ha dado tiempo a implementarlo. Lo importante es que la base esta ahí, y ahora depende de nosotros el seguirla.\\
A continuación se enumeran los objetivos más significantes que se han desarrollado, en referencia a la infraestructura del proyecto:
\begin{itemize}
\item Creación de una web app con el framework Flutter.
\item Creación de una API REST con Spring.
\item Conexión de las dos instancias.
\item Convertir ambas cosas en micro-servicios con contenedores Docker.
\item Despliegue continuo en la maquina virtual asignada para el proyecto.
\item Usar Caddy a modo de proxy inversa para tener solo un puerto abierto en el servidor.
\end{itemize}
En referencia a los requisitos del proyecto, se han cumplido la gran mayoría, dejando atrás los de importar datos. Por falta de tiempo se ha abandonó la idea, pero es algo que me hubiese gustado mucho realizar. También hay muchas ideas nuevas que aparecieron durante el desarrollo pero que se alejaban mucho de un alcance realista para entregar en este proyecto. Esas ideas quedan reflejadas en el apartado Trabajo futuro que se expone más adelante
\section{Aportaciones}
\lipsum[12]
Este proyecto me ha servido para aprender mucho el como gestionar un proyecto de desarrollo software, que nunca uno sabe lo que es hasta que se enfrenta a ello.\\
Dado las dificultades en las que se ha desarrollado el proyecto (realizando las practicas empresariales en otro país e idioma) creo que al final el proyecto ha salido bien, pero me hubiese gustado que hubiese sido algo distinto. Pienso que la calidad no es mala, pero que en otras circunstancias hubiese sido bastante mejor.\\
Por otro lado, el proyecto me ha despertado un interés por todo el apartado de despliegue continuo, de los microservicios usando Docker y herramientas para conectar distintos servicios como es Caddy. Cosas que son muy útiles pero son bastante desconocidas desde afuera.\\
Estoy bastante orgulloso de lo construido y de lo más importante, haber aprendido durante el trayecto, cosas personales, cosas del mundo de la informática y cosas sobre el mundo de los investigadores científicos.
\section{Trabajo futuro}
El proyecto presentado en este documento puede extenderse de múltiples formas.