Skip to content
This repository was archived by the owner on Jul 1, 2020. It is now read-only.

Commit ab0e8ef

Browse files
authored
Merge pull request #94 from Maxelweb/feature/aggiuntaTGlossarioSdF
Sistemate sezioni Studio di Fattibilità e aggiunto termini del glossario
2 parents 69ca9c7 + df58201 commit ab0e8ef

File tree

10 files changed

+76
-66
lines changed

10 files changed

+76
-66
lines changed
160 KB
Binary file not shown.

interni/norme_progetto/main.pdf

61.1 KB
Binary file not shown.
183 KB
Binary file not shown.

interni/studio_fattibilita/main.pdf

-80.2 KB
Binary file not shown.

interni/studio_fattibilita/res/sections/CapitolatoC1.tex

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ \section{Valutazione capitolati rimanenti}
99
\end{itemize}
1010

1111
\subsubsection{Descrizione}
12-
L'obiettivo di questo capitolato è creare una piattaforma web che è capace di ricevere in input dei video di eventi sportivi, come una partita di calcio o di tennis, e che riesca a creare autonomamente un video di massimo 5 minuti contenente soltanto i suoi momenti chiave (highlights).
12+
L'obiettivo di questo \glock{capitolato} è creare una \glock{piattaforma web} che è capace di ricevere in input dei video di eventi sportivi, come una partita di calcio o di tennis, e che riesca a creare autonomamente un video di massimo 5 minuti contenente soltanto i suoi momenti chiave (highlights).
1313

1414
\subsubsection{Finalità del progetto}
15-
Il prodotto finale, ovvero la piattaforma web, dovrà essere dotata di un modello di machine learning in grado di identificare quelli che possono essere considerati come i momenti più importanti dell'evento sportivo che le è stato inviato. Un fattore importante è che andrà scelto uno sport sul quale focalizzare la propria attenzione e sul quale verrà addestrato il modello di apprendimento atto all'identificazione automatica dei momenti salienti di un evento del suddetto sport.
15+
Il prodotto finale, ovvero la \glock{piattaforma web}, dovrà essere dotata di un \glock{modello di machine learning} in grado di identificare quelli che possono essere considerati come i momenti più importanti dell'evento sportivo che le è stato inviato. Un fattore importante è che andrà scelto uno sport sul quale focalizzare la propria attenzione e sul quale verrà addestrato il modello di apprendimento atto all'identificazione automatica dei momenti salienti di un evento del suddetto sport.
1616
Il flusso di generazione del suddetto highlight dovrà avere la seguente struttura:
1717
\begin{itemize}
1818
\item Caricamento del video;
@@ -21,39 +21,39 @@ \section{Valutazione capitolati rimanenti}
2121
\item Generazione del video di sintesi.
2222
\end{itemize}
2323
\subsubsection{Tecnologie}
24-
Le tecnologie consigliate dall'azienda riguardano la tecnologia di Amazon Web Services ed in particolare:
24+
Le tecnologie consigliate dall'azienda riguardano la tecnologia di \glock{Amazon Web Services} ed in particolare:
2525
\begin{itemize}
26-
\item \textbf{Elastic Container Service o Elastic Kubernetes Service: }è un servizio che permette la gestione di contenitori, altamente dimensionabile e ad elevate prestazioni;
27-
\item \textbf{DynamoDB: }è un database non relazionale per applicazioni che necessitano di prestazioni elevate su qualsiasi scala.
28-
\item \textbf{AWS Transcode: }è un servizio di transcodifica di contenuti multimediali nel cloud;
29-
\item \textbf{Sage Maker: } è un servizio completamente gestito che permette a sviluppatori e data scientist di creare, addestrare e distribuire modelli di apprendimento automatico;
30-
\item \textbf{AWS Rekognition video: } è un servizio di analisi video basato su apprendimento approfondito; è in grado di riconoscere i movimenti delle persone in un fotogramma e di riconoscere soggetti, volti, oggetti, celebrità e contenuti inappropriati.
26+
\item \textbf{\glock{Elastic Container Service} o \glock{Elastic Kubernetes Service}: }è un servizio che permette la gestione di contenitori, altamente dimensionabile e ad elevate prestazioni;
27+
\item \textbf{\glock{DynamoDB}: }è un database non relazionale per applicazioni che necessitano di prestazioni elevate su qualsiasi scala.
28+
\item \textbf{\glock{AWS Transcode}: }è un servizio di transcodifica di contenuti multimediali nel \glock{cloud};
29+
\item \textbf{\glock{Sage Maker}: } è un servizio completamente gestito che permette a sviluppatori e data scientist di creare, addestrare e distribuire modelli di apprendimento automatico;
30+
\item \textbf{\glock{AWS Rekognition video}: } è un servizio di analisi video basato su \glock{apprendimento approfondito}.
3131
\end{itemize}
3232
\subsubsection{Linguaggi di programmazione}
3333
\begin{itemize}
34-
\item \textbf{NodeJS: }linguaggio ideale per sviluppare API Restful JSON a supporto dell'applicativo;
35-
\item \textbf{Python: }linguaggio ideale per lo sviluppo delle componenti di machine learning;
36-
\item \textbf{HTML5}, \textbf{CSS3}, \textbf{Javascript: }linguaggi per la realizzazione dell'interfaccia web di gestione del flusso di lavoro, utilizzando un framework responsive come Twitter.
34+
\item \textbf{\glock{NodeJS}: }linguaggio ideale per sviluppare \glock{API Restful} JSON a supporto dell'applicativo;
35+
\item \textbf{\glock{Python}: }linguaggio ideale per lo sviluppo delle componenti di machine learning;
36+
\item \textbf{HTML5}, \textbf{CSS3}, \textbf{Javascript: }linguaggi per la realizzazione dell'interfaccia web di gestione del flusso di lavoro, utilizzando un \glock{framework} responsive come Twitter.
3737
\end{itemize}
3838
Vincoli del progetto:
3939
\begin{itemize}
40-
\item Utilizzo di Sage Maker;
41-
\item L'architettura dovrà essere basata su micro-servizi, suddividendo il progetto in tante funzioni di base denominate servizi. Questi ultimi dovranno essere indipendenti fra loro;
40+
\item Utilizzo di \glock{Sage Maker};
41+
\item L'architettura dovrà essere basata su \glock{micro-servizi}, suddividendo il progetto in tante funzioni di base denominate servizi. Questi ultimi dovranno essere indipendenti fra loro;
4242
\item Caricamento dei video da elaborare tramite riga di comando;
4343
\item Console web di analisi e controllo degli stati di elaborazione dei video.
4444
\end{itemize}
4545

