Domande e risposte sulla programmazione
Ciclo di vita del software
Cosa rappresenta il ciclo di vita del software?
L'insieme delle fasi necessarie per lo sviluppo, la manutenzione e la dismissione di un sistema software.
Manutenzione e debugging
Cosa significa "manutenzione correttiva" nel contesto del software?
Correggere errori o malfunzionamenti riscontrati dopo il rilascio del software.
Cos'è il debugging?
Il processo di identificazione e rimozione di errori o bug dal codice.
Sistemi distribuiti e version control
Qual è la principale caratteristica di un sistema distribuito?
L'elaborazione è suddivisa tra più computer che lavorano insieme.
In cosa consiste il version control nel software?
Nella gestione delle modifiche apportate al codice sorgente nel tempo.
Progettazione e Agile
Qual è lo scopo della fase di progettazione del software?
Creare un modello che descriva come il sistema software sarà implementato.
Qual è il vantaggio principale dell'approccio Agile rispetto al modello a cascata?
La flessibilità nel rispondere ai cambiamenti nei requisiti durante lo sviluppo.
Modularità e programmazione orientata agli oggetti
Che cosa si intende per modularità nel contesto della programmazione?
La scomposizione di un sistema complesso in componenti indipendenti e riutilizzabili.
Quale di questi non è un principio della programmazione orientata agli oggetti?
Codifica diretta
UML e Continuous Delivery
Cosa descrive un diagramma di classi UML?
Le classi, gli attributi e i metodi, e le relazioni tra le classi.
Cos'è il Continuous Delivery nel contesto dello sviluppo software?
Un processo che assicura che il software possa essere rilasciato in produzione in qualsiasi momento.
Refactoring e iterazioni Agile
Qual è il significato di "refactoring" del codice?
Ristrutturare il codice per migliorare leggibilità e mantenibilità senza modificarne il comportamento.
Cosa rappresenta un'iterazione nel contesto dello sviluppo Agile?
Un ciclo di lavoro durante il quale un insieme di funzionalità viene completato.
Diagrammi UML e Java
Cos'è un diagramma di attività in UML?
Una rappresentazione grafica del flusso di lavoro o di un processo all'interno del sistema.
In Java, qual è il tipo di dato che può memorizzare solo valori true o false?
boolean
Overloading e DRY
Cosa si intende per "overloading" in programmazione?
La definizione di più metodi con lo stesso nome ma con parametri diversi.
Qual è il principio del DRY (Don't Repeat Yourself) nella programmazione?
Evitare la duplicazione di codice, preferendo il riutilizzo.
Ereditarietà e design patterns
Che cosa rappresenta il concetto di ereditarietà nella programmazione orientata agli oggetti?
La capacità di una classe di ereditare proprietà e comportamenti da un'altra classe.
In cosa consiste il pattern "singleton"?
Garantisce che una classe abbia solo un'istanza e fornisca un punto di accesso globale ad essa.
Metodi Java e framework
In cosa differisce il metodo "public" da "private" in Java?
I metodi pubblici possono essere richiamati da qualsiasi classe, mentre i privati solo all'interno della stessa classe.
Cos'è un framework?
Una collezione di librerie e strumenti che fornisce una struttura predefinita per sviluppare applicazioni software.
Programmazione funzionale e polimorfismo
Quale di questi è un linguaggio di programmazione funzionale?
Haskell
In cosa consiste il concetto di polimorfismo in programmazione orientata agli oggetti?
La capacità di utilizzare metodi con lo stesso nome in contesti diversi.
Java e test software
Cos'è il "garbage collection" in Java?
Un processo che libera automaticamente la memoria occupata dagli oggetti non più utilizzati.
Qual è l'obiettivo dei test unitari?
Verificare il corretto funzionamento di singole unità o componenti del software.
Ciclo di vita del software e deploy
In che modo il ciclo di vita di un software differisce dal ciclo di vita di un progetto software?
Il ciclo di vita del software copre l'intero periodo dall'ideazione alla dismissione, mentre quello del progetto copre solo la sua realizzazione.
Cosa si intende per "deploy" di un'applicazione?
Il processo di distribuzione e messa in funzione dell'applicazione in un ambiente operativo.
Agile e database
Cosa rappresenta un "sprint retrospective" nel contesto Agile?
Una riunione alla fine di ogni sprint per riflettere sul lavoro svolto e migliorare il processo.
Cos'è un database relazionale?
Un database che memorizza i dati in tabelle e usa chiavi per creare relazioni tra di esse.
Principi di programmazione e diagrammi
Qual è il principio del KISS (Keep It Simple, Stupid) nella programmazione?
Mantenere il codice semplice e facile da comprendere per evitare complessità non necessarie.
In cosa differisce un diagramma di flusso da un diagramma di attività?
Un diagramma di flusso rappresenta il processo in modo generico, mentre un diagramma di attività si concentra sulle azioni in un sistema software.
Interfacce Java e ORM
Qual è il vantaggio dell'uso di interfacce in Java?
Permettono di definire un contratto che le classi implementeranno, favorendo la modularità e il riutilizzo.
Cos'è l'Object-Relational Mapping (ORM)?
Una tecnica che permette di convertire dati tra sistemi di tipo orientato agli oggetti e database relazionali.
Build e pair programming
Qual è lo scopo di una "build" in un progetto software?
Compilare il codice sorgente e generare un eseguibile pronto per essere eseguito.
In cosa consiste il concetto di "pair programming"?
Due programmatori lavorano insieme su un unico computer: uno scrive il codice, l'altro lo rivede in tempo reale.
Scrum e diagrammi UML
Cos'è un "backlog" in Scrum?
L'elenco ordinato delle funzionalità, miglioramenti e correzioni di bug da sviluppare in un progetto.
Che cosa rappresenta un diagramma di deployment in UML?
La mappa della distribuzione fisica di un sistema software su un'infrastruttura hardware.
Refactoring e dipendenze
Qual è l'obiettivo principale del refactoring del codice?
Migliorare la struttura del codice senza modificarne il comportamento esterno.
Cos'è una dipendenza ciclica in un progetto software?
Un problema in cui due o più moduli si dipendono reciprocamente, creando un ciclo.
Continuous Integration e framework
In cosa consiste la Continuous Integration (CI)?
Integrare frequentemente il codice in un repository condiviso, con esecuzione automatica di test.
Qual è la differenza tra un framework e una libreria?
Un framework definisce la struttura generale di un'applicazione, mentre una libreria fornisce funzionalità specifiche.
Ciclo di vita e metodologie di sviluppo
Cos'è un ciclo di vita del software?
L'insieme delle fasi di sviluppo, test, rilascio e manutenzione di un prodotto software.
In cosa consiste la metodologia Waterfall?
Un modello di sviluppo sequenziale in cui ogni fase deve essere completata prima di passare alla successiva.
Pull request e bug
Che cos'è una pull request?
Una richiesta per fondere modifiche da un ramo di sviluppo in un altro nel controllo versione.
Qual è la differenza tra un bug e un difetto?
Un bug è un errore nel codice, mentre un difetto è una discrepanza tra il comportamento atteso e quello osservato.
Branching e Continuous Delivery
In cosa consiste il concetto di branching nel controllo di versione?
La creazione di un ramo separato di sviluppo per lavorare su nuove funzionalità senza influenzare il codice principale.
Qual è lo scopo della Continuous Delivery (CD)?
Garantire che il software sia sempre in uno stato pronto per essere rilasciato in produzione.
Build e DevOps
Cos'è una build nel contesto dello sviluppo software?
Il processo di compilazione del codice sorgente in un eseguibile pronto per l'esecuzione.
In cosa consiste il concetto di DevOps?
Una cultura che promuove la collaborazione tra i team di sviluppo e operazioni per migliorare la qualità e la velocità delle release.
Sviluppo iterativo e test di carico
Qual è la differenza tra sviluppo iterativo e sviluppo incrementale?
Lo sviluppo iterativo migliora progressivamente il sistema, mentre quello incrementale aggiunge funzionalità a ogni ciclo.
Cos'è un test di carico?
Un test che valuta le prestazioni del sistema sotto carico simulato per misurare la capacità di gestire il traffico.
Testing di integrazione e repository
Qual è lo scopo del testing di integrazione?
Verificare che i vari componenti o moduli del software funzionino correttamente insieme.
Cos'è un repository di codice?
Un archivio in cui il codice sorgente viene memorizzato, gestito e condiviso tra i membri del team.
Diagrammi di sequenza e attività
Qual è la differenza tra un diagramma di sequenza e un diagramma di attività?
Il diagramma di sequenza rappresenta l'interazione tra oggetti, mentre il diagramma di attività rappresenta il flusso di lavoro.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Paniere Community Management + Inedite
-
Paniere Semiotica generale + Inedite
-
Paniere di Ingegneria del software (2025) - Risposte multiple
-
Paniere completo di Ingegneria del software (2025) - Risposte multiple