Skip to content

Commit c39e514

Browse files
Written first RF #136
1 parent ed2a27a commit c39e514

File tree

2 files changed

+57
-7
lines changed

2 files changed

+57
-7
lines changed

docs/anexos.pdf

4.34 KB
Binary file not shown.

docs/tex/B_Requisitos.tex

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,22 @@ \section{Introducción}
2222
\end{itemize}
2323

2424
\newpage
25-
\section{Objetivos generales}
25+
\section{Objetivos generales}\label{objetivos-generales}
2626
Los objetivos del proyecto se pueden separar en dos ramas.
2727
\begin{enumerate}
28-
\item Realización de un estudio de los métodos de selección de instancias más relevantes en la literatura y su aportación en problemas de aprendizaje Semi-Supervisado. Como producto final se desean tener dos bibliotecas con los principales algoritmos de filtrado y los principales algoritmos de aprendizaje Semi Supervisado, respectivamente.
28+
\item Realización de un estudio de los métodos de selección de instancias más relevantes en la literatura y su aportación en problemas de aprendizaje Semi-Supervisado. Como producto final se desean tener dos bibliotecas con los principales algoritmos de selección de instancias y una de los principales algoritmos de aprendizaje Semi-Supervisado.
2929
\item Integración de las librerías anteriormente expuestas en la plataforma de MLaaS de la Universidad de Burgos (UBUMLaaS).
30-
\item Rediseño completo de UBUMLaaS, modernización de la interfaz gráfica, crear una parte de administración desde la WebUI.
30+
\item Rediseño completo de UBUMLaaS, modernización de la interfaz gráfica, de forma que sea más intuitivo su uso.
31+
\item Nuevas funcionalidades para el usuario.
32+
\item Administración integral del sistema por parte de los administradores.
3133
\end{enumerate}
3234

3335
En la biblioteca referida a los algoritmos de filtrado más comunes se implementarán algoritmos clásicos de la literatura como son CNN, RNN, ICF, ... Mientras que la biblioteca de algoritmos clásicos de Semi Supervisado contendrá \textit{Co-Training}, \textit{Tri-Training}, ... Estando estructuradas en forma de clases accesibles mediante importación clásica de paquetes. Deben de ser fácilmente escalables, posterior a la finalización del proyecto deben poder ampliarse sin añadir complejidad.
3436

3537
Las interfaces a diseñar se requieren que sean intuitivas, fáciles de entender y utilizar. Deberán de ser transparentes al usuario, impidiendo que este conozca la lógica de diseño de la aplicación, así como los posibles fallos internos que se puedan producir por acciones del sistema, del usuario, o de terceros.
3638

3739
\newpage
38-
\section{Usuarios Participantes}
40+
\section{Usuarios Participantes}\label{usuarios-participantes}
3941
En la fase de análisis han participado diversos usuarios, entre los que se han repartido los principales <<papeles>>.
4042
\begin{itemize}
4143
\item Dr. Álvar Arnaiz González, tutor del proyecto, ha sido partícipe de multiples papeles a lo largo de esta fase:
@@ -48,14 +50,14 @@ \section{Usuarios Participantes}
4850
\end{itemize}
4951

