Skip to content

Commit c0bfb5f

Browse files
Annexes have been typo checked #245
1 parent 1a832eb commit c0bfb5f

6 files changed

+60
-59
lines changed

docs/anexos.pdf

432 Bytes
Binary file not shown.

docs/tex/A_Plan_proyecto.tex

+28-28
Large diffs are not rendered by default.

docs/tex/B_Requisitos.tex

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
\section{Introducción}
44
Este anexo recoge las necesidades funcionales que deberán ser soportadas por el sistema que va a ser desarrollado. Con el fin de obtener una buena documentación se deben identificar y describir los requisitos que debe el sistema satisfacer, pero sin entrar en cómo los va a resolver.
55

6-
Hoy en día, no existe una autoridad que indique cómo se deben de realizar las especificaciones de requisitos \textit{software}, SRS. La comunidad se encuentra dividida entre <<la vieja escuela>> siguiendo guías de buenas prácticas (IEEE 830-1998~\cite{720574} ó 12207-2-2020~\cite{IEEE1220722020}), en contraposición con el \textit{Agile Manifiesto}, donde no se hace una especificación formal de toda la aplicación, sino que cada 2-4 semanas se revisa y <<rehace>> en función de las necesidades del cliente.
6+
Hoy en día, no existe una autoridad que indique cómo se deben de realizar las especificaciones de requisitos \textit{software}, SRS. La comunidad se encuentra dividida entre <<la vieja escuela>> siguiendo guías de buenas prácticas (IEEE 830-1998~\cite{720574} o 12207-2-2020~\cite{IEEE1220722020}), en contraposición con el \textit{Agile Manifiesto}, donde no se hace una especificación formal de toda la aplicación, sino que cada 2-4 semanas se revisa y <<rehace>> en función de las necesidades del cliente.
77

88
Se va a realizar una combinación de ambos, por un lado, se trabaja a lo largo del proyecto con una planificación ágil, y por otro se va a tener como referencia una especificación de requisitos que va a seguir la guía de buenas prácticas IEEE 830-1998. Ésta última recoge los siguientes puntos como referencias a una buena especificación de requisitos \textit{software}~\cite{ingenieriasoftwareytiemporeal_2020}.
99
\begin{itemize}
@@ -18,7 +18,7 @@ \section{Introducción}
1818
\item \textbf{Consistente.} Si un SRS <<choca>> con algún documento de nivel superior (\textit{i.e.} una especificación de requisitos de sistema), entonces no será consistente.
1919
\item \textbf{Comprobable.} Será comprobable si, y sólo si, cada requisito declarado es comprobable. A su vez un requisito será comprobable si, y sólo si, allí existe un proceso rentable finito con que una persona o la máquina puede verificar que el producto del \textit{software} reúne el requisito. Cualquier requisito ambiguo no es comprobable.
2020
\item \textbf{Modificable}. Será modificable si, y sólo si, su estructura y estilo son tales que puede hacerse cualquier cambio a los requisitos fácilmente, completamente y de forma consistente mientras conserva la estructura y estilo.
21-
\item \textbf{Identificable.} Será identificable si el origen de cada uno de los requisitos está claro y facilita de igual manera las referencias de cada requisito de desarrollo futuro o documentación del mismo.
21+
\item \textbf{Identificable.} Será identificable si el origen de cada uno de los requisitos está claro y facilita de igual manera las referencias de cada requisito de desarrollo futuro o documentación de este.
2222
\end{itemize}
2323

2424

@@ -34,17 +34,17 @@ \section{Objetivos generales}\label{objetivos-generales}
3434

3535
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}, etc. 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.
3636

37-
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.
37+
Las interfaces por 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.
3838

3939

4040
\section{Usuarios del \textit{software}}\label{usuarios-participantes-software}
4141
Cualquier persona podrá hacer uso de la aplicación UBUMLaaS, siendo únicamente necesarios una serie de datos básicos para su registro dentro de ella.
4242

43-
Dentro de la aplicación se encuentra el usuario base y una generalización del mismo en forma de administrador.
43+
Dentro de la aplicación se encuentra el usuario base y una generalización de este en forma de administrador.
4444
\begin{itemize}
4545
\item \textbf{Usuario.} El usuario será el modelo base, en la forma de una persona la cual tendrá las capacidades de: crear experimentos y todas las funcionalidades asociadas con los mismos. Así como editar sus datos personales, añadir nuevos, quitar, etc. Y conocer sus estadísticas de uso de la última semana.
4646

47-
\item \textbf{Administrador.} Actor generalizado de usuario. Tiene todas las funcionalidades propias del usuario, pero además posee acceso a toda la parte de administración de la aplicación. En esta nueva parte posee acceso a la monitorización del sistema en tiempo real, a las estadísticas del mismo en cuanto a uso respecta, administración de todos los usuarios, etc.
47+
\item \textbf{Administrador.} Actor generalizado de usuario. Tiene todas las funcionalidades propias del usuario, pero además posee acceso a toda la parte de administración de la aplicación. En esta nueva parte posee acceso a la monitorización del sistema en tiempo real, a las estadísticas de este en cuanto a uso respecta, administración de todos los usuarios, etc.
4848
\end{itemize}
4949

