<commit_before>\newpage
\section{Gestione amministrativa della revisione}
\subsection{Comunicazione delle anomalie}
Il processo di Software Quality Management è finalizzato alla ricerca dei difetti. L'identificazione delle anomalie mantiene aggiornato il Responsabile sullo stato del prodotto, e permette di prendere dei provvedimenti per correggerle. A tal fine, è utile distinguere e catalogare le anomalie, per discuterne durante revisioni e riunioni. Il team ha scelto di adottare le definizioni di anomalie presenti nello standard IEEE 610.12.90:
\begin{itemize}
\item \textbf{Error}: differenza riscontrata tra il risultato di una computazione e il valore teorico atteso (e.g. uscita dal range di accettazione degli indici di misurazione);
\item \textbf{Fault}: passo, processo o dato definito in modo erroneo (e.g. violazioni delle norme tipografiche di un documento). \`E anche noto con il nome di bug.
\item \textbf{Failure}: la conseguenza di un fault (e.g. incongruenza del prodotto rispetto alle funzionalità indicate nell'analisi dei requisiti);
\item \textbf{Mistake}: azione umana che produce un risultato errato.
\end{itemize}
Questa catalogazione permette di definire delle metriche in grado di valutare l'andamento del prodotto e, in alcuni casi, di predirlo. Un esempio è la metrica che conteggia il numero di \textit{bug per lines of code}.

\section{Controlli per la qualità di processo}
Le procedure di controllo per la qualità di processo sono finalizzate a migliorare la qualità del prodotto e/o diminuire i costi e tempi di sviluppo. Esistono due approcci principali:
\begin{itemize}
\item \textbf{A maturità di processo}: l'obiettivo primario è la qualità del prodotto e la prevedibilità dei processi;
\item \textbf{Agile}: sviluppo iterativo senza l'overhead della documentazione e di tutti gli aspetti predeterminabili. Ha come caratteristica la responsività ai cambiamenti dei requisti cliente e uno sviluppo rapido.
\end{itemize}
Il primo approccio è maggiormente indicato ad un team con poca esperienza: verrà pertanto scelto quello. Con una visione proattiva si cerca di avere maggior controllo e previsione sulle attività da svolgere. Questa viene anche indicata come best practice per gruppi poco esperti.\\
Il processo con maggiore influenza sulla qualità del sistema non è quello di sviluppo ma quello di progettazione. È qui che le capacità e le esperienze dei singoli danno un contributo decisivo.\\
\begin{figure}[h]
\centering \includegraphics[width=0.8\textwidth]{processImprovement.png}
\caption{Il ciclo di miglioramento dei processi}
\end{figure}
Il miglioramento dei processi è un processo ciclico, composto da tre sotto-processi:
\begin{itemize}
\item \textbf{Misurazione del processo}: misura gli attributi del progetto, punta ad allineare gli obiettivi con le misurazioni effettuate. Questo forma una baseline che aiuta a capire se i miglioramenti hanno avuto effetto;
\item \textbf{Analisi del processo}: vengono identificate le problematiche ed i colli di bottiglia dei processi;
\item \textbf{Modifiche del processo}: i cambiamenti vengono proposti in risposta alle problematiche riscontrate.
\end{itemize}
Il team procederà nel seguente modo: 
\begin{itemize}
\item Nella sezione \textit{Dettaglio delle verifiche tramite analisi} (\ref{App:AppendixB})  verranno inserite le misurazioni rilevate sulle le metriche descritte in \textit{Misure e Metriche} (\ref{MisureMetriche});
\item L'analisi viene effettuata i giorni precedenti alle consegne previste dal committente; il \textit{Riassunto delle attività di verifica} (\ref{App:AppendixA}) contiene l'analisi del processo, le relative considerazioni  comprendenti le problematiche riscontrate;
\item Le modifiche al processo vengono attuate all'inizio del processo incrementale successivo. Queste attività sono programmate nel \PianoDiProgetto.
\end{itemize}
<commit_msg>Resolved some typos<commit_after>\newpage
\section{Gestione amministrativa della revisione}
\subsection{Comunicazione delle anomalie}
Il processo di Software Quality Management è finalizzato alla ricerca dei difetti. L'identificazione delle anomalie mantiene aggiornato il Responsabile sullo stato del prodotto, e permette di prendere dei provvedimenti per correggerle. A tal fine, è utile distinguere e catalogare le anomalie, per discuterne durante revisioni e riunioni. Il team ha scelto di adottare le definizioni di anomalie presenti nello standard IEEE 610.12-90:
\begin{itemize}
\item \textbf{Error}: differenza riscontrata tra il risultato di una computazione e il valore teorico atteso (e.g. uscita dal range di accettazione degli indici di misurazione);
\item \textbf{Fault}: passo, processo o dato definito in modo erroneo (e.g. violazioni delle norme tipografiche di un documento). \`E anche noto con il nome di bug.
\item \textbf{Failure}: la conseguenza di un fault (e.g. incongruenza del prodotto rispetto alle funzionalità indicate nell'analisi dei requisiti);
\item \textbf{Mistake}: azione umana che produce un risultato errato.
\end{itemize}
Questa catalogazione permette di definire delle metriche in grado di valutare l'andamento del prodotto e, in alcuni casi, di predirlo. Un esempio è la metrica che conteggia il numero di bug per linee di codice.

\section{Controlli per la qualità di processo}
Le procedure di controllo per la qualità di processo sono finalizzate a migliorare la qualità del prodotto e/o diminuire i costi e tempi di sviluppo. Esistono due approcci principali:
\begin{itemize}
\item \textbf{A maturità di processo}: l'obiettivo primario è la qualità del prodotto e la prevedibilità dei processi;
\item \textbf{Agile}: sviluppo iterativo senza l'overhead della documentazione e di tutti gli aspetti predeterminabili. Ha come caratteristica la responsività ai cambiamenti dei requisti cliente e uno sviluppo rapido.
\end{itemize}
Il primo approccio è maggiormente indicato ad un team con poca esperienza: verrà pertanto scelto quello. Con una visione proattiva si cerca di avere maggior controllo e previsione sulle attività da svolgere. Questa viene anche indicata come best practice per gruppi poco esperti.\\
Il processo con maggiore influenza sulla qualità del sistema non è quello di sviluppo ma quello di progettazione. È qui che le capacità e le esperienze dei singoli danno un contributo decisivo.\\
\begin{figure}[h]
\centering \includegraphics[width=0.8\textwidth]{processImprovement.png}
\caption{Il ciclo di miglioramento dei processi}
\end{figure}
Il miglioramento dei processi è un processo ciclico, composto da tre sotto-processi:
\begin{itemize}
\item \textbf{Misurazione del processo}: misura gli attributi del progetto, punta ad allineare gli obiettivi con le misurazioni effettuate. Questo forma una baseline che aiuta a capire se i miglioramenti hanno avuto effetto;
\item \textbf{Analisi del processo}: vengono identificate le problematiche ed i colli di bottiglia dei processi;
\item \textbf{Modifiche del processo}: i cambiamenti vengono proposti in risposta alle problematiche riscontrate.
\end{itemize}
Il team procederà nel seguente modo: 
\begin{itemize}
\item Nella sezione \textit{Dettaglio delle verifiche tramite analisi} (\ref{App:AppendixB})  verranno inserite le misurazioni rilevate sulle le metriche descritte in \textit{Misure e Metriche} (\ref{MisureMetriche});
\item L'analisi viene effettuata i giorni precedenti alle consegne previste dal committente; il \textit{Riassunto delle attività di verifica} (\ref{App:AppendixA}) contiene l'analisi del processo, le relative considerazioni  comprendenti le problematiche riscontrate;
\item Le modifiche al processo vengono attuate all'inizio del processo incrementale successivo. Queste attività sono programmate nel \PianoDiProgetto.
\end{itemize}

{'fraction_non_alphanumeric': 0.053297199638663056, 'fraction_numerical': 0.0023228803716608595, 'mean_word_length': 5.523569023569023, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '830994', 'n_tokens_mistral': 2390, 'n_tokens_neox': 2429, 'n_words': 1012}