Latest changes: budget, cover (year) and abstract
[PFCLatex/.git] / capitulo4 / capitulo4.tex
index d3e6a30..0067b18 100644 (file)
@@ -1,10 +1,41 @@
-\chapter{Análisis, diseño e implementación de las aplicaciones}
+\chapter{Análisis de las aplicaciones Web y Android}
 
-\section{Análisis}
+A lo largo de este capítulo se intentará explicar de forma detallada todos los requisitos y los casos de uso de las dos aplicaciones de las que se compone este proyecto fin de carrera: la aplicación web y la aplicación basada en Android. Pero antes de seguir adelante pasaremos a describir el sistema que se desea implementar.
 
-A lo largo de esta primera sección se intentará explicar de forma detallada todos los requisitos y los casos de uso de las dos aplicaciones de las que se compone este proyecto fin de carrera: la aplicación web y la aplicación basada en Android.
+\section{Descripción del sistema}
 
-\subsection{Análisis de requisitos}
+Como fue explicado previamente en el capítulo de introducción, el sistema a desarrollar consta de dos aplicaciones:
+
+\begin{enumerate}
+    \item Aplicación Web: que permite a usuarios con privilegios suficientes (los llamaremos ``usuarios empresa'') crear y administrar sus anuncios, localizarlos geográficamente, asociarlos a una determinada categoría, etc. Por otro lado, a esta misma aplicación Web accederán usuarios con menos permisos (los llamaremos ``usuarios normales'') y que únicamente pueden asociarse a categorías existentes en el sistema y no pueden crear ni editar anuncios creados previamente por un ``usuario empresa''.
+    \item Aplicación Android: usada por aquellos ``usuarios normales'' que se asociaron previamente a categorías a través de la aplicación Web citada previamente. Esta aplicación permitirá la recepción de anuncios relacionados con las categorías que el usuario eligió vía interfaz Web y que se encuentran geográficamente en la posición actual del mismo usuario. Para lograrlo, la aplicación Android deberá comunicar su posición actual a la aplicación Web y en función de dicha posición la aplicación Web responderá o no con unos determinados resultados (un listado de anuncios)
+\end{enumerate}
+
+Desde la aplicación Web podrán llevarse a cabo las siguientes tareas:
+
+\begin{itemize}
+    \item Registro automático de nuevos usuarios vía Web.
+    \item Un usuario con el rol ``usuario empresa'' puede editar sus propios datos así como los datos de la empresa que gestiona o administra en el sistema Web.
+    \item El ``usuario empresa'' podrá crear nuevas sucursales u oficinas pertenecientes a la empresa que él o ella administran en el sistema. Se debe por tanto facilitar la edición y creación de nuevas sucursales/oficinas así como el listado de las que actualmente existan en el sistema y pertenezcan a un determinado usuario.
+    \item Las oficinas/sucursales pueden tener anuncios asociados, es decir, si en una oficina o sucursal se vende un determinado producto y existe un anuncio en el sistema para ese producto, el ``usuario empresa'' si lo desea puede asociar dicho anuncio con la oficina/sucursal y así con tantos anuncios y sucursales como se quiera. La única restricción es que tanto las sucursales como los anuncios deben pertenecer al ``usuario empresa'' que los está administrando.
+    \item Las oficinas/sucursales pueden encontrarse localizadas geográficamente (si el ``usuario empresa'' lo desea), por tanto es necesario añadir una funcionalidad al interfaz de administración Web que permita introducir como dato las coordenadas GPS para una oficina o sucursal.
+    \item Existirá un listado con todos los anuncios que un determinado ``usuario empresa'' ha creado y gestiona. Desde este listado, como ocurría con el interfaz para oficinas/sucursales se deberá poder editar, borrar y crear nuevos anuncios. Es importante recalcar que todo anuncio puede tener una posición geográfica asociada a él (como ocurría con las oficinas/sucursales) También los anuncios pueden ser asociados con categorías previamente creadas por el mismo ``usuario empresa''. De forma obligatoria, un anuncio deberá tener una imagen asociada con él; esta imagen se usará posteriormente en la aplicación Android y por tanto desde la aplicación Web se restringirá el tamaño máximo de las imágenes relacionadas con los anuncios que el ``usuario normal'' finalmente recibirá.
+    \item Se deber permitir introducir la información relacionada con anuncio en diferentes idiomas, de esta forma el mismo anuncio puede ser visto por público que entiende diferentes lenguajes.
+    \item Por último el ``usuario empresa'' deberá poder editar o introducir nuevas categorías propias que se ordenarán jerárquicamente según los gustos del ``usuario empresa''. Estas categorías se asocian con categorías genéricas que existen previamente en el sistema y que todos los ``usuario empresa'' y ``usuarios normales'' pueden ver. El interfaz Web proporcionará (al igual que se hizo con los anuncios y las oficinas/sucursales) un listado jerárquico (la jerarquía es creada por el ``usuario empresa'') con todas las categorías que pertenecen a un determinado ``usuario empresa''.
+    \item Los ``usuarios normales'' únicamente podrán editar sus datos y asociarse a categorías genéricas. De este modo, cuando el usuario envíe su posición geográfica actual desde su dispositivo móvil, recibirá anuncios relacionados con esas categorías de interés para él o ella. Se proporcionará un interfaz que liste jerárquicamente las categorías genéricas que existan por defecto en el sistema. Se puede ver por tanto que aunque para el ``usuario empresa'' era opcional tanto asociar un anuncio con una categoría propia como asociar esta categoría propia con una categoría genérica del sistema; si no lleva a cabo estas asociaciones, el usuario con el rol ``normal'' nunca podrá recibir los anuncios creados por ese ``usuario empresa''.
+\end{itemize}
+
+La aplicación Android tendrá las siguientes funcionalidades:
+
+\begin{itemize}
+    \item Deberá permitir que el ``usuario normal'' haga ``log in'' en la aplicación Web a través del interfaz Andorid. Para ello pueden usarse por ejemplo servicios Web. Es necesarios que el usuario haga previamente ``log in'' en el servidor remoto para poder recibir nuevos anuncios desde este servidor basados en su posición geográfica.
+    \item Se facilitará al usuario un listado con los anuncios descargados previamente y que se encuentran almacenados en la memoria permanente del dispositivo móvil. Desde este listado el usuario puede leer los anuncios descargados y borrarlos si lo desea.
+    \item Existirá un menú de \emph{settings}, donde el usuario podrá seleccionar diferentes opciones relacionadas con la aplicación Android (tasa de actualización de la posición geográfica actual, consumo de batería, activación desactivación de la recepción de nuevos anuncios, etc)
+    \item La aplicación deberá recibir los anuncios en segundo plano, de tal forma que incluso cuando el usuario ha salido de la aplicación la recepción de anuncios continuará activa mientras el usuario lo quiera (se activa y desactiva mediante el menú \emph{settings} descrito en el punto anterior)
+    \item Notificación de la recepción de nuevos anuncios en la barra de tareas de Android. Al pulsar sobre la notificación el usuario podrá (si lo desea) abrir una ventana emergente o \emph{pop up} que le permitirá ver los nuevos anuncios recibidos así como borrarlos si lo desea.
+\end{itemize}
+
+\section{Análisis de requisitos}
 
 Todo desarrollo software comienza con la toma de requisitos y el análisis de la aplicación por parte de los \emph{analistas de software}. A lo largo del desarrollo, la especificación de los requisitos suele variar bien porque el usuario o cliente final cambia de idea o bien por motivos técnicos relacionados con la implementación de la funcionalidad inicialmente solicitada.
 
