1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-26 23:14:19 +00:00
pds-2021-g2-nest/docs/source/development/goals.rst

146 lines
4.4 KiB
ReStructuredText
Raw Normal View History

2021-05-29 00:16:01 +00:00
Introduzione
============
2021-05-29 00:16:01 +00:00
Obiettivo
---------
2021-05-29 00:16:01 +00:00
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*.
2021-05-29 00:16:01 +00:00
Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.
2021-05-29 00:16:01 +00:00
Il software andrà ad integrarsi direttamente con `Twitter`_, da cui verranno raccolti dati e su cui verranno pubblicate
allerte su di essi.
2021-05-29 00:16:01 +00:00
.. _Tweet: https://help.twitter.com/it/using-twitter#tweets
.. _Twitter: https://twitter.com/
2021-05-29 00:16:01 +00:00
Campo di applicazione
---------------------
2021-05-29 00:16:01 +00:00
Il software trova utilizzo principalmente in **ambito statistico**, essendo il suo scopo quello di raccogliere dati e
permettere di analizzarli tramite un'interfaccia grafica.
2021-05-29 00:16:01 +00:00
Caratteristiche degli utenti
----------------------------
2021-05-29 00:16:01 +00:00
Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari
conoscenze informatiche.
2021-05-29 00:16:01 +00:00
Glossario
---------
2021-05-29 00:16:01 +00:00
Repository
Raccolta di tweet che soddisfano determinate condizioni.
2021-05-29 00:16:01 +00:00
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.
2021-05-29 00:16:01 +00:00
Filtro
Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.
2021-05-29 00:16:01 +00:00
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.
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
2021-05-29 00:16:01 +00:00
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
:width: 400
2021-05-29 00:16:01 +00:00
- La gestione del login da parte di un Utente:
.. image:: CasiUso2.PNG
:width: 400
2021-05-29 00:16:01 +00:00
- La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: CasiUso3.PNG
:width: 800
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
- La gestione della raccolta da parte dell'utente:
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: CasiUso4.PNG
:width: 400
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
- La gestione di un repository da parte dell'utente:
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: CasiUso5.PNG
:width: 400
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
- La visualizzazione di un repository:
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: CasiUso6.PNG
:width: 400
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
Backlog generale
----------------
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dellavvio dello sviluppo.
Gli elementi dal bordo grigio sono le epiche:
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. note::
Alcune user story sono state rimosse in seguito al feedback ricevuto durante il primo sprint!
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: Backlog1.PNG
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: Backlog2.PNG
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: Backlog3.PNG
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: Backlog4.PNG
2021-05-29 00:26:17 +00:00
2021-05-29 00:16:01 +00:00
.. image:: Backlog5.PNG