5050
Un usuario es creado por una persona ajena que quiere registrarse en la aplicación, o por un administrador. Pero un administrador sólo puede ser <<creado>> (elevación de usuario a administrador) por otro administrador, y lo mismo para el caso contrario, pasar de administrador a usuario.
@@ -56,7 +56,7 @@ \section{Factores de riesgo}\label{factores-de-riesgo}
5656
Se identifican los siguientes factores de riesgo:
5757
\begin{enumerate}
5858
\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.
59-
\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.
59+
\item \textbf{Documentación para 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.
6060
\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.
6161
\item \textbf{Mínima experiencia con algunos lenguajes/bibliotecas.} El proyecto requiere del uso de lenguajes de programación como JavaScript, o lenguajes de marcas como son HTML, CSS, \LaTeX ... o bibliotecas 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.
6262
\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.
@@ -159,7 +159,7 @@ \subsection{Requisitos no funcionales}\label{requisitos-no-funcionales}
159159
\item \textbf{RNF-8 Soporte.} La plataforma debe dar soporte a ficheros CSV y ARFF como mínimo. Así como ser compatible con HTML5.
160160
\item \textbf{RNF-9 Monitorización.} La plataforma debe ser fácilmente monitorizable por un administrador.
161161
\item \textbf{RNF-10 Internacionalización.} La plataforma debe de estar desarrollada en un inglés sencillo y fácil de comprender por todo tipo de usuarios no nativos.
162-
\item \textbf{RNF-11 Respuesta autónoma.} En caso de inicio o reinicio, el tiempo empleado por la plataforma hasta estar al 100\% de operatibilidad de nuevo debe ser inferior a los 3 minutos.
162+
\item \textbf{RNF-11 Respuesta autónoma.} En caso de inicio o reinicio, el tiempo empleado por la plataforma hasta estar al 100\% de operatividad de nuevo debe ser inferior a los 3 minutos.
163163
\end{itemize}
164164
\newpage
165165
\section{Especificación de requisitos}
@@ -391,7 +391,7 @@ \subsection{Casos de uso}\label{casos-de-uso}
391391
\textbf{Autor} & Daniel Puente Ramírez\\
392392
\textbf{Requisitos asociados} & RF-4, RF-4.1, RF-4.2, RF-4.3, RF-4.4\\
393393
\textbf{Descripción} & Permite al usuario modificar sus datos personales dentro de la plataforma.\\
394-
\textbf{Precondición} & Los datos del usuarios son recuperados de la base de datos.\\
394+
\textbf{Precondición} & Los datos del usuario son recuperados de la base de datos.\\
395395
\textbf{Acciones} &
396396
\begin{enumerate}
397397
\def\labelenumi{\arabic{enumi}.}

docs/tex/C_Diseno.tex

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ \subsubsection{Diagrama Relacional}
3535
\subsection{Diseño procedimental}
3636
En esta sección interna se recogen los detalles más relevantes en cuanto a los procedimientos llevados a cabo por la plataforma en función de las acciones del usuario.
3737

38-
A continuación se explican los diagramas de secuencia (DS):
38+
A continuación, se explican los diagramas de secuencia (DS):
3939
\begin{itemize}
4040
\item \textbf{DS para la monitorización del sistema en tiempo real.} Figura~\ref{fig:DSec-LiveMonitor}. Muestra el proceso seguido por el sistema en el momento en el que solicita la vista correspondiente. Es el único diagrama en el que se muestra la comprobación de si es administrador o no, por brevedad en el resto se indica en forma de texto nada más.
4141

@@ -71,7 +71,7 @@ \subsection{Diseño procedimental}
7171

7272
\subsection{Diseño arquitectónico}
7373
\imagenFlotante{../img/anexos/design/client-server}{Arquitectura cliente-servidor.}{client-server}
74-
La aplicación con el fin de cumplir con todos los requerimientos funcionales así como objetivos principales, y por ende, conseguir un bajo acoplamiento y una alta cohesión. Sigue una arquitectura de cliente servidor.
74+
La aplicación con el fin de cumplir con todos los requerimientos funcionales, así como objetivos principales, y, por ende, conseguir un bajo acoplamiento y una alta cohesión. Sigue una arquitectura de cliente servidor.
7575

7676
En la Figura~\ref{fig:client-server} se aprecia un modelo simplificado de la arquitectura seguida, en la cual los procesos se van a dividir en dos grupos.
7777
\begin{itemize}
@@ -80,7 +80,7 @@ \subsection{Diseño arquitectónico}
8080
\end{itemize}
8181

8282
\subsubsection{Arquitectura de tres capas}
83-
La aplicación sigue una arquitectura de tres capas (multicapa), siguiendo esta arquitectura el cliente implementa la lógica de presentación (es un cliente ligero); el servidor de aplicación implementa la lógica de negocio, y los datos residen en una base de datos de \texttt{SQLite}, por definición de la arquitectura de tres capas sería necesario que hubiera un servidor dedicado a la comunicación con la base de datos, pero ahí es donde reside una de las cualidades de \texttt{SQLite}, es \textit{serverless}, permitiendo una auto-gestión y soportando múltiples clientes realizando tareas en paralelo.
83+
La aplicación sigue una arquitectura de tres capas (multicapa), siguiendo esta arquitectura el cliente implementa la lógica de presentación (es un cliente ligero); el servidor de aplicación implementa la lógica de negocio, y los datos residen en una base de datos de \texttt{SQLite}, por definición de la arquitectura de tres capas sería necesario que hubiera un servidor dedicado a la comunicación con la base de datos, pero ahí es donde reside una de las cualidades de \texttt{SQLite}, es \textit{serverless}, permitiendo una autogestión y soportando múltiples clientes realizando tareas en paralelo.
8484

8585
UBUMLaaS sigue esta arquitectura por las siguientes razones:
8686
\begin{itemize}

0 commit comments

Comments
 (0)