@@ -176,6 +207,8 @@ Identificaremos tres tipos de requisitos:
     \label{tab:requisitoSW7}
 \end{table}
 
+\captionsetup[table]{list=no}
+
 \begin{table}[H]
 \centering
 \scriptsize
@@ -667,6 +700,8 @@ Identificaremos tres tipos de requisitos:
     \label{tab:requisitoSA7}
 \end{table}
 
+\captionsetup[table]{list=yes}
+
 \begin{table}[H]
 \centering
 \scriptsize
@@ -688,9 +723,18 @@ Identificaremos tres tipos de requisitos:
 \end{table}
 
 
-\subsection{Modelando los requisitos, diagrama de casos de uso}
+\section{Modelando los requisitos, casos de uso}
+
+Los casos de uso son técnicas para la captura de los requerimientos funcionales de un sistema. Los casos de uso describen las interacciones típicas entre los usuarios de un sistema y el sistema en sí mismo, proporcionando una descripción narrativa de cómo un sistema es usado. En lugar de empezar describiendo casos de uso, en muchas ocasiones es mucho más fácil describir escenarios. Un \textbf{escenario} es una secuencia de pasos describiendo una interacción entre un usuario y un sistema. Un caso de uso puede ser descrito como un conjunto de escenarios unidos por una meta de usuario común; por ejemplo, comprar un producto. La meta por tanto es la clave de los casos de uso~\cite{C4:UMLDistilled}.
+
+En la terminología del lenguaje de modelado UML los usuarios son llamados actores. Un \textbf{actor} es un rol que un usuario juega dentro de un sistema. Los actores pueden ser clientes, gestores de ventas, analistas, directores de marketing, etc. Un único actor puede realizar muchos casos de uso; de igual forma, un caso de uso puede tener varios actores asociados~\cite{C4:UMLDistilled}.
+
+En realidad el término \emph{actor} no es el adecuado, rol define mejor lo que un actor en terminología UML representa.
+
+\subsection{Diagrama de casos de uso aplicación Web}
+
+En la Figura~\ref{fig:MobiAdsUseCaseWeb}) se representa el diagrama de casos de uso de la aplicación Web desarrollada. Ha sido descrito con el estándar UML 2.0.
 
