Contiene información relacionada con una sucursal u oficina perteneciente a una empresa. En principio, una compañía no tendría por qué tener oficinas o sucursales de ahí que pueda haber entre 0 e infinitas sucursales u oficinas por compañía.
\begin{itemize}
- \item \textbf{office\_gps}: es un dato de tipo \emph{geography(POINT,4326)} Más adelante, en el capítulo de implementación se explicará más acerca de este tipo especial de dato de PostGIS.
+ \item \textbf{office\_gps}: es un dato de tipo \emph{geography(POINT,4326)} Más adelante, en el capítulo de implementación se explicará más acerca de este tipo particular de dato PostGIS.
\item \textbf{fk\_CityId}: una oficina puede encontrarse o no en una determinada ciudad. A través de este campo se permite relacionar oficinas o sucursales con ciudades, regiones y por último países.
\item \textbf{fk\_CompanyId}: marca la relación entre la oficina o sucursal y la compañía. Puede haber compañías sin sucursales pero nunca una oficina o sucursal sin compañía asociada.
\end{itemize}
\begin{itemize}
\item \textbf{fk\_LanguageId}: relación entre esta tabla y la de idiomas (tabla ``Language'')
\item \textbf{fk\_AdId}: un anuncio puede tener n descripciones en n diferentes idiomas.
- \item \textbf{ad\_gps}: es un dato de tipo \emph{geography(POINT,4326)} especial de PostGIS, del cual se hablará en el capítulo donde se explica la implementación de la aplicación.
+ \item \textbf{ad\_gps}: es un dato de tipo \emph{geography(POINT,4326)} utilizado por PostGIS, del cual se hablará en el capítulo donde se explica la implementación de la aplicación.
\end{itemize}
\subsubsection{Tabla CompanyCategory}
-Permite a los usuarios que administran compañías en el sistema crear nuevas categorías. Al mismo tiempo, los anuncios que estos usuarios administradores de compañías crean, pueden ser asociados con estas categorías de compañía que se encuentran en esta tabla. Se utiliza una estructura especial del ORM Doctrine proporcionado por Symfony conocida como \emph{Nested Set}\footnote{\url{http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/manual/hierarchical-data.html\#nested-set}}
+Permite a los usuarios que administran compañías en el sistema crear nuevas categorías. Al mismo tiempo, los anuncios que estos usuarios administradores de compañías crean, pueden ser asociados con estas categorías de compañía que se encuentran en esta tabla. Se utiliza una estructura jerárquica del ORM Doctrine proporcionado por Symfony conocida como \emph{Nested Set}\footnote{\url{http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/manual/hierarchical-data.html\#nested-set}}
\begin{itemize}
\item \textbf{fk\_GeneralCategId}: los usuarios finales, aquellos que recibirán los anuncios en sus dispositivos móviles se asocian a categorías generales que existen previamente en el sistema. El usuario que administra su empresa en el sistema debe asociar su categorías propias a las categorías generales del sistema para que los usuarios móviles puedan recibir anuncios. A través de esta \emph{foreign key} se establece dicha asociación en la capa de persistencia de la aplicación web.
\subsection{Base de datos aplicación Android, modelado UML}
-En la Figura~\ref{fig:MobiAdsAndroidDataBase}) los campos representan la siguiente información:
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=0.8\textwidth]{fig/MobiAdsAndroidDataBase}
+ \caption{\emph{Diagrama de la base de datos, aplicación Android}}
+ \label{fig:MobiAdsAndroidDataBase}
+\end{figure}
+
+En la Figura~\ref{fig:MobiAdsAndroidDataBase}) donde se representa la única tabla de la que está compuesta la base de datos de la aplicación Android, los campos representan la siguiente información:
\begin{itemize}
\item \textbf{id}: índice en la tabla. Autoincremental y único por cada fila.
\item \textbf{path}: lugar en el sistema de archivos del dispositivo móvil donde la imagen que representa el anuncio es almacenada.
\end{itemize}
+\section{Diagrama de clases aplicación Android}
+
\begin{figure}[H]
\centering
- \includegraphics[width=0.8\textwidth]{fig/MobiAdsAndroidDataBase}
- \caption{\emph{Diagrama de la base de datos, aplicación Android}}
- \label{fig:MobiAdsAndroidDataBase}
+ \includegraphics[width=1\textwidth]{fig/MobiAdsDomainObjects}
+ \caption{\emph{Diagrama de clases Android: MobiAdsDomainObjects.}}
+ \label{fig:MobiAdsDomainObjects}
\end{figure}
-\section{Diagrama de clases aplicación Android}
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=1\textwidth]{fig/MobiAdsService}
+ \caption{\emph{Diagrama de clases Android: MobiAdsService.}}
+ \label{fig:MobiAdsService}
+\end{figure}
+
+\begin{figure}[H]
+ \centering
+ \includegraphics[width=1\textwidth]{fig/MobiAdsBatch}
+ \caption{\emph{Diagrama de clases Android: MobiAdsBatch.}}
+ \label{fig:MobiAdsBatch}
+\end{figure}
+
+