4646
\subsubsection{Aspetti positivi}
4747
\begin{itemize}
4848
\item Per quanto riguarda le tecnologie interessate è presente molta documentazione a riguardo;
49-
\item Il tema principale del progetto, ovvero machine learning, è stato accolto con molto interesse dal gruppo, che si è dimostrato interessato ad approfondire l'argomento (che potrebbe essere un'aggiunta interessante al proprio CV);
50-
\item Il proponente fornisce attività di formazione sulle principali tecnologie AWS e wireframe dell'interfaccia della console web di analisi e controllo dello stato di elaborazione dei video.
49+
\item Il tema principale del progetto, è stato accolto con molto interesse dal gruppo, che si è dimostrato interessato ad approfondire l'argomento.
50+
\item Il proponente fornisce attività di formazione sulle principali tecnologie AWS e \glock{wireframe} dell'interfaccia della console web di analisi e controllo dello stato di elaborazione dei video.
5151
\end{itemize}
5252
\subsubsection{Criticità}
5353
\begin{itemize}
54-
\item Il proponente non fornisce nessun data-set per effettuare il training dell'algoritmo;
55-
\item Le tecnologie nonostante siano state accolte con interesse non sono conosciute dal gruppo e richiedono un apprendimento individuale avanzato sul machine learning.
54+
\item Il proponente non fornisce nessun \glock{data-set} per effettuare il training dell'algoritmo;
55+
\item Buona parte del tempo verrebbe utilizzato per lavori ripetitivi e che non stimolerebbero il gruppo.
5656
\end{itemize}
5757

5858
\subsubsection{Conclusione}
59-
DA FARE
59+
Dopo aver valutato gli aspetti positivi e le criticità, si è deciso che questo capitolato, nonostante tocchi delle tecnologie piuttosto interessanti, richiede, secondo il gruppo, un'eccessiva mole di lavoro ripetitivo.

