API Contract
Accordo formale tra fornitore e consumatore di un'interfaccia che stabilisce endpoint, strutture dei dati e comportamenti attesi, garantendo la stabilità dell'integrazione.
Accordo formale tra fornitore e consumatore di un'interfaccia che stabilisce endpoint, strutture dei dati e comportamenti attesi, garantendo la stabilità dell'integrazione.
Approccio di gestione del progetto iterativo e flessibile, caratterizzato dalla capacità di rispondere rapidamente ai cambiamenti dei requisiti e alle incertezze.
Coordinamento strutturato di più agenti software volto a definire ruoli, flussi di esecuzione e regole di interazione, garantendo controllo, coerenza operativa e il raggiungimento degli obiettivi del sistema.
Componente software autonomo capace di percepire l'ambiente circostante, ragionare sui dati acquisiti e intraprendere azioni indipendenti per il conseguimento di specifici obiettivi mediante tecniche di intelligenza artificiale.
Filosofia di sviluppo software che privilegia la consegna frequente di software funzionante, la collaborazione costante con il cliente e la capacità di rispondere ai cambiamenti piuttosto che seguire un piano rigido.
Fenomeno per cui un modello di intelligenza artificiale genera output sintatticamente corretti e plausibili ma fattualmente errati o privi di riscontro nella base di conoscenza o nel contesto fornito.
Ecosistema di servizi cloud che fornisce l'infrastruttura computazionale e di storage per il sistema. Consente l'esecuzione di task intensivi in ambienti isolati e la gestione dinamica delle risorse, garantendo la scalabilità necessaria alle operazioni di analisi e la persistenza dei dati non sensibili.
Ruolo nel team di progetto responsabile della gestione della configurazione, della documentazione e del mantenimento dei repository.
Processo sistematico di raccolta, elaborazione e formalizzazione delle esigenze degli stakeholder al fine di stabilire le specifiche che il sistema software deve soddisfare.
Tecnica di verifica del software effettuata esaminando il codice sorgente senza eseguirlo, mirata all'individuazione precoce di errori, vulnerabilità e non conformità agli standard di codifica.
Membro del team di sviluppo responsabile della raccolta e dell'analisi dei requisiti del sistema software, nonché della comunicazione con gli stakeholder per garantire che le esigenze siano comprese e documentate correttamente.
Insieme di regole e protocolli che consentono a diverse applicazioni software di comunicare tra loro.
Metodologia operativa che applica i principi del Manifesto Agile, focalizzandosi su cicli di sviluppo brevi, feedback continui e adattamento progressivo.
Entità esterna al sistema (persona, hardware o altro sistema software) che interagisce con esso scambiando informazioni per raggiungere un determinato scopo.
Esame sistematico e indipendente di attività, documenti o prodotti software per determinare se tali entità sono conformi ai requisiti prestabiliti o agli standard di riferimento.
Componente di un'applicazione che risiede sul server e gestisce la logica applicativa, l'accesso ai dati e le risorse non direttamente accessibili all'utente finale.
Lista ordinata e dinamica di tutto il lavoro necessario per il completamento del progetto, incluse funzionalità, requisiti tecnici e correzione di bug.
Configurazione approvata e consolidata di un elemento di configurazione (documenti o codice) che serve come base per ulteriori attività e che può essere modificata solo attraverso procedure formali di controllo.
Strategia di sviluppo che prevede il completamento e il perfezionamento dell'intera progettazione del sistema prima di iniziare qualsiasi attività di implementazione del codice.
Metrica di rischio che stima il numero minimo di membri del team la cui improvvisa assenza bloccherebbe il progetto per mancanza di conoscenza condivisa.
Tecnica di ottimizzazione che consiste nel memorizzare temporaneamente copie di dati o risultati di calcoli in un'area di memoria ad accesso rapido per accelerare le future richieste.
Modello di miglioramento dei processi che aiuta le organizzazioni a ottimizzare le proprie attività. L'obiettivo è aumentare la qualità e migliorare l'efficienza, utilizzando un approccio di ottimizzazione continua.
Specifica che descrive una sequenza di interazioni tra un attore e il sistema affinché l'attore raggiunga un obiettivo specifico.
Processo strutturato che guida la creazione, l'implementazione e la manutenzione di un prodotto software.
Metrica che indica la percentuale di codice sorgente effettivamente eseguita durante l'esecuzione della suite di test automatizzati.
Denominazione del progetto software commissionato da Var Group e in fase di sviluppo da parte del team Skarab Group.
Insieme completo di codice sorgente, risorse e configurazioni che costituiscono un'applicazione software o un sistema.
Tecnici incaricati di eseguire le prove finali sul prodotto per accertarne la rispondenza alle aspettative dell'utente e autorizzarne il rilascio formale.
Metrica quantitativa che misura la complessità logica di un programma calcolando il numero di percorsi linearmente indipendenti attraverso il grafo di controllo del flusso.
Esperto esterno che fornisce competenze specialistiche e raccomandazioni strategiche per ottimizzare l'infrastruttura tecnologica e i processi di sviluppo del cliente.
Rendicontazione finale delle risorse effettivamente utilizzate e dei costi sostenuti al termine di un periodo o di un'attività, contrapposta alle stime preventive.
Tecnologia di virtualizzazione a livello di sistema operativo che impacchetta l'applicazione e le sue dipendenze in un'unità isolata (container) eseguibile uniformemente su diverse infrastrutture.
Pratica che prevede l'integrazione frequente del codice di tutti gli sviluppatori in un repository centrale, verificata da build e test automatici per rilevare errori il prima possibile.
Esposizione non autorizzata, accidentale o intenzionale, di informazioni sensibili o riservate all'esterno del perimetro di sicurezza stabilito.
Sistema organizzato per la memorizzazione, la gestione e il recupero efficiente di grandi quantità di dati strutturati o non strutturati.
Soluzione progettuale generale e riutilizzabile per problemi ricorrenti nel contesto della progettazione del software.
Insieme di pratiche culturali e strumenti che integrano i team di sviluppo software e quelli operativi per accorciare i cicli di rilascio e migliorare la qualità del software.
Rappresentazioni grafiche UML che illustrano le relazioni tra gli attori e i casi d'uso, definendo i confini e le funzionalità del sistema dal punto di vista dell'utente.
Piattaforma di comunicazione digitale che supporta canali testuali e vocali, utilizzata per il coordinamento rapido e informale del team.
Piattaforma open source che automatizza il deployment delle applicazioni all'interno di container software, garantendo portabilità e isolamento.
Applicazione web per la creazione di diagrammi tecnici, utilizzata per modellare flussi, architetture e schemi UML.
Strumento di analisi statica per identificare pattern problematici nel codice JavaScript e TypeScript, facilitando il rispetto delle convenzioni di stile.
Errore in cui uno strumento di verifica o un test non segnala un difetto o una vulnerabilità che è invece presente nel sistema.
Errore in cui uno strumento di verifica o un test segnala la presenza di un difetto o una vulnerabilità che in realtà non esiste.
Parte del sistema software che gestisce l'interazione diretta con l'utente, occupandosi della presentazione dei dati e della logica di interfaccia.
Diagramma a barre orizzontali utilizzato per la pianificazione temporale del progetto, che illustra le attività, le loro durate e le dipendenze reciproche su una scala temporale.
Processo iterativo di identificazione, analisi, pianificazione della risposta e monitoraggio delle incertezze che potrebbero impattare sugli obiettivi di progetto.
Sistema di controllo di versione distribuito progettato per gestire progetti di ogni dimensione con velocità ed efficienza, tracciando la storia delle modifiche ai file.
Servizio di hosting per progetti software che utilizza il sistema di controllo versione Git e offre funzionalità per la collaborazione e la gestione del codice.
Documento normativo che elenca e definisce i termini tecnici, gli acronimi e i concetti specifici del dominio per garantire un linguaggio comune e privo di ambiguità.
Pratica sconsigliata di implementare funzionalità o perfezionamenti non richiesti dagli stakeholder, che consumano risorse senza aggiungere valore concordato.
Strumento di gestione del tempo utilizzato per pianificare riunioni, scadenze e attività condivise all'interno del team.
Interfaccia utente grafica che consente agli utenti di interagire con un sistema attraverso elementi visivi come finestre, icone e menu.
Insieme delle persone assegnate al progetto che collaborano attivamente per realizzare gli obiettivi definiti nel Piano di Progetto.
Indice linguistico calibrato sulla lingua italiana per valutare la leggibilità di un testo in base alla lunghezza delle parole e delle frasi.
Modello operativo che richiede l'interazione o la supervisione umana diretta per convalidare, correggere o guidare le decisioni prese da un sistema automatizzato.
Metodologia di gestione che integra elementi predittivi (Waterfall) e adattivi (Agile) per bilanciare la necessità di controllo con quella di flessibilità.
Standard internazionale che definisce un modello di qualità del prodotto software, categorizzando le caratteristiche in otto aree principali come funzionalità, affidabilità ed efficienza.
Famiglia di norme internazionali che definisce i requisiti per i sistemi di gestione della qualità, applicabili a qualsiasi organizzazione che voglia dimostrare la capacità di fornire prodotti conformi.
Pratica di gestione dell'infrastruttura IT tramite file di configurazione leggibili dalla macchina, permettendo il versionamento e la riproducibilità degli ambienti.
Approccio allo sviluppo che prevede la realizzazione e il rilascio del sistema per parti successive, dove ogni incremento aggiunge nuove funzionalità a quelle precedenti.
Settore che comprende l'utilizzo di elaboratori elettronici e software per convertire, memorizzare, proteggere, elaborare, trasmettere e recuperare informazioni.
Applicazione di un approccio sistematico, disciplinato e quantificabile allo sviluppo, al funzionamento e alla manutenzione del software.
Pratica di sviluppo che impone ai membri del team di integrare il proprio lavoro frequentemente, verificando ogni integrazione tramite build automatiche per rilevare errori di integrazione.
Standard per la documentazione del codice sorgente JavaScript che utilizza commenti formattati per descrivere l'API e generare automaticamente la documentazione tecnica.
Strumento software per il tracciamento delle issue, la gestione dei bug e la gestione agile dei progetti.
Modello di deep learning addestrato su vasti corpus di dati testuali, capace di riconoscere, riassumere, tradurre, prevedere e generare testo e altri contenuti.
Strumento di analisi statica che esamina il codice sorgente per segnalare errori di programmazione, bug, errori stilistici e costrutti sospetti.
Misure quantitative utilizzate per analizzare l'efficienza e l'efficacia delle attività di sviluppo e gestione, come la varianza dei tempi o dei costi.
Indicatori quantitativi utilizzati per valutare la qualità, la leggibilità e la correttezza della documentazione tecnica prodotta durante il ciclo di vita.
Misure quantitative applicate al codice o all'eseguibile per valutarne attributi interni ed esterni, come la complessità, la dimensione o la copertura dei test.
Hub digitale che integra conversazioni, contenuti e strumenti in un unico spazio di lavoro per favorire la collaborazione e la comunicazione aziendale.
Evento significativo nel piano di progetto che segna il completamento di una fase principale o il raggiungimento di un obiettivo critico, utilizzato per monitorare il progresso.
Versione del prodotto con caratteristiche appena sufficienti per essere utilizzabile dai primi clienti e fornire feedback per lo sviluppo futuro.
Oggetto simulato che riproduce in modo controllato il comportamento di componenti reali complessi o non disponibili, utilizzato principalmente nei test unitari.
Framework metodologico progettato per valutare e migliorare la capacità dei processi software all'interno delle organizzazioni del settore.
Sistema di gestione di database NoSQL orientato ai documenti, che offre scalabilità e flessibilità memorizzando i dati in formato simile a JSON.
Attività sistematica di raccolta, analisi e reportistica dei dati di progetto per valutare le prestazioni rispetto al piano e identificare la necessità di azioni correttive.
Piattaforma digitale che aggrega diversi fornitori (dealer), permettendo agli utenti di accedere a servizi o prodotti multipli attraverso un unico punto di accesso.
Protocollo crittografico che consente a diverse parti di calcolare congiuntamente una funzione sui propri input privati mantenendo tali input segreti agli altri partecipanti.
Tipologia di dati che coinvolge la condivisione o l'elaborazione di informazioni provenienti da più entità distinte, richiedendo spesso protocolli specifici di privacy e sicurezza.
Framework open-source per lo sviluppo di applicazioni back-end scalabili e manutenibili in ambiente Node.js. Scritto in TypeScript, utilizza un'architettura modulare e supporta nativamente design pattern come la Dependency Injection
Ambiente di esecuzione JavaScript basato sul motore V8 di Chrome che permette l'esecuzione di codice JavaScript lato server per costruire applicazioni scalabili.
Insieme codificato di regole, convenzioni, strumenti e procedure che il team si impegna a seguire per garantire uniformità e qualità nel lavoro svolto.
Organizzazione no-profit che si dedica a migliorare la sicurezza delle applicazioni web attraverso la creazione di risorse, strumenti e linee guida.
Bias cognitivo che porta a sottostimare la probabilità di eventi negativi e i tempi necessari per completare un compito, basandosi su scenari ideali (il cosiddetto "Happy Path") piuttosto che su dati storici o realistici.
Tecnica di sviluppo software in cui due programmatori lavorano insieme alla stessa postazione, uno scrivendo il codice e l'altro revisionandolo istantaneamente.
Processo di definizione degli obiettivi, delle attività, delle risorse e delle tempistiche necessarie per portare a termine un progetto.
Documento formale approvato che definisce come il progetto verrà eseguito, monitorato, controllato e chiuso.
Documento che descrive le strategie, gli standard, le procedure e le risorse necessarie per garantire che i deliverable del progetto soddisfino i requisiti di qualità stabiliti.
Approccio di gestione in cui ambito, tempi e costi sono determinati nelle fasi iniziali del ciclo di vita e le modifiche sono gestite rigorosamente.
Calcolo preliminare dei costi e delle risorse necessarie per l'esecuzione di un progetto o di una sua parte.
Milestone che definisce la configurazione tecnica completa e approvata del prodotto finale, pronta per la produzione o il rilascio.
Membri del team responsabili della definizione dell'architettura software, delle strutture dati e delle interfacce del sistema.
Impresa temporanea intrapresa per creare un prodotto, servizio o risultato unico, vincolata da limiti di tempo, costi e risorse.
Professionisti tecnici che traducono le specifiche di progettazione in codice sorgente funzionante ed eseguibile.
Associazione professionale leader mondiale per la gestione dei progetti, nota per lo sviluppo di standard, certificazioni e ricerca nel campo.
Disciplina che si occupa di progettare e ottimizzare gli input testuali forniti ai modelli di intelligenza artificiale generativa per ottenere output precisi e pertinenti.
Realizzazione sperimentale ridotta volta a dimostrare la fattibilità tecnica di un'idea o di un metodo prima dello sviluppo completo.
Organizzazione o entità che presenta la richiesta o il capitolato iniziale per la realizzazione di un progetto.
Linguaggio di programmazione ad alto livello, interpretato e versatile, noto per la sua leggibilità e ampiamente utilizzato nello sviluppo di agenti e intelligenza artificiale.
Grado in cui un insieme di caratteristiche intrinseche di un oggetto soddisfa i requisiti stabiliti.
Libreria JavaScript dichiarativa ed efficiente per la costruzione di interfacce utente interattive basate su componenti.
Azione correttiva intrapresa per risolvere vulnerabilità di sicurezza, bug o difetti identificati nel sistema.
Archivio centralizzato per l'archiviazione e la gestione dei dati, del codice sorgente e della documentazione, con supporto per il versionamento.
Milestone che segna il consolidamento dei requisiti iniziali e la definizione dell'architettura tecnologica di base del progetto.
Funzionalità che apportano valore aggiunto al prodotto ma la cui omissione non ne pregiudica l'accettazione o l'utilità fondamentale.
Specifiche che definiscono gli attributi qualitativi del sistema, come prestazioni, affidabilità, sicurezza e manutenibilità.
Condizioni che impongono limiti alle decisioni progettuali o implementative, come l'uso di specifici standard, tecnologie o normative legali.
Dichiarazioni che descrivono i comportamenti specifici, le funzioni o i servizi che il sistema deve obbligatoriamente fornire.
Criteri che specificano come il sistema deve comportarsi piuttosto che cosa deve fare, ponendo vincoli sulle sue operazioni.
Funzionalità essenziali e irrinunciabili che il sistema deve possedere per essere considerato conforme e accettabile.
Funzionalità accessorie che possono essere implementate solo se le risorse e i tempi lo permettono, senza impattare sugli obiettivi primari.
Persona incaricata della guida del team e della responsabilità complessiva per la pianificazione, l'esecuzione e la chiusura del progetto.
Ruolo specifico focalizzato sul coordinamento delle risorse, sulla gestione delle comunicazioni con gli stakeholder e sul rispetto dei vincoli di progetto.
Evento o condizione incerta che, se si verifica, ha un effetto positivo o negativo su uno o più obiettivi del progetto.
L'insieme del personale coinvolto nel progetto, considerato in termini di competenze, disponibilità e organizzazione.
Tecnica di pianificazione iterativa in cui il lavoro imminente è pianificato in dettaglio, mentre il lavoro futuro è pianificato a un livello superiore, dettagliandolo progressivamente man mano che il progetto avanza.
Processo di determinazione delle date di inizio e fine previste per le attività di progetto, creando una sequenza temporale logica.
Sistema composto da molteplici agenti intelligenti che interagiscono per risolvere problemi che sono difficili o impossibili per un singolo agente o sistema monolitico.
Insieme integrato di componenti software organizzati per realizzare una serie specifica di funzionalità.
Identificativo del gruppo di lavoro universitario incaricato dello sviluppo del progetto Code Guardian.
Piattaforma di messaggistica basata su canali, progettata per facilitare la comunicazione e la collaborazione all'interno dei team.
Insieme di attività pianificate e sistematiche necessarie per fornire adeguata confidenza che i processi e i prodotti soddisfino i requisiti di qualità.
Intervallo di tempo prefissato e breve all'interno delle metodologie agili durante il quale viene completato un incremento di lavoro specifico e utilizzabile.
Chiunque abbia un interesse nel progetto o ne sia influenzato, inclusi clienti, team di sviluppo, utenti finali e fornitori.
Valutazione periodica che misura il progresso fisico ed economico del progetto rispetto alla pianificazione iniziale.
Previsione quantitativa delle probabili quantità di risorse, costi o tempi richiesti per completare le attività di progetto.
Fase dello sviluppo del team caratterizzata da conflitti interpersonali e resistenza alle influenze del gruppo, mentre si stabiliscono ruoli e processi.
Professionista che si occupa della creazione, del testing e della manutenzione del codice che costituisce le applicazioni software.
Metafora usata per descrivere persone che hanno competenze profonde in una specifica area (barra verticale) e competenze generali in altre aree (barra orizzontale), favorendo la collaborazione interdisciplinare.
Attività lavorativa elementare e definita, assegnabile a una risorsa e necessaria per contribuire al completamento di un pacchetto di lavoro.
Servizio di messaggistica istantanea basato su cloud, focalizzato su velocità e sicurezza.
Fase di collaudo condotta per determinare se il sistema soddisfa i criteri di accettazione e per permettere all'utente di decidere se accettare il sistema.
Test condotti su un sistema completo e integrato per valutare la conformità del sistema ai requisiti specificati.
Verifica della più piccola parte testabile di un'applicazione (come funzioni o metodi) in isolamento dal resto del codice.
Strumento di supporto per l'editor Visual Studio Code che fornisce funzionalità di anteprima e assistenza per il linguaggio Typst.
Superset tipizzato di JavaScript che compila in JavaScript puro, aggiungendo tipizzazione statica opzionale per migliorare la robustezza del codice.
Sistema di composizione tipografica basato su markup, moderno e performante, progettato come alternativa user-friendly ai sistemi tradizionali.
Linguaggio standardizzato di modellazione visuale utilizzato per specificare, costruire e documentare gli artefatti di un sistema software.
Riferimento a una risorsa web che specifica la sua posizione su una rete di computer e il meccanismo per recuperarla.
Individuo che interagisce con il software per eseguire compiti o accedere a informazioni.
Editor di codice sorgente sviluppato da Microsoft, altamente estensibile e ampiamente utilizzato nella comunità di sviluppo.
Processo di valutazione di un sistema o componente durante o alla fine del processo di sviluppo per determinare se soddisfa i requisiti specificati dall'utente.
Impresa committente che ha definito il capitolato e i requisiti per il progetto Code Guardian.
Processo di valutazione di un sistema o componente per determinare se i prodotti di una data fase di sviluppo soddisfano le condizioni imposte all'inizio di quella fase.
Membri del team responsabili dell'esecuzione delle procedure di test per identificare difetti e assicurare la qualità del prodotto.
Editor di codice sorgente leggero ma potente, che supporta il debugging, l'evidenziazione della sintassi e il controllo Git integrato.
Insieme concordato di pratiche, strumenti e valori che un team adotta per collaborare efficacemente e gestire il proprio lavoro.
Programma applicativo memorizzato su un server remoto e distribuito attraverso Internet tramite un'interfaccia browser.
Applicazione di messaggistica multipiattaforma che consente agli utenti di comunicare tramite Internet.