Design - marconivr/2020-2022-T-CI GitHub Wiki

Design

Indice


Introduzione

Ciclo di vita del software

Con il termine “ciclo di vita” del software ci si riferisce alle fasi attraversate da un progetto software durante la sua evoluzione, dall’idea iniziale alla manutenzione. Il risultato finale è il prodotto software stesso, accompagnato da tutta la documentazione ad esso associata.

Esso è strutturato graficamente e diviso in 9 blocchi o 4 aree.

Design

Nell'attività di progettazione si definiscono le linee essenziali della struttura del prodotto software in funzione dei requisiti evidenziati dall'analisi. Anche la progettazione può essere scomposta in sottoattività, dal progetto architetturale al progetto dettagliato. Si può dire che la progettazione ha lo scopo di definire la soluzione del problema e in questa fase sarà sviluppato un documento che permetterà di avere una definizione di massima della struttura (architettura di alto livello) e una definizione più dettagliata delle caratteristiche dei singoli componenti.

Rappresentazione grafica

La fase di progettazione (Design)

Progettazione

Partendo dall’output della fase di analisi, che deve essere preciso e privo di ambiguità, la fase di progettazione definisce le istruzioni operative per la realizzazione del progetto (dettagli implementativi). Le istruzioni devono avere il giusto livello di dettaglio ed essere raccolte in documenti opportunamente strutturati. La progettazione tiene conto anche di tutti i fattori relativi all’utilizzo di una tecnologia concreta e quindi, a differenza dell’analisi, la progettazione non può essere svolta indipendentemente dalla tecnologia utilizzata. Durante la progettazione devono anche essere definiti tutti gli aspetti necessari per una implementazione non ambigua.

Strumenti utilizzati

Uno strumento molto usato nella progettazione è il diagramma di flusso, oppure un diagramma UML. Entrambi gli strumenti servono a realizzare la scomposizione delle attività da compiere in elementi sempre più piccoli che possano essere facilmente implementati.

Attività

Pertanto, la progettazione di un’applicazione è composta dalle attività per individuare la soluzione implementativa migliore rispetto agli obiettivi funzionali, a quelli non funzionali ed ai vincoli. Queste attività possono essere di varia natura, possono essere svolte in tempi e modi diversi in base all’approccio seguito, ma in generale aiutano progettisti e team di sviluppo a prendere decisioni importanti, spesso di natura strutturale.

Risultato

Il risultato della progettazione è la definizione dell’architettura del sistema, quindi l’organizzazione strutturale del sistema stesso, che comprende i suoi componenti software e le relazioni fra le parti.