Read Aloud the Text Content
This audio was created by Woord's Text to Speech service by content creators from all around the world.
Text Content or SSML code:
PROGETTAZIONE DEL SOFTWARE. 1. Nell'orientamento agli oggetti, una classe dovrebbe essere progettata per rappresentare... cosa? Risposta. cosa è un'entità. 2. Un'implementazione sufficiente di un componente software è quella che... Risposta. …cattura le caratteristiche della sua astrazione, che sono necessarie per un'interazione significativa ed efficiente. 3. Un'implementazione completa di un componente software è quella che... Risposta. …cattura TUTTE le caratteristiche della sua astrazione. 4. Un'implementazione primitiva di un componente software è quella che... Risposta. …non può essere realizzata senza accedere alle caratteristiche interne della sua astrazione. 5. Principio di responsabilità unica o SRP. Definire brevemente... Risposta. …Il principio per cui i componenti software devono essere sviluppati in modo da rispondere ai requisiti di un singolo ruolo. 6. Principio di apertura-chiusura o OCP. Definire brevemente... Risposta. …Il principio per cui i componenti software devono essere sviluppati in modo da poterne estendere le funzionalità senza modificarne l'implementazione. 7. Principio di sostituzione di Liskov o LSP. Definire brevemente... Risposta. …Principio che si riferisce a relazioni di sottotipizzazione la cui natura è semantica piuttosto che puramente sintattica. 8. Principio di Segregazione dell'Interfaccia o ISP. Definire brevemente... Risposta. …Principio per il quale la relazione di dipendenza convenzionale tra moduli di alto livello (policy) e moduli di basso livello (meccanismi) viene invertita, rendendo così i moduli di livello superiore indipendenti dalle implementazioni dei moduli di livello inferiore. 9. Principio dell'inversione di dipendenza o DIP. Definire brevemente... Risposta. …Un principio per il quale la relazione di dipendenza convenzionale tra i moduli di livello alto (politica) e quelli di livello basso (meccanismo) viene invertita, rendendo così i moduli di livello superiore indipendenti dalle implementazioni dei moduli di livello inferiore. 10. Incapsulamento. Definire brevemente... Risposta. …Un dispositivo del linguaggio di programmazione che consente di raggruppare i dati e i metodi/funzioni che operano su tali dati. 11. L'information hiding è un principio di progettazione che mira a nascondere... cosa esattamente? Risposta. Le decisioni di progettazione che hanno maggiori probabilità di cambiare. 12. Progettazione architettonica. Definire brevemente... Risposta. …il processo (come serie di decisioni) che identifica i principali componenti strutturali di un sistema e le loro relazioni. 13. La misura della forza delle relazioni tra gli elementi di un modulo si chiama... Risposta. coesione 14. Accoppiamento. Definire brevemente. Risposta. Il grado di interdipendenza tra i moduli software. 15. Un approccio funzionale alla decomposizione del sistema è indicato in quale tipo di contesto? Risposta. In un contesto stabile (cioè in cui i requisiti sono stabili). 16. Un approccio orientato agli oggetti alla decomposizione del sistema è indicato in quale tipo di contesto? Risposta. In un contesto complesso (cioè in cui i requisiti sono instabili e/o in evoluzione). 17. Il software è soggetto a continui cambiamenti. Per questo motivo vogliamo progettare componenti che, una volta modificati, permettano di minimizzare... cosa esattamente? Risposta. Il numero di modifiche ai componenti correlati. 18. Il modello OSI è un esempio del principio fondamentale di progettazione chiamato Separation of Concerns (SoC). Che tipo di architettura viene utilizzata? Risposta. Un'architettura a più livelli. 19. Nell'orientamento agli oggetti, l'ereditarietà è in qualche modo in conflitto con l'accoppiamento libero. Perché? Risposta. Perché in una struttura di ereditarietà genitore-figlio le modifiche apportate al genitore si ripercuotono direttamente e inevitabilmente sul figlio (in contrasto con l'ideale dei componenti ad accoppiamento libero). 20. "Programmare su un'interfaccia, piuttosto che su un'implementazione". Elaborare brevemente... Risposta. I componenti software dovrebbero essere accoppiati a contratti (cioè interfacce) piuttosto che a concrezioni (cioè implementazioni), in modo che queste ultime possano variare e/o essere sostituite liberamente, rendendo il progetto più flessibile e più facile da evolvere. 21. Polimorfismo. Definire brevemente... Risposta. La fornitura di un'unica _interfaccia_ a entità di diversi _tipi_. 22. Nell'orientamento agli oggetti, un'interfaccia dovrebbe essere progettata per rappresentare... cosa? Risposta. cosa fa un'entità.