diff --git a/.github/workflows/latex.yml b/.github/workflows/latex.yml index 14d5634..3d57ffc 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/latex.yml @@ -17,13 +17,13 @@ jobs: with: working_directory: doc root_file: proyecto.tex - + - name: Subir informe de TeXtidote uses: actions/upload-artifact@v4 with: name: textidote_report path: doc/report.html - + - name: Lanzar error si existen advertencias de TeXtidote if: ${{ steps.textidote.outputs.num_warnings != 0 }} run: 'echo "::error file=main.tex::num_warnings: ${{ steps.textidote.outputs.num_warnings }}"; exit 1;' diff --git a/doc/.textidote b/doc/.textidote index 5181b0c..22157d9 100644 --- a/doc/.textidote +++ b/doc/.textidote @@ -1,6 +1,6 @@ --output html --check es --dict ./diccionario/diccionario.es.txt ---ignore sh:seclen,sh:stacked,sh:nonp,sh:nobreak,sh:nsubdiv,sh:figref,lt:es:SPANISH_WORD_REPEAT_BEGINNING_RULE +--ignore sh:seclen,sh:stacked,sh:nonp,sh:nobreak,sh:nsubdiv,sh:figref,lt:es:SPANISH_WORD_REPEAT_BEGINNING_RULE,sh:d:002 --remove titlepage,titlepage,centering,textwidth,cleardoublepage,centeroffset,oddsidemargin,evensidemargin,large ---remove-macros cleardoublepage,bfseries,today,tableofcontents,listoffigures,listoftables \ No newline at end of file +--remove-macros cleardoublepage,bfseries,today,tableofcontents,listoffigures,listoftables,esp \ No newline at end of file diff --git a/doc/bibliografia.bib b/doc/bibliografia.bib index 7e4b8fe..2733802 100644 --- a/doc/bibliografia.bib +++ b/doc/bibliografia.bib @@ -24,4 +24,12 @@ @book{cohn2004user url={https://books.google.es/books?id=SvIwuX4SVigC}, year={2004}, publisher={Addison-Wesley} +} + +@article{berlas2024software, + title={Software Metrics in Agile Software Development: A Review Report}, + author={Berlas, Muhammad Faizan}, + journal={Authorea Preprints}, + year={2024}, + publisher={Authorea} } \ No newline at end of file diff --git a/doc/diccionario/diccionario.es.txt b/doc/diccionario/diccionario.es.txt index 2847e47..2b013dd 100644 --- a/doc/diccionario/diccionario.es.txt +++ b/doc/diccionario/diccionario.es.txt @@ -68,4 +68,4 @@ ChkTeX workflow n git -esp \ No newline at end of file +esp diff --git a/doc/figuras/github_issues.png b/doc/figuras/github_issues.png new file mode 100644 index 0000000..fc25203 Binary files /dev/null and b/doc/figuras/github_issues.png differ diff --git a/doc/figuras/listado_issues_cerradas.png b/doc/figuras/listado_issues_cerradas.png new file mode 100644 index 0000000..770c4fb Binary files /dev/null and b/doc/figuras/listado_issues_cerradas.png differ diff --git a/doc/proyecto.tex b/doc/proyecto.tex index 00d7f1b..2140000 100644 --- a/doc/proyecto.tex +++ b/doc/proyecto.tex @@ -129,4 +129,3 @@ \bibliographystyle{plain} \end{document} - diff --git a/doc/secciones/01_intro.tex b/doc/secciones/01_intro.tex index 558d006..3b2f2de 100644 --- a/doc/secciones/01_intro.tex +++ b/doc/secciones/01_intro.tex @@ -50,6 +50,7 @@ \subsection{Usuarios identificados} El departamento de marketing de `Corporate Solutions` le ha expresado al CTO en la empresa, la necesidad de un sistema centralizado para agilizar el proceso de generación y gestión de memes. La adopción de una solución de este tipo permitiría a los miembros del equipo de marketing colaborar de manera más eficiente y efectiva, así como garantizar la coherencia y calidad del contenido generado. \section{Historias de usuario} +\label{sec:historias-de-usuario} En desarrollo ágil, el proceso de toma de decisiones se basa en la información disponible en cada momento. En lugar de tomar un conjunto único y exhaustivo de decisiones al inicio de un proyecto, la toma de decisiones se distribuye a lo largo de la duración del mismo adaptándonos al carácter cambiante del desarrollo de software \cite{cohn2004user}. diff --git a/doc/secciones/05_planificacion.tex b/doc/secciones/05_planificacion.tex index 204a804..a49253d 100644 --- a/doc/secciones/05_planificacion.tex +++ b/doc/secciones/05_planificacion.tex @@ -1,8 +1,47 @@ \chapter{Planificación} -\section{Metodología utilizada} +La planificación del proyecto es una etapa crucial que determina cómo se llevará a cabo el desarrollo del mismo, asegurando que los recursos se utilicen de manera eficiente y que se cumplan los plazos establecidos. En este capítulo, se detallará cómo se ha organizado el proyecto siguiendo los principios ágiles mencionados en el capítulo de metodología. Este capítulo cubre las rúbricas relacionadas con la organización y gestión del tiempo y recursos del proyecto, la estructuración de las tareas y la implementación de herramientas y técnicas para una gestión eficiente. Además, se describirán las estrategias de planificación y el seguimiento del progreso mediante el uso de \textit{issues} y \textit{milestones}. +\section{Organización del proyecto} + +Como se ha mencionado anteriormente, el proyecto se organizará y planificará siguiendo un enfoque ágil. Para garantizar la aplicación coherente de estos principios, la memoria se desarrollará iterativa e incrementalmente, con actualizaciones a medida que avanza el proyecto y se toman decisiones. Esto nos permite evaluar continuamente cómo estamos añadiendo valor al proyecto. + +\subsection{\textit{Issues}} + +A lo largo del proyecto se van a ir encontrando diferentes problemas que se han de resolver. Para llevar un control de los mismos se han ido creando \textit{issues}. Estos no solo son descripciones de los problemas que se quieren resolver, sino que pueden ser una buena medida para saber si se progresa hacia el \textit{milestone} o no. Esta sección cubre la rúbrica de seguimiento y resolución de problemas de manera organizada y documentada. + +\begin{figure}[H] + \caption{Captura de pantalla del listado de \textit{issues} del repositorio del proyecto de \textit{GitHub}.} + \centering + \vspace*{0.5cm} + \includegraphics[scale=0.2]{figuras/github_issues.png} +\end{figure} + +Existe un acceso a la documentación de la metodología seguida que se puede consultar en el siguiente \href{https://github.com/danigonzser/proyecto-tfg/issues?q=is%3Aissue+is%3Aclosed}{enlace}, aquí se encuentra el registro completo de los \textit{issues} cerrados, que ilustran el proceso de resolución de problemas y la evolución del proyecto. A continuación, se muestra un pantallazo de los \textit{issues} cerrados: + +\begin{figure}[H] + \caption{Pantallazo del listado de issues cerradas.} + \centering + \vspace*{0.5cm} + \includegraphics[scale=0.2]{figuras/listado_issues_cerradas.png}\label{fig:figuras/listado_issues_cerradas.png} +\end{figure} \section{Temporización} -\section{Seguimiento del desarrollo} +La gestión de tiempo y recursos en nuestro proyecto se realiza mediante el uso de \textit{milestones} en GitHub, que son el equivalente a los \textit{sprints} en el enfoque ágil. Los \textit{milestones} se han producido a partir de las historias de usuario, asegurando que cada fase del proyecto esté orientada a cumplir con las necesidades y expectativas del usuario final. Un conjunto específico de \textit{issues} puede ser incluido en un \textit{milestone} y, al finalizar el \textit{sprint}, estos \textit{issues} deben estar resueltos. Al concluir el \textit{milestone}, debe resultar en un producto mínimamente viable y en nuestro repositorio vamos a etiquetarlos como nueva versión del proyecto. + +\subsection{Milestones} + +\begin{itemize} + \item \textbf{[M00] \- Estructuración inicial del proyecto} + \begin{itemize} + \item \textit{Descripción}: Este \textit{milestone} abarca la creación de la documentación inicial, la planificación del proyecto y la configuración de las herramientas necesarias. Esta parte de la memoria inicial es esencial para establecer una base sólida para el desarrollo del proyecto, para la entrega continua y la colaboración. + \end{itemize} + + \item \textbf{[M01] \- Modelo del dominio del problema} + \begin{itemize} + \item \textit{Descripción}: Mediante el DDD se va a realizar un análisis del dominio del problema. Permite obtener una comprensión profunda de todo el contexto del negocio y de la estructura del software. + \end{itemize} +\end{itemize} + +A partir de aquí, los \textit{milestones} se irán definiendo y ajustando conforme avance el proyecto, siguiendo los principios del desarrollo ágil que promueven la adaptación continua y la respuesta al cambio. Los \textit{milestones} sucesivos se centrarán en la implementación, cubriendo las rúbricas de seguimiento de hitos y entregables, así como la capacidad de respuesta a nuevos desafíos y requerimientos del proyecto.