5052
\newpage
51-
\section{Factores de riesgo}
53+
\section{Factores de riesgo}\label{factores-de-riesgo}
5254
En esta sección se va a realizar un análisis de las `principales dificultades que se pueden encontrar a lo largo del desarrollo del proyecto \textit{software}. Mediante una identificación preventiva se podrá poner remedio a éstas de una manera más eficiente e impedir <<que vayan a más>>.
5355

5456
Se identifican los siguientes factores de riesgo:
5557
\begin{enumerate}
5658
\item \textbf{Desconocimiento teórico.} Se posee una cantidad muy limitada de conocimiento en la materia en la que el proyecto transcurre. El proyecto tiene un enfoque fuertemente relacionado con la minería de datos, un área hasta ahora inexplorada. El proyecto ya en su base más pura va a suponer un reto en el día a día.
5759
\item \textbf{Documentación a utilizar.} Hasta ahora nunca se ha tratado con \textit{papers} o artículos científicos, mucho menos su lectura y comprensión, análisis y posterior implementación de los algoritmos propuestos. Puede suponer retrasos sin previo aviso un \textit{paper} con una alta complejidad, bien por la condensación de información, bien por la encapsulación de información, o simplemente por los conocimientos que se requieren para entender el documento.
58-
\item \textbf{Experiencia modificando un proyecto \textit{software}.} La experiencia personal dictamina que la modificación de proyectos incializados por terceros (como se trabaja en la industria) conlleva una etapa de adaptación la cual no suele ser linear, sino exponencial, en función de la complejidad de la aplicación que se desea asimilar.
60+
\item \textbf{Experiencia modificando un proyecto \textit{software}.} La experiencia personal dictamina que la modificación de proyectos que han sido iniciados por terceros (como se trabaja en la industria) conlleva una etapa de adaptación la cual no suele ser linear, sino exponencial, en función de la complejidad de la aplicación que se desea asimilar.
5961
\item \textbf{Mínima experiencia con algunos lenguajes/bibliotecas.} El proyecto requiere del uso del lenguajes de programación como JavaScript, o lenguajes de marcas como son HTML, CSS, \LaTeX ... o librerías como Flask o Vue. Con las que no se tiene prácticamente experiencia real de uso. Supondrá un esfuerzo extra e impedirá que determinadas tareas sean tan cortas como deberían serlo.
6062
\item \textbf{Existencia del usuario final.} Se desconoce el usuario final de la aplicación, por lo que no se podrán realizar talleres, esto motivará a que el proyecto se creará como se cree que el usuario lo esperaría, pero sin su aprobación.
6163
\item \textbf{Motivación del equipo de desarrollo.} En un proyecto nuevo y de este tipo, la experiencia personal es que antes o después habrá una pérdida de motivación para mantener un ritmo de trabajo óptimo.
@@ -66,9 +68,57 @@ \section{Factores de riesgo}
6668
\end{enumerate}
6769

6870
\newpage
69-
\section{Catalogo de requisitos}
71+
\section{Catalogo de requisitos}\label{catalogo-de-riquisitos}
7072
En esta sección se van a definir de forma clara, completa, precisa y verificable todas las funcionalidades y restricciones del sistema.
7173

74+
A pesar de que el proyecto tiene dos <<enfoques>>, la parte de UBUMLaaS y la parte de bibliotecas, los requisitos funcionales y no funcionales se van a desglosar juntos, siguiendo el orden en el que aparecen en este texto.
75+
76+
\subsection{Requisitos funcionales}\label{requisitos-funcionales}
77+
\begin{itemize}
78+
\tightlist
79+
\item
80+
\textbf{RF-1 Uso de algoritmos de Semi-Supervisado.} La aplicación debe de ser capaz de entrenar un modelo entrenado con un algoritmo de aprendizaje Semi-Supervisado y posteriormente utilizar dicho modelo para predecir sobre un conjunto de datos.
81+
82+
\begin{itemize}
83+
\tightlist
84+
\item \textbf{RF-1.1 Entrenar el modelo.} El usuario debe poder elegir si quiere utilizar algoritmos de Semi-Supervisado para clasificación o no.
85+
\begin{itemize}
86+
\tightlist
87+
\item \textbf{RF-1.1.1 Elección del algoritmo.} El usuario debe de ser capaz de elegir el algoritmo que considere oportuno de entre todos los posibles.
88+
\item \textbf{RF-1.1.2 Parametrización del algoritmo.} El usuario debe poder parametrizar el algoritmo cómo considere oportuno para su problema.
89+
\item \textbf{RF-1.1.3 Conjuntos de datos especiales.} El usuario podrá utilizar únicamente conjuntos de datos aceptados por la aplicación para Semi-Supervisado.
90+
\end{itemize}
91+
\item \textbf{RF-1.2 Descarga del modelo.} El usuario debe de ser capaz de descargar el modelo para poder usarlo en otros sistemas.
92+
\item \textbf{RF-1.3 Reutilización del modelo.} El usuario debe de ser capaz de crear un modelo utilizando una parametrización base de otro modelo existente en el sistema.
93+
\item \textbf{RF-1.4 Predicción de nuevos prototipos.} El usuario debe de ser capaz de utilizar un modelo ya entrenado para predecir nuevos conjuntos de datos que posean la misma relación de atributos.
94+
\item \textbf{RF-1.5 Estadísticas del entrenamiento.} El usuario debe de ser capaz de visualizar las estadísticas del experimento ejecutado, independientemente de si el entrenamiento ha sido mediante validación cruzada o con partición mediante porcentajes para entrenamiento y pruebas.
95+
\end{itemize}
96+
\item \textbf{RF-2 Uso de algoritmos de selección de instancias.} El usuario deberá poder elegir si usar o no, para cualquier experimento independientemente de su naturaleza, los algoritmos de selección de instancias codificados.
97+
\begin{itemize}
98+
\tightlist
99+
\item \textbf{RF-2.1 Parametrización del algoritmo.} El usuario debe poder parametrizar el algoritmo cómo considere oportuno para su problema.
100+
\end{itemize}
101+
\item \textbf{RF-3 Administración de usuarios.}
102+
\begin{itemize}
103+
\tightlist
104+
\item \textbf{RF-3.1 Dar de alta nuevos usuarios.} El administrador debe poder crear un nuevo usuario con la información básica.
105+
\begin{itemize}
106+
\tightlist
107+
\item \textbf{RF-3.1.1 Activación del usuario.} El sistema debe mandar el correspondiente correo de activación al nuevo usuario.
108+
\item \textbf{RF-3.1.2 Contraseña del usuario.} Se generará una contraseña complaciente con la política de seguridad de la plataforma. En ningún momento dicha contraseña podrá ser conocida por ningún administrador o miembro del sistema. El usuario deberá de restaurar la contraseña antes de iniciar sesión por primera vez.
109+
\end{itemize}
110+
\item \textbf{RF-3.2 Activación de usuarios.} El administrador debe de poder activar o desactivar a un usuario en concreto.
111+
\item \textbf{RF-3.3 Hacer administrador a un usuario.} El administrador debe de poder hacer nuevos usuarios administradores.
112+
\item \textbf{RF-3.4 Eliminar a un usuario.} El administrador debe de poder eliminar a un usuario cualquiera del sistema, independientemente de si este usuario es administrador o no.
113+
\item \textbf{RF-3.5 Auto-Modificación del administrador.} El administrador no debe de poder desactivarse, quitarse de administrador o eliminarse a sí mismo.
114+
\end{itemize}
115+
\item \textbf{RF-4 Modificación de datos del usuario.}
116+
117+
\item \textbf{RF-5 Administración del sistema en tiempo real.}
118+
119+
\item \textbf{RF-6 Estadísticas de uso.}
120+
\end{itemize}
121+
72122
\newpage
73123
\section{Especificación de requisitos}
74124

0 commit comments

Comments
 (0)