2021-05-28 12:28:36 +00:00
<!DOCTYPE html>
< html class = "writer-html5" lang = "it" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / >
2021-05-29 00:16:01 +00:00
< title > Introduzione — N.E.S.T. 0.1.0 documentazione< / title >
2021-05-28 12:28:36 +00:00
< link rel = "stylesheet" href = "../_static/css/theme.css" type = "text/css" / >
< link rel = "stylesheet" href = "../_static/pygments.css" type = "text/css" / >
2021-05-28 16:31:33 +00:00
< link rel = "stylesheet" href = "../_static/custom.css" type = "text/css" / >
2021-05-28 12:28:36 +00:00
<!-- [if lt IE 9]>
< script src = "../_static/js/html5shiv.min.js" > < / script >
<![endif]-->
< script type = "text/javascript" id = "documentation_options" data-url_root = "../" src = "../_static/documentation_options.js" > < / script >
< script src = "../_static/jquery.js" > < / script >
< script src = "../_static/underscore.js" > < / script >
< script src = "../_static/doctools.js" > < / script >
< script src = "../_static/translations.js" > < / script >
< script type = "text/javascript" src = "../_static/js/theme.js" > < / script >
< link rel = "index" title = "Indice" href = "../genindex.html" / >
< link rel = "search" title = "Cerca" href = "../search.html" / >
2021-05-29 17:41:07 +00:00
< link rel = "next" title = "Strumenti utilizzati" href = "tools.html" / >
2021-05-29 16:07:08 +00:00
< link rel = "prev" title = "Aggiornamento" href = "../guide/updating.html" / >
2021-05-28 12:28:36 +00:00
< / head >
< body class = "wy-body-for-nav" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
< div class = "wy-side-nav-search" style = "background: #3B7097" >
< a href = "../index.html" class = "icon icon-home" > N.E.S.T.
< / a >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div >
< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "main navigation" >
< p class = "caption" > < span class = "caption-text" > Manuale utente< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../guide/about.html" > Il progetto in breve< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../guide/installation.html" > Installazione< / a > < / li >
2021-05-29 16:07:08 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../guide/updating.html" > Aggiornamento< / a > < / li >
2021-05-28 12:28:36 +00:00
< / ul >
< p class = "caption" > < span class = "caption-text" > Relazione sul progetto< / span > < / p >
< ul class = "current" >
2021-05-29 00:16:01 +00:00
< li class = "toctree-l1 current" > < a class = "current reference internal" href = "#" > Introduzione< / a > < ul >
< 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 >
2021-05-29 17:41:07 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#casi-d-uso" > Casi d'uso< / a > < / li >
2021-05-28 12:28:36 +00:00
< li class = "toctree-l2" > < a class = "reference internal" href = "#backlog-generale" > Backlog generale< / a > < / li >
< / ul >
< / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "tools.html" > Strumenti utilizzati< / a > < / li >
2021-05-29 17:41:07 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "process.html" > Processo di sviluppo< / a > < / li >
2021-05-28 12:28:36 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "artifacts.html" > Artefatti< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "conclusions.html" > Conclusioni< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "suggestions.html" > Suggerimenti relativi al corso< / a > < / li >
< / ul >
< p class = "caption" > < span class = "caption-text" > Documentazione tecnica< / span > < / p >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../code/meta/index.html" > Meta-documentazione< / a > < / li >
2021-05-29 00:48:22 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../code/database/index.html" > Struttura del database< / a > < / li >
2021-05-28 12:28:36 +00:00
< li class = "toctree-l1" > < a class = "reference internal" href = "../code/backend/index.html" > < code class = "docutils literal notranslate" > < span class = "pre" > nest_backend< / span > < / code > - Web API in Python< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../code/crawler/index.html" > < code class = "docutils literal notranslate" > < span class = "pre" > nest_crawler< / span > < / code > - Crawler in Python< / 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 >
< / div >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >
< nav class = "wy-nav-top" aria-label = "top navigation" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "../index.html" > N.E.S.T.< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "breadcrumbs navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "../index.html" class = "icon icon-home" > < / a > » < / li >
2021-05-29 00:16:01 +00:00
< li > Introduzione< / li >
2021-05-28 12:28:36 +00:00
< li class = "wy-breadcrumbs-aside" >
< a href = "../_sources/development/goals.rst.txt" rel = "nofollow" > View page source< / a >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
2021-05-29 00:16:01 +00:00
< div class = "section" id = "introduzione" >
< h1 > Introduzione< a class = "headerlink" href = "#introduzione" title = "Link a questa intestazione" > ¶< / a > < / h1 >
< div class = "section" id = "obiettivo" >
< h2 > Obiettivo< a class = "headerlink" href = "#obiettivo" title = "Link a questa intestazione" > ¶< / a > < / h2 >
2021-05-29 17:41:07 +00:00
< p > L'obiettivo del progetto è la creazione di un software per fornire l'aggregazione e l'analisi di < a class = "reference external" href = "https://help.twitter.com/it/using-twitter#tweets" > Tweet< / a > , in modo da
2021-05-29 00:16:01 +00:00
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
2021-05-29 17:41:07 +00:00
permettere di analizzarli tramite un'interfaccia grafica.< / p >
2021-05-29 00:16:01 +00:00
< / 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 >
2021-05-29 17:41:07 +00:00
< p > Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari
2021-05-29 00:16:01 +00:00
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 >
2021-05-29 17:41:07 +00:00
< dt > Allarme< / dt > < dd > < p > Notifica inviata all'utente attraverso un mezzo telematico, come email oppure un tweet.< / p >
2021-05-29 00:16:01 +00:00
< / dd >
2021-05-29 17:41:07 +00:00
< dt > Utente< / dt > < dd > < p > Utilizzatore del software con un proprio account creato dall'amministratore della piattaforma.< / p >
2021-05-29 00:16:01 +00:00
< 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 >
2021-05-29 17:41:07 +00:00
< dt > Utente amministratore< / dt > < dd > < p > Potrà effettuare tutte le attività dell'utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti
2021-05-29 00:16:01 +00:00
regolari.< / p >
< / dd >
< / dl >
< / dd >
< / dl >
2021-05-28 12:28:36 +00:00
< / div >
2021-05-29 00:16:01 +00:00
< 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 >
2021-05-29 17:41:07 +00:00
< p > Selezionate le condizioni, l'utente potrà creare una < strong > repository< / strong > : una cartella in cui verranno raccolti i tweet
2021-05-29 00:16:01 +00:00
soddisfacenti le condizioni richieste.< / p >
2021-05-29 17:41:07 +00:00
< p > Una volta raccolti, i tweet di una repository potranno essere < strong > analizzati< / strong > in qualsiasi momento: durante l'analisi,
2021-05-29 00:16:01 +00:00
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 >
2021-05-29 17:41:07 +00:00
< p > Infine, l'utente potrà configurare una repository in modo che gli invii una < strong > allerta< / strong > qualora vengano raccolti un dato
2021-05-29 00:16:01 +00:00
numero di tweet in una certa < em > finestra temporale< / em > .< / p >
< / div >
< div class = "section" id = "casi-d-uso" >
2021-05-29 17:41:07 +00:00
< h2 > Casi d'uso< a class = "headerlink" href = "#casi-d-uso" title = "Link a questa intestazione" > ¶< / a > < / h2 >
< 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 >
2021-05-29 00:16:01 +00:00
< img alt = "../_images/Utenti.png" src = "../_images/Utenti.png" / >
< p > I principali casi d’ uso individuati durante la progettazione di N.E.S.T. sono:< / p >
< ul >
< li > < p > La gestione degli utenti da parte di un Amministratore:< / p >
2021-05-29 00:48:22 +00:00
< a class = "reference internal image-reference" href = "../_images/CasiUso1.PNG" > < img alt = "../_images/CasiUso1.PNG" src = "../_images/CasiUso1.PNG" style = "width: 400px;" / > < / a >
2021-05-29 00:16:01 +00:00
< / li >
< li > < p > La gestione del login da parte di un Utente:< / p >
2021-05-29 00:48:22 +00:00
< a class = "reference internal image-reference" href = "../_images/CasiUso2.PNG" > < img alt = "../_images/CasiUso2.PNG" src = "../_images/CasiUso2.PNG" style = "width: 400px;" / > < / a >
2021-05-29 00:16:01 +00:00
< / li >
< li > < p > La gestione delle Allerte sia dal punto di vista dell’ Utente che del Sistema:< / p >
2021-05-29 00:48:22 +00:00
< a class = "reference internal image-reference" href = "../_images/CasiUso3.PNG" > < img alt = "../_images/CasiUso3.PNG" src = "../_images/CasiUso3.PNG" style = "width: 800px;" / > < / a >
2021-05-29 00:16:01 +00:00
< / li >
2021-05-29 17:41:07 +00:00
< li > < p > La gestione della raccolta da parte dell'utente:< / p >
2021-05-29 00:48:22 +00:00
< a class = "reference internal image-reference" href = "../_images/CasiUso4.PNG" > < img alt = "../_images/CasiUso4.PNG" src = "../_images/CasiUso4.PNG" style = "width: 400px;" / > < / a >
2021-05-29 00:16:01 +00:00
< / li >
2021-05-29 17:41:07 +00:00
< li > < p > La gestione di un repository da parte dell'utente:< / p >
2021-05-29 00:48:22 +00:00
< a class = "reference internal image-reference" href = "../_images/CasiUso5.PNG" > < img alt = "../_images/CasiUso5.PNG" src = "../_images/CasiUso5.PNG" style = "width: 400px;" / > < / a >
2021-05-29 00:16:01 +00:00
< / li >
< li > < p > La visualizzazione di un repository:< / p >
2021-05-29 00:48:22 +00:00
< a class = "reference internal image-reference" href = "../_images/CasiUso6.PNG" > < img alt = "../_images/CasiUso6.PNG" src = "../_images/CasiUso6.PNG" style = "width: 400px;" / > < / a >
2021-05-29 00:16:01 +00:00
< / li >
< / ul >
< / div >
2021-05-28 12:28:36 +00:00
< div class = "section" id = "backlog-generale" >
< h2 > Backlog generale< a class = "headerlink" href = "#backlog-generale" title = "Link a questa intestazione" > ¶< / a > < / h2 >
2021-05-29 00:16:01 +00:00
< p > Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dell’ avvio dello sviluppo.
Gli elementi dal bordo grigio sono le epiche:< / 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 >
2021-05-28 12:28:36 +00:00
< / div >
2021-05-29 00:16:01 +00:00
< 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" / >
2021-05-28 12:28:36 +00:00
< / div >
< / div >
< / div >
< / div >
< footer >
< div class = "rst-footer-buttons" role = "navigation" aria-label = "footer navigation" >
2021-05-29 17:41:07 +00:00
< 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 >
2021-05-29 16:07:08 +00:00
< a href = "../guide/updating.html" class = "btn btn-neutral float-left" title = "Aggiornamento" accesskey = "p" rel = "prev" > < span class = "fa fa-arrow-circle-left" aria-hidden = "true" > < / span > Previous< / a >
2021-05-28 12:28:36 +00:00
< / div >
< hr / >
< div role = "contentinfo" >
< p >
© Copyright 2021, Gruppo 2.
< / p >
< / div >
Built with < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > using a
< a href = "https://github.com/readthedocs/sphinx_rtd_theme" > theme< / a >
provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script type = "text/javascript" >
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
< / script >
< / body >
< / html >