Glossario
Versione: v1.0
Autori | Ultima modifica |
---|---|
Antonio Benetazzo, Elena Ferro, Leonardo Baldo | 2024-05-26 |
A
Agile
La programmazione Agile è caratterizzata da uno sviluppo iterativo e incrementale. Si concentra sulla realizzazione di un MVP il più rapidamente possibile, ottenendo un feedback continuo dai clienti e rispondendo ai cambiamenti dei requisiti o della tecnologia
Analisi dei Requisiti
L'analisi dei requisiti è una fase fondamentale nello sviluppo del software, che coinvolge la raccolta, l'analisi, la documentazione e la comprensione approfondita delle esigenze e delle specifiche di un sistema o di un'applicazione software che si intende sviluppare (oltre ad essere un documento all'interno del nostro progetto)
Apache Kafka
Piattaforma di streaming distribuita, progettata per la gestione di flussi di dati in tempo reale. Offre una soluzione scalabile e affidabile per la pubblicazione, la sottoscrizione e l'elaborazione di eventi in tempo reale all'interno di un sistema distribuito
Analista
Figura professionale con competenze avanzate riguardo l’attività di analisi dei requisiti ed il dominio applicativo del problema. Il suo ruolo è quello di identificare, documentare e comprendere a fondo le esigenze e le specifiche del progetto, traducendole in requisiti chiari e dettagliati. Si occupa di: analizzare il contesto di riferimento, definire il problema in esame e stabilire gli obiettivi da raggiungere; comprendere il problema e definire la complessità e i requisiti; redigere il documento Analisi dei requisiti; studiare i bisogni espliciti ed impliciti
Amministratore
Un amministratore è una persona responsabile del controllo e dell'amministrazione dell'ambniente di lavoro utilizzato dal gruppo ed è anche il punto di riferimento per quanto concerne le norme di progetto. Le sue principali mansioni sono: affrontare e risolvere le problematiche associate alla gestione dei processi; gestire l'archiviazione e le versioni della documentazione; gestire la configurazione del prodotto; redigere ed attuare le norme e le procedure per la gestione della qualità; amministrare le infrastrutture e i servizi per i processi di supporto
B
Broker
Un broker è un intermediario che facilita la comunicazione tra due parti. Nel contesto di Apache Kafka, un broker è un server che gestisce la memorizzazione e la distribuzione dei messaggi all'interno di un cluster Kafka
C
Customer Acceptance
La Customer Acceptance è l'ultima fase del ciclo di vita del software, consiste nella presentazione del prodotto finito al cliente per valutazione e approvazione. Durante questa fase, il cliente esamina attentamente il software rispetto ai requisiti concordati e alle aspettative iniziali. Una volta accettato dal cliente, il software è pronto per l'utilizzo e la distribuzione
Capitolato
Documento che contiene le specifiche e le condizioni per lo sviluppo di un progetto software. II capitolato viene redatto dal proponente e viene presentato ai fornitori o agli sviluppatori interessati a partecipare all'appalto per la realizzazione del prodotto software
Committente
Il committente è la persona o l'organizzazione che richiede la realizzazione di un progetto software e finanzia il suo sviluppo. Il committente definisce i requisiti e le specifiche del progetto e valuta il prodotto finale rispetto ai propri obiettivi e aspettative
ClickUp
Software di gestione dei progetti che offre varie funzionalità, tra cui la gestione di task, una lavagna virtuale, fogli di calcolo e strumenti collaborativi per la creazione e modifica di documenti, il tutto accessibile da una piattaforma unificata
ClickHouse
Sistema di gestione di database distribuito e open-source, progettato per l'analisi di dati in tempo reale. ClickHouse è ottimizzato per eseguire query analitiche su grandi volumi di dati, offrendo prestazioni elevate e scalabilità orizzontale
Cruscotto
Un cruscotto è un'interfaccia utente che fornisce una panoramica visiva delle informazioni più importanti, utilizzando grafici, tabelle e altri elementi visivi per rappresentare i dati in modo chiaro e conciso. I cruscotti sono ampiamente utilizzati in diversi contesti, come il monitoraggio delle prestazioni aziendali, la visualizzazione dei dati di analisi e la gestione dei progetti. Nel contesto dello sviluppo software, si riferisce a un'interfaccia grafica o a un'applicazione web che fornisce una panoramica visiva delle metriche e delle statistiche rilevanti per il controllo della qualità del software. Questo cruscotto di solito raccoglie dati da varie fonti, come sistemi di gestione del versionamento del codice, strumenti di test automatizzati, sistemi di monitoraggio delle prestazioni e altri strumenti di analisi. Il suo obiettivo principale è quello di fornire agli sviluppatori, ai tester e ai responsabili un modo rapido ed efficace per valutare lo stato del progetto, identificare eventuali problemi o anomalie e prendere decisioni informate sulle azioni da intraprendere per migliorare la qualità del software
D
Dashboard
Una dashboard è un'interfaccia utente che fornisce una panoramica visiva delle informazioni più importanti, utilizzando grafici, tabelle e altri elementi visivi per rappresentare i dati in modo chiaro e conciso. Le dashboard sono ampiamente utilizzate in diversi contesti, come il monitoraggio delle prestazioni aziendali, la visualizzazione dei dati di analisi e la gestione dei progetti
Development Team
In Scrum, il Development Team si riferisce all'insieme dei membri che svolge un ruolo nello sviluppo e nel supporto del prodotto e può includere ricercatori, architetti, designer, programmatori, e molti altri
Docker
Popolare software libero progettato per eseguire processi informatici in ambienti isolabili, minimali e facilmente distribuibili chiamati container, con l'obiettivo di semplificare i processi di deployment di applicazioni software
Docker Compose
Strumento che semplifica la specifica dei servizi, reti e volumi necessari per eseguire un'applicazione composta da più contenitori Docker, consentendo una gestione semplificata dell'ambiente di sviluppo e di distribuzione
E
European Air Quality Index
L'indice europeo della qualità dell'aria è uno standard di qualità dell'aria che fornisce informazioni sulla qualità dell'aria in Europa. L'indice è basato su dati di monitoraggio dell'inquinamento atmosferico e fornisce informazioni sulle concentrazioni di inquinanti atmosferici come PM2.5, PM10, NO2, SO2, CO e O3
G
Glossario
Elenco strutturato di termini tecnici o specializzati, ognuno corredato dalla propria definizione o spiegazione. Questo strumento aiuta a migliorare la comunicazione tra le varie parti coinvolte in un progetto, riducendo le ambiguità e garantendo una comprensione condivisa dei termini utilizzati in un determinato contesto
Grafana
Piattaforma open-source per la visualizzazione e l'analisi dei dati, progettata per supportare la creazione di dashboard interattive e personalizzabili. Grafana offre una vasta gamma di funzionalità per la visualizzazione dei dati, tra cui grafici, tabelle, mappe e pannelli di controllo
GitHub
GitHub è una piattaforma di sviluppo collaborativo basata su Git, un sistema di controllo delle versioni distribuito. È ampiamente utilizzato da sviluppatori di software e team di sviluppo per gestire progetti, tenere traccia delle modifiche al codice sorgente, coordinare il lavoro tra i membri del team e facilitare la collaborazione su larga scala
K
Key Performance Indicator
I Key Performance Indicator (KPI) sono misure quantitative utilizzate per valutare le prestazioni di un'organizzazione, di un progetto o di un processo rispetto agli obiettivi prefissati. I KPI forniscono un modo oggettivo per monitorare e valutare il successo di un'attività, identificare le aree di miglioramento e prendere decisioni informate per ottimizzare le prestazioni
M
Milestone
Le Milestone sono strumenti utilizzati nella gestione dei progetti per segnare punti specifici lungo la timeline di un progetto. Questi punti possono segnalare ancore come una data di inizio e di fine del progetto, o la necessità di una revisione. In molti casi, le milestone, non incidono sulla durata del progetto. Si concentrano invece sui principali punti di avanzamento che devono essere raggiunti per ottenere il successo
Minimum Viable Product
È una versione semplificata di un prodotto software che include solo le funzionalità essenziali per soddisfare i bisogni dei primi utenti. L'obiettivo principale di un MVP è testare e validare l'idea di base del prodotto, raccogliere feedback dagli utenti e ridurre al minimo il tempo e le risorse necessarie per il suo sviluppo
N
Norme di Progetto
Regole e linee guida stabilite all'interno di un progetto per garantire coerenza e qualità nelle attività svolte. Definiscono standard e procedure, come documentazione, gestione delle versioni e criteri di codifica, per assicurare uniformità nell'approccio e nel risultato finale
Notion
Applicazione di produttività che combina funzionalità di gestione delle attività, note, documenti e database in un'unica piattaforma. Notion offre un'interfaccia flessibile e personalizzabile per organizzare e collaborare su progetti, idee e informazioni in modo strutturato e intuitivo
P
Product Baseline
Fase di progetto durante la quale il focus si sposta dall'analisi dei requisiti e dalla progettazione concettuale all'implementazione e alla costruzione effettiva del prodotto software. Le attività principali comprendono la scrittura del codice, i test unitari e l'integrazione di componenti software. L'obiettivo è raggiungere una versione stabile e funzionante del prodotto che rappresenti la base per ulteriori sviluppi e miglioramenti
Piano di Progetto
Documento formale che delinea in dettaglio la pianificazione, l'esecuzione, il monitoraggio e il controllo di tutte le attività coinvolte nella realizzazione di un progetto. Questo documento fornisce una roadmap chiara e organizzata, comprensiva di obiettivi, risorse, scadenze e strategie di gestione dei rischi. Essenziale per la gestione efficace di un progetto, il piano di progetto serve come guida per il team di lavoro e gli stakeholder, fornendo una struttura che facilita il coordinamento delle attività e l'assegnazione delle risorse
Piano di Qualifica
Documento che stabilisce gli standard di qualità, i processi e le attività di testing che saranno implementati durante lo sviluppo di un progetto. Contiene una descrizione dettagliata delle strategie di testing, delle metriche di valutazione e dei criteri di accettazione del prodotto finale. L'obiettivo principale del Piano di Qualifica è garantire che il prodotto soddisfi gli standard di qualità prefissati e che il processo di sviluppo segua procedure coerenti ed efficaci
Proof of Concept
Dimostrazione pratica per verificare la fattibilità o la validità di un'idea, di un concetto o di un progetto specifico. Nel contesto dello sviluppo software, un PoC consiste nella creazione di una versione semplificata di un'applicazione per testare un nuovo approccio tecnologico o per dimostrare la fattibilità di una funzionalità specifica
Product Backlog
Consiste in un elenco prioritizzato di tutte le funzionalità, i requisiti, le correzioni di bug e le modifiche che devono essere fatte a un prodotto software. Il Product Backlog è dinamico e può essere aggiornato in qualsiasi momento per riflettere le esigenze e le priorità del progetto. È gestito dal Product Owner e utilizzato dal team di sviluppo per pianificare e organizzare il lavoro da svolgere
Product Owner
Un product owner supervisiona lo sviluppo di un prodotto software. È il membro di un team di sviluppo Scrum che mantiene la visione di un progetto di sviluppo secondo la metodologia Agile. Le loro responsabilità comprendono il mantenimento di un backlog del prodotto, ovvero un elenco prioritario di opzioni di funzionalità
Proponente
il proponente è la persona o l'organizzazione che presenta un capitolato d'appalto per la realizzazione di un progetto software. il proponente definisce i requisiti e le specifiche del progetto e valuta le proposte dei fornitori o degli sviluppatori interessati a partecipare all'appalto
Python
Python è un linguaggio di programmazione di alto livello e di uso generale. La sua filosofia di progettazione enfatizza la leggibilità del codice con l'uso di un 'indentazione significativa
Progettista
Il progettista è la figura di riferimento per quanto riguarda le scelte progettuali partendo dal lavoro dell’analista. Spetta al progettista assumere decisioni di natura tecnica e tecnologica, oltre a supervisionare il processo di sviluppo. Tuttavia, non è responsabile della manutenzione del prodotto. In particolare si occupa di: progettare l’architettura del prodotto secondo specifiche tecniche dettagliate; prendere decisioni per sviluppare soluzioni che soddisfino i criteri di affidabilità, efficienza, sostenibilità e conformità ai requisiti; redige la Specifica Architetturale e la parte pragmatica del Piano di Qualifica
Programmatore
Il programmatore è la figura professionale incaricata della scrittura del codice software. Il suo compito primario è implementare il codice conformemente alle specifiche fornite dall’analista e all’architettura definita dal progettista. In particolare, il programmatore: scrive codice manutenibile in conformità con le Specifiche Tecniche; codifica le varie componenti dell’architettura seguendo quanto ideato dai progettisti; realizza gli strumenti per verificare e validare il codice; redige il Manuale Utente
Panel
Un panel è un componente grafico che visualizza i dati in un formato specifico, come un grafico, una tabella o un pannello di controllo. Nel particolare contesto di utilizzo in Grafana, il panel è il principale elemento di visualizzazione dei dati; ogni pannello può essere configurato per mostrare i dati in modo diverso, utilizzando vari tipi di grafici e layout
R
Requirements and Technology Baseline
Fase iniziale e fondamentale del processo di sviluppo di un software. In questa fase, l'obiettivo principale è stabilire e comprendere i requisiti del sistema e definire la base tecnologica sulla quale il progetto si svilupperà. Le tre principali attività di questa fase sono: l'analisi dei requisiti, la definizione della baseline tecnologica e la definizione della baseline di progetto
Responsabile
Figura fondamentale che coordinare il gruppo, funge da punto di riferimento per il committente e per il team, svolgendo il ruolo di mediatore tra le due parti. In particolare si occupa di: gestire le relazioni con l’esterno; pianificare le attività (quali svolgere, data di inizio e fine, assegnazione delle priorità); valutare i rischi delle scelte da effettuare; controllare i progressi del progetto; gestire le risorse umane; approvare la documentazione
Redpanda
Piattaforma di dati in streaming distribuita progettata per la gestione di flussi di dati in tempo reale, compatibile con le API di Kafka. Redpanda offre una soluzione scalabile e affidabile per la pubblicazione, la sottoscrizione e l'elaborazione di eventi in tempo reale all'interno di un sistema distribuito
S
Stato Avanzamento Lavori
Nell'ambito del project management, è una riunione periodica (o attività di confronto analoga) che viene stabilita per garantire e verificare l'avanzamento di un progetto rispetto ai propri obiettivi
Scrum
Scrum è una struttura Agile di collaborazione tra team, comunemente utilizzata nello sviluppo di software e in altri settori. Scrum prescrive ai team di suddividere il lavoro in obiettivi da completare entro iterazioni a tempo, chiamate sprint
Schema Registry
Componente di in un sistema di streaming di dati che consente di definire, registrare e convalidare gli schemi dei dati in modo centralizzato, garantendo la coerenza e la compatibilità dei dati tra i diversi componenti del sistema
Scrum Master
Il ruolo di uno Scrum Master è quello di utilizzare la gestione agile dei progetti per sostenere un progetto, i team e i membri del team. Poiché gli Scrum Master possono lavorare in diversi contesti, i compiti e le responsabilità possono variare
Sensore
Un sensore è un dispositivo elettronico che produce un segnale di uscita allo scopo di rilevare un fenomeno fisico. Questo segnale viene utilizzato per interpretare le informazioni relative al fenomeno rilevato dal sensore. I sensori sono ampiamente utilizzati in diverse applicazioni, come la misurazione della temperatura, del livello dell'acqua, della pressione atmosferica
Sprint
Gli sprint sono periodi di tempo che vanno da una settimana a un mese, durante i quali il Product Owner, lo Scrum Master e il Development Team lavorano per completare una specifica aggiunta al prodotto. Durante uno sprint, si lavora per creare nuove funzionalità basate sulle user stories e sul backlog
Smart City
Una Smart City è una città che utilizza tecnologie digitali e informatiche per migliorare la qualità della vita dei suoi cittadini e ridurre l'impatto ambientale. Le Smart City integrano l'Internet of Things (IoT), i big data, l'intelligenza artificiale e altre tecnologie per ottimizzare i servizi pubblici, i trasporti, l'energia, l'ambiente e altri aspetti della vita urbana
Stakeholder
Gli stakeholder sono le persone o le organizzazioni coinvolte o interessate a un progetto o a un'organizzazione. Gli stakeholder possono includere clienti, utenti finali, fornitori, dipendenti, investitori, partner commerciali, organizzazioni non governative e altri soggetti che possono influenzare o essere influenzati dalle decisioni e dalle azioni di un'organizzazione
SyncCity
Progetto di ricerca e sviluppo che mira a creare una piattaforma per la gestione e l'analisi di dati provenienti da sensori e dispositivi IoT in una Smart City. SyncCity si concentra sulla creazione di un sistema scalabile e flessibile per la raccolta, l'elaborazione e la visualizzazione dei dati, al fine di supportare la presa di decisioni basata sui dati e migliorare la qualità della vita urbana
T
Time series
Una time series è una sequenza di dati raccolti in successione temporale. Le time series sono ampiamente utilizzate nell'analisi statistica, nell'elaborazione dei segnali, nella previsione e in altri campi per studiare e analizzare i dati in funzione del tempo
Test end-to-end
I test end-to-end sono test che simulano il flusso di dati attraverso un'applicazione software, dall'inizio alla fine. Questi test verificano che tutti i componenti dell'applicazione funzionino correttamente insieme e che l'applicazione risponda correttamente alle richieste degli utenti
Topic
Nel contesto di Apache Kafka, un topic è una categoria o un canale logico in cui vengono pubblicati i messaggi. I topic sono utilizzati per organizzare e classificare i messaggi in base al loro contenuto e alla loro destinazione
U
User Story
Una user story è una descrizione informale, in linguaggio naturale, delle caratteristiche di un sistema software
V
Verificatore
La principale responsabilità del verificatore consiste nell’ispezionare il lavoro svolto da altri membri del team per assicurare la qualità del prodotto e la conformità alle attese prefissate. Stabilisce se il lavoro è stato svolto correttamente sulla base delle proprie competenze tecniche, esperienza e conoscenza delle norme. In particolare il verificatore si occupadi: verificare che il lavoro svolto sia conforme alle Norme di Progetto; verificare che il lavoro svolto sia conforme alle Specifiche Tecniche; ricercare ed in caso segnalare eventuali errori; redigere la sezione retrospettiva del Piano di Qualifica, descrivendo le verifiche ele prove effettuate durante il processo di sviluppo del prodotto
W
Widget
Un widget è un componente grafico o un'interfaccia utente che fornisce informazioni o funzionalità specifiche all'interno di un'applicazione o di un sito web. I widget possono includere elementi come pulsanti, caselle di testo, grafici, mappe, e molti altri