<commit_before>\section{Requisiti}
I requisiti funzionali, prestazionali, di qualità e di vincolo individuati sono riportati nelle seguenti tabelle. Ogni requisito è identificato da un codice univoco.
Viene inoltre indicato se si tratta di un requisito fondamentale, desiderabile o facoltativo, una sua descrizione e il caso d'uso da cui è stato individuato. 

Ogni requisito è identificato da un codice, che segue il seguente formalismo:
\begin{center}
		\textbf{RXY Gerarchia}
\end{center}

Dove:
\begin{itemize}
 \item \textbf{X} corrisponde alla tipologia del requisito e può assumere i seguenti valori:
		\begin{itemize}
		 \item[] \textbf{1} = Funzionale;
		 \item[] \textbf{2} = Prestazionale;
		 \item[] \textbf{3} = Di Qualità;
		 \item[] \textbf{4} = Vincolo.
		\end{itemize}

 \item \textbf{Y} corrisponde alla priorità del requisito e può assumere i seguenti valori:
		\begin{itemize}
		 \item[] \textbf{O} = Obbligatorio;
		 \item[] \textbf{D} = Desiderabile;
		 \item[] \textbf{F} = Facoltativo o Opzionale.
		\end{itemize}

 \item \textbf{Gerarchia} identifica la relazione gerarchica che c'è tra i requisiti di uno stesso tipo. Vi è dunque una struttura gerarchica per ogni tipologia di requisito.
\end{itemize}

\subsection{Requisiti funzionali}

%Tabella 
\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{2cm} | p{4.7cm} | p{2cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} & \cellcolor[gray]{0.9} \textbf{Tipologia} 
    & \cellcolor[gray]{0.9} \textbf{Descrizione} & \cellcolor[gray]{0.9} \textbf{Fonti} \\ \hline
    
    R1O 1 & Funzionale \newline Obbligatorio & L’utente non autenticato deve poter creare un account per la propria \glossaryItem{Company} &  Capitolato \newline  UC-U1 \newline  \\ \hline
    
    R1O 1.1 & Funzionale \newline Obbligatorio & L'utente non autenticato deve poter inserire all'interno di una form in una pagina web il nome della propria \glossaryItem{Company} nella \glossaryItem{procedura} di creazione dell'account della \glossaryItem{Company}  &  Capitolato \newline  UC-U1, UC-U1.1 \newline  \\ \hline
    
    R1O 1.2 & Funzionale \newline Obbligatorio & L'utente non autenticato deve poter inserire all'interno di una form in una pagina web il proprio indirizzo email nella \glossaryItem{procedura} di creazione dell'account della \glossaryItem{Company}  &  Capitolato \newline  UC-U1, UC-U1.2 \newline  \\ \hline
    
    R1O 1.3 & Funzionale \newline Obbligatorio & L'utente non autenticato deve poter inserire all'interno di una form in una pagina web una password nella \glossaryItem{procedura} di creazione dell'account della \glossaryItem{Company}  &  Capitolato \newline  UC-U1, UC-U1.3 \newline  \\ \hline
    
    R1O 2 & Funzionale \newline Obbligatorio & L’utente non autenticato che abbia ricevuto un invito dall’\glossaryItem{Owner} o da un suo delegato (uno degli amministratori dell’account della \glossaryItem{Company}), deve poter registrarsi a \glossaryItem{MaaS} e successivamente accedere al proprio account. &  Capitolato \newline UC-U3, UC-U4, Riunione con il proponente.\newline  \\ \hline

	R1O 2.1 & Funzionale \newline Obbligatorio & L’utente non autenticato che abbia ricevuto un invito dall’\glossaryItem{Owner} o da un suo delegato (uno degli amministratori dell’account della \glossaryItem{Company}), deve poter registrarsi a \glossaryItem{MaaS} inserendo una password che verrà associata all’account dell’utente (il sistema memorizza l’indirizzo email dell’utente nell’istante in cui l’invito viene spedito). &  Capitolato \newline UC-U3 \newline  \\ \hline
	 
	R1O 2.2 & Funzionale \newline Obbligatorio & L’utente non autenticato registrato presso \glossaryItem{MaaS} deve poter accedere all'applicazione, tramite una pagina di login in cui vengono richiesti l’indirizzo email dell’utente e la password. Il sistema, tramite l’uso di un database indipendente, verifica che l’email e la password siano associate a un utente registrato.
&  Capitolato \newline UC-U4, UC-U4.1, UC-U4.2 \newline  \\ \hline
	
	R1O 2.3 & Funzionale \newline Obbligatorio & L’utente non autenticato in possesso di un account presso \glossaryItem{MaaS} deve poter recuperare la propria password se questa viene dimenticata.
