1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-25 14:34:19 +00:00
pds-2021-g2-nest/docs/build/html/development/goals.html

339 lines
No EOL
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html class="writer-html5" lang="it" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Introduzione &mdash; N.E.S.T. 0.1.0 documentazione</title>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
<!--[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" />
<link rel="next" title="Strumenti utilizzati" href="tools.html" />
<link rel="prev" title="Aggiornamento" href="../guide/updating.html" />
</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>
<li class="toctree-l1"><a class="reference internal" href="../guide/updating.html">Aggiornamento</a></li>
</ul>
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current">
<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>
<li class="toctree-l2"><a class="reference internal" href="#casi-d-uso">Casi d'uso</a></li>
<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>
<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="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>
<li class="toctree-l1"><a class="reference internal" href="../code/database/index.html">Struttura del database</a></li>
<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> &raquo;</li>
<li>Introduzione</li>
<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">
<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>
<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
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 un'interfaccia 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 nell'analisi 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 all'utente attraverso un mezzo telematico, come email oppure un tweet.</p>
</dd>
<dt>Utente</dt><dd><p>Utilizzatore del software con un proprio account creato dall'amministratore 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à dell'utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti
regolari.</p>
</dd>
</dl>
</dd>
</dl>
</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, l'utente 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 l'analisi,
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, l'utente 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="casi-d-uso">
<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> (&quot;utenti&quot; UML): <strong>utente</strong>, <strong>amministratore</strong> e <strong>sistema</strong>.</p>
<img alt="../_images/Utenti.png" src="../_images/Utenti.png" />
<p>I principali casi duso individuati durante la progettazione di N.E.S.T. sono:</p>
<ul>
<li><p>La gestione degli utenti da parte di un Amministratore:</p>
<a class="reference internal image-reference" href="../_images/CasiUso1.PNG"><img alt="../_images/CasiUso1.PNG" src="../_images/CasiUso1.PNG" style="width: 400px;" /></a>
</li>
<li><p>La gestione del login da parte di un Utente:</p>
<a class="reference internal image-reference" href="../_images/CasiUso2.PNG"><img alt="../_images/CasiUso2.PNG" src="../_images/CasiUso2.PNG" style="width: 400px;" /></a>
</li>
<li><p>La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:</p>
<a class="reference internal image-reference" href="../_images/CasiUso3.PNG"><img alt="../_images/CasiUso3.PNG" src="../_images/CasiUso3.PNG" style="width: 800px;" /></a>
</li>
<li><p>La gestione della raccolta da parte dell'utente:</p>
<a class="reference internal image-reference" href="../_images/CasiUso4.PNG"><img alt="../_images/CasiUso4.PNG" src="../_images/CasiUso4.PNG" style="width: 400px;" /></a>
</li>
<li><p>La gestione di un repository da parte dell'utente:</p>
<a class="reference internal image-reference" href="../_images/CasiUso5.PNG"><img alt="../_images/CasiUso5.PNG" src="../_images/CasiUso5.PNG" style="width: 400px;" /></a>
</li>
<li><p>La visualizzazione di un repository:</p>
<a class="reference internal image-reference" href="../_images/CasiUso6.PNG"><img alt="../_images/CasiUso6.PNG" src="../_images/CasiUso6.PNG" style="width: 400px;" /></a>
</li>
</ul>
</div>
<div class="section" id="backlog-generale">
<h2>Backlog generale<a class="headerlink" href="#backlog-generale" title="Link a questa intestazione"></a></h2>
<p>Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dellavvio 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>
</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>
<footer>
<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="../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>
</div>
<hr/>
<div role="contentinfo">
<p>
&#169; 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>