1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2025-02-16 12:43:58 +00:00

📔 Improve goals.rst

This commit is contained in:
Steffo 2021-05-29 02:16:01 +02:00
parent b0415dcb1c
commit 6c45ff0528
Signed by: steffo
GPG key ID: 6965406171929D01
32 changed files with 703 additions and 422 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,30 +1,151 @@
Obiettivo del progetto Introduzione
====================== ============
.. todo:: .. todo::
Lasciamo il tempo al futuro?
Scrivere l'obiettivo generale del progetto. Obiettivo
---------
L'obiettivo del progetto è la creazione di un software per fornire l'aggregazione e l'analisi di `Tweet`_, in modo da
rilevare eventi *macroscopici*, *locali* o più semplicemente filtrarli in base a delle *keyword*.
Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.
Il software andrà ad integrarsi direttamente con `Twitter`_, da cui verranno raccolti dati e su cui verranno pubblicate
allerte su di essi.
.. _Tweet: https://help.twitter.com/it/using-twitter#tweets
.. _Twitter: https://twitter.com/
Scope Campo di applicazione
----- ---------------------
Il software trova utilizzo principalmente in **ambito statistico**, essendo il suo scopo quello di raccogliere dati e
permettere di analizzarli tramite un'interfaccia grafica.
Caratteristiche degli utenti
----------------------------
Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari
conoscenze informatiche.
Glossario
---------
Repository
Raccolta di tweet che soddisfano determinate condizioni.
Condizione
Predicato logico che deve essere soddisfatto da un tweet per essere raccolto in fase di raccolta dati, o per essere
contato in fase di allertamento utente.
Filtro
Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.
Allarme
Notifica inviata all'utente attraverso un mezzo telematico, come email oppure un tweet.
Utente
Utilizzatore del software con un proprio account creato dall'amministratore della piattaforma.
In particolare, la piattaforma prevederà due tipologie di utenti:
Utente regolare
Potranno eseguire attività di creazione, analisi, condivisione, archiviazione ed eliminazione dei propri repository.
Utente amministratore
Potrà effettuare tutte le attività dell'utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti
regolari.
.. todo:: .. todo::
Estendere il glossario qualora vengano incontrati altri termini.
Scrivere lo scope del progetto.
Macro-funzionalità
------------------
Il software permetterà di selezionare **condizioni** con cui scegliere quali tweet raccogliere:
- in base ai loro `hashtag`_
- in base al loro autore
- in base alla loro `posizione geografica`_ (ove presente)
- in base alla loro data di pubblicazione
Selezionate le condizioni, l'utente potrà creare una **repository**: una cartella in cui verranno raccolti i tweet
soddisfacenti le condizioni richieste.
Una volta raccolti, i tweet di una repository potranno essere **analizzati** in qualsiasi momento: durante l'analisi,
saranno mostrate statistiche e grafici relativi ai tweet.
La raccolta potrà essere interrotta in qualsiasi momento **archiviando** il repository.
Sarà possibile **condividere** una repository con altri utenti della piattaforma, permettendo loro di analizzarla.
Infine, l'utente potrà configurare una repository in modo che gli invii una **allerta** qualora vengano raccolti un dato
numero di tweet in una certa *finestra temporale*.
.. _hashtag: https://help.twitter.com/it/using-twitter/how-to-use-hashtags
.. _posizione geografica: https://help.twitter.com/en/safety-and-security/tweet-location-settings
Database
--------
.. todo:: inserire schema database + glossario aggiornato
Casi d'uso Casi d'uso
---------- ----------
.. todo:: N.E.S.T. prevede tre tipologie di *agenti* ("utenti" UML): **utente**, **amministratore** e **sistema**.
Scrivere i casi d'uso del progetto. .. image:: Utenti.png
I principali casi duso individuati durante la progettazione di N.E.S.T. sono:
- La gestione degli utenti da parte di un Amministratore:
.. image:: CasiUso1.PNG
- La gestione del login da parte di un Utente:
.. image:: CasiUso2.PNG
- La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:
.. image:: CasiUso3.PNG
- La gestione della raccolta da parte dell'utente:
.. image:: CasiUso4.PNG
- La gestione di un repository da parte dell'utente:
.. image:: CasiUso5.PNG
- La visualizzazione di un repository:
.. image:: CasiUso6.PNG
Backlog generale Backlog generale
---------------- ----------------
.. todo:: Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dellavvio dello sviluppo.
Gli elementi dal bordo grigio sono le epiche:
Elencare qui tutte le user story del backlog, senza specificare lo sprint in cui sono state realizzate. .. note::
Alcune user story sono state rimosse in seguito al feedback ricevuto durante il primo sprint!
.. image:: Backlog1.PNG
.. image:: Backlog2.PNG
.. image:: Backlog3.PNG
.. image:: Backlog4.PNG
.. image:: Backlog5.PNG

View file