L'applicazione offre una procedura di recupero che richiede l’inserimento della email e di un codice segreto (ottenuto dall’utente tramite email). &  Capitolato \newline UC-U6, UC-U6.1   \newline  \\ \hline
	
	R1O 2.4 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter effettuare delle operazioni di modifica del profilo. &  Capitolato \newline  UC-U9  \newline  \\ \hline
	
	R1O 2.4.1 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter modificare il proprio indirizzo email inserendone uno di sostitutivo. Il sistema, tramite l’uso di un database indipendente, verifica che l’email inserita non sia già presente. &  Capitolato \newline  UC-U9, UC-U9.1  \newline  \\ \hline
	
	R1O 2.4.2 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter modificare la propria password. &  Capitolato \newline  UC-U9, UC-U9.2  \newline  \\ \hline
	
	R1O 2.4.3 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter rimuovere il proprio account da \glossaryItem{MaaS}. &  Capitolato \newline  UC-U9, UC-U9.3, UC-U9.4  \newline  \\ \hline
	
	R1O 3 & Funzionale \newline Obbligatorio & L’utente autenticato può accedere all’editor ed eseguire una delle operazioni ammesse su una \glossaryItem{DSL} (creazione, modifica, rimozione di un \glossaryItem{DSL Element}). &  Capitolato \newline  UC-U11  \newline  \\ \hline
	
	R1O 3.1 & Funzionale \newline Obbligatorio & L’utente autenticato può accedere all’editor ed eseguire una specifica \glossaryItem{DSL} della quale possiede i permessi di lettura ed esecuzione. &  Capitolato \newline  UC-U11, UC-U11.1  \newline  \\ \hline
	
	R1O 3.2 & Funzionale \newline Obbligatorio & L’utente autenticato (con ruolo superiore a \glossaryItem{Member} e appartenente alla stessa \glossaryItem{Company}) può accedere all’editor e modificare una specifica \glossaryItem{DSL}. &  Capitolato \newline  UC-U11, UC-U11.2  \newline  \\ \hline
	
	R1O 3.3 & Funzionale \newline Obbligatorio & L’utente autenticato (con ruolo superiore a \glossaryItem{Member})  può accedere all’editor e creare una specifica \glossaryItem{DSL}. &  Capitolato \newline  UC-U11, UC-U11.3  \newline  \\ \hline
	
	R1O 3.4 & Funzionale \newline Obbligatorio & L’utente autenticato (con ruolo superiore a \glossaryItem{Member})  può accedere all’editor e leggere una specifica \glossaryItem{DSL}. &  Capitolato \newline  UC-U11, UC-U11.4  \newline  \\ \hline
	
	R1O 3.5 & Funzionale \newline Obbligatorio & L’Admin deve poter aggiungere/togliere a un utente appartenente alla \glossaryItem{Company} di competenza un permesso in lettura/scrittura a una specifica \glossaryItem{DSL}. &  Capitolato \newline   UC-U13, UC-U13.2, UC-U13.3  \newline  \\ \hline
	
	R1O 3.6 & Funzionale \newline Obbligatorio & L’\glossaryItem{Owner} di una \glossaryItem{Company} (o un suo delegato) deve poter invitare (tramite email contenente un link) un utente a registrarsi presso \glossaryItem{MaaS}. &  Capitolato \newline   UC-U13, UC-U13.4  \newline  \\ \hline
	
	R1O 4 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter accedere alla pagina \glossaryItem{Dashboard}, visualizzarne il contenuto ed effettuare delle operazioni sugli elementi presenti. &  Capitolato \newline UC-U15, UC-U15.1  \newline  \\ \hline
	
	R1O 4.1 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter visualizzare un elemento della \glossaryItem{Dashboard}, che può essere una \glossaryItem{Cell}, un \glossaryItem{Document} oppure una \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.1, UC-U16.2, UC-U16.3, UC-U16.4  \newline  \\ \hline
	
	R1O 4.2 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter effettuare un’operazione su un elemento della \glossaryItem{Dashboard}, che può essere una \glossaryItem{Cell}, un \glossaryItem{Document} o una \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U16  \newline  \\ \hline
	
	R1O 4.2.1 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter aggiungere, modificare e ordinare un valore in una \glossaryItem{Cell}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.5, UC-U16.5.1,  UC-U16.5.2, UC-U16.5.3  \newline  \\ \hline
	
	R1O 4.2.2 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter modificare e rimuovere un \glossaryItem{Document}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.6.1, UC-U16.6.2, UC-U16.6.3  \newline  \\ \hline
	
	R1O 4.2.3 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter eseguire un’azione di default (Send mail/Export) dalla pagina \glossaryItem{Document}.&  Capitolato \newline UC-U15, UC-U16, UC-U16.6.4, UC-U16.6.5  \newline  \\ \hline
	
	R1O 4.2.4 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter ordinare i Documents all’interno di una \glossaryItem{Collection} in base a uno dei loro campi. &  Capitolato \newline UC-U15, UC-U16, UC-U16.7.1  \newline  \\ \hline
	
	R1O 4.2.5 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter rimuovere una \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U15.2, UC-U16  \newline  \\ \hline
	
	R1O 4.2.6 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter eseguire un’azione di default(Send mail/Export) dalla pagina \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.7.3, UC-U16.7.4  \newline  \\ \hline
	
	%<< super-admin use cases
	R1O 5 & Funzionale \newline Obbligatorio & L'applicazione deve mostrare al \glossaryItem{Super-Admin} la pagina di gestione delle \glossaryItem{Company}. &  Capitolato \newline UC-S0  \newline  \\ \hline
	
	R1O 5.1 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter aggiungere una \glossaryItem{Company}. &  Capitolato \newline UC-S1  \newline  \\ \hline
	
	R1O 5.2 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter modificare i dati di una \glossaryItem{Company}. &  Capitolato \newline UC-S2  \newline  \\ \hline
	
	R1O 6 & Funzionale \newline Obbligatorio & Il sistema deve mantenere un'associazione tra un utente e una \glossaryItem{Company}. &  Capitolato \newline  \\ \hline
	
	R1O 7 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter visualizzare in dettaglio il profilo di un utente di una \glossaryItem{Company}. & Capitolato \newline UC-S0.1.2  \newline  \\ \hline
	
	R1O 7.1 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter modificare i dati di un utente. &  Capitolato \newline UC-S0.1.3  \newline  \\ \hline
	
	R1O 7.2 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter eliminare un utente. &  Capitolato \newline UC-S0.1.4  \newline  \\ \hline
	
	R1O 7.3 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter creare un altro \glossaryItem{Super-Admin}. &  Capitolato \newline UC-S1.0  \newline  \\ \hline

	R1O 8 & Funzionale \newline Obbligatorio & L’\glossaryItem{Owner} di una \glossaryItem{Company} deve poter rimuovere un utente. &  Capitolato \newline UC-U13, UC-U13.5  \newline  \\ \hline
	
	R1O 9 & Funzionale \newline Obbligatorio & L’\glossaryItem{Owner} di una \glossaryItem{Company} deve poter inserire manualmente un nuovo utente presso \glossaryItem{MaaS}. &  Capitolato \newline UC-U13, UC-U13.6  \newline  \\ \hline
	
	%<< end 
	
	
    R1O 10 & Funzionale \newline Obbligatorio & Il sistema permette all'utente di mantenere salvato un \glossaryItem{DSL} precedentemente creato. &  Capitolato \newline  UC-E1 \newline UC-E3.3  \\ \hline
    
    R1D 11 & Funzionale \newline Desiderabile & Il sistema permette all'utente di scaricare da \glossaryItem{Terminale} una specifica \glossaryItem{DSL}, in un formato leggibile dall'editor. &  Capitolato \newline  UC-E1 \newline \\ \hline
    
    R1D 12 & Funzionale \newline Desiderabile & Offrire un'interfaccia grafica per la manipolazione del \glossaryItem{DSL}. & Capitolato \newline UC-E1 \newline UC-E2 \newline UC-E3 \newline UC-E3 \\ \hline
    
    R1D 12.1 & Funzionale \newline Desiderabile & L'utente attraverso l'interfaccia grafica pu\`o eseguire l'invio del \glossaryItem{DSL} definito. & UC-E3.1 \\ \hline
    
    R1D 12.2 & Funzionale \newline Desiderabile & L'utente attraverso l'interfaccia grafica visualizza l'insieme delle \glossaryItem{DSL} a cui pu\`o accedere. & UC-E1 \\ \hline
    
    R1D 13 & Funzionale \newline Desiderabile & L'utente deve poter manipolare la struttura del \glossaryItem{DSL} attraverso una rappresentazione grafica. & Capitolato \newline UC-E2\\ \hline

    R1D 13.1 & Funzionale \newline Desiderabile & La \glossaryItem{Collection} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.1\\ \hline
    
    R1D 13.2 & Funzionale \newline Desiderabile & Una funzione in \glossaryItem{JavaScript} deve avere una rappresentazione grafica visibile sul browser. & UC-E2\\ \hline

    R1D 13.3 & Funzionale \newline Desiderabile & \glossaryItem{Index} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.1 \newline UC-E2.3\\ \hline

    R1D 13.4 & Funzionale \newline Desiderabile & \glossaryItem{Column} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.3 \newline UC-E2.4\\ \hline

    R1D 13.5 & Funzionale \newline Desiderabile & \glossaryItem{Row} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.5 \newline UC-E2.6\\ \hline
    
    R1D 13.6 & Funzionale \newline Desiderabile & \glossaryItem{Document} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.6\\ \hline
    
    R1D 13.7 & Funzionale \newline Desiderabile & Un dato in formato \glossaryItem{JSON} deve avere una rappresentazione grafica visibile sul browser. & UC-E2 \newline UC-E2.7 \newline UC-E2.8\\ \hline
    
    R1D 13.8 & Funzionale \newline Desiderabile & \glossaryItem{Cell} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.8\\ \hline

    R1D 13.9 & Funzionale \newline Desiderabile & \glossaryItem{Dashboard} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.9\\ \hline
    
    R1D 13.10 & Funzionale \newline Desiderabile & \glossaryItem{DashRow} deve avere una rappresentazione grafica visibile sul browser. & UC-E2 \newline UC-E2.9 \newline UC-E2.1D\\ \hline
    
    R1D 13.11 & Funzionale \newline Desiderabile & Una \glossaryItem{Action} definita dall'amministratore della piattaforma deve avere una rappresentazione grafica visibile sul browser. & UC-E2 \newline UC-E2.11 \\ \hline
    
    R1D 14 & Funzionale \newline Desiderabile & L'utente, in caso di errori, deve essere avvisato con un messaggio d'errore. & UC-E3.4  \\ \hline
    
    R3D 14.1 & Funzionale \newline Desiderabile & Il messaggio d'errore in caso di fallimento della validazione del \glossaryItem{DSL} deve indicare il \glossaryItem{DSL Element} che genera l'errore. & UC-E3.4 \\ \hline
    
    R1D 15 & Funzionale \newline Desiderabile & Ad ogni azione dell'utente compiuta nell'editor corrisponde la manipolazione della struttura del \glossaryItem{DSL}. & Capitolato \newline UC-E2\\ \hline
    
    R1D 16 & Funzionale \newline Desiderabile & L'applicazione deve poter determinare la correttezza di una struttura \glossaryItem{DSL} & UC-E3.2 \newline\\ \hline
    
    R1D 17 & Funzionale \newline Desiderabile & L'utente pu\`o usare il tipo di collegamento \glossaryItem{Riferimento} tra due elementi del \glossaryItem{DSL}. & UC-E2 \newline UC-E2.6.1 \\ \hline
    
    R1D 18 & Funzionale \newline Desiderabile & L'utente pu\`o usare il tipo di collegamento \glossaryItem{Associazione} tra due elementi del \glossaryItem{DSL}.
    & Capitolato \newline UC-E2 \newline UC-E2.0.3 \newline UC-E2.0.5 \newline UC-E2.1.1 \newline UC-E2.1.2 \newline UC-E2.3.2 \newline UC-E2.8.2 \newline UC-E2.6.3 \newline UC-E2.6.4 \newline UC-E2.7.3 \newline UC-E2.8.2 \newline UC-E2.9.1 \newline UC-E2.10.1 \newline UC-E2.10.2 \newline UC-E2.10.3 \newline UC-E2.11.1\\ \hline
    
    R1D 19 & Funzionale \newline Desiderabile & L'utente definisce i valori degli attributi del \glossaryItem{DSL} tramite editor. & UC-E2.0.2 \newline UC-E2.7.2\\ \hline
    
    R1D 20 & Funzionale \newline Desiderabile & L'utente deve aggiungere o rimuovere gli attributi del \glossaryItem{DSL} tramite l'editor. & UC-E2.3.1 \newline UC-E2.6.2 \newline UC-E2.7.1 \newline UC-E2.9.2\\ \hline
    
    R1D 21 & Funzionale \newline Desiderabile & L'utente deve aggiungere o rimuovere una struttura del \glossaryItem{DSL} tramite editor. & UC-E2.0.1 \newline UC-E2.0.4\\ \hline
    
    R1D 22 & Funzionale \newline Desiderabile & L'utente pu\`o scrivere la funzione \glossaryItem{JavaScript} direttamente nell'editor. & UC-E2.2 \newline UC-E2.2.1\\ \hline

    R1D 23 & Funzionale \newline Opzionale & L'utente attraverso l'interfaccia grafica deve essere in grado di salvare i metodi creati. & UC-E2.2.2\\ \hline
    
    R1D 24 & Funzionale \newline Opzionale & L'utente pu\`o importare nel \glossaryItem{DSL} corrente una funzione \glossaryItem{JavaScript} precedentemente creata. & UC-E2.2.2 \newline UC-E2.2.3\\ \hline
    
    R1D 25 & Funzionale \newline Desiderabile & L'utente attraverso l'interfaccia grafica visualizza l'insieme dei metodi a cui pu\`o accedere. & UC-E2.0.6\\ \hline
    
    R1D 26 & Funzionale \newline Desiderabile & L'utente pu\`o scegliere qual'\`e il tipo di dato rappresentato dal \glossaryItem{Cell Element} & UC-E2.8.1\\ \hline
    
    R1D 27 & Funzionale \newline Desiderabile & Importare una \glossaryItem{Action} definita dall'amministratore nel \glossaryItem{DSL} corrente. & Capitolato \newline UC-E2 \newline UC-E2.1 \newline UC-E2.6 \newline UC-E2.9\\ \hline

    R1D 28 & Funzionale \newline Desiderabile & Selezionare la funzionalit\`a della \glossaryItem{Action}. & Capitolato \newline UC-E2.11 \newline UC-E.11.2 \\ \hline
    
    R1D 29 & Funzionale \newline Desiderabile & Impostare associazioni tra \glossaryItem{DSL Element} obbligatorie non modificabili. & Capitolato \newline UC-E2.11.2\\ \hline
        
    R1D 30 & Funzionale \newline Desiderabile & La \glossaryItem{DSL} creata dall'editor deve essere inviata al server \glossaryItem{MaaS}. & Capitolato \newline UC-E3\\ \hline
        
    \caption{Requisiti funzionali}
  \end{longtable}
  \egroup
\end{center} 

\subsection{Requisiti di qualità}

\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{2cm} | p{4.7cm} | p{2cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} & \cellcolor[gray]{0.9} \textbf{Tipologia} 
    & \cellcolor[gray]{0.9} \textbf{Descrizione} & \cellcolor[gray]{0.9} \textbf{Fonti} \\ \hline
    R3O 1 & Qualità \newline Obbligatorio & Devono essere scritti e rilasciati manuali d’uso ed ogni altra documentazione tecnica (in lingua inglese) necessaria per l’utilizzo del prodotto. & Capitolato, Incontro con il proponente \\ \hline
    R3O 2 & Qualità \newline Obbligatorio & Per lo sviluppo del prodotto richiesto verranno rispettate tutte le norme descritte nel documento  \NormeDiProgetto & Capitolato \\ \hline
    \end{longtable}
  \egroup
\end{center}  

\subsection{Requisiti di vincolo}
\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{2cm} | p{4.7cm} | p{2cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} & \cellcolor[gray]{0.9} \textbf{Tipologia} 
    & \cellcolor[gray]{0.9} \textbf{Descrizione} & \cellcolor[gray]{0.9} \textbf{Fonti} \\ \hline
    R4O 1 & Vincolo \newline Obbligatorio & Il codice sorgente deve essere reso pubblico e posto sotto il controllo di versione usando github o bitbucket & Capitolato \\ \hline
    R4O 2 & Vincolo \newline Obbligatorio & Lo \glossaryItem{Stack tecnologico} da usare deve includere: \newline
- \glossaryItem{Node.js} per il \glossaryItem{Back End}. \newline 
- \glossaryItem{MongoDB} (versione >= 3.x) per il database dell'applicazione. 
& Capitolato \\ \hline
    R4O 3 & Vincolo \newline Obbligatorio &  Obbligo di effettuare il \glossaryItem{deployment} su \glossaryItem{Heroku}.
      & Capitolato \\ \hline
    \end{longtable}
  \egroup
\end{center}   

\subsection{Tracciamento requisiti-fonti}

\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{8cm} | }
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} &   
    \cellcolor[gray]{0.9} \textbf{Fonte}\\ \hline
    R1O 1 & Capitolato, UC-U1, Riunione con il proponente. \\ \hline
    R1O 1.1 & Capitolato, UC-U1, UC-U1.1 \\ \hline
    R1O 1.2 & Capitolato, UC-U1, UC-U1.2 \\ \hline
    R1O 1.3 & Capitolato, UC-U1, UC-U1.3 \\ \hline
    R1O 2 & Capitolato, UC-U3, UC-U4, Riunione con il proponente. \\ \hline
    R1O 2.1 & Capitolato, UC-U4, UC-U4.1, UC-U4.2 \\ \hline
    R1O 2.2 & Capitolato, UC-U4, UC-U4.1, UC-U4.2\\ \hline
    R1O 2.3 & Capitolato, UC-U6, UC-U6.1 \\ \hline
    R1O 2.4 & Capitolato, UC-U9 \\ \hline
    R1O 2.4.1 & Capitolato, UC-U9,UC-U9.1 \\ \hline
    R1O 2.4.2 & Capitolato, UC-U9, UC-U9.2 \\ \hline
    R1O 2.4.3 & Capitolato, UC-U9, UC-U9.3, UC-U9.4\\ \hline
    R1O 3 & Capitolato, UC-U11 \\ \hline
    R1O 3.1 & Capitolato, UC-U11, UC-U11.1\\ \hline
    R1O 3.2 & Capitolato, UC-U11, UC-U11.2\\ \hline
    R1O 3.3 & Capitolato, UC-U11, UC-U11.3\\ \hline
    R1O 3.4 & Capitolato, UC-U11, UC-U11.4\\ \hline
    R1O 3.5 & Capitolato, UC-U13, UC-U13.2, UC-U13.3\\ \hline
    R1O 3.6 & Capitolato, UC-U13, UC-U13.4\\ \hline
    R1O 4 & Capitolato, UC-U15, UC-U15.1 \\ \hline
    R1O 4.1 & Capitolato, UC-U15, UC-U16, UC-U16.1, UC-U16.2, UC-U16.3, UC-U16.4 \\ \hline
    R1O 4.2 & Capitolato, UC-U15, UC-U16 \\ \hline
    R1O 4.2.1 & Capitolato, UC-U15, UC-U16, UC-U16.5, UCU16.5.1, UCU16.5.2, UC-U16.5.3 \\ \hline
    R1O 4.2.2 & Capitolato, UC-U15, UC-U16, UC-U16.6.1, UC-U16.6.2, UC-U16.6.3 \\ \hline
    R1O 4.2.3 & Capitolato, UC-U15, UC-U16, UC-U16.6.4, UC-U16.6.5 \\ \hline
    R1O 4.2.4 & Capitolato, UC-U15, UC-U16, UC-U16.7.1 \\ \hline
    R1O 4.2.5 & Capitolato, UC-U15, UC-U15.2, UC-U16 \\ \hline
    R1O 4.2.6 & Capitolato, UC-U15, UC-U16, UC-U16.7.3, UC-U16.7.4 \\ \hline
    R1O 5 & Capitolato, UC-S0 \\ \hline
    R1O 5.1 & Capitolato, UC-S1 \\ \hline
    R1O 5.2 & Capitolato, UC-S2 \\ \hline
    R1O 6 & Capitolato \\ \hline
    R1O 7 & Capitolato, UC-S0.1.2 \\ \hline
    R1O 7.1 & Capitolato, UC-S0.1.3 \\ \hline
    R1O 7.2 & Capitolato, UC-S0.1.4 \\ \hline
    R1O 7.3 & Capitolato, UC-S1.0 \\ \hline
    R1O 8 & Capitolato, UC-U13, UC-U13.5 \\ \hline
    R1O 9 & Capitolato, UC-U13, UC-U13.6 \\ \hline
    R1O 10 & Capitolato, UC-E1, UC-E3.3 \\ \hline
    R1D 11 & Capitolato, UC-E1 \\ \hline
    R1D 12 & Capitolato, UC-E1, UC-E2, UC-E3, UC-E3  \\ \hline
    R1D 12.1 & UC-E3.1  \\ \hline
    R1D 12.2 & UC-E1  \\ \hline
    R1D 13 & Capitolato, UC-E2 \\ \hline
    R1D 13.1 & Capitolato, UC-E2, UC-E2.1  \\ \hline
    R1D 13.2 & UC-E2 \\ \hline
    R1D 13.3 & Capitolato, UC-E2, UC-E2.1, UC-E2.3 \\ \hline
    R1D 13.4 & Capitolato, UC-E2, UC-E2.3, UC-E2.4  \\ \hline
    R1D 13.5 & Capitolato, UC-E2, UC-E2.5, UC-E2.6 \\ \hline
    R1D 13.6 & Capitolato, UC-E2, UC-E2.6 \\ \hline
    R1D 13.7 & UC-E2, UC-E2.7, UC-E2.8 \\ \hline
    R1D 13.8 & Capitolato, UC-E2, UC-E2.8 \\ \hline
    R1D 13.9 & Capitolato, UC-E2, UC-E2.9 \\ \hline
    R1D 13.10 & UC-E2, UC-E2.9, UC-E2.1D \\ \hline
    R1D 13.11 & UC-E2, UC-E2.11 \\ \hline
    R1D 14 &  UC-E3.4  \\ \hline
    R3D 14.1 & UC-E3.4 \\ \hline
    R1D 15 & Capitolato, UC-E2  \\ \hline
    R1D 16 & UC-E3.2 \\ \hline
    R1D 17 & UC-E2, UC-E2.6.1 \\ \hline
    R1D 18 & Capitolato, UC-E2, UC-E2.0.3, UC-E2.0.5, UC-E2.1.1, UC-E2.1.2, UC-E2.3.2, UC-E2.8.2, UC-E2.6.3, UC-E2.6.4, UC-E2.7.3, UC-E2.8.2, UC-E2.9.1, UC-E2.10.1, UC-E2.10.2, UC-E2.10.3, UC-E2.11.1 \\ \hline
    R1D 19 & UC-E2.0.2, UC-E2.7.2 \\ \hline
    R1D 20 & UC-E2.3.1, UC-E2.6.2, UC-E2.7.1, UC-E2.9.2 \\ \hline
    R1D 21 & UC-E2.0.1, UC-E2.0.4 \\ \hline
    R1D 22 & UC-E2.2, UC-E2.2.1 \\ \hline
    R1D 23 & UC-E2.2.2 \\ \hline
    R1D 24 & UC-E2.2.2, UC-E2.2.3  \\ \hline
    R1D 25 & UC-E2.0.6  \\ \hline
    R1D 26 & UC-E2.8.1 \\ \hline
    R1D 27 & Capitolato, UC-E2, UC-E2.1, UC-E2.6, UC-E2.9 \\ \hline
    R1D 28 & Capitolato, UC-E2.11, UC-E.11.2 \\ \hline
    R1D 29 & Capitolato, UC-E2.11.2 \\ \hline
    R1D 30 & Capitolato, UC-E3 \\ \hline
    R3O 1 & Capitolato, Incontro con il proponente\\ \hline
    R3O 2 & Capitolato \\ \hline
    R4O 1 & Capitolato \\ \hline
    R4O 2 & Capitolato \\ \hline
    R4O 3 & Capitolato \\ \hline
    \end{longtable}
  \egroup
\end{center} 

\subsection{Tracciamento fonti-requisiti}

\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ |  p{5cm} | p{5cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Fonte} &   
    \cellcolor[gray]{0.9} \textbf{Requisito}\\ \hline
    Capitolato & R1O 1, R1O 2, R1O 2.1, R1O 2.2, R1O 2.3, R1O 2.3.1, R1O 2.3.2, R1O 2.3.3, R1O 3, R1O 3.1, R1O 3.2, R1O 3.3, R1O 3.4, R1O 3.5, R1O 3.6, R1O 4, R1O 4.1, R1O 4.2, R1O 4.2.1, R1O 4.2.2, R1O 4.2.3, R1O 4.2.4, R1O 4.2.5, R1O 4.2.6, R1O 5, R1O 5.1, R1O 5.2, R1O 6, R1O 7, R1O 7.1, R1O 7.2, R1O 7.3, R1O 8, R1O 9, R1O 10, R1D 11, R1D 12, R1D 13, R1D 13.1, R1D 13.3, R1D 13.4, R1D 13.5, R1D 13.6, R1D 13.8, R1D 13.9, R1D 15, R1D 18, R1D 27, R1D 28, R1D 29, R1D 30, R3O 1, R3O 2, R4O 1, R4O 2, R4O 3 \\ \hline
    UC-U1 & R1O 1, R1O 1.1, R1O 1.2, R1O 1.3  \\ \hline
    UC-U1.1 & R1O 1.1  \\ \hline
    UC-U1.2 & R1O 1.2  \\ \hline
    UC-U1.3 & R1O 1.3  \\ \hline
    UC-U3 & R1O 2, R1O 2.1  \\ \hline
    UC-U4,UC-U4.1, UC-U4.2 & R1O 2, R1O 2.2 \\ \hline
    UC-U6, UC-U6.1 & R1O 2.3  \\ \hline
    UC-U9 & R1O 2.4, R1O 2.4.1, R1O 2.4.2, R1O 2.4.3  \\ \hline
    UC-U9.1 & R1O 2.4.1  \\ \hline
    UC-U9.2 & R1O 2.4.2  \\ \hline
    UC-U9.3, UC-U9.4 & R1O 2.4.3  \\ \hline
    UC-U11 & R1O 3, R1O 3.1, R1O 3.2, R1O 3.3, R1O 3.4  \\ \hline
    UC-U11.1 & R1O 3.1  \\ \hline
    UC-U11.2 & R1O 3.2  \\ \hline
    UC-U11.3 & R1O 3.3  \\ \hline
    UC-U11.4 & R1O 3.4  \\ \hline
    UC-U13 & R1O 3.5, R1O 3.6, R1O 8, R1O 9  \\ \hline
    UC-U13.2, UC-U13.3 & R1O 3.5  \\ \hline
    UC-U13.4 & R1O 3.6  \\ \hline
    UC-U13.5 & R1O 8  \\ \hline
    UC-U13.6 & R1O 9  \\ \hline
    UC-U15 & R1O 4, R1O 4.1, R1O 4.2, R1O 4.2.1, R1O 4.2.2, R1O 4.2.3, R1O 4.2.4, R1O 4.2.5, R1O 4.2.6  \\ \hline
    UC-U15.1 & R1O 4  \\ \hline
    UC-U15.2 & R1O 4.2.5  \\ \hline
    UC-U16.1, UC-U16.2, UC-U16.3, UC-U16.4 & R1O 4.1  \\ \hline
    UC-U16.5, UC-U16.5.1, UC-U16.5.2, UC-U16.5.3 & R1O 4.2.1  \\ \hline
    UC-U16.6.1, UC-U16.6.2, UC-U16.6.3 & R1O 4.2.2  \\ \hline
    UC-U16.6.4, UC-U16.6.5 & R1O 4.2.3  \\ \hline
    UC-U16.7.1 & R1O 4.2.4  \\ \hline
    UC-U16 & R1O 4.1, R1O 4.2, R1O 4.2.1, R1O 4.2.2, R1O 4.2.3, R1O 4.2.4, R1O 4.2.5, R1O 4.2.6   \\ \hline
    UC-U16.7.3, UC-U16.7.4 & R1O 4.2.6  \\ \hline
    UC-S0 & R1O 5  \\ \hline<commit_msg>Finish requisiti related to UC-U9.4<commit_after>\section{Requisiti}
I requisiti funzionali, prestazionali, di qualità e di vincolo individuati sono riportati nelle seguenti tabelle. Ogni requisito è identificato da un codice univoco.
Viene inoltre indicato se si tratta di un requisito fondamentale, desiderabile o facoltativo, una sua descrizione e il caso d'uso da cui è stato individuato. 

Ogni requisito è identificato da un codice, che segue il seguente formalismo:
\begin{center}
		\textbf{RXY Gerarchia}
\end{center}

Dove:
\begin{itemize}
 \item \textbf{X} corrisponde alla tipologia del requisito e può assumere i seguenti valori:
		\begin{itemize}
		 \item[] \textbf{1} = Funzionale;
		 \item[] \textbf{2} = Prestazionale;
		 \item[] \textbf{3} = Di Qualità;
		 \item[] \textbf{4} = Vincolo.
		\end{itemize}

 \item \textbf{Y} corrisponde alla priorità del requisito e può assumere i seguenti valori:
		\begin{itemize}
		 \item[] \textbf{O} = Obbligatorio;
		 \item[] \textbf{D} = Desiderabile;
		 \item[] \textbf{F} = Facoltativo o Opzionale.
		\end{itemize}

 \item \textbf{Gerarchia} identifica la relazione gerarchica che c'è tra i requisiti di uno stesso tipo. Vi è dunque una struttura gerarchica per ogni tipologia di requisito.
\end{itemize}

\subsection{Requisiti funzionali}

%Tabella 
\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{2cm} | p{4.7cm} | p{2cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} & \cellcolor[gray]{0.9} \textbf{Tipologia} 
    & \cellcolor[gray]{0.9} \textbf{Descrizione} & \cellcolor[gray]{0.9} \textbf{Fonti} \\ \hline
    
    R1O 1 & Funzionale \newline Obbligatorio & L’utente non autenticato deve poter creare un account per la propria \glossaryItem{Company} &  Capitolato \newline  UC-U1 \newline  \\ \hline
    
    R1O 1.1 & Funzionale \newline Obbligatorio & L'utente non autenticato deve poter inserire all'interno di una form in una pagina web il nome della propria \glossaryItem{Company} nella \glossaryItem{procedura} di creazione dell'account della \glossaryItem{Company}  &  Capitolato \newline  UC-U1, UC-U1.1 \newline  \\ \hline
    
    R1O 1.2 & Funzionale \newline Obbligatorio & L'utente non autenticato deve poter inserire all'interno di una form in una pagina web il proprio indirizzo email nella \glossaryItem{procedura} di creazione dell'account della \glossaryItem{Company}  &  Capitolato \newline  UC-U1, UC-U1.2 \newline  \\ \hline
    
    R1O 1.3 & Funzionale \newline Obbligatorio & L'utente non autenticato deve poter inserire all'interno di una form in una pagina web una password nella \glossaryItem{procedura} di creazione dell'account della \glossaryItem{Company}  &  Capitolato \newline  UC-U1, UC-U1.3 \newline  \\ \hline
    
    R1O 2 & Funzionale \newline Obbligatorio & L’utente non autenticato che abbia ricevuto un invito dall’\glossaryItem{Owner} o da un suo delegato (uno degli amministratori dell’account della \glossaryItem{Company}), deve poter registrarsi a \glossaryItem{MaaS} e successivamente accedere al proprio account. &  Capitolato \newline UC-U3, UC-U4, Riunione con il proponente.\newline  \\ \hline

	R1O 2.1 & Funzionale \newline Obbligatorio & L’utente non autenticato che abbia ricevuto un invito dall’\glossaryItem{Owner} o da un suo delegato (uno degli amministratori dell’account della \glossaryItem{Company}), deve poter registrarsi a \glossaryItem{MaaS} inserendo una password che verrà associata all’account dell’utente (il sistema memorizza l’indirizzo email dell’utente nell’istante in cui l’invito viene spedito). &  Capitolato \newline UC-U3 \newline  \\ \hline
	 
	R1O 2.2 & Funzionale \newline Obbligatorio & L’utente non autenticato registrato presso \glossaryItem{MaaS} deve poter accedere all'applicazione, tramite una pagina di login in cui vengono richiesti l’indirizzo email dell’utente e la password. Il sistema, tramite l’uso di un database indipendente, verifica che l’email e la password siano associate a un utente registrato.
&  Capitolato \newline UC-U4, UC-U4.1, UC-U4.2 \newline  \\ \hline
	
	R1O 2.3 & Funzionale \newline Obbligatorio & L’utente non autenticato in possesso di un account presso \glossaryItem{MaaS} deve poter recuperare la propria password se questa viene dimenticata.
L'applicazione offre una procedura di recupero che richiede l’inserimento della email e di un codice segreto (ottenuto dall’utente tramite email). &  Capitolato \newline UC-U6, UC-U6.1   \newline  \\ \hline
	
	R1O 2.4 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter effettuare delle operazioni di modifica del profilo. &  Capitolato \newline  UC-U9  \newline  \\ \hline
	
	R1O 2.4.1 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter modificare il proprio indirizzo email inserendone uno di sostitutivo. Il sistema, tramite l’uso di un database indipendente, verifica che l’email inserita non sia già presente. &  Capitolato \newline  UC-U9, UC-U9.1  \newline  \\ \hline
	
	R1O 2.4.2 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter modificare la propria password. &  Capitolato \newline  UC-U9, UC-U9.2  \newline  \\ \hline
	
	R1O 2.4.3 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter rimuovere il proprio account da \glossaryItem{MaaS}. &  Capitolato \newline  UC-U9, UC-U9.3, UC-U9.4, UC-U9.4.1, UC-U9.4.2  \newline  \\ \hline
	
	R1O 3 & Funzionale \newline Obbligatorio & L’utente autenticato può accedere all’editor ed eseguire una delle operazioni ammesse su una \glossaryItem{DSL} (creazione, modifica, rimozione di un \glossaryItem{DSL Element}). &  Capitolato \newline  UC-U11  \newline  \\ \hline
	
	R1O 3.1 & Funzionale \newline Obbligatorio & L’utente autenticato può accedere all’editor ed eseguire una specifica \glossaryItem{DSL} della quale possiede i permessi di lettura ed esecuzione. &  Capitolato \newline  UC-U11, UC-U11.1  \newline  \\ \hline
	
	R1O 3.2 & Funzionale \newline Obbligatorio & L’utente autenticato (con ruolo superiore a \glossaryItem{Member} e appartenente alla stessa \glossaryItem{Company}) può accedere all’editor e modificare una specifica \glossaryItem{DSL}. &  Capitolato \newline  UC-U11, UC-U11.2  \newline  \\ \hline
	
	R1O 3.3 & Funzionale \newline Obbligatorio & L’utente autenticato (con ruolo superiore a \glossaryItem{Member})  può accedere all’editor e creare una specifica \glossaryItem{DSL}. &  Capitolato \newline  UC-U11, UC-U11.3  \newline  \\ \hline
	
	R1O 3.4 & Funzionale \newline Obbligatorio & L’utente autenticato (con ruolo superiore a \glossaryItem{Member})  può accedere all’editor e leggere una specifica \glossaryItem{DSL}. &  Capitolato \newline  UC-U11, UC-U11.4  \newline  \\ \hline
	
	R1O 3.5 & Funzionale \newline Obbligatorio & L’Admin deve poter aggiungere/togliere a un utente appartenente alla \glossaryItem{Company} di competenza un permesso in lettura/scrittura a una specifica \glossaryItem{DSL}. &  Capitolato \newline   UC-U13, UC-U13.2, UC-U13.3  \newline  \\ \hline
	
	R1O 3.6 & Funzionale \newline Obbligatorio & L’\glossaryItem{Owner} di una \glossaryItem{Company} (o un suo delegato) deve poter invitare (tramite email contenente un link) un utente a registrarsi presso \glossaryItem{MaaS}. &  Capitolato \newline   UC-U13, UC-U13.4  \newline  \\ \hline
	
	R1O 4 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter accedere alla pagina \glossaryItem{Dashboard}, visualizzarne il contenuto ed effettuare delle operazioni sugli elementi presenti. &  Capitolato \newline UC-U15, UC-U15.1  \newline  \\ \hline
	
	R1O 4.1 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter visualizzare un elemento della \glossaryItem{Dashboard}, che può essere una \glossaryItem{Cell}, un \glossaryItem{Document} oppure una \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.1, UC-U16.2, UC-U16.3, UC-U16.4  \newline  \\ \hline
	
	R1O 4.2 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter effettuare un’operazione su un elemento della \glossaryItem{Dashboard}, che può essere una \glossaryItem{Cell}, un \glossaryItem{Document} o una \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U16  \newline  \\ \hline
	
	R1O 4.2.1 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter aggiungere, modificare e ordinare un valore in una \glossaryItem{Cell}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.5, UC-U16.5.1,  UC-U16.5.2, UC-U16.5.3  \newline  \\ \hline
	
	R1O 4.2.2 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter modificare e rimuovere un \glossaryItem{Document}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.6.1, UC-U16.6.2, UC-U16.6.3  \newline  \\ \hline
	
	R1O 4.2.3 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter eseguire un’azione di default (Send mail/Export) dalla pagina \glossaryItem{Document}.&  Capitolato \newline UC-U15, UC-U16, UC-U16.6.4, UC-U16.6.5  \newline  \\ \hline
	
	R1O 4.2.4 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter ordinare i Documents all’interno di una \glossaryItem{Collection} in base a uno dei loro campi. &  Capitolato \newline UC-U15, UC-U16, UC-U16.7.1  \newline  \\ \hline
	
	R1O 4.2.5 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter rimuovere una \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U15.2, UC-U16  \newline  \\ \hline
	
	R1O 4.2.6 & Funzionale \newline Obbligatorio & L’utente autenticato deve poter eseguire un’azione di default(Send mail/Export) dalla pagina \glossaryItem{Collection}. &  Capitolato \newline UC-U15, UC-U16, UC-U16.7.3, UC-U16.7.4  \newline  \\ \hline
	
	%<< super-admin use cases
	R1O 5 & Funzionale \newline Obbligatorio & L'applicazione deve mostrare al \glossaryItem{Super-Admin} la pagina di gestione delle \glossaryItem{Company}. &  Capitolato \newline UC-S0  \newline  \\ \hline
	
	R1O 5.1 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter aggiungere una \glossaryItem{Company}. &  Capitolato \newline UC-S1  \newline  \\ \hline
	
	R1O 5.2 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter modificare i dati di una \glossaryItem{Company}. &  Capitolato \newline UC-S2  \newline  \\ \hline
	
	R1O 6 & Funzionale \newline Obbligatorio & Il sistema deve mantenere un'associazione tra un utente e una \glossaryItem{Company}. &  Capitolato \newline  \\ \hline
	
	R1O 7 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter visualizzare in dettaglio il profilo di un utente di una \glossaryItem{Company}. & Capitolato \newline UC-S0.1.2  \newline  \\ \hline
	
	R1O 7.1 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter modificare i dati di un utente. &  Capitolato \newline UC-S0.1.3  \newline  \\ \hline
	
	R1O 7.2 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter eliminare un utente. &  Capitolato \newline UC-S0.1.4  \newline  \\ \hline
	
	R1O 7.3 & Funzionale \newline Obbligatorio & Il \glossaryItem{Super-Admin} deve poter creare un altro \glossaryItem{Super-Admin}. &  Capitolato \newline UC-S1.0  \newline  \\ \hline

	R1O 8 & Funzionale \newline Obbligatorio & L’\glossaryItem{Owner} di una \glossaryItem{Company} deve poter rimuovere un utente. &  Capitolato \newline UC-U13, UC-U13.5  \newline  \\ \hline
	
	R1O 9 & Funzionale \newline Obbligatorio & L’\glossaryItem{Owner} di una \glossaryItem{Company} deve poter inserire manualmente un nuovo utente presso \glossaryItem{MaaS}. &  Capitolato \newline UC-U13, UC-U13.6  \newline  \\ \hline
	
	%<< end 
	
	
    R1O 10 & Funzionale \newline Obbligatorio & Il sistema permette all'utente di mantenere salvato un \glossaryItem{DSL} precedentemente creato. &  Capitolato \newline  UC-E1 \newline UC-E3.3  \\ \hline
    
    R1D 11 & Funzionale \newline Desiderabile & Il sistema permette all'utente di scaricare da \glossaryItem{Terminale} una specifica \glossaryItem{DSL}, in un formato leggibile dall'editor. &  Capitolato \newline  UC-E1 \newline \\ \hline
    
    R1D 12 & Funzionale \newline Desiderabile & Offrire un'interfaccia grafica per la manipolazione del \glossaryItem{DSL}. & Capitolato \newline UC-E1 \newline UC-E2 \newline UC-E3 \newline UC-E3 \\ \hline
    
    R1D 12.1 & Funzionale \newline Desiderabile & L'utente attraverso l'interfaccia grafica pu\`o eseguire l'invio del \glossaryItem{DSL} definito. & UC-E3.1 \\ \hline
    
    R1D 12.2 & Funzionale \newline Desiderabile & L'utente attraverso l'interfaccia grafica visualizza l'insieme delle \glossaryItem{DSL} a cui pu\`o accedere. & UC-E1 \\ \hline
    
    R1D 13 & Funzionale \newline Desiderabile & L'utente deve poter manipolare la struttura del \glossaryItem{DSL} attraverso una rappresentazione grafica. & Capitolato \newline UC-E2\\ \hline

    R1D 13.1 & Funzionale \newline Desiderabile & La \glossaryItem{Collection} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.1\\ \hline
    
    R1D 13.2 & Funzionale \newline Desiderabile & Una funzione in \glossaryItem{JavaScript} deve avere una rappresentazione grafica visibile sul browser. & UC-E2\\ \hline

    R1D 13.3 & Funzionale \newline Desiderabile & \glossaryItem{Index} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.1 \newline UC-E2.3\\ \hline

    R1D 13.4 & Funzionale \newline Desiderabile & \glossaryItem{Column} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.3 \newline UC-E2.4\\ \hline

    R1D 13.5 & Funzionale \newline Desiderabile & \glossaryItem{Row} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.5 \newline UC-E2.6\\ \hline
    
    R1D 13.6 & Funzionale \newline Desiderabile & \glossaryItem{Document} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.6\\ \hline
    
    R1D 13.7 & Funzionale \newline Desiderabile & Un dato in formato \glossaryItem{JSON} deve avere una rappresentazione grafica visibile sul browser. & UC-E2 \newline UC-E2.7 \newline UC-E2.8\\ \hline
    
    R1D 13.8 & Funzionale \newline Desiderabile & \glossaryItem{Cell} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.8\\ \hline

    R1D 13.9 & Funzionale \newline Desiderabile & \glossaryItem{Dashboard} deve avere una rappresentazione grafica visibile sul browser. & Capitolato \newline UC-E2 \newline UC-E2.9\\ \hline
    
    R1D 13.10 & Funzionale \newline Desiderabile & \glossaryItem{DashRow} deve avere una rappresentazione grafica visibile sul browser. & UC-E2 \newline UC-E2.9 \newline UC-E2.1D\\ \hline
    
    R1D 13.11 & Funzionale \newline Desiderabile & Una \glossaryItem{Action} definita dall'amministratore della piattaforma deve avere una rappresentazione grafica visibile sul browser. & UC-E2 \newline UC-E2.11 \\ \hline
    
    R1D 14 & Funzionale \newline Desiderabile & L'utente, in caso di errori, deve essere avvisato con un messaggio d'errore. & UC-E3.4  \\ \hline
    
    R3D 14.1 & Funzionale \newline Desiderabile & Il messaggio d'errore in caso di fallimento della validazione del \glossaryItem{DSL} deve indicare il \glossaryItem{DSL Element} che genera l'errore. & UC-E3.4 \\ \hline
    
    R1D 15 & Funzionale \newline Desiderabile & Ad ogni azione dell'utente compiuta nell'editor corrisponde la manipolazione della struttura del \glossaryItem{DSL}. & Capitolato \newline UC-E2\\ \hline
    
    R1D 16 & Funzionale \newline Desiderabile & L'applicazione deve poter determinare la correttezza di una struttura \glossaryItem{DSL} & UC-E3.2 \newline\\ \hline
    
    R1D 17 & Funzionale \newline Desiderabile & L'utente pu\`o usare il tipo di collegamento \glossaryItem{Riferimento} tra due elementi del \glossaryItem{DSL}. & UC-E2 \newline UC-E2.6.1 \\ \hline
    
    R1D 18 & Funzionale \newline Desiderabile & L'utente pu\`o usare il tipo di collegamento \glossaryItem{Associazione} tra due elementi del \glossaryItem{DSL}.
    & Capitolato \newline UC-E2 \newline UC-E2.0.3 \newline UC-E2.0.5 \newline UC-E2.1.1 \newline UC-E2.1.2 \newline UC-E2.3.2 \newline UC-E2.8.2 \newline UC-E2.6.3 \newline UC-E2.6.4 \newline UC-E2.7.3 \newline UC-E2.8.2 \newline UC-E2.9.1 \newline UC-E2.10.1 \newline UC-E2.10.2 \newline UC-E2.10.3 \newline UC-E2.11.1\\ \hline
    
    R1D 19 & Funzionale \newline Desiderabile & L'utente definisce i valori degli attributi del \glossaryItem{DSL} tramite editor. & UC-E2.0.2 \newline UC-E2.7.2\\ \hline
    
    R1D 20 & Funzionale \newline Desiderabile & L'utente deve aggiungere o rimuovere gli attributi del \glossaryItem{DSL} tramite l'editor. & UC-E2.3.1 \newline UC-E2.6.2 \newline UC-E2.7.1 \newline UC-E2.9.2\\ \hline
    
    R1D 21 & Funzionale \newline Desiderabile & L'utente deve aggiungere o rimuovere una struttura del \glossaryItem{DSL} tramite editor. & UC-E2.0.1 \newline UC-E2.0.4\\ \hline
    
    R1D 22 & Funzionale \newline Desiderabile & L'utente pu\`o scrivere la funzione \glossaryItem{JavaScript} direttamente nell'editor. & UC-E2.2 \newline UC-E2.2.1\\ \hline

    R1D 23 & Funzionale \newline Opzionale & L'utente attraverso l'interfaccia grafica deve essere in grado di salvare i metodi creati. & UC-E2.2.2\\ \hline
    
    R1D 24 & Funzionale \newline Opzionale & L'utente pu\`o importare nel \glossaryItem{DSL} corrente una funzione \glossaryItem{JavaScript} precedentemente creata. & UC-E2.2.2 \newline UC-E2.2.3\\ \hline
    
    R1D 25 & Funzionale \newline Desiderabile & L'utente attraverso l'interfaccia grafica visualizza l'insieme dei metodi a cui pu\`o accedere. & UC-E2.0.6\\ \hline
    
    R1D 26 & Funzionale \newline Desiderabile & L'utente pu\`o scegliere qual'\`e il tipo di dato rappresentato dal \glossaryItem{Cell Element} & UC-E2.8.1\\ \hline
    
    R1D 27 & Funzionale \newline Desiderabile & Importare una \glossaryItem{Action} definita dall'amministratore nel \glossaryItem{DSL} corrente. & Capitolato \newline UC-E2 \newline UC-E2.1 \newline UC-E2.6 \newline UC-E2.9\\ \hline

    R1D 28 & Funzionale \newline Desiderabile & Selezionare la funzionalit\`a della \glossaryItem{Action}. & Capitolato \newline UC-E2.11 \newline UC-E.11.2 \\ \hline
    
    R1D 29 & Funzionale \newline Desiderabile & Impostare associazioni tra \glossaryItem{DSL Element} obbligatorie non modificabili. & Capitolato \newline UC-E2.11.2\\ \hline
        
    R1D 30 & Funzionale \newline Desiderabile & La \glossaryItem{DSL} creata dall'editor deve essere inviata al server \glossaryItem{MaaS}. & Capitolato \newline UC-E3\\ \hline
        
    \caption{Requisiti funzionali}
  \end{longtable}
  \egroup
\end{center} 

\subsection{Requisiti di qualità}

\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{2cm} | p{4.7cm} | p{2cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} & \cellcolor[gray]{0.9} \textbf{Tipologia} 
    & \cellcolor[gray]{0.9} \textbf{Descrizione} & \cellcolor[gray]{0.9} \textbf{Fonti} \\ \hline
    R3O 1 & Qualità \newline Obbligatorio & Devono essere scritti e rilasciati manuali d’uso ed ogni altra documentazione tecnica (in lingua inglese) necessaria per l’utilizzo del prodotto. & Capitolato, Incontro con il proponente \\ \hline
    R3O 2 & Qualità \newline Obbligatorio & Per lo sviluppo del prodotto richiesto verranno rispettate tutte le norme descritte nel documento  \NormeDiProgetto & Capitolato \\ \hline
    \end{longtable}
  \egroup
\end{center}  

\subsection{Requisiti di vincolo}
\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{2cm} | p{4.7cm} | p{2cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} & \cellcolor[gray]{0.9} \textbf{Tipologia} 
    & \cellcolor[gray]{0.9} \textbf{Descrizione} & \cellcolor[gray]{0.9} \textbf{Fonti} \\ \hline
    R4O 1 & Vincolo \newline Obbligatorio & Il codice sorgente deve essere reso pubblico e posto sotto il controllo di versione usando github o bitbucket & Capitolato \\ \hline
    R4O 2 & Vincolo \newline Obbligatorio & Lo \glossaryItem{Stack tecnologico} da usare deve includere: \newline
- \glossaryItem{Node.js} per il \glossaryItem{Back End}. \newline 
- \glossaryItem{MongoDB} (versione >= 3.x) per il database dell'applicazione. 
& Capitolato \\ \hline
    R4O 3 & Vincolo \newline Obbligatorio &  Obbligo di effettuare il \glossaryItem{deployment} su \glossaryItem{Heroku}.
      & Capitolato \\ \hline
    \end{longtable}
  \egroup
\end{center}   

\subsection{Tracciamento requisiti-fonti}

\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ | l | p{8cm} | }
    \hline
    \cellcolor[gray]{0.9} \textbf{Requisito} &   
    \cellcolor[gray]{0.9} \textbf{Fonte}\\ \hline
    R1O 1 & Capitolato, UC-U1, Riunione con il proponente. \\ \hline
    R1O 1.1 & Capitolato, UC-U1, UC-U1.1 \\ \hline
    R1O 1.2 & Capitolato, UC-U1, UC-U1.2 \\ \hline
    R1O 1.3 & Capitolato, UC-U1, UC-U1.3 \\ \hline
    R1O 2 & Capitolato, UC-U3, UC-U4, Riunione con il proponente. \\ \hline
    R1O 2.1 & Capitolato, UC-U4, UC-U4.1, UC-U4.2 \\ \hline
    R1O 2.2 & Capitolato, UC-U4, UC-U4.1, UC-U4.2\\ \hline
    R1O 2.3 & Capitolato, UC-U6, UC-U6.1 \\ \hline
    R1O 2.4 & Capitolato, UC-U9 \\ \hline
    R1O 2.4.1 & Capitolato, UC-U9,UC-U9.1 \\ \hline
    R1O 2.4.2 & Capitolato, UC-U9, UC-U9.2 \\ \hline
    R1O 2.4.3 & Capitolato, UC-U9, UC-U9.3, UC-U9.4, UC-U9.4.1, UC-U9.4.2\\ \hline
    R1O 3 & Capitolato, UC-U11 \\ \hline
    R1O 3.1 & Capitolato, UC-U11, UC-U11.1\\ \hline
    R1O 3.2 & Capitolato, UC-U11, UC-U11.2\\ \hline
    R1O 3.3 & Capitolato, UC-U11, UC-U11.3\\ \hline
    R1O 3.4 & Capitolato, UC-U11, UC-U11.4\\ \hline
    R1O 3.5 & Capitolato, UC-U13, UC-U13.2, UC-U13.3\\ \hline
    R1O 3.6 & Capitolato, UC-U13, UC-U13.4\\ \hline
    R1O 4 & Capitolato, UC-U15, UC-U15.1 \\ \hline
    R1O 4.1 & Capitolato, UC-U15, UC-U16, UC-U16.1, UC-U16.2, UC-U16.3, UC-U16.4 \\ \hline
    R1O 4.2 & Capitolato, UC-U15, UC-U16 \\ \hline
    R1O 4.2.1 & Capitolato, UC-U15, UC-U16, UC-U16.5, UCU16.5.1, UCU16.5.2, UC-U16.5.3 \\ \hline
    R1O 4.2.2 & Capitolato, UC-U15, UC-U16, UC-U16.6.1, UC-U16.6.2, UC-U16.6.3 \\ \hline
    R1O 4.2.3 & Capitolato, UC-U15, UC-U16, UC-U16.6.4, UC-U16.6.5 \\ \hline
    R1O 4.2.4 & Capitolato, UC-U15, UC-U16, UC-U16.7.1 \\ \hline
    R1O 4.2.5 & Capitolato, UC-U15, UC-U15.2, UC-U16 \\ \hline
    R1O 4.2.6 & Capitolato, UC-U15, UC-U16, UC-U16.7.3, UC-U16.7.4 \\ \hline
    R1O 5 & Capitolato, UC-S0 \\ \hline
    R1O 5.1 & Capitolato, UC-S1 \\ \hline
    R1O 5.2 & Capitolato, UC-S2 \\ \hline
    R1O 6 & Capitolato \\ \hline
    R1O 7 & Capitolato, UC-S0.1.2 \\ \hline
    R1O 7.1 & Capitolato, UC-S0.1.3 \\ \hline
    R1O 7.2 & Capitolato, UC-S0.1.4 \\ \hline
    R1O 7.3 & Capitolato, UC-S1.0 \\ \hline
    R1O 8 & Capitolato, UC-U13, UC-U13.5 \\ \hline
    R1O 9 & Capitolato, UC-U13, UC-U13.6 \\ \hline
    R1O 10 & Capitolato, UC-E1, UC-E3.3 \\ \hline
    R1D 11 & Capitolato, UC-E1 \\ \hline
    R1D 12 & Capitolato, UC-E1, UC-E2, UC-E3, UC-E3  \\ \hline
    R1D 12.1 & UC-E3.1  \\ \hline
    R1D 12.2 & UC-E1  \\ \hline
    R1D 13 & Capitolato, UC-E2 \\ \hline
    R1D 13.1 & Capitolato, UC-E2, UC-E2.1  \\ \hline
    R1D 13.2 & UC-E2 \\ \hline
    R1D 13.3 & Capitolato, UC-E2, UC-E2.1, UC-E2.3 \\ \hline
    R1D 13.4 & Capitolato, UC-E2, UC-E2.3, UC-E2.4  \\ \hline
    R1D 13.5 & Capitolato, UC-E2, UC-E2.5, UC-E2.6 \\ \hline
    R1D 13.6 & Capitolato, UC-E2, UC-E2.6 \\ \hline
    R1D 13.7 & UC-E2, UC-E2.7, UC-E2.8 \\ \hline
    R1D 13.8 & Capitolato, UC-E2, UC-E2.8 \\ \hline
    R1D 13.9 & Capitolato, UC-E2, UC-E2.9 \\ \hline
    R1D 13.10 & UC-E2, UC-E2.9, UC-E2.1D \\ \hline
    R1D 13.11 & UC-E2, UC-E2.11 \\ \hline
    R1D 14 &  UC-E3.4  \\ \hline
    R3D 14.1 & UC-E3.4 \\ \hline
    R1D 15 & Capitolato, UC-E2  \\ \hline
    R1D 16 & UC-E3.2 \\ \hline
    R1D 17 & UC-E2, UC-E2.6.1 \\ \hline
    R1D 18 & Capitolato, UC-E2, UC-E2.0.3, UC-E2.0.5, UC-E2.1.1, UC-E2.1.2, UC-E2.3.2, UC-E2.8.2, UC-E2.6.3, UC-E2.6.4, UC-E2.7.3, UC-E2.8.2, UC-E2.9.1, UC-E2.10.1, UC-E2.10.2, UC-E2.10.3, UC-E2.11.1 \\ \hline
    R1D 19 & UC-E2.0.2, UC-E2.7.2 \\ \hline
    R1D 20 & UC-E2.3.1, UC-E2.6.2, UC-E2.7.1, UC-E2.9.2 \\ \hline
    R1D 21 & UC-E2.0.1, UC-E2.0.4 \\ \hline
    R1D 22 & UC-E2.2, UC-E2.2.1 \\ \hline
    R1D 23 & UC-E2.2.2 \\ \hline
    R1D 24 & UC-E2.2.2, UC-E2.2.3  \\ \hline
    R1D 25 & UC-E2.0.6  \\ \hline
    R1D 26 & UC-E2.8.1 \\ \hline
    R1D 27 & Capitolato, UC-E2, UC-E2.1, UC-E2.6, UC-E2.9 \\ \hline
    R1D 28 & Capitolato, UC-E2.11, UC-E.11.2 \\ \hline
    R1D 29 & Capitolato, UC-E2.11.2 \\ \hline
    R1D 30 & Capitolato, UC-E3 \\ \hline
    R3O 1 & Capitolato, Incontro con il proponente\\ \hline
    R3O 2 & Capitolato \\ \hline
    R4O 1 & Capitolato \\ \hline
    R4O 2 & Capitolato \\ \hline
    R4O 3 & Capitolato \\ \hline
    \end{longtable}
  \egroup
\end{center} 

\subsection{Tracciamento fonti-requisiti}

\begin{center}
  \bgroup
  \def\arraystretch{1.8}
  \begin{longtable}{ |  p{5cm} | p{5cm} |}
    \hline
    \cellcolor[gray]{0.9} \textbf{Fonte} &   
    \cellcolor[gray]{0.9} \textbf{Requisito}\\ \hline
    Capitolato & R1O 1, R1O 2, R1O 2.1, R1O 2.2, R1O 2.3, R1O 2.3.1, R1O 2.3.2, R1O 2.3.3, R1O 3, R1O 3.1, R1O 3.2, R1O 3.3, R1O 3.4, R1O 3.5, R1O 3.6, R1O 4, R1O 4.1, R1O 4.2, R1O 4.2.1, R1O 4.2.2, R1O 4.2.3, R1O 4.2.4, R1O 4.2.5, R1O 4.2.6, R1O 5, R1O 5.1, R1O 5.2, R1O 6, R1O 7, R1O 7.1, R1O 7.2, R1O 7.3, R1O 8, R1O 9, R1O 10, R1D 11, R1D 12, R1D 13, R1D 13.1, R1D 13.3, R1D 13.4, R1D 13.5, R1D 13.6, R1D 13.8, R1D 13.9, R1D 15, R1D 18, R1D 27, R1D 28, R1D 29, R1D 30, R3O 1, R3O 2, R4O 1, R4O 2, R4O 3 \\ \hline
    UC-U1 & R1O 1, R1O 1.1, R1O 1.2, R1O 1.3  \\ \hline
    UC-U1.1 & R1O 1.1  \\ \hline
    UC-U1.2 & R1O 1.2  \\ \hline
    UC-U1.3 & R1O 1.3  \\ \hline
    UC-U3 & R1O 2, R1O 2.1  \\ \hline
    UC-U4,UC-U4.1, UC-U4.2 & R1O 2, R1O 2.2 \\ \hline
    UC-U6, UC-U6.1 & R1O 2.3  \\ \hline
    UC-U9 & R1O 2.4, R1O 2.4.1, R1O 2.4.2, R1O 2.4.3  \\ \hline
    UC-U9.1 & R1O 2.4.1  \\ \hline
    UC-U9.2 & R1O 2.4.2  \\ \hline
    UC-U9.3, UC-U9.4, UC-U9.4.1, UC-U9.4.2 & R1O 2.4.3  \\ \hline
    UC-U11 & R1O 3, R1O 3.1, R1O 3.2, R1O 3.3, R1O 3.4  \\ \hline
    UC-U11.1 & R1O 3.1  \\ \hline
    UC-U11.2 & R1O 3.2  \\ \hline
    UC-U11.3 & R1O 3.3  \\ \hline
    UC-U11.4 & R1O 3.4  \\ \hline
    UC-U13 & R1O 3.5, R1O 3.6, R1O 8, R1O 9  \\ \hline
    UC-U13.2, UC-U13.3 & R1O 3.5  \\ \hline
    UC-U13.4 & R1O 3.6  \\ \hline
    UC-U13.5 & R1O 8  \\ \hline
    UC-U13.6 & R1O 9  \\ \hline
    UC-U15 & R1O 4, R1O 4.1, R1O 4.2, R1O 4.2.1, R1O 4.2.2, R1O 4.2.3, R1O 4.2.4, R1O 4.2.5, R1O 4.2.6  \\ \hline
    UC-U15.1 & R1O 4  \\ \hline
    UC-U15.2 & R1O 4.2.5  \\ \hline
    UC-U16.1, UC-U16.2, UC-U16.3, UC-U16.4 & R1O 4.1  \\ \hline
    UC-U16.5, UC-U16.5.1, UC-U16.5.2, UC-U16.5.3 & R1O 4.2.1  \\ \hline
    UC-U16.6.1, UC-U16.6.2, UC-U16.6.3 & R1O 4.2.2  \\ \hline
    UC-U16.6.4, UC-U16.6.5 & R1O 4.2.3  \\ \hline
    UC-U16.7.1 & R1O 4.2.4  \\ \hline
    UC-U16 & R1O 4.1, R1O 4.2, R1O 4.2.1, R1O 4.2.2, R1O 4.2.3, R1O 4.2.4, R1O 4.2.5, R1O 4.2.6   \\ \hline
    UC-U16.7.3, UC-U16.7.4 & R1O 4.2.6  \\ \hline
    UC-S0 & R1O 5  \\ \hline
{'fraction_non_alphanumeric': 0.12629764131910054, 'fraction_numerical': 0.06591834488830196, 'mean_word_length': 2.9222358103733543, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2365253', 'n_tokens_mistral': 24974, 'n_tokens_neox': 22941, 'n_words': 6033}