diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..53ce6dc --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,49 @@ +# CODEOWNERS +# Ognuno è responsabile di quello scrive +# Su ogni riga si segna chi ha fatto cosa e nel momento della review viene mostrato + + +/template/ @Maxelweb +/template/lettera/ @FouadM96 + +# ==================================== +# Interni +# ==================================== + +/interni/norme_progetto/res/sections/Sez1-Introduzione/introduzione.tex @aletomm + +/interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Fornitura.tex @FouadM96 +/interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Sviluppo.tex @giovd8 + +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Documentazione.tex @BroHPotato +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Verifica.tex @nfrison +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Validazione.tex @nfrison +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestConfigurazione.tex @Maxelweb +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GaranziaQualita.tex @Maxelweb +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestConfigurazione.tex @Maxelweb +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GaranziaQualita.tex @Maxelweb + +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/FormazionePersonale.tex @giovd8 +/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestProcessi.tex @lorenzodeinegri + + +/interni/studio_fattibilita/res/sections/CapitolatoC1.tex @aletomm +/interni/studio_fattibilita/res/sections/CapitolatoC2.tex @aletomm +/interni/studio_fattibilita/res/sections/CapitolatoC3.tex @aletomm +/interni/studio_fattibilita/res/sections/CapitolatoC4.tex @giovd8 +/interni/studio_fattibilita/res/sections/CapitolatoC5.tex @giovd8 +/interni/studio_fattibilita/res/sections/CapitolatoScelto.tex @giovd8 +/interni/studio_fattibilita/res/sections/Introduzione.tex @aletomm +/interni/studio_fattibilita/res/sections/Conclusioni.tex @Maxelweb + + +/interni/verbali/verbale_1/ @Maxelweb +/interni/verbali/verbale_2/ @Maxelweb +/interni/verbali/verbale_3/ @Maxelweb +/interni/verbali/verbale_4/ @nfrison +/interni/verbali/verbale_5/ @lorenzodeinegri + + +# ==================================== +# Esterni +# ==================================== diff --git a/.github/ISSUE_TEMPLATE/document-review.md b/.github/ISSUE_TEMPLATE/document-review.md new file mode 100644 index 0000000..daa34b7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/document-review.md @@ -0,0 +1,24 @@ +--- +name: Document Review +about: Revisione di un documento e materiale correlato da sistemare +title: "[REV] Nome Documento - vx.x.x" +labels: to fix, to review +assignees: '' + +--- + +## Document Review + +### Informazioni + +**Nome documento:** +**Tipo documento:** i/e +**Versione documento:** vx.x.x +**Sezioni analizzate dal revisore:** + +--- + +### Descrizione punti da revisionare + +- [ ] insert here +- [ ] insert here diff --git a/.github/ISSUE_TEMPLATE/new-document-section.md b/.github/ISSUE_TEMPLATE/new-document-section.md new file mode 100644 index 0000000..e6ae02f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new-document-section.md @@ -0,0 +1,24 @@ +--- +name: New Document Section +about: Nuova sezione da scrivere in un documento +title: "[WR] Nome sezione - Documento" +labels: to write +assignees: '' + +--- + +## New Document Section + +### Informazioni + +**Nome documento:** +**Tipo documento:** i/e +**Versione documento:** vx.x.x +**Sezioni da scrivere:** + +--- + +### Note + +- [ ] insert here +- [ ] insert here diff --git a/.github/filesToCompile b/.github/filesToCompile new file mode 100644 index 0000000..ab7fe65 --- /dev/null +++ b/.github/filesToCompile @@ -0,0 +1,4 @@ +interni/verbali/verbale_1 +interni/verbali/verbale_2 +interni/verbali/verbale_3 +interni/studio_fattibilita \ No newline at end of file diff --git a/.github/workflows/artifacts.yml b/.github/workflows/artifacts.yml new file mode 100644 index 0000000..ab4a735 --- /dev/null +++ b/.github/workflows/artifacts.yml @@ -0,0 +1,48 @@ +name: SWE Docs Artifacts + +on: + push: + branches: + - develop + - testing-ci + paths: + - 'esterni/**' + - 'interni/**' + - 'template/**' + - '.github/**' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout repo content + uses: actions/checkout@v1 + # with: + # ref: develop + + - name: Search and Compiling Latex Files + uses: Jatus93/Latex-multicompiler@v1.0 + with: + path_to_list: .github/filesToCompile + artifact: true + + - name: FTP Artifacts Online Deploy + uses: SamKirkland/FTP-Deploy-Action@2.0.0 + env: + FTP_SERVER: ${{ secrets.FTP_HOST }} + FTP_USERNAME: ${{ secrets.FTP_USERNAME }} + FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }} + LOCAL_DIR: Documents + ARGS: --transfer-all + + - name: Slack Notification + uses: homoluctus/slatify@v2.0.1 + if: always() + with: + type: ${{ job.status }} + job_name: 'PDF Artifacts updated notification' + channel: '#devops_documentazione' + username: 'Docs Deployment Patrol' + url: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file diff --git a/.github/workflows/patrol.yml b/.github/workflows/patrol.yml new file mode 100644 index 0000000..1498057 --- /dev/null +++ b/.github/workflows/patrol.yml @@ -0,0 +1,39 @@ +name: SWE Docs Patrol + +on: + pull_request: + branches: + - develop + - testing-ci + paths: + - 'esterni/**' + - 'interni/**' + - 'template/**' + - '.github/**' + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout repo content + uses: actions/checkout@v1 + + - name: Search and Compiles Latex Files + uses: Jatus93/Latex-multicompiler@v1.0 + with: + path_to_list: .github/filesToCompile + artifact: false + + - name: Slack Notification + uses: homoluctus/slatify@v2.0.1 + if: always() + with: + type: ${{ job.status }} + job_name: 'Verify Docs in Pull Request notification' + mention: 'here' + mention_if: 'failure' + channel: '#devops_documentazione' + username: 'Docs Pull Request Patrol' + url: ${{ secrets.SLACK_WEBHOOK }} diff --git a/esterni/analisi_requisiti/main.tex b/esterni/analisi_requisiti/main.tex index 081ddb2..241866c 100644 --- a/esterni/analisi_requisiti/main.tex +++ b/esterni/analisi_requisiti/main.tex @@ -1,3 +1,4 @@ +%!TEX output_directory = .cache % --------------------------- % [ Analisi dei requisiti ] % ---------------------- diff --git a/esterni/analisi_requisiti/res/configurazione.tex b/esterni/analisi_requisiti/res/configurazione.tex index eda42a9..7e2bd53 100644 --- a/esterni/analisi_requisiti/res/configurazione.tex +++ b/esterni/analisi_requisiti/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,6 +23,21 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -67,9 +82,9 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} % Colori link @@ -143,3 +158,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/esterni/analisi_requisiti/res/registro.tex b/esterni/analisi_requisiti/res/registro.tex index 11d9f96..790b407 100644 --- a/esterni/analisi_requisiti/res/registro.tex +++ b/esterni/analisi_requisiti/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ diff --git a/esterni/analisi_requisiti/res/sections/Sez1-Introduzione/Introduzione.tex b/esterni/analisi_requisiti/res/sections/Sez1-Introduzione/Introduzione.tex new file mode 100644 index 0000000..20ff82c --- /dev/null +++ b/esterni/analisi_requisiti/res/sections/Sez1-Introduzione/Introduzione.tex @@ -0,0 +1,25 @@ +\section{Introduzione} + \subsection{Scopo del documento} + Lo scopo di questo documento è la candidatura del gruppo RedRoundRobin allo svolgimento del progetto relativo al capitolato C6 - ThiReMa. + All'interno di questa analisi è possibile seguire la classificazione, il tracciamento e la descrizione dettagliata deii requisiti individuati dall'analisi del capitolato scelto. + \subsection{Scopo del prodotto} + Il capitolato C6 si pone come obiettivo quello di creare una web-application che permette di analizzare grosse moli di dati ricevuti da sensori eterogenei tra loro. Tale applicazione mette a disposizione un'interfaccia che permette di visualizzare alcuni dati di interesse od eventuali correlazioni tra i dati stessi. Infine, per ogni tipologia di dato è possibile assegnarne il monitoraggio ad un particolare ente, ruolo o gruppo. + \subsection{Glossario e Documenti esterni} + Per evitare possibili ambiguità relative alle terminologie (che andranno indicate in \textsc{maiuscoletto})utilizzate nei vari documenti, verranno utilizzate due simboli: + \begin{itemize} + \item Una \textit{D} al pedice per indicare il nome di un particolare documento. + \item Una \textit{G} al pedice per indicare un termine che sarà presente nel \dext{Glossario v0.0.1}. + \end{itemize} + \subsection{Riferimenti} + \subsubsection{Normativi} + \begin{itemize} + \item \textbf{Norme di Progetto: }\textsc{Norme di Progetto v0.0.1} + \item \textbf{Capitolato C6 - ThiReMa: }\url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C6.pdf} + \end{itemize} + \subsubsection{Informativi} + \begin{itemize} + \item \textbf{Presentazione seminario capitolato C6 - ThiReMa: }\url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C6a.pdf} + \item \textbf{Slide Ingegneria del Software - Analisi dei requisiti: }\url{https://www.math.unipd.it/~tullio/IS-1/2019/Dispense/L08.pdf} + \item \textbf{Slide Ingegneria del Software - Diagrammi dei casi d'uso: }\url{https://www.math.unipd.it/~tullio/IS-1/2019/Dispense/E03.pdf} + \end{itemize} + \ No newline at end of file diff --git a/esterni/analisi_requisiti/res/sections/introduzione.tex b/esterni/analisi_requisiti/res/sections/introduzione.tex index 32c3925..eabe4b6 100644 --- a/esterni/analisi_requisiti/res/sections/introduzione.tex +++ b/esterni/analisi_requisiti/res/sections/introduzione.tex @@ -1,2 +1,17 @@ \section{Introduzione} - + \subsection{Scopo del documento} + + \subsection{Scopo del prodotto} + Il capitolato C6 si pone come obiettivo quello di creare una web-application che permette di analizzare grosse moli di dati ricevuti da sensori eterogenei tra loro. Tale applicazione mette a disposizione un'interfaccia che permette di visualizzare alcuni dati di interesse od eventuali correlazioni tra i dati stessi. Infine, per ogni tipologia di dato è possibile assegnarne il monitoraggio ad un particolare ente, ruolo o gruppo. + \subsection{Glossario e Documenti esterni} + Per evitare possibili ambiguità relative alle terminologie (che andranno indicate in \textsc{maiuscoletto})utilizzate nei vari documenti, verranno utilizzate due simboli: + \begin{itemize} + \item Una \textit{D} al pedice per indicare il nome di un particolare documento. + \item Una \textit{G} al pedice per indicare un termine che sarà presente nel \dext{Glossario v0.0.1}. + \end{itemize} + \subsection{Riferimenti} + \subsubsection{Normativi} + + \subsubsection{Informativi} + + diff --git a/esterni/glossario/main.pdf b/esterni/glossario/main.pdf new file mode 100644 index 0000000..b713a3e Binary files /dev/null and b/esterni/glossario/main.pdf differ diff --git a/esterni/glossario/main.tex b/esterni/glossario/main.tex new file mode 100644 index 0000000..a6d8092 --- /dev/null +++ b/esterni/glossario/main.tex @@ -0,0 +1,104 @@ +%!TEX output_directory = .cache +% --------------------------- +% [ GLOSSARIO ] +% ---------------------- +% Red Round Robin +% Progetto di SWE (2019-20) +% Template by Maxelweb +% --------------------------- + +% Configurazione primaria del documento + +% -------------- + +\newcommand{\docNome}{ GLOSSARIO } +\newcommand{\docNomeProgetto}{ ThiReMa } +\newcommand{\docVersione}{0.0.0} +\newcommand{\docStatus}{in redazione} +\newcommand{\docUso}{esterno} +\newcommand{\docDescrizione}{ + Breve descrizione del documento +} + +% -------------- + +\newcommand{\docDestinatari}{ + nome cognome \\& + nome cognome +} +\newcommand{\docRedattori}{ + nome cognome \\& + nome cognome +} +\newcommand{\docVerificatori}{ + nome cognome \\& + nome cognome +} +\newcommand{\docApprovazione}{ + nome cognome +} + +% ----- NON MODIFICARE SOTTO QUESTA RIGA ----- + +% --------------------------- +% Configurazioni +% --------------------------- + +\documentclass[11pt,a4paper,table]{article} + +% --------------------------- +% + CONFIGURAZIONE AGGIUNTIVA +% --------------------------- + + + +% --------------------------- + +\input{res/configurazione} + + +\setcounter{secnumdepth}{0} + +% --------------------------- +% Dati frontespizio +% --------------------------- + +\title{\hr \huge \textsc{\docNome} \\ + \vspace{11pt} \large \textsc{\docNomeProgetto} \hr} + +\author{} % Non toccare +\date{} % Non toccare + +% --------------------------- +% Composizione del documento +% --------------------------- + +\begin{document} + +% Frontespizio + +\pagenumbering{gobble} +\DeactivateBG +\include{res/frontespizio} + +% Registro delle modifiche + +\newpage +\ActivateBG +\pagenumbering{arabic} +\include{res/registro} + +% Tabella dei contenuti + +\newpage +\tableofcontents + +% Sezioni + +\newpage +\input{res/sezioni} + +\end{document} + + +% EOF \ No newline at end of file diff --git a/esterni/glossario/res/configurazione.tex b/esterni/glossario/res/configurazione.tex new file mode 100644 index 0000000..7e2bd53 --- /dev/null +++ b/esterni/glossario/res/configurazione.tex @@ -0,0 +1,169 @@ +% Ultimo aggiornamento: 14 dicembre 2019 +% Configurazione delle dipendenze e dei package + + +\usepackage{geometry} +\usepackage{graphicx} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{charter} +\usepackage{eurosym} +\usepackage[italian]{babel} +\usepackage{float} +\usepackage{subcaption} +\usepackage{wrapfig} +\usepackage{fancyhdr} +\usepackage{lastpage} +\usepackage{amsfonts} +\usepackage{fancyvrb} +\usepackage{background} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{longtable} +\usepackage{colortbl} +\usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} + + +% Impostazioni pagina e margini + +\geometry{ + margin=1.0in, + top=19.2mm, % NON TOCCARE + bottom=30mm, + left=20mm, + right=20mm +} + +% Definizione colori + +\definecolor{footer-gray}{HTML}{808080} +\definecolor{light-gray}{gray}{0.6} +\definecolor{light-grayer}{gray}{0.75} +\definecolor{lighter-grayer}{gray}{0.85} +\definecolor{lightest-grayest}{gray}{0.94} +\definecolor{codegreen}{rgb}{0,0.4,0.2} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.96} + + +% Impostazione header e footer + +\pagestyle{fancy} +\setlength\headheight{33pt} +\renewcommand{\headrulewidth}{0pt} +\fancyhead{} +\lhead{\includegraphics[height=10mm]{res/images/logo.png}} +\rhead{\raisebox{1.4\height}{\leftmark}} + + +\renewcommand{\footrulewidth}{0.1pt} +\fancyfoot{} +\lfoot{ \textcolor{footer-gray}{\docNome - v\docVersione} } + +\renewcommand{\footrule}{\hbox to\headwidth{\color{light-grayer}\leaders\hrule height \footrulewidth\hfill}} +\rfoot{ \textcolor{footer-gray}{Pagina \thepage \hspace{1pt} di \pageref*{LastPage}} } + +% Grandezza paragrafi e spaziatura frasi + +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} + +% Colori link + +\hypersetup{ + colorlinks, + linkcolor=[HTML]{404040}, + citecolor={blue!50!black}, + urlcolor={red!50!black} +} +\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref} + +% Equivalente a
+ +\newcommand{\hr}{\par\vspace{-.1\ht\strutbox}\noindent\hrulefill\par} + +% Tabelle e tabulazione + +\setlength{\tabcolsep}{10pt} +\renewcommand{\arraystretch}{1.4} + +% Unicode per simbolo euro + +\DeclareUnicodeCharacter{20AC}{\euro} + +% Configurazione sfondo + +\newcommand\DeactivateBG{\backgroundsetup{contents={}}} +\newcommand\ActivateBG{ \backgroundsetup{ + scale=1.0, + color=black, + opacity=1.0, + angle=0, + contents={% + \includegraphics[height=297mm]{res/images/background.png} + }% +}} + +% Codice e snippet + +\renewcommand{\lstlistingname}{Snippet} +\renewcommand{\lstlistlistingname}{Lista di \lstlistingname s} + + +\lstdefinestyle{chungusHighlight}{ + frame=tb, + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}\textbf, + numberstyle=\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle={\ttfamily}, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + numbers=none, + tabsize=2 +} + +\lstset{style=chungusHighlight} + + +% Comando per aggiungere le pagine di ogni sezione + +\newcommand{\yetAnotherSectionNamed}[1]{% + \newpage + \input{res/sections/#1} +}% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/esterni/glossario/res/frontespizio.tex b/esterni/glossario/res/frontespizio.tex new file mode 100644 index 0000000..3664bf5 --- /dev/null +++ b/esterni/glossario/res/frontespizio.tex @@ -0,0 +1,56 @@ + +% FRONTESPIZIO + +% Logo aziendale + +\begin{figure}[t!] + \centering + \includegraphics[height=10em]{res/images/logo.png} +\end{figure} + + +% Titolo principale + +\maketitle +\thispagestyle{empty} + + +% Riferimenti email e sito web + +\vspace{-6em} + +\begin{center} + \href{https://www.redroundrobin.site}{www.redroundrobin.site} --- \href{mailto:info@redroundrobin.site}{info@redroundrobin.site} +\end{center} + +\vspace{2em} + +% Informazioni documento + +\begin{table}[ht] + \begin{center} + \label{tab:Informazioni_Documento} + \begin{tabular}{r|l} + \multicolumn{2}{c}{ \textsc{Informazioni sul documento} } \\ + \hline + \textbf{Versione} & \docVersione \\ + \textbf{Uso} & \docUso \\ + \textbf{Stato} & \docStatus \\ + \textbf{Destinatari} & \docDestinatari \\ + \textbf{Redattori} & \docRedattori \\ + \textbf{Verificatori} & \docVerificatori \\ + \textbf{Approvazione} & \docApprovazione \\ + \end{tabular} + \end{center} +\end{table} + + +% Descrizione del documento + +\vspace{0em} + +\begin{center} + \textbf{Descrizione}\\ + \docDescrizione +\end{center} + diff --git a/esterni/glossario/res/images/background.png b/esterni/glossario/res/images/background.png new file mode 100644 index 0000000..9dcca68 Binary files /dev/null and b/esterni/glossario/res/images/background.png differ diff --git a/esterni/glossario/res/images/logo.png b/esterni/glossario/res/images/logo.png new file mode 100644 index 0000000..32071fe Binary files /dev/null and b/esterni/glossario/res/images/logo.png differ diff --git a/esterni/glossario/res/registro.tex b/esterni/glossario/res/registro.tex new file mode 100644 index 0000000..97e989b --- /dev/null +++ b/esterni/glossario/res/registro.tex @@ -0,0 +1,20 @@ +\section*{Registro delle modifiche} + +\begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|p{5cm}|c|c|c|} + \hline + \rowcolor{lighter-grayer} + \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ + \hline + \endfirsthead + + % ----- Modificare da qui ----- + + 0.0.2 & Revisione documento & 2019-11-24 & Giuseppe Vito Bitetti & Verificatore \\ + \hline + 0.0.1 & Creazione documento & 2019-11-23 & Giovannni Normale & Redattore \\ + \hline + + \end{longtable} +\end{center} \ No newline at end of file diff --git a/esterni/glossario/res/sections/a.tex b/esterni/glossario/res/sections/a.tex new file mode 100644 index 0000000..0c720e6 --- /dev/null +++ b/esterni/glossario/res/sections/a.tex @@ -0,0 +1,5 @@ +\section{A} + +\subsection{Albero} + +Bella diff --git a/esterni/glossario/res/sections/b.tex b/esterni/glossario/res/sections/b.tex new file mode 100644 index 0000000..94b3c99 --- /dev/null +++ b/esterni/glossario/res/sections/b.tex @@ -0,0 +1 @@ +\section{B} \ No newline at end of file diff --git a/esterni/glossario/res/sezioni.tex b/esterni/glossario/res/sezioni.tex new file mode 100644 index 0000000..d766936 --- /dev/null +++ b/esterni/glossario/res/sezioni.tex @@ -0,0 +1,9 @@ +% ----------------------- +% Sezioni da inserire +% ----------------------- +% Pro tip: usare il comando \yetAnotherSectionNamed{nome_file} + +% NOTA BENE: AGGIUNGI LE SEZIONI IN ORDINE ALFABETICO + +\yetAnotherSectionNamed{a} +\yetAnotherSectionNamed{b} diff --git a/esterni/piano_progetto/main.tex b/esterni/piano_progetto/main.tex index 921fec5..feade45 100644 --- a/esterni/piano_progetto/main.tex +++ b/esterni/piano_progetto/main.tex @@ -1,3 +1,4 @@ +%!TEX output_directory = .cache % --------------------------- % [ Piano di Progetto ] % ---------------------- diff --git a/esterni/piano_progetto/res/configurazione.tex b/esterni/piano_progetto/res/configurazione.tex index eda42a9..7e2bd53 100644 --- a/esterni/piano_progetto/res/configurazione.tex +++ b/esterni/piano_progetto/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,6 +23,21 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -67,9 +82,9 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} % Colori link @@ -143,3 +158,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/esterni/piano_progetto/res/registro.tex b/esterni/piano_progetto/res/registro.tex index 11d9f96..790b407 100644 --- a/esterni/piano_progetto/res/registro.tex +++ b/esterni/piano_progetto/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ diff --git a/esterni/piano_progetto/res/sections/introduzione.tex b/esterni/piano_progetto/res/sections/introduzione.tex index 32c3925..c4e84d5 100644 --- a/esterni/piano_progetto/res/sections/introduzione.tex +++ b/esterni/piano_progetto/res/sections/introduzione.tex @@ -1,2 +1,19 @@ \section{Introduzione} + \subsection{Scopo del documento} + \subsection{Scopo del prodotto} + Il capitolato C6 si pone come obiettivo quello di creare una web-application che permette di analizzare grosse moli di dati ricevuti da sensori eterogenei tra loro. Tale applicazione mette a disposizione un'interfaccia che permette di visualizzare alcuni dati di interesse od eventuali correlazioni tra i dati stessi. Infine, per ogni tipologia di dato è possibile assegnarne il monitoraggio ad un particolare ente, ruolo o gruppo. + \subsection{Glossario e Documenti esterni} + Per evitare possibili ambiguità relative alle terminologie (che andranno indicate in \textsc{maiuscoletto})utilizzate nei vari documenti, verranno utilizzate due simboli: + \begin{itemize} + \item Una \textit{D} al pedice per indicare il nome di un particolare documento. + \item Una \textit{G} al pedice per indicare un termine che sarà presente nel \dext{Glossario v0.0.1}. + \end{itemize} + \subsection{Riferimenti} + \subsubsection{Normativi} + + \subsubsection{Informativi} + + + \subsection{Scadenze} + diff --git a/esterni/piano_qualifica/main.pdf b/esterni/piano_qualifica/main.pdf deleted file mode 100644 index 737f086..0000000 Binary files a/esterni/piano_qualifica/main.pdf and /dev/null differ diff --git a/esterni/piano_qualifica/main.tex b/esterni/piano_qualifica/main.tex index a2155bb..c88b073 100644 --- a/esterni/piano_qualifica/main.tex +++ b/esterni/piano_qualifica/main.tex @@ -1,3 +1,4 @@ +%!TEX output_directory = .cache % --------------------------- % [ Piano di qualifica ] % ---------------------- diff --git a/esterni/piano_qualifica/res/configurazione.tex b/esterni/piano_qualifica/res/configurazione.tex index eda42a9..7e2bd53 100644 --- a/esterni/piano_qualifica/res/configurazione.tex +++ b/esterni/piano_qualifica/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,6 +23,21 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -67,9 +82,9 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} % Colori link @@ -143,3 +158,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/esterni/piano_qualifica/res/registro.tex b/esterni/piano_qualifica/res/registro.tex index 11d9f96..790b407 100644 --- a/esterni/piano_qualifica/res/registro.tex +++ b/esterni/piano_qualifica/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ diff --git a/interni/norme_progetto/main.tex b/interni/norme_progetto/main.tex index 7458919..06c733d 100644 --- a/interni/norme_progetto/main.tex +++ b/interni/norme_progetto/main.tex @@ -1,3 +1,4 @@ +%!TEX output_directory = .cache % --------------------------- % [ Norme di Progetto ] % ---------------------- @@ -11,7 +12,7 @@ % -------------- \newcommand{\docNome}{ NORME DI PROGETTO } -\newcommand{\docVersione}{0.0.1} +\newcommand{\docVersione}{0.0.2} \newcommand{\docNomeProgetto}{ v\docVersione } \newcommand{\docStatus}{in redazione} \newcommand{\docUso}{interno} @@ -45,13 +46,13 @@ \documentclass[11pt,a4paper,table]{article} -\input{res/configurazione} +\input{res/configurazione} % --------------------------- % Dati frontespizio % --------------------------- -\title{\hr \huge \textsc{\docNome} \\ +\title{\hr \huge \textsc{\docNome} \\ \vspace{11pt} \large \textsc{\docNomeProgetto} \hr} \author{} % Non toccare @@ -61,7 +62,7 @@ % Composizione del documento % --------------------------- -\begin{document} +\begin{document} % Frontespizio @@ -89,4 +90,4 @@ \end{document} -% EOF \ No newline at end of file +% EOF diff --git a/interni/norme_progetto/res/configurazione.tex b/interni/norme_progetto/res/configurazione.tex index eda42a9..6ea7626 100644 --- a/interni/norme_progetto/res/configurazione.tex +++ b/interni/norme_progetto/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,6 +23,22 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} +\usepackage{titlesec} +\usepackage{amsmath} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -67,9 +83,9 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} % Colori link @@ -143,3 +159,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/interni/norme_progetto/res/registro.tex b/interni/norme_progetto/res/registro.tex index 11d9f96..8864d25 100644 --- a/interni/norme_progetto/res/registro.tex +++ b/interni/norme_progetto/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ @@ -15,6 +15,9 @@ \section*{Registro delle modifiche} \hline 0.0.1 & Creazione iniziale del documento & 02-12-2019 & Mariano Sciacco & Redattore \\ \hline + \hline + 0.0.2 & Stesura sezione 3 Documentazione & 10-12-2019 & Giuseppe Vito Bitetti & Redattore \\ + \hline \end{longtable} -\end{center} \ No newline at end of file +\end{center} diff --git a/interni/norme_progetto/res/sections/Sez1-Introduzione/introduzione.tex b/interni/norme_progetto/res/sections/Sez1-Introduzione/introduzione.tex index caf5456..1e20e9b 100644 --- a/interni/norme_progetto/res/sections/Sez1-Introduzione/introduzione.tex +++ b/interni/norme_progetto/res/sections/Sez1-Introduzione/introduzione.tex @@ -1,14 +1,34 @@ \section{Introduzione} \subsection{Scopo del documento} + Il documento ha lo scopo di definire quelle che sono le regole su cui si basa il way of working del gruppo Red Round Robin per lo svolgimento del progetto. Le attività che possono essere trovate all'interno di questo documento sono state prese da processi appartenenti allo standard ISO 12207. Tutti i membri del gruppo sono quindi tenuti a prendere visione di questo documento così da garantire uniformità e coesione all'interno del progetto. \subsection{Scopo del prodotto} - - \subsection{Glossario} - + Il capitolato C6 si pone come obiettivo quello di creare una web-application che permette di analizzare grosse moli di dati ricevuti da sensori eterogenei tra loro. Tale applicazione mette a disposizione un'interfaccia che permette di visualizzare alcuni dati di interesse od eventuali correlazioni tra i dati stessi. Infine, per ogni tipologia di dato è possibile assegnarne il monitoraggio ad un particolare ente, ruolo o gruppo. + \subsection{Glossario e Documenti esterni} + Per evitare possibili ambiguità relative alle terminologie (che andranno indicate in \textsc{maiuscoletto})utilizzate nei vari documenti, verranno utilizzate due simboli: + \begin{itemize} + \item Una \textit{D} al pedice per indicare il nome di un particolare documento. + \item Una \textit{G} al pedice per indicare un termine che sarà + presente nel \dext{Glossario v0.0.1}. + \end{itemize} \subsection{Riferimenti} - \paragraph{Riferimenti normativi} + \subsubsection{Riferimenti normativi} + \begin{itemize} + \item \textbf{Standard ISO/IEC 12207:1995: } + \url{https://www.math.unipd.it/~tullio/IS-1/2009/Approfondimenti/ISO_12207-1995.pdf} + \item \textbf{Capitolato d'appalto C6 - ThiReMa: } + \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C6.pdf} + \end{itemize} + \subsubsection{Riferimenti informativi} + \begin{itemize} + \item Da aggiungere man mano che si fa riferimento alle slide del prof + \item Guardare bene gli approfondimenti sul sito: + \url{https://www.math.unipd.it/~tullio/IS-1/2019/} + \item \textbf{Documentazione git: }\url{https://git-scm.com/docs} + \item \textbf{Documentazione GitHub: }\url{https://help.github.com/en/github} + \item \textbf{Documentazione LaTeX: }\url{https://www.latex-project.org/help/documentation/} + \end{itemize} - \paragraph{Riferimenti informativi} diff --git a/interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Sviluppo.tex b/interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Sviluppo.tex index 35770f6..2e7c9ed 100644 --- a/interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Sviluppo.tex +++ b/interni/norme_progetto/res/sections/Sez2-ProcessiPrimari/Sviluppo.tex @@ -7,10 +7,108 @@ \subsection{Sviluppo} \subsubsection{Attività} + Di seguito verranno analizzate dettagliatamente le attività menzionate nella sezione precedente. \paragraph{Analisi dei requisiti} - - \paragraph{Progettazione} - - \paragraph*{Codifica} - - \subsubsection{Strumenti} \ No newline at end of file + \subparagraph{Scopo} + Gli Analisti si occupano di stilare il documento di Analisi dei Requisiti, il cui scopo è appunto quello di definire ed elencare tutti i requisiti del capitolato. Il documento finale conterrà: + \begin{itemize} + \item Descrizione generale del prodotto; + \item Argomentazioni precise ed affidabili per i Progettisti; + \item Casi d'uso rappresentati tramite diagrammi UML; + \item Fissare funzionalità e requisiti concordi con le richieste del cliente; + \item Stima dei costi. + \end{itemize} + \subparagraph{Classificazione dei Requisiti} + I requisiti verranno classificati per facilitarne la comprensione e vengono identificati, in maniera univoca, secondo il seguente schema identificativo: + \begin{center} + \textbf{R[Priorità]-[Tipologia]-[Identificativo]} + \end{center} + Dove: + \begin{itemize} + \item \textbf{R:} Requisito + \item \textbf{Priorità:} ogni requisito assumerà uno dei seguenti valori: + \begin{itemize} + \item \textbf{A:} obbligatorio, strettamente necessario; + \item \textbf{B:} desiderabile, non strettamente necessario; + \item \textbf{C:} opzionale, relativamente utile o contrattabile in corso d'opera. + \end{itemize} + \item \textbf{Tipologia:} ogni requisito assumerà uno dei seguenti valori: + \begin{itemize} + \item \textbf{F:} funzionale; + \item \textbf{P:} prestazionale; + \item \textbf{Q:} qualitativo; + \item \textbf{V:} vincolo. + \end{itemize} + \item \textbf{Identificativo:} numero progressivo per contraddistinguere il requisito, in forma gerarchica padre/figlio strutturato come segue: + \begin{center} + \textbf{[codicePadre].[codiceFiglio]} + \end{center} + \end{itemize} + \subparagraph{Classificazione dei Casi d'Uso} + Gli Analisti, dopo la stesura dei requisiti, hanno anche il compito di identificare ed elencare i casi d’uso. Ognuno di essi è identificato, in maniera univoca, secondo il seguente schema identificativo: + \begin{center} + \textbf{UC[codicePadre].[codiceFiglio]} + \end{center} + Ogni caso d'uso oltre al codice di identificazione deve contenere i seguenti campi: + \begin{itemize} + \item \textbf{Diagrammi UML:} diagrammi realizzati usando la versione 2.0 del linguaggio; + \item \textbf{Attori primari:} attori principali del caso d’uso; + \item \textbf{Attori secondari:} attori secondari del caso d’uso; + \item \textbf{Descrizione:} breve descrizione del caso d'uso; + \item \textbf{Attori secondari:} attori secondari del caso d’uso; + \item \textbf{Estensioni:} eventuali estensioni coinvolte; + \item \textbf{Inclusioni:} eventuali inclusioni coinvolte; + \item \textbf{Precondizione:} condizioni identificate come vere prima del verificarsi degli eventi del caso d’uso; + \item \textbf{Postcondizione:} condizioni identificate come vere dopo il verificarsi degli eventi del caso d’uso; + \item \textbf{Scenario principale:} flusso degli eventi come elenco numerato con eventuale riferimento ad ulteriori casi d’uso. + \end{itemize} + + \paragraph {Progettazione} + L'attività di progettazione avviene una volta concluso il documento di Analisi dei Requisiti, dove i Progettisti hanno il compito di definire una soluzione soddisfacente del problema e di realizzare l'architettura del sistema. + Questa fase si divide nelle seguenti fasi: + \begin{itemize} + \item \textbf{Tecnology baseline:} specifiche della progettazione del prodotto e delle sue componenti, insieme dei diagrammi UML dell'architettura ed i test di verifica; + \item \textbf{Product baseline:} specifica maggiormente l'attività di progettazione e definisce i test necessari per la verifica. + \item \textbf{Diagrammi UML:} Diagrammi necessari per rendere più chiare le soluzioni progettuali utilizzate e si suddividono in: + \begin{itemize} + \item \textbf{Diagrammi delle attività:} descrivono un processo o un algoritmo; + \item \textbf{Diagrammi delle classi:} rappresentano gli oggetti del sistema e loro relazioni; + \item \textbf{Diagrammi dei casi d'uso:} descrivono le funzioni offerte dal sistema; + \item \textbf{Diagrammi dei package:} descrivono le dipendenze tra classi raggruppate in package; + \item \textbf{Diagrammi di sequenza:} descrivono la una sequenza di processi o funzioni. + \end{itemize} + \item \textbf{Tecnologie utilizzate:} elenco dettagliato delle tecnologie impiegate; + \end{itemize} + + \paragraph{Codifica} + \subparagraph{Scopo} + In questa attività vengono stese le norme alle quali i Programmatori devono affidarsi durante l’attività di programmazione ed implementazione. + \subparagraph{Aspettative} + L’obiettivo è quello di sviluppare il software richiesto dal proponente utilizzando le norme di programmazione stabilite in modo da ottenere: + \begin{itemize} + \item codice leggibile ed uniforme per i Programmatori; + \item agevolare le fasi di manutenzione, verifica e validazione. + \end{itemize} + \subparagraph{Stile di codifica} + Per garantire l'uniformità del codice, ciascun Programmatore dovrà attenersi alle seguenti regole norme di programmazione: + \begin{itemize} + \item \textbf{Indentazione:} i blocchi del codice devono essere indentati, per ciascun livello, con tabulazione la cui larghezza sia impostata a quattro (4) spazi. Ogni programmatore dovrà configurare il proprio editor di testo secondo questa regola; + \item \textbf{Univocità dei nomi:} classi, metodi e variabili dovono avere nomi univoci e che ne descrivano il più possibile la funzione dove la prima lettera deve essere sempre minuscola e, nel caso in cui la classe/metodo/variabile sia una concatenazione di più parole, i programmatori devo attenersi al CamelCase\ped{G}. + \item \textbf{Spazi:} prima di ogni apertura di parentesi graffa, tonda e quadra ci deve essere uno (1) spazio. Ogni chiusura di parentesi graffa per metodi, classi e condizioni va fatta andando a capo; + \end{itemize} + ALTRE? + + + \subsubsection{Strumenti} + Di seguito verranno elencati gli strumenti che verranno utilizzati nella fase di sviluppo. + \subparagraph{Chrome \\} + Browser web sviluppato da Google, basato sul motore di rendering Blink. + \subparagraph{Visual Studio Code \\} + Visual Studio Code è un editor di codice sorgente sviluppato da Microsoft per Windows, Linux e macOS. Include il supporto per debugging. + \subparagraph{Draw.io \\} + Strumento open source semplice ed intuitivo per la creazione dei diagrammi UML. + \subparagraph{Bootstrap \\} + Raccolta di strumenti liberi per la creazione di siti e applicazioni per il Web. Essa contiene modelli di progettazione basati su HTML e CSS per le varie componenti dell'interfaccia. + + DA AGGIUNGERE? + diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Documentazione.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Documentazione.tex index 8b69823..c06583d 100644 --- a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Documentazione.tex +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Documentazione.tex @@ -1,42 +1,191 @@ \subsection{Documentazione} \subsubsection{Scopo} - + Lo scopo principale di questo capitolo è fornire una guida esaustiva di tutti gli standard e regole per quanto riguarda la stesura ed approvazione dei documenti. \subsubsection{Aspettative} - + Si vuole fornire uno strumento per la stesura dei documenti che sia unico per tutto il guppo in modo da avere una documentazione uniforme e adempiente agli standard e regole sotto riportate. \subsubsection{Descrizione} - + Questo capitolo fornisce i dettagli su come deve essere redata e verificata la documentazione. Tutte le norme descritte devono essere adempite in pieno da tutti i documenti, sia interno che esterni, rilasciati durante il ciclo di vita del software. \subsubsection{Ciclo di vita} - + Il ciclo di vita dei documenti è suddiviso in vari processi, eventualmente ripetibili: + \begin{itemize} + \item \textbf{Stesura:} è il processo di scrittura del documento in sé, questa attivitá viene assegnata ad un redatore che, una volta terminata, fará riferimento al responsabile, il quale fará avanzare il documento nella fase successiva; + \item \textbf{Verifica:} è il processo eseguito dai verificatori, i quali hanno il compito di controllare che la stesura del documento sia avvenuta in modo corretto, sintatticamente e semanticamente, seguendo le norme di progetto. Ogni problema viene riferita al responsabile che provvederá a notificare il redatore e riporterá il documento in fase di Stesura. Quando quasta fase ha successo il responsabile fará avanzare il documento nell'ultima fase del ciclo di vita; + \item \textbf{Approvazione:} è l'ultima attivitá del ciclo di vita del documento, in questa fase il verificatore ha terminato il suo compito ed ha comunicato l'esito positivo al responsabile. Il responsabile procederá a confermare il documento ed eseguire il rilascio. + \end{itemize} \subsubsection{Template LaTeX} - + Si è deciso di utilizzare una struttura template \LaTeX{} per facilitare il versionamento e la stesura dei documenti. Inoltre, l'utilizzo di tale struttura fornisce uniformitá al layout di tutti i documenti. \subsubsection{Struttura dei documenti} + Un file ``main.tex'' provvederá a raccogliere tutte le sezioni, pacchetti e comandi necessari per la sua compilazione. Tutti i documenti hanno una struttura predefinita e determinata. \paragraph{Frontespizio} + Il frontespizio ha la funzione di fornire i dati principali del documento. Esso presenterá il logo e relativo nome del team, il titolo del documento e la sua appartenenza ad un determinato progetto, le informazioni sul documento quali: + \begin{itemize} + \item \textbf{versione:} versione attuale del documento; + \item \textbf{uso:} destinazione d'uso del documento, che potrá essere ``interno'' o ``esterno''; + \item \textbf{stato:} attuale stato del documento, che potrá essere ``in redazione'' o ``approvato''; + \item \textbf{destinatari:} destinatari del documento; + \item \textbf{redatori:} lista delle persone che si sono accupate della stesura dello specifico documento; + \item \textbf{verificatori:} lista delle persone che si sono occupati della fase di verifica dello specifico documento; + \item \textbf{approvazione:} nominativo della persona che ha approvato il documento per il rilascio. + \end{itemize} + Come ultimo elemento nella pagina verrá fornita una breve descrizione del documento. Tutti gli elementi di quasta pagina sono centrati ed incolonnati. \paragraph{Registro modifiche} + Il registro delle modifiche è la seconda pagina del documento e consiste in una tabella contenente le informazioni riguardanti il ciclo di vita del documento. La tabella contiene: + \begin{itemize} + \item \textbf{versione:} versione del documento relativa alla modifica effettuata; + \item \textbf{descrizione:} breve descrizione della modifica effettuata; + \item \textbf{data:} data in cui la modifica è stata effettuata; + \item \textbf{autore:} nominativo della persona che ha effetuato la modifica; + \item \textbf{ruolo:} ruolo della persona che ha effettuato la modifica; + \end{itemize} \paragraph{Indice} + L'indici ha lo scopo di riepilogare e dare una visione generale della struttura del documento, mostrando le parti di cui è composto. L'indice ha una struttura standard: numero e titolo del capitolo, con eventuali sottosezioni, e il numero della pagina del contenuto; Inoltre, ogni titolo è un link alla pagina del contenuto. L'indice dei contenuti è seguito da un eventuale indice per le tabelle e le figure presenti nel documento. \paragraph{Contenuto principale} + La struttura del contenuto principale di una pagina é strutturato con: + \begin{itemize} + \item in alto a sinistra è presente il logo del gruppo; + \item in alto a destra è riportata la sezione alla quale la pagina appartiene; + \item il contenuto principale è posto tra l'intestazione e il pié di pagina + \item una riga divide il contenuto principale e il pié di pagina; + \item in basso a sinistra è presente il il nome del documenti con relativa versione; + \item in basso a destra riporta il numero della pagina attuale ed il numero totale delle pagine che compongono il documento + \end{itemize} \paragraph{note a piè di pagina} - + Il pié di pagina contiene il titolo e la versione del documento nella parte sinistra, mentre nella parte destra sono presenti il numero della pagina attuale, in numeri romani nel caso la pagina non faccia parte del contenuto preincipale del documento, es. indice, ed il numero totale delle pagine di cui è composto il documento. \subsubsection{Classificazione dei documenti} \paragraph{Documenti ufficiosi} + I documenti ufficiosi sono utilizzati all'interno dell'ambiente di lavoro ed sono divisi in due categorie: + \begin{itemize} + \item \textbf{informativi:} hanno il mero scopo di passare informazioni meno rilevanni tra i membri del gruppo (es. appunti, richieste, riflessioni); + \item \textbf{proto-ufficiali:} sono tutti i documenti che in futuro diventeranno ``ufficiali'' ma sono in attesa di revisione e verifica. + \end{itemize} \paragraph{Documenti ufficiali} + I documenti ufficiali sono tutti quei documenti che: + \begin{itemize} + \item sono stati revisionati, verificati ed approvati dal responsabile di progetto; + \item sono gli unici documenti che possono essere rilasciati all'esterno del gruppo di progetto. + \end{itemize} \paragraph{Verbali} + I verbali hanno lo scopo di riassumere, in modo concreto e preciso, tutti gli argomenti che sono stati discussi in una riunione, sia interna che esterna. È prevista un'unica stesura del verbale per ogni riunione in quanto una modifica ad una decisione avrebbe un effetto retroattivo. I verbali seguono la stessa struttura di tutti gli altri documenti ad eccezione fatta sulla numerazione delle pagine che usa la notazione romana anziché araba. Inoltre, il verbale è suddiviso in: + \begin{itemize} + \item \textbf{introduzione:} essa contiene: + \begin{itemize} + \item \textbf{luogo:} luogo dello svolgimento della riunione; + \item \textbf{data:} data dell'incontro nello standard UNI EN 28601:1993; + \item \textbf{ora di inizio:} l'ora dell'inizio dell'incontro in formato HH:MM; + \item \textbf{ora di fine:} l'ora della fine dell'incontro in formato HH:MM; + \item \textbf{ordine del giorno:} consiste in una lista degli argomenti che il gruppo si è proposto di discutere durante l'incontro; + \item \textbf{presenze:} contiene il numero totale dei partecipanti, la lista dei presenti e la lista degli assenti con eventuale giustifica. + \end{itemize}; + \item \textbf{svolgimento:} è composto da una descrizione approfondita delle decisioni prese per ogni elemento presente nell'ordine del giorno; + \item \textbf{tracciamento delle decisioni:} è un riepilogo in formato tabellare delle decisioni prese durante l'incontro; esso è composto da: + \begin{itemize} + \item \textbf{codice:} del tipo ``VT-X.Y'' dove la prima lettera indica che il documento è un verbale(V), la seconda indica la sua tipologia, esterno(E) o interno(I), seguito da un numero che indica il numero del verbale(X) ed un secondo numero che indica il punto all'ordine del giorno a cui si riferice(Y); + \item \textbf{descrizione:} breve descrizione riassuntiva della decisione presa riguardante il punto dell'ordine del giorno. + \end{itemize}. + \end{itemize} + Ogni verbale dovrá essere denominaro seguendo il formato ``Verbale riunione \#X'', dove la ``X'' corrisponde al numero del verbale in ordine temporale. \paragraph{Glossario} - \paragraph{Lettere} - + Il glossario ha la funzione di disambiguare alcune parole all'interno di determinati contesti. Al suo interno saranno presenti tutte parole con le seguenti caratteristiche: + \begin{itemize} + \item sono presenti in almeno un documento; + \item trattano argomenti di natura tecnica; + \item trattano argomenti ambigui e\/o poco conosciuti; + \item rappresentano delle sigle e\/o degli acronimi. + \end{itemize} + Inoltre, il glossario è strutturato in maniera precisa seguendo due regole: + \begin{itemize} + \item i termini seguono l'ordine lessicografico; + \item ogni termine è spiegato in maniera chiara e in alcun modo ambigua. + \end{itemize} + La stesura del glossario deve avvenire in parallelo alla stesura dei documenti al fine di evitare confusione tra i termini. Inoltre, ogni parola nei documenti, presente nel glossario, deve essere caratterizzata dallo stile ``maiuscoletto'' con il pedice ``G''. + \paragraph{Lettere} + \subsubsection{Norme tipografiche} \paragraph{Convenzioni sui nomi dei file} + Si è deciso di usare la convenzione ``camel case'' per i nomi di file e cartelle. Le regole seguite saranno le seguenti: + \begin{itemize} + \item il nome dei file composti da piú parole avranno la prima lettera minuscola ed ogni parola in seguito inizierá con una maiuscola; + \item tra le parole non sará presente alcunn separatore; + \item le preposizioni non verranno omesse; + \item sono omessi da questa sintassi le estensione dei file. + \end{itemize} + Alcuni esempi corretti sono: + \begin{itemize} + \item studioDiFattibilitá.pdf; + \item immagine.png + \end{itemize} + Alcuni esempi non corretti sono: + \begin{itemize} + \item StudioDiFattibilitá (la prima lettera è maiuscola); + \item studio Di Fattibilitá (usa un carattere separatore); + \item studio\_Di\_Fattibilitá (usa un carattere separatore); + \item studioFattibilitá (omette una preposizione). + \end{itemize} \paragraph{Glossario} + I termini appartenenti al glossario si possono identificare dallo stile della parola, in particolare si è deciso di utilizzare lo stile ``maiuscoletto'' con una ``D'' come pedice, per esempio ????. Inoltre, tutte le parole presenti nei titoli, didascalie e tabelle che appartengono al glossario non verranno segnalate dalla ``G'' \paragraph{Stile del testo} + I vari stili del testo hanno una specifica funzione semantica. + \begin{itemize} + \item \textbf{corsivo:} viene utilizzato per denotare termini tecnici appartenenti ad una particolare tecnologia, esempio \textit{branch}; + \item \textbf{grassetto:} viene utilizzato per evidenziare le parole con la definizione della stessa in seguito, per esempio in un elenco puntato, queste includeranno i due punti in grassetto, per esempio ``\textbf{def.:} abbreviazione per la parola definizione''; oppure per denotare le sezioni e sotto-sezioni dei documenti; + \item \textbf{maiuscoletto:} viene utilizzato per denotare parole che sono: + \begin{itemize} + \item riferimenti a documenti esterni, con pedice una ``D''; + \item appartenenti al glossario, con pedice una ``G''. + \end{itemize} + \end{itemize} \paragraph{Elenchi puntati} + Ogni elemento dell'elenco deve essere seguito da un punto e virgola, fatta eccezione per l'ultimo elemento che sará seguito da un punto; di conseguenza la prima lettera di ogni sentenza deve essere minuscola. Gli elenchi avaranno punto elenco differente a seconda della loro tipologia: + \begin{itemize} + \item per gli elenchi non ordinati si è scelto di usare come punto elenco un cerchietto pieno e come sub-punto elenco il trattino; + \item per gli elenchi ordinati si è optato per un punto elenco ``flessibile'', ossia possono essere usati sia i numeri che i letterali, purché quest'ultimi siano in minuscolo, seguiti da un punto, esempio ``1.'' o ``a.''. + \end{itemize} \paragraph{Formati comuni} - \paragraph{Sigle} + \begin{itemize} + \item \textbf{data:} viene utilizzato lo standard UNI EN 28601:1993, esempio 22 gennaio 2020, per quanto riguarda i verbali, e lo standard ISO 8601, esempio 2020-01-22, per il resto della documentazione; + \item \textbf{ora:} viene utilizzato il formato HH:MM. + \item \textbf{versione:} viene utilizzato il formato vXX.XX.XX. + \end{itemize} + \paragraph{Sigle} + Il progetto richiede la redazione di un insieme di documenti, sotto elencata è la lista dei documenti con relative sigle: + \begin{itemize} + \item documenti esterni: + \begin{itemize} + \item \textbf{analisi dei reguisiti - AdR:} descrive le caratteristiche del software; + \item \textbf{piano di progetto - PdP:} riguarda la gestione del progetto, ossia descrive parametri come fattibilitá, costi, vincoli del progetto; + \item \textbf{piano di qualifica - PdQ:} descrive la qualitá del software e dei processi coinvolti, come e con quali strumenti si intende raggiungere tale qualitá; + \item \textbf{manuale utente - MU:} manuale per gli utilizzatori del software; + \item \textbf{manuale sviluppatore - MS:} manuale per gli sviluppatori e manutentori. + \end{itemize}; + \item documenti interni: + \begin{itemize} + \item \textbf{glossario - G:} raccoglie tutti i termini che necessitano di una disambiguazione e/o una descrizione piú approfondita; + \item \textbf{norme di progetto - NdP:} é una raccolta di tutte le regole e le norme utilizzate durante il ciclo di vita del software; + \item \textbf{studio di fattibilitá - SdF:} descrive i vari capitolati, sia esclusi che scelti, analizzando brevemente il loro pro e contro. + \end{itemize}; + \item \textbf{verbali - V:} essi possono essere sia interni che esterni e descrivono in maniera concisa tutti gli argomenti discussi e le decisione prese durante un incontro. + \end{itemize} + Inoltre, il ciclo di vita del progetto è diviso in quattro fasi: + \begin{itemize} + \item \textbf{revisione dei requisiti - RR:} studio iniziale del capitolato; + \item \textbf{revisione di progettazione - RP:} definizione dell'architettura e della fattibilitá del software; + \item \textbf{revisione di qualifica - RQ:} produzione di codice e descrizione dettagliata delle sue componenti; + \item \textbf{revisione di accettazione - RA:} approvazione del prodotto da parte del cliente e rilascio del software. + \end{itemize} + Altre sigle utilizzate all'interno dei documenti sono: + \begin{itemize} + \item da aggiungere in corso d'opera. + \end{itemize} \subsubsection{Elementi grafici} \paragraph{Tabelle} + Le tabelle sono sempre accompagnate da un titolo ed il numero della tabella, esse sono indicizzate a parte. \paragraph{Immagini} - \paragraph{Diagrammi UML} - + Le immagini sono sempre accompagnate da una didascalia descrittiva ed il numero della figura, esse sono indicizzate a parte. + \paragraph{Diagrammi UML} + I diagrammi UML vengono inseriti all'interno della documentazione sotto forma di immagini. \subsubsection{Strumenti} \paragraph{LaTeX} - \paragraph{TexStudio, TexMaker e TexLive con IDE} \ No newline at end of file + Per la scrittura dei documenti è stato scelto di usare \LaTeX{}, esso è un linguaggio di markup basato sul programma di tipografia digitale \TeX{}. Questo permette di scrivere documentii in maniera modulare e collaborativa. + \paragraph{TexStudio, TexMaker e TexLive con IDE} diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GaranziaQualita.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GaranziaQualita.tex index a8ed3e2..1e2044c 100644 --- a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GaranziaQualita.tex +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GaranziaQualita.tex @@ -1,10 +1,64 @@ -\subsection{Garanzia della qualità} +\subsection{Garanzia della Qualità} \subsubsection{Scopo} + + Si occupa di stabilire una metrica precisa per tutti i servizi nell'ambito della verifica e della validazione, mantenendo un certo grado di qualità che rimanga uniforme e misurabile durante tutto il ciclo di vita del software. + \subsubsection{Aspettative} + + Il sistema qualità deve fornire delle metriche di giudizio uniformi volte a quantificare in maniera comprensibile la correttezza dei documenti e del software. Ciò va unito anche all'affidabilità nello svolgimento dei processi di verifica, che vanno monitorati e guidati nell'intera procedura, senza lasciare a interpretazioni. Pertanto, ci si aspetta: + \begin{itemize} + \item un prodotto software di qualità; + \item una documentazione completa e facilmente comprensibile per tutti; + \item dei processi che seguono dei punti ben specificati per l'analisi di qualità; + \item una comunicazione chiara e semplice delle problematiche relative alla qualità tra i membri del team; + \item una registrazione dei risultati ottenuti. + \end{itemize} + \subsubsection{Descrizione} + + La garanzia della qualità si compone di diversi controlli che devono essere effettuati per: + \begin{itemize} + \item il software; + \item la documentazione; + \item tutti i processi che portano alla realizzazione della documentazione e del software. + \end{itemize} + + Per ogni processo mirato alla qualità si definiscono delle metriche che vengono riportate in ciascuna sezione del presente documento. + La registrazione dei risultati ottenuti dall'analisi della qualità sono salvati con degli appositi report. + \subsubsection{Controllo qualità prodotto} + + La qualità del prodotto viene garantita attraverso l'attuazione dei processi di verifica e validazione basati su fondamenti normativi. In particolare, definiamo quanto segue: + \begin{itemize} + \item \textbf{Verifica:} processo di analisi continua che garantisce qualità dei processi di fornitura del prodotto; + \item \textbf{Validazione:} processo di controllo del prodotto volto a confermare le aspettative, i requisiti e le funzionalità concordate. + \end{itemize} + + L'insieme di questi processi deve portare a un miglioramento continuo del prodotto, che viene sottoposto agli standard di qualità riportati \glock{way of working}. + \subsubsection{Controllo qualità di processo} - \subsubsection{Classificazioni metriche} - \subsubsection{Strumenti} + + La qualità di processo deve essere perseguita nel corso del ciclo di vita del software attraverso i principi di efficacia ed efficienza mirati al prodotto. + Nello specifico definiamo quanto segue: + \begin{itemize} + \item \textbf{Efficacia:} si richiede un prodotto valido in relazione alle aspettative; + \item \textbf{Efficienza:} i processi devono convergere con costi ridotti in termini di risorse a pari qualità di prodotto. + \end{itemize} + + Ciascun processo va migliorato durante la sua esecuzione facendo uso di monitoraggi mirati che permettano di acquisire, attraverso l'esperienza, una risposta critica alla qualità stessa del processo. \\ + + + \paragraph{Standard utilizzati} + + % Da aggiungere - modificare questa parte + + Il miglioramento continuo, inoltre, viene standardizzato da PDCA, SPY e SPICE. % Quale usare? + + + \subsubsection{Classificazioni metriche} % Da mettere nelle singole sezioni delle attività + + Per ciascuna attività, sia che riguardi la documentazione, il software o il monitoraggio di processo, si riporta nella relativa sezione una classificazione delle metriche di qualità. Tali metriche vengono poste come obbiettivo per il raggiungimento di + + \subsubsection{Strumenti} % Ce ne sono? diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestConfigurazione.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestConfigurazione.tex index b97f0d6..3f19b1c 100644 --- a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestConfigurazione.tex +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/GestConfigurazione.tex @@ -1,15 +1,263 @@ -\subsection{Gestione della configurazione} +\subsection{Gestione della Configurazione} - \subsubsection{Scopo} - \subsubsection{Versionamento} - \paragraph{Codice di versionamento} - \paragraph{Tecnologie} - \paragraph{Repository} +% Inizio gestione della configurazione + +\subsubsection{Scopo} + +La gestione della configurazione definisce i principi normativi utili a predisporre il \glock{workspace} per tutto il gruppo, semplificando e automatizzando la conservazione dei documenti e del software. + +\subsubsection{Repository} + +La repository è un luogo remoto in cui vengono mantenuti, salvati e versionati tutti i file che riguardano il progetto per tutto il ciclo di vita del prodotto. Questa risiede in modo condiviso all'interno di \glock{Github} ed è accessibile solamente ai membri del team. + + \paragraph{Integrazione di VCS e ITS con Github} + + La respository fa uso di un \textit{Version Control System} (VCS) di tipo distribuito sotto il motore \textit{Git}, che permette la condivisione dal locale al remoto del proprio spazio di lavoro su un luogo comune. Attraverso l'utilizzo di un web browser, è possibile collegarsi a \textit{Github} e controllare i file contenuti nella repository, usando come indirizzo web: + + \href{http://project.redroundrobin.site}{http://project.redroundrobin.site} + + Inoltre, \textit{Github} integra un \textit{Issue Tracking System} (ITS) che permette di tracciare lo sviluppo tramite ticketing, assegnando a ciascun membro del team una o più \glock{issue} in base alle necessità. + + \paragraph{Configurazione del Workflow} + + Usando \textit{Git}, è possibile clonare e scaricare da remoto tutto il contenuto della repository per averne una copia in locale su cui poterci lavorare, visionando la cronologia dei file modificati ad ogni \glock{commit} da parte di un membro del gruppo. + \textit{Git}, inoltre, include la possibilità di creare dei \glock{branch} (locali e remoti) in cui poter sviluppare in maniera indipendente una funzionalità, che potrà essere integrata successivamente, senza bisogno di stare al passo con gli aggiornamenti della repository. + + Pertanto, si è deciso di stabilire il seguente canone di \glock{workflow} per quanto concerne la documentazione: + \begin{itemize} + \item \verb!master! branch: branch principale su cui vengono fatti i rilasci ad ogni \glock{milestone}; + \item \verb!develop! branch: branch di sviluppo su cui viene fatta integrazione di nuove funzionalità concluse; + \item \verb!feature/xxxx! branch: branch indipendente usato da uno o più membri del gruppo per sviluppare una sezione o fare una revisione di un documento; + \begin{itemize} + \item \textbf{xxxx:} si riferisce al numero della \glock{issue} o al titolo della funzionalità da integrare. + \item il \textit{feature branch} riferisce generalmente una singola \glock{issue} ed è rimosso alla sua chiusura. + \end{itemize} + \end{itemize} + + Ad ogni milestone viene associata una release interna alla repository, così da tenere traccia di una \glock{baseline}. + + \paragraph{Formati dei File} + + \subparagraph{Configurazione} + + In generale, vengono utilizzati alcuni file con formati speciali per la configurazione della repository. Questi file vanno modificati solamente dall'\glock{amministratore}, o su richiesta, in base alle necessità. + \begin{itemize} + \item \textbf{.gitignore} contiene tutte le regole per evitare di caricare nella repository dei formati non autorizzati (es: file eseguibili); + \item \textbf{.yml} contiene la configurazione di una \glock{Github Actions} per dirigere il \glock{Workflow}; + \item \textbf{File senza formati} contengono configurazioni aggiuntive per \glock{Github} (es: template delle \glock{Issue}); + \end{itemize} + + \subparagraph{Documentazione} + + Per la documentazione si usano principalmente i seguenti tipi di file: + \begin{itemize} + \item \textbf{file .tex:} che contiene il codice sorgente \LaTeX{} del documento; + \item \textbf{file .pdf:} che è il documento compilato; + \item \textbf{file .png:} che identifica una immagine; + \item \textbf{file .md:} che identifica un file scritto in \glock{Markdown}, generalmente usato per gli appunti. + \end{itemize} + + \paragraph{Struttura della repository} + + \subparagraph{Configurazione} + + La repository si compone di diverse tipologie di cartelle. Oltre alle cartelle che riguardano la documentazione e il software, è presente una cartella che viene usata ai fini della configurazione di \glock{Github}. + \begin{itemize} + \item \verb!.github/!: cartella per la repository di \glock{Github} con i file di configurazione per le \glock{Github Actions} e l'\glock{Issue Tracking System}. + \end{itemize} + + \subparagraph{Documentazione} + + La documentazione nella repository si compone di 4 cartelle principali: + \begin{itemize} + \item \verb!interni/!: contiene tutta la documentazione interna; + \item \verb!esterni/!: contiene tutta la documentazione esterna; + \item \verb!template/!: contiene tutti i template delle varie tipologie di documento; + \item \verb!notes/!: contiene tutte le note aggiuntive (\textit{non}-\LaTeX{}) sui seminari, le guide e l'organizzazione. + \end{itemize} + + + + +\subsubsection{Versionamento e Rilascio} + + \paragraph{Documentazione} + + Tutti i file che riguardano la documentazione vengono conservati in una repository e ogni documento viene versionato per mezzo di un identificativo, in base alla loro fase di avanzamento. Questo permette di poter fare riferimento alle nuove versioni del documento durante tutto il ciclo di vita del software.\\ + + \subparagraph{Codice di Versionamento} + + Ciascun documento possiede un identificativo di versionamento su ogni pagina che ha il seguente formalismo: + + \[% + \text{v}[\alpha].[\beta].[\gamma] + \] + + \begin{itemize} + \item \((\alpha)\): numero identificativo del rilascio del documento; + \begin{itemize} + \item parte da 0 e non si resetta mai; + \item viene incrementato solo dal responsabile a seguito di una approvazione. + \end{itemize} + \item \((\beta)\): numero identificativo che rappresenta un avanzamento sostanziale dopo le revisioni del documento; + \begin{itemize} + \item parte da 0 e si resetta solo a incrementi di \(\alpha\); + \item viene incrementato solo dai revisori. + \end{itemize} + \item \((\gamma)\): numero rappresentativo di una aggiunta, modifica o eliminazione fatta al documento + \begin{itemize} + \item parte da 0 e si resetta solo a incrementi di \(\beta\) o di \(\alpha\); + \item viene incrementato da un redattore o da un revisore in base alle necessità. + \end{itemize} + \end{itemize} + + \subparagraph{Esempi Codice di Versionamento} + + \begin{itemize} + \item \verb!v0.2.1! + \item \verb!v1.12.1! + \item \verb!v3.0.2! + \end{itemize} + + \subparagraph{Gestione delle modifiche} + + Le modifiche ai documenti vengono gestite seguendo il \textbf{Registro delle Modifiche} presente in tutti i documenti nella pagina successiva al frontespizio. All'interno di questo documento si tiene traccia di ogni aggiunta, modifica, eliminazione, revisione o approvazione da parte di tutti i membri del team. La normativa sul formalismo può essere trovata al paragrafo \S 3.1.6.2. % DA LINKARE E VERIFICARE!! + + \subparagraph{Rilascio} + + Un documento viene rilasciato alle parti proponenti solamente quando vi è un incremento del primo numero (\(\alpha\)), che ne implica una approvazione da parte del responsabile. \\ + Per quanto concerne la distribuzione interna, tutti gli \glock{artefatti} dei documenti realizzati durante la fase di sviluppo sono resi disponibili in modo rapido e automatizzato a tutti i membri del gruppo, a cui vengono notificate tutte le modifiche tramite il \glock{workspace} di \textit{Slack} (vedi \hyperref[sec:cd_docs]{\S 3.2.4.1}). + + \paragraph{Software} + + I sorgenti del software che riguardano la codifica e la configurazione del prodotto da realizzare sono mantenuti nella repository, insieme alla documentazione. Ogni file viene versionato con un apposito storico delle modifiche, mentre l'intero software viene versionato come \glock{baseline} in relazione alle funzionalità presenti e dei requisiti obbligatori implementati. + + + \subparagraph{Codice di Versionamento} + + Il versionamento del software viene eseguito sulla base delle implementazioni effettuate a livello di codifica. + In aggiunta, si definisce una sintassi di stato nella versione per definirne l'usabilità. + + \[% + \text{v}[\delta].[\epsilon].[\mu]\text{-}[\lambda] + \] + + \begin{itemize} + \item \((\delta)\): numero identificativo del rilascio software per una \glock{major release}; + \begin{itemize} + \item parte da 0 e non si resetta mai; + \item viene incrementato solo dopo aver implementato tutti i requisiti obbligatori. + \end{itemize} + \item \((\epsilon)\): numero identificativo per una \glock{minor release}; + \begin{itemize} + \item parte da 0 e si resetta solo a incrementi di \(\delta\); + \item viene incrementato solo dopo l'implementazione di uno o più requisiti. + \end{itemize} + \item \((\mu)\): numero rappresentativo per una \glock{patch}; + \begin{itemize} + \item parte da 0 e si resetta solo a incrementi di \(\epsilon\) o di \(\delta\); + \item viene incrementato a ogni modifica di uno o più requisiti e ad ogni cambio di configurazione del software. + \end{itemize} + \item \((\lambda)\): sigla che identifica uno stato del software; può avere i seguenti significati in ordine crescente di stato: \begin{itemize} - \item Struttura - \item Utilizzo di git - \item Tipi di file e .gitignore + \item \verb!dev!: derivante da \textbf{dev}elopment, versione ancora in sviluppo. + \begin{itemize} + \item software non completo, che ha ricevuto aggiunte, modifiche o eliminazioni recenti; + \item può contenere errori che fanno fallire i test; + \item \textbf{non} si presta all'uso di un utente finale. + \end{itemize} + \item \verb!rc!: \textbf{r}elease \textbf{c}andidate, versione candidata al rilascio; + \begin{itemize} + \item software che contiene tutti o una parte dei requisiti obbligatori richiesti; + \item passa tutte le tipologie di test; + \item si presta all'uso di un utente finale. + \end{itemize} + \item \verb!stable!: versione \textbf{stabile}, pronta al rilascio pubblico; + \begin{itemize} + \item software completo che implenta tutti i requisiti obbligatori; + \item passa tutte le tipologie di test ed è validato; + \item può essere collaudato con il proponente e/o pubblicato. + \end{itemize} \end{itemize} - \paragraph{Gestione delle modifiche} + \end{itemize} + + Una versione del software subisce un incremento di stato in base alla verifica da parte del meccanismo automatico di \glock{test}. In particolare: + \begin{itemize} + \item una versione può ricevere lo stato di \verb!rc! solo se il primo numero (\(\delta\)) o il secondo numero (\(\epsilon\)) è diverso da 0; + \item una versione può ricevere lo stato di \verb!stable! solo se il primo numero (\(\delta\)) è diverso da 0; + \end{itemize} + + \subparagraph{Esempi Codice di Versionamento} + + \begin{itemize} + \item \verb!v0.3.5-dev! : versione non completa, non usabile e forse funzionante. + \item \verb!v0.7.0-rc! : versione non completa, usabile, funzionante e con alcuni requisiti implementati. + \item \verb!v1.0.0-rc! : versione forse completa, usabile, funzionante e in attesa di validazione. + \item \verb!v1.0.0-stable! : versione completa, usabile, funzionante, verificata e validata. + \end{itemize} + + \subparagraph{Rilascio} + + Le release del software vengono eseguite internamente nella \glock{repository} in base alle funzionalità sviluppate. Inoltre, i rilasci interni saranno normati come segue: + \begin{itemize} + \item le versioni \verb!stable! e/o \glock{Major Release} devono essere approvate dall'\glock{amministratore} e dal \glock{responsabile}. + \item le versioni \verb!rc! e/o \glock{Minor Release} devono essere approvate, previa notifica di conferma di tutti i \glock{test}, dall'\glock{amministratore} e dai \glock{verificatori}. + \item le versioni \verb!dev! e/o \glock{Patch} non richiedono approvazione e possono essere rilasciate autonomamente dal \glock{programmatore}. + \end{itemize} + + \paragraph{Tecnologie} + + Le tecnologie coinvolte per la configurazione del workflow del progetto sono essenzialmente di 2 tipologie: + \begin{itemize} + \item Tecnologie per le comunicazioni e lo scheduling delle riunioni; + \item Tecnologie per la repository, con integrazione di soluzioni DevOps per lo sviluppo del software e dei documenti. + \end{itemize} + + \subparagraph{Comunicazioni e Riunioni} + + Le comunicazioni vengono gestite sfruttando tutte le potenzialità di \glock{Slack}, il quale permette di creare un \textit{workspace} con degli appositi canali di comunicazione. Si usano i seguenti canali e prefissi: + \begin{itemize} + \item \verb!#announcement:! canale di annunci importanti; + \item \verb!#offtopic:! canale di svago per parlare di argomenti extra-lavorativi; + \item \verb!#gen_[*]:! canali generali per il software e la documentazione; + \item \verb!#bot_[*]:! canali dedicati per le notifiche di \glock{Github} e di \glock{Google}; + \item \verb!#int_[*]:! canali specifici per i documenti interni di progetto; + \item \verb!#ext_[*]:! canali specifici per i documenti esterni di progetto; + \item \verb!#devops_[*]:! canali di notifica per le operazioni di \glock{DevOps} per i documenti interni di progetto. + \end{itemize} + + Per organizzare le riunioni si fa uso di \textbf{Google Calendar}, grazie a cui è possibile fissare degli appuntamenti sul calendario comune di tutti, notificando o meno la propria presenza. + In modo più informale, infine, si fa anche uso di una chat di \textbf{Telegram} per coordinarsi su eventuali cambi di luogo o per discutere di argomenti extra-lavorativi. + + \subparagraph{DevOps} + + La repository, che fa uso di \glock{Github}, integra nativamente uno strumento denominato \glock{Github Actions} che permette la configurazione delle seguenti operazioni \glock{DevOps}: + \begin{itemize} + \item \textbf{Continuous Build:} compilazione continua dei sorgenti software; + \item \textbf{Continuous Integration:} integrazione continua del software con uso di \glock{Test}; + \item \textbf{Continuous Delivery:} consegna continua del software sfruttando gli incrementi minori per eseguire test più spesso; + \item \textbf{Continuous Deployment:} distribuzione continua e messa in funzione del software; + \item \textbf{Notification \& Monitoring:} invio di notifiche ai membri del team e monitoraggio delle attività di \glock{DevOps}. + \end{itemize} + + Nel nostro caso, le \glock{Github Actions} permettono di fare in un'unica configurazione i passaggi fondamentali in base al \glock{workflow} che ci interessa svolgere. + + + +\subsubsection{Processi di DevOps} % Da verificarne la posizione e il contenuto + + \paragraph{Countinuous Deployment dei documenti} + \label{sec:cd_docs} + + La repository è stata configurata per garantire una buona accessibilità e correttezza nello sviluppo dei documenti di progetto da parte dei membri del team. A tal proposito, è stato messo in atto un processo di \glock{Continuous Deployment} in ambiente di sviluppo, per avere sempre disponibili gli ultimi documenti modificati. + + \begin{enumerate} + \item Ad ogni \glock{commit} del branch \verb!develop!, viene fatta una \glock{build} di tutti i documenti modificati; + \item la \glock{build} crea un \glock{artefatto} con tutti i documenti PDF, che viene salvato online, oltre che nella repository, e reso disponibile per essere visionato da remoto: + \begin{itemize} + \item \href{https://artifacts.redroundrobin.site}{artifacts.redroundrobin.site} + \end{itemize} + \item Tramite gli appositi canali di comunicazione, vengono notificati tutti i membri del team delle nuove modifiche. + \end{enumerate} - \ No newline at end of file + Nel caso di \textbf{errori} nella compilazione dei file, viene inviato un avviso all'ultima persona che ha eseguito il \glock{commit} e vengono mantenuti gli ultimi file correttamente compilati. diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/ProcDiRisoluzioneDeiProblemi.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/ProcDiRisoluzioneDeiProblemi.tex new file mode 100644 index 0000000..a389782 --- /dev/null +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/ProcDiRisoluzioneDeiProblemi.tex @@ -0,0 +1,59 @@ +\subsection{Processo di risoluzione dei problemi} + + Il processo di risoluzione dei problemi definisce una procedura da seguire per analizzare e rimuovere dei problemi, qualsiasi sia la loro origine, scoperti durante l'esecuzione del processo di sviluppo, di manutenzione o di altri processi. + + \subsubsection{Scopo} + L'obiettivo del processo di risoluzione dei problemi è quello di fornire un mezzo tempestivo, efficace e documentato per assicurarsi che tutti i problemi vengano analizzati, documentati, risolti e, in un'ottica di miglioramento continuo evitati. + + \subsubsection{Aspettative} + Instanziando questo processo si intende ottenere: + \begin{itemize} + \item Una qualità della documentazione e del codice più elevata; + \item Un modo efficiente ed efficace per trovare e correggere errori evitando che si propaghino; + \item Un tracciamento continuo degli errori più comuni e delle loro fonti, in modo tale da risolverli all'origine. + \end{itemize} + \subsubsection{Attività} + \paragraph{Implementazione del processo} + Il processo di risoluzione dei problemi dovrà essere instanziato ogni volta che sarà necessario gestire un problema e dovrà soddisfare i seguenti requisiti: + \begin{enumerate} + \item Il processo dovrà essere un ciclo chiuso, assicurandosi che: + \begin{itemize} + \item tutti i problemi rilevati dovranno essere prontamente riportati ed immessi nel Processo di risoluzione dei problemi; + \item dovranno essere avvisate le parti interessate; + \item le cause dovranno essere identificate, analizzate e nel limite del possibile rimosse. + \end{itemize} + + \item Il processo utilizzerà uno schema per categorizzare e dare la giusta priorità ai problemi scovati. + + \begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|c|c|c|} + \hline + \rowcolor{lighter-grayer} + \textbf{Processo} & \textbf{Priorità} & \textbf{Tipologia} & \textbf{Identificativo}\\ + \hline + \endfirsthead + \hline + + \end{longtable} + \end{center} + + La priorità potrà avere i seguenti valori: + \begin{itemize} + \item \textbf{A}, richiedendo quindi una tempestiva risoluzione; + \item \textbf{B}, per problemi la cui risoluzione poptrebbe aggravarsi nel tempo; + \item \textbf{C}, se il problema ha una possibilità molto ridotta di aggravarsi o provocare altri problemi. + \end{itemize} + La tipologia avrà invece i seguenti valori: + \begin{itemize} + \item \textbf{O}, per i problemi ortografici + \item \textbf{C}, per problemi legati al contenuto + \end{itemize} + L'identificativo sarà un numero progressivo a partire da 1. + + \item Verranno effettuate delle analisi per verificare la presenza di trend nei problemi riportati. + + \item Il procedimento di risoluzione dei problemi verra valutato: si valuterà che i problemi siano stati effettivamente risolti, che gli eventuali trend siano stati annullati ed infine che non siano stati introdotti altri errori. + \end{enumerate} + \paragraph{Risoluzione del problema} + Quando uno o più problemi saranno scovati, nel prodotto software o in un'attività, dovràessere preparato un report per ogni problema individuato. Lo stesso report dovrà essere parte integrante del procedimento che è stato descritto nell'attività di instanziazione del processo. diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Validazione.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Validazione.tex index 6543a1d..d855979 100644 --- a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Validazione.tex +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Validazione.tex @@ -1,7 +1,15 @@ \subsection{Validazione} \subsubsection{Scopo} + Lo scopo del processo di validazione consiste nel garantire che il prodotto rispetta le richieste del committente, e quindi che esegue correttamente. \subsubsection{Aspettative} + Per garantire che venga raggiunto lo scopo del processo di validazione, si eseguono le attività con dei test documentati e l'output generato corrisponde a quello aspettato. \subsubsection{Descrizione} + Il processo di validazione esegue il test completo sul sistema affinchè sia chiaro se sono state rispettate le necessità del committente, il che porta a definire se il prodotto esegue in modo corretto. Per poter effettuare questo processo è necessario che venga eseguito dopo il processo di verifica, in modo che tutte le unità del sistema permettano il test completo su di esso. \subsubsection{Attività} - \ No newline at end of file + \paragraph{Test}\mbox{}\\ + I test eseguiti in questo processo riguardano il test sul sistema, eseguito internamente, e il test di accettazione, eseguito insieme al committente. + \subparagraph*{Test di sistema} + Dopo aver eseguito i test su tutte le unità e sulla loro integrazione, si testa il sistema nella sua interezza. Viene testato se le interazioni tra le varie componenti del sistema ritornano il risultato atteso o meno in concordanza con ciò che è stato definito nel processo di analisi dei requisiti. + \subparagraph*{Test di accettazione} + Anche detto "test di collaudo" è il test eseguito su input definiti dal committente in modo da verificare se l'output atteso da esso è corretto o meno. \ No newline at end of file diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Verifica.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Verifica.tex index a6ae746..a182ad4 100644 --- a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Verifica.tex +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/Verifica.tex @@ -1,17 +1,54 @@ \subsection{Verifica} - \subsubsection{Scopo} - \subsubsection{Aspettative} - \subsubsection{Descrizione} - \subsubsection{Attività} - \paragraph{Analisi statica e dinamica} - \paragraph{Test} - \subparagraph*{Test di unità} - \subparagraph*{Test di integrazione} - \subparagraph*{Test di sistema} - \subparagraph*{Test di non regressione} - \subparagraph*{Test di accettazione} + \subsubsection{Scopo} + + Il processo di verifica ha lo scopo di capire se il prodotto è realizzato nel modo corretto secondo delle regole stabilite. + + \subsubsection{Aspettative} + + Lo svolgimento del processo di verifica sarà garantito seguendo determinati punti: + + \begin{itemize} + \item Definizione di criteri di accettazione; + \item Prescrizione delle attività di verifica con relativa documentazione; + \item Test di verifica; + \item Correzione di eventuali \glock{difetti}. + \end{itemize} + + \subsubsection{Descrizione} + La verifica consiste nel cercare e risolvere possibili \glock{difetti} all'interno della documentazione e del codice prodotto. Il completamento del processo di verifica rende possibile l'esecuzione del processo di validazione. + \subsubsection{Attività} + \paragraph{Analisi statica e dinamica} + \subparagraph{Analisi statica}\mbox{}\\ + L'analisi statica viene effettuata sulla documentazione e sul codice senza necessità di eseguire il prodotto e serve per verificare che non ci siano errori o \glock{difetti}. I due tipi di analisi statica sono: + \begin{itemize} + \item Walkthrough: consiste nell'analizzare i vari documenti e file in tutto il loro contenuto per trovare eventuali \glock{difetti}. Il verificatore controlla se sono presenti \glock{difetti} e, in caso ne trovi, la correzione verrà effettuata dagli sviluppatori; + \item Inspection: in questa tecnica si conosce dove possono trovarsi i possibili \glock{difetti}, quindi non si analizzano i documenti e file per intero, ma solo le parti in cui di solito sono presenti. Il verificatore compone una lista di controllo (checklist) inserendo i punti in cui si possono rilevare possibili \glock{difetti}, controlla in quei punti della lista e, se trova delle incorrettezze, la correzione viene poi effettuata dagli sviluppatori. \\ + Di seguito alcuni possibili punti in cui trovare \glock{difetti} all'interno della documentazione: + \begin{itemize} + \item Elenchi puntati; + \item Formato Date; + \item Parole/frasi in grassetto/corsivo; + \item Uso di riferimenti appropriati al Glossario/Documento. + \end{itemize} + \end{itemize} + \subparagraph{Analisi dinamica}\mbox{}\\ + L'analisi dinamica è una tecnica per cui è necessaria l'esecuzione dell'oggetto di verifica, e consiste nell'attività di test. - \subsubsection{Strumenti} - \paragraph{Verifica ortografica} - \ No newline at end of file + \paragraph{Test} + I test fanno parte dell'attività di analisi dinamica e servono per individuare possibili errori di funzionamento del codice. Per effettuare i test, essi devono essere automatizzati, tramite strumenti appositi, e ripetibili, ovvero devono essere definiti: + \begin{itemize} + \item l'ambiente di sviluppo e lo stato iniziale; + \item le istruzioni eseguite; + \item i dati di input e i dati di output attesi. + \end{itemize} + \subparagraph*{Test di unità} + Test eseguiti sul funzionamento di unità di software in modo automatico: viene definito l'input e l'output atteso per verificare il corretto funzionamento dell'unità. + \subparagraph*{Test di integrazione} + Test eseguiti su componenti del software per verificare se l'insieme di unità si interfaccia come dovrebbe. Questo test è eseguito in modo ricorrente, ogni volta che un insieme di unità esegue correttamente, esso viene integrato con altri insiemi di unità, fino al test completo sul sistema. + \subparagraph*{Test di regressione} + Test eseguito ogni volta che un'unità viene modificata allo scopo di trovare \glock{difetti} nelle funzionalità già testate, potendo garantire che le funzionalità preesistenti non abbiano cambiato comportamento. Si rieseguono tutti i test necessari affinchè si possa essere certi che la modifica non causa il funzionamento scorretto di altre unità collegate all'unità modificata. + + \subsubsection{Strumenti} + \subparagraph{Text Studio} + Sono stati utilizzati i \glock{correttori ortografici} integrati nell'\glock{ide} \glock{Text Studio} per la trascrizione della documentazione. \ No newline at end of file diff --git a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/processiSupporto.tex b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/processiSupporto.tex index 6e73f7b..792c148 100644 --- a/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/processiSupporto.tex +++ b/interni/norme_progetto/res/sections/Sez3-ProcessiSupporto/processiSupporto.tex @@ -2,6 +2,7 @@ \section{Processi di supporto} \yetAnotherSectionNamed{Sez3-ProcessiSupporto/Documentazione} \yetAnotherSectionNamed{Sez3-ProcessiSupporto/GestConfigurazione} +\yetAnotherSectionNamed{Sez3-ProcessiSupporto/ProcDiRisoluzioneDeiProblemi} \yetAnotherSectionNamed{Sez3-ProcessiSupporto/GaranziaQualita} \yetAnotherSectionNamed{Sez3-ProcessiSupporto/Verifica} \yetAnotherSectionNamed{Sez3-ProcessiSupporto/Validazione} \ No newline at end of file diff --git a/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/FormazionePersonale.tex b/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/FormazionePersonale.tex index 8570421..87b5a9e 100644 --- a/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/FormazionePersonale.tex +++ b/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/FormazionePersonale.tex @@ -1,11 +1,18 @@ \subsection{Formazione del personale} -\subsubsection{Scopo} + \subsubsection{Scopo} + I membri del gruppo Red Round Robin sono tenuti a formarsi individualmente sulle tecnologie richieste per il completamento del progetto e, nel caso di incomprensioni o problemi nell'utilizzo di esse, il proponente si dichiara disponibile a corsi di formazione e chiarimenti. + + \subsubsection{Descrizione} + Ogni persona dovrà quindi auto documentarsi sui linguaggi e gli strumenti di programmazione che verranno utilizzati per tutto il periodo di sviluppo del progetto, se sconosciuti. + + \subsubsection{Piano di formazione} + Di seguito verranno elencate le tecnologie ed i linguaggi di programmazione necessari per lo svolgimento del capitolato con i relativi link al sito ufficiale: + \begin{itemize} + \item \textbf{Java}: \href{https://www.java.com/}{www.java.com} + \item \textbf{\LaTeX{}:} \href{www.latex-project.org}{www.latex-project.org;} + \item \textbf{GitHub}: \href{www.github.com}{www.github.com.} + \item \textbf{Bootstrap}: \href{https://getbootstrap.com/}{www.getbootstrap.com} + \item \textbf{Apache Kafka}: \href{https://kafka.apache.org/}{www.kafka.apache.org} + \end{itemize} - \subsubsection{Descrizione} - - \subsubsection{Guida sui linguaggi di programmazione} - - \subsubsection{Guida sugli strumenti di programmazione} - - \subsubsection{Corsi formativi aggiuntivi} \ No newline at end of file diff --git a/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/GestProcessi.tex b/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/GestProcessi.tex index b537704..e7fbc42 100644 --- a/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/GestProcessi.tex +++ b/interni/norme_progetto/res/sections/Sez4-ProcessiOrganizzativi/GestProcessi.tex @@ -1,22 +1,192 @@ -\subsection{Gestione dei processi} +\subsection{Gestione dei Processi} - \subsubsection{Scopo} - - \subsubsection{Descrizione} - - \subsubsection{Ruoli di progetto} - \paragraph{Responsabile di progetto} - \paragraph{Amministratore di progetto} - \paragraph{Analista} - \paragraph{Progettista} - \paragraph{Programmatore} - \paragraph{Verificatore} - - - \subsubsection{Procedure} - \paragraph{Gestione delle comunicazioni} - \paragraph{Gestione degli incontri} - \paragraph{Gestione degli strumenti di coordinamento} - \paragraph{Gestione dei rischi} - - \subsubsection{Strumenti} \ No newline at end of file + \subsubsection{Scopo} + + Il processo di gestione dei processi ha lo scopo di: + + \begin{itemize} + \item identificare i possibili rischi e definirne la gestione; + \item definire un modello di sviluppo; + \item pianificare i task da svolgere in base alle scadenze temporali; + \item calcolare un preventivo in termini di ore e costi suddiviso per ruoli; + \item calcolare un preventivo a finire delle risorse richieste, visto il consuntivo di periodo. + \end{itemize} + + \subsubsection{Aspettative} + + Le principali aspettative del processo di gestione dei processi sono: + + \begin{itemize} + \item agire preventivamente per evitare i rischi identificati e, qualora si verificassero, limitare le loro ripercussioni sull'efficacia e l'efficienza del lavoro svolto dal gruppo; + \item effettuare una pianificazione ragionevole dei task da svolgere ed assegnarli in modo equilibrato ai diversi ruoli, tenendo conto dei tempi e delle risorse disponibili; + \item gestire i componenti del gruppo e i loro task in modo da facilitare la collaborazione e la comunicazione interna tra di loro; + \item mantenere sotto controllo l'andamento del progetto, monitorando il lavoro svolto dal gruppo in modo tale da non comprometterne l'efficienza. + \end{itemize} + + \subsubsection{Descrizione} + + Le attività previste dal processo di gestione dei processi sono raccolte nel \textit{Piano di Progetto}, la cui redazione è in carico al responsabile, con la collaborazione dell'amministratore. + \newline + Nello specifico, sono trattati: + + \begin{itemize} + \item introduzione; + \item analisi dei rischi, classificazione degli stessi; + \item istanziazione dei processi che realizzano il modello di sviluppo adottato; + \item pianificazione dei task e assegnazione degli stessi ai ruoli di progetto; + \item stima dei costi in termini di tempo e risorse; + \item calcolo delle risorse necessarie per terminare il progetto, visto il bilancio del lavoro svolto nel periodo; + \item revisione delle attività sulla base dei riscontri dei rischi. + \end{itemize} + + \subsubsection{Ruoli di Progetto} + + Ogni membro del gruppo deve ricoprire più ruoli, i quali sono cambiati a rotazione con una frequenza che permetta ad ogni componente di assumere almeno una volta ogni ruolo previsto per il progetto e, allo stesso tempo, di garantire la continuità delle attività in corso. + \newline + Le attività assegnate ad ogni ruolo sono programmate ed organizzate nel \textit{Piano di Progetto}. + \newline + Di seguito vengono descritti tutti i ruoli richiesti dal progetto. + + \paragraph{Responsabile} + + Il responsabile accentra tutte le responsabilità di pianificazione, controllo, gestione e coordinamento di attività e risorse all'interno del progetto. Inoltre svolge la funzione di intermediario verso le persone esterne al gruppo, quali committente e proponente del capitolato, ed è il responsabile ultimo dei risultati del progetto. + \newline + In particolare si occupa di: + + \begin{itemize} + \item elaborare ed emanare piani e scadenze; + \item approvare l'emissione dei documenti; + \item coordinare le attività, le risorse e i componenti del gruppo; + \item gestire le criticità incontrate dal gruppo; + \item redigere l'\textit{Organigramma} e il \textit{Piano di Progetto}; + \item approvare l'\textit{Offerta} sottoposta al committente. + \end{itemize} + + \paragraph{Amministratore} + + L'amministratore è incaricato della gestione dell'ambiente di lavoro. + \newline + All'interno del gruppo egli: + + \begin{itemize} + \item è responsabile dell'efficacia e dell'efficienza dell'ambiente di sviluppo e di tutte le installazioni di supporto; + \item è responsabile della redazione ed attuazione dei piani e delle procedure per la gestione della qualità; + \item controlla le versioni e le configurazioni del prodotto; + \item gestisce la documentazione del progetto; + \item collabora alla redazione del \textit{Piano di Progetto}; + \item redige le \textit{Norme di Progetto}. + \end{itemize} + + \paragraph{Analista} + + L'analista è il responsabile di tutte le attività di analisi svolte durante l'\textit{Analisi dei Requisiti}, al cui termine hanno fine anche tutti i sui incarichi all'interno del gruppo. Egli infatti è una figura che non è presente all'interno del gruppo per tutta la durata del progetto. + \newline + L'analista ha il compito di: + + \begin{itemize} + \item studiare il dominio applicativo del progetto; + \item definire i requisiti del progetto; + \item redigere lo \textit{Studio di Fattibilità} e l'\textit{Analisi dei Requisiti}. + \end{itemize} + + \paragraph{Progettista} + + Il progettista è il responsabile di tutte le attività di progettazione svolte durante la \textit{Progettazione dell'Architettura} e la \textit{Progettazione di Dettaglio}. + \newline + Il progettista deve: + + \begin{itemize} + \item prendere decisioni riguardanti gli aspetti tecnici del progetto, favorendo l'efficacia e l'efficienza; + \item definire l'architettura del prodotto da sviluppare, perseguendo la sua efficienza, efficacia e manutenibilità, tramite l'utilizzo di apposite tecnologie individuate a partire dai requisiti definiti dall'analista; + \item redigere la \textit{Specifica Tecnica}, la \textit{Definizione di Prodotto} e la parte pragmatica del \textit{Piano di Qualifica}. + \end{itemize} + + \paragraph{Programmatore} + + Il programmatore è il responsabile di tutte le attività di codifica effettuate per lo sviluppo del progetto. + \newline + In particolare, il programmatore è responsabile: + + \begin{itemize} + \item dell'implementazione della \textit{Specifica Tecnica} redatta dal progettista; + \item della codifica mirata alla realizzazione del prodotto; + \item della codifica di componenti di ausilio necessarie per l'esecuzione delle prove di verifica e validazione. + \end{itemize} + + \paragraph{Verificatore} + + Il verificatore è il responsabile di tutte le attività di verifica dei documenti e del codice scritti dagli altri componenti del gruppo. Il suo compito è quello di trovare errori, di qualunque tipo, nei prodotti che controlla e di segnalare tali errori a chi ha la responsabilità diretta sul quel prodotto, in modo che possa apportare le dovute correzioni. + \newline + Il verificatore non ha il compito di correggere gli errori rilevati, deve quindi: + + \begin{itemize} + \item esaminare i prodotti in fase di revisione, utilizzando le tecniche e gli strumenti definiti nelle \textit{Norme di Progetto}; + \item indicare eventuali errori riscontrati nel prodotto in esame; + \item segnalare eventuali errori rilevati al responsabile dell'oggetto in fase di verifica, in modo che possa correggerli. + \end{itemize} + + \subsubsection{Procedure} + + Sono state definite delle procedure da adottate all'interno del gruppo durante la realizzazione del progetto, le quali hanno lo scopo di regolamentare tutte le operazioni di gestione e coordinamento del lavoro, con il fine di garantire efficacia ed efficienza. + + \paragraph{Gestione delle Comunicazioni} + + \subparagraph{Comunicazioni Interne} + + Le comunicazioni interne riguardano i soli membri del gruppo e sono volte a favorire la collaborazione e la suddivisione del lavoro tra i componenti stessi.\newline + Sono state individuate due categorie principali di comunicazioni: + + \begin{itemize} + \item \textbf{relative agli incontri:} finalizzate ad organizzare gli incontri interni, in base alle necessità e alle disponibilità dei singoli membri del gruppo. + \newline + Come strumento è stato scelto \textit{Telegram}, tramite il quale è stato creato un gruppo in cui ogni componente può interagire con gli altri comunicando le proprie disponibilità. + \item \textbf{relative al lavoro:} finalizzate alla discussione dei task da svolgere e delle criticità incontrate durante la loro esecuzione. + \newline + Come strumento è stato scelto \textit{Slack}, tramite il quale è stato creato un \textit{workspace} del gruppo al cui interno sono stati creati diversi canali separati, uno per ogni task in svolgimento, nei quali ogni membro può scrivere ed ottenere informazioni riguardanti lo stato di progresso del lavoro e le eventuali problematiche riscontrate, facilitando la collaborazione. + \end{itemize} + + \subparagraph{Comunicazioni Esterne} + + Le comunicazioni esterne riguardano, oltre ai membri del gruppo, anche il committente e l'azienda proponente, la quale si interfaccia con il gruppo tramite un suo referente interno. L'interazione con le figure esterne è di sola competenza del responsabile, il quale provvederà a tenere costantemente aggiornato il gruppo riguardo gli sviluppi del suo operato. + \newline + Lo strumento predefinito per le comunicazioni esterne è la posta elettronica, per la quale il gruppo ha previsto una casella unica all'indirizzo \href{mailto:info@redroundrobin.site}{info@redroundrobin.site}, accessibile in lettura da parte di tutti i componenti e in scrittura solamente da parte del responsabile. + + \paragraph{Gestione degli Incontri} + + In caso di necessità, il responsabile può organizzare delle riunioni volte a trattare argomenti critici, che richiedono un confronto diretto tra tutti i componenti del gruppo ed, eventualmente, con il proponente. + \newline + Ogni incontro dovrà essere fissato in accordo con tutti i partecipanti, in base alle loro disponibilità. Per semplificarne la gestione, il responsabile deve creare un apposito evento su \textit{Google Calendar}, tramite l'account del gruppo, con tutte le informazioni riguardanti la riunione. L'evento deve poi essere condiviso con tutti i componenti del gruppo, in modo che ne possano prendere visione ed essere immediatamente informati di eventuali modifiche tramite il servizio email di notifica di \textit{Google}. + \newline + Il responsabile deve curare l'organizzazione delle riunioni comunicando preventivamente: + + \begin{itemize} + \item la data; + \item l'ora; + \item il luogo o la piattaforma online, in caso di incontri virtuali; + \item l'ordine del giorno con gli argomenti da trattare; + \item il segretario, scelto tra i componenti del gruppo e incaricato di prendere nota delle discussioni effettuate per poi redigere il verbale della riunione. + \end{itemize} + + \subparagraph{Incontri Interni} + + Agli incontri interni partecipano solamente i membri del gruppo, i quali sono tenuti a farsi trovare nel luogo prestabilito entro l'orario indicato. + \newline + Sono ammessi ritardi e assenze giustificate se segnalati con sufficiente anticipo da permettere, al responsabile di apportare le dovute modifiche al programma della riunione, e a tutti gli altri partecipanti di prenderne visione. + \newline + Gli incontri avvengono principalmente di persona, nei casi in cui non è possibile utilizzare questa modalità, viene impiegato un server \textit{Discord} dedicato che permette di svolgere riunioni virtuali tramite chiamata vocale di gruppo. + + \subparagraph{Incontri Esterni} + + Negli incontri esterni, assieme ai membri del gruppo, sono coinvolti anche uno o più rappresentanti dell'azienda proponente. + \newline + Data la presenza di persone esterne, questi incontri assumono una criticità maggiore, che deve essere opportunamente gestita dal responsabile tramite un'opportuna gestione delle comunicazioni che punti a mediare tra l'interno del gruppo e gli individui esterni. + \newline + Data la complessità dell'organizzazione, ritardi e assenze da parte dei componenti del gruppo sono da evitare, a meno di un'opportuna giustificazione non preventivabile. + + \subparagraph{Verbali degli Incontri} + + \paragraph{Gestione degli Strumenti di Coordinamento} + + \paragraph{Gestione dei Rischi} + + \subsubsection{Strumenti} \ No newline at end of file diff --git a/interni/studio_fattibilita/res/configurazione.tex b/interni/studio_fattibilita/res/configurazione.tex index eda42a9..96294fa 100644 --- a/interni/studio_fattibilita/res/configurazione.tex +++ b/interni/studio_fattibilita/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,6 +23,21 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -67,9 +82,11 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} + +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} + % Colori link @@ -143,3 +160,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/interni/studio_fattibilita/res/registro.tex b/interni/studio_fattibilita/res/registro.tex index 11d9f96..790b407 100644 --- a/interni/studio_fattibilita/res/registro.tex +++ b/interni/studio_fattibilita/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ diff --git a/interni/studio_fattibilita/res/sections/CapitolatoC4.tex b/interni/studio_fattibilita/res/sections/CapitolatoC4.tex index 8bd2e92..89a06b6 100644 --- a/interni/studio_fattibilita/res/sections/CapitolatoC4.tex +++ b/interni/studio_fattibilita/res/sections/CapitolatoC4.tex @@ -5,7 +5,6 @@ \subsection{Capitolato 4 - Predire in Grafana} \begin{itemize} %enumerate per elenco puntato numerato \item \textbf{Nome:} Predire in Grafana - Monitoraggio predittivo per DevOps \item \textbf{Proponente:} Zucchetti SPA - \item \textbf{Link:} https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C4.pdf \end{itemize} \subsubsection{Descrizione capitolato} @@ -30,19 +29,20 @@ \subsection{Capitolato 4 - Predire in Grafana} \item \textbf{JavaScript:} linguaggio non tipizzato orientato ad oggetti sia client side (JS, JQuery) che server side (AJAX, Node.JS). \end{itemize} - \subsubsection{Aspetti positivi:} + \subsubsection{Aspetti positivi} \begin{itemize} \item L’azienda, consapevole del fatto che gli algoritmi di Machine Learning non fanno parte del corso di studi della laurea triennale, è disponibile alla formazione ed alla fornitura di questi tipi di algoritmi; \item I requisiti obbligatori del capitolato sono basilari dando la possibilità di ampliare notevolmente il progetto con i requisiti opzionali; \item Uso di un linguaggio flessibile, all'avanguardia e richiesto sul mercato. \end{itemize} - \subsubsection{Criticità:} + \subsubsection{Criticità} \begin{itemize} \item Integrare un sistema già esistente con consequente innalzamento delle ore di documentazione sul sistema, oltre che sulle tecnologie; \item Le tecnologie di Machine Learning non sono ancora ben chiare al gruppo; \item Necessita uno studio approfondito della documentazione di vare suit e programmi per poter avere un'idea più concreta del progetto. \end{itemize} - \subsubsection{Conclusioni:} - Il capitolato ha stimolato un discreto interesse nel gruppo, nonostante le sue criticità, dal momento che si usano tecnologie importanti e consente di acquisire conoscenze spendibili nel mondo reale. Il gruppo ha espresso un giudizio ...todo..... nei confronti di questo capitolato. + \subsubsection{Conclusioni} + Il capitolato ha stimolato un discreto interesse nel gruppo dal momento che si usano tecnologie importanti e consente di acquisire conoscenze spendibili nel mondo reale. L'idea di integrare un sistema già esistente però ha convinto il gruppo ad orientarsi su un altro capitolato. + diff --git a/interni/studio_fattibilita/res/sections/CapitolatoC5.tex b/interni/studio_fattibilita/res/sections/CapitolatoC5.tex index 1f57872..9e815c9 100644 --- a/interni/studio_fattibilita/res/sections/CapitolatoC5.tex +++ b/interni/studio_fattibilita/res/sections/CapitolatoC5.tex @@ -4,7 +4,6 @@ \subsection{Capitolato 5 - Stalker} \begin{itemize} \item \textbf{Nome:} Stalker \item \textbf{Proponente:} Imola Informatica - \item \textbf{Link:} https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C5.pdf \end{itemize} \subsubsection{Descrizione capitolato} @@ -36,20 +35,21 @@ \subsection{Capitolato 5 - Stalker} \item Utilizzo dell’IAAS Kubernetes o di un PAAS, Openshift o Rancher, per il rilascio delle componenti del Server nonché per la gestione della scalabilità orizzontale. (ELEMENTO DA RIVERE) \end{itemize} - - \subsubsection{Aspetti positivi:} + + \subsubsection{Aspetti positivi} \begin{itemize} \item Possibilità di ampliare il bagaglio di tecnologie conosciute per lo sviluppo di applicazioni mobile. \item Il proponente non impone tecnologie specifiche per lo sviluppo del server o della UI. \end{itemize} - - \subsubsection{Criticità:} + + \subsubsection{Criticità} \begin{itemize} \item Progetto lungo da sviluppare. \item Documentazione GPS complicata da interpretare. \item Difficile determinare con massima precisione la posizione dell'utilizzatore. \end{itemize} - \subsubsection{Conclusioni:} - Il capitolato ha stimolato l'interesse del gruppo visto la tipologia di tecnologie che verranno utilizzate, inoltre è risultato interessante per l'applicazione che l'azienda intende farne. \ No newline at end of file + \subsubsection{Conclusioni} + Il capitolato ha stimolato l'interesse del gruppo visto la tipologia di tecnologie che verranno utilizzate e per l'applicazione che l'azienda intende farne. Il proponente chiede di fare diversi test per ottenere una stima il più precisa possibile sull'utilizzatore, dimostrando i risultati ottenuti. Dopo un'accurata riflessione abbiamo constatato che la dimostrazione dei test poteva essere molto dispendiosa a livello di tempistiche. Nonostante l'interesse il gruppo ha deciso, dopo un conteggio delle preferenze, di non scegliere questo capitolato. + diff --git a/interni/studio_fattibilita/res/sections/CapitolatoScelto.tex b/interni/studio_fattibilita/res/sections/CapitolatoScelto.tex index 6c9b900..e5422ad 100644 --- a/interni/studio_fattibilita/res/sections/CapitolatoScelto.tex +++ b/interni/studio_fattibilita/res/sections/CapitolatoScelto.tex @@ -1,5 +1,54 @@ \section{Valutazione capitolato scelto} -%Da Aggiungere il capitolato che abbiamo scelto + + \subsection{Capitolato 6 - ThiReMa} + + \subsubsection{Informazioni generali} + \begin{itemize} + \item \textbf{Nome:} ThiReMa - Things Relationship Management + \item \textbf{Proponente:} Sanmarco Informatica + \end{itemize} + + \subsubsection{Descrizione capitolato} + Sviluppo di un software che, dopo aver ricevuto misurazioni da sensori eterogenei, li accumola in un database centralizzato. Questa applicazione viene poi completata da un servizio di dispatching per inoltrare in modo tempestivo le informazioni utili per gestire le azioni urgenti. + I dati messi a disposizione dal database centralizzato dovranno essere suddivisi in due macro-categorie: dati operativi e fattori influenzanti. + + \subsubsection{Finalità del progetto} + Creare una web-application, che permetta di valutare la correlazione tra dati operativi (misure) e i fattori influenzanti. Tale applicazione si potrà focalizzare nella definizione di uno o più algoritmi per la successiva analisi dei dati al fine di essere in grado di effettuare delle previsioni sull’andamento dei dati stessi ed offrire, ad esempio, dei servizi di manutenzione predittiva. + Per ogni tipologia di informazioni rilevate dovrà anche essere possibile assegnare il monitoraggio ad un particolare ente. + Analizzando un determinato sensore, in base ai dati ricevuti, si può prevedere un deterioramento complessivo tale da generare una necessaria azione di manutenzione preventiva. + La web-application dovrà essere suddivisa in 3 macro-sezioni: + \begin{itemize} + \item Censimento dei sensori e dei relativi dati; + \item Modulo di analisi di correlazione; + \item Modulo di monitoraggio per ente. + \end{itemize} + + \subsubsection{Tecnologie interessate} + \begin{itemize} + \item \textbf{Apache Kafka:} Piattaforma open source di stream processing scritta in Java sviluppata da Apache Software Foundation. Il progetto mira a creare una piattaforma a bassa latenza ed alta velocità per la gestione di feed dati in tempo reale; + \item \textbf{API Producer, Consumer, Connect e Streams:} API consigliate per la produzione di componenti custom per Kafka; + \item \textbf{PostgreSQL, TimescaleDB, ClickHouse:} Implementazioni database suggerite per contenere i dati relativi alle misurazioni, agli utenti e le loro informazioni di autorizzazione; + \item \textbf{Docker:} Tecnologia di containerizzazione che consente la creazione e l'utilizzo di container Linux. Nel progetto risulterebbe utile per l'instanziazione di tutti i componenti; + \item \textbf{Java:} Linguaggio di programmazione ad alto livello orientato agli oggetti e a tipizzazione statica; + \item \textbf{Bootstrap:} Raccolta di strumenti open source per la creazione di siti e applicazioni per il Web. Essa contiene modelli di progettazione basati su HTML e CSS, sia per la tipografia, che per le varie componenti dell'interfaccia, come moduli, pulsanti e navigazione, così come alcune estensioni opzionali di JavaScript. + \end{itemize} + + \subsubsection{Aspetti positivi} + \begin{itemize} + \item Tecnologie già in parte conosciute dal gruppo con la possibilità di ampliarne le conoscenze; + \item L'azienda mette a disposizione figure di diverso livello per rispondere alle varie esigenze del gruppo e per facilitare la creazione di ambienti di sviluppo e test; + \item Consistente set di dati su cui testare l'applicativo; + \item Interfacciarsi con l'harware tramite API; + \end{itemize} + + \subsubsection{Criticità} + \begin{itemize} + \item Protocolli proprietari, la documentazione su di essi potrebbe essere limitata; + \item Il capitolato richiede un'analisi dei dati più avanzata rispetto agli altri. + \end{itemize} + + \subsubsection{Conclusioni} + Il capitolato ha suscitato l'interesse del gruppo, dando la possibilità di ampliare tecnologie già in parte conosciute ed al contempo molto attuali, quali IoT e Big Data. C'è stato inoltre molto entusiasmo per la tipologia di web-application da sviluppare. Nell'insieme questo capitolato è stato accolto con forte interesse da tutti i componenti del gruppo. diff --git a/interni/studio_fattibilita/res/sections/Introduzione.tex b/interni/studio_fattibilita/res/sections/Introduzione.tex index 7860fe4..eeafb0b 100644 --- a/interni/studio_fattibilita/res/sections/Introduzione.tex +++ b/interni/studio_fattibilita/res/sections/Introduzione.tex @@ -1,10 +1,13 @@ \section{Introduzione} \subsection{Scopo del documento} -Il seguente documento ha l'obiettivo di descrivere brevemente ciò che ogni capitolato\ped{G} ha da proporre, elencando quelli che il nostro gruppo ha considerato come i loro aspetti più interessanti e le loro criticità. - -\subsection{Glossario} -Viene fornito un \textit{Glossario v0.0.1} per evitare possibili ambiguità relative alle terminologie utilizzate nei vari documenti. Nel documento sarà presente a pedice di quelle che riteniamo delle parole una '\textbf{G}'. + Il seguente documento ha l'obiettivo di descrivere brevemente ciò che ogni \glock{capitolato} ha da proporre, elencando quelli che il nostro gruppo ha considerato come i loro aspetti più interessanti e le loro criticità. +\subsection{Glossario e Documenti esterni} + Per evitare possibili ambiguità relative alle terminologie (che andranno indicate in \textsc{maiuscoletto})utilizzate nei vari documenti, verranno utilizzate due simboli: + \begin{itemize} + \item Una \textit{D} al pedice per indicare il nome di un particolare documento. + \item Una \textit{G} al pedice per indicare un termine che sarà presente nel \dext{Glossario v0.0.1}. + \end{itemize} \subsection{Riferimenti} \subsubsection{Normativi} \begin{itemize} @@ -12,12 +15,12 @@ \subsection{Riferimenti} \end{itemize} \subsubsection{Informativi} \begin{itemize} - \item \textbf{Capitolato\ped{G} d'appalto C1 - Autonomous Highlights Platform:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C1.pdf} - \item \textbf{Capitolato\ped{G} d'appalto C2 - Etherless:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C2.pdf} - \item \textbf{Capitolato\ped{G} d'appalto C3 - NaturalAPI:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C3.pdf} - \item \textbf{Capitolato\ped{G} d'appalto C4 - Predire in Grafana:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C4.pdf} - \item \textbf{Capitolato\ped{G} d'appalto C5 - Stalker:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C5.pdf} - \item \textbf{Capitolato\ped{G} d'appalto C6 - ThiReMa - Things Relationship Management:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C6.pdf} + \item \textbf{\glock{Capitolato} d'appalto C1 - Autonomous Highlights Platform:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C1.pdf} + \item \textbf{\glock{Capitolato} d'appalto C2 - Etherless:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C2.pdf} + \item \textbf{\glock{Capitolato} d'appalto C3 - NaturalAPI:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C3.pdf} + \item \textbf{\glock{Capitolato} d'appalto C4 - Predire in Grafana:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C4.pdf} + \item \textbf{\glock{Capitolato} d'appalto C5 - Stalker:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C5.pdf} + \item \textbf{\glock{Capitolato} d'appalto C6 - ThiReMa - Things Relationship Management:} \url{https://www.math.unipd.it/~tullio/IS-1/2019/Progetto/C6.pdf} \end{itemize} diff --git a/interni/verbali/verbale_1/res/configurazione.tex b/interni/verbali/verbale_1/res/configurazione.tex new file mode 100644 index 0000000..7e2bd53 --- /dev/null +++ b/interni/verbali/verbale_1/res/configurazione.tex @@ -0,0 +1,169 @@ +% Ultimo aggiornamento: 14 dicembre 2019 +% Configurazione delle dipendenze e dei package + + +\usepackage{geometry} +\usepackage{graphicx} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{charter} +\usepackage{eurosym} +\usepackage[italian]{babel} +\usepackage{float} +\usepackage{subcaption} +\usepackage{wrapfig} +\usepackage{fancyhdr} +\usepackage{lastpage} +\usepackage{amsfonts} +\usepackage{fancyvrb} +\usepackage{background} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{longtable} +\usepackage{colortbl} +\usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} + + +% Impostazioni pagina e margini + +\geometry{ + margin=1.0in, + top=19.2mm, % NON TOCCARE + bottom=30mm, + left=20mm, + right=20mm +} + +% Definizione colori + +\definecolor{footer-gray}{HTML}{808080} +\definecolor{light-gray}{gray}{0.6} +\definecolor{light-grayer}{gray}{0.75} +\definecolor{lighter-grayer}{gray}{0.85} +\definecolor{lightest-grayest}{gray}{0.94} +\definecolor{codegreen}{rgb}{0,0.4,0.2} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.96} + + +% Impostazione header e footer + +\pagestyle{fancy} +\setlength\headheight{33pt} +\renewcommand{\headrulewidth}{0pt} +\fancyhead{} +\lhead{\includegraphics[height=10mm]{res/images/logo.png}} +\rhead{\raisebox{1.4\height}{\leftmark}} + + +\renewcommand{\footrulewidth}{0.1pt} +\fancyfoot{} +\lfoot{ \textcolor{footer-gray}{\docNome - v\docVersione} } + +\renewcommand{\footrule}{\hbox to\headwidth{\color{light-grayer}\leaders\hrule height \footrulewidth\hfill}} +\rfoot{ \textcolor{footer-gray}{Pagina \thepage \hspace{1pt} di \pageref*{LastPage}} } + +% Grandezza paragrafi e spaziatura frasi + +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} + +% Colori link + +\hypersetup{ + colorlinks, + linkcolor=[HTML]{404040}, + citecolor={blue!50!black}, + urlcolor={red!50!black} +} +\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref} + +% Equivalente a
+ +\newcommand{\hr}{\par\vspace{-.1\ht\strutbox}\noindent\hrulefill\par} + +% Tabelle e tabulazione + +\setlength{\tabcolsep}{10pt} +\renewcommand{\arraystretch}{1.4} + +% Unicode per simbolo euro + +\DeclareUnicodeCharacter{20AC}{\euro} + +% Configurazione sfondo + +\newcommand\DeactivateBG{\backgroundsetup{contents={}}} +\newcommand\ActivateBG{ \backgroundsetup{ + scale=1.0, + color=black, + opacity=1.0, + angle=0, + contents={% + \includegraphics[height=297mm]{res/images/background.png} + }% +}} + +% Codice e snippet + +\renewcommand{\lstlistingname}{Snippet} +\renewcommand{\lstlistlistingname}{Lista di \lstlistingname s} + + +\lstdefinestyle{chungusHighlight}{ + frame=tb, + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}\textbf, + numberstyle=\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle={\ttfamily}, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + numbers=none, + tabsize=2 +} + +\lstset{style=chungusHighlight} + + +% Comando per aggiungere le pagine di ogni sezione + +\newcommand{\yetAnotherSectionNamed}[1]{% + \newpage + \input{res/sections/#1} +}% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/interni/verbali/verbale_1/res/registro.tex b/interni/verbali/verbale_1/res/registro.tex new file mode 100644 index 0000000..790b407 --- /dev/null +++ b/interni/verbali/verbale_1/res/registro.tex @@ -0,0 +1,20 @@ +\section*{Registro delle modifiche} + +\begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|p{5cm}|c|c|c|} + \hline + \rowcolor{lighter-grayer} + \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ + \hline + \endfirsthead + + % ----- Modificare da qui ----- + + % 0.0.2 & Revisione documento & 24-11-2019 & Nome Cognome & Verificatore \\ + \hline + 0.0.1 & Creazione iniziale del documento & 02-12-2019 & Mariano Sciacco & Redattore \\ + \hline + + \end{longtable} +\end{center} \ No newline at end of file diff --git a/interni/verbali/verbale_2/res/configurazione.tex b/interni/verbali/verbale_2/res/configurazione.tex new file mode 100644 index 0000000..7e2bd53 --- /dev/null +++ b/interni/verbali/verbale_2/res/configurazione.tex @@ -0,0 +1,169 @@ +% Ultimo aggiornamento: 14 dicembre 2019 +% Configurazione delle dipendenze e dei package + + +\usepackage{geometry} +\usepackage{graphicx} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{charter} +\usepackage{eurosym} +\usepackage[italian]{babel} +\usepackage{float} +\usepackage{subcaption} +\usepackage{wrapfig} +\usepackage{fancyhdr} +\usepackage{lastpage} +\usepackage{amsfonts} +\usepackage{fancyvrb} +\usepackage{background} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{longtable} +\usepackage{colortbl} +\usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} + + +% Impostazioni pagina e margini + +\geometry{ + margin=1.0in, + top=19.2mm, % NON TOCCARE + bottom=30mm, + left=20mm, + right=20mm +} + +% Definizione colori + +\definecolor{footer-gray}{HTML}{808080} +\definecolor{light-gray}{gray}{0.6} +\definecolor{light-grayer}{gray}{0.75} +\definecolor{lighter-grayer}{gray}{0.85} +\definecolor{lightest-grayest}{gray}{0.94} +\definecolor{codegreen}{rgb}{0,0.4,0.2} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.96} + + +% Impostazione header e footer + +\pagestyle{fancy} +\setlength\headheight{33pt} +\renewcommand{\headrulewidth}{0pt} +\fancyhead{} +\lhead{\includegraphics[height=10mm]{res/images/logo.png}} +\rhead{\raisebox{1.4\height}{\leftmark}} + + +\renewcommand{\footrulewidth}{0.1pt} +\fancyfoot{} +\lfoot{ \textcolor{footer-gray}{\docNome - v\docVersione} } + +\renewcommand{\footrule}{\hbox to\headwidth{\color{light-grayer}\leaders\hrule height \footrulewidth\hfill}} +\rfoot{ \textcolor{footer-gray}{Pagina \thepage \hspace{1pt} di \pageref*{LastPage}} } + +% Grandezza paragrafi e spaziatura frasi + +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} + +% Colori link + +\hypersetup{ + colorlinks, + linkcolor=[HTML]{404040}, + citecolor={blue!50!black}, + urlcolor={red!50!black} +} +\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref} + +% Equivalente a
+ +\newcommand{\hr}{\par\vspace{-.1\ht\strutbox}\noindent\hrulefill\par} + +% Tabelle e tabulazione + +\setlength{\tabcolsep}{10pt} +\renewcommand{\arraystretch}{1.4} + +% Unicode per simbolo euro + +\DeclareUnicodeCharacter{20AC}{\euro} + +% Configurazione sfondo + +\newcommand\DeactivateBG{\backgroundsetup{contents={}}} +\newcommand\ActivateBG{ \backgroundsetup{ + scale=1.0, + color=black, + opacity=1.0, + angle=0, + contents={% + \includegraphics[height=297mm]{res/images/background.png} + }% +}} + +% Codice e snippet + +\renewcommand{\lstlistingname}{Snippet} +\renewcommand{\lstlistlistingname}{Lista di \lstlistingname s} + + +\lstdefinestyle{chungusHighlight}{ + frame=tb, + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}\textbf, + numberstyle=\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle={\ttfamily}, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + numbers=none, + tabsize=2 +} + +\lstset{style=chungusHighlight} + + +% Comando per aggiungere le pagine di ogni sezione + +\newcommand{\yetAnotherSectionNamed}[1]{% + \newpage + \input{res/sections/#1} +}% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/interni/verbali/verbale_2/res/registro.tex b/interni/verbali/verbale_2/res/registro.tex new file mode 100644 index 0000000..790b407 --- /dev/null +++ b/interni/verbali/verbale_2/res/registro.tex @@ -0,0 +1,20 @@ +\section*{Registro delle modifiche} + +\begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|p{5cm}|c|c|c|} + \hline + \rowcolor{lighter-grayer} + \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ + \hline + \endfirsthead + + % ----- Modificare da qui ----- + + % 0.0.2 & Revisione documento & 24-11-2019 & Nome Cognome & Verificatore \\ + \hline + 0.0.1 & Creazione iniziale del documento & 02-12-2019 & Mariano Sciacco & Redattore \\ + \hline + + \end{longtable} +\end{center} \ No newline at end of file diff --git a/interni/verbali/verbale_3/res/configurazione.tex b/interni/verbali/verbale_3/res/configurazione.tex new file mode 100644 index 0000000..7e2bd53 --- /dev/null +++ b/interni/verbali/verbale_3/res/configurazione.tex @@ -0,0 +1,169 @@ +% Ultimo aggiornamento: 14 dicembre 2019 +% Configurazione delle dipendenze e dei package + + +\usepackage{geometry} +\usepackage{graphicx} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{charter} +\usepackage{eurosym} +\usepackage[italian]{babel} +\usepackage{float} +\usepackage{subcaption} +\usepackage{wrapfig} +\usepackage{fancyhdr} +\usepackage{lastpage} +\usepackage{amsfonts} +\usepackage{fancyvrb} +\usepackage{background} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{longtable} +\usepackage{colortbl} +\usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} + + +% Impostazioni pagina e margini + +\geometry{ + margin=1.0in, + top=19.2mm, % NON TOCCARE + bottom=30mm, + left=20mm, + right=20mm +} + +% Definizione colori + +\definecolor{footer-gray}{HTML}{808080} +\definecolor{light-gray}{gray}{0.6} +\definecolor{light-grayer}{gray}{0.75} +\definecolor{lighter-grayer}{gray}{0.85} +\definecolor{lightest-grayest}{gray}{0.94} +\definecolor{codegreen}{rgb}{0,0.4,0.2} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.96} + + +% Impostazione header e footer + +\pagestyle{fancy} +\setlength\headheight{33pt} +\renewcommand{\headrulewidth}{0pt} +\fancyhead{} +\lhead{\includegraphics[height=10mm]{res/images/logo.png}} +\rhead{\raisebox{1.4\height}{\leftmark}} + + +\renewcommand{\footrulewidth}{0.1pt} +\fancyfoot{} +\lfoot{ \textcolor{footer-gray}{\docNome - v\docVersione} } + +\renewcommand{\footrule}{\hbox to\headwidth{\color{light-grayer}\leaders\hrule height \footrulewidth\hfill}} +\rfoot{ \textcolor{footer-gray}{Pagina \thepage \hspace{1pt} di \pageref*{LastPage}} } + +% Grandezza paragrafi e spaziatura frasi + +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} + +% Colori link + +\hypersetup{ + colorlinks, + linkcolor=[HTML]{404040}, + citecolor={blue!50!black}, + urlcolor={red!50!black} +} +\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref} + +% Equivalente a
+ +\newcommand{\hr}{\par\vspace{-.1\ht\strutbox}\noindent\hrulefill\par} + +% Tabelle e tabulazione + +\setlength{\tabcolsep}{10pt} +\renewcommand{\arraystretch}{1.4} + +% Unicode per simbolo euro + +\DeclareUnicodeCharacter{20AC}{\euro} + +% Configurazione sfondo + +\newcommand\DeactivateBG{\backgroundsetup{contents={}}} +\newcommand\ActivateBG{ \backgroundsetup{ + scale=1.0, + color=black, + opacity=1.0, + angle=0, + contents={% + \includegraphics[height=297mm]{res/images/background.png} + }% +}} + +% Codice e snippet + +\renewcommand{\lstlistingname}{Snippet} +\renewcommand{\lstlistlistingname}{Lista di \lstlistingname s} + + +\lstdefinestyle{chungusHighlight}{ + frame=tb, + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}\textbf, + numberstyle=\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle={\ttfamily}, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + numbers=none, + tabsize=2 +} + +\lstset{style=chungusHighlight} + + +% Comando per aggiungere le pagine di ogni sezione + +\newcommand{\yetAnotherSectionNamed}[1]{% + \newpage + \input{res/sections/#1} +}% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/interni/verbali/verbale_3/res/registro.tex b/interni/verbali/verbale_3/res/registro.tex new file mode 100644 index 0000000..790b407 --- /dev/null +++ b/interni/verbali/verbale_3/res/registro.tex @@ -0,0 +1,20 @@ +\section*{Registro delle modifiche} + +\begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|p{5cm}|c|c|c|} + \hline + \rowcolor{lighter-grayer} + \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ + \hline + \endfirsthead + + % ----- Modificare da qui ----- + + % 0.0.2 & Revisione documento & 24-11-2019 & Nome Cognome & Verificatore \\ + \hline + 0.0.1 & Creazione iniziale del documento & 02-12-2019 & Mariano Sciacco & Redattore \\ + \hline + + \end{longtable} +\end{center} \ No newline at end of file diff --git a/interni/verbali/verbale_5/main.pdf b/interni/verbali/verbale_5/main.pdf new file mode 100644 index 0000000..e82de03 Binary files /dev/null and b/interni/verbali/verbale_5/main.pdf differ diff --git a/interni/verbali/verbale_5/main.tex b/interni/verbali/verbale_5/main.tex new file mode 100644 index 0000000..8fec113 --- /dev/null +++ b/interni/verbali/verbale_5/main.tex @@ -0,0 +1,85 @@ +%!TEX output_directory = .cache +% --------------------------- +% [ Verbale ] +% ---------------------- +% Red Round Robin +% Progetto di SWE (2019-20) +% Template by Maxelweb +% --------------------------- + +% Configurazione primaria del documento + +% -------------- + +\newcommand{\docNome}{ VERBALE RIUNIONE \#1 } +\newcommand{\docVersione}{0.0.1} +\newcommand{\docNomeProgetto}{ 2019-12-10 } +\newcommand{\docStatus}{da revisionare} +\newcommand{\docUso}{interno} + +% -------------- + +\newcommand{\docRedattori}{ + Lorenzo Dei Negri +} +\newcommand{\docVerificatori}{ + nome cognome +} +\newcommand{\docApprovazione}{ + nome cognome +} + +% ----- NON MODIFICARE SOTTO QUESTA RIGA ----- + +% --------------------------- +% Configurazioni +% --------------------------- + +\documentclass[11pt,a4paper,table]{article} + +\input{res/configurazione} + +% --------------------------- +% Dati frontespizio +% --------------------------- + +\title{\hr \huge \textsc{\docNome} \\ + \vspace{11pt} \large \textsc{\docNomeProgetto} \hr} + +\author{} % Non toccare +\date{} % Non toccare + +% --------------------------- +% Composizione del documento +% --------------------------- + +\begin{document} + +% Frontespizio + +\pagenumbering{gobble} +\DeactivateBG +\include{res/frontespizio} + +% Registro delle modifiche + +\newpage +\ActivateBG +\pagenumbering{Roman} +\include{res/registro} + + +% Contenuto + +\newpage +\input{res/contenuto} + + +% Registro Decisioni + +\newpage +\input{res/tracciamenti} + +\end{document} + +% EOF \ No newline at end of file diff --git a/interni/verbali/verbale_5/res/configurazione.tex b/interni/verbali/verbale_5/res/configurazione.tex new file mode 100644 index 0000000..6f685f7 --- /dev/null +++ b/interni/verbali/verbale_5/res/configurazione.tex @@ -0,0 +1,145 @@ + +% Configurazione delle dipendenze e dei package + + +\usepackage{geometry} +\usepackage{graphicx} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{charter} +\usepackage{eurosym} +\usepackage[italian]{babel} +\usepackage{float} +\usepackage{subcaption} +\usepackage{wrapfig} +\usepackage{fancyhdr} +\usepackage{lastpage} +\usepackage{amsfonts} +\usepackage{fancyvrb} +\usepackage{background} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{listings} +\usepackage{longtable} +\usepackage{colortbl} +\usepackage{tikz} + + +% Impostazioni pagina e margini + +\geometry{ + margin=1.0in, + top=19.2mm, % NON TOCCARE + bottom=30mm, + left=20mm, + right=20mm +} + +% Definizione colori + +\definecolor{footer-gray}{HTML}{808080} +\definecolor{light-gray}{gray}{0.6} +\definecolor{light-grayer}{gray}{0.75} +\definecolor{lighter-grayer}{gray}{0.85} +\definecolor{lightest-grayest}{gray}{0.94} +\definecolor{codegreen}{rgb}{0,0.4,0.2} +\definecolor{codegray}{rgb}{0.5,0.5,0.5} +\definecolor{codepurple}{rgb}{0.58,0,0.82} +\definecolor{backcolour}{rgb}{0.95,0.95,0.96} + + +% Impostazione header e footer + +\pagestyle{fancy} +\setlength\headheight{33pt} +\renewcommand{\headrulewidth}{0pt} +\fancyhead{} +\lhead{\includegraphics[height=10mm]{res/images/logo.png}} +\rhead{\raisebox{1.4\height}{\rightmark}} + + +\renewcommand{\footrulewidth}{0.1pt} +\fancyfoot{} +\lfoot{ \textcolor{footer-gray}{\docNome - v\docVersione} } + +\renewcommand{\footrule}{\hbox to\headwidth{\color{light-grayer}\leaders\hrule height \footrulewidth\hfill}} +\rfoot{ \textcolor{footer-gray}{Pagina \thepage \hspace{1pt} di \pageref*{LastPage}} } + +% Grandezza paragrafi e spaziatura frasi + +\setlength{\parindent}{1.6em} +\setlength{\parskip}{1.0em} +\renewcommand{\baselinestretch}{1.0} + +% Colori link + +\hypersetup{ + colorlinks, + linkcolor=[HTML]{404040}, + citecolor={blue!50!black}, + urlcolor={red!50!black} +} +\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref} + +% Equivalente a
+ +\newcommand{\hr}{\par\vspace{-.1\ht\strutbox}\noindent\hrulefill\par} + +% Tabelle e tabulazione + +\setlength{\tabcolsep}{10pt} +\renewcommand{\arraystretch}{1.4} + +% Unicode per simbolo euro + +\DeclareUnicodeCharacter{20AC}{\euro} + +% Configurazione sfondo + +\newcommand\DeactivateBG{\backgroundsetup{contents={}}} +\newcommand\ActivateBG{ \backgroundsetup{ + scale=1.0, + color=black, + opacity=1.0, + angle=0, + contents={% + \includegraphics[height=297mm]{res/images/background.png} + }% +}} + +% Codice e snippet + +\renewcommand{\lstlistingname}{Snippet} +\renewcommand{\lstlistlistingname}{Lista di \lstlistingname s} + + +\lstdefinestyle{chungusHighlight}{ + frame=tb, + backgroundcolor=\color{backcolour}, + commentstyle=\color{codegreen}, + keywordstyle=\color{magenta}\textbf, + numberstyle=\color{codegray}, + stringstyle=\color{codepurple}, + basicstyle={\ttfamily}, + breakatwhitespace=false, + breaklines=true, + captionpos=b, + keepspaces=true, + numbers=left, + numbersep=5pt, + showspaces=false, + showstringspaces=false, + showtabs=false, + numbers=none, + tabsize=2 +} + +\lstset{style=chungusHighlight} + + +% Comando per aggiungere le pagine di ogni sezione + +\newcommand{\yetAnotherSectionNamed}[1]{% + \newpage + \input{res/sections/#1} +}% diff --git a/interni/verbali/verbale_5/res/contenuto.tex b/interni/verbali/verbale_5/res/contenuto.tex new file mode 100644 index 0000000..132dc7e --- /dev/null +++ b/interni/verbali/verbale_5/res/contenuto.tex @@ -0,0 +1,77 @@ +\section*{Introduzione} + +\subsection*{Luogo e data dell'incontro} + \begin{itemize} + \item \textbf{Luogo:} Dipartimento di Matematica, Padova + \item \textbf{Data:} 2019-12-10 + \item \textbf{Ora di inizio:} 14:15 + \item \textbf{Ora di fine:} 18:00 + \end{itemize} + +\subsection*{Ordine del giorno} + \begin{enumerate} + \item Rilevazione e discussione di eventuali dubbi sulle norme di progetto + \item Scelta del capitolato + \item Prime idee sull'analisi dei requisiti + \item Definizione di un primo contatto con il proponente + \item Fissare la data per una nuova riunione del gruppo + \end{enumerate} + +\subsection*{Presenze} + \begin{itemize} + \item \textbf{Totale presenti:} 7 su 7 + \item \textbf{Presenti: } + \begin{itemize} + \item Giuseppe Vito Bitetti + \item Lorenzo Dei Negri + \item Nicolò Frison + \item Mariano Sciacco + \item Alessandro Tommasin + \item Giovanni Vidotto + \item Fouad Mouad + \end{itemize} + \item \textbf{Assenti: } + \begin{itemize} + \item Nessuno + \end{itemize} + \end{itemize} + + +\newpage +\section*{Svolgimento} + +\subsection*{1. Rilevazione e discussione di eventuali dubbi sulle norme di progetto} + +A turno, ogni membro del gruppo ha esposto agli altri le problematiche riscontate nella stesura delle norme di progetto a lui assegnate; queste potevano essere sia delle incertezze su come proseguire un particolare tema da trattare, sia delle scelte da prendere che richiedevano una decisione collettiva. +Ogni dubbio è stato discusso da tutti i presenti arrivando, in breve tempo, ad una risoluzione condivisa all'unanimità. +Le criticità principali riguardavano: +\begin{itemize} + \item Lo scopo di alcune attività dei processi primari; + \item Lo scopo di alcuni processi di supporto; + \item L'istanziazione dei processi organizzativi; + \item Il tracciamento di requisiti e casi d'uso. +\end{itemize} + +\subsection*{2. Scelta del capitolato} + +In seguito alla partecipazione a tutti i seminari tenuti dai proponenti, facendo anche riferimento alla prima stesura dello studio di fattibilità, il gruppo si è confrontato internamente per dare una valutazione complessiva di tutti i capitolati proposti e fissare gli aspetti positivi e gli aspetti negativi di ogni progetto. +Al termine delle considerazioni di ogni componente, il gruppo si è trovato concorde nella scelta del capitolato C6, ossia ThiReMa - Things Relationship Management + +\subsection*{3. Prime idee sull'analisi dei requisiti} + +Il gruppo ha analizzato collettivamente la presentazione del capitolato scelto e gli approfondimenti tecnologici trattati dal proponente nel seminario tenuto in precedenza, con l'intento di evidenziare le parti critiche e/o non chiare da discutere con il proponente stesso durante il primo incontro. +Per cercare di identificare il maggior numero possibile di argomenti su cui avere un riscontro diretto, è stato deciso di procedere con una prima analisi dei requisiti e dei casi d'uso del progetto. + +\subsection*{4. Definizione di un primo contatto con il proponente} + +Il gruppo si è ritrovato concorde sul fatto che una delle maggiori priorità fosse quella di contattare il proponente, per fissare al più presto il primo incontro. +A tale scopo è stato deciso di inviare una mail di presentazione all'indirizzo di posta elettronica indicato durante il seminario di approfondimento, nella quale viene inoltre chiesta l'eventuale disponibilità ad utilizzate una modalità di comunicazione più diretta rispetto alle e-mail. + +\subsection*{5. Fissare la data per una nuova riunione del gruppo} + +La prossima riunione è stata fissata come segue: +\begin{itemize} + \item \textbf{Luogo:} Dipartimento di Matematica, Padova + \item \textbf{Data:} 2019-12-17 + \item \textbf{Ora di inizio:} 14:00 +\end{itemize} \ No newline at end of file diff --git a/interni/verbali/verbale_5/res/frontespizio.tex b/interni/verbali/verbale_5/res/frontespizio.tex new file mode 100644 index 0000000..911b1b2 --- /dev/null +++ b/interni/verbali/verbale_5/res/frontespizio.tex @@ -0,0 +1,47 @@ + +% FRONTESPIZIO + +% Logo aziendale + +\begin{figure}[t!] + \centering + \includegraphics[height=10em]{res/images/logo.png} +\end{figure} + + +% Titolo principale + +\maketitle +\thispagestyle{empty} + + +% Riferimenti email e sito web + +\vspace{-6em} + +\begin{center} + \href{https://www.redroundrobin.site}{www.redroundrobin.site} --- \href{mailto:info@redroundrobin.site}{info@redroundrobin.site} +\end{center} + +\vspace{3em} + +% Informazioni documento + +\begin{table}[ht] + \begin{center} + \label{tab:Informazioni_Documento} + \begin{tabular}{r|l} + \multicolumn{2}{c}{ \textsc{Informazioni sul documento} } \\ + \hline + \textbf{Versione} & \docVersione \\ + \textbf{Uso} & \docUso \\ + \textbf{Stato} & \docStatus \\ + \textbf{Redattori} & \docRedattori \\ + \textbf{Verificatori} & \docVerificatori \\ + \textbf{Approvazione} & \docApprovazione \\ + \end{tabular} + \end{center} +\end{table} + + + diff --git a/interni/verbali/verbale_5/res/images/background.png b/interni/verbali/verbale_5/res/images/background.png new file mode 100644 index 0000000..9dcca68 Binary files /dev/null and b/interni/verbali/verbale_5/res/images/background.png differ diff --git a/interni/verbali/verbale_5/res/images/logo.png b/interni/verbali/verbale_5/res/images/logo.png new file mode 100644 index 0000000..32071fe Binary files /dev/null and b/interni/verbali/verbale_5/res/images/logo.png differ diff --git a/interni/verbali/verbale_5/res/registro.tex b/interni/verbali/verbale_5/res/registro.tex new file mode 100644 index 0000000..bc957c0 --- /dev/null +++ b/interni/verbali/verbale_5/res/registro.tex @@ -0,0 +1,20 @@ +\section*{Registro delle modifiche} + +\begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|c|c|c|c|} + \hline + \rowcolor{lighter-grayer} + \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ + \hline + \endfirsthead + + % ----- Modificare da qui ----- + + % 0.0.2 & Revisione documento & 24-11-2019 & Nome Cognome & Verificatore \\ + \hline + 0.0.1 & Creazione iniziale del documento & 2019-12-13 & Lorenzo Dei Negri & Redattore \\ + \hline + + \end{longtable} +\end{center} \ No newline at end of file diff --git a/interni/verbali/verbale_5/res/tracciamenti.tex b/interni/verbali/verbale_5/res/tracciamenti.tex new file mode 100644 index 0000000..a98f89e --- /dev/null +++ b/interni/verbali/verbale_5/res/tracciamenti.tex @@ -0,0 +1,23 @@ +\section*{Tracciamento delle Decisioni} + +\begin{center} + \rowcolors{2}{lightest-grayest}{white} + \begin{longtable}{|c|p{14.5cm}|} + \hline + \rowcolor{lighter-grayer} + \textbf{Codice} & \textbf{Descrizione} \\ + \hline + \endfirsthead + + \hline + VI-5.1 & Decisione degli identificativi per il tracciamento. \\ + \hline + VI-5.2 & Scelta del capitolato C6. \\ + \hline + VI-5.3 & Redazione di un documento con i principali argomenti su cui è necessario un confronto con il proponente. \\ + \hline + VI-5.4 & Scelta della modalità di primo contatto con il proponente. \\ + \hline + + \end{longtable} +\end{center} \ No newline at end of file diff --git a/notes/Attori.md b/notes/Attori.md new file mode 100644 index 0000000..98a7a57 --- /dev/null +++ b/notes/Attori.md @@ -0,0 +1,9 @@ +# Attori Principali + +1. Utente non autenticato +2. Utente autenticato (Deve appartenere ad un ente) +3. Amministratore + + +# Attori Secondari + diff --git a/notes/strutture.md b/notes/strutture.md new file mode 100644 index 0000000..aed4de0 --- /dev/null +++ b/notes/strutture.md @@ -0,0 +1,104 @@ +# Possibili strutture dei documenti + +Nelle seguenti strutture sono presenti dei consigli su come riempire le sezioni. + +## Analisi dei Requisiti + +1. Introduzione (come le altre ma togliendo la parte di descrizione del prodotto) + +2. Analisi del prodotto + - Scopo del prodotto + - Descrizione e analisi della sua struttura (i vincoli poi si troveranno nell'apposita sezione) + - Attori principali e secondari (se presenti) + - Come gli attori interagiscono con il prodotto + +3. Casi d'uso + +4. Classificazione dei requisiti + - Requisiti funzionali + - Requisiti non funzionali + - Requisiti di vincolo (Vincoli) + +5. Tracciamento + - Dominio + - Capitolato + - Altre fonti + + + +## Piano di Progetto + +1. Introduzione (solita come le altre) + - Consiglio (da modificare q.b.) per lo scopo del documento: + - Organizzare le attività con efficienza per produrre risultati efficaci; + - Facilitare la misurazione dell'avanzamento fissando "milestone" +2. Analisi dei rischi + - Gestione dei rischi + - Identificazione (nel progetto, nel prodotto, nel mercato) + - Rischi di progetto: Sforamento di costi, tempi, risulati insoddisfacenti. + - Fonti di rischio: Tecnologie di lavoro e produzione software, rapporti interpersonali, Organizzazione del lavoro, requisiti e rapporti con gli stakeholder, tempi e costi. + - Analisi (probabilità di occorrenza e possibili conseguenze) + - Pianificazione (come evitare o ridurre quei rischi) + +3. Modello di sviluppo + +4. Pianificazione + - Risorse disponibili (tempo e persone) + - Tabella con le risorse + - Suddivisione del lavoro (work breakdown) + - Individuare le attività + +5. Organizzazione del progetto / Preventivo + - Preventivi + - Riepilogo + +6. Consuntivo + - Quanto è stato investito inizialmete dal gruppo + +8. Appendice - Riscontro? + +9. Appendice - Organigramma + +## Piano di qualifica + +1. Introduzione + +2. Qualità di Prodotto + Per le seguenti qualità descriverle e scrivere nelle stesse sezioni le metriche da utilizzare per misurarle. Nelle sezioni ci sono alcuni collegamenti tra qualità e da cosa è data (complessità ciclomatica, taglia del programma , etc...). + - Adeguatezza funzionale + Completezza, correttezza, adeguatezza + - Efficienza prestazionale + Nel tempo, nelle risorse, nella capacità + - Compatibilità + Coesiste con il resto del sistema ?, può usare funzioni di altri prodotti senza creare conflitti? + - Usabilità + Apprendibilità, Operabilità, Protezione da errori, User experience, Accessibilità + Data da: lunghezza del manuale utente, numero dei messaggi d'errore + - Affidabilità + Maturità, Disponibilità, Tolleranza ai guasti, Riparabilità + Data da: complessità ciclomatica, taglia del programma in linee di codice, numero dei messaggi d'errore + - Sicurezza + Confidenzialità, Integrità, Tracciabilità + - Manutenibilità + Moduliarità, Riusabilità, Modificabilità, Verificabilità + Data da: numero dei parametri nelle procedure, complessità ciclomatica, taglia del programma in linee di codice, lunghezza del manuale utente + - Portabilità + Cambiamenti sono poco costosi(Dato dall'isolamento delle dipendenze) + Data da: numero dei parametri nelle procedure, taglia del programma in linee di codice +3. Qualità di Processo + - Per ogni processo descriverlo brevemente e come facciamo ad essere sicuri che sia di qualità, ovvero le tecniche che adottiamo per renderlo di qualità + - vanno aggiunte le metriche per misurarlo + +4. Test + - Come facciamo i vari tipi di test (Vedere RIGHT BICEP e A TRIP di TOS) + - Test di accettazione, test di sistema, test di integrazione e test di unità. + +5. Standard di qualità(?) + +6. Resoconto attività di verifica + +7. Valutazioni di miglioramento + + + + diff --git a/struttura_documenti.md b/struttura_documenti.md index c2dea2d..c735aca 100644 --- a/struttura_documenti.md +++ b/struttura_documenti.md @@ -142,9 +142,10 @@ - Descrizione - Attività -4. Processi organizzativi (?) +4. Processi organizzativi - Gestione dei processi - Scopo + - Aspettative - Descrizione - Ruoli di progetto - Responsabile di progetto @@ -163,9 +164,7 @@ - Formazione del personale - Scopo - Descrizione - - Guida sui linguaggi di programmazione - - Guida sugli strumenti di programmazione - - Corsi formativi aggiuntivi (dipende se esiste) + - Piano di Formazione > Potrebbero includere formazione 8lab diff --git a/template/documenti/main.pdf b/template/documenti/main.pdf index e631701..abb5e66 100644 Binary files a/template/documenti/main.pdf and b/template/documenti/main.pdf differ diff --git a/template/documenti/main.tex b/template/documenti/main.tex index 3db3087..6d12b18 100644 --- a/template/documenti/main.tex +++ b/template/documenti/main.tex @@ -1,3 +1,4 @@ +%!TEX output_directory = .cache % --------------------------- % [ NOME DOCUMENTO ] % ---------------------- diff --git a/template/documenti/res/configurazione.tex b/template/documenti/res/configurazione.tex index 7835697..7e2bd53 100644 --- a/template/documenti/res/configurazione.tex +++ b/template/documenti/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,7 +23,21 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} -\usepackage{lipsum} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -68,9 +82,9 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} % Colori link @@ -144,3 +158,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/template/documenti/res/registro.tex b/template/documenti/res/registro.tex index 3659281..97e989b 100644 --- a/template/documenti/res/registro.tex +++ b/template/documenti/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\ @@ -11,9 +11,9 @@ \section*{Registro delle modifiche} % ----- Modificare da qui ----- - 0.0.2 & Revisione documento & 24-11-2019 & Nome Cognome & Verificatore \\ + 0.0.2 & Revisione documento & 2019-11-24 & Giuseppe Vito Bitetti & Verificatore \\ \hline - 0.0.1 & Creazione documento & 23-11-2019 & Nome Cognome & Redattore \\ + 0.0.1 & Creazione documento & 2019-11-23 & Giovannni Normale & Redattore \\ \hline \end{longtable} diff --git a/template/documenti/res/sections/introduzione.tex b/template/documenti/res/sections/introduzione.tex index 3894917..dd3758a 100644 --- a/template/documenti/res/sections/introduzione.tex +++ b/template/documenti/res/sections/introduzione.tex @@ -37,4 +37,26 @@ \section{Pinco Pallo col suo Pallone} \item ciaoooooneeee \end{enumerate} \end{enumerate} -\end{enumerate} \ No newline at end of file +\end{enumerate} + +\subsection{title} + +\subsubsection{Prova} + +Ciao2 + +\paragraph{Provolone} + +Ciao Il nostro obbiettivo è avere un bel \glock{Endeavour} da portare a termine. Nel \dext{Documento v1.0.0} ciao come va, invece, abbiamo fatto cose belle e scritte. bellaaaaaaaa Oltre a questo... + + +Inoltre, ci piacerebbe molto \lipsum[1] + + +\subparagraph{Ciaone} + +\lipsum[1] + +\subparagraph{Mozzarella} + +\lipsum[1] \ No newline at end of file diff --git a/template/verbali/res/configurazione.tex b/template/verbali/res/configurazione.tex index eda42a9..96294fa 100644 --- a/template/verbali/res/configurazione.tex +++ b/template/verbali/res/configurazione.tex @@ -1,4 +1,4 @@ - +% Ultimo aggiornamento: 14 dicembre 2019 % Configurazione delle dipendenze e dei package @@ -23,6 +23,21 @@ \usepackage{longtable} \usepackage{colortbl} \usepackage{tikz} +\usepackage{titlesec} + + +% Impostazione sottotitolo di quarto livello e quinto livello + +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\titleformat{\paragraph} +{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} +\titlespacing*{\paragraph}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\subparagraph} +{\normalfont\normalsize\bfseries}{\thesubparagraph}{1em}{} +\titlespacing*{\subparagraph}{0pt}{1.75ex plus 1ex minus .2ex}{.75ex plus .1ex} % Impostazioni pagina e margini @@ -67,9 +82,11 @@ % Grandezza paragrafi e spaziatura frasi -\setlength{\parindent}{1.8em} -\setlength{\parskip}{1.2em} -\renewcommand{\baselinestretch}{1.1} + +\setlength{\parindent}{1.7em} +\setlength{\parskip}{1.1em} +\renewcommand{\baselinestretch}{1.05} + % Colori link @@ -143,3 +160,12 @@ \newpage \input{res/sections/#1} }% + + +% Comando per i documenti esterni e il glossario + +\newcommand{\dext}[1]{\textsc{#1\textsubscript{\textit{D}}}} + +\newcommand{\glock}[1]{\textsc{#1\textsubscript{\textit{G}}}} + + diff --git a/template/verbali/res/registro.tex b/template/verbali/res/registro.tex index 11d9f96..790b407 100644 --- a/template/verbali/res/registro.tex +++ b/template/verbali/res/registro.tex @@ -2,7 +2,7 @@ \section*{Registro delle modifiche} \begin{center} \rowcolors{2}{lightest-grayest}{white} - \begin{longtable}{|c|c|c|c|c|} + \begin{longtable}{|c|p{5cm}|c|c|c|} \hline \rowcolor{lighter-grayer} \textbf{Versione} & \textbf{Descrizione} & \textbf{Data} & \textbf{Autore} & \textbf{Ruolo} \\