Glossario
A
- Account - NATS
- Entità in NATS che rappresenta un'unità di isolamento (tenant), con propri utenti, permessi e stream. Gli Account possono comunicare tra loro tramite permessi specifici.
- ACK
- Abbreviazione di 'Acknowledgment', è un messaggio di conferma inviato da un destinatario per indicare che ha ricevuto e processato correttamente un messaggio o una richiesta.
- Agile
- Insieme di metodologie di sviluppo software basate su iterazioni brevi, collaborazione costante e adattamento continuo ai cambiamenti.
- Analisi dei Requisiti
- È l'attività che studia i bisogni dell'utente e del dominio d'uso per definire che cosa il prodotto software deve fare per soddisfarli, senza descrivere come sarà realizzato. Produce una specifica completa, verificabile e tracciabile dei requisiti del sistema (lato soluzione).
- Angular
- Framework front-end sviluppato da Google per creare applicazioni web complesse e modulari, è un framework opinionated.
- Apache Kafka
- Piattaforma distribuita per lo streaming di dati progettata per elaborare flussi di eventi in tempo reale, basata su un modello publish-subscribe, con tolleranza ai guasti, scalabilità orizzontale e persistenza dei messaggi su disco.
- API
- L'Application Programming Interface è un'interfaccia che permette a due sistemi software di comunicare tramite richieste e risposte strutturate.
- API Client
- Un qualunque client che possa accedere ai dati esposti dall'API pubblica del sistema cloud.
- Architettura serverless
- Modello di progettazione Cloud in cui l'infrastruttura sottostante è completamente gestita dal provider. Permette esecuzione di funzioni on-demand, scalabilità automatica e fatturazione pay-as-you-go.
- Architettura/Design
- Descrive come il sistema è organizzato internamente: componenti, interazioni e tecnologia scelta. Indica come verranno soddisfatti i requisiti software. Ne è responsabile il progettista
- Attore
- Nel contesto di un caso d'uso, è un'entità esterna al sistema preso in considerazione che interagisce con lo stato di quest'ultima in lettura e/o scrittura. Può corrispondere a un essere umano o a un agente automatizzato che compie un'azione specifica.
B
- Back-end
- È la parte di un software che gestisce la logica applicativa, l'elaborazione dei dati e la comunicazione con database o servizi esterni. Inoltre gestisce l'autenticazione e l'autorizzazione dell'utente.
- Baseline
- La baseline è un insieme di documenti e artefatti, con una versione specifica, volti a fornire un'evidenza concreta del raggiungimento dello stato di avanzamento desiderato e stabilito nella Milestone.
- Bluetooth Low Energy (BLE)
- Versione a basso consumo del Bluetooth, progettata per sensori e dispositivi IoT che richiedono comunicazioni energeticamente efficienti.
C
- Capitolato d'appalto
- Documento redatto dalla proponente con lo scopo di esporre il prodotto richiesto. Esso contiene vincoli, suggerimenti e aspettative (requisiti utente)
- Caso d'uso
- La descrizione di una o più funzionalità del prodotto dal lato degli user needs, ovvero delle necessità dell'utente, tramite il linguaggio visivo UML e un'aggiuntiva descrizione testuale. I casi d'uso sono descritti nell'Analisi dei requisiti.
- CD
- Insieme di pratiche di automazione del rilascio software. Vd. Continuous Delivery e Continuous Deployment
- CI
- Acronimo di Continuous Integration. È una pratica di sviluppo software in cui le modifiche al codice vengono integrate frequentemente nel repository principale, eseguendo automaticamente build e test per individuare problemi precocemente.
- Ciclo di vita
- Insieme delle fasi attraversate da un prodotto software: concezione, sviluppo, utilizzo e ritiro.
- ClickUp
- Strumento di project management che consente di organizzare task, documenti, obiettivi e comunicazione del team.
- Cloud
- Modello che permette di utilizzare risorse informatiche (server, database, servizi) tramite Internet senza gestire l'infrastruttura fisica.
- Code coverage
- Percentuale di codice coperta dai test automatici, indica quanto è testata l'applicazione.
- Comando (gateway)
- Messaggio inviato a un Gateway per modificarne lo stato o la configurazione attuale.
- Commissioning (gateway)
- Procedura di associazione di un gateway a un tenant specifico e di impostazione di una configurazione precisa.
- Committente
- Nel progetto didattico lo sono i docenti ed hanno lo scopo di: misurare il progresso con due revisioni, regolare il progetto didattico e valutarlo
- Configurazione (gateway)
- Insieme di parametri associati a un gateway che ne dettano le specifiche di funzionamento.
- Configurazione di fabbrica (gateway)
- Configurazione di un gateway di default.
- Consuntivo di periodo
- È una sezione nel Piano di Progetto, che viene compilata ogni sprint, nel quale vengono analizzate le ore effettivamente consumate nello sprint interessato e di conseguenza le risorse utilizzate.
- Continuous Delivery
- Pratica di rilascio software in cui il codice è sempre pronto per essere rilasciato in produzione, ma il deploy avviene manualmente.
- Continuous Deployment
- Pratica di rilascio software in cui ogni modifica che passa i test automatici viene rilasciata automaticamente in produzione.
- Controllo di versione (VCS)
- Sistema che registra la storia delle modifiche ai file, permettendo collaborazione, tracciamento e ripristino di versioni precedenti.
D
- Daily Scrum
- Breve meeting quotidiano (circa 15 minuti) in cui il team sincronizza le attività e identifica eventuali impedimenti.
- Debito tecnico
- Conseguenza di scelte di sviluppo o di design che privilegiano la velocità iniziale a scapito della qualità, richiedendo iterazioni future per correggerle.
- Decommissioning (gateway)
- Procedura di disassociazione di un gateway al tenant a cui è correntemente associato e di impostazione del gateway alla configurazione di fabbrica.
- Diagramma dei casi d'uso
- Diagramma UML che descrive le interazioni tra attori e sistema evidenziando cosa può essere richiesto al software.
- Diagramma delle classi
- Diagramma UML che mostra le classi del sistema, attributi, metodi e relazioni strutturali.
- Dichiarazione degli impegni
- Documento redatto in fase di candidatura del gruppo presso un capitolato d'appalto. Contiene l'analisi dei ruoli e dei rischi, la divisione delle risorse e il preventivo costi.
- Discord
- Piattaforma di comunicazione che permette chat testuali, vocali e video, utilizzata spesso per la collaborazione tra gruppi di lavoro.
- Docker
- Piattaforma che permette di creare, distribuire e eseguire applicazioni all'interno di container isolati, garantendo portabilità tra diversi ambienti.
- Docker Compose
- Strumento che permette di definire e gestire applicazioni multi-container Docker tramite un file YAML, semplificando l'orchestrazione e la configurazione dei servizi.
- Documento incrementale
- Documento che viene redatto e aggiornato progressivamente insieme all'avanzamento del progetto. Può contenere inizialmente sezioni vuote e incomplete e ogni versione stabile include solo le parti effettivamente compilate e verificate. Viene pubblicato man mano tramite versioni aggiornate.
E
- ECG Custom Profile (Profilo GATT)
- Profilo GATT usato per l'invio via BLE di dati relativi a misurazioni di elettrocardiogrammi.
- Economicità
- È la combinazione tra efficacia e efficienza, ovvero l'equilibrio tra costi sostenuti, risorse impiegate e risultati ottenuti, con l'obiettivo di minimizzare sprechi o spese inutili.
- Efficacia
- Misura della capacità di un prodotto o processo di raggiungere gli obiettivi prefissati.
- Efficienza
- Misura di capacità di ottenere un risultato usando il minor numero possibile di risorse.
- Environmental Sensing Service (Profilo GATT)
- Profilo GATT usato per l'invio via BLE di dati relativi a misurazioni di temperatura e umidità ambientali.
F
- Fiber
- Framework web basato sul linguaggio di programmazione Go, ispirato a Express.js. Rispetto a Gin, è più leggero e performante, ma offre meno funzionalità built-in, richiedendo l'integrazione di librerie esterne per alcune funzionalità avanzate.
- Fornitore
- È il singolo gruppo che si aggiudica il capitolato. Il suo obiettivo è rispettare vincoli e aspettative del progetto producendo la documentazione necessaria e il prodotto software richiesto dalla proponente.
- Framework
- Insieme di strumenti, librerie e regole che facilitano lo sviluppo software fornendo una struttura predefinita.
G
- Gateway
- Sono hub a cui si collegano i dispositivi IoT per centralizzare le comunicazioni. Hanno il ruolo di comunicare con il Cloud, pre-elaborare i dati, garantire sicurezza e integrità.
- Gin
- Framework web basato sul linguaggio di programmazione Go. Offre funzionalità built-in per routing, middleware, gestione delle richieste e risposte, e supporta la creazione di API RESTful in modo semplice.
- Git
- Sistema di controllo di versione distribuito che permette di tracciare modifiche al codice e collaborare tra sviluppatori.
- GitHub
- Piattaforma online basata su Git per archiviare repository, collaborare sul codice e gestire progetti software.
- GitHub Action
- Sistema di automazione integrato in GitHub che esegue pipeline CI/CD, test, build e deploy al verificarsi di eventi.
- GitHub Issue
- Strumento di GitHub per tracciare bug, funzionalità e attività di progetto tramite ticket assegnabili e commentabili.
- GitHub Pages
- Servizio di GitHub che permette di pubblicare siti web statici direttamente da una repository.
- Go
- Linguaggio di programmazione ad alto livello, compilato e tipizzato staticamente. È utilizzato per applicazioni back-end, sistemi distribuiti e applicazioni ad alta concorrenza.
- Google Cloud Platform
- Piattaforma Cloud di Google che fornisce servizi di computing, database, storage, machine learning, networking e molto altro.
- Grafana
- Piattaforma per la visualizzazione e l'analisi di dati, spesso utilizzata per monitorare metriche e log di sistemi IT, inclusi quelli generati da dispositivi IoT.
- GraphQL
- Linguaggio di query per API che permette ai client di richiedere esattamente i dati necessari e ridurre l'over-fetching, ovvero la ricezione di dati non necessari
H
- Health Thermometer Service (Profilo GATT)
- Profilo GATT usato per l'invio via BLE di dati relativi a misurazioni di temperatura utilizzate in ambito medico.
- Heart Rate Service (Profilo GATT)
- Profilo GATT usato per l'invio via BLE di dati relativi a misurazioni di battito cardiaco.
- HTML
- L'HyperText Markup Language è il linguaggio usato per strutturare contenuti nelle pagine web.
- HTTPS
- Protocollo di comunicazione sicura su Internet che estende HTTP tramite cifratura TLS/SSL, garantendo autenticità del server, integrità dei dati e riservatezza del traffico tra client e server.
- HyperTable
- Struttura di tabella in TimescaleDB che consente di gestire grandi volumi di dati temporali suddividendoli in partizioni basate su intervalli di tempo, migliorando le prestazioni e la scalabilità.
I
- Impersonificazione
- Atto con cui un Super admin si fa temporaneamente riconoscere dal sistema cloud come utente appartenente a uno specifico tenant, attribuendo a quest'ultimo la facoltà di compiere le stesse azioni di un Tenant Admin. Questo può avvenire soltanto se il tenant impersonato ha precedentemente accettato un'apposita clausola contrattuale.
- Incremento
- Aggiunta rilasciabile che estende il prodotto rispetto alla versione precedente(scopo costruttivo).
- IoT
- L'Internet of Things è l'insieme di dispositivi fisici connessi a Internet (sensori, elettrodomestici, veicoli, wearable, macchinari industriali…) in grado di raccogliere, trasmettere e scambiare dati autonomamente.
- ISO/IEC 12207:1995
- Standard internazionale che definisce i processi primari del ciclo di vita del software: analisi, progettazione, realizzazione e manutenzione.
- Issue Form
- Strumento messo a disposizione da GitHub per semplificare la creazione di GitHub Issues che presentano campi simili. Permettono a chi crea l'issue di selezionare da una lista di template precompilati.
- Iterazione
- Passaggio che comprende raffinamenti o rivisitazioni a scopo distruttivo, tornando indietro nell'avanzamento del progetto.
J
- JavaScript
- Linguaggio di programmazione interpretato, usato principalmente per lo sviluppo web lato client e lato server, per rendere interattive le pagine e le applicazioni.
- JWT
- JSON Web Token è uno standard aperto per la trasmissione sicura di informazioni tra parti come oggetti JSON. Il token solitamente contiene un header, un payload e una firma, esso contiene informazioni che possono essere verificate e affidabili. Permette l'autenticazione e l'autorizzazione in sistemi distribuiti.
K
- Kubernetes
- Orchestrator di container che automatizza deploy, scalabilità e gestione di applicazioni distribuite.
L
- Lettera di candidatura
- Lettera formale rivolta ai committenti, in cui il gruppo dichiara ufficialmente la candidatura verso un capitolato d'appalto specifico.
- LLM
- Un Large Language Model è un modello di IA capace di comprendere e generare testo in linguaggio naturale, addestrato su grandi quantità di dati.
M
- Micro-servizio
- Architettura in cui un'applicazione è suddivisa in servizi indipendenti che comunicano tramite API o messaggi.
- Milestone
- Rappresenta un punto nel calendario di progetto, inteso come data, il quale definisce un determinato stato di avanzamento. Questo strumento è utile per fissare obiettivi intermedi abilitando alla pianificazione a medio e breve termine.
- Modello di ciclo di vita
- Descrivono gli stati e le transizioni che caratterizzano lo sviluppo di un prodotto software, indicando quali processi devono essere attivati. Permettono di pianificare, organizzare ed eseguire il lavoro in modo strutturato, aiutando a studiare, comprendere, misurare e trasformare il sistema in sviluppo.
- MongoDB
- Database NoSQL orientato ai documenti, flessibile e adatto a grandi quantità di dati non strutturati.
- MQTT
- Protocollo di messaggistica leggero basato su publish-subscribe, ottimizzato per dispositivi IoT e reti con larghezza di banda limitata o instabili, con meccanismi di qualità del servizio (QoS) e mantenimento della connessione persistente.
- MVP
- Il Minimum Viable Product è un'approssimazione del prodotto atteso dalla proponente, dotata di funzionalità minime ma sufficienti a essere testata e valutare la bontà della visione iniziale.
N
- NATS
- Sistema di messaggistica publish-subscribe ad alte prestazioni, leggero e distribuito, progettato per la comunicazione asincrona tra micro-servizi, applicazioni Cloud-native e dispositivi IoT.
- NATS Jetstream
- Estensione di NATS che fornisce funzionalità di messaggistica persistente, supporto a code di messaggi e funzionalità avanzate per la gestione dei messaggi, rendendolo adatto a scenari che non accettano nessuna perdita di dati.
- NATS Server
- Componente centrale del sistema di messaggistica NATS che gestisce la comunicazione tra i client, instrada i messaggi e garantisce la consegna. Il server NATS è progettato per essere leggero, ad alte prestazioni e scalabile.
- Nest.js
- Framework modulare per Node.js che facilita la costruzione di applicazioni server robuste e scalabili con architettura strutturata.
- NKEY - NATS
- Sistema di gestione delle chiavi di NATS basato su ed25519, che consente di generare chiavi pubbliche e private per l'autenticazione e la crittografia dei messaggi. Le NKEY sono utilizzate per firmare i JWT e garantire perciò l'autenticità dei token.
- Node.js
- Ambiente runtime JavaScript lato server, ottimizzato per applicazioni scalabili, event-driven e in tempo reale.
- Normalizzazione
- Procedura che trasforma dei dati eterogenei in un insieme di dati che condividono lo stesso formato e le stesse caratteristiche numeriche.
- Norme di Progetto
- Documento esecutivo interno al gruppo che definisce procedure, regole e strumenti per organizzare il lavoro in modo professionale e ripetibile.
- NoSQL
- Categoria di database non relazionali progettati per archiviare e gestire grandi quantità di dati non strutturati o semi-strutturati.
- NSC - NATS
- NATS Server Configuration è uno strumento di gestione della configurazione del server NATS, che consente di creare e gestire utenti, permessi, soggetti e stream in modo semplice e organizzato.
O
- On-demand
- Servizio o funzionalità disponibile su richiesta dell'utente e attivabile quando necessario.
- Operator - NATS
- Entità in NATS che rappresenta un'organizzazione, responsabile della creazione e gestione di Account, utenti e permessi all'interno del sistema. Esso firma il proprio JWT e quelli degli Account che gestisce.
P
- PB
- La Product Baseline valuta la maturità della baseline architetturale del software e la sua realizzazione, includendo il design definitivo nel documento di Specifica tecnica. È presente un avanzamento sostanziale del prodotto software che viene sottoposto alla proponente (come MVP) per valutarne qualità e adeguatezza.
- PDSA Cycle
- Ciclo Plan-Do-Study-Act: modello iterativo di miglioramento continuo basato su pianificazione, esecuzione, studio dei risultati ed eventuale correzione iterando nuovamente. A seguito dello studio dei risultati può esserci l'adozione o l'abbandono della misura messa in atto.
- Piano di Progetto
- Documento gestionale che pianifica tempi, costi, risorse e rischi del progetto. Serve a monitorare l'avanzamento confrontando, per ogni sprint: preventivo, consuntivo di periodo, preventivo a finire e analisi dei compiti svolti e dei rischi. In modo tale da ricalibrare le attività in corso d'opera.
- Piano di Qualifica
- Documento gestionale che descrive come verranno svolte Verifica e Validazione, fissando gli obiettivi di qualità, le metriche e gli strumenti di controllo.
- PostgreSQL
- Database relazionale open-source con supporto completo a transazioni ACID e capacità di gestire grandi volumi di dati con elevata affidabilità e performance.
- Preventivo
- È una sezione del Piano di Progetto, che viene compilata ogni sprint, nel quale si stimano le ore e le risorse necessarie per completare le attività pianificate.
- Preventivo a finire
- È una sezione nel Piano di Progetto, che viene compilata ogni sprint, nel quale viene aggiornata la pianificazione futura e le risorse rimanenti in funzione delle risorse utilizzate nello sprint corrente.
- Processo di ciclo di vita
- Sono l'insieme di attività che guidano, secondo best practice, un cambio di fase all'interno di un prodotto software (es: concezione -> sviluppo). Un processo è composto da attività correlate e coese che trasformano bisogni in prodotti, secondo regole definite, consumando risorse nel farlo
- Product Backlog
- Lista ordinata delle funzionalità, requisiti e migliorie da implementare nel prodotto.
- Profilo BLE
- Specifica standardizzata che descrive i dettagli della comunicazione tra dispositivi BLE.
- Profilo GATT
- Profilo BLE che definisce nello specifico come avviene lo scambio di dati tra due dispositivi BLE, tramite un modello Server–Client. Un dispositivo BLE può essere associato a uno dei molteplici profili GATT standard.
- Progetto didattico
- Progetto svolto dal gruppo GlitchHub Team per l'esame di Ingegneria del Software del Corso di Laurea Triennale in Informatica dell'Università del Padova, svoltosi nell'anno accademico 2025—2026.
- Prometheus
- Sistema di monitoraggio e allerta progettato per raccogliere e memorizzare metriche in tempo reale, spesso utilizzato insieme a Grafana per visualizzare i dati raccolti.
- Proof of Concept
- Artefatto realizzato ad inizio progetto con lo scopo di valutare la fattibilità tecnologica del prodotto atteso. Deve rappresentare le richieste principali del capitolato.
- Proponente
- È l'azienda che presenta un capitolato e richiede lo sviluppo di un prodotto software. Definisce aspettative, requisiti, e funzionalità. Segue e aiuta nel processo di sviluppo (offre chiarimenti, supporto tecnico e feedback).
- Prototipo
- Versione semplificata del sistema o di una funzionalità con lo scopo di aiutare la scelta delle soluzioni da adottare nel prodotto finale.
- Provisioning (gateway)
- Procedura di autenticazione e di associazione di un gateway alla piattaforma Cloud, in cui le due componenti si scambiano le informazioni di autenticazione e le chiavi necessarie per scambiarsi dati in maniera crittografata.
- Pull Request
- Nella piattaforma GitHub, è una richiesta formale di unire codice da un branch a un altro (operazione di "merge") in una repository, a seguito di una revisione.
- Pulse Oximeter Service (Profilo GATT)
- Profilo GATT usato per l'invio via BLE di dati relativi a misurazioni di saturazione di ossigeno (pulsossimetria).
R
- RabbitMQ
- Message broker basato sul protocollo AMQP (Advanced Message Queuing Protocol) che permette la comunicazione asincrona tra applicazioni o micro-servizi tramite code di messaggi.
- Redis
- Database in-memory ad alte prestazioni utilizzato per caching, gestione delle sessioni e code di messaggi.
- Repository
- Archivio di progetto che contiene codice, file e cronologia delle versioni, può essere gestito tramite un sistema di controllo versione come Git.
- Requisiti di sicurezza
- Vincoli e misure necessarie per garantire protezione dei dati, autenticazione, autorizzazione e continuità del servizio.
- Requisiti funzionali
- Specificano cosa il sistema deve fare: funzionalità, comportamenti e risposte a determinati input.
- Requisiti non funzionali
- Descrivono caratteristiche qualitative del sistema, come prestazioni, usabilità, sicurezza e affidabilità.
- Requisito
- Una capacità di cui un utente ha bisogno per raggiungere un obiettivo (lato bisogno), oppure una capacità che un sistema deve possedere per rispondere ad un'aspettativa (lato soluzione).
- Requisito software
- Una capacità che un sistema deve possedere per rispondere ad un'aspettativa (lato soluzione). L'analisi dei requisiti esplora il punto di vista lato soluzione, ovvero ciò che il prodotto deve fare per soddisfare i bisogni.
- Requisito utente
- Una capacità di cui un utente ha bisogno per raggiungere un obiettivo (lato bisogno). Il capitolato specifica le aspettative della proponente fissate nella fase di studio del problema.
- Reset (gateway)
- Comando inviato a un gateway per reimpostarlo alla configurazione di fabbrica.
- Retrospettiva
- Riunione interna al team con valutazione qualitativa. Durante l'incontro si analizza cosa è andato bene o male e si discutono possibili correzioni.
- Riattivazione (gateway)
- Comando inviato a un gateway per riprendere l'invio di tutti i suoi dati alla piattaforma Cloud, precedentemente interrotto.
- Riattivazione (sensore)
- Comando inviato al gateway associato a un sensore specifico, per riprendere l'invio dei dati da esso ricevuti alla piattaforma Cloud.
- Riavvio (gateway)
- Comando inviato a un gateway per spegnerlo e riaccenderlo da remoto, con lo scopo di risolvere eventuali errori di corruzione di memoria volatile. Il riavvio mantiene la configurazione del gateway.
- Riuso
- Pratica che consiste nell'impiegare componenti, codice o documenti già esistenti per ridurre tempi di sviluppo e rischi. Quanto più basso è il costo di adozione e l'impatto sul workflow maggiore è la frequenza di riuso.
- RTB
- La Requirements and Technology Baseline è una fase del Progetto didattico che fissa in modo stabile i requisiti da soddisfare, concordati con la proponente, e motiva le tecnologie, i framework e le librerie scelti. È supportata dal Proof of Concept.
S
- Schema
- Standard che descrive formalmente come strutturare un insieme di dati in uno specifico linguaggio di markup.
- Scrum
- Framework Agile che organizza il lavoro in Sprint e definisce ruoli ed eventi per migliorare la produttività del team.
- Semantic Versioning
- Schema di versionamento software basato su tre numeri MAJOR.MINOR.PATCH che indicano rispettivamente cambiamenti incompatibili, nuove funzionalità e correzioni di bug.
- Sensore simulato
- Entità logica che corrisponde a un sensore collegato al simulatore di gateway simulato interamente in software che non utilizza le stesse tecnologie di un vero gateway o di veri sensori BLE.
- Simulatore di gateway
- Programma che simula in software il funzionamento di un gateway, senza richiedere hardware specializzato a tale scopo.
- Sistema
- La parte del prodotto che si prende in considerazione nel contesto di un caso d'uso specifico. Si noti che il sistema di un caso d'uso può corrispondere all'attore di un altro caso, a seconda della funzionalità che si intende descrivere.
- Slack time
- Margine di ritardo tollerabile senza compromettere scadenze successive.
- Sospensione (gateway)
- Comando inviato a un gateway per interrompere l'invio di tutti i suoi dati alla piattaforma Cloud, ma non la ricezione di comandi da questa. Si noti che la sospensione non spegne completamente il gateway.
- Sospensione (sensore)
- Comando inviato al gateway associato a un sensore specifico, per interrompere l'invio dei dati da esso ricevuti alla piattaforma Cloud. Si noti che la sospensione non spegne completamente il sensore interessato
- SPA
- Una Single Page Application è un'applicazione web che carica una sola pagina e aggiorna dinamicamente i contenuti senza ricarichi completi.
- Specifica tecnica
- Ancora da definire
- Sprint
- Periodo breve e definito a monte (solitamente 1-2 settimane) in cui il team sviluppa un incremento di prodotto, cercando di svuotare lo Sprint Backlog.
- Sprint Backlog
- Insieme di attività selezionate dal Product Backlog e pianificate per uno specifico Sprint.
- Sprint Planning
- Riunione di inizio Sprint nella quale il team pianifica il lavoro da svolgere e gli obiettivi da raggiungere.
- Sprint Retrospective
- Riunione interna del team volta a migliorare il way of working. Durante l'incontro si analizza cosa non ha funzionato nello Sprint appena concluso e si discutono possibili azioni per migliorare il processo nei successivi.
- Sprint Review
- Riunione di fine Sprint in cui il team mostra il lavoro svolto agli stakeholder e raccoglie feedback.
- SSL
- Protocollo crittografico progettato per proteggere le comunicazioni online, oggi rimpiazzato dal TLS.
- Stakeholder
- Chiunque abbia interesse nel progetto: committente, proponente, utenti finali, fornitore e figure che influenzano requisiti e valutazioni.
- Stream - NATS Jetstream
- Concetto in NATS Jetstream che rappresenta un flusso di messaggi persistenti, organizzati in code, che possono essere consumati da più sottoscrittori. I stream permettono di gestire grandi volumi di messaggi con garanzia di consegna e persistenza.
- Subject - NATS
- Concetto fondamentale in NATS che rappresenta un canale di comunicazione su cui i messaggi vengono pubblicati e sottoscritti. I soggetti permettono di organizzare e filtrare i messaggi all'interno del sistema di messaggistica.
- Super admin
- Utente autenticato con poteri di amministrazione globali a tutti i tenant associati alla piattaforma cloud
T
- Tenant
- In un sistema multi-tenant, è un cliente o gruppo di utenti che condivide la stessa piattaforma, ma con dati e accessi isolati dagli altri.
- Tenant admin
- Utente autenticato appartenente a un tenant specifico con privilegi di amministrazione all'interno del proprio tenant e sui gateway a esso associati.
- Tenant user
- Utente autenticato senza privilegi appartenente a uno specifico tenant. Ha solo il potere di visualizzare i dati dei sensori ricevuti dai gateway.
- Test di integrazione
- Verificano che più componenti o servizi del sistema funzionino correttamente insieme.
- Test di scalabilità e carico
- Misurano come il sistema si comporta sotto traffico elevato e quanto riesce a scalare.
- Test di sicurezza
- Verificano che il sistema protegga dati e accessi da vulnerabilità o minacce.
- Test di sincronizzazione cloud
- Controllano che i dati rimangano coerenti tra dispositivi, server e servizi Cloud.
- Test Driven Development
- Tecnica di sviluppo in cui prima si scrivono i test, poi il codice necessario a soddisfarli ed infine si ristruttura il codice. Garantisce verificabilità e qualità
- Test multi-tenant
- Test che verificano isolamento dei dati e corretto funzionamento di un sistema con più tenant.
- TimescaleDB
- Estensione di PostgreSQL progettata per gestire dati temporali, come quelli generati da sensori IoT. Offre funzionalità avanzate per l'analisi e la gestione di serie temporali, come per esempio le HyperTables.
- TLS
- Protocollo crittografico che garantisce la sicurezza delle comunicazioni tra client e server su reti non sicure. Fornisce cifratura dei dati, integrità tramite checksum e autenticazione delle parti coinvolte.
- Typescript
- Linguaggio basato su JavaScript con tipizzazione statica, utile per ridurre errori e migliorare manutenzione del codice.
- Typst
- Linguaggio di markup moderno utilizzato per creare documenti in modo semplice e programmabile, simile a LaTeX ma con sintassi più intuitiva.
U
- UI
- La User Interface è l'insieme degli elementi grafici e interattivi tramite cui l'utente interagisce con un'applicazione o un sito web.
- Unit test
- Test che verificano singole funzioni o componenti in modo isolato.
- User - NATS
- Entità in NATS che rappresenta un utente specifico con credenziali di autenticazione e permessi associati. Gli utenti possono essere creati all'interno di un Account e utilizzati per accedere al server NATS a cui dovranno fornire un JWT firmato dall'Account di appartenenza e firmare una challenge con la propria NKEY privata.
- User story
- Breve descrizione di una funzionalità significativa dal punto di vista dell'utente finale, che specifica cosa l'utente vuole ottenere con la funzionalità e perché.
- UX
- La User Experience rappresenta l'esperienza complessiva dell'utente durante l'uso di un prodotto, considerando facilità d'uso, soddisfazione e percezione generale.
V
- Validazione
- Accertamento che il prodotto finale soddisfi le attese degli stakeholder. Il fornitore dimostra che tutti i requisiti utente siano soddisfatti con il collaudo del prodotto.
- Valutazione capitolati
- Documento in cui il gruppo, secondo i pareri dei diversi componenti, elabora un pensiero comune riguardo ogni capitolato d'appalto
- Verifica
- Accertamento che lo sviluppo non introduca errori e rispetti i requisiti software. Pratica che si svolge lungo tutto il periodo di progetto.
W
- Way of working
- Rappresenta l'insieme di pratiche volte a rendere l'organizzazione delle attività di progetto il più professionale possibile. Deve essere incrementale nel tempo e includere sempre le nuove attività nelle norme prima della loro attuazione.
- Wildcard - NATS
- Carattere speciale utilizzato nei soggetti di NATS per rappresentare uno o più livelli di soggetti. Il wildcard '*' rappresenta un singolo livello, mentre '>' rappresenta tutti i livelli successivi. Esempio: 'sensors.*' corrisponde a 'sensors.temperature' e 'sensors.humidity', mentre 'sensors.>' corrisponde a tutti i soggetti che iniziano con 'sensors.'