Cos’è la progettazione del software?

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:

  1. 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.
  2. 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

main-qimg-b7c5ca7e94f3eed55a7bd2be002d0ce2