From 20e42a8de684a0407d82ff1e0fa24f180580eb66 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Mon, 2 Mar 2020 02:03:50 +0100 Subject: [PATCH 01/44] =?UTF-8?q?docs:=20aggiungi=20sezione=20sul=20report?= =?UTF-8?q?=20delle=20attivit=C3=A0=20di=20verifica?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/report-verifica.tex | 35 +++++++++++++++++++ .../piano-di-qualifica/piano-di-qualifica.tex | 8 +++++ 2 files changed, 43 insertions(+) create mode 100644 esterni/piano-di-qualifica/components/report-verifica.tex diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex new file mode 100644 index 00000000..e6402827 --- /dev/null +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -0,0 +1,35 @@ +\documentclass[../piano-di-qualifica.tex]{subfiles} + +\begin{document} + \subsection{Analisi statica dei documenti} + \label{sub:analisi_statica_doc} + Per l'analisi statica dei documenti GruppOne ha utilizzato il package \glossario{chktex}, che ha consentito di trovare errori nella sintassi latex. + Il test, eseguito ad ogni modifica repository ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. + % sub:analisi_statica_doc (end) + \subsection{Esito verifica leggibilità} + \label{sub:verifica_leggibilita} + Allo scopo di assicurarci una leggibilità perlomeno accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento, qui sotto riportiamo i risultati della versione consegnata in RR e successive relativamente agli obiettivi di qualità che erano stati definiti. + \rowcolors{2}{lightgray}{white!80!lightgray!100} + \begin{longtable}[H]{>{\centering\bfseries}m{6cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{4cm}} + \rowcolor{darkgray!90!} + \color{white}{\textbf{Documento}} & \color{white}{\textbf{Indice Gulpease 0.0.8}} & \color{white}{\textbf{Indice Gulpease 0.1.?}} &\color{white}{\textbf{Esito dell'ultima verifica}} \\ + Piano di Progetto & 96 & &Positivo\\ + Norme di Progetto & 68 & &Positivo\\ + Piano di Qualifica & 81 & &Positivo\\ + Studio di Fattibilità & 65 &&Positivo\\ + Analisi dei requisiti & 100 & & Positivo\\ + Glossario & 74 & & Sufficiente\\ + Verbale esterno 2019-12-16 & 71 & & Sufficiente \\ + Verbale esterno 2020-01-09 & 67 & & Sufficiente \\ + Verbale esterno 2020-02-25 &-& & Sufficiente \\ + Verbale esterno 2020-02-26 &-& &Positivo\\ + Verbale esterno 2020-01-13 & 62 & &Positivo\\ + Verbale interno 2020-11-22 & 81 & &Positivo\\ + Verbale interno 2020-11-28 & 75 & &Positivo\\ + Verbale interno 2020-12-20 & 69 & &Positivo\\ + Verbale interno 2020-01-03 & 79 & &Positivo\\ + Verbale interno 2020-02-25 &-& &Positivo\\ +\end{longtable} + % sub:verifica_leggibilita (end) +\end{document} + diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index cea35aab..4e97dfdc 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -58,4 +58,12 @@ \section{Qualità di processo}% \subfile{components/qualita-di-processo} +\newpage +\section{Report sull'attività di Verifica}% +\label{sec:report_verifica} + +\subfile{components/report-verifica} + +% TODO aggiungere sezione su report? + \end{document} From a3248121912ef252cb08ca6f02b900795bef2013 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Mon, 2 Mar 2020 12:55:15 +0100 Subject: [PATCH 02/44] docs: aggiorna il registro delle modifiche --- .../components/qualita-di-prodotto.tex | 16 ++++++++-------- .../piano-di-qualifica/piano-di-qualifica.tex | 4 ++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index 22e46342..e3ce5283 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -92,14 +92,14 @@ \subsubsection{Obiettivi}% \subsubsection{Metriche}% \label{subs:metriche} -\begin{description} - \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} - \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} - \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la Analizzabilità, Modificabilità e Testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. - \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} -\end{description} + \begin{description} + \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. + \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} + \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. + \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} + \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, Modificabilità e Testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. + \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} + \end{description} % subs:metriche (end) % sub:manutenibilita (end) diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index 4e97dfdc..6654818c 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -20,6 +20,10 @@ \setUso{Esterno} \setDescrizione{Questo documento illustra la strategia complessiva di verifica e validazione implementata da GruppOne al fine di garantire qualità nel progetto} \setModifiche{% +\cellcolor{white!80!lightgray!100} & Riccardo Agatea & 2020--03--03 & approva documento \\% +\cellcolor{white!80!lightgray!100} & Riccardo Agatea & 2020--03--02 & verifica documento \\% +\cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--03--01 & correggi riferimenti a standard in §~\ref{sec:introduzione}\\% +\multirow{-4}{*}{0.1.5} \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--02--29 & inserisci sezione sul report dell'attività di verifica, §~\ref{sec:report_verifica} \\% \cellcolor{lightgray} & Alessandro Rizzo & 2020--01--13 & approva documento \\% \cellcolor{lightgray} & Riccardo Agatea, Alberto Gobbo & 2020--01--13 & verifica documento completo \\% \cellcolor{lightgray} & Tobia Apolloni & 2020--01--09 & aggiungi sigle alle metriche per la qualità di prodotto in §~\ref{sec:qualita_di_prodotto}\\% From 78224e57a34f414cef882c94acbcf095dbcd3805 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Tue, 3 Mar 2020 09:40:07 +0100 Subject: [PATCH 03/44] docs: correggi label multipli --- .../components/qualita-di-processo.tex | 22 +-- .../components/qualita-di-prodotto.tex | 156 +++++++++--------- 2 files changed, 89 insertions(+), 89 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index 920e8fde..4697c30b 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -60,11 +60,11 @@ \subsubsection{Processo di documentazione}% \label{subs:processo_di_documentazione} \paragraph{Obiettivi}% -\label{par:obiettivi} +\label{par:obiettivi_doc} Lo scopo del processo di documentazione è di tracciare e mantenere registrate informazioni e prodotti relativi ai processi. \paragraph{Esiti}% -\label{par:esiti} +\label{par:esiti_doc} L'istanziazione del processo di documentazione di qualità implica la produzione di documentazione: \begin{itemize} \item Completa @@ -76,7 +76,7 @@ \subsubsection{Processo di documentazione}% \end{itemize} \paragraph{Metriche}% -\label{par:metriche} +\label{par:metriche_doc} \textbf{MPS-IDG}: l'indice di Gulpease è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. \begin{itemize} @@ -103,7 +103,7 @@ \subsubsection{Processo di risoluzione dei problemi}% \label{subs:processo_di_risoluzione_dei_problemi} \paragraph{Obiettivi}% -\label{par:obiettivi} +\label{par:obiettivi_prob} Lo scopo del processo di risoluzione dei problemi è di mantenere traccia delle problematiche riscontrate durante lo svolgimento del progetto e di offrire soluzioni. @@ -111,7 +111,7 @@ \subsubsection{Processo di risoluzione dei problemi}% % \label{par:esiti} \paragraph{Metriche}% -\label{par:metriche} +\label{par:metriche_prob} I risultati di un processo di risoluzione dei problemi di qualità sono: \begin{itemize} @@ -135,12 +135,12 @@ \subsubsection{Processo di gestione dei rischi}% \label{sub:processo_di_gestione_dei_rischi} \paragraph{Obiettivi}% -\label{par:obiettivi} +\label{par:obiettivi_rischi} L'obiettivo del processo di gestione dei rischi è di identificare, analizzare, monitorare e prevenire i rischi che possono verificarsi nel corso del ciclo di vita del software. \paragraph{Esiti}% -\label{par:esiti} +\label{par:esiti_rischi} I risultati di un processo di gestione dei rischi di qualità sono: \begin{itemize} @@ -151,7 +151,7 @@ \subsubsection{Processo di gestione dei rischi}% \end{itemize} \paragraph{metriche}% -\label{par:metriche} +\label{par:metriche_rischi} \textbf{MPS-RNP}: l'indice dei rischi incontrati ma non preventivati è definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. \begin{itemize} @@ -167,11 +167,11 @@ \subsubsection{Processo di gestione del personale}% \label{par:pianificazione} \subparagraph{Obiettivi}% -\label{subp:obiettivi} +\label{subp:obiettivi_pers} L'obiettivo dell'attività di pianificazione è di stabilire e organizzare le principali attività e compiti di progetto. \subparagraph{Esiti}% -\label{subp:esiti} +\label{subp:esiti_pers} I risultati di un'attività di pianificazione di qualità sono: \begin{itemize} \item L'individuazione dello scopo del progetto. @@ -182,7 +182,7 @@ \subsubsection{Processo di gestione del personale}% \end{itemize} \paragraph{Metriche}% -\label{par:metriche} +\label{par:metriche_pers} \textbf{MPS-VDC}: l'indice di varianza dei costi è definito nelle \textit{Norme di progetto} alla sezione 4.3.5.1. \begin{itemize} diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index e3ce5283..cb2782a4 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -8,70 +8,70 @@ \subsection{Appropriatezza funzionale}% \label{sub:appropriatezza_funzionale} -Rappresenta il grado a cui un prodotto software fornisce funzionalità che rispettano requisiti espliciti o impliciti se usato in specifiche condizioni. -\subsubsection{Obiettivi}% -\label{subs:obiettivi} -\begin{description} - \item [Correttezza]: Grado con cui il prodotto fornisce risultati corretti con il livello di precisione richiesto. - \item [Completezza]: Grado con cui le funzionalità offerte dal prodotto coprono tutti i compiti specificati e gli obiettivi dell'utente - \item [Appropriatezza]: Grado con cui le funzionalità del prodotto agevolano il raggiungimento di determinati obiettivi. -\end{description} -% subs:obiettivi (end) + Rappresenta il grado a cui un prodotto software fornisce funzionalità che rispettano requisiti espliciti o impliciti se usato in specifiche condizioni. + \subsubsection{Obiettivi}% + \label{subs:obiettivi_funzionale} + \begin{description} + \item [Correttezza]: Grado con cui il prodotto fornisce risultati corretti con il livello di precisione richiesto. + \item [Completezza]: Grado con cui le funzionalità offerte dal prodotto coprono tutti i compiti specificati e gli obiettivi dell'utente + \item [Appropriatezza]: Grado con cui le funzionalità del prodotto agevolano il raggiungimento di determinati obiettivi. + \end{description} + % subs:obiettivi_funzionale (end) -\subsubsection{Metriche}% -\label{subs:metriche} -\begin{description} - \item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. + \subsubsection{Metriche}% + \label{subs:metriche_funzionale} + \begin{description} + \item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} \end{description} -% subs:metriche (end) + % subs:metriche_funzionale (end) % sub:appropriatezza_funzionale (end) \subsection{Performance}% \label{sub:performance} -Questa caratteristica rappresenta la performance del prodotto relativamente alle risorse utilizzate in specifiche condizioni. -\subsubsection{Obiettivi}% -\label{subs:obiettivi} -\begin{description} - \item [Risposta nel tempo]: Grado con cui i tempi di risposta e di elaborazione del prodotto rispettano i requisiti. - \item [Utilizzo delle risorse]: Grado con cui la quantità e il tipo di risorse usate dal prodotto rispettano i requisiti. - \item [Capacità]: Grado con cui il massimo limite di un parametro del prodotto rispetta i requisiti. -\end{description} -% subs:obiettivi (end) + Questa caratteristica rappresenta la performance del prodotto relativamente alle risorse utilizzate in specifiche condizioni. + \subsubsection{Obiettivi}% + \label{subs:obiettivi_performance} + \begin{description} + \item [Risposta nel tempo]: Grado con cui i tempi di risposta e di elaborazione del prodotto rispettano i requisiti. + \item [Utilizzo delle risorse]: Grado con cui la quantità e il tipo di risorse usate dal prodotto rispettano i requisiti. + \item [Capacità]: Grado con cui il massimo limite di un parametro del prodotto rispetta i requisiti. + \end{description} + % subs:obiettivi_performance (end) -\subsubsection{Metriche}% -\label{subs:metriche} -\begin{description} - \item [[MPR-IS \textasciitilde] apdex]: Apdex è una misura numerica della soddisfazione utente in relazione ai tempi di risposta del prodotto in vari casi. L'indice \(A_t\) si calcola come \begin{equation} A_t = \frac{C_s + \frac{C_a}{2}}{C_{tot}} \\ \end{equation} Con t tempo soglia della misura, \(C_s\) numero di casi misurati con tempo inferiore a t, \(C_a\) il numero di casi misurati con tempo compreso tra t e 4t ed \(C_{tot}\) numero di casi totali misurati. - \begin{itemize} \item Valore ammissibile: 0.6 \item Valore ottimale: 0.9 \end{itemize} -\end{description} -% subs:metriche (end) + \subsubsection{Metriche}% + \label{subs:metriche_performance} + \begin{description} + \item [[MPR-IS \textasciitilde] apdex]: Apdex è una misura numerica della soddisfazione utente in relazione ai tempi di risposta del prodotto in vari casi. L'indice \(A_t\) si calcola come \begin{equation} A_t = \frac{C_s + \frac{C_a}{2}}{C_{tot}} \\ \end{equation} Con t tempo soglia della misura, \(C_s\) numero di casi misurati con tempo inferiore a t, \(C_a\) il numero di casi misurati con tempo compreso tra t e 4t ed \(C_{tot}\) numero di casi totali misurati. + \begin{itemize} \item Valore ammissibile: 0.6 \item Valore ottimale: 0.9 \end{itemize} + \end{description} + % subs:metriche_performance (end) % sub:performance (end) \subsection{Sicurezza}% \label{sub:sicurezza} -Questa caratteristica indica il grado con cui il prodotto protegge e limita l'accesso a dati e informazioni in modo da rispettare i livelli di autorizzazione definiti. -\subsubsection{Obiettivi}% -\label{subs:obiettivi} -\begin{description} - \item [Riservatezza]: Grado con cui il prodotto garantisce che i dati siano accessibili solamente a entità autorizzate. - \item [Integrità]: Grado con cui il prodotto previene utilizzi e modifiche non autorizzate di computer, programmi e dati. - \item [Non-ripudiazione]: Grado con cui azioni o eventi che è provato siano avvenute non possano essere ripudiate successivamente. - \item [Autenticazione]: Grado con cui le azioni di un'entità possono essere collegate univocamente all'entità. - \item [Autenticità]: Grado con cui l'identità di un soggetto o risorsa può essere confermata. -\end{description} -% subs:obiettivi (end) + Questa caratteristica indica il grado con cui il prodotto protegge e limita l'accesso a dati e informazioni in modo da rispettare i livelli di autorizzazione definiti. + \subsubsection{Obiettivi}% + \label{subs:obiettivi_sicurezza} + \begin{description} + \item [Riservatezza]: Grado con cui il prodotto garantisce che i dati siano accessibili solamente a entità autorizzate. + \item [Integrità]: Grado con cui il prodotto previene utilizzi e modifiche non autorizzate di computer, programmi e dati. + \item [Non-ripudiazione]: Grado con cui azioni o eventi che è provato siano avvenute non possano essere ripudiate successivamente. + \item [Autenticazione]: Grado con cui le azioni di un'entità possono essere collegate univocamente all'entità. + \item [Autenticità]: Grado con cui l'identità di un soggetto o risorsa può essere confermata. + \end{description} + % subs:obiettivi_sicurezza (end) -\subsubsection{Metriche}% -\label{subs:metriche} -\begin{description} + \subsubsection{Metriche}% + \label{subs:metriche_sicurezza} + \begin{description} \item [[MPR-AS \textasciitilde] Superficie d'attacco]: possiamo monitorare la sicurezza del nostro prodotto e in particolare la riservatezza e l'integrità tramite il calcolo della superficie d'attacco, ossia i punti in cui una entità può provare a estorcere o inserire dati nel sistema. - \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} -\end{description} -% subs:metriche (end) + \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} + \end{description} + % subs:metriche_sicurezza (end) % sub:sicurezza (end) @@ -80,18 +80,18 @@ \subsection{Manutenibilità}% Questa caratteristica rappresenta il grado di efficacia e efficienza con cui il prodotto può essere migliorato, corretto o adattato a nuovi requisiti. \subsubsection{Obiettivi}% -\label{subs:obiettivi} -\begin{description} - \item [Modularità]: Grado con cui il prodotto è composto da parti indipendenti in modo che una modifica a una componente abbia un impatto minimo su tutte le altre. - \item [Riusabilità]: Grado con cui una risorsa può essere utilizzata in più di un sistema. - \item [Analizzabilità]: Grado di efficacia e di efficienza con cui è possibile identificare le cause di errori nel prodotto e le parti da modificare. - \item [Modificabilità]: Grado con cui il prodotto può essere efficacemente ed efficientemente modificato senza introdurre regressioni. - \item [Testabilità]: Grado di efficacia e di efficienza con cui possono essere stabiliti i criteri di test e con cui quei test possono essere eseguiti per verificare quei criteri. -\end{description} -% subs:obiettivi (end) +\label{subs:obiettivi_manutenibilita} + \begin{description} + \item [Modularità]: Grado con cui il prodotto è composto da parti indipendenti in modo che una modifica a una componente abbia un impatto minimo su tutte le altre. + \item [Riusabilità]: Grado con cui una risorsa può essere utilizzata in più di un sistema. + \item [Analizzabilità]: Grado di efficacia e di efficienza con cui è possibile identificare le cause di errori nel prodotto e le parti da modificare. + \item [Modificabilità]: Grado con cui il prodotto può essere efficacemente ed efficientemente modificato senza introdurre regressioni. + \item [Testabilità]: Grado di efficacia e di efficienza con cui possono essere stabiliti i criteri di test e con cui quei test possono essere eseguiti per verificare quei criteri. + \end{description} +% subs:obiettivi_manutenibilita (end) \subsubsection{Metriche}% -\label{subs:metriche} +\label{subs:metriche_manutenibilita} \begin{description} \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} @@ -100,7 +100,7 @@ \subsubsection{Metriche}% \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, Modificabilità e Testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} \end{description} -% subs:metriche (end) +% subs:metriche_manutenibilita (end) % sub:manutenibilita (end) @@ -108,22 +108,22 @@ \subsection{Usabilità}% \label{sub:usabilita} Questa caratteristica rappresenta il grado con cui il prodotto può essere usato da un determinato utente per raggiungere obiettivi specifici con efficienza, efficacia e soddisfazione in un determinato contesto d'uso. \subsubsection{Obiettivi}% -\label{subs:obiettivi} -\begin{description} - \item [Apprendibilità]: Grado con cui il prodotto consente a un determinato utente di apprendere ad utilizzare il prodotto con efficienza, efficacia, libertà dai rischi, e soddisfazione. - \item [Operabilità]: Grado con un il prodotto presenta delle caratteristiche che lo rendono di semplice utilizzo. - \item [Protezione dagli errori]: Grado con cui il prodotto protegge l'utente dal commettere errori. - \item [Accessibilità]: Grado con cui il prodotto risulta utilizzabile da persone con caratteristiche e capacità varie per raggiungere un determinato obiettivo. -\end{description} -% subs:obiettivi (end) +\label{subs:obiettivi_usabilita} + \begin{description} + \item [Apprendibilità]: Grado con cui il prodotto consente a un determinato utente di apprendere ad utilizzare il prodotto con efficienza, efficacia, libertà dai rischi, e soddisfazione. + \item [Operabilità]: Grado con un il prodotto presenta delle caratteristiche che lo rendono di semplice utilizzo. + \item [Protezione dagli errori]: Grado con cui il prodotto protegge l'utente dal commettere errori. + \item [Accessibilità]: Grado con cui il prodotto risulta utilizzabile da persone con caratteristiche e capacità varie per raggiungere un determinato obiettivo. + \end{description} +% subs:obiettivi_usabilita (end) \subsubsection{Metriche}% -\label{subs:metriche} +\label{subs:metriche_usabilita} \begin{description} \item [[MPR-IS \textasciitilde] Percentuale di interazioni sbagliate]: possiamo monitorare la protezione dagli errori del prodotto tramite le interazioni il cui esito si è discostato dall'obiettivo dell'utente rispetto a quelle totali. L'indice \(R_s\) si calcola come \(R_s = \frac{I_{fail}}{I_{tot}} \times 100 \). Dove \(I_{fail}\) sono le interazioni fallite mentre \(I_{tot}\) sono le interazioni totali. \begin{itemize} \item Valore ammissibile: \leq{} 10 \% \item Valore ottimale: \leq{} 2 \% \end{itemize} \end{description} -% subs:metriche (end) +% subs:metriche_usabilita (end) % sub:usabilita (end) @@ -131,22 +131,22 @@ \subsection{Affidabilità}% \label{sub:affidabilita} Questa caratteristica rappresenta il grado con cui il prodotto effettua specifici compiti sotto determinate condizioni per un periodo di tempo fissato. \subsubsection{Obiettivi}% -\label{subs:obiettivi} -\begin{description} - \item [Maturità]: Grado con cui il prodotto rispetta i requisiti di affidabilità in condizioni normali. - \item [Disponibilità]: Grado con cui il prodotto risulta operativo e accessibile quando ne è richiesto l'uso. - \item [Tolleranza agli errori]: Grado con cui il prodotto continua ad operare in maniera corretta nonostante la presenza di errori software e hardware. - \item [Recuperabilità]: Grado con cui il prodotto, in caso di un'interruzione o di un errore, riesce a recuperare i dati coinvolti e ristabilire il corretto funzionamento del sistema. -\end{description} -% subs:obiettivi (end) +\label{subs:obiettivi_affidabilita} + \begin{description} + \item [Maturità]: Grado con cui il prodotto rispetta i requisiti di affidabilità in condizioni normali. + \item [Disponibilità]: Grado con cui il prodotto risulta operativo e accessibile quando ne è richiesto l'uso. + \item [Tolleranza agli errori]: Grado con cui il prodotto continua ad operare in maniera corretta nonostante la presenza di errori software e hardware. + \item [Recuperabilità]: Grado con cui il prodotto, in caso di un'interruzione o di un errore, riesce a recuperare i dati coinvolti e ristabilire il corretto funzionamento del sistema. + \end{description} +% subs:obiettivi_affidabilita (end) \subsubsection{Metriche}% -\label{subs:metriche} +\label{subs:metriche_affidabilita} \begin{description} \item [[MPR-RS \textasciitilde] Percentuale Richieste soddisfatte]: possiamo monitorare la disponibilità e la maturità del prodotto tramite il numero di richieste fatte al software che hanno avuto successo rispetto al totale di richieste effettuate: \(\frac{R_{succ}}{R_{tot}} \). Dove \(R_{succ}\) sono le richieste effettuate con successo mentre \(R_{tot}\) sono le richieste totali. \begin{itemize} \item Valore ammissibile: \le{} 90 \% \item Valore ottimale: \le{} 98 \% \end{itemize} \end{description} -% subs:metriche (end) +% subs:metriche_affidabilita (end) % sub:affidabilita (end) From 6d3907014eea5d4c567b5ff6d16a8a11de843af3 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Tue, 3 Mar 2020 09:54:01 +0100 Subject: [PATCH 04/44] docs: correggi errori chktex --- .../components/report-verifica.tex | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index e6402827..1619ba91 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -1,13 +1,13 @@ \documentclass[../piano-di-qualifica.tex]{subfiles} \begin{document} - \subsection{Analisi statica dei documenti} - \label{sub:analisi_statica_doc} + \subsection{Analisi statica dei documenti} + \label{sub:analisi_statica_doc} Per l'analisi statica dei documenti GruppOne ha utilizzato il package \glossario{chktex}, che ha consentito di trovare errori nella sintassi latex. Il test, eseguito ad ogni modifica repository ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. % sub:analisi_statica_doc (end) - \subsection{Esito verifica leggibilità} - \label{sub:verifica_leggibilita} + \subsection{Esito verifica leggibilità} + \label{sub:verifica_leggibilita} Allo scopo di assicurarci una leggibilità perlomeno accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento, qui sotto riportiamo i risultati della versione consegnata in RR e successive relativamente agli obiettivi di qualità che erano stati definiti. \rowcolors{2}{lightgray}{white!80!lightgray!100} \begin{longtable}[H]{>{\centering\bfseries}m{6cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{4cm}} @@ -21,14 +21,16 @@ Glossario & 74 & & Sufficiente\\ Verbale esterno 2019-12-16 & 71 & & Sufficiente \\ Verbale esterno 2020-01-09 & 67 & & Sufficiente \\ - Verbale esterno 2020-02-25 &-& & Sufficiente \\ - Verbale esterno 2020-02-26 &-& &Positivo\\ + Verbale esterno 2020-02-25 & - & & Sufficiente \\ + Verbale esterno 2020-03-02 & - & &Positivo\\ Verbale esterno 2020-01-13 & 62 & &Positivo\\ + Verbale esterno 2020-02-17 & - & &Positivo\\ + Verbale esterno 2020-01-13 & - & &Positivo\\ Verbale interno 2020-11-22 & 81 & &Positivo\\ Verbale interno 2020-11-28 & 75 & &Positivo\\ Verbale interno 2020-12-20 & 69 & &Positivo\\ Verbale interno 2020-01-03 & 79 & &Positivo\\ - Verbale interno 2020-02-25 &-& &Positivo\\ + Verbale interno 2020-02-25 & - & &Positivo\\ \end{longtable} % sub:verifica_leggibilita (end) \end{document} From fdeffc6ba1475f370c64dc0f8c58324f5d1a8c74 Mon Sep 17 00:00:00 2001 From: Luca Ercole <30255227+erclu@users.noreply.github.com> Date: Wed, 4 Mar 2020 20:33:18 +0100 Subject: [PATCH 05/44] chore: correggi registro delle modifiche --- esterni/piano-di-qualifica/piano-di-qualifica.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index 6654818c..0e2edc20 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -20,10 +20,10 @@ \setUso{Esterno} \setDescrizione{Questo documento illustra la strategia complessiva di verifica e validazione implementata da GruppOne al fine di garantire qualità nel progetto} \setModifiche{% -\cellcolor{white!80!lightgray!100} & Riccardo Agatea & 2020--03--03 & approva documento \\% -\cellcolor{white!80!lightgray!100} & Riccardo Agatea & 2020--03--02 & verifica documento \\% +\cellcolor{white!80!lightgray!100} & Riccardo Agatea & \placeholder{data} & approva documento \\% +\cellcolor{white!80!lightgray!100} & Riccardo Agatea & \placeholder{data} & verifica documento \\% \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--03--01 & correggi riferimenti a standard in §~\ref{sec:introduzione}\\% -\multirow{-4}{*}{0.1.5} \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--02--29 & inserisci sezione sul report dell'attività di verifica, §~\ref{sec:report_verifica} \\% +\multirow{-4}{*}{\placeholder{versione}} \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--02--29 & inserisci sezione sul report dell'attività di verifica, §~\ref{sec:report_verifica} \\% \cellcolor{lightgray} & Alessandro Rizzo & 2020--01--13 & approva documento \\% \cellcolor{lightgray} & Riccardo Agatea, Alberto Gobbo & 2020--01--13 & verifica documento completo \\% \cellcolor{lightgray} & Tobia Apolloni & 2020--01--09 & aggiungi sigle alle metriche per la qualità di prodotto in §~\ref{sec:qualita_di_prodotto}\\% From f634ea064d338ad8ce6972197eeebbd0e29fb62f Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sun, 8 Mar 2020 16:45:02 +0100 Subject: [PATCH 06/44] docs: correggi errori segnalati --- .../piano-di-qualifica/components/qualita-di-prodotto.tex | 2 +- esterni/piano-di-qualifica/components/report-verifica.tex | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index cb2782a4..c0d0f3de 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -97,7 +97,7 @@ \subsubsection{Metriche}% \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} - \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, Modificabilità e Testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. + \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} \end{description} % subs:metriche_manutenibilita (end) diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index 1619ba91..b0dbc127 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -3,12 +3,12 @@ \begin{document} \subsection{Analisi statica dei documenti} \label{sub:analisi_statica_doc} - Per l'analisi statica dei documenti GruppOne ha utilizzato il package \glossario{chktex}, che ha consentito di trovare errori nella sintassi latex. - Il test, eseguito ad ogni modifica repository ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. + Per l'analisi statica dei documenti GruppOne ha utilizzato il package \glossario{chktex} che ha consentito di trovare errori nella sintassi latex. + Il test, eseguito ad ogni modifica repository, ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. % sub:analisi_statica_doc (end) \subsection{Esito verifica leggibilità} \label{sub:verifica_leggibilita} - Allo scopo di assicurarci una leggibilità perlomeno accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento, qui sotto riportiamo i risultati della versione consegnata in RR e successive relativamente agli obiettivi di qualità che erano stati definiti. + Allo scopo di assicurarci una leggibilità accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento. Qui sotto riportiamo i risultati della versione consegnata in RR e successive relativamente agli obiettivi di qualità che erano stati definiti. \rowcolors{2}{lightgray}{white!80!lightgray!100} \begin{longtable}[H]{>{\centering\bfseries}m{6cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{4cm}} \rowcolor{darkgray!90!} From 4f36c88252eea68e0ecccb2c6053ea2a0483d678 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Mon, 2 Mar 2020 12:55:15 +0100 Subject: [PATCH 07/44] docs: aggiorna il registro delle modifiche --- esterni/piano-di-qualifica/piano-di-qualifica.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index 0e2edc20..f0e8f51a 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -37,7 +37,7 @@ \cellcolor{lightgray} & Riccardo Cestaro & 2020--01--05 & aggiungi introduzione §~\ref{sec:introduzione}\\% \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & inizia a scrivere struttura del documento \\% \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & aggiungi redattori e verificatori sui documenti \\% -\multirow{-16}{*}{0.0.7} \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & crea documenti vuoti con template %% +\multirow{-14}{*}{0.0.8} \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & crea documenti vuoti con template %% } \begin{document} From 30f769c6129892222e4fd0d3f9d9d79c09440205 Mon Sep 17 00:00:00 2001 From: Luca Ercole <30255227+erclu@users.noreply.github.com> Date: Wed, 4 Mar 2020 20:33:18 +0100 Subject: [PATCH 08/44] chore: correggi registro delle modifiche --- esterni/piano-di-qualifica/piano-di-qualifica.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index f0e8f51a..d1b5023a 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -37,7 +37,7 @@ \cellcolor{lightgray} & Riccardo Cestaro & 2020--01--05 & aggiungi introduzione §~\ref{sec:introduzione}\\% \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & inizia a scrivere struttura del documento \\% \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & aggiungi redattori e verificatori sui documenti \\% -\multirow{-14}{*}{0.0.8} \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & crea documenti vuoti con template %% +\multirow{-14}{*}{0.0.7} \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & crea documenti vuoti con template %% } \begin{document} From 75f9049dc3583e96e6e0f48bb55656d52f845571 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Thu, 9 Apr 2020 16:12:25 +0200 Subject: [PATCH 09/44] docs: inizializza paragrafo valutazioni per il miglioramento --- .../components/valutazioni-miglioramento.tex | 18 ++++++++++++++++++ .../piano-di-qualifica/piano-di-qualifica.tex | 8 ++++++++ 2 files changed, 26 insertions(+) create mode 100644 esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex new file mode 100644 index 00000000..c3ce2c01 --- /dev/null +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -0,0 +1,18 @@ +\documentclass[../piano-di-qualifica.tex]{subfiles} + +\begin{document} + Lo scopo di questa sezione è riportare una valutazione riguardo il lavoro svolto, in modo da trattare + i problemi sorti e procedere ad un'efficiente risoluzione. + Questo dovrà portare ad un'immunità a tali problemi in futuro. + I problemi sorti vengono sollevati dai componenti dei membri stessi, in quanto non vi è una + persona esterna che possa dare una valutazione oggettiva. + + Questa sezione è destinata ad aggiornarsi con l'avanzamento del lavoro, e arricchirsi in modo + da migliorare progressivamente la qualità del lavoro. + + \subsection{Valutazioni sull'organizzazione} + \subsection{Valutazioni sui ruoli} + \subsection{Valutazioni sugli strumenti di lavoro} + +\end{document} + diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index d1b5023a..7221d01e 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -62,6 +62,14 @@ \section{Qualità di processo}% \subfile{components/qualita-di-processo} + +\newpage +\section{Valutazioni per il miglioramento}% +\label{sec:valutazioni_miglioramento} + +\subfile{components/valutazioni-miglioramento} + + \newpage \section{Report sull'attività di Verifica}% \label{sec:report_verifica} From 1723847b9a5911ccd3548f549c3087b2588834c4 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Thu, 9 Apr 2020 18:40:54 +0200 Subject: [PATCH 10/44] docs: implementa sezione valutazioni per il miglioramento --- .../components/valutazioni-miglioramento.tex | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index c3ce2c01..6d307aeb 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -11,8 +11,43 @@ da migliorare progressivamente la qualità del lavoro. \subsection{Valutazioni sull'organizzazione} + + \rowcolors{2}{lightgray}{white!80!lightgray!100} + \begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} + \rowcolor{darkgray!90!} + \color{white}{\textbf{Dominio}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ + Incontri di gruppo & Durante il periodo di progettazione sono sorti problemi a causa dell'epidemia (COVID-19) che ci ha costretti a non poterci incontrare di persona. & Grazie a strumenti di videoconferenza e videochiamata abbiamo potuto continuare le nostre attività. I nostri incontri verranno eseguiti sempre in modalità telematica fino al termine del progetto didattico.\\ + Technology baseline & A causa di una mancata solida preparazione alla presentazione del proof of concept il gruppo si è dilungato in discorsi non richiesti, andando a sforare il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi cercando aumentare il tempo di preparazione alle varie presentazioni. \\ + \end{longtable} + + +\newpage \subsection{Valutazioni sui ruoli} + + \rowcolors{2}{lightgray}{white!80!lightgray!100} + \begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} + \rowcolor{darkgray!90!} + \color{white}{\textbf{Ruolo}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ + Responsabile & Sono sorte diverse difficoltà da parte del responsabile nella suddivisione bilanciata delle ore tra i membri, provocando sovraccarichi di lavoro. & Il gruppo ha deciso di incrementare l'attenzione nella suddivisione della mole di lavoro ai membri del gruppo. \\ + Analista & Data l'inesperienza di analizzazione sono sorti diversi problemi nell'individuazione dei requisiti e dei casi d'uso, causando rallentamenti. & La soluzione intrapresa è stata quella di contattare il proponente cercando quindi di velocizzare l'individuazione dei requisiti, in modo da non ritardare la consegna in RR. \\ + Responsabile & Data la poca attenzione, è stato sbagliato il preventivo di progetto, andando sotto la soglia richiesta. Questo errore ha provocato delle conseguenze giustamente adeguate. & Da quel momento il gruppo ha deciso di attuare delle attività di verifica più consistenti, in modo da rilevare il prima possibili errori inaccettabili come questo. \\ + Verificatore & La poca esperienza nel campo, ha portato ai verificatori lo studio dei documenti su cui attuare le verifiche, provocando ritardi, oppure mancate correzioni, come quella sopra menzionata. & Il gruppo ha deciso di far prestare molta più attenzione ai verificatori, attuando una politica di ispezione attraverso una check-list. \\ + Programmatore & Sono sorte molte difficoltà nell'utilizzo delle tecnologie a colpa dell'inesperienza nell'uso di esse. Allungando di molto il tempo di autoapprendimento abbiamo raggiunto un punto di non ritorno decidendo di saltare la technology baseline. & Il gruppo ha deciso di sfruttare meglio il tempo a disposizione cercando di massimizzare le ore produttive. \\ + Amministratore & A causa della complessa continuous integration realizzata, i membri del gruppo si sono trovati in difficoltà causando rallentamenti e di conseguenza saltando la technology baseline. & La soluzione intrapresa è stata quella di limitare l'implementazione di nuovi strumenti di continuous integration, che provocano ritardi inaccettabili di fronte a tempi apparentemente stretti. \\ + \end{longtable} + + \newpage \subsection{Valutazioni sugli strumenti di lavoro} + + \rowcolors{2}{lightgray}{white!80!lightgray!100} + \begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} + \rowcolor{darkgray!90!} + \color{white}{\textbf{Strumento}} & \color{white}{\textbf{Descrizione}} & \color{white}{\textbf{Soluzione}} \\ + Latex & Molti membri del gruppo non avendo mai utilizzato questo strumento hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare delle ore di autoapprendimento. \\ + PlantUML & Gli analisti hanno dovuto imbattersi in questo strumento, che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Però lo strumento ha comportato diversi problemi di compatibilità, che sono stati risolti consumando molte ore. & Dopo questo avvenimento il gruppo ha deciso di valutare la complessità di implementazione degli strumenti prima della decisione del suo utilizzo. \\ + \end{longtable} + + \end{document} From 2ed9cb29a65dcf3a94d14a1cb516c1ebc870757e Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Thu, 9 Apr 2020 20:49:39 +0200 Subject: [PATCH 11/44] docs: aggiungi grafici indice di gulpease --- commons/img/gulpease-RP.png | Bin 0 -> 16600 bytes commons/img/gulpease-RR.png | Bin 0 -> 17053 bytes commons/img/gulpease-conf.png | Bin 0 -> 12622 bytes .../components/report-verifica.tex | 50 +++++++++++------- 4 files changed, 30 insertions(+), 20 deletions(-) create mode 100644 commons/img/gulpease-RP.png create mode 100644 commons/img/gulpease-RR.png create mode 100644 commons/img/gulpease-conf.png diff --git a/commons/img/gulpease-RP.png b/commons/img/gulpease-RP.png new file mode 100644 index 0000000000000000000000000000000000000000..ae5c816c9404c10ddb1900dbc90cfaf5a204e01b GIT binary patch literal 16600 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 RAQM2;9%$b$xoiFGe*yA^XQ==H literal 0 HcmV?d00001 diff --git a/commons/img/gulpease-conf.png b/commons/img/gulpease-conf.png new file mode 100644 index 0000000000000000000000000000000000000000..e965e0f88073f5c84edb94274839eb5623ac1ad8 GIT binary patch literal 12622 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 literal 0 HcmV?d00001 diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index b0dbc127..2e02a191 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -1,5 +1,6 @@ \documentclass[../piano-di-qualifica.tex]{subfiles} + \begin{document} \subsection{Analisi statica dei documenti} \label{sub:analisi_statica_doc} @@ -10,28 +11,37 @@ \label{sub:verifica_leggibilita} Allo scopo di assicurarci una leggibilità accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento. Qui sotto riportiamo i risultati della versione consegnata in RR e successive relativamente agli obiettivi di qualità che erano stati definiti. \rowcolors{2}{lightgray}{white!80!lightgray!100} - \begin{longtable}[H]{>{\centering\bfseries}m{6cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{1cm} >{\centering\arraybackslash}m{4cm}} + \begin{longtable}[H]{>{\centering\bfseries}m{6cm} >{\centering\arraybackslash}m{2cm} >{\centering\arraybackslash}m{2cm}>{\centering\arraybackslash}m{2cm} >{\centering\arraybackslash}m{4cm}} \rowcolor{darkgray!90!} - \color{white}{\textbf{Documento}} & \color{white}{\textbf{Indice Gulpease 0.0.8}} & \color{white}{\textbf{Indice Gulpease 0.1.?}} &\color{white}{\textbf{Esito dell'ultima verifica}} \\ - Piano di Progetto & 96 & &Positivo\\ - Norme di Progetto & 68 & &Positivo\\ - Piano di Qualifica & 81 & &Positivo\\ - Studio di Fattibilità & 65 &&Positivo\\ - Analisi dei requisiti & 100 & & Positivo\\ - Glossario & 74 & & Sufficiente\\ - Verbale esterno 2019-12-16 & 71 & & Sufficiente \\ - Verbale esterno 2020-01-09 & 67 & & Sufficiente \\ - Verbale esterno 2020-02-25 & - & & Sufficiente \\ - Verbale esterno 2020-03-02 & - & &Positivo\\ - Verbale esterno 2020-01-13 & 62 & &Positivo\\ - Verbale esterno 2020-02-17 & - & &Positivo\\ - Verbale esterno 2020-01-13 & - & &Positivo\\ - Verbale interno 2020-11-22 & 81 & &Positivo\\ - Verbale interno 2020-11-28 & 75 & &Positivo\\ - Verbale interno 2020-12-20 & 69 & &Positivo\\ - Verbale interno 2020-01-03 & 79 & &Positivo\\ - Verbale interno 2020-02-25 & - & &Positivo\\ + \color{white}{\textbf{Documento}} & \color{white}{\textbf{RR}} & \color{white}{\textbf{RP}} &\color{white}{\textbf{Esito dell'ultima verifica}} \\ + Piano di Progetto & 96 & 95&Sufficiente\\ + Norme di Progetto & 68 & 74&Sufficiente\\ + Piano di Qualifica & 81 & 83&Sufficiente\\ + Studio di Fattibilità & 65 & -&Sufficiente\\ + Analisi dei requisiti & 100 & 100&Sufficiente\\ + Glossario & 74 & 83& Sufficiente\\ + Verbale esterno (media) & 77 & 74&Sufficiente \\ + Verbale interno (media) & 80 & 77&Sufficiente\\ \end{longtable} +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{gulpease-RR.png}% + \caption{Indice di Gulpease per documento in RR}% +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{gulpease-RP.png}% + \caption{Indice di Gulpease per documento in RP}% +\end{figure} + + +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{gulpease-conf.png}% + \caption{Indice di Gulpease a confronto}% +\end{figure} + % sub:verifica_leggibilita (end) \end{document} From 8d7a3c66fa244d1cd3de7bcc86ffc617501e9a24 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Thu, 9 Apr 2020 23:06:52 +0200 Subject: [PATCH 12/44] docs: separa sezione specifica test --- .../components/qualita-di-prodotto.tex | 370 ----------------- .../components/specifica-test.tex | 374 ++++++++++++++++++ .../piano-di-qualifica/piano-di-qualifica.tex | 6 + 3 files changed, 380 insertions(+), 370 deletions(-) create mode 100644 esterni/piano-di-qualifica/components/specifica-test.tex diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index c0d0f3de..35282d98 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -150,374 +150,4 @@ \subsubsection{Metriche}% % sub:affidabilita (end) -\subsection{Specifica dei test}% -\label{sub:test} -Per misurare la qualità di prodotto inoltre utilizziamo dei test secondo il \glossario{Modello a \textit{V}} per il quale definiamo e sviluppiamo i test in parallelo alle attività di analisi, progettazione architetturale e di sviluppo e verifica incrementi. -Abbiamo definito i test dividendoli nelle seguenti categorie: -\begin{description} - \item [Test di Accettazione (TA)] - \item [Test di Sistema (TS)] - \item [Test di Integrazione (TI)] - \item [Test di Unità (TU)] -\end{description} -Inoltre classifichiamo i test in base al loro stato: -\begin{description} - \item [S]: il test è stato soddisfatto - \item [NS]: il test non è stato ancora soddisfatto -\end{description} -\subsubsection{Test di Accettazione}% -\label{subs:accettazione} -I test di accettazione hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti dal proponente, vengono eseguiti durante la fase di verifica e collaudo finale. -Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Accettazione nel modo seguente: -\begin{center} - [TA][requisito][importanza][codice] -\end{center} -Dove: \textit{importanza} è un valore numerico ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{codice} è un codice numerico identificativo per il test e \textit{requisito} può assumere i seguenti valori: -\begin{description} - \item [F]: requisito funzionale - \item [P]: requisito prestazionale - \item [D]: requisito dichiarativo -\end{description} - -\newpage -\rowcolors{2}{lightgray}{white!80!lightgray!100} -\renewcommand{\arraystretch}{2} % allarga le righe con dello spazio sotto e sopra -\begin{longtable}[H]{>{\centering\bfseries}m{3cm} >{}m{11cm} >{\centering\arraybackslash}m{2cm}} - \caption{Test di accettazione}% - \label{tab:test_accettazione} \\ - \rowcolor{darkgray!90!} - \color{white}{\textbf{ID test}} & \multicolumn{1}{c}{\color{white}{\textbf{Descrizione}}} & \color{white}{\textbf{Esito}} \\ - \endfirsthead% - \rowcolor{darkgray!90!} - \color{white}{\textbf{ID test}} & \multicolumn{1}{c}{\color{white}{\textbf{Descrizione}}} & \color{white}{\textbf{Esito}} \\ - \endhead% - \rowcolor{white} - \multicolumn{3}{r}{\textit{Continua alla pagina seguente}} - \endfoot% - \endlastfoot% - TAAFO001 & Al nuovo utente deve essere permesso di registrarsi. \newline - L’utente deve: - \begin{itemize} - \item visualizzare e confermare l’\glossario{EULA}; - \item inserire password; - \item confermare la password; - \item inserire i propri dati anagrafici; - \item inserire la propria email; - \item confermare la registrazione. - \end{itemize} - & NS \\ - TAAFO002 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l’email è già presente nel database. \newline - L’utente deve: - \begin{itemize} - \item inserire dati di accesso non validi; - \item verificare l'impossibilità di proseguire con la registrazione. - \end{itemize} - & NS \\ - TAAFO003 & Il sistema deve permettere all’utente registrato di autenticarsi. \newline - L’utente deve: - \begin{itemize} - \item inserire la propria email; - \item inserire la propria password; - \item confermare l'autenticazione. - \end{itemize} - & NS \\ - TAAFO004 & Il sistema deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline - L’utente deve: - \begin{itemize} - \item inserire dati di accesso non validi; - \item verificare l'impossibilità di proseguire con l'autenticazione. - \end{itemize} - & NS \\ - TAAFO005 & Il sistema deve permettere all’utente di recuperare la sua password. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di recupero password; - \item inserire la propria email; - \item confermare la procedura; - \item verificare che la password venga ricevuta correttamente; - \end{itemize} - & NS \\ - TAAFO006 & Il sistema deve permettere all’utente di reimpostare la sua password. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di reimpostazione password; - \item inserire la propria email; - \item inserire la vecchia password; - \item inserire una nuova password; - \item confermare la nuova password; - \item confermare la procedura; - \item verificare che la password sia stata cambiata correttamente; - \end{itemize} - & NS \\ - TAAFO007 & Il sistema deve rifiutare la richiesta di reimpostazione password se la password scelta non rispetta i vincoli imposti. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di reimpostazione password; - \item inserire la propria email; - \item inserire la vecchia password; - \item inserire una nuova password non valida; - \item confermare la nuova password; - \item confermare la procedura; - \item visualizzare un messaggio di errore; - \end{itemize} - & NS \\ - TAAFO008 & Il sistema deve permettere all’utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline - L’utente deve: - \begin{itemize} - \item autenticarsi; - \item visualizzare la lista di organizzazioni; - \item aggiornare la lista; - \item visualizzare la lista aggiornata. - \end{itemize} - & NS \\ - TAAFO009 & Il sistema deve permettere all’utente autenticato di selezionare una o più organizzazioni dalla lista e collegarsi alle organizzazioni selezionate. \newline - L’utente deve: - \begin{itemize} - \item selezionare una o più organizzazioni dalla lista; - \item avviare la procedura di collegamento. - \end{itemize} - & NS \\ - TAAFO010 & Il sistema deve permettere all’utente autenticato e collegato ad una o più organizzazioni di scollegarsi da una o più organizzazioni. \newline - L’utente deve: - \begin{itemize} - \item selezionare una o più organizzazioni a cui è collegato; - \item avviare la procedura di scollegamento. - \end{itemize} - & NS \\ - TAAFO011 & Il sistema deve permettere all’utente autenticato di visualizzare tramite un filtro la lista delle organizzazioni a cui è collegato oppure quella delle organizzazioni da cui è scollegato. \newline - L’utente deve: - \begin{itemize} - \item impostare il filtro; - \item visualizzare la lista richiesta. - \end{itemize} - & NS \\ - TAAFO012 & Il sistema deve permettere all’utente autenticato il passaggio da noto ad incognito e viceversa. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di cambio di stato; - \item verificare l'effettivo cambio di stato. - \end{itemize} - & NS \\ - TAAFO013 & Il sistema deve permettere all’utente autenticato di visualizzare il proprio storico. \newline - L’utente deve: - \begin{itemize} - \item visualizzare il proprio storico degli accessi; - \item visualizzare il proprio tempo trascorso all'interno di ogni organizzazione. - \end{itemize} - & NS \\ - TAAFO014 & Il sistema deve permettere all’utente autenticato di disconnettersi dall’applicazione. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di disconnessione; - \item confermare la procedura. - \end{itemize} - & NS \\ - TAAFO015 & Il sistema deve permettere all’utente di eliminare il suo account. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di eliminazione; - \item confermare la procedura. - \end{itemize} - & NS \\ - TAAFO016 & Il sistema deve mostrare un messaggio d’errore e rifiutare le richieste da parte dell’app nel caso mancasse una connessione a internet. \newline - L’utente deve: - \begin{itemize} - \item disconnettere il dispositivo da internet; - \item effettuare un'azione che richieda la connessione ad internet; - \item visualizzare il messaggio di errore corrispondente. - \end{itemize} - & NS \\ - TAAFO017 & L’interfaccia web deve permettere all’utente non autenticato di autenticarsi. \newline - L’utente deve: - \begin{itemize} - \item compilare il campo email; - \item compilare il campo password; - \item confermare l'autenticazione. - \end{itemize} - & NS \\ - TAAFO018 & L’interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline - L’utente deve: - \begin{itemize} - \item inserire una combinazione di dati non validi; - \item verificare la possibilità di proseguire l'autenticazione. - \end{itemize} - & NS \\ - TAWFO019 & L’interfaccia web deve permettere all’utente autenticato di effettuare la disconnessione. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di disconnessione. - \end{itemize} - & NS \\ - TAWFO020 & L’interfaccia web deve permettere all’owner di creare un’organizzazione. \newline - L’owner deve: - \begin{itemize} - \item avviare la procedura di creazione di una organizzazione; - \item inserire il nome dell'organizzazione; - \item inserire la descrizione dell'organizzazione; - \item specificare i dettagli del server \glossario{LDAP} - \item verificare l'avvenuta creazione dell'organizzazione - \end{itemize} - & NS \\ - TAWFO021 & L’interfaccia web deve permettere all’owner di eliminare un’organizzazione in suo possesso. \newline - L’owner deve: - \begin{itemize} - \item avviare la procedura di eliminazione di una organizzazione; - \item confermare la procedura di eliminazione - \end{itemize} - & NS \\ - TAWFO022 & L’interfaccia web deve permettere all’owner di modificare l’organizzazione. \newline - L’owner deve: - \begin{itemize} - \item avviare la procedura di modifica di una organizzazione; - \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). - \end{itemize} - & NS \\ - TAWFO023 & L’interfaccia web deve permettere all’owner e al gestore di visualizzare una lista delle organizzazioni di cui fanno parte. \newline - L’owner e il gestore devono: - \begin{itemize} - \item visualizzare la lista delle organizzazioni di cui fanno parte. - \end{itemize} - & NS \\ - TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline - L’utente deve: - \begin{itemize} - \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. - \end{itemize} - & NS \\ - TAWFO025 & L’interfaccia web deve permettere all’owner e al gestore di gestire i luoghi dell’organizzazione. \newline - L’utente deve: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item inserire le coordinate geografiche; - \item inserire l'indirizzo. - \end{itemize} - & NS \\ - TAWFF026 & L’interfaccia web può opzionalmente permettere all’owner e al gestore di aggiungere un luogo all’organizzazione evidenziandone l’area sulla mappa. \newline - L’owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item selezionare l'area sulla mappa. - \end{itemize} - & NS \\ - TAWFO027 & L’interfaccia web deve permettere all’owner e al gestore di eliminare luoghi dall’organizzazione. \newline - L’owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di eliminazione di un nuovo luogo; - \item confermare l'eliminazione. - \end{itemize} - & NS \\ - TAWFO028 & L’interfaccia web deve permettere all’owner e al gestore di modificare i luoghi dell’organizzazione. \newline - L’owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di modifica di un nuovo luogo; - \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). - \end{itemize} - & NS \\ - TAWFO029 & L’interfaccia web deve permettere all’owner e al gestore di visualizzare una lista dei luoghi dell’organizzazione. \newline - L’owner e il gestore devono: - \begin{itemize} - \item selezionare la lista dei luoghi dell'organizzazione; - \item visualizzare la lista dei luoghi. - \end{itemize} - & NS \\ - TAWFO30 & L’interfaccia web deve permettere agli amministratori di un’organizzazione di visualizzare le informazioni sull’organizzazione. \newline - L’owner e il gestore devono: - \begin{itemize} - \item selezionare un'organizzazione dalla lista; - \item visualizzare le informazioni dell'organizzazione. - \end{itemize} - & NS \\ - TAWFO31 & L’interfaccia web deve permettere agli amministratori di un’organizzazione di visualizzare gli accessi di un dipendente. \newline - Gli amministratori dell'organizzazione devono: - \begin{itemize} - \item selezionare il dipendente dall'elenco della propria organizzazione; - \item visualizzare i dati di accesso del dipendente selezionato. - \end{itemize} - & NS \\ - TAWFO32 & L’interfaccia web deve permettere all’utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura per diventare owner; - \item confermare la richiesta di diventare owner. - \end{itemize} - & NS \\ - TAWFO33 & Il sistema deve permettere all’owner di aggiungere un nuovo gestore dell’organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner; - \item avviare la procedura di aggiunta di un gestore; - \item inserire email dell'utente da promuovere. - \end{itemize} - & NS \\ - TAWFO34 & Il sistema deve permettere all’owner di aggiungere un nuovo visualizzatore dell’organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner; - \item avviare la procedura di aggiunta di un visualizzatore; - \item inserire email dell'utente da promuovere. - \end{itemize} - & NS \\ - TAWFO34 & Il sistema deve permettere all’amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline - L'amministratore deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione owner; - \item inserire email dell'owner da rimuovere; - \item confermare la rimozione dell'owner. - \end{itemize} - & NS \\ - TAWFO35 & Il sistema deve permettere all’owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione dei gestori; - \item inserire email del gestore da rimuovere; - \item confermare la rimozione del gestore. - \end{itemize} - & NS \\ - TAWFO36 & Il sistema deve permettere all’owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione dei visualizzatori; - \item inserire email del visualizzatore da rimuovere; - \item confermare la rimozione del visualizzatore. - \end{itemize} - & NS \\ - TAWFO37 & Il sistema deve permettere all’amministratore di eliminare un account dal sistema. \newline - L'amministratore deve: - \begin{itemize} - \item avviare la procedura di rimozione utente; - \item selezionare l'account da rimuovere; - \item confermare la rimozione dell'account. - \end{itemize} - & NS \\ -\end{longtable} -% subs:accettazione (end) - -\subsubsection{Test di Sistema}% -\label{subs:sistema} -I test di sistema verificano il corretto funzionamento tra tutte le componenti del sistema. I test verranno identificati nel seguente modo: -\begin{center} - TS[codice] -\end{center} -Dove \textit{codice} rappresenta un numero identificativo per il Test di Sistema. -%subs:sistema (end) -\subsubsection{Test di Integrazione}% -\label{subs:integrazione} -I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: -\begin{center} - TI[codice] -\end{center} -Dove \textit{codice} rappresenta un numero identificativo per il Test di Integrazione. -%subs:integrazione (end) -\subsubsection{Test di Unità}% -\label{subs:unita} -I test di sistema verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: -\begin{center} - TU[codice] -\end{center} -Dove \textit{codice} rappresenta un numero identificativo per l'unità a cui il test appartiene. -%subs:unita (end) -% sub:test (end) \end{document} diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex new file mode 100644 index 00000000..1583f7ee --- /dev/null +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -0,0 +1,374 @@ +\documentclass[../piano-di-qualifica.tex]{subfiles} +\appendToGraphicspath{../../../commons/img/} + +\begin{document} + +\label{sub:test} + Per misurare la qualità di prodotto inoltre utilizziamo dei test secondo il \glossario{Modello a \textit{V}} per il quale definiamo e sviluppiamo i test in parallelo alle attività di analisi, progettazione architetturale e di sviluppo e verifica incrementi. + Abbiamo definito i test dividendoli nelle seguenti categorie: + \begin{description} + \item [Test di Accettazione (TA)] + \item [Test di Sistema (TS)] + \item [Test di Integrazione (TI)] + \item [Test di Unità (TU)] + \end{description} + Inoltre classifichiamo i test in base al loro stato: + \begin{description} + \item [S]: il test è stato soddisfatto + \item [NS]: il test non è stato ancora soddisfatto + \end{description} + \subsection{Test di Accettazione}% + \label{subs:accettazione} + I test di accettazione hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti dal proponente, vengono eseguiti durante la fase di verifica e collaudo finale. + Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Accettazione nel modo seguente: + \begin{center} + [TA][requisito][importanza][codice] + \end{center} + Dove: \textit{importanza} è un valore numerico ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{codice} è un codice numerico identificativo per il test e \textit{requisito} può assumere i seguenti valori: + \begin{description} + \item [F]: requisito funzionale + \item [P]: requisito prestazionale + \item [D]: requisito dichiarativo + \end{description} + + \newpage + \begin{centering} + \rowcolors{2}{lightgray}{white!80!lightgray!100} + \renewcommand{\arraystretch}{2} % allarga le righe con dello spazio sotto e sopra + \begin{longtable}[H]{>{\centering\bfseries}m{3cm} >{}p{10cm} >{\centering\arraybackslash}m{3cm}} + \rowcolor{darkgray!90!} + \color{white} + {\textbf{ID test}} & \color{white}{\textbf{Descrizione}} & \color{white}{\textbf{Esito}} \\ + \endhead\rowcolor{white}% + \multicolumn{3}{r}{\textit{Continua alla pagina seguente}} + \endfoot{}% + \endlastfoot{} + TAAFO001 & Al nuovo utente deve essere permesso di registrarsi. \newline + L’utente deve: + \begin{itemize} + \item visualizzare e confermare l’\glossario{EULA}; + \item inserire password; + \item confermare la password; + \item inserire i propri dati anagrafici; + \item inserire la propria email; + \item confermare la registrazione. + \end{itemize} + & NS \\ + TAAFO002 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l’email è già presente nel database. \newline + L’utente deve: + \begin{itemize} + \item inserire dati di accesso non validi; + \item verificare l'impossibilità di proseguire con la registrazione. + \end{itemize} + & NS \\ + TAAFO003 & Il sistema deve permettere all’utente registrato di autenticarsi. \newline + L’utente deve: + \begin{itemize} + \item inserire la propria email; + \item inserire la propria password; + \item confermare l'autenticazione. + \end{itemize} + & NS \\ + TAAFO004 & Il sistema deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + L’utente deve: + \begin{itemize} + \item inserire dati di accesso non validi; + \item verificare l'impossibilità di proseguire con l'autenticazione. + \end{itemize} + & NS \\ + TAAFO005 & Il sistema deve permettere all’utente di recuperare la sua password. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di recupero password; + \item inserire la propria email; + \item confermare la procedura; + \item verificare che la password venga ricevuta correttamente; + \end{itemize} + & NS \\ + TAAFO006 & Il sistema deve permettere all’utente di reimpostare la sua password. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di reimpostazione password; + \item inserire la propria email; + \item inserire la vecchia password; + \item inserire una nuova password; + \item confermare la nuova password; + \item confermare la procedura; + \item verificare che la password sia stata cambiata correttamente; + \end{itemize} + & NS \\ + TAAFO007 & Il sistema deve rifiutare la richiesta di reimpostazione password se la password scelta non rispetta i vincoli imposti. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di reimpostazione password; + \item inserire la propria email; + \item inserire la vecchia password; + \item inserire una nuova password non valida; + \item confermare la nuova password; + \item confermare la procedura; + \item visualizzare un messaggio di errore; + \end{itemize} + & NS \\ + TAAFO008 & Il sistema deve permettere all’utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline + L’utente deve: + \begin{itemize} + \item autenticarsi; + \item visualizzare la lista di organizzazioni; + \item aggiornare la lista; + \item visualizzare la lista aggiornata. + \end{itemize} + & NS \\ + TAAFO009 & Il sistema deve permettere all’utente autenticato di selezionare una o più organizzazioni dalla lista e collegarsi alle organizzazioni selezionate. \newline + L’utente deve: + \begin{itemize} + \item selezionare una o più organizzazioni dalla lista; + \item avviare la procedura di collegamento. + \end{itemize} + & NS \\ + TAAFO010 & Il sistema deve permettere all’utente autenticato e collegato ad una o più organizzazioni di scollegarsi da una o più organizzazioni. \newline + L’utente deve: + \begin{itemize} + \item selezionare una o più organizzazioni a cui è collegato; + \item avviare la procedura di scollegamento. + \end{itemize} + & NS \\ + TAAFO011 & Il sistema deve permettere all’utente autenticato di visualizzare tramite un filtro la lista delle organizzazioni a cui è collegato oppure quella delle organizzazioni da cui è scollegato. \newline + L’utente deve: + \begin{itemize} + \item impostare il filtro; + \item visualizzare la lista richiesta. + \end{itemize} + & NS \\ + TAAFO012 & Il sistema deve permettere all’utente autenticato il passaggio da noto ad incognito e viceversa. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di cambio di stato; + \item verificare l'effettivo cambio di stato. + \end{itemize} + & NS \\ + TAAFO013 & Il sistema deve permettere all’utente autenticato di visualizzare il proprio storico. \newline + L’utente deve: + \begin{itemize} + \item visualizzare il proprio storico degli accessi; + \item visualizzare il proprio tempo trascorso all'interno di ogni organizzazione. + \end{itemize} + & NS \\ + TAAFO014 & Il sistema deve permettere all’utente autenticato di disconnettersi dall’applicazione. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di disconnessione; + \item confermare la procedura. + \end{itemize} + & NS \\ + TAAFO015 & Il sistema deve permettere all’utente di eliminare il suo account. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di eliminazione; + \item confermare la procedura. + \end{itemize} + & NS \\ + TAAFO016 & Il sistema deve mostrare un messaggio d’errore e rifiutare le richieste da parte dell’app nel caso mancasse una connessione a internet. \newline + L’utente deve: + \begin{itemize} + \item disconnettere il dispositivo da internet; + \item effettuare un'azione che richieda la connessione ad internet; + \item visualizzare il messaggio di errore corrispondente. + \end{itemize} + & NS \\ + TAAFO017 & L’interfaccia web deve permettere all’utente non autenticato di autenticarsi. \newline + L’utente deve: + \begin{itemize} + \item compilare il campo email; + \item compilare il campo password; + \item confermare l'autenticazione. + \end{itemize} + & NS \\ + TAAFO018 & L’interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + L’utente deve: + \begin{itemize} + \item inserire una combinazione di dati non validi; + \item verificare la possibilità di proseguire l'autenticazione. + \end{itemize} + & NS \\ + TAWFO019 & L’interfaccia web deve permettere all’utente autenticato di effettuare la disconnessione. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di disconnessione. + \end{itemize} + & NS \\ + TAWFO020 & L’interfaccia web deve permettere all’owner di creare un’organizzazione. \newline + L’owner deve: + \begin{itemize} + \item avviare la procedura di creazione di una organizzazione; + \item inserire il nome dell'organizzazione; + \item inserire la descrizione dell'organizzazione; + \item specificare i dettagli del server \glossario{LDAP} + \item verificare l'avvenuta creazione dell'organizzazione + \end{itemize} + & NS \\ + TAWFO021 & L’interfaccia web deve permettere all’owner di eliminare un’organizzazione in suo possesso. \newline + L’owner deve: + \begin{itemize} + \item avviare la procedura di eliminazione di una organizzazione; + \item confermare la procedura di eliminazione + \end{itemize} + & NS \\ + TAWFO022 & L’interfaccia web deve permettere all’owner di modificare l’organizzazione. \newline + L’owner deve: + \begin{itemize} + \item avviare la procedura di modifica di una organizzazione; + \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). + \end{itemize} + & NS \\ + TAWFO023 & L’interfaccia web deve permettere all’owner e al gestore di visualizzare una lista delle organizzazioni di cui fanno parte. \newline + L’owner e il gestore devono: + \begin{itemize} + \item visualizzare la lista delle organizzazioni di cui fanno parte. + \end{itemize} + & NS \\ + TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline + L’utente deve: + \begin{itemize} + \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. + \end{itemize} + & NS \\ + TAWFO025 & L’interfaccia web deve permettere all’owner e al gestore di gestire i luoghi dell’organizzazione. \newline + L’utente deve: + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo; + \item inserire le coordinate geografiche; + \item inserire l'indirizzo. + \end{itemize} + & NS \\ + TAWFF026 & L’interfaccia web può opzionalmente permettere all’owner e al + gestore di aggiungere un luogo all’organizzazione evidenziandone + l’area sulla mappa. \newline + L’owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo; + \item selezionare l'area sulla mappa. + \end{itemize} + & NS \\ + TAWFO027 & L’interfaccia web deve permettere all’owner e al gestore di eliminare luoghi dall’organizzazione. \newline + L’owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di eliminazione di un nuovo luogo; + \item confermare l'eliminazione. + \end{itemize} + & NS \\ + TAWFO028 & L’interfaccia web deve permettere all’owner e al gestore di modificare i luoghi dell’organizzazione. \newline + L’owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di modifica di un nuovo luogo; + \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). + \end{itemize} + & NS \\ + TAWFO029 & L’interfaccia web deve permettere all’owner e al gestore di visualizzare una lista dei luoghi dell’organizzazione. \newline + L’owner e il gestore devono: + \begin{itemize} + \item selezionare la lista dei luoghi dell'organizzazione; + \item visualizzare la lista dei luoghi. + \end{itemize} + & NS \\ + TAWFO30 & L’interfaccia web deve permettere agli amministratori di un’organizzazione di visualizzare le informazioni sull’organizzazione. \newline + L’owner e il gestore devono: + \begin{itemize} + \item selezionare un'organizzazione dalla lista; + \item visualizzare le informazioni dell'organizzazione. + \end{itemize} + & NS \\ + TAWFO31 & L’interfaccia web deve permettere agli amministratori di un’organizzazione di visualizzare gli accessi di un dipendente. \newline + Gli amministratori dell'organizzazione devono: + \begin{itemize} + \item selezionare il dipendente dall'elenco della propria organizzazione; + \item visualizzare i dati di accesso del dipendente selezionato. + \end{itemize} + & NS \\ + TAWFO32 & L’interfaccia web deve permettere all’utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura per diventare owner; + \item confermare la richiesta di diventare owner. + \end{itemize} + & NS \\ + TAWFO33 & Il sistema deve permettere all’owner di aggiungere un nuovo gestore dell’organizzazione. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner; + \item avviare la procedura di aggiunta di un gestore; + \item inserire email dell'utente da promuovere. + \end{itemize} + & NS \\ + TAWFO34 & Il sistema deve permettere all’owner di aggiungere un nuovo visualizzatore dell’organizzazione. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner; + \item avviare la procedura di aggiunta di un visualizzatore; + \item inserire email dell'utente da promuovere. + \end{itemize} + & NS \\ + TAWFO34 & Il sistema deve permettere all’amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline + L'amministratore deve: + \begin{itemize} + \item selezionare un'organizzazione; + \item avviare la procedura di rimozione owner; + \item inserire email dell'owner da rimuovere; + \item confermare la rimozione dell'owner. + \end{itemize} + & NS \\ + TAWFO35 & Il sistema deve permettere all’owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione; + \item avviare la procedura di rimozione dei gestori; + \item inserire email del gestore da rimuovere; + \item confermare la rimozione del gestore. + \end{itemize} + & NS \\ + TAWFO36 & Il sistema deve permettere all’owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione; + \item avviare la procedura di rimozione dei visualizzatori; + \item inserire email del visualizzatore da rimuovere; + \item confermare la rimozione del visualizzatore. + \end{itemize} + & NS \\ + TAWFO37 & Il sistema deve permettere all’amministratore di eliminare un account dal sistema. \newline + L'amministratore deve: + \begin{itemize} + \item avviare la procedura di rimozione utente; + \item selezionare l'account da rimuovere; + \item confermare la rimozione dell'account. + \end{itemize} + & NS \\ + \caption{Tabella dei test di accettazione}% + \label{tab:test_accettazione} + \end{longtable} + %subs:accettazione (end) + \end{centering} + \subsubsection{Test di Sistema}% + \label{subs:sistema} + I test di sistema verificano il corretto funzionamento tra tutte le componenti del sistema. I test verranno identificati nel seguente modo: + \begin{center} + TS[codice] + \end{center} + Dove \textit{codice} rappresenta un numero identificativo per il Test di Sistema. + %subs:sistema (end) + \subsubsection{Test di Integrazione}% + \label{subs:integrazione} + I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: + \begin{center} + TI[codice] + \end{center} + Dove \textit{codice} rappresenta un numero identificativo per il Test di Integrazione. + %subs:integrazione (end) + \subsubsection{Test di Unità}% + \label{subs:unita} + I test di sistema verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: + \begin{center} + TU[codice] + \end{center} + Dove \textit{codice} rappresenta un numero identificativo per l'unità a cui il test appartiene. + %subs:unita (end) + \end{document} diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index 7221d01e..8af5da31 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -62,6 +62,12 @@ \section{Qualità di processo}% \subfile{components/qualita-di-processo} +\newpage +\section{Specifica dei test}% +\label{sec:specifica_test} + +\subfile{components/specifica-test} + \newpage \section{Valutazioni per il miglioramento}% From a4f7ee54fd762fdf4a6e6edba8926556203ac771 Mon Sep 17 00:00:00 2001 From: Fabio Scettro Date: Thu, 9 Apr 2020 23:27:20 +0200 Subject: [PATCH 13/44] docs(PdQ): correggi errori encoding --- .../components/specifica-test.tex | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 1583f7ee..2575da9c 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -44,9 +44,9 @@ \endfoot{}% \endlastfoot{} TAAFO001 & Al nuovo utente deve essere permesso di registrarsi. \newline - L’utente deve: + L'utente deve: \begin{itemize} - \item visualizzare e confermare l’\glossario{EULA}; + \item visualizzare e confermare l'\glossario{EULA}; \item inserire password; \item confermare la password; \item inserire i propri dati anagrafici; @@ -54,15 +54,15 @@ \item confermare la registrazione. \end{itemize} & NS \\ - TAAFO002 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l’email è già presente nel database. \newline - L’utente deve: + TAAFO002 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l'email è già presente nel database. \newline + L'utente deve: \begin{itemize} \item inserire dati di accesso non validi; \item verificare l'impossibilità di proseguire con la registrazione. \end{itemize} & NS \\ - TAAFO003 & Il sistema deve permettere all’utente registrato di autenticarsi. \newline - L’utente deve: + TAAFO003 & Il sistema deve permettere all'utente registrato di autenticarsi. \newline + L'utente deve: \begin{itemize} \item inserire la propria email; \item inserire la propria password; @@ -70,14 +70,14 @@ \end{itemize} & NS \\ TAAFO004 & Il sistema deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline - L’utente deve: + L'utente deve: \begin{itemize} \item inserire dati di accesso non validi; \item verificare l'impossibilità di proseguire con l'autenticazione. \end{itemize} & NS \\ - TAAFO005 & Il sistema deve permettere all’utente di recuperare la sua password. \newline - L’utente deve: + TAAFO005 & Il sistema deve permettere all'utente di recuperare la sua password. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di recupero password; \item inserire la propria email; @@ -85,8 +85,8 @@ \item verificare che la password venga ricevuta correttamente; \end{itemize} & NS \\ - TAAFO006 & Il sistema deve permettere all’utente di reimpostare la sua password. \newline - L’utente deve: + TAAFO006 & Il sistema deve permettere all'utente di reimpostare la sua password. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di reimpostazione password; \item inserire la propria email; @@ -98,7 +98,7 @@ \end{itemize} & NS \\ TAAFO007 & Il sistema deve rifiutare la richiesta di reimpostazione password se la password scelta non rispetta i vincoli imposti. \newline - L’utente deve: + L'utente deve: \begin{itemize} \item avviare la procedura di reimpostazione password; \item inserire la propria email; @@ -109,8 +109,8 @@ \item visualizzare un messaggio di errore; \end{itemize} & NS \\ - TAAFO008 & Il sistema deve permettere all’utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline - L’utente deve: + TAAFO008 & Il sistema deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline + L'utente deve: \begin{itemize} \item autenticarsi; \item visualizzare la lista di organizzazioni; @@ -118,86 +118,86 @@ \item visualizzare la lista aggiornata. \end{itemize} & NS \\ - TAAFO009 & Il sistema deve permettere all’utente autenticato di selezionare una o più organizzazioni dalla lista e collegarsi alle organizzazioni selezionate. \newline - L’utente deve: + TAAFO009 & Il sistema deve permettere all'utente autenticato di selezionare una o più organizzazioni dalla lista e collegarsi alle organizzazioni selezionate. \newline + L'utente deve: \begin{itemize} \item selezionare una o più organizzazioni dalla lista; \item avviare la procedura di collegamento. \end{itemize} & NS \\ - TAAFO010 & Il sistema deve permettere all’utente autenticato e collegato ad una o più organizzazioni di scollegarsi da una o più organizzazioni. \newline - L’utente deve: + TAAFO010 & Il sistema deve permettere all'utente autenticato e collegato ad una o più organizzazioni di scollegarsi da una o più organizzazioni. \newline + L'utente deve: \begin{itemize} \item selezionare una o più organizzazioni a cui è collegato; \item avviare la procedura di scollegamento. \end{itemize} & NS \\ - TAAFO011 & Il sistema deve permettere all’utente autenticato di visualizzare tramite un filtro la lista delle organizzazioni a cui è collegato oppure quella delle organizzazioni da cui è scollegato. \newline - L’utente deve: + TAAFO011 & Il sistema deve permettere all'utente autenticato di visualizzare tramite un filtro la lista delle organizzazioni a cui è collegato oppure quella delle organizzazioni da cui è scollegato. \newline + L'utente deve: \begin{itemize} \item impostare il filtro; \item visualizzare la lista richiesta. \end{itemize} & NS \\ - TAAFO012 & Il sistema deve permettere all’utente autenticato il passaggio da noto ad incognito e viceversa. \newline - L’utente deve: + TAAFO012 & Il sistema deve permettere all'utente autenticato il passaggio da noto ad incognito e viceversa. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di cambio di stato; \item verificare l'effettivo cambio di stato. \end{itemize} & NS \\ - TAAFO013 & Il sistema deve permettere all’utente autenticato di visualizzare il proprio storico. \newline - L’utente deve: + TAAFO013 & Il sistema deve permettere all'utente autenticato di visualizzare il proprio storico. \newline + L'utente deve: \begin{itemize} \item visualizzare il proprio storico degli accessi; \item visualizzare il proprio tempo trascorso all'interno di ogni organizzazione. \end{itemize} & NS \\ - TAAFO014 & Il sistema deve permettere all’utente autenticato di disconnettersi dall’applicazione. \newline - L’utente deve: + TAAFO014 & Il sistema deve permettere all'utente autenticato di disconnettersi dall'applicazione. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di disconnessione; \item confermare la procedura. \end{itemize} & NS \\ - TAAFO015 & Il sistema deve permettere all’utente di eliminare il suo account. \newline - L’utente deve: + TAAFO015 & Il sistema deve permettere all'utente di eliminare il suo account. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di eliminazione; \item confermare la procedura. \end{itemize} & NS \\ - TAAFO016 & Il sistema deve mostrare un messaggio d’errore e rifiutare le richieste da parte dell’app nel caso mancasse una connessione a internet. \newline - L’utente deve: + TAAFO016 & Il sistema deve mostrare un messaggio d'errore e rifiutare le richieste da parte dell'app nel caso mancasse una connessione a internet. \newline + L'utente deve: \begin{itemize} \item disconnettere il dispositivo da internet; \item effettuare un'azione che richieda la connessione ad internet; \item visualizzare il messaggio di errore corrispondente. \end{itemize} & NS \\ - TAAFO017 & L’interfaccia web deve permettere all’utente non autenticato di autenticarsi. \newline - L’utente deve: + TAAFO017 & L'interfaccia web deve permettere all'utente non autenticato di autenticarsi. \newline + L'utente deve: \begin{itemize} \item compilare il campo email; \item compilare il campo password; \item confermare l'autenticazione. \end{itemize} & NS \\ - TAAFO018 & L’interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline - L’utente deve: + TAAFO018 & L'interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + L'utente deve: \begin{itemize} \item inserire una combinazione di dati non validi; \item verificare la possibilità di proseguire l'autenticazione. \end{itemize} & NS \\ - TAWFO019 & L’interfaccia web deve permettere all’utente autenticato di effettuare la disconnessione. \newline - L’utente deve: + TAWFO019 & L'interfaccia web deve permettere all'utente autenticato di effettuare la disconnessione. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di disconnessione. \end{itemize} & NS \\ - TAWFO020 & L’interfaccia web deve permettere all’owner di creare un’organizzazione. \newline - L’owner deve: + TAWFO020 & L'interfaccia web deve permettere all'owner di creare un'organizzazione. \newline + L'owner deve: \begin{itemize} \item avviare la procedura di creazione di una organizzazione; \item inserire il nome dell'organizzazione; @@ -206,92 +206,92 @@ \item verificare l'avvenuta creazione dell'organizzazione \end{itemize} & NS \\ - TAWFO021 & L’interfaccia web deve permettere all’owner di eliminare un’organizzazione in suo possesso. \newline - L’owner deve: + TAWFO021 & L'interfaccia web deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline + L'owner deve: \begin{itemize} \item avviare la procedura di eliminazione di una organizzazione; \item confermare la procedura di eliminazione \end{itemize} & NS \\ - TAWFO022 & L’interfaccia web deve permettere all’owner di modificare l’organizzazione. \newline - L’owner deve: + TAWFO022 & L'interfaccia web deve permettere all'owner di modificare l'organizzazione. \newline + L'owner deve: \begin{itemize} \item avviare la procedura di modifica di una organizzazione; \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). \end{itemize} & NS \\ - TAWFO023 & L’interfaccia web deve permettere all’owner e al gestore di visualizzare una lista delle organizzazioni di cui fanno parte. \newline - L’owner e il gestore devono: + TAWFO023 & L'interfaccia web deve permettere all'owner e al gestore di visualizzare una lista delle organizzazioni di cui fanno parte. \newline + L'owner e il gestore devono: \begin{itemize} \item visualizzare la lista delle organizzazioni di cui fanno parte. \end{itemize} & NS \\ TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline - L’utente deve: + L'utente deve: \begin{itemize} \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. \end{itemize} & NS \\ - TAWFO025 & L’interfaccia web deve permettere all’owner e al gestore di gestire i luoghi dell’organizzazione. \newline - L’utente deve: + TAWFO025 & L'interfaccia web deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline + L'utente deve: \begin{itemize} \item avviare la procedura di inserimento di un nuovo luogo; \item inserire le coordinate geografiche; \item inserire l'indirizzo. \end{itemize} & NS \\ - TAWFF026 & L’interfaccia web può opzionalmente permettere all’owner e al - gestore di aggiungere un luogo all’organizzazione evidenziandone - l’area sulla mappa. \newline - L’owner e il gestore devono: + TAWFF026 & L'interfaccia web può opzionalmente permettere all'owner e al + gestore di aggiungere un luogo all'organizzazione evidenziandone + l'area sulla mappa. \newline + L'owner e il gestore devono: \begin{itemize} \item avviare la procedura di inserimento di un nuovo luogo; \item selezionare l'area sulla mappa. \end{itemize} & NS \\ - TAWFO027 & L’interfaccia web deve permettere all’owner e al gestore di eliminare luoghi dall’organizzazione. \newline - L’owner e il gestore devono: + TAWFO027 & L'interfaccia web deve permettere all'owner e al gestore di eliminare luoghi dall'organizzazione. \newline + L'owner e il gestore devono: \begin{itemize} \item avviare la procedura di eliminazione di un nuovo luogo; \item confermare l'eliminazione. \end{itemize} & NS \\ - TAWFO028 & L’interfaccia web deve permettere all’owner e al gestore di modificare i luoghi dell’organizzazione. \newline - L’owner e il gestore devono: + TAWFO028 & L'interfaccia web deve permettere all'owner e al gestore di modificare i luoghi dell'organizzazione. \newline + L'owner e il gestore devono: \begin{itemize} \item avviare la procedura di modifica di un nuovo luogo; \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). \end{itemize} & NS \\ - TAWFO029 & L’interfaccia web deve permettere all’owner e al gestore di visualizzare una lista dei luoghi dell’organizzazione. \newline - L’owner e il gestore devono: + TAWFO029 & L'interfaccia web deve permettere all'owner e al gestore di visualizzare una lista dei luoghi dell'organizzazione. \newline + L'owner e il gestore devono: \begin{itemize} \item selezionare la lista dei luoghi dell'organizzazione; \item visualizzare la lista dei luoghi. \end{itemize} & NS \\ - TAWFO30 & L’interfaccia web deve permettere agli amministratori di un’organizzazione di visualizzare le informazioni sull’organizzazione. \newline - L’owner e il gestore devono: + TAWFO30 & L'interfaccia web deve permettere agli amministratori di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline + L'owner e il gestore devono: \begin{itemize} \item selezionare un'organizzazione dalla lista; \item visualizzare le informazioni dell'organizzazione. \end{itemize} & NS \\ - TAWFO31 & L’interfaccia web deve permettere agli amministratori di un’organizzazione di visualizzare gli accessi di un dipendente. \newline + TAWFO31 & L'interfaccia web deve permettere agli amministratori di un'organizzazione di visualizzare gli accessi di un dipendente. \newline Gli amministratori dell'organizzazione devono: \begin{itemize} \item selezionare il dipendente dall'elenco della propria organizzazione; \item visualizzare i dati di accesso del dipendente selezionato. \end{itemize} & NS \\ - TAWFO32 & L’interfaccia web deve permettere all’utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline + TAWFO32 & L'interfaccia web deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline L'utente deve: \begin{itemize} \item avviare la procedura per diventare owner; \item confermare la richiesta di diventare owner. \end{itemize} & NS \\ - TAWFO33 & Il sistema deve permettere all’owner di aggiungere un nuovo gestore dell’organizzazione. \newline + TAWFO33 & Il sistema deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline L'owner deve: \begin{itemize} \item selezionare un'organizzazione di cui è owner; @@ -299,7 +299,7 @@ \item inserire email dell'utente da promuovere. \end{itemize} & NS \\ - TAWFO34 & Il sistema deve permettere all’owner di aggiungere un nuovo visualizzatore dell’organizzazione. \newline + TAWFO34 & Il sistema deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline L'owner deve: \begin{itemize} \item selezionare un'organizzazione di cui è owner; @@ -307,7 +307,7 @@ \item inserire email dell'utente da promuovere. \end{itemize} & NS \\ - TAWFO34 & Il sistema deve permettere all’amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline + TAWFO34 & Il sistema deve permettere all'amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline L'amministratore deve: \begin{itemize} \item selezionare un'organizzazione; @@ -316,7 +316,7 @@ \item confermare la rimozione dell'owner. \end{itemize} & NS \\ - TAWFO35 & Il sistema deve permettere all’owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline + TAWFO35 & Il sistema deve permettere all'owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline L'owner deve: \begin{itemize} \item selezionare un'organizzazione; @@ -325,7 +325,7 @@ \item confermare la rimozione del gestore. \end{itemize} & NS \\ - TAWFO36 & Il sistema deve permettere all’owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline + TAWFO36 & Il sistema deve permettere all'owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline L'owner deve: \begin{itemize} \item selezionare un'organizzazione; @@ -334,7 +334,7 @@ \item confermare la rimozione del visualizzatore. \end{itemize} & NS \\ - TAWFO37 & Il sistema deve permettere all’amministratore di eliminare un account dal sistema. \newline + TAWFO37 & Il sistema deve permettere all'amministratore di eliminare un account dal sistema. \newline L'amministratore deve: \begin{itemize} \item avviare la procedura di rimozione utente; From e51eee3488206eaccb93baf7785df0cc9b6499d6 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Fri, 10 Apr 2020 01:23:28 +0200 Subject: [PATCH 14/44] docs(PdQ): correggi tabella valutazione strumenti di lavoro --- .../components/valutazioni-miglioramento.tex | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index 6d307aeb..44bf551d 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -17,7 +17,7 @@ \rowcolor{darkgray!90!} \color{white}{\textbf{Dominio}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ Incontri di gruppo & Durante il periodo di progettazione sono sorti problemi a causa dell'epidemia (COVID-19) che ci ha costretti a non poterci incontrare di persona. & Grazie a strumenti di videoconferenza e videochiamata abbiamo potuto continuare le nostre attività. I nostri incontri verranno eseguiti sempre in modalità telematica fino al termine del progetto didattico.\\ - Technology baseline & A causa di una mancata solida preparazione alla presentazione del proof of concept il gruppo si è dilungato in discorsi non richiesti, andando a sforare il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi cercando aumentare il tempo di preparazione alle varie presentazioni. \\ + Technology baseline & A causa di una mancata solida preparazione alla presentazione del Proof of Concept il gruppo si è dilungato in discorsi non richiesti, andando a sforare il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi cercando di aumentare il tempo di preparazione alle varie presentazioni. \\ \end{longtable} @@ -29,7 +29,7 @@ \rowcolor{darkgray!90!} \color{white}{\textbf{Ruolo}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ Responsabile & Sono sorte diverse difficoltà da parte del responsabile nella suddivisione bilanciata delle ore tra i membri, provocando sovraccarichi di lavoro. & Il gruppo ha deciso di incrementare l'attenzione nella suddivisione della mole di lavoro ai membri del gruppo. \\ - Analista & Data l'inesperienza di analizzazione sono sorti diversi problemi nell'individuazione dei requisiti e dei casi d'uso, causando rallentamenti. & La soluzione intrapresa è stata quella di contattare il proponente cercando quindi di velocizzare l'individuazione dei requisiti, in modo da non ritardare la consegna in RR. \\ + Analista & Data l'inesperienza nell'analisi, sono sorti diversi problemi nell'individuazione dei requisiti e dei casi d'uso, causando rallentamenti. & La soluzione intrapresa è stata quella di contattare il proponente cercando quindi di velocizzare l'individuazione dei requisiti, in modo da non ritardare la consegna in RR. \\ Responsabile & Data la poca attenzione, è stato sbagliato il preventivo di progetto, andando sotto la soglia richiesta. Questo errore ha provocato delle conseguenze giustamente adeguate. & Da quel momento il gruppo ha deciso di attuare delle attività di verifica più consistenti, in modo da rilevare il prima possibili errori inaccettabili come questo. \\ Verificatore & La poca esperienza nel campo, ha portato ai verificatori lo studio dei documenti su cui attuare le verifiche, provocando ritardi, oppure mancate correzioni, come quella sopra menzionata. & Il gruppo ha deciso di far prestare molta più attenzione ai verificatori, attuando una politica di ispezione attraverso una check-list. \\ Programmatore & Sono sorte molte difficoltà nell'utilizzo delle tecnologie a colpa dell'inesperienza nell'uso di esse. Allungando di molto il tempo di autoapprendimento abbiamo raggiunto un punto di non ritorno decidendo di saltare la technology baseline. & Il gruppo ha deciso di sfruttare meglio il tempo a disposizione cercando di massimizzare le ore produttive. \\ @@ -39,14 +39,17 @@ \newpage \subsection{Valutazioni sugli strumenti di lavoro} - \rowcolors{2}{lightgray}{white!80!lightgray!100} \begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} \rowcolor{darkgray!90!} \color{white}{\textbf{Strumento}} & \color{white}{\textbf{Descrizione}} & \color{white}{\textbf{Soluzione}} \\ - Latex & Molti membri del gruppo non avendo mai utilizzato questo strumento hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare delle ore di autoapprendimento. \\ + GitHub & Il primo problema che sorge spontaneo a tutti i membri del gruppo è come condividere globalmente il codice che viene sviluppato all'interno del gruppo. & La scelta ricade su GitHub, in quanto è uno dei servizi di hosting per progetti software più utilizzati soprattutto nell'ambito di progetti open-source, ed è un implementazione del \glossario{VCS} Git, garantendo la piena compatibilità tra versione locale e versione remota del codice. \\ + Latex & Molti membri del gruppo, non avendo mai utilizzato questo linguaggio, hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare alcune ore di autoapprendimento, data la rilevante importanza della documentazione ai fini del progetto. \\ PlantUML & Gli analisti hanno dovuto imbattersi in questo strumento, che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Però lo strumento ha comportato diversi problemi di compatibilità, che sono stati risolti consumando molte ore. & Dopo questo avvenimento il gruppo ha deciso di valutare la complessità di implementazione degli strumenti prima della decisione del suo utilizzo. \\ - \end{longtable} + Visual Studio Code & I membri del gruppo hanno voluto analizzare un ambiente di sviluppo in grado di supportare la maggior parte delle attività del gruppo. & La scelta è ricaduta su Visual Studio Code, in quanto ha una distribuzione eterogenea su tutti i sistemi operativi, e risulta uno strumento polivalente, in grado di gestire molteplici estensioni per qualsiasi evenienza, rendendo il suo utilizzo efficiente de efficace. \\ + Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, il quale sviluppo è rivolto a Visual Studio Code ed IntelliJ IDEA. \\ + IntelliJ IDEA & Visual Studio Code è un ottimo ambiente di sviluppo, ma sorge la necessità di sviluppare il frontend dell'applicazione mobile con un ambiente di sviluppo integrato per la piattaforma Android. & Vengono prese al vaglio due alternative: Android Studio oppure IntelliJ IDEA\@. Sebbene sia l'editor de facto per lo sviluppo di applicazioni Android, l'ambiente di sviluppo Android Studio è stato scartato a causa delle richieste minime troppo onerose, a vantaggio di IntelliJ IDEA che è più leggero e quindi utilizzabile da qualsiasi membro del gruppo. \\ + \end{longtable} \end{document} From 39be953d386d22b743faef2a50f4764f682b7da6 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Fri, 10 Apr 2020 02:02:36 +0200 Subject: [PATCH 15/44] =?UTF-8?q?docs(PdQ):=20aggiungi=20metrica=20accerta?= =?UTF-8?q?mento=20della=20qualit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit correggere l'identificativo della metrica, in quanto non rispetta la struttura definita nelle NdP --- .../components/qualita-di-processo.tex | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index 4697c30b..ec0d6663 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -43,7 +43,7 @@ \subsubsection{Processo di sviluppo}% \item La valutazione delle richieste degli stakeholders per negoziare modifiche, se necessarie. \end{itemize} -\subparagraph{metriche}% +\subparagraph{Metriche}% \label{par:metriche} \textbf{MPS-ROS}: la metrica che individua i requisiti obbligatori soddisfatti è definita nelle \textit{Norme di progetto} alla sezione 2.3.5.1. @@ -127,6 +127,34 @@ \subsubsection{Processo di risoluzione dei problemi}% \item Valore minimale: 7. \end{itemize} +\paragraph{Processo di accertamento della qualità}% +\label{par:processo_di_accertamento_della_qualita} + +\paragraph{Obiettivi}% +\label{par:obiettivi_accertamento_della_qualita} + +Lo scopo del processo di accertamento della qualità è di garantire che i prodotti e i processi del ciclo di vita del software rispettino i requisiti prestabiliti e aderire ai piani esecutivi prefissati. + +\paragraph{Esiti}% +\label{par:esiti} + +Il processo di accertamento della qualità implica che: +\begin{itemize} + \item la qualità dei processi di fornitura sia assicurata attraverso il miglioramento continuo. + \item vengano soddisfatte tutte le richieste avanzate del proponente. + \item che non si consumino più risorse di quel che il fornitore ha a disposizione. +\end{itemize} + +\paragraph{Metriche}% +\label{par:metriche_prob} + +%FIXME Correggere identificativo metrica, anche sulle Norme di Progetto +\textbf{PMS}: l'indice di Gulpease è definito nelle \textit{Norme di progetto} alla sezione 3.4.4.1. +\begin{itemize} + \item Risultato: percentuale compresa tra 0 e 100, che indica quante metriche sono state soddisfatte rispetto alle metriche totali. + \item Valore ottimale: compreso tra 75 e 100. + \item Valore minimale: non inferiore a 50. +\end{itemize} \subsection{Processi organizzativi}% \label{sub:processi_organizzativi} @@ -150,7 +178,7 @@ \subsubsection{Processo di gestione dei rischi}% \item L'applicazione di procedure per frenare l'impatto negativo che potrebbero avere nel caso in cui si verificassero. \end{itemize} -\paragraph{metriche}% +\paragraph{Metriche}% \label{par:metriche_rischi} \textbf{MPS-RNP}: l'indice dei rischi incontrati ma non preventivati è definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. From cd86609350416fc091c097045ce40b312fa99b02 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 09:07:31 +0200 Subject: [PATCH 16/44] =?UTF-8?q?docs:=20ristruttura=20qualit=C3=A0=20di?= =?UTF-8?q?=20prodotto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/qualita-di-processo.tex | 50 ------ .../components/qualita-di-prodotto.tex | 147 +++++++----------- 2 files changed, 56 insertions(+), 141 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index ec0d6663..df25d3c6 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -56,48 +56,6 @@ \subsubsection{Processo di sviluppo}% \subsection{Processi di supporto}% \label{sub:processi_di_supporto} -\subsubsection{Processo di documentazione}% -\label{subs:processo_di_documentazione} - -\paragraph{Obiettivi}% -\label{par:obiettivi_doc} -Lo scopo del processo di documentazione è di tracciare e mantenere registrate informazioni e prodotti relativi ai processi. - -\paragraph{Esiti}% -\label{par:esiti_doc} -L'istanziazione del processo di documentazione di qualità implica la produzione di documentazione: -\begin{itemize} - \item Completa - \item Leggibile - \item Corretta - \item Coerente - \item Fatta di parti - \item Accessibile a tutti i componenti del gruppo. -\end{itemize} - -\paragraph{Metriche}% -\label{par:metriche_doc} - -\textbf{MPS-IDG}: l'indice di Gulpease è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. -\begin{itemize} - \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. - \item Valore ottimale: compreso tra 80 e 100. - \item Valore minimale: non inferiore a 50. -\end{itemize} - -\textbf{MPS-IGF}: l'indice di Gunning Fog è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.2. -\begin{itemize} - \item Risultato: numero intero che indica il numero di anni minimi di educazione formale necessari a comprendere il testo. - \item Valore ottimale: compreso tra 9 e 10. - \item Valore minimale: inferiore a 12. -\end{itemize} - -\textbf{MPS-CO}: l'indice di correttezza ortografica è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.3. -\begin{itemize} - \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. - \item Valore ottimale: 0. - \item Valore minimale: 0. -\end{itemize} \subsubsection{Processo di risoluzione dei problemi}% \label{subs:processo_di_risoluzione_dei_problemi} @@ -148,14 +106,6 @@ \subsubsection{Processo di risoluzione dei problemi}% \paragraph{Metriche}% \label{par:metriche_prob} -%FIXME Correggere identificativo metrica, anche sulle Norme di Progetto -\textbf{PMS}: l'indice di Gulpease è definito nelle \textit{Norme di progetto} alla sezione 3.4.4.1. -\begin{itemize} - \item Risultato: percentuale compresa tra 0 e 100, che indica quante metriche sono state soddisfatte rispetto alle metriche totali. - \item Valore ottimale: compreso tra 75 e 100. - \item Valore minimale: non inferiore a 50. -\end{itemize} - \subsection{Processi organizzativi}% \label{sub:processi_organizzativi} diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index 35282d98..2cc2610b 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -5,6 +5,55 @@ Le caratteristiche dello standard ISO/IEC 25010:2011 che il gruppo ha ritenuto rilevanti per il prodotto vengono elencate qui sotto, accompagnate dai valori desiderabili delle metriche definite nelle \textit{Norme di Progetto} per misurare il grado di raggiungimento della qualità di prodotto. +\subsection{Qualità di documentazione} +Qualità di documentazione come: +\begin{itemize} + \item Completa + \item Leggibile + \item Corretta + \item Coerente + \item Modulare +\end{itemize} +\subsubsection{Metriche}% +\label{par:metriche_doc} + +\textbf{MPS-IDG}: l'indice di Gulpease è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. +\begin{itemize} + \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. + \item Valore ottimale: compreso tra 80 e 100. + \item Valore minimale: non inferiore a 50. +\end{itemize} + +\textbf{MPS-IGF}: l'indice di Gunning Fog è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.2. +\begin{itemize} + \item Risultato: numero intero che indica il numero di anni minimi di educazione formale necessari a comprendere il testo. + \item Valore ottimale: compreso tra 9 e 10. + \item Valore minimale: inferiore a 12. +\end{itemize} + +\textbf{MPS-CO}: l'indice di correttezza ortografica è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.3. +\begin{itemize} + \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. + \item Valore ottimale: 0. + \item Valore minimale: 0. +\end{itemize} + +\subsection{Qualità di prodotto software} + +\subsubsection{Metriche}% +\label{subs:metriche_funzionale} +\begin{description} +\item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. +\begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} +\item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. + \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} +\item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. + \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} +\item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. + \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} +\end{description} + +% TODO - copiare descrizioni sotto nelle NDP \subsection{Appropriatezza funzionale}% \label{sub:appropriatezza_funzionale} @@ -23,56 +72,18 @@ \subsection{Appropriatezza funzionale}% \begin{description} \item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} -\end{description} + \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. + \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} + \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. + \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} + \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. + \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} + \end{description} % subs:metriche_funzionale (end) % sub:appropriatezza_funzionale (end) -\subsection{Performance}% -\label{sub:performance} - Questa caratteristica rappresenta la performance del prodotto relativamente alle risorse utilizzate in specifiche condizioni. - \subsubsection{Obiettivi}% - \label{subs:obiettivi_performance} - \begin{description} - \item [Risposta nel tempo]: Grado con cui i tempi di risposta e di elaborazione del prodotto rispettano i requisiti. - \item [Utilizzo delle risorse]: Grado con cui la quantità e il tipo di risorse usate dal prodotto rispettano i requisiti. - \item [Capacità]: Grado con cui il massimo limite di un parametro del prodotto rispetta i requisiti. - \end{description} - % subs:obiettivi_performance (end) - - \subsubsection{Metriche}% - \label{subs:metriche_performance} - \begin{description} - \item [[MPR-IS \textasciitilde] apdex]: Apdex è una misura numerica della soddisfazione utente in relazione ai tempi di risposta del prodotto in vari casi. L'indice \(A_t\) si calcola come \begin{equation} A_t = \frac{C_s + \frac{C_a}{2}}{C_{tot}} \\ \end{equation} Con t tempo soglia della misura, \(C_s\) numero di casi misurati con tempo inferiore a t, \(C_a\) il numero di casi misurati con tempo compreso tra t e 4t ed \(C_{tot}\) numero di casi totali misurati. - \begin{itemize} \item Valore ammissibile: 0.6 \item Valore ottimale: 0.9 \end{itemize} - \end{description} - % subs:metriche_performance (end) - -% sub:performance (end) - -\subsection{Sicurezza}% -\label{sub:sicurezza} - Questa caratteristica indica il grado con cui il prodotto protegge e limita l'accesso a dati e informazioni in modo da rispettare i livelli di autorizzazione definiti. - \subsubsection{Obiettivi}% - \label{subs:obiettivi_sicurezza} - \begin{description} - \item [Riservatezza]: Grado con cui il prodotto garantisce che i dati siano accessibili solamente a entità autorizzate. - \item [Integrità]: Grado con cui il prodotto previene utilizzi e modifiche non autorizzate di computer, programmi e dati. - \item [Non-ripudiazione]: Grado con cui azioni o eventi che è provato siano avvenute non possano essere ripudiate successivamente. - \item [Autenticazione]: Grado con cui le azioni di un'entità possono essere collegate univocamente all'entità. - \item [Autenticità]: Grado con cui l'identità di un soggetto o risorsa può essere confermata. - \end{description} - % subs:obiettivi_sicurezza (end) - - \subsubsection{Metriche}% - \label{subs:metriche_sicurezza} - \begin{description} - \item [[MPR-AS \textasciitilde] Superficie d'attacco]: possiamo monitorare la sicurezza del nostro prodotto e in particolare la riservatezza e l'integrità tramite il calcolo della superficie d'attacco, ossia i punti in cui una entità può provare a estorcere o inserire dati nel sistema. - \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} - \end{description} - % subs:metriche_sicurezza (end) - % sub:sicurezza (end) \subsection{Manutenibilità}% @@ -104,50 +115,4 @@ \subsubsection{Metriche}% % sub:manutenibilita (end) -\subsection{Usabilità}% -\label{sub:usabilita} -Questa caratteristica rappresenta il grado con cui il prodotto può essere usato da un determinato utente per raggiungere obiettivi specifici con efficienza, efficacia e soddisfazione in un determinato contesto d'uso. -\subsubsection{Obiettivi}% -\label{subs:obiettivi_usabilita} - \begin{description} - \item [Apprendibilità]: Grado con cui il prodotto consente a un determinato utente di apprendere ad utilizzare il prodotto con efficienza, efficacia, libertà dai rischi, e soddisfazione. - \item [Operabilità]: Grado con un il prodotto presenta delle caratteristiche che lo rendono di semplice utilizzo. - \item [Protezione dagli errori]: Grado con cui il prodotto protegge l'utente dal commettere errori. - \item [Accessibilità]: Grado con cui il prodotto risulta utilizzabile da persone con caratteristiche e capacità varie per raggiungere un determinato obiettivo. - \end{description} -% subs:obiettivi_usabilita (end) - -\subsubsection{Metriche}% -\label{subs:metriche_usabilita} -\begin{description} - \item [[MPR-IS \textasciitilde] Percentuale di interazioni sbagliate]: possiamo monitorare la protezione dagli errori del prodotto tramite le interazioni il cui esito si è discostato dall'obiettivo dell'utente rispetto a quelle totali. L'indice \(R_s\) si calcola come \(R_s = \frac{I_{fail}}{I_{tot}} \times 100 \). Dove \(I_{fail}\) sono le interazioni fallite mentre \(I_{tot}\) sono le interazioni totali. - \begin{itemize} \item Valore ammissibile: \leq{} 10 \% \item Valore ottimale: \leq{} 2 \% \end{itemize} -\end{description} -% subs:metriche_usabilita (end) - -% sub:usabilita (end) - -\subsection{Affidabilità}% -\label{sub:affidabilita} -Questa caratteristica rappresenta il grado con cui il prodotto effettua specifici compiti sotto determinate condizioni per un periodo di tempo fissato. -\subsubsection{Obiettivi}% -\label{subs:obiettivi_affidabilita} - \begin{description} - \item [Maturità]: Grado con cui il prodotto rispetta i requisiti di affidabilità in condizioni normali. - \item [Disponibilità]: Grado con cui il prodotto risulta operativo e accessibile quando ne è richiesto l'uso. - \item [Tolleranza agli errori]: Grado con cui il prodotto continua ad operare in maniera corretta nonostante la presenza di errori software e hardware. - \item [Recuperabilità]: Grado con cui il prodotto, in caso di un'interruzione o di un errore, riesce a recuperare i dati coinvolti e ristabilire il corretto funzionamento del sistema. - \end{description} -% subs:obiettivi_affidabilita (end) - -\subsubsection{Metriche}% -\label{subs:metriche_affidabilita} -\begin{description} - \item [[MPR-RS \textasciitilde] Percentuale Richieste soddisfatte]: possiamo monitorare la disponibilità e la maturità del prodotto tramite il numero di richieste fatte al software che hanno avuto successo rispetto al totale di richieste effettuate: \(\frac{R_{succ}}{R_{tot}} \). Dove \(R_{succ}\) sono le richieste effettuate con successo mentre \(R_{tot}\) sono le richieste totali. - \begin{itemize} \item Valore ammissibile: \le{} 90 \% \item Valore ottimale: \le{} 98 \% \end{itemize} -\end{description} -% subs:metriche_affidabilita (end) - -% sub:affidabilita (end) - \end{document} From 204cb655cc8ae51ca5f19d191687f8e12a5ed117 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 10:03:29 +0200 Subject: [PATCH 17/44] =?UTF-8?q?docs:=20ristruttura=20qualit=C3=A0=20di?= =?UTF-8?q?=20processo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/qualita-di-processo.tex | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index df25d3c6..e4c51d28 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -19,6 +19,30 @@ \subsection{Descrizione}% \item Definire dei valori soglia delle metriche per avere una quantificazione oggettiva della qualità del processo in esame. \end{itemize} +\subsection{Qualità di gestione di processo} + + +\subsubsection{Metriche}% +\label{par:metriche_doc} + +\textbf{MPS-DE}: Discostamento economico: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.1. +\begin{itemize} + \item Risultato: misura quanto i costi effettivamente sostenuti nell’esecuzione del + processo si discostano dai costi previsti. +\end{itemize} + +\textbf{MPS-DO}: Discostamento orario: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.2. +\begin{itemize} + \item Risultato: misura quanto il totale orario effettivamente lavorato durante l’esecuzione + del processo si discostano dal totale orario previsto. +\end{itemize} + + + + +% TODO - copiare descrizioni metriche MISURABILI nelle norme + + \subsection{Processi primari}% \label{sub:processi_primari} From 3d51d4f9f08a52b8137e30341c7c0a45f0cb94ed Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 10:47:50 +0200 Subject: [PATCH 18/44] docs: sistema parzialmente specifica test --- .../components/specifica-test.tex | 345 +++++++++--------- 1 file changed, 176 insertions(+), 169 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 2575da9c..49d1eb5c 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -22,13 +22,14 @@ I test di accettazione hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti dal proponente, vengono eseguiti durante la fase di verifica e collaudo finale. Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Accettazione nel modo seguente: \begin{center} - [TA][requisito][importanza][codice] + [TA][numero][tipo][priorità] \end{center} - Dove: \textit{importanza} è un valore numerico ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{codice} è un codice numerico identificativo per il test e \textit{requisito} può assumere i seguenti valori: + Dove: \textit{priorità} è un valore numerico ad indicare l'importanza del requisito che deve essere soddisfatto, con un numero da 1 a 3 \textit{numero} è un numero identificativo per il test e \textit{tipo} può assumere i seguenti valori: \begin{description} \item [F]: requisito funzionale \item [P]: requisito prestazionale - \item [D]: requisito dichiarativo + \item [V]: requisito vincolo + \item [Q]: requisito qualità \end{description} \newpage @@ -43,7 +44,10 @@ \multicolumn{3}{r}{\textit{Continua alla pagina seguente}} \endfoot{}% \endlastfoot{} - TAAFO001 & Al nuovo utente deve essere permesso di registrarsi. \newline + +% - App + + TA001F1 & Al nuovo utente deve essere permesso di registrarsi. \newline L'utente deve: \begin{itemize} \item visualizzare e confermare l'\glossario{EULA}; @@ -54,14 +58,14 @@ \item confermare la registrazione. \end{itemize} & NS \\ - TAAFO002 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l'email è già presente nel database. \newline + TA002F1 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l'email è già presente nel database. \newline L'utente deve: \begin{itemize} \item inserire dati di accesso non validi; \item verificare l'impossibilità di proseguire con la registrazione. \end{itemize} & NS \\ - TAAFO003 & Il sistema deve permettere all'utente registrato di autenticarsi. \newline + TA003F1 & Il sistema deve permettere all'utente registrato di autenticarsi. \newline L'utente deve: \begin{itemize} \item inserire la propria email; @@ -69,76 +73,82 @@ \item confermare l'autenticazione. \end{itemize} & NS \\ - TAAFO004 & Il sistema deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + TA004F1 & Il sistema deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline L'utente deve: \begin{itemize} \item inserire dati di accesso non validi; \item verificare l'impossibilità di proseguire con l'autenticazione. \end{itemize} & NS \\ - TAAFO005 & Il sistema deve permettere all'utente di recuperare la sua password. \newline + TA005F1 & Il sistema deve permettere all'utente di recuperare la sua password. \newline L'utente deve: \begin{itemize} \item avviare la procedura di recupero password; \item inserire la propria email; - \item confermare la procedura; - \item verificare che la password venga ricevuta correttamente; + \item il sistema deve inviare una mail contenente un link per la reimpostazione della password. \end{itemize} & NS \\ - TAAFO006 & Il sistema deve permettere all'utente di reimpostare la sua password. \newline + TA006F1 & Il sistema deve permettere all'utente di reimpostare la sua password. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di reimpostazione password; - \item inserire la propria email; - \item inserire la vecchia password; + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail; \item inserire una nuova password; \item confermare la nuova password; \item confermare la procedura; \item verificare che la password sia stata cambiata correttamente; \end{itemize} & NS \\ - TAAFO007 & Il sistema deve rifiutare la richiesta di reimpostazione password se la password scelta non rispetta i vincoli imposti. \newline + TA007F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la password scelta non rispetta i vincoli imposti. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di reimpostazione password; - \item inserire la propria email; - \item inserire la vecchia password; + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail; \item inserire una nuova password non valida; \item confermare la nuova password; \item confermare la procedura; \item visualizzare un messaggio di errore; \end{itemize} & NS \\ - TAAFO008 & Il sistema deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline + TA008F1 & Il sistema deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline L'utente deve: \begin{itemize} - \item autenticarsi; - \item visualizzare la lista di organizzazioni; + \item visualizzare la lista di organizzazioni in cui può collegarsi; \item aggiornare la lista; \item visualizzare la lista aggiornata. \end{itemize} & NS \\ - TAAFO009 & Il sistema deve permettere all'utente autenticato di selezionare una o più organizzazioni dalla lista e collegarsi alle organizzazioni selezionate. \newline + TA009F1 & Il sistema deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni su cui è collegato e di aggiornarla. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista di organizzazioni su cui è collegato; + \item aggiornare la lista; + \item visualizzare la lista aggiornata. + \end{itemize} + & NS \\ + + TA010F1 & Il sistema deve permettere all'utente autenticato di visualizzare le informazioni di un'organizzazione in lista. \newline + L'utente deve: + \begin{itemize} + \item visualizzare nome dell'organizzazione; + \item visualizzare descrizione dell'organizzazione; + \item visualizzare stato dell'organizzazione (pubblica o privata). + \end{itemize} + & NS \\ + TA011F1 & Il sistema deve permettere all'utente autenticato di selezionare un'organizzazione dalla lista e collegarsi. \newline L'utente deve: \begin{itemize} - \item selezionare una o più organizzazioni dalla lista; + \item visualizzare la lista delle organizzazione alle quali può collegarsi; + \item selezionare un'organizzazione il lista; \item avviare la procedura di collegamento. \end{itemize} & NS \\ - TAAFO010 & Il sistema deve permettere all'utente autenticato e collegato ad una o più organizzazioni di scollegarsi da una o più organizzazioni. \newline + TA012F1 & Il sistema deve permettere all'utente autenticato e collegato ad una o più organizzazioni di scollegarsi da un'organizzazione. \newline L'utente deve: \begin{itemize} - \item selezionare una o più organizzazioni a cui è collegato; + \item visualizzare la lista delle organizzazione alle quali è collegato; + \item selezionare un'organizzazione il lista; \item avviare la procedura di scollegamento. \end{itemize} & NS \\ - TAAFO011 & Il sistema deve permettere all'utente autenticato di visualizzare tramite un filtro la lista delle organizzazioni a cui è collegato oppure quella delle organizzazioni da cui è scollegato. \newline - L'utente deve: - \begin{itemize} - \item impostare il filtro; - \item visualizzare la lista richiesta. - \end{itemize} - & NS \\ TAAFO012 & Il sistema deve permettere all'utente autenticato il passaggio da noto ad incognito e viceversa. \newline L'utente deve: \begin{itemize} @@ -175,7 +185,10 @@ \item visualizzare il messaggio di errore corrispondente. \end{itemize} & NS \\ - TAAFO017 & L'interfaccia web deve permettere all'utente non autenticato di autenticarsi. \newline + +% - WebApp + + TAFO017 & L'interfaccia web deve permettere all'utente non autenticato di autenticarsi. \newline L'utente deve: \begin{itemize} \item compilare il campo email; @@ -191,157 +204,151 @@ \end{itemize} & NS \\ TAWFO019 & L'interfaccia web deve permettere all'utente autenticato di effettuare la disconnessione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di disconnessione. - \end{itemize} - & NS \\ + L'utente deve: + \begin{itemize} + \item avviare la procedura di disconnessione. + \end{itemize} + & NS \\ TAWFO020 & L'interfaccia web deve permettere all'owner di creare un'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item avviare la procedura di creazione di una organizzazione; - \item inserire il nome dell'organizzazione; - \item inserire la descrizione dell'organizzazione; - \item specificare i dettagli del server \glossario{LDAP} - \item verificare l'avvenuta creazione dell'organizzazione - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item avviare la procedura di creazione di una organizzazione; + \item inserire il nome dell'organizzazione; + \item inserire la descrizione dell'organizzazione; + \item specificare i dettagli del server \glossario{LDAP} + \item verificare l'avvenuta creazione dell'organizzazione + \end{itemize} + & NS \\ TAWFO021 & L'interfaccia web deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline - L'owner deve: - \begin{itemize} - \item avviare la procedura di eliminazione di una organizzazione; - \item confermare la procedura di eliminazione - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item avviare la procedura di eliminazione di una organizzazione; + \item confermare la procedura di eliminazione + \end{itemize} + & NS \\ TAWFO022 & L'interfaccia web deve permettere all'owner di modificare l'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item avviare la procedura di modifica di una organizzazione; - \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). - \end{itemize} - & NS \\ - TAWFO023 & L'interfaccia web deve permettere all'owner e al gestore di visualizzare una lista delle organizzazioni di cui fanno parte. \newline - L'owner e il gestore devono: - \begin{itemize} - \item visualizzare la lista delle organizzazioni di cui fanno parte. - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item avviare la procedura di modifica di una organizzazione; + \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). + \end{itemize} + & NS \\ TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline - L'utente deve: - \begin{itemize} - \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. - \end{itemize} - & NS \\ + L'utente deve: + \begin{itemize} + \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. + \end{itemize} + & NS \\ TAWFO025 & L'interfaccia web deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item inserire le coordinate geografiche; - \item inserire l'indirizzo. - \end{itemize} - & NS \\ + L'utente deve: + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo; + \item inserire le coordinate geografiche; + \item inserire l'indirizzo. + \end{itemize} + & NS \\ TAWFF026 & L'interfaccia web può opzionalmente permettere all'owner e al - gestore di aggiungere un luogo all'organizzazione evidenziandone - l'area sulla mappa. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item selezionare l'area sulla mappa. - \end{itemize} - & NS \\ + gestore di aggiungere un luogo all'organizzazione evidenziandone + l'area sulla mappa. \newline + L'owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo; + \item selezionare l'area sulla mappa. + \end{itemize} + & NS \\ TAWFO027 & L'interfaccia web deve permettere all'owner e al gestore di eliminare luoghi dall'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di eliminazione di un nuovo luogo; - \item confermare l'eliminazione. - \end{itemize} - & NS \\ + L'owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di eliminazione di un nuovo luogo; + \item confermare l'eliminazione. + \end{itemize} + & NS \\ TAWFO028 & L'interfaccia web deve permettere all'owner e al gestore di modificare i luoghi dell'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di modifica di un nuovo luogo; - \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). - \end{itemize} - & NS \\ - TAWFO029 & L'interfaccia web deve permettere all'owner e al gestore di visualizzare una lista dei luoghi dell'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item selezionare la lista dei luoghi dell'organizzazione; - \item visualizzare la lista dei luoghi. - \end{itemize} - & NS \\ - TAWFO30 & L'interfaccia web deve permettere agli amministratori di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item selezionare un'organizzazione dalla lista; - \item visualizzare le informazioni dell'organizzazione. - \end{itemize} - & NS \\ - TAWFO31 & L'interfaccia web deve permettere agli amministratori di un'organizzazione di visualizzare gli accessi di un dipendente. \newline - Gli amministratori dell'organizzazione devono: - \begin{itemize} - \item selezionare il dipendente dall'elenco della propria organizzazione; - \item visualizzare i dati di accesso del dipendente selezionato. - \end{itemize} - & NS \\ + L'owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di modifica di un nuovo luogo; + \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). + \end{itemize} + & NS \\ + TAWFO029 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di visualizzare una lista dei luoghi dell'organizzazione. \newline + L'owner, gestore e visualizzatore devono: + \begin{itemize} + \item selezionare la lista dei luoghi dell'organizzazione; + \item visualizzare la lista dei luoghi. + \end{itemize} + & NS \\ + TAWFO30 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline + L'owner, gestore e visualizzatore devono: + \begin{itemize} + \item selezionare un'organizzazione dalla lista; + \item visualizzare le informazioni dell'organizzazione. + \end{itemize} + & NS \\ + TAWFO31 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare gli accessi di un dipendente. \newline + Gli amministratori dell'organizzazione devono: + \begin{itemize} + \item selezionare il dipendente dall'elenco della propria organizzazione; + \item visualizzare i dati di accesso del dipendente selezionato. + \end{itemize} + & NS \\ TAWFO32 & L'interfaccia web deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura per diventare owner; - \item confermare la richiesta di diventare owner. - \end{itemize} - & NS \\ + L'utente deve: + \begin{itemize} + \item avviare la procedura per diventare owner; + \item confermare la richiesta di diventare owner. + \end{itemize} + & NS \\ TAWFO33 & Il sistema deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner; - \item avviare la procedura di aggiunta di un gestore; - \item inserire email dell'utente da promuovere. - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner; + \item avviare la procedura di aggiunta di un gestore; + \item inserire email dell'utente da promuovere. + \end{itemize} + & NS \\ TAWFO34 & Il sistema deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner; - \item avviare la procedura di aggiunta di un visualizzatore; - \item inserire email dell'utente da promuovere. - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner; + \item avviare la procedura di aggiunta di un visualizzatore; + \item inserire email dell'utente da promuovere. + \end{itemize} + & NS \\ TAWFO34 & Il sistema deve permettere all'amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline - L'amministratore deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione owner; - \item inserire email dell'owner da rimuovere; - \item confermare la rimozione dell'owner. - \end{itemize} - & NS \\ + L'amministratore deve: + \begin{itemize} + \item selezionare un'organizzazione; + \item avviare la procedura di rimozione owner; + \item inserire email dell'owner da rimuovere; + \item confermare la rimozione dell'owner. + \end{itemize} + & NS \\ TAWFO35 & Il sistema deve permettere all'owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione dei gestori; - \item inserire email del gestore da rimuovere; - \item confermare la rimozione del gestore. - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione; + \item avviare la procedura di rimozione dei gestori; + \item inserire email del gestore da rimuovere; + \item confermare la rimozione del gestore. + \end{itemize} + & NS \\ TAWFO36 & Il sistema deve permettere all'owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione dei visualizzatori; - \item inserire email del visualizzatore da rimuovere; - \item confermare la rimozione del visualizzatore. - \end{itemize} - & NS \\ + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione; + \item avviare la procedura di rimozione dei visualizzatori; + \item inserire email del visualizzatore da rimuovere; + \item confermare la rimozione del visualizzatore. + \end{itemize} + & NS \\ TAWFO37 & Il sistema deve permettere all'amministratore di eliminare un account dal sistema. \newline - L'amministratore deve: - \begin{itemize} - \item avviare la procedura di rimozione utente; - \item selezionare l'account da rimuovere; - \item confermare la rimozione dell'account. - \end{itemize} - & NS \\ + L'amministratore deve: + \begin{itemize} + \item avviare la procedura di rimozione utente; + \item selezionare l'account da rimuovere; + \item confermare la rimozione dell'account. + \end{itemize} + & NS \\ \caption{Tabella dei test di accettazione}% \label{tab:test_accettazione} \end{longtable} From 814223d3a1880d272ebbe69d6c2657b53d587dfc Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 11:00:18 +0200 Subject: [PATCH 19/44] docs: correggi test di sistema e di accettazione --- .../components/specifica-test.tex | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 49d1eb5c..646cb915 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -18,9 +18,12 @@ \item [NS]: il test non è stato ancora soddisfatto \end{description} \subsection{Test di Accettazione}% + I test di Accettazione vengono attuati dal proponente e dal capitolato e servono a dimostrare che il prodotto soddisfi tutti i requisiti. + E' quindi in sede di collaudo finale, che vengono eseguiti questi test. + \subsection{Test di Sistema}% \label{subs:accettazione} - I test di accettazione hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti dal proponente, vengono eseguiti durante la fase di verifica e collaudo finale. - Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Accettazione nel modo seguente: + I test di sistema hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti, vengono eseguiti durante la fase di verifica e collaudo finale. + Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Sistema nel modo seguente: \begin{center} [TA][numero][tipo][priorità] \end{center} @@ -354,14 +357,7 @@ \end{longtable} %subs:accettazione (end) \end{centering} - \subsubsection{Test di Sistema}% - \label{subs:sistema} - I test di sistema verificano il corretto funzionamento tra tutte le componenti del sistema. I test verranno identificati nel seguente modo: - \begin{center} - TS[codice] - \end{center} - Dove \textit{codice} rappresenta un numero identificativo per il Test di Sistema. - %subs:sistema (end) + \subsubsection{Test di Integrazione}% \label{subs:integrazione} I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: From d262de8cec31b3cfd4bed0f7c162fa1b4455b772 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Fri, 10 Apr 2020 12:37:52 +0200 Subject: [PATCH 20/44] docs(PdQ): aggiungi metrica MPS-PMS --- .../piano-di-qualifica/components/qualita-di-processo.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index e4c51d28..481d4e3b 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -130,6 +130,13 @@ \subsubsection{Processo di risoluzione dei problemi}% \paragraph{Metriche}% \label{par:metriche_prob} +\textbf{MPS-PMS}: la metrica che definisce la percentuale di metriche soddisfatte è definita nelle \textit{Norme di progetto} alla sezione 3.4.4.1. +\begin{itemize} + \item Risultato: percentuale compresa tra 0 e 100, che indica quante metriche sono state soddisfatte rispetto alle metriche totali. + \item Valore ottimale: compreso tra 75 e 100. + \item Valore minimale: non inferiore a 50. +\end{itemize} + \subsection{Processi organizzativi}% \label{sub:processi_organizzativi} From 16f57db43a54972aee021519a720a21240b9e98f Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 20:01:16 +0200 Subject: [PATCH 21/44] docs: aggiorna scopo del prodotto --- esterni/piano-di-qualifica/components/introduzione.tex | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/esterni/piano-di-qualifica/components/introduzione.tex b/esterni/piano-di-qualifica/components/introduzione.tex index 38c228fc..901e54d2 100644 --- a/esterni/piano-di-qualifica/components/introduzione.tex +++ b/esterni/piano-di-qualifica/components/introduzione.tex @@ -9,6 +9,15 @@ \subsection{Scopo del documento}% In questo modo è quindi possibile rilevare e correggere il prima possibile eventuali anomalie, riducendo al minimo lo spreco delle risorse. % sub:scopo_del_documento (end) +\subsection{Scopo del prodotto}% +\label{sub:scopo_del_prodotto} +L'obiettivo del \glossario{progetto} è sviluppare un'\glossario{applicazione mobile} distribuita, seguendo il \glossario{modello client/server}. +Il \glossario{client} deve essere in grado di segnalare sia l'ingresso che l'uscita dell'\glossario{utente} dai \glossario{luoghi} (in modalità anonima o meno a seconda delle esigenze), i quali sono definiti dalle \glossario{organizzazioni}. +Il \glossario{server} deve fornire la possibilità di raccogliere ed analizzare i \glossario{dati} relativi alle organizzazioni. +In caso di utenti anonimi l'analisi riguarda solo una \glossario{stima} del numero totale di persone presenti in un dato momento. +In caso di utenti autenticati deve inoltre essere possibile effettuare \glossario{query} di monitoraggio specifiche. +In merito all'ottimizzazione della geolocalizzazione, è richiesto un \glossario{report} che esponga le scelte progettuali, le rispettive motivazioni e i test eseguiti per garantire la rilevazione sufficiente precisa della posizione, considerando le limitazioni dello \glossario{smartphone}. + \scopoDelProdottoEGlossario{} From 69a9c2cd12673c1fa631ecc38d3533c41e3dde0e Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 22:55:24 +0200 Subject: [PATCH 22/44] docs: sistema metriche implementando solo quelle delle ndp, commenta il resto --- .../components/qualita-di-processo.tex | 312 ++++++++++-------- .../components/qualita-di-prodotto.tex | 155 ++++----- 2 files changed, 245 insertions(+), 222 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index 481d4e3b..fed7870e 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -19,192 +19,226 @@ \subsection{Descrizione}% \item Definire dei valori soglia delle metriche per avere una quantificazione oggettiva della qualità del processo in esame. \end{itemize} -\subsection{Qualità di gestione di processo} - +\subsection{Qualità di sviluppo}% +\label{subsec:qualita_sviluppo} \subsubsection{Metriche}% -\label{par:metriche_doc} +\label{par:metriche_sv} -\textbf{MPS-DE}: Discostamento economico: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.1. -\begin{itemize} - \item Risultato: misura quanto i costi effettivamente sostenuti nell’esecuzione del - processo si discostano dai costi previsti. -\end{itemize} -\textbf{MPS-DO}: Discostamento orario: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.2. -\begin{itemize} - \item Risultato: misura quanto il totale orario effettivamente lavorato durante l’esecuzione - del processo si discostano dal totale orario previsto. -\end{itemize} +\begin{description} +\item [[MPS-NFV \textasciitilde] Nomi di variabili o di titoli di metodi o classi che non rispettano le norme stabilite]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.2. +\begin{itemize} \item Risultato: numero di nomi di variabili o di titoli di metodi o classi che non rispettano le norme stabilite. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} +\item [[MPS-CNN \textasciitilde] Commenti non normati]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.3. + \begin{itemize} \item Risultato: numero di commenti che non rispettano le norme stabilite. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} +\item [[MPS-ICC \textasciitilde] Classi che ereditano da una classe concreta]: definita nelle \textit{Norme di progetto} alla sezione 2.3.4.5. + \begin{itemize} \item Risultato: numero di classi che ereditano da classi concrete. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} +\end{description} -% TODO - copiare descrizioni metriche MISURABILI nelle norme +\subsection{Qualità di risoluzione dei problemi}% +\label{subsec:qualita_sviluppo} +\subsubsection{Metriche}% +\label{par:metriche_rp} -\subsection{Processi primari}% -\label{sub:processi_primari} -\subsubsection{Processo di sviluppo}% -\label{subs:processo_di_sviluppo} -Il processo di sviluppo è sicuramente uno dei più articolati. Per tale ragione ogni attività del processo di sviluppo (e.g.\ analisi dei requisiti, progettazione architetturale) ha un paragrafo dedicato. -\paragraph{Analisi dei requisiti}% -\label{par:analisi_dei_requisiti} +\begin{description} + \item [[MPS-RDP \textasciitilde] Indice di velocità di risoluzione dei problemi]: definito nelle \textit{Norme di progetto} alla sezione 3.7.3.1. + \begin{itemize} \item Risultato: numero intero che rappresenta la quantità di giorni trascorsi tra l'apertura della issue e la sua chiusura. \item Valore ammissibile: 1\% \item Valore ottimale: 7\% \end{itemize} +\end{description} -\subparagraph{Obiettivi}% -\label{par:obiettivi} -L'obiettivo dell'attività di analisi dei requisiti è di trasformare i requisiti dello stakeholder in requisiti tecnici che possano guidare il team alla progettazione del software. -\subparagraph{Esiti}% -\label{par:esiti} -I risultati di un'analisi dei requisiti di qualità sono: -\begin{itemize} - \item La definizione di una serie di requisiti che possano descrivere il problema. - \item Una classificazione dei requisiti in modo da poterne tracciare i cambiamenti. - \item La realizzazione dei diagrammi dei casi d'uso per iniziare la progettazione. - \item La valutazione delle richieste degli stakeholders per negoziare modifiche, se necessarie. -\end{itemize} +\subsection{Qualità di gestione dei rischi}% +\label{subsec:qualita_sviluppo} -\subparagraph{Metriche}% -\label{par:metriche} +\subsubsection{Metriche}% +\label{par:metriche_rp} -\textbf{MPS-ROS}: la metrica che individua i requisiti obbligatori soddisfatti è definita nelle \textit{Norme di progetto} alla sezione 2.3.5.1. -\begin{itemize} - \item Risultato: percentuale di requisiti obbligatori soddisfatti al momento di calcolo nell'indice. - \item valore ottimale: 100 \%. - \item valore minimale: 100 \%. -\end{itemize} +\begin{description} + \item [[MPS-RDP \textasciitilde] Indice dei rischi incontrati ma non preventivati]: definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. + \begin{itemize} \item Risultato: numero intero che rappresenta il numero di rischi incontrati durante il progetto che non erano stati previsti. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} +\end{description} -\subsection{Processi di supporto}% -\label{sub:processi_di_supporto} +\subsection{Qualità di gestione di processo} +\label{subsec:qualita_processo} +\subsubsection{Metriche}% +\label{par:metriche_pr} -\subsubsection{Processo di risoluzione dei problemi}% -\label{subs:processo_di_risoluzione_dei_problemi} +\begin{description} + \item [[MPS-DE \textasciitilde] Discostamento economico]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.1. + \begin{itemize} \item Risultato: misura quanto i costi effettivamente sostenuti nell’esecuzione del + processo si discostano dai costi previsti. \item Valore ammissibile: TODO\% \item Valore ottimale: TODO\% \end{itemize} -\paragraph{Obiettivi}% -\label{par:obiettivi_prob} + \item [[MPS-DO \textasciitilde] Discostamento orario]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.2. + \begin{itemize} \item Risultato: misura quanto il totale orario effettivamente lavorato durante l’esecuzione + del processo si discostano dal totale orario previsto. \item Valore ammissibile: TODO\% \item Valore ottimale: TODO\% \end{itemize} +\end{description} -Lo scopo del processo di risoluzione dei problemi è di mantenere traccia delle problematiche riscontrate durante lo svolgimento del progetto e di offrire soluzioni. +% TODO - copiare descrizioni metriche MISURABILI nelle norme -% \paragraph{Esiti}% -% \label{par:esiti} -\paragraph{Metriche}% -\label{par:metriche_prob} +% \subsection{Processi primari}% +% \label{sub:processi_primari} -I risultati di un processo di risoluzione dei problemi di qualità sono: -\begin{itemize} +% \subsubsection{Processo di sviluppo}% +% \label{subs:processo_di_sviluppo} +% Il processo di sviluppo è sicuramente uno dei più articolati. Per tale ragione ogni attività del processo di sviluppo (e.g.\ analisi dei requisiti, progettazione architetturale) ha un paragrafo dedicato. - \item L'identificazione e l'analisi di problemi riscontrati durante lo svolgimento del progetto. - \item La definizione di strategie e procedure per risolverli. -\end{itemize} +% \paragraph{Analisi dei requisiti}% +% \label{par:analisi_dei_requisiti} -\textbf{MPS-RDP}: l'indice di velocità di risoluzione dei problemi è definito nelle \textit{Norme di progetto} alla sezione 3.7.3.1. -\begin{itemize} - \item Risultato: numero intero che rappresenta la quantità di giorni trascorsi tra l'apertura della issue e la sua chiusura. - \item Valore ottimale: 1. - \item Valore minimale: 7. -\end{itemize} +% \subparagraph{Obiettivi}% +% \label{par:obiettivi} +% L'obiettivo dell'attività di analisi dei requisiti è di trasformare i requisiti dello stakeholder in requisiti tecnici che possano guidare il team alla progettazione del software. -\paragraph{Processo di accertamento della qualità}% -\label{par:processo_di_accertamento_della_qualita} +% \subparagraph{Esiti}% +% \label{par:esiti} +% I risultati di un'analisi dei requisiti di qualità sono: +% \begin{itemize} +% \item La definizione di una serie di requisiti che possano descrivere il problema. +% \item Una classificazione dei requisiti in modo da poterne tracciare i cambiamenti. +% \item La realizzazione dei diagrammi dei casi d'uso per iniziare la progettazione. +% \item La valutazione delle richieste degli stakeholders per negoziare modifiche, se necessarie. +% \end{itemize} -\paragraph{Obiettivi}% -\label{par:obiettivi_accertamento_della_qualita} +% \subparagraph{Metriche}% +% \label{par:metriche} -Lo scopo del processo di accertamento della qualità è di garantire che i prodotti e i processi del ciclo di vita del software rispettino i requisiti prestabiliti e aderire ai piani esecutivi prefissati. -\paragraph{Esiti}% -\label{par:esiti} -Il processo di accertamento della qualità implica che: -\begin{itemize} - \item la qualità dei processi di fornitura sia assicurata attraverso il miglioramento continuo. - \item vengano soddisfatte tutte le richieste avanzate del proponente. - \item che non si consumino più risorse di quel che il fornitore ha a disposizione. -\end{itemize} +% \subsection{Processi di supporto}% +% \label{sub:processi_di_supporto} -\paragraph{Metriche}% -\label{par:metriche_prob} -\textbf{MPS-PMS}: la metrica che definisce la percentuale di metriche soddisfatte è definita nelle \textit{Norme di progetto} alla sezione 3.4.4.1. -\begin{itemize} - \item Risultato: percentuale compresa tra 0 e 100, che indica quante metriche sono state soddisfatte rispetto alle metriche totali. - \item Valore ottimale: compreso tra 75 e 100. - \item Valore minimale: non inferiore a 50. -\end{itemize} +% \subsubsection{Processo di risoluzione dei problemi}% +% \label{subs:processo_di_risoluzione_dei_problemi} -\subsection{Processi organizzativi}% -\label{sub:processi_organizzativi} +% \paragraph{Obiettivi}% +% \label{par:obiettivi_prob} -\subsubsection{Processo di gestione dei rischi}% -\label{sub:processo_di_gestione_dei_rischi} +% Lo scopo del processo di risoluzione dei problemi è di mantenere traccia delle problematiche riscontrate durante lo svolgimento del progetto e di offrire soluzioni. -\paragraph{Obiettivi}% -\label{par:obiettivi_rischi} +% % \paragraph{Esiti}% +% % \label{par:esiti} -L'obiettivo del processo di gestione dei rischi è di identificare, analizzare, monitorare e prevenire i rischi che possono verificarsi nel corso del ciclo di vita del software. +% \paragraph{Metriche}% +% \label{par:metriche_prob} -\paragraph{Esiti}% -\label{par:esiti_rischi} +% I risultati di un processo di risoluzione dei problemi di qualità sono: +% \begin{itemize} -I risultati di un processo di gestione dei rischi di qualità sono: -\begin{itemize} - \item La definizione dei rischi che si incontrano nello svolgimento del progetto. - \item La classificazione dei rischi in modo da determinarne la probabilità di verificarsi e la pericolosità. - \item La determinazione di strategie, soluzioni e metodi per prevenirli. - \item L'applicazione di procedure per frenare l'impatto negativo che potrebbero avere nel caso in cui si verificassero. -\end{itemize} +% \item L'identificazione e l'analisi di problemi riscontrati durante lo svolgimento del progetto. +% \item La definizione di strategie e procedure per risolverli. +% \end{itemize} -\paragraph{Metriche}% -\label{par:metriche_rischi} +% \textbf{MPS-RDP}: l'indice di velocità di risoluzione dei problemi è definito nelle \textit{Norme di progetto} alla sezione 3.7.3.1. +% \begin{itemize} +% \item Risultato: numero intero che rappresenta la quantità di giorni trascorsi tra l'apertura della issue e la sua chiusura. +% \item Valore ottimale: 1. +% \item Valore minimale: 7. +% \end{itemize} -\textbf{MPS-RNP}: l'indice dei rischi incontrati ma non preventivati è definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. -\begin{itemize} - \item Risultato: numero intero che rappresenta il numero di rischi incontrati durante il progetto che non erano stati previsti. - \item Valore ottimale: 0. - \item Valore minimale: 0. -\end{itemize} +% \paragraph{Processo di accertamento della qualità}% +% \label{par:processo_di_accertamento_della_qualita} + +% \paragraph{Obiettivi}% +% \label{par:obiettivi_accertamento_della_qualita} + +% Lo scopo del processo di accertamento della qualità è di garantire che i prodotti e i processi del ciclo di vita del software rispettino i requisiti prestabiliti e aderire ai piani esecutivi prefissati. -\subsubsection{Processo di gestione del personale}% -\label{subs:processo_di_gestione_del_personale} +% \paragraph{Esiti}% +% \label{par:esiti} -\paragraph{Pianificazione}% -\label{par:pianificazione} +% Il processo di accertamento della qualità implica che: +% \begin{itemize} +% \item la qualità dei processi di fornitura sia assicurata attraverso il miglioramento continuo. +% \item vengano soddisfatte tutte le richieste avanzate del proponente. +% \item che non si consumino più risorse di quel che il fornitore ha a disposizione. +% \end{itemize} -\subparagraph{Obiettivi}% -\label{subp:obiettivi_pers} -L'obiettivo dell'attività di pianificazione è di stabilire e organizzare le principali attività e compiti di progetto. +% \paragraph{Metriche}% +% \label{par:metriche_prob} -\subparagraph{Esiti}% -\label{subp:esiti_pers} -I risultati di un'attività di pianificazione di qualità sono: -\begin{itemize} - \item L'individuazione dello scopo del progetto. - \item L'identificazione delle risorse umani e temporali a disposizione e delle attività da svolgere. - \item La pianificazione di quanto stimato al punto precedente. - \item La definizione di un preventivo e di un consuntivo. - \item La stesura di un \textit{Piano di progetto}. -\end{itemize} +% \textbf{MPS-PMS}: la metrica che definisce la percentuale di metriche soddisfatte è definita nelle \textit{Norme di progetto} alla sezione 3.4.4.1. +% \begin{itemize} +% \item Risultato: percentuale compresa tra 0 e 100, che indica quante metriche sono state soddisfatte rispetto alle metriche totali. +% \item Valore ottimale: compreso tra 75 e 100. +% \item Valore minimale: non inferiore a 50. +% \end{itemize} -\paragraph{Metriche}% -\label{par:metriche_pers} +% \subsection{Processi organizzativi}% +% \label{sub:processi_organizzativi} -\textbf{MPS-VDC}: l'indice di varianza dei costi è definito nelle \textit{Norme di progetto} alla sezione 4.3.5.1. -\begin{itemize} - \item Risultato: numero che rappresenta l'efficienza e la produttività. - \item Valore ottimale: maggiore di 0. - \item Valore minimale: maggiore o uguale a 0. -\end{itemize} +% \subsubsection{Processo di gestione dei rischi}% +% \label{sub:processo_di_gestione_dei_rischi} -\textbf{MPS-VDS}: l'indice di varianza rispetto allo schedule è definito nelle \textit{Norme di progetto} alla sezione 4.3.5.2. -\begin{itemize} - \item Risultato: numero che indica se si è in anticipo o in ritardo nella schedulazione rispetto a quanto pianificato. - \item Valore ottimale: maggiore di 0. - \item Valore minimale: maggiore o uguale a 0. -\end{itemize} +% \paragraph{Obiettivi}% +% \label{par:obiettivi_rischi} + +% L'obiettivo del processo di gestione dei rischi è di identificare, analizzare, monitorare e prevenire i rischi che possono verificarsi nel corso del ciclo di vita del software. + +% \paragraph{Esiti}% +% \label{par:esiti_rischi} + +% I risultati di un processo di gestione dei rischi di qualità sono: +% \begin{itemize} +% \item La definizione dei rischi che si incontrano nello svolgimento del progetto. +% \item La classificazione dei rischi in modo da determinarne la probabilità di verificarsi e la pericolosità. +% \item La determinazione di strategie, soluzioni e metodi per prevenirli. +% \item L'applicazione di procedure per frenare l'impatto negativo che potrebbero avere nel caso in cui si verificassero. +% \end{itemize} + +% \paragraph{Metriche}% +% \label{par:metriche_rischi} + +% \textbf{MPS-RNP}: l'indice dei rischi incontrati ma non preventivati è definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. +% \begin{itemize} +% \item Risultato: numero intero che rappresenta il numero di rischi incontrati durante il progetto che non erano stati previsti. +% \item Valore ottimale: 0. +% \item Valore minimale: 0. +% \end{itemize} + +% \subsubsection{Processo di gestione del personale}% +% \label{subs:processo_di_gestione_del_personale} + +% \paragraph{Pianificazione}% +% \label{par:pianificazione} + +% \subparagraph{Obiettivi}% +% \label{subp:obiettivi_pers} +% L'obiettivo dell'attività di pianificazione è di stabilire e organizzare le principali attività e compiti di progetto. + +% \subparagraph{Esiti}% +% \label{subp:esiti_pers} +% I risultati di un'attività di pianificazione di qualità sono: +% \begin{itemize} +% \item L'individuazione dello scopo del progetto. +% \item L'identificazione delle risorse umani e temporali a disposizione e delle attività da svolgere. +% \item La pianificazione di quanto stimato al punto precedente. +% \item La definizione di un preventivo e di un consuntivo. +% \item La stesura di un \textit{Piano di progetto}. +% \end{itemize} + +% \paragraph{Metriche}% +% \label{par:metriche_pers} + +% \textbf{MPS-VDC}: l'indice di varianza dei costi è definito nelle \textit{Norme di progetto} alla sezione 4.3.5.1. +% \begin{itemize} +% \item Risultato: numero che rappresenta l'efficienza e la produttività. +% \item Valore ottimale: maggiore di 0. +% \item Valore minimale: maggiore o uguale a 0. +% \end{itemize} + +% \textbf{MPS-VDS}: l'indice di varianza rispetto allo schedule è definito nelle \textit{Norme di progetto} alla sezione 4.3.5.2. +% \begin{itemize} +% \item Risultato: numero che indica se si è in anticipo o in ritardo nella schedulazione rispetto a quanto pianificato. +% \item Valore ottimale: maggiore di 0. +% \item Valore minimale: maggiore o uguale a 0. +% \end{itemize} \end{document} diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index 2cc2610b..3f22631d 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -17,102 +17,91 @@ \subsection{Qualità di documentazione} \subsubsection{Metriche}% \label{par:metriche_doc} -\textbf{MPS-IDG}: l'indice di Gulpease è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. -\begin{itemize} - \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. - \item Valore ottimale: compreso tra 80 e 100. - \item Valore minimale: non inferiore a 50. -\end{itemize} +\begin{description} +\item [[MPR-IDG \textasciitilde] Indice di Gulpease]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. +\begin{itemize} \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. \item Valore ammissibile: maggiore di 50\% \item Valore ottimale: maggiore di 80\% \end{itemize} +\item [[MPR-IGF \textasciitilde] Indice di Gunning Fog]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.2. + +\begin{itemize} \item Risultato: numero intero che indica il numero di anni minimi di educazione formale necessari a comprendere il testo. \item Valore ammissibile: \leq{} inferiore a 12 \item Valore ottimale: \leq{} compreso tra 9 e 10 \end{itemize} + \item [[MPR-CO \textasciitilde] Indice di correttezza ortografica]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.3. + \begin{itemize} \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} +\end{description} + + -\textbf{MPS-IGF}: l'indice di Gunning Fog è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.2. -\begin{itemize} - \item Risultato: numero intero che indica il numero di anni minimi di educazione formale necessari a comprendere il testo. - \item Valore ottimale: compreso tra 9 e 10. - \item Valore minimale: inferiore a 12. -\end{itemize} -\textbf{MPS-CO}: l'indice di correttezza ortografica è definito nelle \textit{Norme di progetto} alla sezione 3.2.7.3. -\begin{itemize} - \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. - \item Valore ottimale: 0. - \item Valore minimale: 0. -\end{itemize} \subsection{Qualità di prodotto software} \subsubsection{Metriche}% \label{subs:metriche_funzionale} \begin{description} -\item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. +\item [[MPR-ROS \textasciitilde] Percentuale di requisiti soddisfatti]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.1. \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} -\item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} -\item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} -\item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. +\item [[MPR-CCE \textasciitilde] Complessità ciclomatica]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.4. \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} \end{description} % TODO - copiare descrizioni sotto nelle NDP -\subsection{Appropriatezza funzionale}% -\label{sub:appropriatezza_funzionale} - Rappresenta il grado a cui un prodotto software fornisce funzionalità che rispettano requisiti espliciti o impliciti se usato in specifiche condizioni. - \subsubsection{Obiettivi}% - \label{subs:obiettivi_funzionale} - \begin{description} - \item [Correttezza]: Grado con cui il prodotto fornisce risultati corretti con il livello di precisione richiesto. - \item [Completezza]: Grado con cui le funzionalità offerte dal prodotto coprono tutti i compiti specificati e gli obiettivi dell'utente - \item [Appropriatezza]: Grado con cui le funzionalità del prodotto agevolano il raggiungimento di determinati obiettivi. - \end{description} - % subs:obiettivi_funzionale (end) - - \subsubsection{Metriche}% - \label{subs:metriche_funzionale} - \begin{description} - \item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. - \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} - \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} - \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} - \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. - \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} - \end{description} - - % subs:metriche_funzionale (end) - -% sub:appropriatezza_funzionale (end) - -% sub:sicurezza (end) - -\subsection{Manutenibilità}% -\label{sub:manutenibilita} -Questa caratteristica rappresenta il grado di efficacia e efficienza con cui il prodotto può essere migliorato, corretto o adattato a nuovi requisiti. - -\subsubsection{Obiettivi}% -\label{subs:obiettivi_manutenibilita} - \begin{description} - \item [Modularità]: Grado con cui il prodotto è composto da parti indipendenti in modo che una modifica a una componente abbia un impatto minimo su tutte le altre. - \item [Riusabilità]: Grado con cui una risorsa può essere utilizzata in più di un sistema. - \item [Analizzabilità]: Grado di efficacia e di efficienza con cui è possibile identificare le cause di errori nel prodotto e le parti da modificare. - \item [Modificabilità]: Grado con cui il prodotto può essere efficacemente ed efficientemente modificato senza introdurre regressioni. - \item [Testabilità]: Grado di efficacia e di efficienza con cui possono essere stabiliti i criteri di test e con cui quei test possono essere eseguiti per verificare quei criteri. - \end{description} -% subs:obiettivi_manutenibilita (end) - -\subsubsection{Metriche}% -\label{subs:metriche_manutenibilita} - \begin{description} - \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} - \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. - \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} - \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. - \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} - \end{description} -% subs:metriche_manutenibilita (end) - -% sub:manutenibilita (end) +% \subsection{Appropriatezza funzionale}% +% \label{sub:appropriatezza_funzionale} +% Rappresenta il grado a cui un prodotto software fornisce funzionalità che rispettano requisiti espliciti o impliciti se usato in specifiche condizioni. +% \subsubsection{Obiettivi}% +% \label{subs:obiettivi_funzionale} +% \begin{description} +% \item [Correttezza]: Grado con cui il prodotto fornisce risultati corretti con il livello di precisione richiesto. +% \item [Completezza]: Grado con cui le funzionalità offerte dal prodotto coprono tutti i compiti specificati e gli obiettivi dell'utente +% \item [Appropriatezza]: Grado con cui le funzionalità del prodotto agevolano il raggiungimento di determinati obiettivi. +% \end{description} +% % subs:obiettivi_funzionale (end) + +% \subsubsection{Metriche}% +% \label{subs:metriche_funzionale} +% \begin{description} +% \item [[MPR-RS \textasciitilde] Percentuale di requisiti soddisfatti]: La completezza C del prodotto in relazione al numeri di requisiti soddisfatti verrà calcolata come \begin{equation} C = \frac{N_s}{N_{tot}}\\*100 \end{equation} con \(N_s\) numero di requisiti implementati e \(N_{tot}\) il numero di requisiti totali. +% \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} +% \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. +% \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} +% \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. +% \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} +% \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. +% \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} +% \end{description} + +% % subs:metriche_funzionale (end) + +% % sub:appropriatezza_funzionale (end) + +% % sub:sicurezza (end) + +% \subsection{Manutenibilità}% +% \label{sub:manutenibilita} +% Questa caratteristica rappresenta il grado di efficacia e efficienza con cui il prodotto può essere migliorato, corretto o adattato a nuovi requisiti. + +% \subsubsection{Obiettivi}% +% \label{subs:obiettivi_manutenibilita} +% \begin{description} +% \item [Modularità]: Grado con cui il prodotto è composto da parti indipendenti in modo che una modifica a una componente abbia un impatto minimo su tutte le altre. +% \item [Riusabilità]: Grado con cui una risorsa può essere utilizzata in più di un sistema. +% \item [Analizzabilità]: Grado di efficacia e di efficienza con cui è possibile identificare le cause di errori nel prodotto e le parti da modificare. +% \item [Modificabilità]: Grado con cui il prodotto può essere efficacemente ed efficientemente modificato senza introdurre regressioni. +% \item [Testabilità]: Grado di efficacia e di efficienza con cui possono essere stabiliti i criteri di test e con cui quei test possono essere eseguiti per verificare quei criteri. +% \end{description} +% % subs:obiettivi_manutenibilita (end) + +% \subsubsection{Metriche}% +% \label{subs:metriche_manutenibilita} +% \begin{description} +% \item [[MPR-SOF \textasciitilde] Semplicità delle funzioni]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di parametri per ogni funzione, meno saranno più il suo compito sarà specifico. +% \begin{itemize} \item Valore ammissibile: \leq{} 6 \item Valore ottimale: \leq{} 3 \end{itemize} +% \item [[MPR-SOC \textasciitilde] Semplicità delle classi]: Possiamo monitorare la modularità, analizzabilità e testabilità del prodotto valutando il numero di metodi per ogni classe, meno saranno più lo scopo di quella classe sarà specifico. +% \begin{itemize} \item Valore ammissibile: \leq{} 10 \item Valore ottimale: \leq{} 5 \end{itemize} +% \item [[MPR-CC \textasciitilde] Complessità ciclomatica]: Monitoriamo la analizzabilità, modificabilità e testabilità del prodotto calcolando la complessità ciclomatica (\(CC\)) secondo la seguente formula: \begin{equation} CC = e - n + p \end{equation}. Dove \(e\) è il numero di archi del grafo formato da tutti i possibili esiti del programma, \(n\) è il numero di nodi del grafo e \(p\) è il numero di \glossario{componenti connesse} del grafo. +% \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} +% \end{description} +% % subs:metriche_manutenibilita (end) + +% % sub:manutenibilita (end) \end{document} From ca1e91a403c025e580672dd5d4b42effe71bec5a Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Fri, 10 Apr 2020 23:14:25 +0200 Subject: [PATCH 23/44] docs: rimuovi MPR-IGF non presente nelle NDP --- esterni/piano-di-qualifica/components/qualita-di-prodotto.tex | 3 --- 1 file changed, 3 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index 3f22631d..0b1498ef 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -20,9 +20,6 @@ \subsubsection{Metriche}% \begin{description} \item [[MPR-IDG \textasciitilde] Indice di Gulpease]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. \begin{itemize} \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. \item Valore ammissibile: maggiore di 50\% \item Valore ottimale: maggiore di 80\% \end{itemize} -\item [[MPR-IGF \textasciitilde] Indice di Gunning Fog]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.2. - -\begin{itemize} \item Risultato: numero intero che indica il numero di anni minimi di educazione formale necessari a comprendere il testo. \item Valore ammissibile: \leq{} inferiore a 12 \item Valore ottimale: \leq{} compreso tra 9 e 10 \end{itemize} \item [[MPR-CO \textasciitilde] Indice di correttezza ortografica]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.3. \begin{itemize} \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} \end{description} From 8203c0bdaabb4fe89ba76d52e2348f1a63d9e8e8 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Fri, 10 Apr 2020 23:26:47 +0200 Subject: [PATCH 24/44] docs(PdQ): correggi e aggiungi test di sistema per applicazione mobile arrivato fino a collegamento organizzazione --- .../components/specifica-test.tex | 277 +++++++++++------- 1 file changed, 163 insertions(+), 114 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 646cb915..9056e6b8 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -3,37 +3,43 @@ \begin{document} -\label{sub:test} - Per misurare la qualità di prodotto inoltre utilizziamo dei test secondo il \glossario{Modello a \textit{V}} per il quale definiamo e sviluppiamo i test in parallelo alle attività di analisi, progettazione architetturale e di sviluppo e verifica incrementi. - Abbiamo definito i test dividendoli nelle seguenti categorie: - \begin{description} - \item [Test di Accettazione (TA)] - \item [Test di Sistema (TS)] - \item [Test di Integrazione (TI)] - \item [Test di Unità (TU)] - \end{description} - Inoltre classifichiamo i test in base al loro stato: - \begin{description} - \item [S]: il test è stato soddisfatto - \item [NS]: il test non è stato ancora soddisfatto - \end{description} - \subsection{Test di Accettazione}% - I test di Accettazione vengono attuati dal proponente e dal capitolato e servono a dimostrare che il prodotto soddisfi tutti i requisiti. - E' quindi in sede di collaudo finale, che vengono eseguiti questi test. - \subsection{Test di Sistema}% - \label{subs:accettazione} - I test di sistema hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti, vengono eseguiti durante la fase di verifica e collaudo finale. - Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Sistema nel modo seguente: - \begin{center} - [TA][numero][tipo][priorità] - \end{center} - Dove: \textit{priorità} è un valore numerico ad indicare l'importanza del requisito che deve essere soddisfatto, con un numero da 1 a 3 \textit{numero} è un numero identificativo per il test e \textit{tipo} può assumere i seguenti valori: - \begin{description} - \item [F]: requisito funzionale - \item [P]: requisito prestazionale - \item [V]: requisito vincolo - \item [Q]: requisito qualità - \end{description} +Per misurare la qualità di prodotto inoltre utilizziamo dei test secondo il \glossario{Modello a \textit{V}}, per il quale definiamo e sviluppiamo i test in parallelo alle attività di analisi, progettazione architetturale e di sviluppo e verifica incrementi. +Abbiamo definito i test dividendoli nelle seguenti categorie: +\begin{description} + \item [Test di Accettazione (TA)] + \item [Test di Sistema (TS)] + \item [Test di Integrazione (TI)] + \item [Test di Unità (TU)] +\end{description} + +Inoltre classifichiamo i test in base al loro stato: +\begin{description} + \item [S]: il test è stato soddisfatto + \item [NS]: il test non è stato ancora soddisfatto +\end{description} + +\subsection{Test di Accettazione}% +\label{sub:test_di_accettazione} + +I test di Accettazione vengono attuati dal proponente e dal capitolato e servono a dimostrare che il prodotto soddisfi tutti i requisiti. +E' quindi in sede di collaudo finale, che vengono eseguiti questi test. + +\subsection{Test di Sistema}% +\label{sub:test_di_sistema} + +I test di sistema hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti, vengono eseguiti durante la fase di verifica e collaudo finale. +Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Sistema nel modo seguente: +\begin{center} + [TS][numero][tipo][priorità] +\end{center} + +Dove: \textit{priorità} è un valore numerico da 1 a 3 ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{numero} è un numero identificativo incrementale per il test e \textit{tipo} può assumere i seguenti valori: +\begin{description} + \item [F]: requisito funzionale + \item [P]: requisito prestazionale + \item [V]: requisito vincolo + \item [Q]: requisito qualità +\end{description} \newpage \begin{centering} @@ -50,108 +56,146 @@ % - App - TA001F1 & Al nuovo utente deve essere permesso di registrarsi. \newline + TS001F1 & L'applicazione mobile deve permettere ad un nuovo utente di registrarsi. \newline L'utente deve: \begin{itemize} - \item visualizzare e confermare l'\glossario{EULA}; - \item inserire password; - \item confermare la password; - \item inserire i propri dati anagrafici; - \item inserire la propria email; + \item visualizzare e confermare l'\glossario{EULA}. + \item inserire la propria email. + \item inserire password. + \item confermare la password. + \item inserire i propri dati anagrafici. \item confermare la registrazione. \end{itemize} & NS \\ - TA002F1 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti o se l'email è già presente nel database. \newline + TS002F1 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti. \newline L'utente deve: \begin{itemize} - \item inserire dati di accesso non validi; + \item inserire dati per la registrazione non validi. \item verificare l'impossibilità di proseguire con la registrazione. \end{itemize} & NS \\ - TA003F1 & Il sistema deve permettere all'utente registrato di autenticarsi. \newline + TS003F1 & L'applicazione mobile deve permettere all'utente registrato di autenticarsi. \newline L'utente deve: \begin{itemize} - \item inserire la propria email; - \item inserire la propria password; + \item inserire la propria email. + \item inserire la propria password. \item confermare l'autenticazione. \end{itemize} & NS \\ - TA004F1 & Il sistema deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + TS004F1 & Il sistema deve rifiutare la richiesta di autenticazione se la combinazione di email e password non è presente nel database. \newline L'utente deve: \begin{itemize} - \item inserire dati di accesso non validi; + \item inserire dati di accesso non validi. \item verificare l'impossibilità di proseguire con l'autenticazione. \end{itemize} & NS \\ - TA005F1 & Il sistema deve permettere all'utente di recuperare la sua password. \newline + TS005F1 & L'applicazione mobile deve permettere all'utente di recuperare la sua password. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di recupero password; - \item inserire la propria email; - \item il sistema deve inviare una mail contenente un link per la reimpostazione della password. + \item avviare la procedura di recupero password. + \item inserire la propria email. + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. + \item inserire una nuova password. + \item confermare la nuova password. + \item confermare la procedura. + \item verificare che la password sia stata cambiata correttamente. \end{itemize} & NS \\ - TA006F1 & Il sistema deve permettere all'utente di reimpostare la sua password. \newline + TS006F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la mail inserita all'inizio della procedura non è presente all'interno del database del sistema. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail; - \item inserire una nuova password; - \item confermare la nuova password; - \item confermare la procedura; - \item verificare che la password sia stata cambiata correttamente; + \item avviare la procedura di recupero password. + \item inserire una mail non presente nel database del sistema. + \item visualizzare un messaggio di errore. \end{itemize} & NS \\ - TA007F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la password scelta non rispetta i vincoli imposti. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail; - \item inserire una nuova password non valida; - \item confermare la nuova password; - \item confermare la procedura; - \item visualizzare un messaggio di errore; - \end{itemize} - & NS \\ - TA008F1 & Il sistema deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi e di aggiornarla. \newline - L'utente deve: - \begin{itemize} - \item visualizzare la lista di organizzazioni in cui può collegarsi; - \item aggiornare la lista; - \item visualizzare la lista aggiornata. - \end{itemize} - & NS \\ - TA009F1 & Il sistema deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni su cui è collegato e di aggiornarla. \newline + TS007F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la nuova password inserita non rispetta i vincoli imposti. \newline L'utente deve: \begin{itemize} - \item visualizzare la lista di organizzazioni su cui è collegato; - \item aggiornare la lista; - \item visualizzare la lista aggiornata. + \item avviare la procedura di recupero password. + \item inserire la propria email. + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. + \item inserire una nuova password non valida. + \item confermare la nuova password. + \item confermare la procedura. + \item visualizzare un messaggio di errore. \end{itemize} & NS \\ - - TA010F1 & Il sistema deve permettere all'utente autenticato di visualizzare le informazioni di un'organizzazione in lista. \newline + TS008F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la nuova password e la conferma della password non sono valide. \newline L'utente deve: \begin{itemize} - \item visualizzare nome dell'organizzazione; - \item visualizzare descrizione dell'organizzazione; - \item visualizzare stato dell'organizzazione (pubblica o privata). + \item avviare la procedura di recupero password. + \item inserire la propria email. + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. + \item inserire una nuova password. + \item confermare la nuova password in modo errato. + \item confermare la procedura. + \item visualizzare un messaggio di errore. \end{itemize} & NS \\ - TA011F1 & Il sistema deve permettere all'utente autenticato di selezionare un'organizzazione dalla lista e collegarsi. \newline - L'utente deve: - \begin{itemize} - \item visualizzare la lista delle organizzazione alle quali può collegarsi; - \item selezionare un'organizzazione il lista; - \item avviare la procedura di collegamento. - \end{itemize} - & NS \\ - TA012F1 & Il sistema deve permettere all'utente autenticato e collegato ad una o più organizzazioni di scollegarsi da un'organizzazione. \newline - L'utente deve: - \begin{itemize} - \item visualizzare la lista delle organizzazione alle quali è collegato; - \item selezionare un'organizzazione il lista; - \item avviare la procedura di scollegamento. - \end{itemize} - & NS \\ + TS009F1 & L'applicazione mobile deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista di organizzazioni a cui può collegarsi. + \end{itemize} + & NS \\ + TS010F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare dal server una lista di organizzazioni a cui è collegato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista di organizzazioni a cui è collegato. + \end{itemize} + & NS \\ + TS011F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare dal server una lista di organizzazioni a cui non è collegato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista di organizzazioni a cui non è collegato. + \end{itemize} + & NS \\ + TS012F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare le informazioni di un'organizzazione in lista, che sia collegato a questa o non collegato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare il nome dell'organizzazione. + \item visualizzare la descrizione dell'organizzazione. + \item visualizzare lo stato, pubblico o privato, dell'organizzazione. + \end{itemize} + & NS \\ + TS013F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di recuperare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS014F1 & L'applicazione mobile deve permettere all'utente autenticato di aggiornare la lista delle organizzazioni a cui può collegarsi. \newline + L'utente deve: + \begin{itemize} + \item inviare la richiesta di aggiornamento della lista di organizzazioni. + \item visualizzare la lista aggiornata delle organizzazioni. + \end{itemize} + & NS \\ + TS015F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di aggiornare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS016F1 & L'applicazione mobile deve permettere all'utente autenticato di collegarsi ad un'organizzazione. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \item selezionare un'organizzazione tra quelle presenti in lista. + \item avviare la procedura di collegamento. + \end{itemize} + & NS \\ + TS017F1 & L'applicazione mobile non è collegata alla rete, quindi il il server non riceve alcuna richiesta di collegamento ad un'organizzazione cui può collegarsi l'utente autenticato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista delle organizzazione alle quale può collegarsi. + \item selezionare un'organizzazione tra quelle presenti in lista. + \item avviare la procedura di scollegamento. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + %Arrivato a R037F1 TAAFO012 & Il sistema deve permettere all'utente autenticato il passaggio da noto ad incognito e viceversa. \newline L'utente deve: \begin{itemize} @@ -358,20 +402,25 @@ %subs:accettazione (end) \end{centering} - \subsubsection{Test di Integrazione}% - \label{subs:integrazione} - I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: - \begin{center} - TI[codice] - \end{center} - Dove \textit{codice} rappresenta un numero identificativo per il Test di Integrazione. - %subs:integrazione (end) - \subsubsection{Test di Unità}% - \label{subs:unita} - I test di sistema verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: - \begin{center} - TU[codice] - \end{center} - Dove \textit{codice} rappresenta un numero identificativo per l'unità a cui il test appartiene. - %subs:unita (end) - \end{document} +\subsubsection{Test di Integrazione}% +\label{subs:test_di_integrazione} + +I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: +\begin{center} + TI[codice] +\end{center} + +Dove \textit{codice} rappresenta un numero identificativo per il Test di Integrazione. +%sub:test_di_integrazione (end) + +\subsubsection{Test di Unità}% +\label{subs:test_di_unita} + +I test di sistema verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: +\begin{center} + TU[codice] +\end{center} + +Dove \textit{codice} rappresenta un numero identificativo per l'unità a cui il test appartiene. +%sub:test_di_unita (end) +\end{document} From 1b3a95ec2f1d41ddc539ecef51e291861ae254fb Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Sat, 11 Apr 2020 01:04:02 +0200 Subject: [PATCH 25/44] docs(PdQ): aggiungi i rimanenti TS app mobile e di vincoli di sistema TS mancanti: quelli per web application --- .../components/specifica-test.tex | 730 +++++++++++------- 1 file changed, 446 insertions(+), 284 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 9056e6b8..7fbd6117 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -33,7 +33,7 @@ \subsection{Test di Sistema}% [TS][numero][tipo][priorità] \end{center} -Dove: \textit{priorità} è un valore numerico da 1 a 3 ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{numero} è un numero identificativo incrementale per il test e \textit{tipo} può assumere i seguenti valori: +Dove: \textit{priorità} è un valore numerico da 1 a 3 ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{numero} è un numero identificativo incrementale per tipologia che parte da 1 e \textit{tipo} può assumere i seguenti valori: \begin{description} \item [F]: requisito funzionale \item [P]: requisito prestazionale @@ -54,355 +54,489 @@ \subsection{Test di Sistema}% \endfoot{}% \endlastfoot{} -% - App +% - Applicazione mobile - TS001F1 & L'applicazione mobile deve permettere ad un nuovo utente di registrarsi. \newline - L'utente deve: - \begin{itemize} - \item visualizzare e confermare l'\glossario{EULA}. - \item inserire la propria email. - \item inserire password. - \item confermare la password. - \item inserire i propri dati anagrafici. - \item confermare la registrazione. - \end{itemize} - & NS \\ - TS002F1 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti. \newline - L'utente deve: - \begin{itemize} - \item inserire dati per la registrazione non validi. - \item verificare l'impossibilità di proseguire con la registrazione. - \end{itemize} - & NS \\ - TS003F1 & L'applicazione mobile deve permettere all'utente registrato di autenticarsi. \newline - L'utente deve: - \begin{itemize} - \item inserire la propria email. - \item inserire la propria password. - \item confermare l'autenticazione. - \end{itemize} - & NS \\ - TS004F1 & Il sistema deve rifiutare la richiesta di autenticazione se la combinazione di email e password non è presente nel database. \newline - L'utente deve: - \begin{itemize} - \item inserire dati di accesso non validi. - \item verificare l'impossibilità di proseguire con l'autenticazione. - \end{itemize} - & NS \\ - TS005F1 & L'applicazione mobile deve permettere all'utente di recuperare la sua password. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di recupero password. - \item inserire la propria email. - \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. - \item inserire una nuova password. - \item confermare la nuova password. - \item confermare la procedura. - \item verificare che la password sia stata cambiata correttamente. - \end{itemize} - & NS \\ - TS006F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la mail inserita all'inizio della procedura non è presente all'interno del database del sistema. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di recupero password. - \item inserire una mail non presente nel database del sistema. - \item visualizzare un messaggio di errore. - \end{itemize} - & NS \\ - TS007F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la nuova password inserita non rispetta i vincoli imposti. \newline + TS001F1 & L'applicazione mobile deve permettere ad un nuovo utente di registrarsi. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di recupero password. + \item visualizzare e confermare l'\glossario{EULA}. \item inserire la propria email. - \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. - \item inserire una nuova password non valida. - \item confermare la nuova password. - \item confermare la procedura. - \item visualizzare un messaggio di errore. + \item inserire password. + \item confermare la password. + \item inserire i propri dati anagrafici. + \item confermare la registrazione. \end{itemize} & NS \\ - TS008F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la nuova password e la conferma della password non sono valide. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di recupero password. - \item inserire la propria email. - \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. - \item inserire una nuova password. - \item confermare la nuova password in modo errato. - \item confermare la procedura. - \item visualizzare un messaggio di errore. - \end{itemize} - & NS \\ - TS009F1 & L'applicazione mobile deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi. \newline - L'utente deve: - \begin{itemize} - \item visualizzare la lista di organizzazioni a cui può collegarsi. - \end{itemize} - & NS \\ - TS010F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare dal server una lista di organizzazioni a cui è collegato. \newline - L'utente deve: - \begin{itemize} - \item visualizzare la lista di organizzazioni a cui è collegato. - \end{itemize} - & NS \\ - TS011F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare dal server una lista di organizzazioni a cui non è collegato. \newline - L'utente deve: - \begin{itemize} - \item visualizzare la lista di organizzazioni a cui non è collegato. - \end{itemize} - & NS \\ - TS012F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare le informazioni di un'organizzazione in lista, che sia collegato a questa o non collegato. \newline - L'utente deve: - \begin{itemize} - \item visualizzare il nome dell'organizzazione. - \item visualizzare la descrizione dell'organizzazione. - \item visualizzare lo stato, pubblico o privato, dell'organizzazione. - \end{itemize} - & NS \\ - TS013F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di recuperare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline - L'utente deve: - \begin{itemize} - \item visualizzare un messaggio d'errore. - \end{itemize} - & NS \\ - TS014F1 & L'applicazione mobile deve permettere all'utente autenticato di aggiornare la lista delle organizzazioni a cui può collegarsi. \newline - L'utente deve: - \begin{itemize} - \item inviare la richiesta di aggiornamento della lista di organizzazioni. - \item visualizzare la lista aggiornata delle organizzazioni. - \end{itemize} - & NS \\ - TS015F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di aggiornare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline - L'utente deve: - \begin{itemize} - \item visualizzare un messaggio d'errore. - \end{itemize} - & NS \\ - TS016F1 & L'applicazione mobile deve permettere all'utente autenticato di collegarsi ad un'organizzazione. \newline - L'utente deve: + TS002F1 & Il sistema deve rifiutare la richiesta di registrazione se i dati inseriti non rispettano i vincoli imposti. \newline + L'utente deve: \begin{itemize} - \item visualizzare la lista delle organizzazioni alla quale può collegarsi. - \item selezionare un'organizzazione tra quelle presenti in lista. - \item avviare la procedura di collegamento. + \item inserire dati per la registrazione non validi. + \item verificare l'impossibilità di proseguire con la registrazione. \end{itemize} - & NS \\ - TS017F1 & L'applicazione mobile non è collegata alla rete, quindi il il server non riceve alcuna richiesta di collegamento ad un'organizzazione cui può collegarsi l'utente autenticato. \newline - L'utente deve: + & NS \\ + TS003F1 & L'applicazione mobile deve permettere all'utente registrato di autenticarsi. \newline + L'utente deve: \begin{itemize} - \item visualizzare la lista delle organizzazione alle quale può collegarsi. - \item selezionare un'organizzazione tra quelle presenti in lista. - \item avviare la procedura di scollegamento. - \item visualizzare un messaggio d'errore. + \item inserire la propria email. + \item inserire la propria password. + \item confermare l'autenticazione. \end{itemize} & NS \\ - %Arrivato a R037F1 - TAAFO012 & Il sistema deve permettere all'utente autenticato il passaggio da noto ad incognito e viceversa. \newline + TS004F1 & Il sistema deve rifiutare la richiesta di autenticazione se la combinazione di email e password non è presente nel database. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di cambio di stato; - \item verificare l'effettivo cambio di stato. + \item inserire dati di accesso non validi. + \item verificare l'impossibilità di proseguire con l'autenticazione. \end{itemize} - & NS \\ - TAAFO013 & Il sistema deve permettere all'utente autenticato di visualizzare il proprio storico. \newline + & NS \\ + TS005F1 & L'applicazione mobile deve permettere all'utente di recuperare la sua password. \newline L'utente deve: \begin{itemize} - \item visualizzare il proprio storico degli accessi; - \item visualizzare il proprio tempo trascorso all'interno di ogni organizzazione. + \item avviare la procedura di recupero password. + \item inserire la propria email. + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. + \item inserire una nuova password. + \item confermare la nuova password. + \item confermare la procedura. + \item verificare che la password sia stata cambiata correttamente. \end{itemize} - & NS \\ - TAAFO014 & Il sistema deve permettere all'utente autenticato di disconnettersi dall'applicazione. \newline + & NS \\ + TS006F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la mail inserita all'inizio della procedura non è presente all'interno del database del sistema. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di disconnessione; - \item confermare la procedura. + \item avviare la procedura di recupero password. + \item inserire una mail non presente nel database del sistema. + \item visualizzare un messaggio di errore. \end{itemize} - & NS \\ - TAAFO015 & Il sistema deve permettere all'utente di eliminare il suo account. \newline + & NS \\ + TS007F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la nuova password inserita non rispetta i vincoli imposti. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di eliminazione; + \item avviare la procedura di recupero password. + \item inserire la propria email. + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. + \item inserire una nuova password non valida. + \item confermare la nuova password. \item confermare la procedura. + \item visualizzare un messaggio di errore. \end{itemize} - & NS \\ - TAAFO016 & Il sistema deve mostrare un messaggio d'errore e rifiutare le richieste da parte dell'app nel caso mancasse una connessione a internet. \newline + & NS \\ + TS008F1 & Il sistema deve rifiutare la richiesta di reimpostazione password se la nuova password e la conferma della password non sono valide. \newline L'utente deve: \begin{itemize} - \item disconnettere il dispositivo da internet; - \item effettuare un'azione che richieda la connessione ad internet; - \item visualizzare il messaggio di errore corrispondente. + \item avviare la procedura di recupero password. + \item inserire la propria email. + \item avviare la procedura di reimpostazione password tramite il link ricevuto via mail. + \item inserire una nuova password. + \item confermare la nuova password in modo errato. + \item confermare la procedura. + \item visualizzare un messaggio di errore. \end{itemize} - & NS \\ - -% - WebApp - - TAFO017 & L'interfaccia web deve permettere all'utente non autenticato di autenticarsi. \newline + & NS \\ + TS009F1 & L'applicazione mobile deve permettere all'utente autenticato di recuperare dal server una lista di organizzazioni a cui può collegarsi. \newline L'utente deve: \begin{itemize} - \item compilare il campo email; - \item compilare il campo password; - \item confermare l'autenticazione. + \item visualizzare la lista di organizzazioni a cui può collegarsi. \end{itemize} - & NS \\ - TAAFO018 & L'interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + & NS \\ + TS010F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare dal server una lista di organizzazioni a cui è collegato. \newline L'utente deve: \begin{itemize} - \item inserire una combinazione di dati non validi; - \item verificare la possibilità di proseguire l'autenticazione. + \item visualizzare la lista di organizzazioni a cui è collegato. \end{itemize} - & NS \\ - TAWFO019 & L'interfaccia web deve permettere all'utente autenticato di effettuare la disconnessione. \newline + & NS \\ + TS011F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare dal server una lista di organizzazioni a cui non è collegato. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di disconnessione. + \item visualizzare la lista di organizzazioni a cui non è collegato. \end{itemize} - & NS \\ - TAWFO020 & L'interfaccia web deve permettere all'owner di creare un'organizzazione. \newline - L'owner deve: + & NS \\ + TS012F1 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare le informazioni di un'organizzazione in lista, che sia collegato a questa o non collegato. \newline + L'utente deve: \begin{itemize} - \item avviare la procedura di creazione di una organizzazione; - \item inserire il nome dell'organizzazione; - \item inserire la descrizione dell'organizzazione; - \item specificare i dettagli del server \glossario{LDAP} - \item verificare l'avvenuta creazione dell'organizzazione + \item visualizzare il nome dell'organizzazione. + \item visualizzare la descrizione dell'organizzazione. + \item visualizzare lo stato, pubblico o privato, dell'organizzazione. \end{itemize} - & NS \\ - TAWFO021 & L'interfaccia web deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline - L'owner deve: + & NS \\ + TS013F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di recuperare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline + L'utente deve: \begin{itemize} - \item avviare la procedura di eliminazione di una organizzazione; - \item confermare la procedura di eliminazione + \item visualizzare un messaggio d'errore. \end{itemize} - & NS \\ - TAWFO022 & L'interfaccia web deve permettere all'owner di modificare l'organizzazione. \newline - L'owner deve: + & NS \\ + TS014F1 & L'applicazione mobile deve permettere all'utente autenticato di aggiornare la lista delle organizzazioni a cui può collegarsi. \newline + L'utente deve: \begin{itemize} - \item avviare la procedura di modifica di una organizzazione; - \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). + \item inviare la richiesta di aggiornamento della lista di organizzazioni. + \item visualizzare la lista aggiornata delle organizzazioni. \end{itemize} - & NS \\ - TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline + & NS \\ + TS015F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di aggiornare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline L'utente deve: \begin{itemize} - \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. + \item visualizzare un messaggio d'errore. \end{itemize} - & NS \\ - TAWFO025 & L'interfaccia web deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline + & NS \\ + TS016F1 & L'applicazione mobile deve permettere all'utente autenticato di collegarsi ad un'organizzazione pubblica. \newline L'utente deve: \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item inserire le coordinate geografiche; - \item inserire l'indirizzo. + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \item selezionare un'organizzazione pubblica tra quelle presenti in lista. + \item avviare la procedura di collegamento. + \item visualizzare la pagina dell'organizzazione pubblica alla quale è ora collegato. \end{itemize} - & NS \\ - TAWFF026 & L'interfaccia web può opzionalmente permettere all'owner e al - gestore di aggiungere un luogo all'organizzazione evidenziandone - l'area sulla mappa. \newline - L'owner e il gestore devono: + & NS \\ + TS017F1 & L'applicazione mobile deve permettere all'utente autenticato di collegarsi ad un'organizzazione privata. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \item selezionare un'organizzazione privata tra quelle presenti in lista. + \item visualizzare un form per l'inserimento dei dati di accesso al server LDAP dell'organizzazione privata selezionata. + \item inserire lo username associato al server LDAP\@. + \item inserire la password associata al server LDAP\@. + \item avviare la procedura di collegamento. + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \end{itemize} + & NS \\ + TS018F1 & L'applicazione mobile non permette all'utente autenticato di collegarsi ad un'organizzazione privata, in quanto sono stati inseriti erroneamente i dati d'accesso al server LDAP\@. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \item selezionare un'organizzazione privata tra quelle presenti in lista. + \item visualizzare un form per l'inserimento dei dati di accesso al server LDAP dell'organizzazione privata selezionata. + \item inserire lo username associato al server LDAP in modo errato. + \item inserire la password associata al server LDAP in modo errato. + \item avviare la procedura di collegamento. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS019F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di collegamento ad un'organizzazione a cui può collegarsi l'utente autenticato. \newline + L'utente deve: \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item selezionare l'area sulla mappa. + \item visualizzare la lista delle organizzazione alle quale può collegarsi. + \item selezionare un'organizzazione tra quelle presenti in lista. + \item avviare la procedura di scollegamento. + \item visualizzare un messaggio d'errore. \end{itemize} + & NS \\ + TS020F1 & L'applicazione mobile deve permettere all'utente autenticato di scollegarsi ad un'organizzazione pubblica. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la pagina dell'organizzazione pubblica alla quale è ora collegato. + \item avviare la procedura per lo scollegamento dall'organizzazione pubblica. + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \end{itemize} + & NS \\ + TS021F1 & L'applicazione mobile deve permettere all'utente autenticato di scollegarsi ad un'organizzazione privata. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \item avviare la procedura per lo scollegamento dall'organizzazione privata. + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \end{itemize} + & NS \\ + TS022F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di scollegamento da un'organizzazione a cui è collegato l'utente autenticato. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di scollegamento. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS023F1 & L'applicazione mobile deve permettere all'utente autenticato, che è collegato ad un'organizzazione privata, di passare da noto ad incognito e viceversa. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \item accertarsi che sia noto al sistema. + \item avviare la procedura per il passaggio da noto ad incognito. + \item accertarsi che sia incognito al sistema. + \item avviare la procedura per il passaggio da incognito a noto. + \item accertarsi che sia noto al sistema. + \end{itemize} + & NS \\ + TS024F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato, che è collegato ad un'organizzazione privata, di passare da noto ad incognito e viceversa. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \item accertarsi che sia noto al sistema, o al contrario incognito al sistema. + \item avviare la procedura per il passaggio da noto ad incognito, o al contrario nel caso l'utente sia incognito al sistema. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS025F2 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare il proprio storico degli accessi. \newline + L'utente deve: + \begin{itemize} + \item visualizzare il proprio storico degli accessi. + \end{itemize} + & NS \\ + TS026F2 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di visualizzare il proprio storico degli accessi. \newline + L'utente deve: + \begin{itemize} + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS027F2 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare il tempo trascorso all'interno di un'organizzazione. \newline + L'utente deve: + \begin{itemize} + \item visualizzare il proprio tempo trascorso all'interno di un'organizzazione. + \end{itemize} + & NS \\ + TS028F2 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di visualizzare il tempo trascorso all'interno di un'organizzazione. \newline + L'utente deve: + \begin{itemize} + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS029F1 & L'applicazione mobile deve permettere all'utente autenticato di disconnettersi dall'applicazione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di disconnessione. + \item confermare la procedura. + \end{itemize} + & NS \\ + TS029F1 & L'applicazione mobile non è collegata alla rete, quindi permette all'utente autenticato di disconnettersi dall'applicazione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di disconnessione. + \item confermare la procedura. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + TS030F1 & L'applicazione mobile deve permettere all'utente autenticato di eliminare il suo account. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di eliminazione. + \item confermare la procedura. + \end{itemize} + & NS \\ + TS031F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di eliminare il suo account. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di eliminazione. + \item confermare la procedura. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ + +% - Web application +%TODO cambiare tutti gli identificativi da TA a TS +%TODO modificare i test di sistema relativi alla web application ed aggiungere quelli mancanti +% Riferimento di partenza dalla tabella dei requisiti in AdR: R053F1 + + TSFO017 & L'interfaccia web deve permettere all'utente non autenticato di autenticarsi. \newline + L'utente deve: + \begin{itemize} + \item compilare il campo email. + \item compilare il campo password. + \item confermare l'autenticazione. + \end{itemize} + & NS \\ + TAAFO018 & L'interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + L'utente deve: + \begin{itemize} + \item inserire una combinazione di dati non validi. + \item verificare la possibilità di proseguire l'autenticazione. + \end{itemize} + & NS \\ + TAWFO019 & L'interfaccia web deve permettere all'utente autenticato di effettuare la disconnessione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di disconnessione. + \end{itemize} + & NS \\ + TAWFO020 & L'interfaccia web deve permettere all'owner di creare un'organizzazione. \newline + L'owner deve: + \begin{itemize} + \item avviare la procedura di creazione di una organizzazione. + \item inserire il nome dell'organizzazione. + \item inserire la descrizione dell'organizzazione. + \item specificare i dettagli del server \glossario{LDAP}. + \item verificare l'avvenuta creazione dell'organizzazione. + \end{itemize} + & NS \\ + TAWFO021 & L'interfaccia web deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline + L'owner deve: + \begin{itemize} + \item avviare la procedura di eliminazione di una organizzazione. + \item confermare la procedura di eliminazione. + \end{itemize} + & NS \\ + TAWFO022 & L'interfaccia web deve permettere all'owner di modificare l'organizzazione. \newline + L'owner deve: + \begin{itemize} + \item avviare la procedura di modifica di una organizzazione. + \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). + \end{itemize} + & NS \\ + TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline + L'utente deve: + \begin{itemize} + \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. + \end{itemize} + & NS \\ + TAWFO025 & L'interfaccia web deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo. + \item inserire le coordinate geografiche. + \item inserire l'indirizzo. + \end{itemize} + & NS \\ + TAWFF026 & L'interfaccia web può opzionalmente permettere all'owner e al gestore di aggiungere un luogo all'organizzazione evidenziandone l'area sulla mappa. \newline + L'owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo; + \item selezionare l'area sulla mappa. + \end{itemize} & NS \\ TAWFO027 & L'interfaccia web deve permettere all'owner e al gestore di eliminare luoghi dall'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di eliminazione di un nuovo luogo; - \item confermare l'eliminazione. - \end{itemize} + L'owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di eliminazione di un nuovo luogo; + \item confermare l'eliminazione. + \end{itemize} & NS \\ TAWFO028 & L'interfaccia web deve permettere all'owner e al gestore di modificare i luoghi dell'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di modifica di un nuovo luogo; - \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). - \end{itemize} + L'owner e il gestore devono: + \begin{itemize} + \item avviare la procedura di modifica di un nuovo luogo. + \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). + \end{itemize} & NS \\ TAWFO029 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di visualizzare una lista dei luoghi dell'organizzazione. \newline - L'owner, gestore e visualizzatore devono: - \begin{itemize} - \item selezionare la lista dei luoghi dell'organizzazione; - \item visualizzare la lista dei luoghi. - \end{itemize} + L'owner, gestore e visualizzatore devono: + \begin{itemize} + \item selezionare la lista dei luoghi dell'organizzazione. + \item visualizzare la lista dei luoghi. + \end{itemize} + & NS \\ + TAWFO30 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline + L'owner, gestore e visualizzatore devono: + \begin{itemize} + \item selezionare un'organizzazione dalla lista. + \item visualizzare le informazioni dell'organizzazione. + \end{itemize} + & NS \\ + TAWFO31 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare gli accessi di un dipendente. \newline + Gli amministratori dell'organizzazione devono: + \begin{itemize} + \item selezionare il dipendente dall'elenco della propria organizzazione. + \item visualizzare i dati di accesso del dipendente selezionato. + \end{itemize} + & NS \\ + TAWFO32 & L'interfaccia web deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura per diventare owner. + \item confermare la richiesta di diventare owner. + \end{itemize} + & NS \\ + TAWFO33 & Il sistema deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner. + \item avviare la procedura di aggiunta di un gestore. + \item inserire email dell'utente da promuovere. + \end{itemize} + & NS \\ + TAWFO34 & Il sistema deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner. + \item avviare la procedura di aggiunta di un visualizzatore. + \item inserire email dell'utente da promuovere. + \end{itemize} + & NS \\ + TAWFO34 & Il sistema deve permettere all'amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline + L'amministratore deve: + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione owner. + \item inserire email dell'owner da rimuovere. + \item confermare la rimozione dell'owner. + \end{itemize} + & NS \\ + TAWFO35 & Il sistema deve permettere all'owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei gestori. + \item inserire email del gestore da rimuovere. + \item confermare la rimozione del gestore. + \end{itemize} + & NS \\ + TAWFO36 & Il sistema deve permettere all'owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei visualizzatori. + \item inserire email del visualizzatore da rimuovere. + \item confermare la rimozione del visualizzatore. + \end{itemize} + & NS \\ + TAWFO37 & Il sistema deve permettere all'amministratore di eliminare un account dal sistema. \newline + L'amministratore deve: + \begin{itemize} + \item avviare la procedura di rimozione utente. + \item selezionare l'account da rimuovere. + \item confermare la rimozione dell'account. + \end{itemize} & NS \\ - TAWFO30 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline - L'owner, gestore e visualizzatore devono: - \begin{itemize} - \item selezionare un'organizzazione dalla lista; - \item visualizzare le informazioni dell'organizzazione. - \end{itemize} - & NS \\ - TAWFO31 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare gli accessi di un dipendente. \newline - Gli amministratori dell'organizzazione devono: - \begin{itemize} - \item selezionare il dipendente dall'elenco della propria organizzazione; - \item visualizzare i dati di accesso del dipendente selezionato. - \end{itemize} - & NS \\ - TAWFO32 & L'interfaccia web deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura per diventare owner; - \item confermare la richiesta di diventare owner. - \end{itemize} - & NS \\ - TAWFO33 & Il sistema deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner; - \item avviare la procedura di aggiunta di un gestore; - \item inserire email dell'utente da promuovere. - \end{itemize} + +% - Vincoli di sistema + + TS001P1 & Il sistema deve garantire un rintracciamento con una precisione sufficiente a certificare la presenza della persona all’interno degli edifici. \newline & NS \\ - TAWFO34 & Il sistema deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner; - \item avviare la procedura di aggiunta di un visualizzatore; - \item inserire email dell'utente da promuovere. - \end{itemize} + + TS001V1 & Il sistema deve garantire che le comunicazioni tra applicazione e server devono avvenire solo al momento d’ingresso ed uscita dai luoghi designati. \newline & NS \\ - TAWFO34 & Il sistema deve permettere all'amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline - L'amministratore deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione owner; - \item inserire email dell'owner da rimuovere; - \item confermare la rimozione dell'owner. - \end{itemize} + + TS002V2 & Il sistema vorrebbe che vengano utilizzati protocolli asincroni per le comunicazioni tra app e server. \newline & NS \\ - TAWFO35 & Il sistema deve permettere all'owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione dei gestori; - \item inserire email del gestore da rimuovere; - \item confermare la rimozione del gestore. - \end{itemize} + + TS003V2 & Il sistema vorrebbe l’utilizzo del design pattern Publisher/Subscriber. \newline & NS \\ - TAWFO36 & Il sistema deve permettere all'owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione; - \item avviare la procedura di rimozione dei visualizzatori; - \item inserire email del visualizzatore da rimuovere; - \item confermare la rimozione del visualizzatore. - \end{itemize} + + TS004V2 & Il sistema vorrebbe che venga utilizzato un IAAS come Kubernetes o un PAAS come Openshift o Rancher per il rilascio delle componenti del server e per la gestione della scalabilità orizzontale. \newline + & NS \\ + + TS005V1 & Si necessita che il server esponga delle API REST attraverso cui utilizzare l’applicativo o, alternativamente, è possibile utilizzare il framework RPC\@. \newline & NS \\ - TAWFO37 & Il sistema deve permettere all'amministratore di eliminare un account dal sistema. \newline - L'amministratore deve: - \begin{itemize} - \item avviare la procedura di rimozione utente; - \item selezionare l'account da rimuovere; - \item confermare la rimozione dell'account. - \end{itemize} + + TS006V1 & È necessario che l’applicazione utilizzi tecnologie GPS\@. \newline + & NS \\ + + TS007V1 & È necessario che l’applicazione sia in grado di bilanciare il consumo della batteria e la necessità di aggiornare la posizione in background. \newline + & NS \\ + + TS001Q1 & È necessario che tutte le componenti applicative siano correlate dei test unitari e d’integrazione. \newline + & NS \\ + + TS002Q1 & È necessario testare interamente il sistema tramite test end-to-end. \newline + & NS \\ + + TS003Q1 & È necessario effettuare test di carico che dimostrino il corretto funzionamento in ogni situazione: normale, di carico e di sovraccarico. \newline & NS \\ - \caption{Tabella dei test di accettazione}% - \label{tab:test_accettazione} + + TS004Q1 & È necessario fornire una copertura dei test almeno dell’80\%, correlata di report. \newline + & NS \\ + + TS005Q2 & È desiderabile che tutte le comunicazioni tra app e server siano cifrate. \newline + & NS \\ + + TS006Q2 & È desiderabile che venga fornita un’analisi rispetto al carico massimo in numero di utenti e di quale sarebbe il servizio cloud più adatto per supportarlo, analizzando prezzo, stabilità del servizio ed assistenza. \newline + & NS \\ + + TS007Q1 & È necessario garantire la privacy degli utenti e rispettare la normativa GDPR\@. \newline + & NS \\ + + \caption{Tabella dei test di sistema}% + \label{tab:test_sistema} \end{longtable} %subs:accettazione (end) \end{centering} -\subsubsection{Test di Integrazione}% +\subsection{Test di Integrazione}% \label{subs:test_di_integrazione} I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: @@ -411,9 +545,35 @@ \subsubsection{Test di Integrazione}% \end{center} Dove \textit{codice} rappresenta un numero identificativo per il Test di Integrazione. + +\begin{centering} + \rowcolors{2}{lightgray}{white!80!lightgray!100} + \renewcommand{\arraystretch}{2} + \begin{longtable}[H]{>{\centering\bfseries}m{3cm} >{}p{10cm} >{\centering\arraybackslash}m{3cm}} + \rowcolor{darkgray!90!} + \color{white} + {\textbf{ID test}} & \color{white}{\textbf{Descrizione}} & \color{white}{\textbf{Esito}} \\ + \endhead\rowcolor{white}% + \multicolumn{3}{r}{\textit{Continua alla pagina seguente}} + \endfoot{}% + \endlastfoot{} + + TI1 & Il sistema deve garantire l'integrazione tra API e web application. \newline + & NS \\ + + TI2 & Il sistema deve garantire l'integrazione tra API e mobile application. \newline + & NS \\ + + \caption{Tabella dei test di integrazione}% + \label{tab:test_sistema} + \end{longtable} + %subs:accettazione (end) +\end{centering} + + %sub:test_di_integrazione (end) -\subsubsection{Test di Unità}% +\subsection{Test di Unità}% \label{subs:test_di_unita} I test di sistema verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: @@ -422,5 +582,7 @@ \subsubsection{Test di Unità}% \end{center} Dove \textit{codice} rappresenta un numero identificativo per l'unità a cui il test appartiene. + +Il gruppo in questa fase non implementa ancora i test di unità. %sub:test_di_unita (end) \end{document} From 8892a78077a3143ba79a73393c8dc067fd4a0827 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Sat, 11 Apr 2020 12:09:10 +0200 Subject: [PATCH 26/44] docs(PdQ): aggiungi e modifica test di sistema fino a TS041F1 --- .../components/specifica-test.tex | 457 ++++++++++-------- 1 file changed, 251 insertions(+), 206 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 7fbd6117..b1a5a701 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -189,298 +189,346 @@ \subsection{Test di Sistema}% & NS \\ TS017F1 & L'applicazione mobile deve permettere all'utente autenticato di collegarsi ad un'organizzazione privata. \newline L'utente deve: - \begin{itemize} - \item visualizzare la lista delle organizzazioni alla quale può collegarsi. - \item selezionare un'organizzazione privata tra quelle presenti in lista. - \item visualizzare un form per l'inserimento dei dati di accesso al server LDAP dell'organizzazione privata selezionata. - \item inserire lo username associato al server LDAP\@. - \item inserire la password associata al server LDAP\@. - \item avviare la procedura di collegamento. - \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. - \end{itemize} + \begin{itemize} + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \item selezionare un'organizzazione privata tra quelle presenti in lista. + \item visualizzare un form per l'inserimento dei dati di accesso al server LDAP dell'organizzazione privata selezionata. + \item inserire lo username associato al server LDAP\@. + \item inserire la password associata al server LDAP\@. + \item avviare la procedura di collegamento. + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \end{itemize} & NS \\ TS018F1 & L'applicazione mobile non permette all'utente autenticato di collegarsi ad un'organizzazione privata, in quanto sono stati inseriti erroneamente i dati d'accesso al server LDAP\@. \newline L'utente deve: - \begin{itemize} - \item visualizzare la lista delle organizzazioni alla quale può collegarsi. - \item selezionare un'organizzazione privata tra quelle presenti in lista. - \item visualizzare un form per l'inserimento dei dati di accesso al server LDAP dell'organizzazione privata selezionata. - \item inserire lo username associato al server LDAP in modo errato. - \item inserire la password associata al server LDAP in modo errato. - \item avviare la procedura di collegamento. - \item visualizzare un messaggio d'errore. - \end{itemize} - & NS \\ - TS019F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di collegamento ad un'organizzazione a cui può collegarsi l'utente autenticato. \newline - L'utente deve: \begin{itemize} - \item visualizzare la lista delle organizzazione alle quale può collegarsi. - \item selezionare un'organizzazione tra quelle presenti in lista. - \item avviare la procedura di scollegamento. + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \item selezionare un'organizzazione privata tra quelle presenti in lista. + \item visualizzare un form per l'inserimento dei dati di accesso al server LDAP dell'organizzazione privata selezionata. + \item inserire lo username associato al server LDAP in modo errato. + \item inserire la password associata al server LDAP in modo errato. + \item avviare la procedura di collegamento. \item visualizzare un messaggio d'errore. \end{itemize} & NS \\ + TS019F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di collegamento ad un'organizzazione a cui può collegarsi l'utente autenticato. \newline + L'utente deve: + \begin{itemize} + \item visualizzare la lista delle organizzazione alle quale può collegarsi. + \item selezionare un'organizzazione tra quelle presenti in lista. + \item avviare la procedura di scollegamento. + \item visualizzare un messaggio d'errore. + \end{itemize} + & NS \\ TS020F1 & L'applicazione mobile deve permettere all'utente autenticato di scollegarsi ad un'organizzazione pubblica. \newline L'utente deve: - \begin{itemize} - \item visualizzare la pagina dell'organizzazione pubblica alla quale è ora collegato. - \item avviare la procedura per lo scollegamento dall'organizzazione pubblica. - \item visualizzare la lista delle organizzazioni alla quale può collegarsi. - \end{itemize} + \begin{itemize} + \item visualizzare la pagina dell'organizzazione pubblica alla quale è ora collegato. + \item avviare la procedura per lo scollegamento dall'organizzazione pubblica. + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \end{itemize} & NS \\ TS021F1 & L'applicazione mobile deve permettere all'utente autenticato di scollegarsi ad un'organizzazione privata. \newline L'utente deve: - \begin{itemize} - \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. - \item avviare la procedura per lo scollegamento dall'organizzazione privata. - \item visualizzare la lista delle organizzazioni alla quale può collegarsi. - \end{itemize} + \begin{itemize} + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \item avviare la procedura per lo scollegamento dall'organizzazione privata. + \item visualizzare la lista delle organizzazioni alla quale può collegarsi. + \end{itemize} & NS \\ TS022F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di scollegamento da un'organizzazione a cui è collegato l'utente autenticato. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di scollegamento. - \item visualizzare un messaggio d'errore. - \end{itemize} + \begin{itemize} + \item avviare la procedura di scollegamento. + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ TS023F1 & L'applicazione mobile deve permettere all'utente autenticato, che è collegato ad un'organizzazione privata, di passare da noto ad incognito e viceversa. \newline L'utente deve: - \begin{itemize} - \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. - \item accertarsi che sia noto al sistema. - \item avviare la procedura per il passaggio da noto ad incognito. - \item accertarsi che sia incognito al sistema. - \item avviare la procedura per il passaggio da incognito a noto. - \item accertarsi che sia noto al sistema. - \end{itemize} + \begin{itemize} + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \item accertarsi che sia noto al sistema. + \item avviare la procedura per il passaggio da noto ad incognito. + \item accertarsi che sia incognito al sistema. + \item avviare la procedura per il passaggio da incognito a noto. + \item accertarsi che sia noto al sistema. + \end{itemize} & NS \\ TS024F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato, che è collegato ad un'organizzazione privata, di passare da noto ad incognito e viceversa. \newline L'utente deve: - \begin{itemize} - \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. - \item accertarsi che sia noto al sistema, o al contrario incognito al sistema. - \item avviare la procedura per il passaggio da noto ad incognito, o al contrario nel caso l'utente sia incognito al sistema. - \item visualizzare un messaggio d'errore. - \end{itemize} + \begin{itemize} + \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. + \item accertarsi che sia noto al sistema, o al contrario incognito al sistema. + \item avviare la procedura per il passaggio da noto ad incognito, o al contrario nel caso l'utente sia incognito al sistema. + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ TS025F2 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare il proprio storico degli accessi. \newline L'utente deve: - \begin{itemize} - \item visualizzare il proprio storico degli accessi. - \end{itemize} + \begin{itemize} + \item visualizzare il proprio storico degli accessi. + \end{itemize} & NS \\ TS026F2 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di visualizzare il proprio storico degli accessi. \newline L'utente deve: - \begin{itemize} - \item visualizzare un messaggio d'errore. - \end{itemize} + \begin{itemize} + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ TS027F2 & L'applicazione mobile deve permettere all'utente autenticato di visualizzare il tempo trascorso all'interno di un'organizzazione. \newline L'utente deve: - \begin{itemize} - \item visualizzare il proprio tempo trascorso all'interno di un'organizzazione. - \end{itemize} + \begin{itemize} + \item visualizzare il proprio tempo trascorso all'interno di un'organizzazione. + \end{itemize} & NS \\ TS028F2 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di visualizzare il tempo trascorso all'interno di un'organizzazione. \newline L'utente deve: - \begin{itemize} - \item visualizzare un messaggio d'errore. - \end{itemize} + \begin{itemize} + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ TS029F1 & L'applicazione mobile deve permettere all'utente autenticato di disconnettersi dall'applicazione. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di disconnessione. - \item confermare la procedura. - \end{itemize} + \begin{itemize} + \item avviare la procedura di disconnessione. + \item confermare la procedura. + \end{itemize} & NS \\ TS029F1 & L'applicazione mobile non è collegata alla rete, quindi permette all'utente autenticato di disconnettersi dall'applicazione. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di disconnessione. - \item confermare la procedura. - \item visualizzare un messaggio d'errore. - \end{itemize} + \begin{itemize} + \item avviare la procedura di disconnessione. + \item confermare la procedura. + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ TS030F1 & L'applicazione mobile deve permettere all'utente autenticato di eliminare il suo account. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di eliminazione. - \item confermare la procedura. - \end{itemize} + \begin{itemize} + \item avviare la procedura di eliminazione. + \item confermare la procedura. + \end{itemize} & NS \\ TS031F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di eliminare il suo account. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di eliminazione. - \item confermare la procedura. - \item visualizzare un messaggio d'errore. - \end{itemize} + \begin{itemize} + \item avviare la procedura di eliminazione. + \item confermare la procedura. + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ % - Web application -%TODO cambiare tutti gli identificativi da TA a TS -%TODO modificare i test di sistema relativi alla web application ed aggiungere quelli mancanti -% Riferimento di partenza dalla tabella dei requisiti in AdR: R053F1 - TSFO017 & L'interfaccia web deve permettere all'utente non autenticato di autenticarsi. \newline + TS032F1 & La web application deve permettere ad un'utente non autenticato di autenticarsi. \newline L'utente deve: - \begin{itemize} - \item compilare il campo email. - \item compilare il campo password. - \item confermare l'autenticazione. - \end{itemize} + \begin{itemize} + \item compilare il campo email. + \item compilare il campo password. + \item confermare l'autenticazione. + \item visualizzare la pagina principale della web application. + \end{itemize} & NS \\ - TAAFO018 & L'interfaccia web deve rifiutare la richiesta di autenticazione se i dati inseriti non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + TS033F1 & La web application deve rifiutare la richiesta di autenticazione se i dati inseriti dall'utente non autenticato non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline L'utente deve: - \begin{itemize} - \item inserire una combinazione di dati non validi. - \item verificare la possibilità di proseguire l'autenticazione. - \end{itemize} + \begin{itemize} + \item inserire una combinazione email-password non valida. + \item visualizzare un messaggio d'errore. + \end{itemize} & NS \\ - TAWFO019 & L'interfaccia web deve permettere all'utente autenticato di effettuare la disconnessione. \newline + TS034F1 & La web application deve permettere all'utente autenticato di effettuare la disconnessione. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di disconnessione. - \end{itemize} + \begin{itemize} + \item avviare la procedura di disconnessione. + \item confermare la procedura. + \end{itemize} & NS \\ - TAWFO020 & L'interfaccia web deve permettere all'owner di creare un'organizzazione. \newline + TS035F1 & La web application deve permettere all'owner di creare un'organizzazione. \newline L'owner deve: - \begin{itemize} - \item avviare la procedura di creazione di una organizzazione. - \item inserire il nome dell'organizzazione. - \item inserire la descrizione dell'organizzazione. - \item specificare i dettagli del server \glossario{LDAP}. - \item verificare l'avvenuta creazione dell'organizzazione. - \end{itemize} + \begin{itemize} + \item avviare la procedura di creazione di un'organizzazione. + \item inserire il nome dell'organizzazione. + \item inserire la descrizione dell'organizzazione. + \item configurare i dettagli del server \glossario{LDAP} nel caso l'organizzazione che si vuole creare sia privata. + \item confermare la procedura di creazione di un'organizzazione. + \item verificare l'avvenuta creazione dell'organizzazione. + \end{itemize} & NS \\ - TAWFO021 & L'interfaccia web deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline + TS036F1 & La web application deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline L'owner deve: - \begin{itemize} - \item avviare la procedura di eliminazione di una organizzazione. - \item confermare la procedura di eliminazione. - \end{itemize} + \begin{itemize} + \item avviare la procedura di eliminazione di un'organizzazione. + \item confermare la procedura di eliminazione. + \item verificare che sia stata eliminata l'organizzazione. + \end{itemize} & NS \\ - TAWFO022 & L'interfaccia web deve permettere all'owner di modificare l'organizzazione. \newline + TS037F1 & La web application deve permettere all'owner di modificare un'organizzazione in suo possesso. \newline L'owner deve: - \begin{itemize} - \item avviare la procedura di modifica di una organizzazione. - \item modificare i dati dell'organizzazione (nome, descrizione, configurazione del server LDAP). - \end{itemize} + \begin{itemize} + \item avviare la procedura di modifica di un'organizzazione. + \item modificare il nome dell'organizzazione, se necessario. + \item modificare la descrizione dell'organizzazione, se necessario. + \item modificare i dettagli del server LDAP nel caso l'organizzazione che si vuole modificare sia privata, se necessario. + \item confermare la procedura di modifica dell'organizzazione. + \item verificare che le modifiche siano avvenute con successo. + \end{itemize} & NS \\ - TAAFO024 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline + TS038F1 & La web application deve permettere al gestore di aggiungere un luogo ad un'organizzazione nella quale ha questo tipo di permesso. \newline + Il gestore deve: + \begin{itemize} + \item avviare la procedura di creazione di un luogo. + \item inserire le coordinate geografiche specifiche al nuovo luogo. + \item inserire l'indirizzo del nuovo luogo. + \item confermare la procedura di creazione del luogo. + \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. + \end{itemize} + & NS \\ + TS039F3 & La web application può permettere opzionalmente al gestore di aggiungere un luogo ad un'organizzazione nella quale ha questo tipo di permesso, evidenziando l'area sulla mappa. \newline + Il gestore deve: + \begin{itemize} + \item avviare la procedura di creazione di un luogo. + \item specificare l'area sulla mappa, che corrisponde al nuovo luogo da inserire. + \item confermare la procedura di creazione del luogo. + \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. + \end{itemize} + & NS \\ + TS040F1 & La web application deve permettere al gestore di modificare un luogo in un'organizzazione nella quale ha questo tipo di permesso. \newline + Il gestore deve: + \begin{itemize} + \item avviare la procedura di modifica di un luogo. + \item modificare le coordinate geografiche, se necessario. + \item modificare l'indirizzo del luogo, se necessario. + \item confermare la procedura di modifica del luogo. + \item verificare che le modifiche siano avvenute con successo. + \end{itemize} + & NS \\ + TS041F1 & La web application deve permettere al gestore di eliminare un luogo in un'organizzazione nella quale ha questo tipo di permesso. \newline + Il gestore deve: + \begin{itemize} + \item avviare la procedura di eliminazione di un luogo. + \item eliminare un luogo. + \item confermare la procedura di eliminazione del luogo. + \item verificare che l'eliminazione del luogo sia avvenuta con successo. + \end{itemize} + & NS \\ + +% arrivato a R073F1 +%TODO cambiare tutti gli identificativi da TA a TS +%TODO modificare i test di sistema relativi alla web application ed aggiungere quelli mancanti + + TS038F1 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline L'utente deve: - \begin{itemize} - \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. - \end{itemize} + \begin{itemize} + \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. + \end{itemize} & NS \\ - TAWFO025 & L'interfaccia web deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline + TAWFO025 & La web application deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo. - \item inserire le coordinate geografiche. - \item inserire l'indirizzo. - \end{itemize} + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo. + \item inserire le coordinate geografiche. + \item inserire l'indirizzo. + \end{itemize} & NS \\ - TAWFF026 & L'interfaccia web può opzionalmente permettere all'owner e al gestore di aggiungere un luogo all'organizzazione evidenziandone l'area sulla mappa. \newline + TAWFF026 & La web application può opzionalmente permettere all'owner e al gestore di aggiungere un luogo all'organizzazione evidenziandone l'area sulla mappa. \newline L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item selezionare l'area sulla mappa. - \end{itemize} + \begin{itemize} + \item avviare la procedura di inserimento di un nuovo luogo; + \item selezionare l'area sulla mappa. + \end{itemize} & NS \\ - TAWFO027 & L'interfaccia web deve permettere all'owner e al gestore di eliminare luoghi dall'organizzazione. \newline + TAWFO027 & La web application deve permettere all'owner e al gestore di eliminare luoghi dall'organizzazione. \newline L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di eliminazione di un nuovo luogo; - \item confermare l'eliminazione. - \end{itemize} + \begin{itemize} + \item avviare la procedura di eliminazione di un nuovo luogo; + \item confermare l'eliminazione. + \end{itemize} & NS \\ - TAWFO028 & L'interfaccia web deve permettere all'owner e al gestore di modificare i luoghi dell'organizzazione. \newline + TAWFO028 & La web application deve permettere all'owner e al gestore di modificare i luoghi dell'organizzazione. \newline L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di modifica di un nuovo luogo. - \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). - \end{itemize} + \begin{itemize} + \item avviare la procedura di modifica di un nuovo luogo. + \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). + \end{itemize} & NS \\ - TAWFO029 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di visualizzare una lista dei luoghi dell'organizzazione. \newline + TAWFO029 & La web application deve permettere all'owner, gestore e visualizzatore di visualizzare una lista dei luoghi dell'organizzazione. \newline L'owner, gestore e visualizzatore devono: - \begin{itemize} - \item selezionare la lista dei luoghi dell'organizzazione. - \item visualizzare la lista dei luoghi. - \end{itemize} + \begin{itemize} + \item selezionare la lista dei luoghi dell'organizzazione. + \item visualizzare la lista dei luoghi. + \end{itemize} & NS \\ - TAWFO30 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline - L'owner, gestore e visualizzatore devono: - \begin{itemize} - \item selezionare un'organizzazione dalla lista. - \item visualizzare le informazioni dell'organizzazione. - \end{itemize} + TAWFO30 & La web application deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline + L'owner, gestore e visualizzatore devono: + \begin{itemize} + \item selezionare un'organizzazione dalla lista. + \item visualizzare le informazioni dell'organizzazione. + \end{itemize} & NS \\ - TAWFO31 & L'interfaccia web deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare gli accessi di un dipendente. \newline + TAWFO31 & La web application deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare gli accessi di un dipendente. \newline Gli amministratori dell'organizzazione devono: - \begin{itemize} - \item selezionare il dipendente dall'elenco della propria organizzazione. - \item visualizzare i dati di accesso del dipendente selezionato. - \end{itemize} + \begin{itemize} + \item selezionare il dipendente dall'elenco della propria organizzazione. + \item visualizzare i dati di accesso del dipendente selezionato. + \end{itemize} & NS \\ - TAWFO32 & L'interfaccia web deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline + TAWFO32 & La web application deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline L'utente deve: - \begin{itemize} - \item avviare la procedura per diventare owner. - \item confermare la richiesta di diventare owner. - \end{itemize} + \begin{itemize} + \item avviare la procedura per diventare owner. + \item confermare la richiesta di diventare owner. + \end{itemize} & NS \\ TAWFO33 & Il sistema deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner. - \item avviare la procedura di aggiunta di un gestore. - \item inserire email dell'utente da promuovere. - \end{itemize} + \begin{itemize} + \item selezionare un'organizzazione di cui è owner. + \item avviare la procedura di aggiunta di un gestore. + \item inserire email dell'utente da promuovere. + \end{itemize} & NS \\ TAWFO34 & Il sistema deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner. - \item avviare la procedura di aggiunta di un visualizzatore. - \item inserire email dell'utente da promuovere. - \end{itemize} + \begin{itemize} + \item selezionare un'organizzazione di cui è owner. + \item avviare la procedura di aggiunta di un visualizzatore. + \item inserire email dell'utente da promuovere. + \end{itemize} & NS \\ TAWFO34 & Il sistema deve permettere all'amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline L'amministratore deve: - \begin{itemize} - \item selezionare un'organizzazione. - \item avviare la procedura di rimozione owner. - \item inserire email dell'owner da rimuovere. - \item confermare la rimozione dell'owner. - \end{itemize} + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione owner. + \item inserire email dell'owner da rimuovere. + \item confermare la rimozione dell'owner. + \end{itemize} & NS \\ TAWFO35 & Il sistema deve permettere all'owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione. - \item avviare la procedura di rimozione dei gestori. - \item inserire email del gestore da rimuovere. - \item confermare la rimozione del gestore. - \end{itemize} + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei gestori. + \item inserire email del gestore da rimuovere. + \item confermare la rimozione del gestore. + \end{itemize} & NS \\ TAWFO36 & Il sistema deve permettere all'owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione. - \item avviare la procedura di rimozione dei visualizzatori. - \item inserire email del visualizzatore da rimuovere. - \item confermare la rimozione del visualizzatore. - \end{itemize} + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei visualizzatori. + \item inserire email del visualizzatore da rimuovere. + \item confermare la rimozione del visualizzatore. + \end{itemize} & NS \\ TAWFO37 & Il sistema deve permettere all'amministratore di eliminare un account dal sistema. \newline L'amministratore deve: - \begin{itemize} - \item avviare la procedura di rimozione utente. - \item selezionare l'account da rimuovere. - \item confermare la rimozione dell'account. - \end{itemize} + \begin{itemize} + \item avviare la procedura di rimozione utente. + \item selezionare l'account da rimuovere. + \item confermare la rimozione dell'account. + \end{itemize} & NS \\ % - Vincoli di sistema @@ -518,7 +566,7 @@ \subsection{Test di Sistema}% TS003Q1 & È necessario effettuare test di carico che dimostrino il corretto funzionamento in ogni situazione: normale, di carico e di sovraccarico. \newline & NS \\ - TS004Q1 & È necessario fornire una copertura dei test almeno dell’80\%, correlata di report. \newline + TS004Q1 & È necessario fornire una copertura dei test almeno dell’80\%, correlata di report. \newline & NS \\ TS005Q2 & È desiderabile che tutte le comunicazioni tra app e server siano cifrate. \newline @@ -527,13 +575,12 @@ \subsection{Test di Sistema}% TS006Q2 & È desiderabile che venga fornita un’analisi rispetto al carico massimo in numero di utenti e di quale sarebbe il servizio cloud più adatto per supportarlo, analizzando prezzo, stabilità del servizio ed assistenza. \newline & NS \\ - TS007Q1 & È necessario garantire la privacy degli utenti e rispettare la normativa GDPR\@. \newline + TS007Q1 & È necessario garantire la privacy degli utenti e rispettare la normativa GDPR\@. \newline & NS \\ \caption{Tabella dei test di sistema}% \label{tab:test_sistema} \end{longtable} - %subs:accettazione (end) \end{centering} \subsection{Test di Integrazione}% @@ -558,19 +605,17 @@ \subsection{Test di Integrazione}% \endfoot{}% \endlastfoot{} - TI1 & Il sistema deve garantire l'integrazione tra API e web application. \newline - & NS \\ + TI1 & Il sistema deve garantire l'integrazione tra API e web application. \newline + & NS \\ - TI2 & Il sistema deve garantire l'integrazione tra API e mobile application. \newline - & NS \\ + TI2 & Il sistema deve garantire l'integrazione tra API e mobile application. \newline + & NS \\ \caption{Tabella dei test di integrazione}% \label{tab:test_sistema} \end{longtable} - %subs:accettazione (end) \end{centering} - %sub:test_di_integrazione (end) \subsection{Test di Unità}% From 09a57ac68c1140a340ed9e484c99e83ebb352ed7 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Sat, 11 Apr 2020 12:35:44 +0200 Subject: [PATCH 27/44] docs(PdQ): aggiungi test per il monitoraggio delle organizzazioni MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Da aggiungere ultimi test che riguardano requisit da R081F1 a R097F1. Poi si può dire conclusa la specifica per i test, spostando per ultimo tutte le descrizioni relative acome descrivere i test, in quanto è un dettaglio facente parte delle Norme di Progetto. --- .../components/specifica-test.tex | 75 +++++++++---------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index b1a5a701..a8ef413a 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -373,8 +373,8 @@ \subsection{Test di Sistema}% \item verificare che le modifiche siano avvenute con successo. \end{itemize} & NS \\ - TS038F1 & La web application deve permettere al gestore di aggiungere un luogo ad un'organizzazione nella quale ha questo tipo di permesso. \newline - Il gestore deve: + TS038F1 & La web application deve permettere all'owner ed al gestore di aggiungere un luogo ad un'organizzazione. \newline + L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di creazione di un luogo. \item inserire le coordinate geografiche specifiche al nuovo luogo. @@ -383,8 +383,8 @@ \subsection{Test di Sistema}% \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. \end{itemize} & NS \\ - TS039F3 & La web application può permettere opzionalmente al gestore di aggiungere un luogo ad un'organizzazione nella quale ha questo tipo di permesso, evidenziando l'area sulla mappa. \newline - Il gestore deve: + TS039F3 & La web application può permettere opzionalmente all'owner ed al gestore di aggiungere un luogo ad un'organizzazione, evidenziando l'area sulla mappa. \newline + L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di creazione di un luogo. \item specificare l'area sulla mappa, che corrisponde al nuovo luogo da inserire. @@ -392,8 +392,8 @@ \subsection{Test di Sistema}% \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. \end{itemize} & NS \\ - TS040F1 & La web application deve permettere al gestore di modificare un luogo in un'organizzazione nella quale ha questo tipo di permesso. \newline - Il gestore deve: + TS040F1 & La web application deve permettere all'owner ed al gestore di modificare un luogo in un'organizzazione. \newline + L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di modifica di un luogo. \item modificare le coordinate geografiche, se necessario. @@ -402,8 +402,8 @@ \subsection{Test di Sistema}% \item verificare che le modifiche siano avvenute con successo. \end{itemize} & NS \\ - TS041F1 & La web application deve permettere al gestore di eliminare un luogo in un'organizzazione nella quale ha questo tipo di permesso. \newline - Il gestore deve: + TS041F1 & La web application deve permettere all'owner ed al gestore di eliminare un luogo in un'organizzazione. \newline + L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di eliminazione di un luogo. \item eliminare un luogo. @@ -411,46 +411,45 @@ \subsection{Test di Sistema}% \item verificare che l'eliminazione del luogo sia avvenuta con successo. \end{itemize} & NS \\ + TS042F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in una specifica organizzazione. \newline + L'owner, il gestore e il visualizzatore devono: + \begin{itemize} + \item avviare la procedura di monitoraggio. + \item visualizzare il numero di dipendenti presenti all'interno di una specifica organizzazione. + \end{itemize} + & NS \\ + TS043F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in un specifico luogo di una specifica organizzazione. \newline + L'owner, il gestore e il visualizzatore devono: + \begin{itemize} + \item avviare la procedura di monitoraggio. + \item visualizzare il numero di dipendenti presenti all'interno di uno specifico luogo di una specifica organizzazione. + \end{itemize} + & NS \\ + TS044F2 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare un report sotto forma tabellare di una specifica organizzazione. \newline + L'owner, il gestore e il visualizzatore devono: + \begin{itemize} + \item avviare la procedura di visualizzazione del report. + \item visualizzare gli accessi, le ore trascorse all'interno dei luoghi e quali luoghi sono più frequentati all'interno di un'organizzazione + \end{itemize} + & NS \\ -% arrivato a R073F1 +% arrivato a R081F2 %TODO cambiare tutti gli identificativi da TA a TS %TODO modificare i test di sistema relativi alla web application ed aggiungere quelli mancanti + TS038F1 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline L'utente deve: \begin{itemize} \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. \end{itemize} & NS \\ - TAWFO025 & La web application deve permettere all'owner e al gestore di gestire i luoghi dell'organizzazione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo. - \item inserire le coordinate geografiche. - \item inserire l'indirizzo. - \end{itemize} - & NS \\ - TAWFF026 & La web application può opzionalmente permettere all'owner e al gestore di aggiungere un luogo all'organizzazione evidenziandone l'area sulla mappa. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di inserimento di un nuovo luogo; - \item selezionare l'area sulla mappa. - \end{itemize} - & NS \\ - TAWFO027 & La web application deve permettere all'owner e al gestore di eliminare luoghi dall'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di eliminazione di un nuovo luogo; - \item confermare l'eliminazione. - \end{itemize} - & NS \\ - TAWFO028 & La web application deve permettere all'owner e al gestore di modificare i luoghi dell'organizzazione. \newline - L'owner e il gestore devono: - \begin{itemize} - \item avviare la procedura di modifica di un nuovo luogo. - \item modificare i dati del luogo (indirizzo e coordinate o area sulla mappa). - \end{itemize} - & NS \\ + + + + + + TAWFO029 & La web application deve permettere all'owner, gestore e visualizzatore di visualizzare una lista dei luoghi dell'organizzazione. \newline L'owner, gestore e visualizzatore devono: \begin{itemize} From 20065de69752769851389e33f0d4920d7f3dd015 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Sat, 11 Apr 2020 15:19:30 +0200 Subject: [PATCH 28/44] docs(PdQ): completa definitavamente i test di sistema --- .../components/specifica-test.tex | 211 ++++++++---------- 1 file changed, 94 insertions(+), 117 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index a8ef413a..ea6b2906 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -59,7 +59,7 @@ \subsection{Test di Sistema}% TS001F1 & L'applicazione mobile deve permettere ad un nuovo utente di registrarsi. \newline L'utente deve: \begin{itemize} - \item visualizzare e confermare l'\glossario{EULA}. + \item visualizzare e confermare l'EULA\@. \item inserire la propria email. \item inserire password. \item confermare la password. @@ -294,7 +294,7 @@ \subsection{Test di Sistema}% \item confermare la procedura. \end{itemize} & NS \\ - TS029F1 & L'applicazione mobile non è collegata alla rete, quindi permette all'utente autenticato di disconnettersi dall'applicazione. \newline + TS030F1 & L'applicazione mobile non è collegata alla rete, quindi permette all'utente autenticato di disconnettersi dall'applicazione. \newline L'utente deve: \begin{itemize} \item avviare la procedura di disconnessione. @@ -302,14 +302,14 @@ \subsection{Test di Sistema}% \item visualizzare un messaggio d'errore. \end{itemize} & NS \\ - TS030F1 & L'applicazione mobile deve permettere all'utente autenticato di eliminare il suo account. \newline + TS031F1 & L'applicazione mobile deve permettere all'utente autenticato di eliminare il suo account. \newline L'utente deve: \begin{itemize} \item avviare la procedura di eliminazione. \item confermare la procedura. \end{itemize} & NS \\ - TS031F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di eliminare il suo account. \newline + TS032F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di eliminare il suo account. \newline L'utente deve: \begin{itemize} \item avviare la procedura di eliminazione. @@ -320,7 +320,7 @@ \subsection{Test di Sistema}% % - Web application - TS032F1 & La web application deve permettere ad un'utente non autenticato di autenticarsi. \newline + TS033F1 & La web application deve permettere ad un'utente non autenticato di autenticarsi. \newline L'utente deve: \begin{itemize} \item compilare il campo email. @@ -329,21 +329,21 @@ \subsection{Test di Sistema}% \item visualizzare la pagina principale della web application. \end{itemize} & NS \\ - TS033F1 & La web application deve rifiutare la richiesta di autenticazione se i dati inseriti dall'utente non autenticato non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline + TS034F1 & La web application deve rifiutare la richiesta di autenticazione se i dati inseriti dall'utente non autenticato non rispettano i vincoli imposti, o se la combinazione di email e password non è presente nel database. \newline L'utente deve: \begin{itemize} \item inserire una combinazione email-password non valida. \item visualizzare un messaggio d'errore. \end{itemize} & NS \\ - TS034F1 & La web application deve permettere all'utente autenticato di effettuare la disconnessione. \newline + TS035F1 & La web application deve permettere all'utente autenticato di effettuare la disconnessione. \newline L'utente deve: \begin{itemize} \item avviare la procedura di disconnessione. \item confermare la procedura. \end{itemize} & NS \\ - TS035F1 & La web application deve permettere all'owner di creare un'organizzazione. \newline + TS036F1 & La web application deve permettere all'owner di creare un'organizzazione. \newline L'owner deve: \begin{itemize} \item avviare la procedura di creazione di un'organizzazione. @@ -354,7 +354,7 @@ \subsection{Test di Sistema}% \item verificare l'avvenuta creazione dell'organizzazione. \end{itemize} & NS \\ - TS036F1 & La web application deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline + TS037F1 & La web application deve permettere all'owner di eliminare un'organizzazione in suo possesso. \newline L'owner deve: \begin{itemize} \item avviare la procedura di eliminazione di un'organizzazione. @@ -362,7 +362,7 @@ \subsection{Test di Sistema}% \item verificare che sia stata eliminata l'organizzazione. \end{itemize} & NS \\ - TS037F1 & La web application deve permettere all'owner di modificare un'organizzazione in suo possesso. \newline + TS038F1 & La web application deve permettere all'owner di modificare un'organizzazione in suo possesso. \newline L'owner deve: \begin{itemize} \item avviare la procedura di modifica di un'organizzazione. @@ -373,7 +373,7 @@ \subsection{Test di Sistema}% \item verificare che le modifiche siano avvenute con successo. \end{itemize} & NS \\ - TS038F1 & La web application deve permettere all'owner ed al gestore di aggiungere un luogo ad un'organizzazione. \newline + TS039F1 & La web application deve permettere all'owner ed al gestore di aggiungere un luogo ad un'organizzazione. \newline L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di creazione di un luogo. @@ -383,7 +383,7 @@ \subsection{Test di Sistema}% \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. \end{itemize} & NS \\ - TS039F3 & La web application può permettere opzionalmente all'owner ed al gestore di aggiungere un luogo ad un'organizzazione, evidenziando l'area sulla mappa. \newline + TS040F3 & La web application può permettere opzionalmente all'owner ed al gestore di aggiungere un luogo ad un'organizzazione, evidenziando l'area sulla mappa. \newline L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di creazione di un luogo. @@ -392,7 +392,7 @@ \subsection{Test di Sistema}% \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. \end{itemize} & NS \\ - TS040F1 & La web application deve permettere all'owner ed al gestore di modificare un luogo in un'organizzazione. \newline + TS041F1 & La web application deve permettere all'owner ed al gestore di modificare un luogo in un'organizzazione. \newline L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di modifica di un luogo. @@ -402,7 +402,7 @@ \subsection{Test di Sistema}% \item verificare che le modifiche siano avvenute con successo. \end{itemize} & NS \\ - TS041F1 & La web application deve permettere all'owner ed al gestore di eliminare un luogo in un'organizzazione. \newline + TS042F1 & La web application deve permettere all'owner ed al gestore di eliminare un luogo in un'organizzazione. \newline L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di eliminazione di un luogo. @@ -411,124 +411,101 @@ \subsection{Test di Sistema}% \item verificare che l'eliminazione del luogo sia avvenuta con successo. \end{itemize} & NS \\ - TS042F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in una specifica organizzazione. \newline + TS043F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in una specifica organizzazione. \newline L'owner, il gestore e il visualizzatore devono: \begin{itemize} \item avviare la procedura di monitoraggio. \item visualizzare il numero di dipendenti presenti all'interno di una specifica organizzazione. \end{itemize} & NS \\ - TS043F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in un specifico luogo di una specifica organizzazione. \newline + TS044F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in un specifico luogo di una specifica organizzazione. \newline L'owner, il gestore e il visualizzatore devono: \begin{itemize} \item avviare la procedura di monitoraggio. \item visualizzare il numero di dipendenti presenti all'interno di uno specifico luogo di una specifica organizzazione. \end{itemize} & NS \\ - TS044F2 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare un report sotto forma tabellare di una specifica organizzazione. \newline + TS045F2 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare un report sotto forma tabellare di una specifica organizzazione. \newline L'owner, il gestore e il visualizzatore devono: \begin{itemize} \item avviare la procedura di visualizzazione del report. - \item visualizzare gli accessi, le ore trascorse all'interno dei luoghi e quali luoghi sono più frequentati all'interno di un'organizzazione - \end{itemize} - & NS \\ - -% arrivato a R081F2 -%TODO cambiare tutti gli identificativi da TA a TS -%TODO modificare i test di sistema relativi alla web application ed aggiungere quelli mancanti - - - TS038F1 & Il sistema deve inviare una richiesta di aggiornamento della lista delle organizzazioni a tutte le applicazioni mobile. \newline - L'utente deve: - \begin{itemize} - \item visualizzare una notifica con la richiesta di aggiornamento qualora una delle organizzazioni venga modificata. - \end{itemize} - & NS \\ - - - - - - - TAWFO029 & La web application deve permettere all'owner, gestore e visualizzatore di visualizzare una lista dei luoghi dell'organizzazione. \newline - L'owner, gestore e visualizzatore devono: - \begin{itemize} - \item selezionare la lista dei luoghi dell'organizzazione. - \item visualizzare la lista dei luoghi. - \end{itemize} - & NS \\ - TAWFO30 & La web application deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare le informazioni sull'organizzazione. \newline - L'owner, gestore e visualizzatore devono: - \begin{itemize} - \item selezionare un'organizzazione dalla lista. - \item visualizzare le informazioni dell'organizzazione. - \end{itemize} - & NS \\ - TAWFO31 & La web application deve permettere all'owner, gestore e visualizzatore di un'organizzazione di visualizzare gli accessi di un dipendente. \newline - Gli amministratori dell'organizzazione devono: - \begin{itemize} - \item selezionare il dipendente dall'elenco della propria organizzazione. - \item visualizzare i dati di accesso del dipendente selezionato. - \end{itemize} - & NS \\ - TAWFO32 & La web application deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline - L'utente deve: - \begin{itemize} - \item avviare la procedura per diventare owner. - \item confermare la richiesta di diventare owner. - \end{itemize} - & NS \\ - TAWFO33 & Il sistema deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner. - \item avviare la procedura di aggiunta di un gestore. - \item inserire email dell'utente da promuovere. - \end{itemize} - & NS \\ - TAWFO34 & Il sistema deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione di cui è owner. - \item avviare la procedura di aggiunta di un visualizzatore. - \item inserire email dell'utente da promuovere. - \end{itemize} - & NS \\ - TAWFO34 & Il sistema deve permettere all'amministratore di togliere i privilegi di owner ad un utente che ne sia in possesso. \newline - L'amministratore deve: - \begin{itemize} - \item selezionare un'organizzazione. - \item avviare la procedura di rimozione owner. - \item inserire email dell'owner da rimuovere. - \item confermare la rimozione dell'owner. - \end{itemize} - & NS \\ - TAWFO35 & Il sistema deve permettere all'owner di togliere i privilegi di gestore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione. - \item avviare la procedura di rimozione dei gestori. - \item inserire email del gestore da rimuovere. - \item confermare la rimozione del gestore. - \end{itemize} - & NS \\ - TAWFO36 & Il sistema deve permettere all'owner di togliere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline - L'owner deve: - \begin{itemize} - \item selezionare un'organizzazione. - \item avviare la procedura di rimozione dei visualizzatori. - \item inserire email del visualizzatore da rimuovere. - \item confermare la rimozione del visualizzatore. - \end{itemize} - & NS \\ - TAWFO37 & Il sistema deve permettere all'amministratore di eliminare un account dal sistema. \newline - L'amministratore deve: - \begin{itemize} - \item avviare la procedura di rimozione utente. - \item selezionare l'account da rimuovere. - \item confermare la rimozione dell'account. - \end{itemize} - & NS \\ + \item visualizzare gli accessi, le ore trascorse all'interno dei luoghi e quali luoghi sono più frequentati all'interno di un'organizzazione. + \end{itemize} + & NS \\ + TS046F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare le informazioni riguardo uno specifico dipendente. \newline + L'owner, il gestore e il visualizzatore devono: + \begin{itemize} + \item avviare la procedura di monitoraggio del dipendente. + \item visualizzare l'organizzazione in cui si trova il dipendente. + \item visualizzare il luogo in cui si trova il dipendente. + \end{itemize} + & NS \\ + TS047F1 & La web application deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline + L'utente deve: + \begin{itemize} + \item avviare la procedura per diventare owner. + \item confermare la richiesta di diventare owner. + \end{itemize} + & NS \\ + TS048F2 & La web application deve permettere all'owner di aggiungere un nuovo gestore dell'organizzazione. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner. + \item avviare la procedura di aggiunta di un gestore. + \item inserire l'email dell'utente che deve diventare gestore. + \item confermare l'aggiunta del gestore. + \item verificare che l'utente indicato sia diventato gestore. + \end{itemize} + & NS \\ + TS049F2 & La web application deve permettere all'owner di aggiungere un nuovo visualizzatore dell'organizzazione. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione di cui è owner. + \item avviare la procedura di aggiunta di un visualizzatore. + \item inserire email dell'utente che deve diventare visualizzatore. + \item confermare l'aggiunta del visualizzatore. + \item verificare che l'utente indicato sia diventato visualizzatore. + \end{itemize} + & NS \\ + TS050F1 & La web application deve permettere all'amministratore di rimuovere i privilegi di owner ad un utente che ne sia in possesso. \newline + L'amministratore deve: + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei privilegi di owner. + \item inserire l'email dell'owner da rimuovere. + \item confermare la rimozione dell'owner. + \item verificare che l'utente indicato non sia più un owner. + \end{itemize} + & NS \\ + TS051F2 & La web application deve permettere all'owner di rimuovere i privilegi di gestore ad un utente che ne sia in possesso. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei privilegi di gestore. + \item inserire l'email del gestore da rimuovere. + \item confermare la rimozione del gestore. + \item verificare che l'utente indicato non sia più un gestore. + \end{itemize} + & NS \\ + TS052F2 & La web application deve permettere all'owner di rimuovere i privilegi di visualizzatore ad un utente che ne sia in possesso. \newline + L'owner deve: + \begin{itemize} + \item selezionare un'organizzazione. + \item avviare la procedura di rimozione dei privilegi di visualizzatore. + \item inserire l'email del visualizzatore da rimuovere. + \item confermare la rimozione del visualizzatore. + \item verificare che l'utente indicato non sia più un visualizzatore. + \end{itemize} + & NS \\ + TS053F1 & La web application deve permettere all'amministratore di eliminare un account dal sistema. \newline + L'amministratore deve: + \begin{itemize} + \item avviare la procedura di eliminazione dell'account utente. + \item selezionare l'account da rimuovere. + \item confermare la rimozione dell'account. + \item verificare che l'utente eliminato non riesca più ad accedere al sistema. + \end{itemize} + & NS \\ % - Vincoli di sistema From 786ba5ed481a47fef5ab3c92de0617ef37b44565 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Sat, 11 Apr 2020 15:50:38 +0200 Subject: [PATCH 29/44] docs: aggiungi grafici indice di correttezza ortografica --- commons/img/correttezzaortografica-RP.png | Bin 0 -> 12387 bytes commons/img/correttezzaortografica-RR.png | Bin 0 -> 12250 bytes .../components/report-verifica.tex | 19 ++++++++++++++---- 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 commons/img/correttezzaortografica-RP.png create mode 100644 commons/img/correttezzaortografica-RR.png diff --git a/commons/img/correttezzaortografica-RP.png b/commons/img/correttezzaortografica-RP.png new file mode 100644 index 0000000000000000000000000000000000000000..a78c900b06ad82c3d9a6038e10f0764a92c379bf GIT binary patch literal 12387 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 a?g}fl{fbL07&8EC>2$RWG|R3!KKw6Ak%z_r literal 0 HcmV?d00001 diff --git a/commons/img/correttezzaortografica-RR.png b/commons/img/correttezzaortografica-RR.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3f480eb8fa9a9848451186d3bc65d7229c888c GIT binary patch literal 12250 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 literal 0 HcmV?d00001 diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index 2e02a191..6c125275 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -5,7 +5,21 @@ \subsection{Analisi statica dei documenti} \label{sub:analisi_statica_doc} Per l'analisi statica dei documenti GruppOne ha utilizzato il package \glossario{chktex} che ha consentito di trovare errori nella sintassi latex. - Il test, eseguito ad ogni modifica repository, ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. + Il test, eseguito ad ogni modifica repository, ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. + + \begin{figure}[H] + \centering + \includegraphics[width=160mm]{correttezzaortografica-RR.png}% + \end{figure} + + + \begin{figure}[H] + \centering + \includegraphics[width=160mm]{correttezzaortografica-RP.png}% + \end{figure} + + + % sub:analisi_statica_doc (end) \subsection{Esito verifica leggibilità} \label{sub:verifica_leggibilita} @@ -26,20 +40,17 @@ \begin{figure}[H] \centering \includegraphics[width=160mm]{gulpease-RR.png}% - \caption{Indice di Gulpease per documento in RR}% \end{figure} \begin{figure}[H] \centering \includegraphics[width=160mm]{gulpease-RP.png}% - \caption{Indice di Gulpease per documento in RP}% \end{figure} \begin{figure}[H] \centering \includegraphics[width=160mm]{gulpease-conf.png}% - \caption{Indice di Gulpease a confronto}% \end{figure} % sub:verifica_leggibilita (end) From 2c24d62d0ab383f9e85facb9106a1869bc15ad79 Mon Sep 17 00:00:00 2001 From: Riccardo Agatea Date: Sat, 11 Apr 2020 16:00:43 +0200 Subject: [PATCH 30/44] docs: aggiungi range valori per soldi e ore --- .../piano-di-qualifica/components/qualita-di-processo.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index fed7870e..e1710297 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -63,7 +63,7 @@ \subsubsection{Metriche}% \begin{itemize} \item Risultato: numero intero che rappresenta il numero di rischi incontrati durante il progetto che non erano stati previsti. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} \end{description} -\subsection{Qualità di gestione di processo} +\subsection{Qualità di gestione di processo}% \label{subsec:qualita_processo} \subsubsection{Metriche}% @@ -72,11 +72,11 @@ \subsubsection{Metriche}% \begin{description} \item [[MPS-DE \textasciitilde] Discostamento economico]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.1. \begin{itemize} \item Risultato: misura quanto i costi effettivamente sostenuti nell’esecuzione del - processo si discostano dai costi previsti. \item Valore ammissibile: TODO\% \item Valore ottimale: TODO\% \end{itemize} + processo si discostano dai costi previsti. \item Valore ammissibile: 5\% \item Valore ottimale: 0\% \end{itemize} \item [[MPS-DO \textasciitilde] Discostamento orario]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.2. \begin{itemize} \item Risultato: misura quanto il totale orario effettivamente lavorato durante l’esecuzione - del processo si discostano dal totale orario previsto. \item Valore ammissibile: TODO\% \item Valore ottimale: TODO\% \end{itemize} + del processo si discostano dal totale orario previsto. \item Valore ammissibile: 5\% \item Valore ottimale: 0\% \end{itemize} \end{description} % TODO - copiare descrizioni metriche MISURABILI nelle norme From 57d180fb8e9d2b83895fe964c0c1b78854097c77 Mon Sep 17 00:00:00 2001 From: Riccardo Agatea Date: Sat, 11 Apr 2020 16:24:35 +0200 Subject: [PATCH 31/44] docs: aggiungi report discostamenti soldi e ore --- commons/img/discostamenti-orari-economici.png | Bin 0 -> 19187 bytes .../components/report-verifica.tex | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 commons/img/discostamenti-orari-economici.png diff --git a/commons/img/discostamenti-orari-economici.png b/commons/img/discostamenti-orari-economici.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2ee7e0c5ea3e7341fc40075f1e418054984e93 GIT binary patch literal 19187 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 hKr$CC{VMSOsn Date: Sat, 11 Apr 2020 16:53:43 +0200 Subject: [PATCH 32/44] fix: errore ortografico --- esterni/piano-di-qualifica/components/report-verifica.tex | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index c0cdb07e..4136437f 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -56,13 +56,14 @@ % sub:verifica_leggibilita (end) \end{document} +\newpage + \subsection{Discostamenti orari ed economici}% \label{sub:discostamenti_orari_ed_economici} -Per assicurarci di rispettare il preventivo, abbiamo monitorato i discostamenti, in percentuale, fra ila lavoro eseguito e quello pianificato, dai punti di vista economico ed orario. Nel seguito riportiamo i risultati al termine di ogni fase. +Per assicurarci di rispettare il preventivo, abbiamo monitorato i discostamenti, in percentuale, fra il lavoro eseguito e quello pianificato, dai punti di vista economico ed orario. Nel seguito riportiamo i risultati al termine di ogni fase. \begin{figure}[H] \centering \includegraphics[width=160mm]{discostamenti-orari-economici.png}% - \caption{Discostamenti orari ed economici, in percentuale}% \end{figure} % sub:discostamenti_orari_ed_economici (end) From ca19e2f6da2022f1f3d80afe093cbad243c7511c Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sat, 11 Apr 2020 22:15:26 +0200 Subject: [PATCH 33/44] docs(PdQ): aggiungi metrica, completa report e correggi errori chktex --- commons/img/percentualemetricheottimali.png | Bin 0 -> 14850 bytes .../components/qualita-di-processo.tex | 61 +++++++++++------- .../components/report-verifica.tex | 9 +++ .../components/specifica-test.tex | 2 +- .../components/valutazioni-miglioramento.tex | 4 +- .../piano-di-qualifica/piano-di-qualifica.tex | 17 +++-- 6 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 commons/img/percentualemetricheottimali.png diff --git a/commons/img/percentualemetricheottimali.png b/commons/img/percentualemetricheottimali.png new file mode 100644 index 0000000000000000000000000000000000000000..2ba602cfb1694c538fa5b84753c1f46438b51431 GIT binary patch literal 14850 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 Wl#TmIKWhNlAa_)?RSIs|g#3SMeN*%R literal 0 HcmV?d00001 diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index e1710297..fd56192b 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -19,48 +19,59 @@ \subsection{Descrizione}% \item Definire dei valori soglia delle metriche per avere una quantificazione oggettiva della qualità del processo in esame. \end{itemize} -\subsection{Qualità di sviluppo}% -\label{subsec:qualita_sviluppo} +% \subsection{Qualità di sviluppo}% +% \label{subsec:qualita_sviluppo} -\subsubsection{Metriche}% -\label{par:metriche_sv} +% \subsubsection{Metriche}% +% \label{par:metriche_sv} -\begin{description} -\item [[MPS-NFV \textasciitilde] Nomi di variabili o di titoli di metodi o classi che non rispettano le norme stabilite]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.2. -\begin{itemize} \item Risultato: numero di nomi di variabili o di titoli di metodi o classi che non rispettano le norme stabilite. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} +% \begin{description} +% \item [[MPS-NFV \textasciitilde] Nomi di variabili o di titoli di metodi o classi che non rispettano le norme stabilite]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.2. +% \begin{itemize} \item Risultato: numero di nomi di variabili o di titoli di metodi o classi che non rispettano le norme stabilite. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} -\item [[MPS-CNN \textasciitilde] Commenti non normati]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.3. - \begin{itemize} \item Risultato: numero di commenti che non rispettano le norme stabilite. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} +% \item [[MPS-CNN \textasciitilde] Commenti non normati]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.3. +% \begin{itemize} \item Risultato: numero di commenti che non rispettano le norme stabilite. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} -\item [[MPS-ICC \textasciitilde] Classi che ereditano da una classe concreta]: definita nelle \textit{Norme di progetto} alla sezione 2.3.4.5. - \begin{itemize} \item Risultato: numero di classi che ereditano da classi concrete. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} -\end{description} +% \item [[MPS-ICC \textasciitilde] Classi che ereditano da una classe concreta]: definita nelle \textit{Norme di progetto} alla sezione 2.3.4.5. +% \begin{itemize} \item Risultato: numero di classi che ereditano da classi concrete. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} +% \end{description} -\subsection{Qualità di risoluzione dei problemi}% -\label{subsec:qualita_sviluppo} +% \subsection{Qualità di risoluzione dei problemi}% +% \label{subsec:qualita_sviluppo} -\subsubsection{Metriche}% -\label{par:metriche_rp} +% \subsubsection{Metriche}% +% \label{par:metriche_rp} -\begin{description} - \item [[MPS-RDP \textasciitilde] Indice di velocità di risoluzione dei problemi]: definito nelle \textit{Norme di progetto} alla sezione 3.7.3.1. - \begin{itemize} \item Risultato: numero intero che rappresenta la quantità di giorni trascorsi tra l'apertura della issue e la sua chiusura. \item Valore ammissibile: 1\% \item Valore ottimale: 7\% \end{itemize} -\end{description} +% \begin{description} +% \item [[MPS-RDP \textasciitilde] Indice di velocità di risoluzione dei problemi]: definito nelle \textit{Norme di progetto} alla sezione 3.7.3.1. +% \begin{itemize} \item Risultato: numero intero che rappresenta la quantità di giorni trascorsi tra l'apertura della issue e la sua chiusura. \item Valore ammissibile: 1\% \item Valore ottimale: 7\% \end{itemize} +% \end{description} + + +% \subsection{Qualità di gestione dei rischi}% +% \label{subsec:qualita_sviluppo} + +% \subsubsection{Metriche}% +% \label{par:metriche_rp} +% \begin{description} +% \item [[MPS-RDP \textasciitilde] Indice dei rischi incontrati ma non preventivati]: definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. +% \begin{itemize} \item Risultato: numero intero che rappresenta il numero di rischi incontrati durante il progetto che non erano stati previsti. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} +% \end{description} -\subsection{Qualità di gestione dei rischi}% -\label{subsec:qualita_sviluppo} +\subsection{Qualità di accertamento della qualità}% +\label{subsec:qualita_accertamento_qualita} \subsubsection{Metriche}% -\label{par:metriche_rp} +\label{par:metriche_aq} \begin{description} - \item [[MPS-RDP \textasciitilde] Indice dei rischi incontrati ma non preventivati]: definito nelle \textit{Norme di progetto} alla sezione 4.2.2.1. - \begin{itemize} \item Risultato: numero intero che rappresenta il numero di rischi incontrati durante il progetto che non erano stati previsti. \item Valore ammissibile: 0\% \item Valore ottimale: 0\% \end{itemize} + \item [[MPS-PME \textasciitilde] Percentuale di metriche eccellenti]: definito nelle \textit{Norme di progetto} alla sezione 3.4.5.1. + \begin{itemize} \item Risultato: misura la percentuale di metriche che raggiungono risultati ottimali. \item Valore ammissibile: 10\% \item Valore ottimale: 100\% \end{itemize} \end{description} \subsection{Qualità di gestione di processo}% diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index 4136437f..17757575 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -67,3 +67,12 @@ \subsection{Discostamenti orari ed economici}% \includegraphics[width=160mm]{discostamenti-orari-economici.png}% \end{figure} % sub:discostamenti_orari_ed_economici (end) + +\subsection{Metriche con valore ottimale}% +\label{sub:metriche_ottimali} +Infine per avere una visione complessiva dell'andamento della qualità nei controlli alla fine di ogni fase controlliamo quante metriche raggiungono valori definiti come ottimali. +\begin{figure}[H] + \centering + \includegraphics[width=160mm]{percentualemetricheottimali.png}% +\end{figure} +% sub:metriche_ottimali (end) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index ea6b2906..10229322 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -588,7 +588,7 @@ \subsection{Test di Integrazione}% & NS \\ \caption{Tabella dei test di integrazione}% - \label{tab:test_sistema} + \label{tab:test_integrazione} \end{longtable} \end{centering} diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index 44bf551d..72f381db 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -29,7 +29,7 @@ \rowcolor{darkgray!90!} \color{white}{\textbf{Ruolo}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ Responsabile & Sono sorte diverse difficoltà da parte del responsabile nella suddivisione bilanciata delle ore tra i membri, provocando sovraccarichi di lavoro. & Il gruppo ha deciso di incrementare l'attenzione nella suddivisione della mole di lavoro ai membri del gruppo. \\ - Analista & Data l'inesperienza nell'analisi, sono sorti diversi problemi nell'individuazione dei requisiti e dei casi d'uso, causando rallentamenti. & La soluzione intrapresa è stata quella di contattare il proponente cercando quindi di velocizzare l'individuazione dei requisiti, in modo da non ritardare la consegna in RR. \\ + Analista & Data l'inesperienza nell'analisi, sono sorti diversi problemi nell'individuazione dei requisiti e dei casi d'uso, causando rallentamenti. & La soluzione intrapresa è stata quella di contattare il proponente cercando quindi di velocizzare l'individuazione dei requisiti, in modo da non ritardare la consegna in RR\@. \\ Responsabile & Data la poca attenzione, è stato sbagliato il preventivo di progetto, andando sotto la soglia richiesta. Questo errore ha provocato delle conseguenze giustamente adeguate. & Da quel momento il gruppo ha deciso di attuare delle attività di verifica più consistenti, in modo da rilevare il prima possibili errori inaccettabili come questo. \\ Verificatore & La poca esperienza nel campo, ha portato ai verificatori lo studio dei documenti su cui attuare le verifiche, provocando ritardi, oppure mancate correzioni, come quella sopra menzionata. & Il gruppo ha deciso di far prestare molta più attenzione ai verificatori, attuando una politica di ispezione attraverso una check-list. \\ Programmatore & Sono sorte molte difficoltà nell'utilizzo delle tecnologie a colpa dell'inesperienza nell'uso di esse. Allungando di molto il tempo di autoapprendimento abbiamo raggiunto un punto di non ritorno decidendo di saltare la technology baseline. & Il gruppo ha deciso di sfruttare meglio il tempo a disposizione cercando di massimizzare le ore produttive. \\ @@ -47,7 +47,7 @@ Latex & Molti membri del gruppo, non avendo mai utilizzato questo linguaggio, hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare alcune ore di autoapprendimento, data la rilevante importanza della documentazione ai fini del progetto. \\ PlantUML & Gli analisti hanno dovuto imbattersi in questo strumento, che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Però lo strumento ha comportato diversi problemi di compatibilità, che sono stati risolti consumando molte ore. & Dopo questo avvenimento il gruppo ha deciso di valutare la complessità di implementazione degli strumenti prima della decisione del suo utilizzo. \\ Visual Studio Code & I membri del gruppo hanno voluto analizzare un ambiente di sviluppo in grado di supportare la maggior parte delle attività del gruppo. & La scelta è ricaduta su Visual Studio Code, in quanto ha una distribuzione eterogenea su tutti i sistemi operativi, e risulta uno strumento polivalente, in grado di gestire molteplici estensioni per qualsiasi evenienza, rendendo il suo utilizzo efficiente de efficace. \\ - Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, il quale sviluppo è rivolto a Visual Studio Code ed IntelliJ IDEA. \\ + Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, il quale sviluppo è rivolto a Visual Studio Code ed IntelliJ IDEA\@. \\ IntelliJ IDEA & Visual Studio Code è un ottimo ambiente di sviluppo, ma sorge la necessità di sviluppare il frontend dell'applicazione mobile con un ambiente di sviluppo integrato per la piattaforma Android. & Vengono prese al vaglio due alternative: Android Studio oppure IntelliJ IDEA\@. Sebbene sia l'editor de facto per lo sviluppo di applicazioni Android, l'ambiente di sviluppo Android Studio è stato scartato a causa delle richieste minime troppo onerose, a vantaggio di IntelliJ IDEA che è più leggero e quindi utilizzabile da qualsiasi membro del gruppo. \\ \end{longtable} diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index 8af5da31..6bc2fc89 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -20,20 +20,25 @@ \setUso{Esterno} \setDescrizione{Questo documento illustra la strategia complessiva di verifica e validazione implementata da GruppOne al fine di garantire qualità nel progetto} \setModifiche{% -\cellcolor{white!80!lightgray!100} & Riccardo Agatea & \placeholder{data} & approva documento \\% -\cellcolor{white!80!lightgray!100} & Riccardo Agatea & \placeholder{data} & verifica documento \\% +\cellcolor{white!80!lightgray!100} & Alberto Cocco & 2020--04--12 & approva documento \\% +\cellcolor{white!80!lightgray!100} & Luca Ercole & 2020--04--12 & verifica documento \\% +\cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--04--11 & aggiungi metriche in §~\ref{subsec:qualita_accertamento_qualita} e completa report in §~\ref{sec:report_verifica}\\% +\cellcolor{white!80!lightgray!100} & Riccardo Agatea & 2020--04--11 & aggiungi metriche per la qualità di processo in §~\ref{sec:qualita_di_processo} e incrementa report in §~\ref{sec:report_verifica}\\% +\cellcolor{white!80!lightgray!100} & Riccardo Cestaro & 2020--04--10 & aggiungi metriche per la qualità di prodotto in §~\ref{sec:qualita_di_prodotto} e incrementa report in §~\ref{sec:report_verifica}\\% +\cellcolor{white!80!lightgray!100} & Alberto Gobbo & 2020--04--09 & correggi e inserisci nuovi test di sistema in §~\ref{sub:test_di_sistema}\\% +\cellcolor{white!80!lightgray!100} & Riccardo Cestaro & 2020--03--28 & riorganizza le sezioni §~\ref{sec:qualita_di_processo} e §~\ref{sec:qualita_di_prodotto}\\% \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--03--01 & correggi riferimenti a standard in §~\ref{sec:introduzione}\\% \multirow{-4}{*}{\placeholder{versione}} \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--02--29 & inserisci sezione sul report dell'attività di verifica, §~\ref{sec:report_verifica} \\% \cellcolor{lightgray} & Alessandro Rizzo & 2020--01--13 & approva documento \\% \cellcolor{lightgray} & Riccardo Agatea, Alberto Gobbo & 2020--01--13 & verifica documento completo \\% \cellcolor{lightgray} & Tobia Apolloni & 2020--01--09 & aggiungi sigle alle metriche per la qualità di prodotto in §~\ref{sec:qualita_di_prodotto}\\% \cellcolor{lightgray} & Luca Ercole & 2020--01--09 & correggi alcuni errori \\% -\cellcolor{lightgray} & Alessandro Rizzo & 2020--01--08 & aggiungi le specifiche degli ultimi test di accettazione in §~\ref{tab:test_accettazione} \\% -\cellcolor{lightgray} & Tobia Apolloni & 2020--01--07 & aggiunge le specifiche dei primi 18 test di accettazione in §~\ref{tab:test_accettazione}\\% -\cellcolor{lightgray} & Tobia Apolloni & 2020--01--07 & aggiungi tabella per test di accettazione in §~\ref{subs:accettazione}\\% +\cellcolor{lightgray} & Alessandro Rizzo & 2020--01--08 & aggiungi le specifiche degli ultimi test di sistema in §~\ref{tab:test_sistema} \\% +\cellcolor{lightgray} & Tobia Apolloni & 2020--01--07 & aggiunge le specifiche dei primi 18 test di sistema in §~\ref{tab:test_sistema}\\% +\cellcolor{lightgray} & Tobia Apolloni & 2020--01--07 & aggiungi tabella per test di sistema in §~\ref{sub:test_di_accettazione}\\% \cellcolor{lightgray} & Alberto Cocco & 2020--01--06 & correggi alcuni errori \\% \cellcolor{lightgray} & Alberto Cocco & 2020--01--05 & inizia qualità di processo §~\ref{sec:qualita_di_processo}\\% -\cellcolor{lightgray} & Alessandro Rizzo & 2020--01--05 & aggiungi specifica dei test §~\ref{sub:test}\\% +\cellcolor{lightgray} & Alessandro Rizzo & 2020--01--05 & aggiungi specifica dei test §~\ref{sec:specifica_test}\\% \cellcolor{lightgray} & Riccardo Cestaro & 2020--01--05 & aggiungi introduzione §~\ref{sec:introduzione}\\% \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & inizia a scrivere struttura del documento \\% \cellcolor{lightgray} & Luca Ercole & 2020--01--04 & aggiungi redattori e verificatori sui documenti \\% From 57a75758546cfecea7ab95d8fcb5410f876f6751 Mon Sep 17 00:00:00 2001 From: RiccardoCestaro Date: Sun, 12 Apr 2020 09:31:13 +0200 Subject: [PATCH 34/44] fix: correggi alcuni errori grammaticali --- .../components/qualita-di-processo.tex | 2 +- .../components/qualita-di-prodotto.tex | 4 ++-- .../components/specifica-test.tex | 3 +-- .../components/valutazioni-miglioramento.tex | 18 +++++++++--------- 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index fd56192b..13809f28 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -87,7 +87,7 @@ \subsubsection{Metriche}% \item [[MPS-DO \textasciitilde] Discostamento orario]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.2. \begin{itemize} \item Risultato: misura quanto il totale orario effettivamente lavorato durante l’esecuzione - del processo si discostano dal totale orario previsto. \item Valore ammissibile: 5\% \item Valore ottimale: 0\% \end{itemize} + del processo si discosta dal totale orario previsto. \item Valore ammissibile: 5\% \item Valore ottimale: 0\% \end{itemize} \end{description} % TODO - copiare descrizioni metriche MISURABILI nelle norme diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index 0b1498ef..f55ee0f3 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -19,9 +19,9 @@ \subsubsection{Metriche}% \begin{description} \item [[MPR-IDG \textasciitilde] Indice di Gulpease]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. -\begin{itemize} \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. \item Valore ammissibile: maggiore di 50\% \item Valore ottimale: maggiore di 80\% \end{itemize} +\begin{itemize} \item Risultato: indice compreso tra 0 e 100 che stabilisce la leggibilità del testo in base ala lunghezza delle parole. \item Valore ammissibile: \geq{} 50 \item Valore ottimale: \geq{} 80 \end{itemize} \item [[MPR-CO \textasciitilde] Indice di correttezza ortografica]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.3. - \begin{itemize} \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. \item Valore ammissibile: \leq{} 0 \item Valore ottimale: \leq{} 0 \end{itemize} + \begin{itemize} \item Risultato: numero intero che rappresenta il numero di errori ortografici presenti nel testo. \item Valore ammissibile: 0 \item Valore ottimale: 0 \end{itemize} \end{description} diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 10229322..eaa5d3d3 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -21,8 +21,7 @@ \subsection{Test di Accettazione}% \label{sub:test_di_accettazione} -I test di Accettazione vengono attuati dal proponente e dal capitolato e servono a dimostrare che il prodotto soddisfi tutti i requisiti. -E' quindi in sede di collaudo finale, che vengono eseguiti questi test. +I test di Accettazione vengono attuati dal proponente e dal committente, in sede di collaudo finale, e servono a dimostrare che il prodotto soddisfi tutti i requisiti. \subsection{Test di Sistema}% \label{sub:test_di_sistema} diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index 72f381db..51e66e07 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -3,8 +3,8 @@ \begin{document} Lo scopo di questa sezione è riportare una valutazione riguardo il lavoro svolto, in modo da trattare i problemi sorti e procedere ad un'efficiente risoluzione. - Questo dovrà portare ad un'immunità a tali problemi in futuro. - I problemi sorti vengono sollevati dai componenti dei membri stessi, in quanto non vi è una + In questo modo, il gruppo sarà in grado di prevenire la loro ricomparsa oppure, in caso si ripresentino, di risolverli più velocemente. + I problemi sorti vengono sollevati dai membri stessi, in quanto non vi è una persona esterna che possa dare una valutazione oggettiva. Questa sezione è destinata ad aggiornarsi con l'avanzamento del lavoro, e arricchirsi in modo @@ -16,8 +16,8 @@ \begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} \rowcolor{darkgray!90!} \color{white}{\textbf{Dominio}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ - Incontri di gruppo & Durante il periodo di progettazione sono sorti problemi a causa dell'epidemia (COVID-19) che ci ha costretti a non poterci incontrare di persona. & Grazie a strumenti di videoconferenza e videochiamata abbiamo potuto continuare le nostre attività. I nostri incontri verranno eseguiti sempre in modalità telematica fino al termine del progetto didattico.\\ - Technology baseline & A causa di una mancata solida preparazione alla presentazione del Proof of Concept il gruppo si è dilungato in discorsi non richiesti, andando a sforare il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi cercando di aumentare il tempo di preparazione alle varie presentazioni. \\ + Incontri di gruppo & Durante il periodo di progettazione il gruppo non ha potuto incontrarsi di persona a causa dell'epidemia di COVID-19. & Grazie a strumenti di videoconferenza e videochiamata abbiamo potuto continuare le nostre attività. I nostri incontri verranno eseguiti sempre in modalità telematica fino al termine del progetto didattico o delle misure ristrettive.\\ + Technology baseline & A causa di una mancata solida preparazione alla presentazione del Proof of Concept il gruppo si è dilungato in discorsi non richiesti, sforando il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi cercando di aumentare il tempo di preparazione alle varie presentazioni. \\ \end{longtable} @@ -28,12 +28,12 @@ \begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} \rowcolor{darkgray!90!} \color{white}{\textbf{Ruolo}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ - Responsabile & Sono sorte diverse difficoltà da parte del responsabile nella suddivisione bilanciata delle ore tra i membri, provocando sovraccarichi di lavoro. & Il gruppo ha deciso di incrementare l'attenzione nella suddivisione della mole di lavoro ai membri del gruppo. \\ + Responsabile & Sono sorte diverse difficoltà da parte del responsabile nella suddivisione bilanciata delle ore tra i membri provocando sovraccarichi di lavoro. & Il gruppo ha deciso di incrementare l'attenzione nella suddivisione della mole di lavoro ai membri del gruppo. \\ Analista & Data l'inesperienza nell'analisi, sono sorti diversi problemi nell'individuazione dei requisiti e dei casi d'uso, causando rallentamenti. & La soluzione intrapresa è stata quella di contattare il proponente cercando quindi di velocizzare l'individuazione dei requisiti, in modo da non ritardare la consegna in RR\@. \\ - Responsabile & Data la poca attenzione, è stato sbagliato il preventivo di progetto, andando sotto la soglia richiesta. Questo errore ha provocato delle conseguenze giustamente adeguate. & Da quel momento il gruppo ha deciso di attuare delle attività di verifica più consistenti, in modo da rilevare il prima possibili errori inaccettabili come questo. \\ - Verificatore & La poca esperienza nel campo, ha portato ai verificatori lo studio dei documenti su cui attuare le verifiche, provocando ritardi, oppure mancate correzioni, come quella sopra menzionata. & Il gruppo ha deciso di far prestare molta più attenzione ai verificatori, attuando una politica di ispezione attraverso una check-list. \\ - Programmatore & Sono sorte molte difficoltà nell'utilizzo delle tecnologie a colpa dell'inesperienza nell'uso di esse. Allungando di molto il tempo di autoapprendimento abbiamo raggiunto un punto di non ritorno decidendo di saltare la technology baseline. & Il gruppo ha deciso di sfruttare meglio il tempo a disposizione cercando di massimizzare le ore produttive. \\ - Amministratore & A causa della complessa continuous integration realizzata, i membri del gruppo si sono trovati in difficoltà causando rallentamenti e di conseguenza saltando la technology baseline. & La soluzione intrapresa è stata quella di limitare l'implementazione di nuovi strumenti di continuous integration, che provocano ritardi inaccettabili di fronte a tempi apparentemente stretti. \\ + Responsabile & A causa di una disattenzione, è stato sbagliato il preventivo di progetto, andando sotto la soglia richiesta. & Il gruppo ha deciso di attuare delle attività di verifica più consistenti, in modo da rilevare il prima possibile errori. \\ + Verificatore & La poca esperienza nel campo, ha portato ai verificatori uno studio molto consistente dei documenti su cui attuare le verifiche, provocando ritardi, oppure mancate correzioni, come quella sopra menzionata. & Il gruppo ha deciso di far prestare molta più attenzione ai verificatori, attuando una politica di ispezione attraverso una check-list. \\ + Programmatore & Sono sorte molte difficoltà nell'utilizzo delle tecnologie per colpa dell'inesperienza nel loro uso. Allungando di molto il tempo di autoapprendimento, ha portato il gruppo a saltare la seconda revisione. & Il gruppo ha deciso di sfruttare meglio il tempo a disposizione cercando di massimizzare le ore produttive. \\ + Amministratore & A causa della complessa continuous integration realizzata, i membri del gruppo si sono trovati in difficoltà causando rallentamenti e di conseguenza saltando la technology baseline. & Abbiamo deciso di limitare l'implementazione di nuovi strumenti di continuous integration, che provocano ritardi inaccettabili. \\ \end{longtable} \newpage From 550a8df77ad8d6e43ce83b72bc009d2e3f47d724 Mon Sep 17 00:00:00 2001 From: Luca Ercole <30255227+erclu@users.noreply.github.com> Date: Sun, 12 Apr 2020 14:14:51 +0200 Subject: [PATCH 35/44] docs: aggiorna numero di versione e sistema paragrafo scopo del prodotto --- esterni/piano-di-qualifica/components/introduzione.tex | 9 --------- 1 file changed, 9 deletions(-) diff --git a/esterni/piano-di-qualifica/components/introduzione.tex b/esterni/piano-di-qualifica/components/introduzione.tex index 901e54d2..38c228fc 100644 --- a/esterni/piano-di-qualifica/components/introduzione.tex +++ b/esterni/piano-di-qualifica/components/introduzione.tex @@ -9,15 +9,6 @@ \subsection{Scopo del documento}% In questo modo è quindi possibile rilevare e correggere il prima possibile eventuali anomalie, riducendo al minimo lo spreco delle risorse. % sub:scopo_del_documento (end) -\subsection{Scopo del prodotto}% -\label{sub:scopo_del_prodotto} -L'obiettivo del \glossario{progetto} è sviluppare un'\glossario{applicazione mobile} distribuita, seguendo il \glossario{modello client/server}. -Il \glossario{client} deve essere in grado di segnalare sia l'ingresso che l'uscita dell'\glossario{utente} dai \glossario{luoghi} (in modalità anonima o meno a seconda delle esigenze), i quali sono definiti dalle \glossario{organizzazioni}. -Il \glossario{server} deve fornire la possibilità di raccogliere ed analizzare i \glossario{dati} relativi alle organizzazioni. -In caso di utenti anonimi l'analisi riguarda solo una \glossario{stima} del numero totale di persone presenti in un dato momento. -In caso di utenti autenticati deve inoltre essere possibile effettuare \glossario{query} di monitoraggio specifiche. -In merito all'ottimizzazione della geolocalizzazione, è richiesto un \glossario{report} che esponga le scelte progettuali, le rispettive motivazioni e i test eseguiti per garantire la rilevazione sufficiente precisa della posizione, considerando le limitazioni dello \glossario{smartphone}. - \scopoDelProdottoEGlossario{} From 80a76b4fe7f5fd70ac050e4ca441cbfa34bd8fa8 Mon Sep 17 00:00:00 2001 From: AlbertoGobbo <47864124+AlbertoGobbo@users.noreply.github.com> Date: Sun, 12 Apr 2020 17:00:40 +0200 Subject: [PATCH 36/44] docs(PdQ): correggi errori segnalati in specifica-test.tex --- .../components/specifica-test.tex | 102 +++++++++--------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index eaa5d3d3..696e47b2 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -6,38 +6,38 @@ Per misurare la qualità di prodotto inoltre utilizziamo dei test secondo il \glossario{Modello a \textit{V}}, per il quale definiamo e sviluppiamo i test in parallelo alle attività di analisi, progettazione architetturale e di sviluppo e verifica incrementi. Abbiamo definito i test dividendoli nelle seguenti categorie: \begin{description} - \item [Test di Accettazione (TA)] - \item [Test di Sistema (TS)] - \item [Test di Integrazione (TI)] - \item [Test di Unità (TU)] + \item [Test di Accettazione (TA)]. + \item [Test di Sistema (TS)]. + \item [Test di Integrazione (TI)]. + \item [Test di Unità (TU)]. \end{description} Inoltre classifichiamo i test in base al loro stato: \begin{description} - \item [S]: il test è stato soddisfatto - \item [NS]: il test non è stato ancora soddisfatto + \item [S]: il test è stato soddisfatto. + \item [NS]: il test non è stato ancora soddisfatto. \end{description} \subsection{Test di Accettazione}% \label{sub:test_di_accettazione} -I test di Accettazione vengono attuati dal proponente e dal committente, in sede di collaudo finale, e servono a dimostrare che il prodotto soddisfi tutti i requisiti. +I test di accettazione vengono attuati dal proponente e dal committente, in sede di collaudo finale, e servono a dimostrare che il prodotto soddisfi tutti i requisiti. \subsection{Test di Sistema}% \label{sub:test_di_sistema} I test di sistema hanno lo scopo di verificare che il prodotto soddisfi i requisiti richiesti, vengono eseguiti durante la fase di verifica e collaudo finale. -Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software abbiamo pensato di numerare i Test di Sistema nel modo seguente: +Essendo tutti i test derivanti da un gruppo di requisiti che hanno una determinata importanza nel prodotto software, abbiamo pensato di numerare i test di sistema nel modo seguente: \begin{center} [TS][numero][tipo][priorità] \end{center} Dove: \textit{priorità} è un valore numerico da 1 a 3 ad indicare l'importanza del requisito che deve essere soddisfatto, \textit{numero} è un numero identificativo incrementale per tipologia che parte da 1 e \textit{tipo} può assumere i seguenti valori: \begin{description} - \item [F]: requisito funzionale - \item [P]: requisito prestazionale - \item [V]: requisito vincolo - \item [Q]: requisito qualità + \item [F]: requisito funzionale. + \item [P]: requisito prestazionale. + \item [V]: requisito vincolo. + \item [Q]: requisito qualità. \end{description} \newpage @@ -158,7 +158,7 @@ \subsection{Test di Sistema}% \item visualizzare lo stato, pubblico o privato, dell'organizzazione. \end{itemize} & NS \\ - TS013F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di recuperare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline + TS013F1 & L'applicazione mobile non recupera la lista di organizzazioni a cui può collegarsi l'utente autenticato, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item visualizzare un messaggio d'errore. @@ -171,7 +171,7 @@ \subsection{Test di Sistema}% \item visualizzare la lista aggiornata delle organizzazioni. \end{itemize} & NS \\ - TS015F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di aggiornare la lista di organizzazioni a cui può collegarsi l'utente autenticato. \newline + TS015F1 & L'applicazione mobile non riceve alcuna richiesta di aggiornare la lista di organizzazioni a cui può collegarsi l'utente autenticato, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item visualizzare un messaggio d'errore. @@ -198,7 +198,7 @@ \subsection{Test di Sistema}% \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. \end{itemize} & NS \\ - TS018F1 & L'applicazione mobile non permette all'utente autenticato di collegarsi ad un'organizzazione privata, in quanto sono stati inseriti erroneamente i dati d'accesso al server LDAP\@. \newline + TS018F1 & L'applicazione mobile non permette all'utente autenticato di collegarsi ad un'organizzazione privata, in quanto vengono inseriti erroneamente i dati d'accesso al server LDAP\@. \newline L'utente deve: \begin{itemize} \item visualizzare la lista delle organizzazioni alla quale può collegarsi. @@ -219,7 +219,7 @@ \subsection{Test di Sistema}% \item visualizzare un messaggio d'errore. \end{itemize} & NS \\ - TS020F1 & L'applicazione mobile deve permettere all'utente autenticato di scollegarsi ad un'organizzazione pubblica. \newline + TS020F1 & L'applicazione mobile deve permettere all'utente autenticato di scollegarsi da un'organizzazione pubblica. \newline L'utente deve: \begin{itemize} \item visualizzare la pagina dell'organizzazione pubblica alla quale è ora collegato. @@ -235,7 +235,7 @@ \subsection{Test di Sistema}% \item visualizzare la lista delle organizzazioni alla quale può collegarsi. \end{itemize} & NS \\ - TS022F1 & L'applicazione mobile non è collegata alla rete, quindi il server non riceve alcuna richiesta di scollegamento da un'organizzazione a cui è collegato l'utente autenticato. \newline + TS022F1 & L'applicazione mobile non riceve alcuna richiesta di scollegamento da un'organizzazione a cui è collegato l'utente autenticato, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item avviare la procedura di scollegamento. @@ -253,7 +253,7 @@ \subsection{Test di Sistema}% \item accertarsi che sia noto al sistema. \end{itemize} & NS \\ - TS024F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato, che è collegato ad un'organizzazione privata, di passare da noto ad incognito e viceversa. \newline + TS024F1 & L'applicazione mobile non permette all'utente autenticato, che è collegato ad un'organizzazione privata, di passare da noto ad incognito e viceversa, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item visualizzare la pagina dell'organizzazione privata alla quale è ora collegato. @@ -268,7 +268,7 @@ \subsection{Test di Sistema}% \item visualizzare il proprio storico degli accessi. \end{itemize} & NS \\ - TS026F2 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di visualizzare il proprio storico degli accessi. \newline + TS026F2 & L'applicazione mobile non permette all'utente autenticato di visualizzare il proprio storico degli accessi, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item visualizzare un messaggio d'errore. @@ -280,7 +280,7 @@ \subsection{Test di Sistema}% \item visualizzare il proprio tempo trascorso all'interno di un'organizzazione. \end{itemize} & NS \\ - TS028F2 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di visualizzare il tempo trascorso all'interno di un'organizzazione. \newline + TS028F2 & L'applicazione mobile non permette all'utente autenticato di visualizzare il tempo trascorso all'interno di un'organizzazione, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item visualizzare un messaggio d'errore. @@ -293,7 +293,7 @@ \subsection{Test di Sistema}% \item confermare la procedura. \end{itemize} & NS \\ - TS030F1 & L'applicazione mobile non è collegata alla rete, quindi permette all'utente autenticato di disconnettersi dall'applicazione. \newline + TS030F1 & L'applicazione mobile non permette all'utente autenticato di disconnettersi dall'applicazione, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item avviare la procedura di disconnessione. @@ -308,7 +308,7 @@ \subsection{Test di Sistema}% \item confermare la procedura. \end{itemize} & NS \\ - TS032F1 & L'applicazione mobile non è collegata alla rete, quindi non permette all'utente autenticato di eliminare il suo account. \newline + TS032F1 & L'applicazione mobile non permette all'utente autenticato di eliminare il suo account, in quanto non c'è collegamento alla rete. \newline L'utente deve: \begin{itemize} \item avviare la procedura di eliminazione. @@ -391,7 +391,7 @@ \subsection{Test di Sistema}% \item verificare che sia stato aggiunto un nuovo luogo nell'organizzazione di riferimento con successo. \end{itemize} & NS \\ - TS041F1 & La web application deve permettere all'owner ed al gestore di modificare un luogo in un'organizzazione. \newline + TS041F1 & La web application deve permettere all'owner ed al gestore di modificare un luogo di un'organizzazione. \newline L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di modifica di un luogo. @@ -401,27 +401,27 @@ \subsection{Test di Sistema}% \item verificare che le modifiche siano avvenute con successo. \end{itemize} & NS \\ - TS042F1 & La web application deve permettere all'owner ed al gestore di eliminare un luogo in un'organizzazione. \newline + TS042F1 & La web application deve permettere all'owner ed al gestore di eliminare un luogo di un'organizzazione. \newline L'owner ed il gestore devono: \begin{itemize} \item avviare la procedura di eliminazione di un luogo. - \item eliminare un luogo. + \item eliminare il luogo. \item confermare la procedura di eliminazione del luogo. \item verificare che l'eliminazione del luogo sia avvenuta con successo. \end{itemize} & NS \\ - TS043F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in una specifica organizzazione. \newline + TS043F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di utenti in una specifica organizzazione. \newline L'owner, il gestore e il visualizzatore devono: \begin{itemize} \item avviare la procedura di monitoraggio. - \item visualizzare il numero di dipendenti presenti all'interno di una specifica organizzazione. + \item visualizzare il numero di utenti presenti all'interno di una specifica organizzazione. \end{itemize} & NS \\ - TS044F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di dipendenti in un specifico luogo di una specifica organizzazione. \newline + TS044F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di monitorare il numero di utenti in un specifico luogo di una specifica organizzazione. \newline L'owner, il gestore e il visualizzatore devono: \begin{itemize} \item avviare la procedura di monitoraggio. - \item visualizzare il numero di dipendenti presenti all'interno di uno specifico luogo di una specifica organizzazione. + \item visualizzare il numero di utenti presenti all'interno di uno specifico luogo di una specifica organizzazione. \end{itemize} & NS \\ TS045F2 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare un report sotto forma tabellare di una specifica organizzazione. \newline @@ -431,12 +431,12 @@ \subsection{Test di Sistema}% \item visualizzare gli accessi, le ore trascorse all'interno dei luoghi e quali luoghi sono più frequentati all'interno di un'organizzazione. \end{itemize} & NS \\ - TS046F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare le informazioni riguardo uno specifico dipendente. \newline + TS046F1 & La web application deve permettere all'owner, al gestore ed al visualizzatore di visualizzare le informazioni riguardo uno specifico utente. \newline L'owner, il gestore e il visualizzatore devono: \begin{itemize} - \item avviare la procedura di monitoraggio del dipendente. - \item visualizzare l'organizzazione in cui si trova il dipendente. - \item visualizzare il luogo in cui si trova il dipendente. + \item avviare la procedura di monitoraggio dell'utente. + \item visualizzare l'organizzazione in cui si trova l'utente. + \item visualizzare il luogo in cui si trova l'utente. \end{itemize} & NS \\ TS047F1 & La web application deve permettere all'utente autenticato di diventare owner e ottenere la possibilità di creare una sua organizzazione. \newline @@ -508,49 +508,49 @@ \subsection{Test di Sistema}% % - Vincoli di sistema - TS001P1 & Il sistema deve garantire un rintracciamento con una precisione sufficiente a certificare la presenza della persona all’interno degli edifici. \newline + TS001P1 & Il sistema deve garantire un tracciamento con una precisione sufficiente a certificare la presenza della persona all’interno degli edifici. \newline & NS \\ - TS001V1 & Il sistema deve garantire che le comunicazioni tra applicazione e server devono avvenire solo al momento d’ingresso ed uscita dai luoghi designati. \newline + TS001V1 & Il sistema deve garantire che le comunicazioni tra applicazione e server avvengano solo al momento d’ingresso ed uscita dai luoghi designati. \newline & NS \\ - TS002V2 & Il sistema vorrebbe che vengano utilizzati protocolli asincroni per le comunicazioni tra app e server. \newline + TS002V2 & Il proponente richiede che vengano utilizzati protocolli asincroni per le comunicazioni tra app e server. \newline & NS \\ - TS003V2 & Il sistema vorrebbe l’utilizzo del design pattern Publisher/Subscriber. \newline + TS003V2 & Il proponente richiede l’utilizzo del design pattern Publisher/Subscriber. \newline & NS \\ - TS004V2 & Il sistema vorrebbe che venga utilizzato un IAAS come Kubernetes o un PAAS come Openshift o Rancher per il rilascio delle componenti del server e per la gestione della scalabilità orizzontale. \newline + TS004V2 & Il proponente richiede che venga utilizzato un IAAS come Kubernetes o un PAAS come Openshift o Rancher per il rilascio delle componenti del server e per la gestione della scalabilità orizzontale. \newline & NS \\ - TS005V1 & Si necessita che il server esponga delle API REST attraverso cui utilizzare l’applicativo o, alternativamente, è possibile utilizzare il framework RPC\@. \newline + TS005V1 & Il server espone delle API REST attraverso cui utilizzare l’applicativo, o in alternativa alle API REST, utilizza il framework RPC\@. \newline & NS \\ - TS006V1 & È necessario che l’applicazione utilizzi tecnologie GPS\@. \newline + TS006V1 & L’applicazione utilizza tecnologie GPS\@. \newline & NS \\ - TS007V1 & È necessario che l’applicazione sia in grado di bilanciare il consumo della batteria e la necessità di aggiornare la posizione in background. \newline + TS007V1 & L’applicazione è in grado di bilanciare il consumo della batteria e la necessità di aggiornare la posizione in background. \newline & NS \\ - TS001Q1 & È necessario che tutte le componenti applicative siano correlate dei test unitari e d’integrazione. \newline + TS001Q1 & Tutte le componenti applicative sono correlate dai test unitari e d’integrazione. \newline & NS \\ - TS002Q1 & È necessario testare interamente il sistema tramite test end-to-end. \newline + TS002Q1 & Viene testato interamente il sistema tramite test end-to-end. \newline & NS \\ - TS003Q1 & È necessario effettuare test di carico che dimostrino il corretto funzionamento in ogni situazione: normale, di carico e di sovraccarico. \newline + TS003Q1 & Vengono effettuati test di carico che dimostrino il corretto funzionamento in ogni situazione: normale, di carico e di sovraccarico. \newline & NS \\ - TS004Q1 & È necessario fornire una copertura dei test almeno dell’80\%, correlata di report. \newline + TS004Q1 & Viene fornita una copertura dei test almeno dell’80\%, correlata di report. \newline & NS \\ - TS005Q2 & È desiderabile che tutte le comunicazioni tra app e server siano cifrate. \newline + TS005Q2 & Tutte le comunicazioni tra app e server sono cifrate. \newline & NS \\ - TS006Q2 & È desiderabile che venga fornita un’analisi rispetto al carico massimo in numero di utenti e di quale sarebbe il servizio cloud più adatto per supportarlo, analizzando prezzo, stabilità del servizio ed assistenza. \newline + TS006Q2 & Viene fornita un’analisi rispetto al carico massimo in numero di utenti e di quale sarebbe il servizio cloud più adatto per supportarlo, analizzando prezzo, stabilità del servizio ed assistenza. \newline & NS \\ - TS007Q1 & È necessario garantire la privacy degli utenti e rispettare la normativa GDPR\@. \newline + TS007Q1 & Viene garantita la privacy degli utenti e rispettare la normativa GDPR\@. \newline & NS \\ \caption{Tabella dei test di sistema}% @@ -561,12 +561,12 @@ \subsection{Test di Sistema}% \subsection{Test di Integrazione}% \label{subs:test_di_integrazione} -I test di sistema verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: +I test di integrazione verificano la corretta interazione e collaborazione tra un insieme di unità. I test verranno identificati nel seguente modo: \begin{center} TI[codice] \end{center} -Dove \textit{codice} rappresenta un numero identificativo per il Test di Integrazione. +Dove \textit{codice} rappresenta un numero progressivo che identifica il test di integrazione. \begin{centering} \rowcolors{2}{lightgray}{white!80!lightgray!100} @@ -596,7 +596,7 @@ \subsection{Test di Integrazione}% \subsection{Test di Unità}% \label{subs:test_di_unita} -I test di sistema verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: +I test di unità verificano la correttezza e il funzionamento di una singola unità del software. I test verranno identificati nel seguente modo: \begin{center} TU[codice] \end{center} From e99936cd1d25a7c400ce6054354ef5d3062b8aa1 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sun, 12 Apr 2020 10:11:37 +0200 Subject: [PATCH 37/44] docs(PdQ): termina correzione errori in report di verifica --- .../components/qualita-di-prodotto.tex | 4 ++-- .../piano-di-qualifica/components/report-verifica.tex | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index f55ee0f3..2071cc78 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -35,8 +35,8 @@ \subsubsection{Metriche}% \begin{description} \item [[MPR-ROS \textasciitilde] Percentuale di requisiti soddisfatti]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.1. \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} -\item [[MPR-CCE \textasciitilde] Complessità ciclomatica]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.4. - \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} +% \item [[MPR-CCE \textasciitilde] Complessità ciclomatica]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.4. +% \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} \end{description} % TODO - copiare descrizioni sotto nelle NDP diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index 17757575..609b2947 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -5,7 +5,7 @@ \subsection{Analisi statica dei documenti}% \label{sub:analisi_statica_doc} Per l'analisi statica dei documenti GruppOne ha utilizzato il package \glossario{chktex} che ha consentito di trovare errori nella sintassi latex. - Il test, eseguito ad ogni modifica repository, ha dato esito positivo per ogni documento segnalando complessivamente 0 errori. + Il test, eseguito automaticamente, impedisce l'approvazione definitiva se vengono segnalati errori. \begin{figure}[H] \centering @@ -23,7 +23,7 @@ % sub:analisi_statica_doc (end) \subsection{Esito verifica leggibilità}% \label{sub:verifica_leggibilita} - Allo scopo di assicurarci una leggibilità accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento. Qui sotto riportiamo i risultati della versione consegnata in RR e successive relativamente agli obiettivi di qualità che erano stati definiti. + Allo scopo di assicurarci una leggibilità accettabile dei documenti abbiamo monitorato l'indice \glossario{Gulpease} di ogni documento. Qui sotto riportiamo i risultati associati alle versioni consegnate in occasione delle revisioni di avanzamento relativamente agli obiettivi di qualità che erano stati definiti. \rowcolors{2}{lightgray}{white!80!lightgray!100} \begin{longtable}[H]{>{\centering\bfseries}m{6cm} >{\centering\arraybackslash}m{2cm} >{\centering\arraybackslash}m{2cm}>{\centering\arraybackslash}m{2cm} >{\centering\arraybackslash}m{4cm}} \rowcolor{darkgray!90!} @@ -34,8 +34,8 @@ Studio di Fattibilità & 65 & -&Sufficiente\\ Analisi dei requisiti & 100 & 100&Sufficiente\\ Glossario & 74 & 83& Sufficiente\\ - Verbale esterno (media) & 77 & 74&Sufficiente \\ - Verbale interno (media) & 80 & 77&Sufficiente\\ + Verbali esterni (media) & 77 & 74&Sufficiente \\ + Verbali interni (media) & 80 & 77&Sufficiente\\ \end{longtable} \begin{figure}[H] \centering @@ -70,7 +70,7 @@ \subsection{Discostamenti orari ed economici}% \subsection{Metriche con valore ottimale}% \label{sub:metriche_ottimali} -Infine per avere una visione complessiva dell'andamento della qualità nei controlli alla fine di ogni fase controlliamo quante metriche raggiungono valori definiti come ottimali. +Infine, alla fine di ogni fase misuriamo quante metriche raggiungono valori definiti come ottimali per avere una visione complessiva dell'andamento della qualità nei controlli. \begin{figure}[H] \centering \includegraphics[width=160mm]{percentualemetricheottimali.png}% From 6d013efaf0ffe91c76b165cbfcfb42925e2e465b Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sun, 12 Apr 2020 17:07:28 +0200 Subject: [PATCH 38/44] docs(PdQ): correggi errori verificatore e aggiungi tabella delle metriche --- .../components/qualita-di-processo.tex | 4 ++-- .../components/qualita-di-prodotto.tex | 18 +++++++++--------- .../components/tabella-metriche.tex | 15 +++++++++++++++ .../components/valutazioni-miglioramento.tex | 6 +++--- .../piano-di-qualifica/piano-di-qualifica.tex | 6 ++++++ 5 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 esterni/piano-di-qualifica/components/tabella-metriche.tex diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index 13809f28..332ce9de 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -67,7 +67,7 @@ \subsection{Qualità di accertamento della qualità}% \label{subsec:qualita_accertamento_qualita} \subsubsection{Metriche}% -\label{par:metriche_aq} +\label{subsec:metriche_aq} \begin{description} \item [[MPS-PME \textasciitilde] Percentuale di metriche eccellenti]: definito nelle \textit{Norme di progetto} alla sezione 3.4.5.1. @@ -78,7 +78,7 @@ \subsection{Qualità di gestione di processo}% \label{subsec:qualita_processo} \subsubsection{Metriche}% -\label{par:metriche_pr} +\label{subsec:metriche_pr} \begin{description} \item [[MPS-DE \textasciitilde] Discostamento economico]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.1. diff --git a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex index 2071cc78..a8067383 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-prodotto.tex @@ -12,10 +12,10 @@ \subsection{Qualità di documentazione} \item Leggibile \item Corretta \item Coerente - \item Modulare + \item Modulare. \end{itemize} \subsubsection{Metriche}% -\label{par:metriche_doc} +\label{subsec:metriche_doc} \begin{description} \item [[MPR-IDG \textasciitilde] Indice di Gulpease]: definito nelle \textit{Norme di progetto} alla sezione 3.2.7.1. @@ -28,16 +28,16 @@ \subsubsection{Metriche}% -\subsection{Qualità di prodotto software} +% \subsection{Qualità di prodotto software} -\subsubsection{Metriche}% -\label{subs:metriche_funzionale} -\begin{description} -\item [[MPR-ROS \textasciitilde] Percentuale di requisiti soddisfatti]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.1. -\begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} +% \subsubsection{Metriche}% +% \label{subs:metriche_funzionale} +% \begin{description} +% \item [[MPR-ROS \textasciitilde] Percentuale di requisiti soddisfatti]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.1. +% \begin{itemize} \item Valore ammissibile: 100\% \item Valore ottimale: 100\% \end{itemize} % \item [[MPR-CCE \textasciitilde] Complessità ciclomatica]: definito nelle \textit{Norme di progetto} alla sezione 2.3.4.4. % \begin{itemize} \item Valore ammissibile: \leq{} 7 \item Valore ottimale: \leq{} 3 \end{itemize} -\end{description} +% \end{description} % TODO - copiare descrizioni sotto nelle NDP diff --git a/esterni/piano-di-qualifica/components/tabella-metriche.tex b/esterni/piano-di-qualifica/components/tabella-metriche.tex new file mode 100644 index 00000000..b03e8051 --- /dev/null +++ b/esterni/piano-di-qualifica/components/tabella-metriche.tex @@ -0,0 +1,15 @@ +\documentclass[../piano-di-qualifica.tex]{subfiles} +\appendToGraphicspath{../../../commons/img/} + +\begin{document} +\rowcolors{2}{lightgray}{white!80!lightgray!100} +\begin{longtable}[H]{>{\centering\bfseries}m{4cm} >{\centering\arraybackslash}m{6cm} >{\centering\arraybackslash}m{6cm}} + \rowcolor{darkgray!90!} + \color{white}{\textbf{Metrica}} & \color{white}{\textbf{Obiettivi}} & \color{white}{\textbf{Definizione in Norme di Progetto}} \\ + MPR-IDG & §~\ref{subsec:metriche_doc} & §~3.2.7.1\\ + MPR-CO & §~\ref{subsec:metriche_doc} & §~3.2.7.3\\ + MPS-PME & §~\ref{subsec:metriche_aq} & §~3.4.5.1\\ + MPS-DE & §~\ref{subsec:metriche_pr} & §~4.3.4.1\\ + MPR-DO & §~\ref{subsec:metriche_pr} & §~4.3.4.2\\ + \end{longtable} +\end{document} diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index 51e66e07..d0395800 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -7,7 +7,7 @@ I problemi sorti vengono sollevati dai membri stessi, in quanto non vi è una persona esterna che possa dare una valutazione oggettiva. - Questa sezione è destinata ad aggiornarsi con l'avanzamento del lavoro, e arricchirsi in modo + Questa sezione è destinata ad aggiornarsi con l'avanzamento del lavoro e ad arricchirsi in modo da migliorare progressivamente la qualità del lavoro. \subsection{Valutazioni sull'organizzazione} @@ -17,7 +17,7 @@ \rowcolor{darkgray!90!} \color{white}{\textbf{Dominio}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ Incontri di gruppo & Durante il periodo di progettazione il gruppo non ha potuto incontrarsi di persona a causa dell'epidemia di COVID-19. & Grazie a strumenti di videoconferenza e videochiamata abbiamo potuto continuare le nostre attività. I nostri incontri verranno eseguiti sempre in modalità telematica fino al termine del progetto didattico o delle misure ristrettive.\\ - Technology baseline & A causa di una mancata solida preparazione alla presentazione del Proof of Concept il gruppo si è dilungato in discorsi non richiesti, sforando il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi cercando di aumentare il tempo di preparazione alle varie presentazioni. \\ + Technology baseline & A causa di una mancata solida preparazione alla presentazione del Proof of Concept il gruppo si è dilungato in discorsi non richiesti, sforando il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi aumentando il tempo e la cura dedicati alla preparazione delle varie presentazioni. \\ \end{longtable} @@ -46,7 +46,7 @@ GitHub & Il primo problema che sorge spontaneo a tutti i membri del gruppo è come condividere globalmente il codice che viene sviluppato all'interno del gruppo. & La scelta ricade su GitHub, in quanto è uno dei servizi di hosting per progetti software più utilizzati soprattutto nell'ambito di progetti open-source, ed è un implementazione del \glossario{VCS} Git, garantendo la piena compatibilità tra versione locale e versione remota del codice. \\ Latex & Molti membri del gruppo, non avendo mai utilizzato questo linguaggio, hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare alcune ore di autoapprendimento, data la rilevante importanza della documentazione ai fini del progetto. \\ PlantUML & Gli analisti hanno dovuto imbattersi in questo strumento, che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Però lo strumento ha comportato diversi problemi di compatibilità, che sono stati risolti consumando molte ore. & Dopo questo avvenimento il gruppo ha deciso di valutare la complessità di implementazione degli strumenti prima della decisione del suo utilizzo. \\ - Visual Studio Code & I membri del gruppo hanno voluto analizzare un ambiente di sviluppo in grado di supportare la maggior parte delle attività del gruppo. & La scelta è ricaduta su Visual Studio Code, in quanto ha una distribuzione eterogenea su tutti i sistemi operativi, e risulta uno strumento polivalente, in grado di gestire molteplici estensioni per qualsiasi evenienza, rendendo il suo utilizzo efficiente de efficace. \\ + Visual Studio Code & I membri del gruppo hanno cercato un ambiente di sviluppo in grado di supportare la maggior parte delle attività del gruppo. & La scelta è ricaduta su Visual Studio Code, in quanto ha una distribuzione eterogenea su tutti i sistemi operativi, e risulta uno strumento polivalente, in grado di gestire molteplici estensioni per qualsiasi evenienza, rendendo il suo utilizzo efficiente de efficace. \\ Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, il quale sviluppo è rivolto a Visual Studio Code ed IntelliJ IDEA\@. \\ IntelliJ IDEA & Visual Studio Code è un ottimo ambiente di sviluppo, ma sorge la necessità di sviluppare il frontend dell'applicazione mobile con un ambiente di sviluppo integrato per la piattaforma Android. & Vengono prese al vaglio due alternative: Android Studio oppure IntelliJ IDEA\@. Sebbene sia l'editor de facto per lo sviluppo di applicazioni Android, l'ambiente di sviluppo Android Studio è stato scartato a causa delle richieste minime troppo onerose, a vantaggio di IntelliJ IDEA che è più leggero e quindi utilizzabile da qualsiasi membro del gruppo. \\ \end{longtable} diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index 6bc2fc89..a7483c63 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -87,6 +87,12 @@ \section{Report sull'attività di Verifica}% \subfile{components/report-verifica} +\newpage +\section{Tabella delle metriche}% +\label{sec:tabella_metriche} + +\subfile{components/tabella-metriche} + % TODO aggiungere sezione su report? \end{document} From ce039658dc9917ddd32b7b3ac34ce7f094597f9e Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sun, 12 Apr 2020 17:14:51 +0200 Subject: [PATCH 39/44] docs(PdQ): incrementa numero di versione e aggiorna registro delle modifiche --- commons/template.tex | 2 +- esterni/piano-di-qualifica/piano-di-qualifica.tex | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/commons/template.tex b/commons/template.tex index d22f2853..cd146b20 100644 --- a/commons/template.tex +++ b/commons/template.tex @@ -1,4 +1,4 @@ -\setVersione{0.2.3} +\setVersione{0.2.4} \thispagestyle{empty} \pagenumbering{gobble} diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index a7483c63..a4ce0add 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -28,7 +28,7 @@ \cellcolor{white!80!lightgray!100} & Alberto Gobbo & 2020--04--09 & correggi e inserisci nuovi test di sistema in §~\ref{sub:test_di_sistema}\\% \cellcolor{white!80!lightgray!100} & Riccardo Cestaro & 2020--03--28 & riorganizza le sezioni §~\ref{sec:qualita_di_processo} e §~\ref{sec:qualita_di_prodotto}\\% \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--03--01 & correggi riferimenti a standard in §~\ref{sec:introduzione}\\% -\multirow{-4}{*}{\placeholder{versione}} \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--02--29 & inserisci sezione sul report dell'attività di verifica, §~\ref{sec:report_verifica} \\% +\multirow{-9}{*}{0.2.4} \cellcolor{white!80!lightgray!100} & Alessandro Rizzo & 2020--02--29 & inserisci sezione sul report dell'attività di verifica, §~\ref{sec:report_verifica} \\% \cellcolor{lightgray} & Alessandro Rizzo & 2020--01--13 & approva documento \\% \cellcolor{lightgray} & Riccardo Agatea, Alberto Gobbo & 2020--01--13 & verifica documento completo \\% \cellcolor{lightgray} & Tobia Apolloni & 2020--01--09 & aggiungi sigle alle metriche per la qualità di prodotto in §~\ref{sec:qualita_di_prodotto}\\% From de13a3ee02d10b675c116f4ddb75c28a46319a03 Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sun, 12 Apr 2020 17:22:59 +0200 Subject: [PATCH 40/44] docs(PdQ): cambia relatori pdq --- esterni/piano-di-qualifica/piano-di-qualifica.tex | 1 - 1 file changed, 1 deletion(-) diff --git a/esterni/piano-di-qualifica/piano-di-qualifica.tex b/esterni/piano-di-qualifica/piano-di-qualifica.tex index a4ce0add..500470c8 100644 --- a/esterni/piano-di-qualifica/piano-di-qualifica.tex +++ b/esterni/piano-di-qualifica/piano-di-qualifica.tex @@ -9,7 +9,6 @@ \setRedattori{ Tobia Apolloni \\ & Riccardo Cestaro \\ & - Luca Ercole \\ & Alessandro Rizzo \\ & Alberto Cocco } From 8d75464271da81ab10297cd116c77fab6a12e1cd Mon Sep 17 00:00:00 2001 From: Alessandro Rizzo Date: Sun, 12 Apr 2020 19:00:22 +0200 Subject: [PATCH 41/44] docs(PdQ): correggi ultime segnalazioni verificatore --- esterni/piano-di-qualifica/components/qualita-di-processo.tex | 2 +- .../components/valutazioni-miglioramento.tex | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/esterni/piano-di-qualifica/components/qualita-di-processo.tex b/esterni/piano-di-qualifica/components/qualita-di-processo.tex index 332ce9de..e286a0f9 100644 --- a/esterni/piano-di-qualifica/components/qualita-di-processo.tex +++ b/esterni/piano-di-qualifica/components/qualita-di-processo.tex @@ -83,7 +83,7 @@ \subsubsection{Metriche}% \begin{description} \item [[MPS-DE \textasciitilde] Discostamento economico]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.1. \begin{itemize} \item Risultato: misura quanto i costi effettivamente sostenuti nell’esecuzione del - processo si discostano dai costi previsti. \item Valore ammissibile: 5\% \item Valore ottimale: 0\% \end{itemize} + processo si discostano dai costi previsti. \item Valore ammissibile: -5\% o 5\% \item Valore ottimale: 0\% \end{itemize} \item [[MPS-DO \textasciitilde] Discostamento orario]: definito nelle \textit{Norme di progetto} alla sezione 4.3.4.2. \begin{itemize} \item Risultato: misura quanto il totale orario effettivamente lavorato durante l’esecuzione diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index d0395800..eba4328f 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -45,10 +45,10 @@ \color{white}{\textbf{Strumento}} & \color{white}{\textbf{Descrizione}} & \color{white}{\textbf{Soluzione}} \\ GitHub & Il primo problema che sorge spontaneo a tutti i membri del gruppo è come condividere globalmente il codice che viene sviluppato all'interno del gruppo. & La scelta ricade su GitHub, in quanto è uno dei servizi di hosting per progetti software più utilizzati soprattutto nell'ambito di progetti open-source, ed è un implementazione del \glossario{VCS} Git, garantendo la piena compatibilità tra versione locale e versione remota del codice. \\ Latex & Molti membri del gruppo, non avendo mai utilizzato questo linguaggio, hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare alcune ore di autoapprendimento, data la rilevante importanza della documentazione ai fini del progetto. \\ - PlantUML & Gli analisti hanno dovuto imbattersi in questo strumento, che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Però lo strumento ha comportato diversi problemi di compatibilità, che sono stati risolti consumando molte ore. & Dopo questo avvenimento il gruppo ha deciso di valutare la complessità di implementazione degli strumenti prima della decisione del suo utilizzo. \\ + PlantUML & Gli analisti hanno scelto di utilizzare questo strumento che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Tuttavia lo strumento ha comportato diversi problemi di compatibilità, che abbiamo risolto impiegando diverse ore. & Il gruppo ha quindi deciso di valutare la complessità di implementazione degli strumenti prima di confermare il loro utilizzo. \\ Visual Studio Code & I membri del gruppo hanno cercato un ambiente di sviluppo in grado di supportare la maggior parte delle attività del gruppo. & La scelta è ricaduta su Visual Studio Code, in quanto ha una distribuzione eterogenea su tutti i sistemi operativi, e risulta uno strumento polivalente, in grado di gestire molteplici estensioni per qualsiasi evenienza, rendendo il suo utilizzo efficiente de efficace. \\ Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, il quale sviluppo è rivolto a Visual Studio Code ed IntelliJ IDEA\@. \\ - IntelliJ IDEA & Visual Studio Code è un ottimo ambiente di sviluppo, ma sorge la necessità di sviluppare il frontend dell'applicazione mobile con un ambiente di sviluppo integrato per la piattaforma Android. & Vengono prese al vaglio due alternative: Android Studio oppure IntelliJ IDEA\@. Sebbene sia l'editor de facto per lo sviluppo di applicazioni Android, l'ambiente di sviluppo Android Studio è stato scartato a causa delle richieste minime troppo onerose, a vantaggio di IntelliJ IDEA che è più leggero e quindi utilizzabile da qualsiasi membro del gruppo. \\ + IntelliJ IDEA & Visual Studio Code si è rivelato essere un ottimo ambiente di sviluppo, ma è sorta la necessità di sviluppare il frontend dell'applicazione mobile con un ambiente di sviluppo integrato per la piattaforma Android. & Vengono prese al vaglio due alternative: Android Studio oppure IntelliJ IDEA\@. Sebbene sia l'editor de facto per lo sviluppo di applicazioni Android, l'ambiente di sviluppo Android Studio è stato scartato a causa delle richieste minime troppo onerose, a vantaggio di IntelliJ IDEA che è più leggero e quindi utilizzabile da qualsiasi membro del gruppo. \\ \end{longtable} From 055f0b1330d883c56365306f3a8ab91662a1bab3 Mon Sep 17 00:00:00 2001 From: Luca Ercole <30255227+erclu@users.noreply.github.com> Date: Sun, 12 Apr 2020 19:28:11 +0200 Subject: [PATCH 42/44] fix: sistema alcune tabelle --- .../components/analisi-dei-rischi.tex | 5 +++-- .../components/attualizzazione-dei-rischi.tex | 16 +++++++--------- .../components/consuntivo-di-periodo.tex | 8 ++++---- .../components/report-verifica.tex | 7 ++++--- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/esterni/piano-di-progetto/components/analisi-dei-rischi.tex b/esterni/piano-di-progetto/components/analisi-dei-rischi.tex index 9dbd148d..b3bd98c4 100644 --- a/esterni/piano-di-progetto/components/analisi-dei-rischi.tex +++ b/esterni/piano-di-progetto/components/analisi-dei-rischi.tex @@ -35,8 +35,6 @@ \subsection{Elenco dei rischi}% \rowcolors{2}{lightgray}{white!80!lightgray!100} \renewcommand{\arraystretch}{2} % allarga le righe con dello spazio sotto e sopra \begin{longtable}[H]{|p{10em}|p{13em}|p{13em}|p{10em}|} - \caption{Elenco dei rischi}% - \label{tab:elenco_dei_rischi} \\ \rowcolor{darkgray!90!} \color{white}{\textbf{Rischio}} & \color{white}{\textbf{Descrizione}} & \color{white}{\textbf{Pianificazione}} & \color{white}{\textbf{Indicatori}} \\ \endfirsthead% @@ -111,6 +109,9 @@ \subsection{Elenco dei rischi}% Monitoraggio:& \multicolumn{3}{p{38.5em}|}{Periodicamente, il gruppo svolgerà incontri (possibilmente di persona, altrimenti in modalità telematica) atti a valutare l'andamento del progetto.}\\ \hline % chktex 44 + \rowcolor{white} + \caption{Elenco dei rischi}% + \label{tab:elenco_dei_rischi} \end{longtable} % sub:elenco_dei_rischi diff --git a/esterni/piano-di-progetto/components/attualizzazione-dei-rischi.tex b/esterni/piano-di-progetto/components/attualizzazione-dei-rischi.tex index c504a753..5c561b89 100644 --- a/esterni/piano-di-progetto/components/attualizzazione-dei-rischi.tex +++ b/esterni/piano-di-progetto/components/attualizzazione-dei-rischi.tex @@ -7,11 +7,7 @@ \subsection{Attualizzazione per la fase di analisi preliminare}% \label{sub:attualizzazione_fase_analisi_preliminare} % Nella tabella sottostante riportiamo i rischi incontrati nella fase di analisi, le modalità utilizzate per affrontarli e come proponiamo di gestire i suddetti rischi in futuro: % \renewcommand{\arraystretch}{2} -% \begin{longtable}[H]{m{10em} m{17em} m{17em}} \begin{longtable}[H]{|p{10em}|p{17em}|p{17em}|} - \caption{Attualizzazione dei rischi per la fase di analisi preliminare}% - \label{tab:attualizzazione_fase_analisi_preliminare} \\ - \rowcolor{darkgray!90!} \multicolumn{1}{c}{\color{white}{\textbf{Rischio}}} & \multicolumn{1}{c}{\color{white}{\textbf{Gestione}}} & \multicolumn{1}{c}{\color{white}{\textbf{Monitoraggio}}} \\ \textbf{RTEC001} & Abbiamo incontrato problemi nell'utilizzo della strumentazione per gestire i documenti, questi problemi sono stati risolti grazie ad alcuni membri del gruppo che hanno trasmesso le loro conoscenze agli altri membri. & In futuro metteremo in cima alle priorità l'apprendimento delle nuove tecnologie delegandolo ad alcuni componenti che poi istruiranno gli altri sul funzionamento delle suddette tecnologie. \\ @@ -35,13 +31,14 @@ \subsection{Attualizzazione per la fase di progettazione architetturale}% \label{sub:attualizzazione_per_la_fase_di_progettazione_architetturale} \begin{longtable}[H]{|p{10em}|p{17em}|p{17em}|} - \caption{Attualizzazione dei rischi per la fase di progettazione architetturale}% - \label{tab:attualizzazione_per_la_fase_di_progettazione_architetturale} \\ \rowcolor{darkgray!90!} \color{white}{\textbf{Rischio}} & \color{white}{\textbf{Gestione}} & \color{white}{\textbf{Monitoraggio}} \\ - \textbf{RPER001} & La sovrapposizione della fase corrente con la sessione invernale di esame ha distratto l'attenzione di gran parte del gruppo fino alla conclusione degli esami, causando un ritardo di circa tre settimane. & In futuro questa evenienza non dovrebbe ripresentarsi, in quanto le successive sessioni d'esame iniziano dopo la data di consegna prevista per il progetto. Inoltre, durante il secondo semestre non sono previsti insegnamenti obbligatori, quindi solo alcuni membri devono seguire alpiù un esame opzionale. Manteniamo comunque in atto il monitoraggio descritto in §\ref{tab:elenco_dei_rischi}. \\ + \textbf{RPER001} & La sovrapposizione della fase corrente con la sessione invernale di esame ha distratto l'attenzione di gran parte del gruppo fino alla conclusione degli esami, causando un ritardo di circa tre settimane. & In futuro questa evenienza non dovrebbe ripresentarsi, in quanto le successive sessioni d'esame iniziano dopo la data di consegna prevista per il progetto. Inoltre, durante il secondo semestre non sono previsti insegnamenti obbligatori, quindi solo alcuni membri devono seguire al più un esame opzionale. Manteniamo comunque in atto il monitoraggio descritto in §\ref{tab:elenco_dei_rischi}. \\ \textbf{RPRG001} & Legato al precedente, di conseguenza al ritardo accumulato durante la sessione d'esame il gruppo ha deciso di posporre la data di consegna, saltando la revisione di avanzamento di marzo, e portando ad un ritardo di circa un mese sulla data di consegna del progetto. Per un'analisi dettagliata delle conseguenze di questo ritardo sulla pianificazione, ci si riferisca a §\ref{sec:pianificazione} e §\ref{sec:preventivo_a_finire} & In futuro seguiremo la pianificazione più attentamente. \\ \textbf{RPER004} & La diffusione della COVID-19, e le conseguenti misure di distanziamento sociale, hanno portato all'impossibilità di svolgere incontri di persona. Questo ha causato incomprensioni sulle priorità del gruppo, le quali hanno avuto un effetto negativo sulla produttività. & In futuro ci manterremo in contatto più stretto, accordandoci esplicitamente sul lavoro da svolgere. \\ + \rowcolor{white} + \caption{Attualizzazione dei rischi per la fase di progettazione architetturale}% + \label{tab:attualizzazione_per_la_fase_di_progettazione_architetturale} \end{longtable} % sub:attualizzazione_per_la_fase_di_progettazione_architetturale (end) @@ -49,11 +46,12 @@ \subsection{Attualizzazione per la fase di incremento 1}% \label{sub:attualizzazione_per_la_fase_di_incremento_1} \begin{longtable}[H]{|p{10em}|p{17em}|p{17em}|} - \caption{Attualizzazione dei rischi per la fase di progettazione architetturale}% - \label{tab:attualizzazione_per_la_fase_di_progettazione_architetturale} \\ \rowcolor{darkgray!90!} \color{white}{\textbf{Rischio}} & \color{white}{\textbf{Gestione}} & \color{white}{\textbf{Monitoraggio}} \\ \textbf{RTEC001} & Gli strumenti necessari ad implementare l'autenticazione degli utenti si sono dimostrati più complessi da utilizzare di quanto previsto, causando un ritardo rispetto la pianificazione & Per le tecnologie che utilizzeremo in futuro impegneremo più tempo nell'autoapprendimento. \\ + \rowcolor{white} + \caption{Attualizzazione dei rischi per la fase di incremento 1}% + \label{tab:attualizzazione_per_la_fase_di_incremento_1} \end{longtable} % sub:attualizzazione_per_la_fase_di_incremento_1 (end) diff --git a/esterni/piano-di-progetto/components/consuntivo-di-periodo.tex b/esterni/piano-di-progetto/components/consuntivo-di-periodo.tex index 2a820d89..c99669fa 100644 --- a/esterni/piano-di-progetto/components/consuntivo-di-periodo.tex +++ b/esterni/piano-di-progetto/components/consuntivo-di-periodo.tex @@ -62,8 +62,8 @@ \subsection{Fase di Progettazione architetturale}% Ve&42 (-10)&630,00€ (-150,00€)\\ \textbf{Totale}&208 (0)&3 924,00€ (+143,00€)\\ \end{tabular} - \caption{consuntivo di periodo per la Progettazione architetturale}% -~~\label{tab:consuntivo_di_periodo_progettazione_architetturale} + \caption{Consuntivo di periodo per la Progettazione architetturale}% + \label{tab:consuntivo_di_periodo_progettazione_architetturale} \end{table} \subsubsection{Modifica alla pianificazione}% \label{subs:modifica_alla_pianificazione} @@ -105,8 +105,8 @@ \subsection{Fase di Incremento 1}% Ve&12 (-1)&180,00€ (-15,00€)\\ \textbf{Totale}&72 (2)&1 220,00€ (+6,00€)\\ \end{tabular} - \caption{consuntivo di periodo per l'Incremento 1}% -~~\label{tab:consuntivo_di_periodo_incremento_1} + \caption{Consuntivo di periodo per l'Incremento 1}% + \label{tab:consuntivo_di_periodo_incremento_1} \end{table} Nonostante l'eccesso di ore di progettazione e programmazione, gli obiettivi dell'incremento non sono stati completamente raggiunti, principalmente a causa di una sottovalutazione della complessità delle tecnologie da utilizzare. diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index 609b2947..0843f342 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -36,6 +36,8 @@ Glossario & 74 & 83& Sufficiente\\ Verbali esterni (media) & 77 & 74&Sufficiente \\ Verbali interni (media) & 80 & 77&Sufficiente\\ + \caption{Attualizzazione dei rischi per la fase di incremento 1}% + \label{tab:attualizzazione_per_la_fase_di_incremento_1} \end{longtable} \begin{figure}[H] \centering @@ -53,9 +55,6 @@ \includegraphics[width=160mm]{gulpease-conf.png}% \end{figure} - % sub:verifica_leggibilita (end) -\end{document} - \newpage \subsection{Discostamenti orari ed economici}% @@ -76,3 +75,5 @@ \subsection{Metriche con valore ottimale}% \includegraphics[width=160mm]{percentualemetricheottimali.png}% \end{figure} % sub:metriche_ottimali (end) + +\end{document} From c749cc210cf0d6481457a00479d485b93a19745b Mon Sep 17 00:00:00 2001 From: Luca Ercole <30255227+erclu@users.noreply.github.com> Date: Sun, 12 Apr 2020 19:48:47 +0200 Subject: [PATCH 43/44] docs: aggiungi label mancanti sulle tabelle --- .../components/report-verifica.tex | 1 + .../piano-di-qualifica/components/specifica-test.tex | 2 ++ .../components/tabella-metriche.tex | 3 +++ .../components/valutazioni-miglioramento.tex | 12 ++++++++++-- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/esterni/piano-di-qualifica/components/report-verifica.tex b/esterni/piano-di-qualifica/components/report-verifica.tex index 0843f342..fcb4694a 100644 --- a/esterni/piano-di-qualifica/components/report-verifica.tex +++ b/esterni/piano-di-qualifica/components/report-verifica.tex @@ -36,6 +36,7 @@ Glossario & 74 & 83& Sufficiente\\ Verbali esterni (media) & 77 & 74&Sufficiente \\ Verbali interni (media) & 80 & 77&Sufficiente\\ + \rowcolor{white} \caption{Attualizzazione dei rischi per la fase di incremento 1}% \label{tab:attualizzazione_per_la_fase_di_incremento_1} \end{longtable} diff --git a/esterni/piano-di-qualifica/components/specifica-test.tex b/esterni/piano-di-qualifica/components/specifica-test.tex index 696e47b2..3c20c920 100644 --- a/esterni/piano-di-qualifica/components/specifica-test.tex +++ b/esterni/piano-di-qualifica/components/specifica-test.tex @@ -553,6 +553,7 @@ \subsection{Test di Sistema}% TS007Q1 & Viene garantita la privacy degli utenti e rispettare la normativa GDPR\@. \newline & NS \\ + \rowcolor{white} \caption{Tabella dei test di sistema}% \label{tab:test_sistema} \end{longtable} @@ -586,6 +587,7 @@ \subsection{Test di Integrazione}% TI2 & Il sistema deve garantire l'integrazione tra API e mobile application. \newline & NS \\ + \rowcolor{white} \caption{Tabella dei test di integrazione}% \label{tab:test_integrazione} \end{longtable} diff --git a/esterni/piano-di-qualifica/components/tabella-metriche.tex b/esterni/piano-di-qualifica/components/tabella-metriche.tex index b03e8051..f00cd75c 100644 --- a/esterni/piano-di-qualifica/components/tabella-metriche.tex +++ b/esterni/piano-di-qualifica/components/tabella-metriche.tex @@ -11,5 +11,8 @@ MPS-PME & §~\ref{subsec:metriche_aq} & §~3.4.5.1\\ MPS-DE & §~\ref{subsec:metriche_pr} & §~4.3.4.1\\ MPR-DO & §~\ref{subsec:metriche_pr} & §~4.3.4.2\\ + \rowcolor{white} + \caption{Tabella riassuntiva delle metriche}% + \label{tab:riassuntiva_metriche} \end{longtable} \end{document} diff --git a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex index eba4328f..90dd9080 100644 --- a/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex +++ b/esterni/piano-di-qualifica/components/valutazioni-miglioramento.tex @@ -18,6 +18,9 @@ \color{white}{\textbf{Dominio}} & \color{white}{\textbf{Problema}} & \color{white}{\textbf{Soluzione}} \\ Incontri di gruppo & Durante il periodo di progettazione il gruppo non ha potuto incontrarsi di persona a causa dell'epidemia di COVID-19. & Grazie a strumenti di videoconferenza e videochiamata abbiamo potuto continuare le nostre attività. I nostri incontri verranno eseguiti sempre in modalità telematica fino al termine del progetto didattico o delle misure ristrettive.\\ Technology baseline & A causa di una mancata solida preparazione alla presentazione del Proof of Concept il gruppo si è dilungato in discorsi non richiesti, sforando il tempo a disposizione. & Il gruppo ha deciso di evitare questi eventi aumentando il tempo e la cura dedicati alla preparazione delle varie presentazioni. \\ + \rowcolor{white} + \caption{Tabella delle valutazioni sull'organizzazione del lavoro}% + \label{tab:valutazioni_organizzazione} \end{longtable} @@ -34,6 +37,9 @@ Verificatore & La poca esperienza nel campo, ha portato ai verificatori uno studio molto consistente dei documenti su cui attuare le verifiche, provocando ritardi, oppure mancate correzioni, come quella sopra menzionata. & Il gruppo ha deciso di far prestare molta più attenzione ai verificatori, attuando una politica di ispezione attraverso una check-list. \\ Programmatore & Sono sorte molte difficoltà nell'utilizzo delle tecnologie per colpa dell'inesperienza nel loro uso. Allungando di molto il tempo di autoapprendimento, ha portato il gruppo a saltare la seconda revisione. & Il gruppo ha deciso di sfruttare meglio il tempo a disposizione cercando di massimizzare le ore produttive. \\ Amministratore & A causa della complessa continuous integration realizzata, i membri del gruppo si sono trovati in difficoltà causando rallentamenti e di conseguenza saltando la technology baseline. & Abbiamo deciso di limitare l'implementazione di nuovi strumenti di continuous integration, che provocano ritardi inaccettabili. \\ + \rowcolor{white} + \caption{Tabella delle valutazioni sui ruoli}% + \label{tab:valutazioni_ruoli} \end{longtable} \newpage @@ -47,10 +53,12 @@ Latex & Molti membri del gruppo, non avendo mai utilizzato questo linguaggio, hanno dovuto apprendere il suo utilizzo. & Il gruppo ha deciso di impegnare alcune ore di autoapprendimento, data la rilevante importanza della documentazione ai fini del progetto. \\ PlantUML & Gli analisti hanno scelto di utilizzare questo strumento che garantisce di implementare diagrammi UML versionabili all'interno dei documenti. Tuttavia lo strumento ha comportato diversi problemi di compatibilità, che abbiamo risolto impiegando diverse ore. & Il gruppo ha quindi deciso di valutare la complessità di implementazione degli strumenti prima di confermare il loro utilizzo. \\ Visual Studio Code & I membri del gruppo hanno cercato un ambiente di sviluppo in grado di supportare la maggior parte delle attività del gruppo. & La scelta è ricaduta su Visual Studio Code, in quanto ha una distribuzione eterogenea su tutti i sistemi operativi, e risulta uno strumento polivalente, in grado di gestire molteplici estensioni per qualsiasi evenienza, rendendo il suo utilizzo efficiente de efficace. \\ - Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, il quale sviluppo è rivolto a Visual Studio Code ed IntelliJ IDEA\@. \\ + Sublime Text & Per il processo di documentazione, pochi membri del gruppo hanno deciso di utilizzare Sublime Text per la sua semplicità e leggerezza in termini di spazio sul disco. & E' risultato che il problema non sussiste, in quanto se utilizzato solo per il processo di documentazione questo editor è pari ad altri editor. Non si può dire la stessa cosa se si parla di sviluppo backend e frontend, che risulta pressoché impossibile senza le funzionalità avanzate di Visual Studio Code ed IntelliJ IDEA\@. \\ IntelliJ IDEA & Visual Studio Code si è rivelato essere un ottimo ambiente di sviluppo, ma è sorta la necessità di sviluppare il frontend dell'applicazione mobile con un ambiente di sviluppo integrato per la piattaforma Android. & Vengono prese al vaglio due alternative: Android Studio oppure IntelliJ IDEA\@. Sebbene sia l'editor de facto per lo sviluppo di applicazioni Android, l'ambiente di sviluppo Android Studio è stato scartato a causa delle richieste minime troppo onerose, a vantaggio di IntelliJ IDEA che è più leggero e quindi utilizzabile da qualsiasi membro del gruppo. \\ + \rowcolor{white} + \caption{Tabella delle valutazioni sugli strumenti di lavoro}% + \label{tab:tabella_valutazioni_strumenti} \end{longtable} \end{document} - From 2b092ec7bf50fb0052b05b1d2fd96b70047eda2e Mon Sep 17 00:00:00 2001 From: Luca Ercole <30255227+erclu@users.noreply.github.com> Date: Sun, 12 Apr 2020 19:50:59 +0200 Subject: [PATCH 44/44] ci: rinomina i workflow --- .github/workflows/check-files.yml | 2 +- .github/workflows/{latex.yml => documentation.yml} | 2 +- .github/workflows/project-management.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename .github/workflows/{latex.yml => documentation.yml} (98%) diff --git a/.github/workflows/check-files.yml b/.github/workflows/check-files.yml index 0ff9a78e..ff9055d1 100644 --- a/.github/workflows/check-files.yml +++ b/.github/workflows/check-files.yml @@ -1,4 +1,4 @@ -name: Best practices for source files +name: Source files best practices on: pull_request: diff --git a/.github/workflows/latex.yml b/.github/workflows/documentation.yml similarity index 98% rename from .github/workflows/latex.yml rename to .github/workflows/documentation.yml index bb8fe6c4..e2a68bcc 100644 --- a/.github/workflows/latex.yml +++ b/.github/workflows/documentation.yml @@ -1,4 +1,4 @@ -name: LaTeX workflows +name: Documentation on: pull_request: diff --git a/.github/workflows/project-management.yml b/.github/workflows/project-management.yml index a85459a9..93f3d3df 100644 --- a/.github/workflows/project-management.yml +++ b/.github/workflows/project-management.yml @@ -1,4 +1,4 @@ -name: Generic project management jobs +name: Project management on: issues: