Definizione di design del software
Il design del software è il processo di preparazione del piano di un'applicazione software mentre soddisfa i requisiti funzionali di un problema e non viola i suoi vincoli non funzionali. Durante questo processo, devono essere fatti dei compromessi, come il compromesso tra prestazioni e consumo di risorse, in modo che l'applicazione sia ottimizzata per soddisfare i requisiti non funzionali. Non ci possono essere compromessi tra i requisiti funzionali perché tutti devono essere soddisfatti.
Cosa (requisiti) vs come (design): Il processo di design converte il "cosa" nel "come".
Ci sono 2 fasi nel processo di design:
- Architectural Design - Il processo di suddivisione dell'app in componenti e l'assegnazione del comportamento/funzionalità ad ogni componente e il dettaglio di come i componenti interagiranno tra loro.
- Detailed Design - Il processo di scomposizione dei singoli componenti in classi e interfacce che possono essere implementate.
Ecco uno schema del ciclo di vita dell'analisi e progettazione orientata agli oggetti:
Le 2 fasi di progettazione sono evidenziate in blu