Prodotto di lavoro: Documento dell'architettura software
Questo prodotto di lavoro fornisce una panoramica completa dell'architettura del sistema, tramite una serie di viste strutturate differenti, per descrivere i diversi aspetti del sistema.
Scopo

Il documento dell'architettura software fornisce una panoramica completa dell'architettura del sistema software. Funge da mezzo di comunicazione fra l'architetto software e gli altri membri del team del progetto riguardo ad importanti decisioni strutturali prese per il progetto.

Relazioni
RuoliResponsabile: Modificato da:
Input inObbligatorio:
  • Nessuno
Facoltativo: Esterno:
  • Nessuno
Output di
Proprietà
Facoltativo
PianificatoYes
Illustrazioni
Personalizzazione
Opzioni di rappresentazioneRappresentazione UML: diverse viste strutturali pertinenti: Caso d'uso, Logica, Processo, Distribuzione, Implementazione, Dati.

È necessario regolare la struttura del Documento dell'architettura software per adattarlo alla natura del proprio software:

  • Alcune delle viste strutturali potrebbero non essere rilevanti:
    • La Vista di distribuzione non è necessaria per sistema a CPU singola.
    • La Vista del processo non è necessaria se il sistema utilizza solo un thread singolo di controllo.
    • La Vista dati non è necessaria a meno che la persistenza dell'oggetto è un aspetto significativo del sistema e il meccanismo di persistenza richiede un'associazione tra oggetti persistenti e non persistenti.
  • Alcuni aspetti specifici del software potrebbero richiedere la propria sezione; ad esempio, gli aspetti relativo alla gestione dei dati o ai problemi di usabilità.
  • Potrebbero essere necessarie altre appendici per spiegare determinati aspetti, come la logica di determinate scelte importanti insieme alle soluzioni che sono state eliminate, o per definire gli acronimi o le abbreviazioni, o per presentare i principi di progetto generali.
  • L'ordine delle diverse sezioni potrebbe variare, in base agli stakeholder del sistema e alla loro attenzione o interesse.

Vengono di seguito riportati i vantaggi o gli svantaggi di ogni vista strutturale:

Vista dei casi d'uso

Questa vista è obbligatoria.

Vista logica

Questa vista è obbligatoria.

Vista dei processi

Questa vista è facoltativa. Utilizzare questa vista solo se il sistema ha più di un thread di controllo e i thread separati interagiscono o sono dipendenti l'uno dall'altro.

Vista distribuzione

Questa vista è facoltativa. Utilizzare questa vista solo se il sistema è distribuito su uno o più nodi. Anche in questi casi, utilizzare la vista di distribuzione solo dove la distribuzione ha implicazioni strutturali. Ad esempio, in casi in cui c'è un server singolo e molti client, una vista di distribuzione deve solo delineare le responsabilità del server e dei client come classe di nodi; non è necessario mostrare ogni nodo del client se hanno tutti le stesse caratteristiche.

Vista di implementazione

Questa vista è facoltativa. Utilizzare questa vista solo nei casi in cui l'implementazione non è strettamente guidata dal progetto, ad es. dove c'è una diversa distribuzione di responsabilità tra i pacchetti corrispondenti nei modelli del progetto e dell'implementazione. Se il Pacchetto di progettazione e i modelli di implementazione sono identici, questa vista può essere omessa.

Vista dati

Questa vista è facoltativa. Utilizzare questa vista solo se la persistenza è un aspetto significativo del sistema e la traduzione dal Modello di progetto al Modello di dati non è eseguita in modo automatico dal meccanismo di persistenza.



Ulteriori informazioni