Skip to content
This repository has been archived by the owner on Jul 1, 2020. It is now read-only.

Feature/spostamentosezioninorme #277

Merged
merged 6 commits into from
Mar 4, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,7 @@ \subsection{Fornitura}
Il gruppo Red Round Robin dovrà coordinare le revisioni delle attività svolte e le comunicazioni con il proponente ed il committente. Il gruppo dovrà inoltre eseguire la verifica e la validazione del prodotto garantendo che il prodotto sia conforme con quanto pattuito con il proponente ed il committente.
\paragraph{Rilascio e completamento}
Il gruppo dovrà rilasciare il prodotto in maniera conforme a quanto pattuito con il proponente ed il committente.
\subsubsection{Metriche}
Il processo di fornitura non fa uso di metriche qualitative particolari, se non quelle riportate poi nel piano di qualifica.
\subsubsection{Strumenti}
Per il processo di fornitura non sono stati individuati particolari strumenti da impiegare.
237 changes: 237 additions & 0 deletions interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Sviluppo.tex
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,243 @@ \subsection{Sviluppo}
\item ottenere codice leggibile ed uniforme per i programmatori;
\item agevolare le fasi di manutenzione, verifica e validazione.
\end{itemize}

\subsubsection{Metriche}


\paragraph{QC-2 Funzionabilità}
\subparagraph{Scopo}
Durante lo sviluppo si vuole monitorare la capacità del prodotto di soddisfare tutti i requisiti richiesti dall'utente.
\subparagraph{Obiettivi}
\begin{itemize}
\item \textbf{appropriatezza:} viene richiesto che il prodotto metta a disposizione tutte le funzionalità richieste dall'utente;
\item \textbf{accuratezza:} il prodotto deve riuscire a produrre risultati che rispettano l'aspettativa ed il grado di precisione richiesti;
\item \textbf{interoperabilità:} il prodotto deve essere in grado di interagire ed operare con tutti i sistemi e vincoli specificati;
\item \textbf{conformità:} il prodotto deve aderire a standard e regolamenti noti;
\item \textbf{sicurezza:} i dati sensibili utilizzati e generati dal prodotto devono essere disponibili esclusivamente agli utenti e/o coloro che risultano autorizzati all'uso di tali dati.
\end{itemize}
\subparagraph{Introduzione alle Metriche}
Per la funzionabilità si é deciso di utilizzare la seguente metrica:
\begin{itemize}
\item QM-PROD-1 Implementazione (IMP).
\end{itemize}
\subparagraph{QM-PROD-1 Implementazione (IMP)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica IMP si utilizza per valutare l'avanzamento dello sviluppo delle funzionalità richieste;
\item \textbf{unità di misura: }
La metrica è espressa in percentuale;
\item \textbf{formula: }
La formula della metrica è la seguente:
\(
IMP = \frac{\# funzionalita implementate}{\# funzionalita proposte}\times100
\)
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0\%, allora nessuna funzionalità è stata implementata;
\item se il risultato è compreso tra 0\% e 100\%, allora parte delle funzionalità sono state implementate;
\item se il risultato è pari a 100\%, allora tutte le funzionalità sono state implementate.
\end{itemize}
\end{itemize}
\paragraph{QC-3 Affidabilità}
\subparagraph{Scopo}
Durante lo sviluppo si vuole monitorare l'affidabilità e correttezza, così come la sua tolleranza agli errori.
\subparagraph{Obiettivi}
\begin{itemize}
\item \textbf{maturità:} il software deve essere in grado di evitare il verificarsi di errori e/o malfunzionamenti derivanti dalla sua esecuzione;
\item \textbf{tolleranza degli errori:} il prodotto é in grado di mantenere un livello minimo di prestazioni predeterminate anche in presenza di malfunzionamenti e/o usi impropri di esso;
\item \textbf{recuperabilità:} il software, in seguito ad un errore e/o malfunzionamento, deve essere in grado di ripristinare uno stato di usabilità in un arco di tempo definito e di recuperare eventuali dati persi durante il suddetto lasso di tempo;
\item \textbf{aderenza:} descrive la capacitá del prodotto di aderire alle specifiche relative all'affidabilità.
\end{itemize}
\subparagraph{Introduzione alle Metriche}
Per l'affidabilità si é deciso di utilizzare le seguenti metriche:
\begin{itemize}
\item QM-PROD-2 Densità errori (DE);
\item QM-PROD-3 Complessità dei test di classe (CTCLA).
\end{itemize}
\subparagraph{ QM-PROD-2 Densità errori (DE)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica DE permette di misurare in maniera precisa la tolleranza e correttezza di ogni componente del prodotto, mostrando attraverso una percentuale la sua stabilità;
\item \textbf{unità di misura: }
La metrica è espressa in percentuale;
\item \textbf{formula: }
La formula della metrica è la seguente:
\(DE = \frac{\# test passati}{\# test condotti}\times100\)
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0\%, allora il prodotto non è stato testato o ha fallito i test al quale è stato sottoposto;
\item se il risultato è compreso tra 0\%, e 100\%, allora parte del prodotto è stato testato e/o il prodotto ha passato parte dei test;
\item se il risultato è pari a 100\%, allora tutte le parti sono state testate e il prodotto ha passato tutti i test.
\end{itemize}
\end{itemize}
\subparagraph{QM-PROD-3 Complessità dei test di classe (CTCLA)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica CTCLA trova il suo utilizzo nel monitoraggio dei test che coinvolgono il prodotto e le sue componenti. Essa permette di sapere se ci sono componenti non testate;
\item \textbf{unità di misura: }
La metrica è espressa tramite un numero intero;
\item \textbf{formula: }
La formula della metrica è la seguente:
\textit{CTCLA = \# dei test che coinvolgono la classe}
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0, allora il prodotto o componente non è stato incluso in alcun test;
\item se il risultato è maggiore di 0, allora il prodotto o componente è stato incluso in almeno un test.
\end{itemize}
\end{itemize}
\paragraph{QC-4 Efficienza}
\subparagraph{Scopo}
È necessari misurare l'efficienza del prodotto in modo da fornire all'utente un software usabile, piacevole e veloce.
\subparagraph{Obiettivi}
\begin{itemize}
\item \textbf{comportamento nel tempo:} garanzia di tempi di elaborazione accettabili da parte del prodotto;
\item \textbf{utilizzo di risorse:} utilizzo non eccessivo delle risorse a disposizione.
\end{itemize}
\subparagraph{Introduzione alle Metriche}
Per l'efficienza si è deciso di utilizzare la seguente metrica:
\begin{itemize}
\item QM-PROD-4 Risposta media (RM).
\end{itemize}
\subparagraph{QM-PROD-4 Risposta media (RM)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica RM punta a misurare l'efficienza di elaborazione del prodotto in modo da fornire all'utente un'esperienza piacevole di utilizzo;
\item \textbf{unità di misura: }
La metrica è espressa millisecondi (\textit{ms});
\item \textbf{formula: }
La formula della metrica è la seguente:
\(
RM = \frac{\sum_{n=1}^{z} tempo di risposta in ms}{z}
\)
dove $z$ è il numero di misurazioni effettuate;
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è indica il tempo di risposta medio del prodotto.
\end{itemize}
\end{itemize}
\paragraph{QC-5 Usabilità}
\subparagraph{Scopo}
Si vuole misurare l'usabilità del prodotto in modo da fornire all'utente un'esperienza piacevole durante il suo utilizzo, nonché fornire un prodotto facile da apprendere ed utilizzare.
\subparagraph{Obiettivi}
\begin{itemize}
\item \textbf{comprensibilità:} determina la facilità di utilizzo e di comprensione del prodotto e delle sue funzionalità da parte dell'utente;
\item \textbf{apprendibilità:} definisce il livello di impegno richiesto, da parte dell'utilizzatore, per imparare ad usare il prodotto;
\item \textbf{operabilità:} stabilisce il grado con cui il software riesce a mettere il suo utilizzatore in condizione di sfruttare il prodotto per i suoi fini;
\item \textbf{attrattiva:} la proprietà del software di produrre un'esperienza d'uso gradevole per l'utente.
\end{itemize}
\subparagraph{Introduzione alle Metriche}
Per la funzionabilità si é deciso di utilizzare le seguenti metriche:
\begin{itemize}
\item QM-PROD-5 Profondità dell'albero delle azioni (PAA);
\item QM-PROD-6 Profondità dell'albero delle pagine (PAP).
\end{itemize}
\subparagraph{QM-PROD-5 Profondità dell'albero delle azioni (PAA)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica PAA permette di misurare l'operabilità e la comprensibilità del prodotto da parte dell'utente. Essa misura il numero di azioni effettuate dall'utente prima di poter arrivare al suo obbiettivo;
\item \textbf{unità di misura: }
La metrica è espressa tramite un numero intero;
\item \textbf{formula: }
La formula della metrica è la seguente:
\textit{PAA = \# delle azioni}
dove ogni click corrisponde ad un'azione;
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari 0 allora l'obbiettivo non è raggiungibile e/o l'utente non ne ha accesso;
\item se il risultato è maggiore di 0 allora l'obbiettivo è raggiungibile in un numero finito di azioni.
\end{itemize}
\end{itemize}
\subparagraph{QM-PROD-6 Profondità dell'albero delle pagine (PAP)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica PAP permette di misurare l'apprendibilità, l'operabilità e l'attrattiva del prodotto dal punto di vista del cliente. Essa misura il numero di pagine visitate dall'utente prima di poter arrivare al suo obbiettivo;
\item \textbf{unità di misura: }
La metrica è espressa tramite un numero intero;
\item \textbf{formula: }
La formula della metrica è la seguente:
\textit{PAP = \# delle pagine visitate dall'utente}
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0 allora la pagina obbiettivo non esiste o l'utente non ne ha accesso;
\item se il risultato è maggiore di 0 allora la pagina obbiettivo è raggiungibile in un numero finito di passaggi.
\end{itemize}
\end{itemize}
\paragraph{QC-6 Manutenibilità}
\subparagraph{Scopo}
La manutenibilità viene monitorata in modo da fornire un prodotto modificabile ed estendibile, in modo da poter estendere facilmente sia la vita del prodotto che le sue funzionalità.
\begin{itemize}
\item \textbf{analizzabilità:} determina la facilità con cui é possibile analizzare e localizzare un errore all'interno del codice;
\item \textbf{modificabilità:} definisce la capacitá del prodotto di apportare una modifica o una estensione;
\item \textbf{stabilità:} il software deve essere un grado di essere usato anche in caso le modifiche apportate siano errate;
\item \textbf{testabilità:} determina la capacità del software di essere testato facilmente per fornire una validazione delle modifica apportate.
\end{itemize}
\subparagraph{Introduzione alle Metriche}
Per la funzionabilità si é deciso di utilizzare le seguenti metricche:
\begin{itemize}
\item QM-PROD-QM-PROD-7 Complessità del codice (CCOD);
\item QM-PROD-8 Complessità della classe (CCLA);
\item QM-PROD-9 Complessità del metodo (CMET).
\end{itemize}
\subparagraph{QM-PROD-7 Complessità del codice (CCOD)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica CCOD permette di misurare la chiarezza dei commenti rispetto la lunghezza del codice scritto;
\item \textbf{unità di misura: }
La metrica è espressa tramite un numero reale;
\item \textbf{formula: }
La formula della metrica è la seguente:
\(
CCOD = \frac{\# linee commento}{\# linee codice}
\)
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0, allora il codice non è stato commentato;
\item se il risultato è maggiore di 0, allora il codice ha almeno una riga di commento.
\end{itemize}
\end{itemize}
\subparagraph{QM-PROD-8 Complessità della classe (CCLA)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica CCLA misure il numero di metodi presenti in ogni classe e permette di valutare la complessità generale della stessa;
\item \textbf{unità di misura: }
La metrica è espressa tramite un numero intero;
\item \textbf{formula: }
La formula della metrica è la seguente:
\textit{CCLA = \# numero metodi}
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0, allora la classe non esiste e/o non ha metodi che le appartengono;
\item se il risultato è maggiore di 0, allora la classe esiste ed ha un numero finito di metodi.
\end{itemize}
\end{itemize}
\subparagraph{QM-PROD-9 Complessità del metodo (CMET)}
\begin{itemize}
\item \textbf{descrizione: }
La metrica CMET permette di valutare la complessità di ogni metodo rispetto la sua modificabilità, ossia permette di capire se un metodo è una \glock{maschera} o esegue azioni rilevanti;
\item \textbf{unità di misura: }
La metrica è espressa tramite un numero reale;
\item \textbf{formula :}
La formula della metrica è la seguente:
\(
CMET = \frac{\# linee codice}{\# chiamate interne ad altri metodi+1}
\)
\item \textbf{risultato: }
Il risultato della formula ha i seguenti significati:
\begin{itemize}
\item se il risultato è pari a 0, allora il metodo non esiste e/o non è stato implementato;
\item se il risultato è maggiore di 0, allora il metodo è stato implementato ed potrebbe effettuare chiamate interne;
\end{itemize}
Più è alto il risultato meno è la complessità del metodo.
\end{itemize}
% \subparagraph{Stile di codifica}
% Per garantire l'uniformità del codice, ciascun Programmatore dovrà attenersi alle seguenti regole norme di programmazione:
% \begin{itemize}
Expand Down
Loading