-En la Figura~\ref{fig:MobiAdsUseCaseWeb}) se puede observar el diagrama de casos de uso de la aplicación Web desarrollada.
 \begin{figure}[H]
     \centering
         \includegraphics[width=\textwidth]{fig/MobiAdsUseCaseWeb}
@@ -704,31 +748,781 @@ Por otra parte, se muestra la existencia de usuarios sin registrar y de usuarios
 
 Los usuarios de tipo empresa son los encargados de introducir los datos en el sistema, siendo estos datos los anuncios que posteriormente recibirán los usuarios en sus teléfonos móviles.
 
-A continuación se describirán textualmente cada uno de los casos de uso indicados en la Figura~\ref{fig:MobiAdsUseCaseWeb}) Para ello, se ha creado un formato de tabla común para todos los casos, con los campos recomendados por el lenguaje de modelado gráfico UML (Unified Modeling Language) y algunos más que si bien no están completamente estandarizados por el lenguaje UML sí se recomienda hacer uso de ellos~\cite{C4:UMLDistilled}.
+\subsection{Descripción textual de los casos de uso de la aplicación Web}
+
+No existe un estándar para la escritura de los casos de uso de las aplicaciones, y diferentes formatos funcionan bien en diferentes casos~\cite{C4:UMLDistilled}. Para este proyecto se ha creado un formato de tabla común para todos los casos de uso indicados en la Figura~\ref{fig:MobiAdsUseCaseWeb}), con los campos recomendados por el lenguaje de modelado gráfico UML en su versión 2.0 (Unified Modeling Language 2.0) y algunos más que si bien no están completamente estandarizados por el lenguaje UML sí se recomienda hacer uso de ellos~\cite{C4:UMLDistilled}. 
+
+Con el objetivo de no sobrecargar la memoria del proyecto con datos irrelevantes, en esta sección no se describirán todos los casos de uso, si no simplemente aquellos que se consideren más importantes y que mejoren la compresión global de la aplicación Web.
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Listar Anuncios}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-01}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Generar un listado con todos los anuncios pertenecientes a un usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{El usuario visualizará los anuncios asignados a su empresa. Desde este listado se podrá editar, añadir o borrar anuncios.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item En la aplicación el usuario selecciona Listar Anuncios.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 1.}}
+    \label{tab:casodeusoW1}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Ver Detalles Anuncio}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-02}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Mostrar los datos relacionados con un anuncio.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Haber hecho login en el sistema y haber obtenido el listado de anuncios.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{El sistema mostrará los detalles del anuncio y permitirá su edición.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item En la aplicación el usuario obtiene un listado de todos los anuncios. CUW-01.
+                \item Desde el listado de los anuncios el usuario puede seleccionar la opción de ver los detalles de un anuncio en concreto.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 2.}}
+    \label{tab:casodeusoW2}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Crear Anuncio}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-03}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Formulario para la creación de nuevos anuncios.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Debe haberse hecho login en la aplicación.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Una vez creado y grabado el anuncio la aplicación permitirá al usuario volver a editar sus datos (le lleva a la ventana de edición del anuncio que acaba de ser creado).} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item En la aplicación el usuario puede elegir crear un nuevo anuncio desde un botón presente en el sistema.
+                \item El usuario introduce los datos del anuncio: posición geográfica, textos, identificador, etc.
+                \item La aplicación permite que el usuario guarde los datos y una vez grabados le dirige a otra ventana donde puede volver a editarlos si lo desea.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 3.}}
+    \label{tab:casodeusoW3}
+\end{table}
+
+\captionsetup[table]{list=no}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Borrar Anuncio}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-04}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Icono o botón que permite borrar un anuncio de los listados por la aplicación.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login previo en el sistema y encontrarse en la ventana donde la aplicación lista los anuncios.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se actualiza automáticamente la ventana que lista los anuncios.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario se encuentra en la ventana que muestra los anuncios en forma de lista.
+                \item Existe un icono o botón que permite borrar un anuncio en concreto.
+                \item El sistema pregunta al usuario si realmente desea borrar el anuncio.
+                \item Si el usuario acepta el anuncio es finalmente borrado, en caso contrario no se hace nada.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 4.}}
+    \label{tab:casodeusoW4}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Editar Datos Anuncio}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-05}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Icono o botón que permite borrar un anuncio de los listados por la aplicación.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login previo en el sistema y encontrarse en la ventana donde la aplicación lista los anuncios.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se permite la grabación de los nuevos datos y si lo desea el usuario puede volver a modificarlos pues el sistema no saca al usuario de la ventana de edición.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario se encuentra en la ventana que muestra los anuncios en forma de lista.
+                \item Existe un icono o botón que permite editar un anuncio en concreto.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 5.}}
+    \label{tab:casodeusoW5}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Listar Sucursales}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-06}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Generar un listado con todas las oficinas o sucursales que ha creado o que pertenecen a un determinado usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login en la aplicación Web.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{El usuario obtiene una lista con todas las sucursales u oficinas que su empresa tiene en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item En la aplicación Web el usuario puede seleccionar la opción de Listar Sucursales.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 6.}}
+    \label{tab:casodeusoW6}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Asociar Sucursal con Anuncios}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-07}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Se debe poder asignar a una determinada oficina o sucursal anuncios relacionados con productos que dichas oficinas o sucursales de una determinada empresa ofrecen.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{El usuario debe haber hecho previamente login en la aplicación web y deben existir anuncios que pertenecen a la empresa que administra el usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{La aplicación debe permitir asociar o desasociar tantos anuncios como el usuario quiera.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario se encuentra en la ventana donde se listan las sucursales que su empresa tiene en el sistema.
+                \item Existe un botón o icono que permite selección una sucursal u oficina del listado.
+                \item El anterior botón o icono lleva al usuario a una nueva ventana donde se pueden asociar anuncios con la oficina seleccionada.
+                \item Se sale de esta ventana cuando el usuario pulsa en algún botón que le lleve a otro lugar del sistema.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 7.}}
+    \label{tab:casodeusoW7}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Ver Detalles Sucursal}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-08}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Botón o icono en el listado de las sucursales que permite ver los datos asignados a una oficina o sucursal en particular.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{El usuario debe haber hecho login previamente en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{La aplicación debe permitir la posterior edición de los datos.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item Desde el listado de las sucursales el usuario puede seleccionar una en particular.
+                \item Se mostrará una nueva ventana de la aplicación que permite ver los datos de la oficina o sucursal.
+                \item En esta ventana, si el usuario lo desea, podrá accederse a la edición de los datos mostrados.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 8.}}
+    \label{tab:casodeusoW8}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Añadir Sucursal}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-09}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{El sistema debe permitir añadir nuevas sucursales u oficinas.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Se debe haber hecho login en la aplicación web.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Después de añadir una sucursal el usuario debe poder tener la opción de editar los datos que acaban de ser grabados en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item Login en el sistema Web.
+                \item Desde cualquier punto de la aplicación debe poderse añadir una nueva sucursal.
+                \item Tras añadir la nueva sucursal u oficina el usuario debe poder editar los datos que acaban de ser grabados.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 9.}}
+    \label{tab:casodeusoW9}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Borrar Sucursal}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-10}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Icono o botón que permita borrar una sucursal listada por el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login en la aplicación y que existan sucursales pertenecientes a la empresa que administra el usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se actualizará el listado de las oficinas o sucursales en la ventana sobre la que se encuentra el usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario se encuentra en la ventana donde se listan todas las oficinas o sucursales pertenecientes a la empresa que administra.
+                \item Existe un botón o icono por cada sucursal u oficina que permite su borrado del sistema.
+                \item La aplicación Web avisa al usuario acerca del borrado de los datos y se permite que éste finalmente elija si borrarlos o no.
+                \item El listado se actualiza sin la sucursal u oficina borrada.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 10.}}
+    \label{tab:casodeusoW10}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Editar Datos Sucursal}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-11}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Icono que permite editar una sucursal listada por el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login en la aplicación y encontrarse en la ventana que lista las sucursales que pertenecen a una empresa.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{El usuario permanece en la ventana de edición incluso después de grabar los nuevos datos.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario se encuentra en la ventana que lista todas las oficinas o sucursales.
+                \item Existe un icono o botón por cada oficina o sucursal que lleva al usuario a la ventana de edición.
+                \item Incluso después de grabar los datos el usuario permanece en la ventana de edición hasta que navega hacia otra ubicación del sistema.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 11.}}
+    \label{tab:casodeusoW11}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Listar Categorías Empresa}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-12}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Ventana que presente un listado con todas las categorías que una empresa tiene.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login previo en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Desde este listado se podrá añadir, editar o borrar categorías seleccionadas.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario navega hasta el listado de categorías de empresa.
+                \item La lista se presenta de un modo jerárquico.
+                \item Por cada categoría debe existir la posibilidad de editar sus datos o borrarla.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 12.}}
+    \label{tab:casodeusoW12}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Ver Detalles Categoría}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-13}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Icono o botón por cada categoría listada en la ventana definida en el CUW-12.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login en el sistema y una categoría de empresa válida.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se muestran los detalles de la categoría y se permite su edición.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario se encuentra en la ventana sobre la cual se listas las categorías de la empresa que administra en el sistema.
+                \item Debe permitirse por cada categoría el visionado de sus datos.
+                \item Desde la ventana que muestra los datos de una categoría se debe poder editar y grabar dichos datos.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 13.}}
+    \label{tab:casodeusoW13}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Crear Categoría}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-14}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{La aplicación debe permitir el añadir nuevas categorías de empresa.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Debe haberse hecho login previamente.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Tras la creación de la categoría el usuario debe poder editar los datos recién guardados.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario ha hecho login en la aplicación.
+                \item Desde cualquier punto del sistema el usuario si lo desea debe poder añadir una nueva categoría de empresa.
+                \item Tras grabar los datos en el sistema el usuario debe poder editarlos si lo desea.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 14.}}
+    \label{tab:casodeusoW14}
+\end{table}
 
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Borrar Categoría}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-15}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Eliminación de una categoría de empresa del sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Debe haber categorías de empresa creadas previamente por el usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se actualiza el listado jerárquico con las categorías de empresas que todavía permanezcan en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item Desde la ventana que lista las categorías de un modo jerárquico.
+                \item Por cada categoría debe existir un botón o icono que permita el borrado de dicha categoría.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 15.}}
+    \label{tab:casodeusoW15}
+\end{table}
 
-\subsection{Descripción de los casos de uso}
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Ver Datos Usuario Empresa}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-16}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Mostrar los datos del usuario empresarial registrado.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se debe permitir la modificación de los datos mostrados.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item Desde cualquier lugar de la aplicación el usuario debe poder ver sus datos personales asociados con su cuenta.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 16.}}
+    \label{tab:casodeusoW16}
+\end{table}
 
 \begin{table}[H]
 \centering
 \scriptsize
-    \begin{tabularx}{\textwidth}{|X|X|}
+    \begin{tabularx}{\textwidth}{|l|X|}
         \hline
-        \normalsize\textbf{Nombre} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Editar Datos Usuario Empresa}} \\
         \hline
-        \normalsize\textbf{Requisito} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-17}} \\
         \hline
-        \normalsize\textbf{Actores} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Los usuarios registrados deben poder editar los datos asociados con su cuenta.} \\
         \hline
-        \normalsize\textbf{Objetivo} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario empresarial} \\
         \hline
-        \normalsize\textbf{Precondiciones} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Login previo en el sistema.} \\
         \hline
-        \normalsize\textbf{Postcondiciones} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Una vez guardados los nuevos datos, el usuario puede volver a modificarlos si lo desea tantas veces como quiera.} \\
         \hline
-        \normalsize\textbf{Escenario de éxito principal} & \\
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario navega a la ventana en la cual se muestran sus datos personales.
+                \item Debe existir un botón que le permita editar dichos datos.
+                \item Se muestra un formulario que el usuario puede rellenar con nuevos datos.
+                \item Después de grabar los datos el usuario permanece en la ventana de edición hasta que navega a otra zona de la aplicación.
+            \end{enumerate}
+        } \\
         \hline
     \end{tabularx}
