Commit 093e0181 authored by Bruno López Trigo's avatar Bruno López Trigo

Memoria do proxecto definitiva :)

parent 6ab4fac5
\relax
\@writefile{toc}{\contentsline {chapter}{Agradecementos}{\gl@roman {3}}}
\@setckpt{capitulos/agradecementos}{
\setcounter{page}{4}
\setcounter{equation}{0}
......
This diff is collapsed.
\pagestyle{plain}
\chapter*{Agradecementos}
Se se quere pór algún agradecemento, este vai aquí.
\addcontentsline{toc}{chapter}{Agradecementos}
\begin{itemize}
\item Grazas a meus pais, por ser o meu soporte principal e por apoiarme sempre nas miñas decisións. Eternamente agradecido, porque sei o esforzo e sacrificios realizados para abrirme un camiño cheo de oportunidades.
\item Grazas a Iria, polo seu cariño e compañía, que fixo máis amena esta etapa da miña vida. E por comprender que, nin todas as páxinas deste documento serían suficientes para agradecerlle todo o que me demostrou neste último ano.
\item Grazas aos meus titores, Jose e Alberto, pola súa dedicación e pola oportunidade que me ofreceron de seguir aprendendo coa realización deste proxecto.
\item Grazas tamén ao soporte dos proxectos TIN2014-56633-C3-1-R e TIN2017-84796-C2-1-R (MINECO e Fondos FEDER).
\end{itemize}
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {3}An\IeC {\'a}lise}{39}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}An\IeC {\'a}lise}{41}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Especificaci\IeC {\'o}n de requisitos}{39}}
\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Plantilla de requisitos de informaci\IeC {\'o}n}}{39}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Requisitos de informaci\IeC {\'o}n}{40}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Requisitos funcionais}{44}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Requisitos non funcionais}{50}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Requisitos de interface gr\IeC {\'a}fica}{52}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Matriz de dependencia de requisitos}{54}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Matriz de dependencia de requisitos.}}{54}}
\newlabel{matrizreqreq}{{3.1}{54}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Casos de uso}{55}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagrama de caso de uso.}}{55}}
\newlabel{casouso}{{3.2}{55}}
\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Plantilla de casos de uso}}{56}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Matriz de requisitos / casos de uso}{70}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Matriz requisitos / casos de uso}}{70}}
\newlabel{matrizrequso}{{3.3}{70}}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Especificaci\IeC {\'o}n de requisitos}{41}}
\@writefile{lot}{\contentsline {table}{\numberline {3.1}{\ignorespaces Modelo de requisitos de informaci\IeC {\'o}n}}{41}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Requisitos de informaci\IeC {\'o}n}{42}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Requisitos funcionais}{46}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Requisitos non funcionais}{52}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Requisitos de interface gr\IeC {\'a}fica}{54}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.5}Matriz de dependencia de requisitos}{56}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Matriz de dependencia de requisitos.}}{57}}
\newlabel{matrizreqreq}{{3.1}{57}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Casos de uso}{57}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Diagrama de caso de uso.}}{58}}
\newlabel{casouso}{{3.2}{58}}
\@writefile{lot}{\contentsline {table}{\numberline {3.2}{\ignorespaces Modelo de casos de uso}}{58}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Matriz de requisitos / casos de uso}{71}}
\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Matriz requisitos / casos de uso}}{71}}
\newlabel{matrizrequso}{{3.3}{71}}
\@setckpt{capitulos/analise}{
\setcounter{page}{71}
\setcounter{page}{72}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{0}
......
This diff is collapsed.
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {A}Manuais t\IeC {\'e}cnicos}{153}}
\@writefile{toc}{\contentsline {chapter}{\numberline {A}Manuais t\IeC {\'e}cnicos}{157}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {A.1}Manual de despregue}{153}}
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.1}Despregue da API REST}{153}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.1}{\ignorespaces URL de documentaci\IeC {\'o}n de Swagger}}{153}}
\newlabel{url}{{A.1}{153}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.2}{\ignorespaces Administraci\IeC {\'o}n de Tomcat}}{154}}
\newlabel{tomcat}{{A.2}{154}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.3}{\ignorespaces Documentaci\IeC {\'o}n de Swagger da API}}{155}}
\newlabel{apidoc}{{A.3}{155}}
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.2}Despregue do Demostrador Web}{155}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.4}{\ignorespaces Configuraci\IeC {\'o}n do Demostrador Web}}{155}}
\newlabel{config}{{A.4}{155}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.5}{\ignorespaces Pantalla de inicio de ExpliClas}}{156}}
\newlabel{expliclas-home}{{A.5}{156}}
\@writefile{toc}{\contentsline {section}{\numberline {A.1}Manual de despregue}{157}}
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.1}Despregue da API REST}{157}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.1}{\ignorespaces URL de documentaci\IeC {\'o}n de Swagger}}{157}}
\newlabel{url}{{A.1}{157}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.2}{\ignorespaces Administraci\IeC {\'o}n de Tomcat}}{158}}
\newlabel{tomcat}{{A.2}{158}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.3}{\ignorespaces Documentaci\IeC {\'o}n de Swagger da API}}{159}}
\newlabel{apidoc}{{A.3}{159}}
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1.2}Despregue do Demostrador Web}{159}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.4}{\ignorespaces Configuraci\IeC {\'o}n do Demostrador Web}}{159}}
\newlabel{config}{{A.4}{159}}
\@writefile{lof}{\contentsline {figure}{\numberline {A.5}{\ignorespaces Pantalla de inicio de ExpliClas}}{160}}
\newlabel{expliclas-inicio}{{A.5}{160}}
\@setckpt{capitulos/apendicea}{
\setcounter{page}{157}
\setcounter{page}{161}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
......
\chapter{Manuais técnicos}
\section{Manual de despregue}
Indícase a continuación o procedemento necesario para despregar o sistema ExpliClas nun entorno real.
Indícase a continuación o procedemento necesario para despregar o sistema ExpliClas nun entorno real. Hai que ter en conta que o despregue se fixo sobre unha máquina virtual co sistema operativo Ubuntu Server 16.04.3.
\subsection{Despregue da API REST}
......@@ -21,7 +21,7 @@ Empezarase indicando a secuencia de pasos necesarios para despregar a API REST:
\begin{table}[H]
\centering
https://BASE/api/swagger.json
\texttt{https://BASE/api/swagger.json}
\end{table}
Tendo en conta que \textit{BASE} fai referencia á URL base do servidor no que se desprega o sistema.
......@@ -72,12 +72,12 @@ Unha vez despregada a API poderá despregarse o demostrador web seguindo os segu
\item Finalmente, empregarase o propio servidor de node para poñer en produción o proxecto. Para realizar esta acción emprégase o comando: \texttt{serve -s /path/to/build}, sendo /path/to/build a ruta ata o directorio build creado durante a compilación.
\item Unha vez despregado o demostrador, deberíamos poder acceder ao servizo no porto 3000 e empregando a URL \textbf{HOME} indicada no arquivo de configuración, tal e como se aprecia na figura \ref{expliclas-home}.
\item Unha vez despregado o demostrador, deberíamos poder acceder ao servizo no porto 3000 e empregando a URL \textbf{HOME} indicada no arquivo de configuración, tal e como se aprecia na figura \ref{expliclas-inicio}.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-home.png}}
\caption{Pantalla de inicio de ExpliClas}
\label{expliclas-home}
\label{expliclas-inicio}
\end{figure}
\end{enumerate}
\ No newline at end of file
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {B}Manuais de usuario}{157}}
\@writefile{toc}{\contentsline {chapter}{\numberline {B}Manuais de usuario}{161}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}Pantalla de inicio}{157}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces Pantalla de inicio}}{157}}
\newlabel{expliclas-home}{{B.1}{157}}
\@writefile{toc}{\contentsline {section}{\numberline {B.2}Listado de datasets}{157}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.2}{\ignorespaces Pantalla de datasets}}{158}}
\newlabel{expliclas-datasets}{{B.2}{158}}
\@writefile{toc}{\contentsline {section}{\numberline {B.3}Engadir un novo dataset}{158}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.3}{\ignorespaces Selecci\IeC {\'o}n do algoritmo}}{158}}
\newlabel{expliclas-algorithm}{{B.3}{158}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.4}{\ignorespaces Formulario de construci\IeC {\'o}n do clasificador}}{159}}
\newlabel{expliclas-build1}{{B.4}{159}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.5}{\ignorespaces Formulario de construci\IeC {\'o}n do clasificador}}{159}}
\newlabel{expliclas-build2}{{B.5}{159}}
\@writefile{toc}{\contentsline {section}{\numberline {B.4}Selecci\IeC {\'o}n do clasificador}{159}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.6}{\ignorespaces Selecci\IeC {\'o}n do clasificador}}{160}}
\newlabel{expliclas-logs}{{B.6}{160}}
\@writefile{toc}{\contentsline {section}{\numberline {B.5}Informaci\IeC {\'o}n do clasificador / Explicaci\IeC {\'o}n global}{160}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.7}{\ignorespaces Informaci\IeC {\'o}n do clasificador}}{160}}
\newlabel{expliclas-clasificador}{{B.7}{160}}
\@writefile{toc}{\contentsline {section}{\numberline {B.6}Clasificaci\IeC {\'o}ns / Explicaci\IeC {\'o}n local}{161}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.8}{\ignorespaces Informaci\IeC {\'o}n das clasificaci\IeC {\'o}ns}}{161}}
\newlabel{expliclas-clasificacion}{{B.8}{161}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}Pantalla de inicio}{161}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.1}{\ignorespaces Pantalla de inicio}}{161}}
\newlabel{expliclas-home}{{B.1}{161}}
\@writefile{toc}{\contentsline {section}{\numberline {B.2}Listado de datasets}{161}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.2}{\ignorespaces Pantalla de datasets}}{162}}
\newlabel{expliclas-datasets}{{B.2}{162}}
\@writefile{toc}{\contentsline {section}{\numberline {B.3}Engadir un novo dataset}{162}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.3}{\ignorespaces Selecci\IeC {\'o}n do algoritmo}}{162}}
\newlabel{expliclas-algorithm}{{B.3}{162}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.4}{\ignorespaces Formulario de construci\IeC {\'o}n do clasificador}}{163}}
\newlabel{expliclas-build1}{{B.4}{163}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.5}{\ignorespaces Formulario de construci\IeC {\'o}n do clasificador}}{163}}
\newlabel{expliclas-build2}{{B.5}{163}}
\@writefile{toc}{\contentsline {section}{\numberline {B.4}Selecci\IeC {\'o}n do clasificador}{163}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.6}{\ignorespaces Selecci\IeC {\'o}n do clasificador}}{164}}
\newlabel{expliclas-logs}{{B.6}{164}}
\@writefile{toc}{\contentsline {section}{\numberline {B.5}Informaci\IeC {\'o}n do clasificador / Explicaci\IeC {\'o}n global}{164}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.7}{\ignorespaces Informaci\IeC {\'o}n do clasificador}}{164}}
\newlabel{expliclas-clasificador}{{B.7}{164}}
\@writefile{toc}{\contentsline {section}{\numberline {B.6}Clasificaci\IeC {\'o}ns / Explicaci\IeC {\'o}n local}{165}}
\@writefile{lof}{\contentsline {figure}{\numberline {B.8}{\ignorespaces Informaci\IeC {\'o}n das clasificaci\IeC {\'o}ns}}{165}}
\newlabel{expliclas-clasificacion}{{B.8}{165}}
\@setckpt{capitulos/apendiceb}{
\setcounter{page}{162}
\setcounter{page}{166}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
......
......@@ -3,7 +3,7 @@
\section{Pantalla de inicio}
A primeira pantalla coa que se atopa o usuario é a da figura \ref{expliclas-home}, onde este debe pulsar no botón \say{Start} para comezar a empregar o servizo e iniciar unha sesión anónima.
A primeira pantalla coa que se atopa o usuario é a da figura \ref{expliclas-home}, onde este debe pulsar no botón \textit{Start} para comezar a empregar o servizo e iniciar unha sesión anónima.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-home.png}}
......@@ -13,7 +13,7 @@ A primeira pantalla coa que se atopa o usuario é a da figura \ref{expliclas-hom
\section{Listado de datasets}
Diferencianse dous tipos de datasets, os datasets precargados no sistema (só admiten a súa selección pulsando en \say{Select}) e os datasets creados polo usuario, que admite tanto a selección como a eliminación (pulsando na cruz vermella da esquina superior dereita). Se seleccionamos un dataset, pasaremos á opción de seleccionado e visualización dos logs dos clasificadores. Existe tamén unha opción \say{add}, co mesmo formato que o resto dos datasets e se pulsamos no signo máis do centro pasaremos á opción de engadir un novo dataset para xerar un clasificador. Esta pantalla apréciase na figura \ref{expliclas-datasets}.
Diferéncianse dous tipos de datasets, os datasets precargados no sistema (só admiten a súa selección pulsando en \textit{Select}) e os datasets creados polo usuario, que admite tanto a selección como a eliminación (pulsando na cruz vermella da esquina superior dereita). Se seleccionamos un dataset, pasaremos á opción de seleccionado e visualización dos logs dos clasificadores. Existe tamén unha opción \textit{add}, co mesmo formato que o resto dos datasets e se pulsamos no signo máis do centro pasaremos á opción de engadir un novo dataset para xerar un clasificador. Esta pantalla apréciase na figura \ref{expliclas-datasets}.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-datasets.png}}
......@@ -24,7 +24,7 @@ Diferencianse dous tipos de datasets, os datasets precargados no sistema (só ad
\section{Engadir un novo dataset}
Seleccionando a opción \say{add} na pantalla dos datasets, pasaremos á seguinte pantalla para construír un clasificador. Onde debemos seleccionar o algoritmo de clasificación desexado no menú despregable, tal e como se ve na figura \ref{expliclas-algorithm}
Seleccionando a opción \textit{add} na pantalla dos datasets, pasaremos á seguinte pantalla para construír un clasificador. Onde debemos seleccionar o algoritmo de clasificación desexado no menú despregable, tal e como se ve na figura \ref{expliclas-algorithm}
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-algorithm.png}}
......@@ -32,7 +32,7 @@ Seleccionando a opción \say{add} na pantalla dos datasets, pasaremos á seguint
\label{expliclas-algorithm}
\end{figure}
Unha vez seleccionado o algoritmo teremos un formulario para xerar o clasificador. Son estrictamente necesarios o nome do novo dataset (non debe coincidir con ningún predeterminado ou creado previamente polo usuario) e subir o arquivo do dataset. O resto de valores son os valores por defecto para o algoritmo seleccionado e non é necesario modificalos. Ademais, para cada parámetro podemos consultar unha descrición do mesmo se pasamos o cursor sobre o icono \say{i} de información. Na figura \ref{expliclas-build1} temos os dous campos obligatorios do formulario.
Unha vez seleccionado o algoritmo teremos un formulario para xerar o clasificador. Son estritamente necesarios o nome do novo dataset (non debe coincidir con ningún predeterminado ou creado previamente polo usuario) e subir o arquivo do dataset. O resto de valores son os valores por defecto para o algoritmo seleccionado e non é necesario modificalos. Ademais, para cada parámetro podemos consultar unha descrición do mesmo se pasamos o cursor sobre a icona \say{i} de información. Na figura \ref{expliclas-build1} temos os dous campos obrigatorios do formulario.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-build1.png}}
......@@ -40,7 +40,7 @@ Unha vez seleccionado o algoritmo teremos un formulario para xerar o clasificado
\label{expliclas-build1}
\end{figure}
Unha vez cumprimentado todo o formulario, poderase proceder á construción do clasificador se pulsamos no botón \say{build}, tal e como se amosa na figura \ref{expliclas-build2}.
Unha vez cumprimentado todo o formulario, poderase proceder á construción do clasificador se pulsamos no botón \textit{Build}, tal e como se amosa na figura \ref{expliclas-build2}.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-build2.png}}
......@@ -58,7 +58,7 @@ Unha vez seleccionado un dataset desde a pantalla dos datasets, entrarase na pan
\label{expliclas-logs}
\end{figure}
Se seleccionamos un clasificador co log existente e pulsamos en \say{Next}, a pantalla seguinte será a da sección B.5. En cambio, se seleccionamos un clasificador co log sen xerar, pasaremos á pantalla da sección B.3, onde o algoritmo de clasificación non se poderá modificar porque será o seleccionado previamente, e empregarase o dataset existente no sistema, polo que o usuario non necesita subir de novo o dataset.
Se seleccionamos un clasificador co log existente e pulsamos en \textit{Next}, a pantalla seguinte será a da sección B.5. En cambio, se seleccionamos un clasificador co log sen xerar, pasaremos á pantalla da sección B.3, onde o algoritmo de clasificación non se poderá modificar porque será o seleccionado previamente, e empregarase o dataset existente no sistema, polo que o usuario non necesita subir de novo o dataset.
\section{Información do clasificador / Explicación global}
......@@ -70,11 +70,11 @@ Esta pantalla correspóndese coa información do clasificador ou o que é equiva
\label{expliclas-clasificador}
\end{figure}
Ao premer no botón \say{Next} o usuario avanzaría ata a seguinte pantalla amosada na sección B.6.
Ao premer no botón \textit{Next} o usuario avanzaría ata a seguinte pantalla amosada na sección B.6.
\section{Clasificacións / Explicación local}
Nesta pantalla o usuario pode realizar clasificacións de instancias e obter a explicación asociada a dita clasificación, é dicir, a explicación local. Distínguese un formulario onde os valores poden mudarse manualmente por parte do usuario, así como unha lista de instancias do dataset que o usuario pode pregargar no formulario ao seleccionalas. Se o usuario pulsa na opción \say{Generate explanation} o sistema procederá coa clasificación e devolverá a explicación no recadro da dereita.
Nesta pantalla o usuario pode realizar clasificacións de instancias e obter a explicación asociada a dita clasificación, é dicir, a explicación local. Distínguese un formulario onde os valores poden mudarse manualmente por parte do usuario, así como unha lista de instancias do dataset que o usuario pode pregargar no formulario ao seleccionalas. Se o usuario pulsa na opción \textit{Generate explanation} o sistema procederá coa clasificación e devolverá a explicación no recadro da dereita.
\begin{figure}[H]
\centerline{\includegraphics[width=10cm, trim={1mm 1mm 1mm 1mm}, clip]{figuras/expliclas-clasificacion.png}}
......
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {C}Plan de Probas}{167}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {C.1}Probas de funcionalidade}{167}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.1.1}Incremento 1: Probas do M\IeC {\'o}dulo Int\IeC {\'e}rprete}{167}}
\@writefile{lof}{\contentsline {figure}{\numberline {C.1}{\ignorespaces Grafo de execuci\IeC {\'o}n da proba P-MI-02}}{169}}
\newlabel{treegrafo}{{C.1}{169}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.1.2}Incremento 2: Probas do M\IeC {\'o}dulo Explicador}{171}}
\@writefile{toc}{\contentsline {subsection}{\numberline {C.1.3}Incremento 3: Probas do M\IeC {\'o}dulo Xerador}{172}}
\@writefile{toc}{\contentsline {section}{\numberline {C.2}Probas de validaci\IeC {\'o}n do servizo}{180}}
\@writefile{toc}{\contentsline {section}{\numberline {C.3}Casos de proba}{190}}
\@writefile{lot}{\contentsline {table}{\numberline {C.1}{\ignorespaces Modelo de caso de proba}}{190}}
\@setckpt{capitulos/apendicec}{
\setcounter{page}{216}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{1}
\setcounter{table}{1}
\setcounter{float@type}{8}
\setcounter{lstnumber}{95}
\setcounter{dirtytalk@qdepth}{0}
\setcounter{lstlisting}{0}
}
This diff is collapsed.
......@@ -2,45 +2,49 @@
\bibcite{xai}{1}
\bibcite{euregulation}{2}
\bibcite{xln}{3}
\bibcite{weka}{4}
\bibcite{netbeans}{5}
\bibcite{jersey}{6}
\bibcite{simplenlg}{7}
\bibcite{apiweka}{8}
\bibcite{react}{9}
\bibcite{ExpliClas}{10}
\bibcite{salariotic}{11}
\@writefile{toc}{\contentsline {chapter}{Bibliograf\IeC {\'\i }a}{165}}
\bibcite{calculadora}{12}
\bibcite{uscindirecto}{13}
\bibcite{jaxb}{14}
\bibcite{swagger}{15}
\bibcite{tomcat}{16}
\bibcite{nodejs}{17}
\bibcite{texmaker}{18}
\bibcite{wbstool}{19}
\bibcite{projectlibre}{20}
\bibcite{drawio}{21}
\bibcite{staruml}{22}
\bibcite{gitlab}{23}
\bibcite{ExpliClas}{4}
\bibcite{ExpliClasAPI}{5}
\bibcite{weka}{6}
\bibcite{netbeans}{7}
\bibcite{jersey}{8}
\bibcite{simplenlg}{9}
\bibcite{apiweka}{10}
\bibcite{react}{11}
\bibcite{salariotic}{12}
\@writefile{toc}{\contentsline {chapter}{Bibliograf\IeC {\'\i }a}{217}}
\bibcite{calculadora}{13}
\bibcite{uscindirecto}{14}
\bibcite{jaxb}{15}
\bibcite{UCI}{16}
\bibcite{johnson}{17}
\bibcite{swagger}{18}
\bibcite{tomcat}{19}
\bibcite{nodejs}{20}
\bibcite{texmaker}{21}
\bibcite{wbstool}{22}
\bibcite{projectlibre}{23}
\bibcite{drawio}{24}
\bibcite{staruml}{25}
\bibcite{gitlab}{26}
\bibcite{ESTYLF}{27}
\@setckpt{capitulos/bibliografia}{
\setcounter{page}{167}
\setcounter{page}{220}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
\setcounter{enumiii}{0}
\setcounter{enumiv}{23}
\setcounter{enumiv}{27}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{section}{0}
\setcounter{section}{3}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{figure}{1}
\setcounter{table}{1}
\setcounter{float@type}{8}
\setcounter{lstnumber}{95}
\setcounter{dirtytalk@qdepth}{0}
......
......@@ -10,9 +10,13 @@
\bibitem{xln} E. Reiter, R. Dale, ``Building natural language generation systems'', {\it Cambridge University Press}, 2000.
\bibitem{ExpliClas} ExpliClas. Web Service for the Automatic Explanation in Natural Language of classification models in Data Mining. {\it https://demos.citius.usc.es/ExpliClas}
\bibitem{ExpliClasAPI} ExpliClas. REST API. {\it https://demos.citius.usc.es/ExpliClasAPI}
\bibitem{weka} Machine Learning Group at University of Waikato. Weka 3: Data Mining Software in Java. Consultada en {\it https://www.cs.waikato.ac.nz/ml/weka/} o 20 de xuño de 2018.
\bibitem{netbeans} Netbeans. Consultada en {\it https://netbeans.org/} o 27 de xuño de 2018.
\bibitem{netbeans} NetBeans. Consultada en {\it https://netbeans.org/} o 27 de xuño de 2018.
\bibitem{jersey} Jersey. Jersey 2.27 User Guide. Consultada en {\it https://jersey.github.io/documentation/latest/index.html} o 22 de xuño de 2018.
......@@ -22,8 +26,6 @@
\bibitem{react} React documentation. Consultada en {\it https://reactjs.org/docs/hello-world.html} o 22 de xuño de 2018.
\bibitem{ExpliClas} ExpliClas. Web Service for the Automatic Explanation in Natural Language of classification models in Data Mining. {\it https://demos.citius.usc.es/ExpliClas}
\bibitem{salariotic} Guia Salarial Sector TI Galicia 2015-2016. Consultada en {\it https://es.scribd.com/document/288511179/Guia-Salarial-Sector-TI-Galicia-2015-2016} o 22 de xuño de 2018.
\bibitem{calculadora} Oficina de Investigación e Tecnoloxía. Calculadora de Contratos. Consultada en {\it http://imaisd.usc.es/ferramentas/calculadora/calculadoracontratos.asp} o 22 de xuño de 2018.
......@@ -32,9 +34,13 @@
\bibitem{jaxb} Oracle. Java Architecture for XML Binding (JAXB). Consultada en {\it http://www.oracle.com/technetwork/articles/javase/index-140168.html} o 22 de xuño de 2018.
\bibitem{UCI} The University of California at Irvine. UCI machine learning repository. Consultada en {\it https://archive.ics.uci.edu/ml} o 30 de xuño de 2018.
\bibitem{johnson} Donald B. Johnson. {\it Finding all the elementary circuits of a directed graph}. Siam J. Comput. Vol.4, No.1, 1975.
\bibitem{swagger} Swagger. API Documentation. Consultada en {\it https://swagger.io/solutions/api-documentation/} o 22 de xuño de 2018.
\bibitem{tomcat} Apache Tomcat 8. Apache Tomcat 8 Documentation. Consultada en {\it http://tomcat.apache.org/tomcat-8.0-doc/index.html} o 22 de xuño de 2018.
\bibitem{tomcat} Apache Tomcat 8. Documentation. Consultada en {\it http://tomcat.apache.org/tomcat-8.0-doc/index.html} o 22 de xuño de 2018.
\bibitem{nodejs} NodeJS. Consultada en {\it https://nodejs.org/es/docs/} o 22 de xuño de 2018.
......@@ -50,5 +56,7 @@
\bibitem{gitlab} Gitlab. Consultada en {\it https://gitlab.citius.usc.es} o 22 de xuño de 2018.
\bibitem{ESTYLF} B. López-Trigo, J.M. Alonso, A. Bugarin, A. Actas del 19º Congreso Español sobre Lógicas y Tecnología Fuzzy (ESTYLF). {\it Generación Automática de Explicaciones en Lenguaje Natural para Clasificadores mediante Árboles de Decisión}, en revisión, 2018.
\end{thebibliography}
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Conclusi\IeC {\'o}ns e posibles ampliaci\IeC {\'o}ns}{151}}
\citation{ExpliClas}
\citation{ExpliClasAPI}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Conclusi\IeC {\'o}ns e posibles ampliaci\IeC {\'o}ns}{155}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\citation{ESTYLF}
\@setckpt{capitulos/conclusions}{
\setcounter{page}{152}
\setcounter{page}{157}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{1}
......
......@@ -2,6 +2,25 @@
Neste proxecto acadouse o desenvolvemento dun servizo web, \textbf{ExpliClas}, que funciona sobre unha API REST, e é capaz de proporcionar explicacións (globais e locais) en linguaxe natural sobre clasificacións feitas con árbores de decisión.
Aínda que ExpliClas é un servizo web operativo e totalmente funcional, existen bastantes melloras que poden levarse a cabo. A mellora inmediata sobre o servizo está destinada ao refinamento das explicacións xeradas. Para este refinamento o ideal será crear un formulario onde os usuarios do sistema podan valorar as explicacións do sistema. A partir do \say{feedback} proporcionado polos usuarios, revisarase e mellorarase o modelo de explicacións actual.
ExpliClas é un servizo Web operativo e totalmente funcional, tal e como pode verse accedendo ás URL do propio servizo \cite{ExpliClas}
\begin{center}
\texttt{https://demos.citius.usc.es/ExpliClas/}
\end{center}
ou da API \cite{ExpliClasAPI}:
\begin{center}
\texttt{https://demos.citius.usc.es/ExpliClasAPI/}
\end{center}
Ainda así, xa se detectaron algunhas melloras, que se levarán adiante nos próximos meses.
Por unha parte, están as posibles ampliacións relativas ás limitacións actuais do sistema. En primeiro lugar, o sistema consta de 3 algoritmos de clasificación (J48, REPTree e RandomTree) que poderían ser estendidos a un maior número de algoritmos que seguen un modelo similar. En segundo lugar, ExpliClas só admite datasets de datos numéricos quedando como unha ampliación interesante a compatibilidade con datasets de datos categóricos. Por último, o sistema está deseñado para algoritmos de clasificación que empregan árbores de decisión, que son algoritmos de caixa branca. Pero sería interesante que, nun futuro, ExpliClas se adaptase a outros algoritmos de clasificación considerados de caixa gris (por exemplo, árbores de decisión borrosos).
Un último aspecto que se vai ampliar, unha vez abordadas as melloras anteriores, é realizar unha validación exhaustiva da calidade lingüística das explicacións xeradas, con usuarios externos. A validación vai seguir un dos estándares neste ámbito, que consiste en elaborar un cuestionario no que os usuarios avaliarán, para un conxunto suficiente de casos (datasets e instancias) as dúas dimensións mais relevantes das explicacións: a pertinencia do contido das mesmas (dimensión de fondo) e a corrección das explicacións (dimensión de forma).
Moitas destas melloras van ser abordadas xa de xeito inmediato tras o remate do TFG, xa que ExpliClas nace cunha vocación de converterse nun servizo ofrecido á comunidade da aprendizaxe automática. Proba disto é que ExpliClas foi descrito nun traballo enviado recientemente ao \say{19º Congreso Español sobre Tecnologías y Lógica Fuzzy} \cite{ESTYLF}, estando o dito traballo actualmente en avaliación.
Por outra parte, están as posibles ampliacións relativas ás limitacións actuais do sistema. En primeiro lugar, o sistema está reducido a 3 algoritmos de clasificación (J48, REPTree e RandomTree) que poderían ser extendidos a un maior número de algoritmos que seguen un modelo similar. En segundo lugar, ExpliClas só admite datasets de datos numéricos quedando como unha ampliación interesante a compatibilidade con datasets de datos categóricos. Por último, o sistema está deseñado para algoritmos de clasificación que empregan árbores de decisión, que son algoritmos de caixa branca. Pero sería interesante que, nun futuro, ExpliClas se adaptase a outros algoritmos de clasificación considerados de caixa gris (por exemplo, árbores de decisión borrosos).
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -6,6 +6,8 @@
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}Motivaci\IeC {\'o}n}{1}}
\citation{ExpliClas}
\citation{ExpliClasAPI}
\citation{weka}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Obxectivos do proxecto}{2}}
\citation{netbeans}
......@@ -14,7 +16,7 @@
\citation{apiweka}
\citation{react}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Tecnolox\IeC {\'\i }as empregadas}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Estrutura da memoria}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Estrutura da memoria}{4}}
\@setckpt{capitulos/introducion}{
\setcounter{page}{5}
\setcounter{equation}{0}
......
......@@ -6,7 +6,19 @@ Nos derradeiros anos, a intelixencia artificial está integrada en moitos sistem
Segundo a ACM Code of Ethics, a explicación, é un principio básico para garantir a transparencia dos algoritmos e responsabilidade das institucións das decisións tomadas polos mencionados algoritmos. Ademais, a recente aplicación do novo Regulamento Xeral Europeo de Protección de Datos fai fincapé no \say{dereito á explicación} aos cidadáns europeos, sen importar se as decisións son tomadas por persoas ou sistemas intelixentes \cite{euregulation}.
Neste contexto, este TFG pretende abordar a problemática da xeración de explicacións para un sistema intelixente. En concreto, tomouse como base os sistemas intelixentes de clasificación de caixa branca, e de forma máis específica os sistemas baseados en árbores de decisión. O traballo estudará a xeración de explicacións mediante Xeración de Linguaxe Natural \cite{xln} e buscarase acadar explicacións capaces de aclarar ao usuario como toman as decisións os sistemas de clasificación. Ademais, o propósito destas explicacións non só se reduce a facer máis comprensible o sistema, senón aumentar a confianza do usuario no propio sistema e a fiabilidade do mesmo. Outro aspecto relevante da explicación é a interactividade do usuario co sistema, que se reflexará na variación das explicacións segundo as accións que execute o usuario en dito sistema.
Neste contexto, este TFG pretende abordar a problemática da xeración de explicacións para un sistema intelixente. En concreto, tomouse como base os sistemas intelixentes de clasificación de caixa branca, e de forma máis específica os sistemas baseados en árbores de decisión. O traballo estudará a xeración de explicacións mediante Xeración de Linguaxe Natural \cite{xln} e buscarase acadar explicacións capaces de aclarar ao usuario como toman as decisións os sistemas de clasificación. Ademais, o propósito destas explicacións non só se reduce a facer máis comprensible o sistema, senón aumentar a confianza do usuario no propio sistema e a fiabilidade do mesmo. Outro aspecto relevante da explicación é a interactividade do usuario co sistema, que se reflectirá na variación das explicacións segundo as accións que execute o usuario en dito sistema.
O resultado do TFG é o Servizo ExpliClas, que está actualmente operativo e despregado na URL que indicamos de seguido \cite{ExpliClas}:
\begin{center}
\texttt{https://demos.citius.usc.es/ExpliClas/}
\end{center}
Igualmente, está dispoñible a API correspondente \cite{ExpliClasAPI}, que da acceso aos principais métodos do sistema ExpliClas:
\begin{center}
\texttt{https://demos.citius.usc.es/ExpliClasAPI/}
\end{center}
\section{Obxectivos do proxecto}
O obxectivo principal do proxecto é o deseño, implementación e validación dun servizo web, \textbf{ExpliClas}, capaz de xerar \textbf{explicacións en linguaxe natural}. ExpliClas, permitirá a \textbf{subida de novos datasets de clasificación} por parte do usuario, dos cales o sistema construirá diversos clasificadores. Para estes datasets, o usuario poderá obter dous tipos de explicación empregando un determinado clasificador. Unha \textbf{explicación global}, referida ao comportamento do clasificador aprendido a partir do dataset e unha \textbf{explicación local}, que permite explicar clasificacións realizadas co clasificador aprendido sobre unha instancia incluída ou non no dataset de aprendizaxe.
......@@ -18,20 +30,20 @@ En concreto, os obxectivos do proxecto son os seguintes:
\item \textbf{OBX-2}. \textbf{Manter un conxunto de datasets, e clasificadores asociados a ditos datasets, a disposición do usuario}. Deben estar dispoñibles no sistema tanto os datasets subidos polo usuario, como os datasets incluídos por defecto no sistema, así como os clasificadores aprendidos a partir destes datasets.
\item \textbf{OBX-3}. \textbf{Obter unha explicación global en linguaxe natural dun clasificador xerado a partir dun dataset}. Esta explicación pretende ilustrar ao usuario como se comporta un clasificador determinado aportando información como: o número de posibles solucións, nome das posibles solucións, precisión do clasificador, etc.
\item \textbf{OBX-4}. \textbf{Obter unha explicación local en linguaxe natural das clasificacións de instancias incluídas ou non no dataset de aprendizaxe, usando un clasificador concreto}. Esta información explicará ao usuario como o clasificador tomou as súas decisións aportando información como: a solución determinada, posibles alternativas á solución, as decisións tomadas ata acadar a solución, etc.
\item \textbf{OBX-5}. \textbf{Contruír unha interface web que sirva como demostrador do sistema}, permitindo obter as explicacións mediante o uso da API onde se implementará a funcionalidade principal do sistema.
\item \textbf{OBX-5}. \textbf{Construír unha interface web que sirva como demostrador do sistema}, permitindo obter as explicacións mediante o uso da API onde se implementará a funcionalidade principal do sistema.
\end{itemize}
\section{Tecnoloxías empregadas}
Nesta sección introdúcense o conxunto de tecnoloxías empregadas para desarrollar o proxecto. Estas mesmas tecnoloxías serán descritas con maior precisión no capítulo 4.
Nesta sección introdúcense o conxunto de tecnoloxías empregadas para desenvolver o proxecto. Estas mesmas tecnoloxías serán descritas con maior precisión no capítulo 4.
\begin{itemize}
\item O IDE empregado será \textbf{NetBeans} \cite{netbeans}, tendo en conta que a API será programada en Java e este entorno de desenvolvemento ofrece soporte para dita linguaxe e os frameworks empregados.
\item O backend constará dunha API REST que estará programada en \textbf{Java}, e usando o framework \textbf{Jersey} \cite{jersey} pensado para este tipo de aplicacións. Para xestionar todas as dependencias e compilar o proxecto, usarase \textbf{Maven}.
\item Para a xeración de explicacións en linguaxe natural, en concreto para a realización lingüística, empregarase \textbf{SimpleNLG} \cite{simplenlg} que permite construír as frases necesarias para compoñer a explicación.
\item Para a xeración dos logs asociados aos datasets, cos cales poder realizar as clasificacións pertinentes, farase uso da \textbf{API de Weka} \cite{apiweka} para Java.
\item Para a interface web que servirá de demostrador da API construída empregarase \textbf{ReactJS} \cite{react}, que é unha libraría de Javascript para aplicacións dunha soa páxina, \say{single-page application}.
\item Para a interface web que servirá de demostrador da API construída empregarase \textbf{ReactJS} \cite{react}, que é unha libraría de JavaScript para aplicacións dunha soa páxina, \say{single-page application}.
\end{itemize}
\section{Estrutura da memoria}
......@@ -40,7 +52,7 @@ A memoria dividirase nos seguintes capítulos, que pretenden aclarar os diferent
\begin{itemize}
\item Capítulo 1, realízase unha breve introdución do proxecto, determínanse os obxectivos principais do mesmo e introdúcense as tecnoloxías empregadas.
\item Capítulo 2, especifícanse todas as tareas relacionadas coa xestión do proxecto: procesos de xestión empregados, alcance do proxecto, planificación temporal, ciclos de vida empregados, xestión da configuración, custos e riscos.
\item Capítulo 2, especifícanse todas as tarefas relacionadas coa xestión do proxecto: procesos de xestión empregados, alcance do proxecto, planificación temporal, ciclos de vida empregados, xestión da configuración, custos e riscos.
\item Capítulo 3, amósanse as tarefas relativas á análise. Especificación de requisitos e casos de uso do proxecto.
\item Capítulo 4, descríbense en maior detalle as tecnoloxías e ferramentas empregadas no desenvolvemento do proxecto.
\item Capítulo 5, detállase o deseño e a arquitectura do sistema.
......
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {C}Licenza}{163}}
\@writefile{toc}{\contentsline {chapter}{\numberline {D}Licenza}{217}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@setckpt{capitulos/licenza}{
\setcounter{page}{164}
\setcounter{page}{218}
\setcounter{equation}{0}
\setcounter{enumi}{5}
\setcounter{enumii}{1}
......@@ -12,7 +12,7 @@
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
......
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Probas}{117}}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Probas}{121}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Probas de funcionalidade}{117}}
\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Plantilla de proba funcional}}{117}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Incremento 1: Probas do M\IeC {\'o}dulo Int\IeC {\'e}rprete}{118}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Incremento 2: Probas do M\IeC {\'o}dulo Explicador}{119}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Incremento 3: Probas do M\IeC {\'o}dulo Xerador}{120}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Probas de validaci\IeC {\'o}n do servizo}{126}}
\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Plantilla de proba de validaci\IeC {\'o}n}}{126}}
\@writefile{toc}{\contentsline {section}{\numberline {6.3}Casos de proba}{134}}
\@writefile{lot}{\contentsline {table}{\numberline {6.3}{\ignorespaces Plantilla de caso de proba}}{134}}
\@writefile{toc}{\contentsline {section}{\numberline {6.4}Execuci\IeC {\'o}n das probas}{149}}
\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Resumo de execuci\IeC {\'o}n de probas}}{149}}
\newlabel{execucion}{{6.1}{149}}
\@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Descrici\IeC {\'o}n e soluci\IeC {\'o}n de incidencias}}{150}}
\newlabel{incidencias}{{6.2}{150}}
\@writefile{toc}{\contentsline {section}{\numberline {6.1}Probas de funcionalidade}{121}}
\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Modelo de proba funcional}}{121}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}Incremento 1: Probas do M\IeC {\'o}dulo Int\IeC {\'e}rprete}{122}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}Incremento 2: Probas do M\IeC {\'o}dulo Explicador}{123}}
\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}Incremento 3: Probas do M\IeC {\'o}dulo Xerador}{124}}
\@writefile{toc}{\contentsline {section}{\numberline {6.2}Probas de validaci\IeC {\'o}n do servizo}{130}}
\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Modelo de proba de validaci\IeC {\'o}n}}{130}}
\@writefile{toc}{\contentsline {section}{\numberline {6.3}Casos de proba}{138}}
\@writefile{lot}{\contentsline {table}{\numberline {6.3}{\ignorespaces Modelo de caso de proba}}{138}}
\@writefile{toc}{\contentsline {section}{\numberline {6.4}Execuci\IeC {\'o}n das probas}{153}}
\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Resumo de execuci\IeC {\'o}n de probas}}{153}}
\newlabel{execucion}{{6.1}{153}}
\@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Descrici\IeC {\'o}n e soluci\IeC {\'o}n de incidencias}}{154}}
\newlabel{incidencias}{{6.2}{154}}
\@setckpt{capitulos/probas}{
\setcounter{page}{151}
\setcounter{page}{155}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{1}
......
This diff is collapsed.
This diff is collapsed.
\relax
\citation{weka}
\citation{jaxb}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}An\IeC {\'a}lise de tecnolox\IeC {\'\i }as e ferramentas}{71}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}An\IeC {\'a}lise de tecnolox\IeC {\'\i }as e ferramentas}{73}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Tecnolox\IeC {\'\i }as de desenvolvemento}{71}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Librar\IeC {\'\i }as}{71}}
\@writefile{toc}{\contentsline {subsubsection}{Weka}{71}}
\@writefile{toc}{\contentsline {subsubsection}{JAXB}{71}}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Tecnolox\IeC {\'\i }as de desenvolvemento}{73}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Librar\IeC {\'\i }as}{73}}
\@writefile{toc}{\contentsline {subsubsection}{Weka}{73}}
\@writefile{toc}{\contentsline {subsubsection}{JAXB}{73}}
\citation{simplenlg}
\citation{react}
\citation{jersey}
\citation{swagger}
\citation{tomcat}
\@writefile{toc}{\contentsline {subsubsection}{SimpleNLG}{72}}
\@writefile{toc}{\contentsline {subsubsection}{React JS}{72}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Frameworks}{72}}
\@writefile{toc}{\contentsline {subsubsection}{Jersey}{72}}
\@writefile{toc}{\contentsline {subsubsection}{Jersey Framework Test}{72}}
\@writefile{toc}{\contentsline {subsubsection}{Swagger}{72}}
\@writefile{toc}{\contentsline {subsubsection}{SimpleNLG}{74}}
\@writefile{toc}{\contentsline {subsubsection}{React JS}{74}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}Frameworks}{74}}
\@writefile{toc}{\contentsline {subsubsection}{Jersey}{74}}
\@writefile{toc}{\contentsline {subsubsection}{Jersey Framework Test}{74}}
\@writefile{toc}{\contentsline {subsubsection}{Swagger}{74}}
\citation{nodejs}
\citation{texmaker}
\citation{wbstool}
\citation{projectlibre}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Servidores Web}{73}}
\@writefile{toc}{\contentsline {subsubsection}{Tomcat 8}{73}}
\@writefile{toc}{\contentsline {subsubsection}{Node JS}{73}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}IDE de desenvolvemento}{73}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Linguaxes de programaci\IeC {\'o}n}{73}}
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}Tecnolox\IeC {\'\i }as para documentaci\IeC {\'o}n}{73}}