interni/studio_fattibilita/res/sections/CapitolatoC2.tex

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,33 @@ \subsection{Capitolato C2 - Etherless}
55
\item \textbf{Committente: }Prof. Tullio Vardanega e Prof. Riccardo Cardin.
66
\end{itemize}
77
\subsubsection{Descrizione}
8-
Etherless è una piattaforma cloud che permette, agli sviluppatori di fare il deploy di funzioni JavaScript, mentre agli utenti finali di pagare per l'esecuzione delle suddette funzioni (si basa su CaaS, ovvero Computation-as-a-Service).
8+
Etherless è una piattaforma \glock{cloud} che permette, agli sviluppatori di fare il \glock{deploy} di funzioni JavaScript, mentre agli utenti finali di pagare per l'esecuzione delle suddette funzioni (si basa su \glock{CaaS}, ovvero Computation-as-a-Service).
99
Una parte di ciò che viene pagato dagli utenti verrà trattenuta dal piattaforma stessa come compenso per l'effettiva esecuzione della funzione.
1010
\subsubsection{Finalità del progetto}
11-
Il progetto finale si propone quindi di fornire un servizio di CaaS utilizzando la seguente struttura:
11+
Il progetto finale si propone quindi di fornire un servizio di \glock{CaaS} utilizzando la seguente struttura:
1212
\begin{itemize}
13-
\item \textbf{Etherless-cli: }è il modulo con il quale gli sviluppatori interagiscono con Etherless. Deve supportare diversi comandi, ovvero: la configurazione del proprio account, eseguire il deploy delle funzioni, elencare le funzioni già presenti, eseguire una funzione e visualizzare i logs riguardanti una specifica funzione;
14-
\item \textbf{Etherless-smart: }consiste in un set di contratti smart che gestiscono la comucazione e il trasferimento di denaro (detto ETH) tra Etherless-cli ed Etherless-server;
15-
\item \textbf{Etherless-server: }è il modulo che esegue le funzioni e che tramite Etherless-smart comunica con Etherless-cli. Nel momento in cui viene restituito il valore di una funzione o viene lanciata una eccezione, Etherless-server emettera un evento nella blockchain che verrà ricevuto dalla Etherless-cli che mostrarà infine il risultato all'utente.
13+
\item \textbf{Etherless-cli: }è il modulo con il quale gli sviluppatori interagiscono con Etherless. Deve supportare diversi comandi, ovvero: la configurazione del proprio account, eseguire il \glock{deploy} delle funzioni, elencare le funzioni già presenti, eseguire una funzione e visualizzare i logs riguardanti una specifica funzione;
14+
\item \textbf{Etherless-smart: }consiste in un set di \glock{contratti smart} che gestiscono la comucazione e il trasferimento di denaro (detto ETH) tra Etherless-cli ed Etherless-server;
15+
\item \textbf{Etherless-server: }è il modulo che esegue le funzioni e che tramite Etherless-smart comunica con Etherless-cli. Nel momento in cui viene restituito il valore di una funzione o viene lanciata una eccezione, Etherless-server emetterà un evento nella \glock{blockchain} che verrà ricevuto dalla Etherless-cli che mostrarà infine il risultato all'utente.
1616
\end{itemize}
1717
\subsubsection{Tecnologie}
18-
Il progetto si basa sull'unione di due tecnologie, ovvero Ethereum e Serverless, più precisamente utilizza:
18+
Il progetto si basa sull'unione di due tecnologie, ovvero \glock{Ethereum} e \glock{Serverless}, più precisamente utilizza:
1919
\begin{itemize}
20-
\item \textbf{Ethereum: }è una piattaforma che permette ai suoi utenti di scrivere applicazioni decentralizzate (dette \DJ Apps) che usano la tecnologia blockchain;
21-
\item \textbf{Ethereum Virtual Machine (EVM): }è una macchina virtuale decentralizzata che esegue script usando un network internazionale di nodi pubblici;
20+
\item \textbf{Ethereum: }è una piattaforma che permette ai suoi utenti di scrivere applicazioni decentralizzate (dette \glock{\DJ Apps}) che usano la tecnologia \glock{blockchain};
21+
\item \textbf{Ethereum Virtual Machine (EVM): }è una \glock{macchina virtuale decentralizzata} che esegue script usando un network internazionale di nodi pubblici;
2222
\item \textbf{Blockchain : }è una struttura dati condivisa e immutabile; tramite questa struttura è possibile tenere traccia dei pagamenti effettuati in Ethereum;
23-
\item \textbf{Smart Contract: }sono utilizzati per le interazioni tra attori e possono contenere denaro (Ether o ETH), dati o una combinazione di entrambi;
24-
\item \textbf{Gas: }è il carburante che permette alla EVM di eseguire un programma;
25-
\item \textbf{MainNet, Ropsten: }sono reti sulle quali vengono eseguiti i protocolli di Ethereum. La prima è la rete principale mentre la seconda è la rete di test ufficiale creata dalla The Ethereum Foundation. Inoltre è possibile creare la propria rete Ethereum, ed anche simularla localmente, per permetterne lo sviluppo;
23+
\item \textbf{Smart Contract: }sono utilizzati per le interazioni tra attori e possono contenere denaro (\glock{Ether} o ETH), dati o una combinazione di entrambi;
24+
\item \textbf{Gas: }è il carburante che permette alla \glock{EVM} di eseguire un programma;
25+
\item \textbf{\glock{MainNet}, \glock{Ropsten}: }sono reti sulle quali vengono eseguiti i protocolli di Ethereum.
2626
\item \textbf{Eventi Ethereum: }sono una delle parti fondamentali di Ethereum in quanto possono essere: il valore di ritorno di uno smart contract, un innesco asincrono contenente dati oppure una forma di immagazzinamento più economica rispetto ad uno smart contract;
27-
\item \textbf{Architettura serverless: }è un metodo di creazione ed esecuzione di applicazioni e servizi che non richiede la gestione di un'infrastruttura (idea di Baas, Backend-as-a-Service);
28-
\item \textbf{AWS Lambda: }è un servizio che permette di eseguire codice in risposta ad eventi, senza effettuare il provisioning né gestire server;
27+
\item \textbf{Architettura serverless: }è un metodo di creazione ed esecuzione di applicazioni e servizi che non richiede la gestione di un'infrastruttura (idea di \glock{Baas}, Backend-as-a-Service);
28+
\item \textbf{\glock{AWS Lambda}: }è un servizio che permette di eseguire codice in risposta ad eventi, senza effettuare il provisioning né gestire server;
2929
\item \textbf{Serverless Framework: }è un framework open-source che permette di sviluppare e distribuire applicazioni serverless;
3030
\item \textbf{CloudFormation: }è uno strumento che permette di gestire risorse e per fare il deploy di infrastrutture;
31-
\item \textbf{API Gateway, AWS DynamoDB, AWS S3: }componenti che possono servire da supporto alle applicazioni serverless;
31+
\item \textbf{\glock{API Gateway}, \glock{AWS DynamoDB}, \glock{AWS S3}: }componenti che possono servire da supporto alle applicazioni serverless;
3232
\item \textbf{Truffle: }è un ambiente di sviluppo per Ethereum, consigliato per creare un web server locale per gestire la front end;
3333
\item \textbf{Node Package Manager (NPM): }è un package manager congliato per installare etherless-cli;
34-
\item \textbf{ESLint: }è uno strumento di analisi del codice statico per identificare schemi problematici nel codice JavaScript.
34+
\item \textbf{ESLint: }è uno strumento di \glock{analisi del codice statico} per identificare schemi problematici nel codice JavaScript.
3535