@ -15,28 +15,28 @@ La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Sprint 0 <0-sprint-requirements.pdf>` - :download:`Sprint 0 <0-sprint-requirements.pdf>`
Goal Definition of ready
---- -------------------
.. todo:: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
Inserire qui lo sprint goal. * La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità
Backlog * Il Team è in grado di stimarla
------- * La User Story è indipendente o dipendente da altre a priorità maggiore
.. todo::
Mostrare qui lo sprint backlog di Taiga.
Definition of done Definition of done
------------------ ------------------
.. todo:: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così
definita:
Inserire qui la definition of done dello sprint. * Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test
* Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch Main di GitLab
Registro attività Registro attività
@ -438,12 +438,11 @@ Risultati della partita di Scrumble
#. :Goal: Problem Solving #. :Goal: Problem Solving
:Question: Does team organize their tasks properly? :Question: Does team organize their tasks properly?
:Metric: Average of tasks left at the end of each sprint :Metric: Average of tasks left at the end of each sprint
:Evaluation: Calculate the average of tasks left for each sprint: :Evaluation: :1: 21+ average tasks left
:1: 21+ :2: 16-20 average tasks left
:2: 16-20 :3: 11-15 average tasks left
:3: 11-15 :4: 6-10 average tasks left
:4: 6-10 :5: 0-5 average tasks left
:5: 0-5
:Chiara: 5 :Chiara: 5
:Giorgio: 5 :Giorgio: 5
:Giovanni: 5 :Giovanni: 5
@ -453,12 +452,11 @@ Risultati della partita di Scrumble
#. :Goal: Problem Solving #. :Goal: Problem Solving
:Question: Does PO plan efficiently the Sprint Backlog? :Question: Does PO plan efficiently the Sprint Backlog?
:Metric: Average of tasks left at the end of each sprint :Metric: Average of tasks left at the end of each sprint
:Evaluation: Calculate the average of tasks left for each sprint: :Evaluation: :1: 21+ average tasks left
:1: 21+ :2: 16-20 average tasks left
:2: 16-20 :3: 11-15 average tasks left
:3: 11-15 :4: 6-10 average tasks left
:4: 6-10 :5: 0-5 average tasks left
:5: 0-5
:Stefano G.: 5 :Stefano G.: 5

View file

@ -36,6 +36,12 @@ Benvenuto alla documentazione di N.E.S.T.!
code/frontend/index code/frontend/index
.. toctree::
:hidden:
development/clientinterview
Cose rimaste da fare Cose rimaste da fare
-------------------- --------------------

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -92,7 +92,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Obiettivo del progetto &mdash; N.E.S.T. 0.1.0 documentazione</title> <title>Introduzione &mdash; N.E.S.T. 0.1.0 documentazione</title>
@ -93,8 +93,13 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Obiettivo del progetto</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">Introduzione</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#scope">Scope</a></li> <li class="toctree-l2"><a class="reference internal" href="#obiettivo">Obiettivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="#campo-di-applicazione">Campo di applicazione</a></li>
<li class="toctree-l2"><a class="reference internal" href="#caratteristiche-degli-utenti">Caratteristiche degli utenti</a></li>
<li class="toctree-l2"><a class="reference internal" href="#glossario">Glossario</a></li>
<li class="toctree-l2"><a class="reference internal" href="#macro-funzionalita">Macro-funzionalità</a></li>
<li class="toctree-l2"><a class="reference internal" href="#database">Database</a></li>
<li class="toctree-l2"><a class="reference internal" href="#casi-d-uso">Casi duso</a></li> <li class="toctree-l2"><a class="reference internal" href="#casi-d-uso">Casi duso</a></li>
<li class="toctree-l2"><a class="reference internal" href="#backlog-generale">Backlog generale</a></li> <li class="toctree-l2"><a class="reference internal" href="#backlog-generale">Backlog generale</a></li>
</ul> </ul>
@ -163,7 +168,7 @@
<li><a href="../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
<li>Obiettivo del progetto</li> <li>Introduzione</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
@ -182,32 +187,122 @@
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="section" id="obiettivo-del-progetto"> <div class="section" id="introduzione">
<h1>Obiettivo del progetto<a class="headerlink" href="#obiettivo-del-progetto" title="Link a questa intestazione"></a></h1> <h1>Introduzione<a class="headerlink" href="#introduzione" title="Link a questa intestazione"></a></h1>
<div class="admonition-todo admonition" id="id1"> <div class="admonition-todo admonition" id="id1">
<p class="admonition-title">Da fare</p> <p class="admonition-title">Da fare</p>
<p>Scrivere lobiettivo generale del progetto.</p> <p>Lasciamo il tempo al futuro?</p>
</div> </div>
<div class="section" id="scope"> <div class="section" id="obiettivo">
<h2>Scope<a class="headerlink" href="#scope" title="Link a questa intestazione"></a></h2> <h2>Obiettivo<a class="headerlink" href="#obiettivo" title="Link a questa intestazione"></a></h2>
<p>Lobiettivo del progetto è la creazione di un software per fornire laggregazione e lanalisi di <a class="reference external" href="https://help.twitter.com/it/using-twitter#tweets">Tweet</a>, in modo da
rilevare eventi <em>macroscopici</em>, <em>locali</em> o più semplicemente filtrarli in base a delle <em>keyword</em>.</p>
<p>Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.</p>
<p>Il software andrà ad integrarsi direttamente con <a class="reference external" href="https://twitter.com/">Twitter</a>, da cui verranno raccolti dati e su cui verranno pubblicate
allerte su di essi.</p>
</div>
<div class="section" id="campo-di-applicazione">
<h2>Campo di applicazione<a class="headerlink" href="#campo-di-applicazione" title="Link a questa intestazione"></a></h2>
<p>Il software trova utilizzo principalmente in <strong>ambito statistico</strong>, essendo il suo scopo quello di raccogliere dati e
permettere di analizzarli tramite uninterfaccia grafica.</p>
</div>
<div class="section" id="caratteristiche-degli-utenti">
<h2>Caratteristiche degli utenti<a class="headerlink" href="#caratteristiche-degli-utenti" title="Link a questa intestazione"></a></h2>
<p>Il software potrà essere utilizzato da utenti con una discreta esperienza nellanalisi di dati ma senza particolari
conoscenze informatiche.</p>
</div>
<div class="section" id="glossario">
<h2>Glossario<a class="headerlink" href="#glossario" title="Link a questa intestazione"></a></h2>
<dl>
<dt>Repository</dt><dd><p>Raccolta di tweet che soddisfano determinate condizioni.</p>
</dd>
<dt>Condizione</dt><dd><p>Predicato logico che deve essere soddisfatto da un tweet per essere raccolto in fase di raccolta dati, o per essere
contato in fase di allertamento utente.</p>
</dd>
<dt>Filtro</dt><dd><p>Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.</p>
</dd>
<dt>Allarme</dt><dd><p>Notifica inviata allutente attraverso un mezzo telematico, come email oppure un tweet.</p>
</dd>
<dt>Utente</dt><dd><p>Utilizzatore del software con un proprio account creato dallamministratore della piattaforma.</p>
<p>In particolare, la piattaforma prevederà due tipologie di utenti:</p>
<dl class="simple">
<dt>Utente regolare</dt><dd><p>Potranno eseguire attività di creazione, analisi, condivisione, archiviazione ed eliminazione dei propri repository.</p>
</dd>
<dt>Utente amministratore</dt><dd><p>Potrà effettuare tutte le attività dellutente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti
regolari.</p>
</dd>
</dl>
</dd>
</dl>
<div class="admonition-todo admonition" id="id2"> <div class="admonition-todo admonition" id="id2">
<p class="admonition-title">Da fare</p> <p class="admonition-title">Da fare</p>
<p>Scrivere lo scope del progetto.</p> <p>Estendere il glossario qualora vengano incontrati altri termini.</p>
</div>
</div>
<div class="section" id="macro-funzionalita">
<h2>Macro-funzionalità<a class="headerlink" href="#macro-funzionalita" title="Link a questa intestazione"></a></h2>
<p>Il software permetterà di selezionare <strong>condizioni</strong> con cui scegliere quali tweet raccogliere:</p>
<ul class="simple">
<li><p>in base ai loro <a class="reference external" href="https://help.twitter.com/it/using-twitter/how-to-use-hashtags">hashtag</a></p></li>
<li><p>in base al loro autore</p></li>
<li><p>in base alla loro <a class="reference external" href="https://help.twitter.com/en/safety-and-security/tweet-location-settings">posizione geografica</a> (ove presente)</p></li>
<li><p>in base alla loro data di pubblicazione</p></li>
</ul>
<p>Selezionate le condizioni, lutente potrà creare una <strong>repository</strong>: una cartella in cui verranno raccolti i tweet
soddisfacenti le condizioni richieste.</p>
<p>Una volta raccolti, i tweet di una repository potranno essere <strong>analizzati</strong> in qualsiasi momento: durante lanalisi,
saranno mostrate statistiche e grafici relativi ai tweet.</p>
<p>La raccolta potrà essere interrotta in qualsiasi momento <strong>archiviando</strong> il repository.</p>
<p>Sarà possibile <strong>condividere</strong> una repository con altri utenti della piattaforma, permettendo loro di analizzarla.</p>
<p>Infine, lutente potrà configurare una repository in modo che gli invii una <strong>allerta</strong> qualora vengano raccolti un dato
numero di tweet in una certa <em>finestra temporale</em>.</p>
</div>
<div class="section" id="database">
<h2>Database<a class="headerlink" href="#database" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id3">
<p class="admonition-title">Da fare</p>
<p>inserire schema database + glossario aggiornato</p>
</div> </div>
</div> </div>
<div class="section" id="casi-d-uso"> <div class="section" id="casi-d-uso">
<h2>Casi duso<a class="headerlink" href="#casi-d-uso" title="Link a questa intestazione"></a></h2> <h2>Casi duso<a class="headerlink" href="#casi-d-uso" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id3"> <p>N.E.S.T. prevede tre tipologie di <em>agenti</em> («utenti» UML): <strong>utente</strong>, <strong>amministratore</strong> e <strong>sistema</strong>.</p>
<p class="admonition-title">Da fare</p> <img alt="../_images/Utenti.png" src="../_images/Utenti.png" />
<p>Scrivere i casi duso del progetto.</p> <p>I principali casi duso individuati durante la progettazione di N.E.S.T. sono:</p>
</div> <ul>
<li><p>La gestione degli utenti da parte di un Amministratore:</p>
<img alt="../_images/CasiUso1.PNG" src="../_images/CasiUso1.PNG" />
</li>
<li><p>La gestione del login da parte di un Utente:</p>
<img alt="../_images/CasiUso2.PNG" src="../_images/CasiUso2.PNG" />
</li>
<li><p>La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:</p>
<img alt="../_images/CasiUso3.PNG" src="../_images/CasiUso3.PNG" />
</li>
<li><p>La gestione della raccolta da parte dellutente:</p>
<img alt="../_images/CasiUso4.PNG" src="../_images/CasiUso4.PNG" />
</li>
<li><p>La gestione di un repository da parte dellutente:</p>
<img alt="../_images/CasiUso5.PNG" src="../_images/CasiUso5.PNG" />
</li>
<li><p>La visualizzazione di un repository:</p>
<img alt="../_images/CasiUso6.PNG" src="../_images/CasiUso6.PNG" />
</li>
</ul>
</div> </div>
<div class="section" id="backlog-generale"> <div class="section" id="backlog-generale">
<h2>Backlog generale<a class="headerlink" href="#backlog-generale" title="Link a questa intestazione"></a></h2> <h2>Backlog generale<a class="headerlink" href="#backlog-generale" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id4"> <p>Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dellavvio dello sviluppo.
<p class="admonition-title">Da fare</p> Gli elementi dal bordo grigio sono le epiche:</p>
<p>Elencare qui tutte le user story del backlog, senza specificare lo sprint in cui sono state realizzate.</p> <div class="admonition note">
<p class="admonition-title">Nota</p>
<p>Alcune user story sono state rimosse in seguito al feedback ricevuto durante il primo sprint!</p>
</div> </div>
<img alt="../_images/Backlog1.PNG" src="../_images/Backlog1.PNG" />
<img alt="../_images/Backlog2.PNG" src="../_images/Backlog2.PNG" />
<img alt="../_images/Backlog3.PNG" src="../_images/Backlog3.PNG" />
<img alt="../_images/Backlog4.PNG" src="../_images/Backlog4.PNG" />
<img alt="../_images/Backlog5.PNG" src="../_images/Backlog5.PNG" />
</div> </div>
</div> </div>

View file

@ -41,7 +41,7 @@
<link rel="index" title="Indice" href="../genindex.html" /> <link rel="index" title="Indice" href="../genindex.html" />
<link rel="search" title="Cerca" href="../search.html" /> <link rel="search" title="Cerca" href="../search.html" />
<link rel="next" title="Strumenti utilizzati" href="tools.html" /> <link rel="next" title="Strumenti utilizzati" href="tools.html" />
<link rel="prev" title="Obiettivo del progetto" href="goals.html" /> <link rel="prev" title="Descrizione generale" href="goals.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Descrizione generale</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Processo di sviluppo</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
@ -197,7 +197,7 @@ retrospettiva finale»</p>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="tools.html" class="btn btn-neutral float-right" title="Strumenti utilizzati" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="tools.html" class="btn btn-neutral float-right" title="Strumenti utilizzati" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="goals.html" class="btn btn-neutral float-left" title="Obiettivo del progetto" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="goals.html" class="btn btn-neutral float-left" title="Descrizione generale" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>

View file

@ -93,13 +93,12 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Sprint 0: 04 Apr - 18 Apr</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">Sprint 0: 04 Apr - 18 Apr</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#consegna">Consegna</a></li> <li class="toctree-l2"><a class="reference internal" href="#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="#goal">Goal</a></li> <li class="toctree-l2"><a class="reference internal" href="#definition-of-ready">Definition of ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="#backlog">Backlog</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-done">Definition of done</a></li> <li class="toctree-l2"><a class="reference internal" href="#definition-of-done">Definition of done</a></li>
<li class="toctree-l2"><a class="reference internal" href="#registro-attivita">Registro attività</a><ul> <li class="toctree-l2"><a class="reference internal" href="#registro-attivita">Registro attività</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#riunioni-collettive">Riunioni collettive</a></li> <li class="toctree-l3"><a class="reference internal" href="#riunioni-collettive">Riunioni collettive</a></li>
@ -216,26 +215,27 @@
<li><p><a class="reference download internal" download="" href="../../_downloads/56a7b936d5f736eeed714f4fad53c4c3/0-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">0</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/56a7b936d5f736eeed714f4fad53c4c3/0-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">0</span></code></a></p></li>
</ul> </ul>
</div> </div>
<div class="section" id="goal"> <div class="section" id="definition-of-ready">
<h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2> <h2>Definition of ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id2"> <p>Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:</p>
<p class="admonition-title">Da fare</p> <ul class="simple">
<p>Inserire qui lo sprint goal.</p> <li><p>La User Story è stata compresa ed accettata da tutti i membri</p></li>
</div> <li><p>I tester hanno confermato la possibilità di poterla testare</p></li>
</div> <li><p>Il Product Owner ha la visione necessaria per definirne la priorità</p></li>
<div class="section" id="backlog"> <li><p>Il Team è in grado di stimarla</p></li>
<h2>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h2> <li><p>La User Story è indipendente o dipendente da altre a priorità maggiore</p></li>
<div class="admonition-todo admonition" id="id3"> </ul>
<p class="admonition-title">Da fare</p>
<p>Mostrare qui lo sprint backlog di Taiga.</p>
</div>
</div> </div>
<div class="section" id="definition-of-done"> <div class="section" id="definition-of-done">
<h2>Definition of done<a class="headerlink" href="#definition-of-done" title="Link a questa intestazione"></a></h2> <h2>Definition of done<a class="headerlink" href="#definition-of-done" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id4"> <p>La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così
<p class="admonition-title">Da fare</p> definita:</p>
<p>Inserire qui la definition of done dello sprint.</p> <ul class="simple">
</div> <li><p>Sviluppo completo della funzionalità richiesta</p></li>
<li><p>Definizione e superamento dei test</p></li>
<li><p>Bozza della documentazione della funzionalità</p></li>
<li><p>Merge dei sorgenti nel branch Main di GitLab</p></li>
</ul>
</div> </div>
<div class="section" id="registro-attivita"> <div class="section" id="registro-attivita">
<h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2> <h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2>
@ -1090,28 +1090,39 @@
<dd class="field-odd"><p>Average of tasks left at the end of each sprint</p> <dd class="field-odd"><p>Average of tasks left at the end of each sprint</p>
</dd> </dd>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><p>Calculate the average of tasks left for each sprint: <dd class="field-even"><dl class="field-list simple">
:1: 21+ <dt class="field-odd">1</dt>
:2: 16-20 <dd class="field-odd"><p>21+ average tasks left</p>
:3: 11-15
:4: 6-10
:5: 0-5</p>
</dd> </dd>
<dt class="field-odd">Chiara</dt> <dt class="field-even">2</dt>
<dd class="field-odd"><p>5</p> <dd class="field-even"><p>16-20 average tasks left</p>
</dd> </dd>
<dt class="field-even">Giorgio</dt> <dt class="field-odd">3</dt>
<dd class="field-odd"><p>11-15 average tasks left</p>
</dd>
<dt class="field-even">4</dt>
<dd class="field-even"><p>6-10 average tasks left</p>
</dd>
<dt class="field-odd">5</dt>
<dd class="field-odd"><p>0-5 average tasks left</p>
</dd>
</dl>
</dd>
<dt class="field-even">Chiara</dt>
<dd class="field-even"><p>5</p> <dd class="field-even"><p>5</p>
</dd> </dd>
<dt class="field-odd">Giovanni</dt> <dt class="field-odd">Giorgio</dt>
<dd class="field-odd"><p>5</p> <dd class="field-odd"><p>5</p>
</dd> </dd>
<dt class="field-even">Stefano P.</dt> <dt class="field-even">Giovanni</dt>
<dd class="field-even"><p>5</p> <dd class="field-even"><p>5</p>
</dd> </dd>
<dt class="field-odd">Lorenzo</dt> <dt class="field-odd">Stefano P.</dt>
<dd class="field-odd"><p>5</p> <dd class="field-odd"><p>5</p>
</dd> </dd>
<dt class="field-even">Lorenzo</dt>
<dd class="field-even"><p>5</p>
</dd>
</dl> </dl>
</li> </li>
<li><dl class="field-list simple"> <li><dl class="field-list simple">
@ -1125,15 +1136,26 @@
<dd class="field-odd"><p>Average of tasks left at the end of each sprint</p> <dd class="field-odd"><p>Average of tasks left at the end of each sprint</p>
</dd> </dd>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><p>Calculate the average of tasks left for each sprint: <dd class="field-even"><dl class="field-list simple">
:1: 21+ <dt class="field-odd">1</dt>
:2: 16-20 <dd class="field-odd"><p>21+ average tasks left</p>
:3: 11-15
:4: 6-10
:5: 0-5</p>
</dd> </dd>
<dt class="field-odd">Stefano G.</dt> <dt class="field-even">2</dt>
<dd class="field-odd"><p>5</p> <dd class="field-even"><p>16-20 average tasks left</p>
</dd>
<dt class="field-odd">3</dt>
<dd class="field-odd"><p>11-15 average tasks left</p>
</dd>
<dt class="field-even">4</dt>
<dd class="field-even"><p>6-10 average tasks left</p>
</dd>
<dt class="field-odd">5</dt>
<dd class="field-odd"><p>0-5 average tasks left</p>
</dd>
</dl>
</dd>
<dt class="field-even">Stefano G.</dt>
<dd class="field-even"><p>5</p>
</dd> </dd>
</dl> </dl>
</li> </li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -93,7 +93,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Strumenti utilizzati</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -91,7 +91,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -97,7 +97,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -40,7 +40,7 @@
<link rel="index" title="Indice" href="../genindex.html" /> <link rel="index" title="Indice" href="../genindex.html" />
<link rel="search" title="Cerca" href="../search.html" /> <link rel="search" title="Cerca" href="../search.html" />
<link rel="next" title="Obiettivo del progetto" href="../development/goals.html" /> <link rel="next" title="Descrizione generale" href="../development/goals.html" />
<link rel="prev" title="Il progetto in breve" href="about.html" /> <link rel="prev" title="Il progetto in breve" href="about.html" />
</head> </head>
@ -108,7 +108,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Descrizione generale</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
@ -475,7 +475,7 @@ esempio da adattare al proprio setup:</p>
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../development/goals.html" class="btn btn-neutral float-right" title="Obiettivo del progetto" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="../development/goals.html" class="btn btn-neutral float-right" title="Descrizione generale" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="about.html" class="btn btn-neutral float-left" title="Il progetto in breve" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="about.html" class="btn btn-neutral float-left" title="Il progetto in breve" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>

View file

@ -92,7 +92,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
@ -208,8 +208,13 @@
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Obiettivo del progetto</a><ul> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#scope">Scope</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#obiettivo">Obiettivo</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#campo-di-applicazione">Campo di applicazione</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#caratteristiche-degli-utenti">Caratteristiche degli utenti</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#glossario">Glossario</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#macro-funzionalita">Macro-funzionalità</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#database">Database</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#casi-d-uso">Casi duso</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#casi-d-uso">Casi duso</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#backlog-generale">Backlog generale</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#backlog-generale">Backlog generale</a></li>
</ul> </ul>
@ -218,8 +223,7 @@
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a><ul> <li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#consegna">Consegna</a></li> <li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#goal">Goal</a></li> <li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#definition-of-ready">Definition of ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#backlog">Backlog</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#definition-of-done">Definition of done</a></li> <li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#definition-of-done">Definition of done</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#registro-attivita">Registro attività</a></li> <li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#registro-attivita">Registro attività</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#risultati-della-partita-di-scrumble">Risultati della partita di Scrumble</a></li> <li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#risultati-della-partita-di-scrumble">Risultati della partita di Scrumble</a></li>
@ -288,6 +292,12 @@
<li class="toctree-l1"><a class="reference internal" href="code/frontend/index.html"><code class="docutils literal notranslate"><span class="pre">nest_frontend</span></code> - Interfaccia utente in React</a></li> <li class="toctree-l1"><a class="reference internal" href="code/frontend/index.html"><code class="docutils literal notranslate"><span class="pre">nest_frontend</span></code> - Interfaccia utente in React</a></li>
</ul> </ul>
</div> </div>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<span class="docutils literal">/mnt/tera/ext4/code/g2-progetto-2/docs/source/index.rst</span>, line 39)</p>
<p>toctree contains reference to nonexisting document “development/clientinterview”</p>
</div>
<div class="toctree-wrapper compound">
</div>
<div class="section" id="cose-rimaste-da-fare"> <div class="section" id="cose-rimaste-da-fare">
<h2>Cose rimaste da fare<a class="headerlink" href="#cose-rimaste-da-fare" title="Link a questa intestazione"></a></h2> <h2>Cose rimaste da fare<a class="headerlink" href="#cose-rimaste-da-fare" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition"> <div class="admonition-todo admonition">
@ -310,26 +320,6 @@
<p class="todo-source">(L'<a class="reference internal" href="development/conclusions.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/conclusions.rst, linea 4.)</p> <p class="todo-source">(L'<a class="reference internal" href="development/conclusions.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/conclusions.rst, linea 4.)</p>
<div class="admonition-todo admonition"> <div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p> <p class="admonition-title">Da fare</p>
<p>Scrivere lobiettivo generale del progetto.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 4.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Scrivere lo scope del progetto.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 12.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Scrivere i casi duso del progetto.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id3"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 20.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Elencare qui tutte le user story del backlog, senza specificare lo sprint in cui sono state realizzate.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id4"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 28.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Descrivere genericamente il processo di sviluppo seguito, includendo:</p> <p>Descrivere genericamente il processo di sviluppo seguito, includendo:</p>
<blockquote> <blockquote>
<div><p>«numero e durata degli sprint, burndown complessivo, diari dei partecipanti e/o diario di gruppo, <div><p>«numero e durata degli sprint, burndown complessivo, diari dei partecipanti e/o diario di gruppo,
@ -345,21 +335,6 @@ retrospettiva finale»</p>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint0/index.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint0/index.rst, linea 4.)</p> <p class="todo-source">(L'<a class="reference internal" href="development/sprint0/index.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint0/index.rst, linea 4.)</p>
<div class="admonition-todo admonition"> <div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p> <p class="admonition-title">Da fare</p>
<p>Inserire qui lo sprint goal.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint0/index.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint0/index.rst, linea 21.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Mostrare qui lo sprint backlog di Taiga.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint0/index.html#id3"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint0/index.rst, linea 29.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Inserire qui la definition of done dello sprint.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint0/index.html#id4"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint0/index.rst, linea 37.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Inserire informazioni generali sullo sprint, come inizio e fine.</p> <p>Inserire informazioni generali sullo sprint, come inizio e fine.</p>
</div> </div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint1/index.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint1/index.rst, linea 4.)</p> <p class="todo-source">(L'<a class="reference internal" href="development/sprint1/index.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint1/index.rst, linea 4.)</p>
@ -463,6 +438,21 @@ retrospettiva finale»</p>
<p>Scrivere una guida allesecuzione ripetuta del crawler attraverso un timer SystemD.</p> <p>Scrivere una guida allesecuzione ripetuta del crawler attraverso un timer SystemD.</p>
</div> </div>
<p class="todo-source">(L'<a class="reference internal" href="guide/installation.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/guide/installation.rst, linea 291.)</p> <p class="todo-source">(L'<a class="reference internal" href="guide/installation.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/guide/installation.rst, linea 291.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Lasciamo il tempo al futuro?</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 4.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Estendere il glossario qualora vengano incontrati altri termini.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 64.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>inserire schema database + glossario aggiornato</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/goals.html#id3"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/goals.rst, linea 98.)</p>
</div> </div>
<div class="section" id="altri-collegamenti"> <div class="section" id="altri-collegamenti">
<h2>Altri collegamenti<a class="headerlink" href="#altri-collegamenti" title="Link a questa intestazione"></a></h2> <h2>Altri collegamenti<a class="headerlink" href="#altri-collegamenti" title="Link a questa intestazione"></a></h2>

Binary file not shown.

View file

@ -94,7 +94,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

View file

@ -94,7 +94,7 @@
</ul> </ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Obiettivo del progetto</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>

File diff suppressed because one or more lines are too long

View file

@ -1,344 +1,387 @@
Descrizione generale Introduzione
-------------------- ============
1.1 Obiettivi .. todo::
^^^^^^^^^^^^^ Lasciamo il tempo al futuro?
Lo **scopo** di questo software è quello di fornire tool per laggregazione e lanalisi di Tweet in modo da rilevare
eventi *macroscopici*, *locali* o più semplicemente filtrare in base a delle *keyword*.
Il software è un nuovo prodotto autonomo che non va ad integrarsi a nessun sistema software fatta eccezione per Twitter, da cui raccogliamo i nostri dati.
1.2 Marco Funzionalità Obiettivo
^^^^^^^^^^^^^^^^^^^^^^ ---------
Modalità di ricerca:
- filtrare i Tweet in base a delle keyword
- filtrare i Tweet in base alla loro geolocalizzazione solo se sono provvisti dellattributo di geolocalizzazione
- filtrare i Tweet in base alla loro data di pubblicazione
- filtratre i tweet in base all'utente
- combinare diversi filtri
L'utente può decidere di salvare la propria ricerca in un **repositotory** per poterla consultare in seguito o per poterla condividere con L'obiettivo del progetto è la creazione di un software per fornire l'aggregazione e l'analisi di `Tweet`_, in modo da
un altro utente , un repository può essere attivo o archiviato: rilevare eventi *macroscopici*, *locali* o più semplicemente filtrarli in base a delle *keyword*.
**Attivo :** Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.
continua a raccogliere dati ed è possibile modificarne i parametri di ricerca.
**Archiviato :** Il software andrà ad integrarsi direttamente con `Twitter`_, da cui verranno raccolti dati e su cui verranno pubblicate
mostra la ricerca salvata senza poterne più modificare i parametri o far ripartire la ricerca. allerte su di essi.
LUtente che utilizza la piattaforma riceverà una **notifica** al verificarsi di determinate condizioni, che potranno .. _Tweet: https://help.twitter.com/it/using-twitter#tweets
essere impostate dall'utente. .. _Twitter: https://twitter.com/
1.3 Campo di Applicazione
^^^^^^^^^^^^^^^^^^^^^^^^^
Il software trova utilizzo principalmente in ambito statistico essendo il suo scopo quello di raccogliere dati per
favorirne lanalisi tramite uninterfaccia grafica.
1.4 Caratteristiche degli utenti Campo di applicazione
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ---------------------
Il software è pensato per essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari conoscenze informatiche.
- Sarà presente un super utente (**Amministratore**) che avrà il compito di creare ed eliminare gli altri utenti del sistema. Il software trova utilizzo principalmente in **ambito statistico**, essendo il suo scopo quello di raccogliere dati e
- Gli utenti base (**Utenti**) potranno eseguire tutte le attività descritte nel paragrafo precedente, es. raccolta, analisi, storicizzazione, condivisione, ecc.. permettere di analizzarli tramite un'interfaccia grafica.
- Sarà presente un utente virtuale (**Sistema**) che si occuperà delle interazioni con le api di Twitter e con il database.
.. image:: Utenti.png
1.5 Definizioni, Acronimi, Abbreviazioni Caratteristiche degli utenti
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ----------------------------
**Filtro :**
i filtri vengono utilizzati a livello frontend, servono per poter assegnare delle condition nella pagina
**Crea Repository** e per *filtrare* ulteriormente nella pagina di Analisi di una repository.
.. todo:: modificare descrizione filtro se necessario Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari
conoscenze informatiche.
**Condizione :** Glossario
---------
.. todo:: descrizione condizione Repository
Raccolta di tweet che soddisfano determinate condizioni.
**Repository :** Condizione
raccolta di tweet che hanno in comune una o più condizione. Predicato logico che deve essere soddisfatto da un tweet per essere raccolto in fase di raccolta dati, o per essere
contato in fase di allertamento utente.
**Tweet :** Filtro
è un post su Twitter che viene raccolto dal software se i filtri applicati al repository lo permettono. Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.
Contiene informazioni relative al suo autore e altre informazioni, a seconda del tipo di Tweet.
**Allarme:** Allarme
Notifica inviata all'utente attraverso un mezzo telematico, come email oppure un tweet.
Utente
Utilizzatore del software con un proprio account creato dall'amministratore della piattaforma.
In particolare, la piattaforma prevederà due tipologie di utenti:
Utente regolare
Potranno eseguire attività di creazione, analisi, condivisione, archiviazione ed eliminazione dei propri repository.
Utente amministratore
Potrà effettuare tutte le attività dell'utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti
regolari.
.. todo::
Estendere il glossario qualora vengano incontrati altri termini.
Macro-funzionalità
------------------
Il software permetterà di selezionare **condizioni** con cui scegliere quali tweet raccogliere:
- in base ai loro `hashtag`_
- in base al loro autore
- in base alla loro `posizione geografica`_ (ove presente)
- in base alla loro data di pubblicazione
Selezionate le condizioni, l'utente potrà creare una **repository**: una cartella in cui verranno raccolti i tweet
soddisfacenti le condizioni richieste.
Una volta raccolti, i tweet di una repository potranno essere **analizzati** in qualsiasi momento: durante l'analisi,
saranno mostrate statistiche e grafici relativi ai tweet.
La raccolta potrà essere interrotta in qualsiasi momento **archiviando** il repository.
Sarà possibile **condividere** una repository con altri utenti della piattaforma, permettendo loro di analizzarla.
Infine, l'utente potrà configurare una repository in modo che gli invii una **allerta** qualora vengano raccolti un dato
numero di tweet in una certa *finestra temporale*.
.. _hashtag: https://help.twitter.com/it/using-twitter/how-to-use-hashtags
.. _posizione geografica: https://help.twitter.com/en/safety-and-security/tweet-location-settings
.. todo:: descrizione allarme
1.6 Database 1.6 Database
^^^^^^^^^^^^ ^^^^^^^^^^^^
1.6.1 Definizioni, glossario 1.6.1 Definizioni, glossario
"""""""""""""""""""""""""""" """"""""""""""""""""""""""""
**Alert** **Alert**
| Un alert è un allarme impostato da un utente che si "attiva" quando un numero di tweet che rispetta certe condizioni (poste in and oppure or) supera una certa soglia, indicata dall'utente. | Un alert è un allarme impostato da un utente che si "attiva" quando un numero di tweet che rispetta certe condizioni (poste in and oppure or) supera una certa soglia, indicata dall'utente.
| Ogni volta che l'alert si attiva, viene creata una "notifica", ovvero una entry nella tabella Notifications. Questo permette di tenere conto del numero di volte in cui l'alert viene triggerato. Gli alert sono legati al repository di appartenenza, e quando uno di essi viene allertato viene inviata una mail all'admin e pubblicato un tweet sull'account Twitter usato per le analisi. | Ogni volta che l'alert si attiva, viene creata una "notifica", ovvero una entry nella tabella Notifications. Questo permette di tenere conto del numero di volte in cui l'alert viene triggerato. Gli alert sono legati al repository di appartenenza, e quando uno di essi viene allertato viene inviata una mail all'admin e pubblicato un tweet sull'account Twitter usato per le analisi.
| La tabella alert contiene le seguenti colonne: | La tabella alert contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - id (INTEGER, PK) * - id (INTEGER, PK)
- l'identificativo dell'alert - l'identificativo dell'alert
* - name (VARCHAR, NOT NULL) * - name (VARCHAR, NOT NULL)
- il nome dell'alert - il nome dell'alert
* - limit (INTEGER, NOT NULL) * - limit (INTEGER, NOT NULL)
- il numero di tweet che innescano l'alert - il numero di tweet che innescano l'alert
* - window_size (INTEGER, NOT NULL) * - window_size (INTEGER, NOT NULL)
- numero di ore in cui il limit può venire superato - numero di ore in cui il limit può venire superato
* - evaluation_mode (ENUM/SMALLINT, NOT NULL) * - evaluation_mode (ENUM/SMALLINT, NOT NULL)
- può essere posto a all_or oppure all_not - può essere posto a all_or oppure all_not
* - repository_id (INTEGER, FK, NOT NULL) * - repository_id (INTEGER, FK, NOT NULL)
- -
**Authorization** **Authorization**
| Una autorizzazione è un'entità che rappresenta il permesso, concesso dal creatore del repository ad un altro utente, di ispezionare il contenuto di un repo e di eseguire analisi su di esso. | Una autorizzazione è un'entità che rappresenta il permesso, concesso dal creatore del repository ad un altro utente, di ispezionare il contenuto di un repo e di eseguire analisi su di esso.
| La tabella authorization contiene le seguenti colonne: | La tabella authorization contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - rid (INTEGER, PK, FK) * - rid (INTEGER, PK, FK)
- id del repository - id del repository
* - email (VARCHAR, PK, FK) * - email (VARCHAR, PK, FK)
- email dell'utente - email dell'utente
**Composed** **Composed**
| Composed è una tabella le cui righe indicano l'appartenenza di un Tweet ad un certo repository. | Composed è una tabella le cui righe indicano l'appartenenza di un Tweet ad un certo repository.
| La tabella composed contiene le seguenti colonne: | La tabella composed contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - rid (INTEGER, PK, FK) * - rid (INTEGER, PK, FK)
- id del repository - id del repository
* - snowflake (VARCHAR, PK, FK) * - snowflake (VARCHAR, PK, FK)
- id del tweet - id del tweet
**Condition** **Condition**
| Una condizione è un elemento che viene usato da repository e alert per cercare e classificare i tweet. | Una condizione è un elemento che viene usato da repository e alert per cercare e classificare i tweet.
| Le condizioni possono essere di diversi tipi: | Le condizioni possono essere di diversi tipi:
- **hashtag** (valore 0); - **hashtag** (valore 0);
- **location** (valore 1, deprecato); - **location** (valore 1, deprecato);
- **time** (valore 2); - **time** (valore 2);
- **coordinates** (valore 3); - **coordinates** (valore 3);
- **place** (valore 4, riservato per usi futuri); - **place** (valore 4, riservato per usi futuri);
- **user** (valore 5); - **user** (valore 5);
La tabella condition contiene le seguenti colonne: La tabella condition contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - id (INTEGER, PK) * - id (INTEGER, PK)
- id della condition - id della condition
* - type (ENUM/SMALLINT, NOT NULL) * - type (ENUM/SMALLINT, NOT NULL)
- tipo del contenuto - tipo del contenuto
* - content (VARCHAR, NOT NULL) * - content (VARCHAR, NOT NULL)
- contenuto della condition - contenuto della condition
* - repository_id (INTEGER, FK, NOT NULL) * - repository_id (INTEGER, FK, NOT NULL)
- -
**Contains** **Contains**
Contains è una tabella le cui righe indicano la presenza di una certa condition rispetto ad un certo tweet. Contains è una tabella le cui righe indicano la presenza di una certa condition rispetto ad un certo tweet.
La tabella contains contiene le seguenti colonne: La tabella contains contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - cid (INTEGER, PK, FK) * - cid (INTEGER, PK, FK)
- id della condition - id della condition
* - snowflake (VARCHAR, PK, FK) * - snowflake (VARCHAR, PK, FK)
- id del tweet - id del tweet
**MadeOf** **MadeOf**
MadeOf è una tabella le cui righe indicano il legame tra un alert e una certa condition. MadeOf è una tabella le cui righe indicano il legame tra un alert e una certa condition.
La tabella madeof contiene le seguenti colonne: La tabella madeof contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - aid (INTEGER, PK, FK) * - aid (INTEGER, PK, FK)
- id dell'alert - id dell'alert
* - cid (INTEGER, PK, FK) * - cid (INTEGER, PK, FK)
- id della condition - id della condition
**Notification** **Notification**
| Una notification è un'entità che consente di tenere traccia del momento in cui un certo alert si è attivato per l'ultima volta. | Una notification è un'entità che consente di tenere traccia del momento in cui un certo alert si è attivato per l'ultima volta.
| La tabella notification contiene le seguenti colonne: | La tabella notification contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - id (INTEGER, PK) * - id (INTEGER, PK)
- id della notifica - id della notifica
* - ora (TIMESTAMP, NOT NULL) * - ora (TIMESTAMP, NOT NULL)
- timestamp di attivazione - timestamp di attivazione
* - alert_id (INTEGER, FK, NOT NULL) * - alert_id (INTEGER, FK, NOT NULL)
- -
**Repository** **Repository**
| Un repository è un "contenitore" di tweet, a cui sono legati alert, autorizzazioni di lettura e condizioni. | Un repository è un "contenitore" di tweet, a cui sono legati alert, autorizzazioni di lettura e condizioni.
| Le condizioni possono essere messe in and oppure or, inoltre un repository può venire archiviato prima divenire eliminato. Quando un repository non è archiviato, questo viene riempito di tweet su base oraria, cosa che non accade se viene archiviato. | Le condizioni possono essere messe in and oppure or, inoltre un repository può venire archiviato prima divenire eliminato. Quando un repository non è archiviato, questo viene riempito di tweet su base oraria, cosa che non accade se viene archiviato.
| La tabella repository contiene le seguenti colonne: | La tabella repository contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - id (INTEGER, PK) * - id (INTEGER, PK)
- id del repository - id del repository
* - name (VARCHAR, NOT NULL) * - name (VARCHAR, NOT NULL)
- nome del repository - nome del repository
* - start (TIMESTAMP) * - start (TIMESTAMP)
- timestamp di partenza del repository - timestamp di partenza del repository
* - end (TIMESTAMP) * - end (TIMESTAMP)
- timestamp di chiusura del repository - timestamp di chiusura del repository
* - is_active (BOOLEAN, NOT NULL) * - is_active (BOOLEAN, NOT NULL)
- flag per segnalare se il repo è aperto o meno - flag per segnalare se il repo è aperto o meno
* - evaluation_mode (ENUM/SMALLINT, NOT NULL) * - evaluation_mode (ENUM/SMALLINT, NOT NULL)
- può essere posto a all_or oppure all_not - può essere posto a all_or oppure all_not
* - owner_id (VARCHAR, FK, NOT NULL) * - owner_id (VARCHAR, FK, NOT NULL)
- email del proprietario - email del proprietario
* - is_deleted (BOOLEAN, NOT NULL) * - is_deleted (BOOLEAN, NOT NULL)
- flag per segnalare se l'oggetto è eliminato o meno - flag per segnalare se l'oggetto è eliminato o meno
**Tweet** **Tweet**
| Un tweet è un'entità che viene raccolta dal componente crawler, e quando viene inserita nella base di dati viene | Un tweet è un'entità che viene raccolta dal componente crawler, e quando viene inserita nella base di dati viene
| legata ad un repository e alle condition che contiene. Un tweet contiene informazioni relativamente a chi l'ha creato, | legata ad un repository e alle condition che contiene. Un tweet contiene informazioni relativamente a chi l'ha creato,
| eventuali immagini, il tempo di creazione, il tempo di inserimento nel db e l'opzionale posizione legata al tweet. | eventuali immagini, il tempo di creazione, il tempo di inserimento nel db e l'opzionale posizione legata al tweet.
| La tabella tweet contiene le seguenti colonne: | La tabella tweet contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - snowflake (VARCHAR, PK) * - snowflake (VARCHAR, PK)
- id univoco del tweet - id univoco del tweet
* - content (VARCHAR) * - content (VARCHAR)
- contenuto del tweet - contenuto del tweet
* - location (VARCHAR) * - location (VARCHAR)
- stringa contenente informazioni sulla posizione - stringa contenente informazioni sulla posizione
* - place (VARCHAR) * - place (VARCHAR)
- riservato per sviluppi futuri - riservato per sviluppi futuri
* - poster (VARCHAR) * - poster (VARCHAR)
- informazioni sull'utente che ha creato il tweet - informazioni sull'utente che ha creato il tweet
* - insert_time (TIMESTAMP, NOT NULL) * - insert_time (TIMESTAMP, NOT NULL)
- timestamp dell'inserimento del tweet - timestamp dell'inserimento del tweet
* - image_url (VARCHAR) * - image_url (VARCHAR)
- link alle immagini, se presenti - link alle immagini, se presenti
* - post_time (TIMESTAMP) * - post_time (TIMESTAMP)
- timestamp relativo all'invio del tweet - timestamp relativo all'invio del tweet
**User** **User**
Uno user è l'utilizzatore della piattaforma. E' presente di default un utente admin, il quale può creare nuovi utenti. Uno user è l'utilizzatore della piattaforma. E' presente di default un utente admin, il quale può creare nuovi utenti.
La tabella user contiene le seguenti colonne: La tabella user contiene le seguenti colonne:
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:stub-columns: 1 :stub-columns: 1
:align: left :align: left
* - * -
- Definizioni - Definizioni
* - email (VARCHAR, PK) * - email (VARCHAR, PK)
- email dell'utente - email dell'utente
* - username (VARCHAR, NOT NULL) * - username (VARCHAR, NOT NULL)
- username dell'utente - username dell'utente
* - password (BYTEARRAY, NOT NULL) * - password (BYTEARRAY, NOT NULL)
- sale della password, codificata usando l'algoritmo bcrypt - sale della password, codificata usando l'algoritmo bcrypt
* - isAdmin (BOOLEAN, NOT NULL) * - isAdmin (BOOLEAN, NOT NULL)
- true se l'utente è admin - true se l'utente è admin
Casi d'uso
----------
N.E.S.T. prevede tre tipologie di *agenti* ("utenti" UML): **utente**, **amministratore** e **sistema**.
.. image:: Utenti.png
I principali casi duso individuati durante la progettazione di N.E.S.T. sono:
- La gestione degli utenti da parte di un Amministratore:
.. image:: CasiUso1.PNG
- La gestione del login da parte di un Utente:
.. image:: CasiUso2.PNG
- La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:
.. image:: CasiUso3.PNG
- La gestione della raccolta da parte dell'utente:
.. image:: CasiUso4.PNG
- La gestione di un repository da parte dell'utente:
.. image:: CasiUso5.PNG
- La visualizzazione di un repository:
.. image:: CasiUso6.PNG
Backlog generale
----------------
1.7 Casi d'uso Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dellavvio dello sviluppo.
^^^^^^^^^^^^^^ Gli elementi dal bordo grigio sono le epiche:
.. todo:: li ho rifatti tutti controllate che siano giusti
Si riportano di seguito i principali casi duso delineati durante la progettazione di N.E.S.T. .. note::
Alcune user story sono state rimosse in seguito al feedback ricevuto durante il primo sprint!
- La gestione degli utenti da parte di un Amministratore: .. image:: Backlog1.PNG
.. image:: CasiUso1.png
- La gestione del login da parte di un Utente:
.. image:: CasiUso2.png
- La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:
.. image:: CasiUso3.png
- La gestione della raccolta da parte dell'utente:
.. image:: CasiUso4.png
- La gestione di un repository da parte dell'utente:
.. image:: CasiUso5.png
- La visualizzazione di un Repository:
.. image:: CasiUso6.png
.. image:: Backlog2.PNG
.. image:: Backlog3.PNG
.. image:: Backlog4.PNG
1.8 Backlog generale .. image:: Backlog5.PNG
^^^^^^^^^^^^^^^^^^^^
Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dellavvio dello sviluppo.
Gli elementi dal bordo grigio sono le epiche:
.. image:: Backlog1.png
.. image:: Backlog2.png
.. image:: Backlog3.png
.. image:: Backlog4.png
.. image:: Backlog5.png

View file

@ -20,11 +20,11 @@ Definition of ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
La User Story è stata compresa ed accettata da tutti i membri * La User Story è stata compresa ed accettata da tutti i membri
I tester hanno confermato la possibilità di poterla testare * I tester hanno confermato la possibilità di poterla testare
Il Product Owner ha la visione necessaria per definirne la priorità * Il Product Owner ha la visione necessaria per definirne la priorità
Il Team è in grado di stimarla * Il Team è in grado di stimarla
La User Story è indipendente o dipendente da altre a priorità maggiore * La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of done Definition of done
@ -33,10 +33,10 @@ Definition of done
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così
definita: definita:
Sviluppo completo della funzionalità richiesta * Sviluppo completo della funzionalità richiesta
Definizione e superamento dei test * Definizione e superamento dei test
Bozza della documentazione della funzionalità * Bozza della documentazione della funzionalità
Merge dei sorgenti nel branch Main di GitLab * Merge dei sorgenti nel branch Main di GitLab
Registro attività Registro attività

View file

@ -36,6 +36,12 @@ Benvenuto alla documentazione di N.E.S.T.!
code/frontend/index code/frontend/index
.. toctree::
:hidden:
development/clientinterview
Cose rimaste da fare Cose rimaste da fare
-------------------- --------------------