Fondamenti di Ingegneria del Software: Architettura, Metodologie e Best Practice
Classificato in Informatica
Scritto il in
italiano con una dimensione di 4,68 KB
8) Perché utilizzare il modello di architettura 4+1?
Il modello di architettura 4+1 serve a fornire una panoramica completa del sistema da costruire attraverso diversi punti di vista: logico, di processo, di sviluppo e fisico, oltre agli scenari d'uso. Inoltre, il modello 4+1 ha il vantaggio di essere generico e adattabile a diverse esigenze.
9) In che modo questo modello aiuta nella progettazione?
Aiuta a progettare in quanto facilita la comprensione del comportamento del sistema. Attraverso la progettazione dei componenti e le specifiche dettagliate di questi, permette di soddisfare pienamente i requisiti funzionali prefissati.
10) Come scegliere la metodologia di costruzione?
La metodologia di costruzione dipenderà dal tipo di problema o dal sistema da trattare, dall'ambiente in cui si svilupperà e da altri fattori contestuali. Pertanto, il criterio di scelta è fondamentale. A seconda delle necessità, si può optare per:
- Rational Unified Process (RUP)
- CMMI
- Scrum (e altre metodologie Agile)
11) Perché usare gli standard di documentazione? Sono necessari?
Gli standard di documentazione vengono utilizzati perché facilitano la comprensione e migliorano le prestazioni del sistema. Sebbene non siano obbligatori, rappresentano una buona pratica essenziale nel settore.
12) Perché è importante stimare un progetto iniziale? È possibile farlo con certezza?
Nessun progetto può essere stimato con un grado assoluto di certezza; esisteranno sempre fattori che cambiano nel tempo, poiché ogni progetto è unico nella sua classe. Tuttavia, una stima iniziale è fondamentale per il cliente, poiché permette di comprendere l'investimento economico necessario e le tempistiche previste per la consegna.
13) L'importanza della tracciabilità nel processo di costruzione del software
La tracciabilità è essenziale in un progetto poiché permette un monitoraggio completo del sistema. Grazie ad essa è possibile:
- Correggere gli errori più facilmente.
- Verificare che tutte le funzionalità attese siano state incluse.
- Effettuare un'analisi d'impatto efficace.
In sintesi, la tracciabilità garantisce un prodotto di qualità al cliente finale, assicurando una manutenzione semplice e la possibilità di aggiungere nuove funzionalità in futuro.
14) Qual è la differenza tra il Project Manager e l'Architetto del Software?
L'Architetto del Software è colui che definisce la visione architettonica di un'applicazione, creando la struttura corretta per un determinato progetto e guidandone il design. Al contrario, il Project Manager è la figura che gestisce, coordina e controlla il corretto andamento e la marcia del progetto a livello organizzativo.
15) Competenze e abilità chiave di un Architetto-Designer
- Comprendere il dominio aziendale: Deve conoscere lo spazio di attività caratterizzato dai concetti e dalla terminologia dei professionisti del settore, sapendo immaginare e anticipare i probabili cambiamenti delle esigenze.
- Conoscere i principali stakeholder: È fondamentale capire cosa vogliono e di cosa hanno bisogno, mantenendo con loro una comunicazione costante ed efficace.
- Identificare stili e tecnologie: Deve essere in grado di individuare gli stili architettonici e le tecnologie più appropriate per risolvere il problema, proponendo una soluzione preliminare valida.
16) La differenza tra Architettura e Design
La differenza risiede nel livello di astrazione: l'Architettura rappresenta un livello generale di modellazione (alto livello) in cui si definiscono i componenti necessari del sistema. Il Design, invece, riguarda specifiche avanzate di basso livello, strettamente legate alla codificazione e all'implementazione tecnica.
17) Cos'è stata la crisi del software?
La crisi del software si riferisce al periodo in cui i prodotti software non solo non soddisfacevano i requisiti o le esigenze del cliente, ma superavano sistematicamente il budget e i tempi previsti. Questo fenomeno era dovuto alla mancanza di un'analisi e di una progettazione adeguate, oltre all'assenza di tracciabilità, rendendo la manutenzione dei sistemi eccessivamente costosa.