3636
\end{itemize}
3737
\subsubsection{Linguaggi di programmazione}
@@ -47,7 +47,7 @@ \subsection{Capitolato C2 - Etherless}
4747
\item Etherless-cli deve poter essere installato con il comando bash:
4848
\verb! npm install -g etherless-cli!
4949

50-
\item Dopo essere stato installato uno sviluppatore deve essere in grado di eseguire diversi comandi associati ai seguenti compiti: Creare o entrare in un account Ethereum, rilasciare una funzione, eseguire una funzione già presente, eliminare una funzione caricata;
50+
\item Dopo essere stato installato uno sviluppatore deve essere in grado di eseguire diversi comandi associati ai seguenti compiti: Creare o entrare in un account \glock{Ethereum}, rilasciare una funzione, eseguire una funzione già presente, eliminare una funzione caricata;
5151
\item Deve essere possibile fare degli upgrade agli smart contracts;
5252
\item Etherless deve essere sviluppato usando TypeScript 3.6 usando un approccio promise / async-await;
5353
\item Deve essere usato typescript-eslint insieme a EsLint durante la fase di sviluppo;
@@ -58,12 +58,12 @@ \subsection{Capitolato C2 - Etherless}
5858

5959
\subsubsection{Aspetti positivi}
6060
\begin{itemize}
61-
\item L'argomento Ethereum si dimostra interessante visto che negli ultimi tempi le criptovalute hanno riscosso ampio successo e questo capitolato potrebbe essere un notevole arricchimento del bagaglio di conoscenze del gruppo;
61+
\item Dato l'interesse riscosso dalla tecnologia \glock{blockchain}, questo capitolato potrebbe essere un notevole arricchimento del bagaglio di conoscenze del gruppo;
6262
\end{itemize}
6363
\subsubsection{Criticità}
6464
\begin{itemize}
65-
\item L'azienda ha sede all'estero e potrebbe fornire un supporto inferiore rispetto alle aziende che si trovano nel territorio nazionale.
66-
\item Il capitolato necessita di uno studio approfondito diverse tecnologie e potrebbe richiedere un lavoro decisamente superiore agli altri capitolati;
65+
\item L'azienda ha sede all'estero e potrebbe fornire un supporto inferiore rispetto alle aziende che si trovano nel territorio nazionale;
66+
\item Il capitolato dopo un'attenta analisi non ha riscosso molto interesse.
6767
\end{itemize}
6868
\subsubsection{Conclusione}
69-
DA FARE
69+
Dopo aver valutato attentamente il capitolato, il gruppo ha deciso di orientarsi verso un altro capitolato.

0 commit comments

Comments
 (0)