-    \caption{\emph{Tabla de casos de uso 1.}}
-    \label{tab:tabladecasosdeuso1}
+    \caption{\emph{Tabla de caso de uso Web 17.}}
+    \label{tab:casodeusoW17}
 \end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Listar y seleccionar preferencias}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-18}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Los usuarios no empresariales deben seleccionar categorías de las cuales desean recibir notificaciones.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{El usuario debe haber hecho previamente login en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se actualiza la ventana indicando a qué categorías el usuario se encuentra registrado.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario tras hacer login en el sistema navega a la ventana en la cual puede registrarse a categorías para recibir notificaciones sobre ellas.
+                \item Las categorías se presentan en formato jerárquico.
+                \item Se permite la selección de tantas categorías como haya en el sistema.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 18.}}
+    \label{tab:casodeusoW}
+\end{table}
+
+\captionsetup[table]{list=yes}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Registrar}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUW-19}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Nuevos usuarios pueden registrarse automáticamente en el sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{El usuario no existe o no hay un usuario igual previamente registrado.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se generan automáticamente las estructuras necesarias en la base de datos del sistema.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario nuevo desea crear una cuenta en el sistema.
+                \item La ventana de registro permite la introducción de los datos necesarios para el correcto uso de la aplicación por parte del usuario.
+                \item Se hará uso de los elementos de seguridad que se consideren necesarios.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Web 19.}}
+    \label{tab:casodeusoW}
+\end{table}
+
+\subsection{Diagrama de casos de uso aplicación Android}
+
+
+En esta sección se encuentra el diagrama de casos de uso de la aplicación Android desarrollada. En la Figura~\ref{fig:MobiAdsUseCaseAndroid}) el lector puede ver el diagrama descrito con el estándar UML 2.0 al igual que se hizo con la aplicación Web.
+
+\begin{figure}[H]
+    \centering
+        \includegraphics[width=\textwidth]{fig/MobiAdsUseCaseAndroid}
+    \caption{\emph{Diagrama de casos de uso de la aplicación Android}}
+    \label{fig:MobiAdsUseCaseAndroid}
+\end{figure}
+
+La aplicación requiere de un usuario y permite que éste pueda listar los anuncios descargados desde el servidor Web. Los anuncios se guardan de forma permanente y únicamente son borrados en caso de que el usuario así lo quiera. También se puede ver que el sistema ofrece al usuario la posibilidad de configurar diferentes parámetros de la aplicación así como habilitar o deshabilitar la recepción de nuevas notificaciones o anuncios. 
+
+Por último indicar, que el usuario necesita hacer login para poder recibir nuevas actualizaciones pero para todo lo de más (gestionar sus anuncios recibidos, leer los anuncios descargados, configurar la aplicación, etc) no requiere de autenticación. El \emph{Login} se realiza contra un servidor remoto y por tanto requerirá de conexión a Internet.
+
+
+\subsection{Descripción textual de los casos de uso de la aplicación Android}
+
+Se hará uso del mismo formato de tabla para la descripción textual de los casos de uso que el empleado para la aplicación Web. Se recuerda al lector que el lenguaje UML recomienda que se usen determinados campos para la descripción textual de los casos de uso, pero en general se deja en manos de los analistas de software añadir o eliminar campos en las descripciones, según éstos crean más o menos conveniente.
+
+También, del mismo modo que para la aplicación Web, tampoco se describirán todos los casos de uso si no simplemente aquellos que sirvan para que el lector pueda obtener una idea clara del funcionamiento de la aplicación Android.
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Listar Anuncios Descargados}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUA-01}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Presentar un listado con todos los anuncios descargados mostrando los campos que permitan la correcta identificación de cada uno de ellos.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Iniciar aplicación.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se debe poder seleccionar y borrar los anuncios que ya no sean de interés para el usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario inicia la aplicación.
+                \item Se presenta un listado con todos los anuncios descargados.
+                \item Debe permitirse la selección y borrado de anuncios.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Android 1.}}
+    \label{tab:casodeusoA1}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Configurar Aplicación}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUA-2}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Mostrar una ventana que permita configurar diversos parámetros de la aplicación.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{Ejecutar la aplicación.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{El comportamiento de la aplicación se modificará en base a la configuración introducida por el usuario.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario lanza la aplicación.
+                \item Se elige el icono de la aplicación que permite el acceso a la ventana de configuración.
+                \item Si el usuario todavía no ha hecho login no puede lanzar el servicio desatendido de descarga de anuncios en segundo plano.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Android 2.}}
+    \label{tab:casodeusoA2}
+\end{table}
+
+\begin{table}[H]
+\centering
+\scriptsize
+    \begin{tabularx}{\textwidth}{|l|X|}
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Nombre}} & \multicolumn{1}{c|}{\normalsize{Listar Últimos Anuncios Recibidos}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Identificador}} & \multicolumn{1}{c|}{\normalsize{CUA-03}} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Objetivo}} & \normalsize{Durante la recepción de notificaciones y anuncios, incluso si la aplicación se encuentra en background, el usuario debe ser capaz de ver los últimos anuncios descargados en su dispositivo móvil.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Actores}} & \normalsize{Usuario} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Precondiciones}} & \normalsize{El usuario tiene que hacer login y debe lanzar el servicio que descarga anuncios de forma desatendida.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Postcondiciones}} & \normalsize{Se muestra una ventana emergente que permite la selección y borrado de los últimos anuncios descargados.} \\
+        \hline
+        \multicolumn{1}{|c|}{\cellcolor[gray]{0.8}\normalsize\textbf{Escenario de éxito}} & 
+        \normalsize{
+            \begin{enumerate}
+                \setlength{\itemsep}{0pt}
+                \setlength{\parskip}{0pt}
+                \setlength{\parsep}{0pt}
+                \item El usuario ha hecho login y ha lanzado el servicio en segundo plano que se encarga de descargar anuncios y notificaciones de la Web.
+                \item Al recibir nuevos anuncios se muestra un notificación en la barra de tareas del sistema Android.
+                \item Cuando se pulsa sobre el icono de la notificación, automáticamente se abre una ventana emergente que permite la administración y visionado de los últimos anuncios recibidos que no han sido todavía leídos.
+                \item Desde la ventana emergente también es posible seleccionar y borrar los últimos anuncios descargados.
+            \end{enumerate}
+        } \\
+        \hline
+    \end{tabularx}
+    \caption{\emph{Tabla de caso de uso Android 3.}}
+    \label{tab:casodeusoA3}
+\end{table}
+
+