Corso: Documentare le architetture software

Descrizione:

La documentazione dell’architettura di un sistema software agevola la comunicazione tra i ruoli coinvolti in un progetto, particolarmente quando le persone si trovano in luoghi diversi, appartengono a società o unità organizzative diverse, o devono intervenire sul sistema in momenti successivi.

La documentazione architetturale deve specificare l’organizzazione interna del sistema in “parti” distinte (sottosistemi, componenti) e le modalità con cui tali “parti” interagiscono tra loro per fornire le funzionalità complessive, oltre alle tecnologie usate per l’implementazione e l’esecuzione.

Per la documentazione delle architetture software è da alcuni anni disponibile uno standard – UML, Unified Modeling Language. Il corso si focalizza esclusivamente
sugli elementi di UML utili per documentazioni delle architetture di sistema e software (per una trattazione completa di UML, fare riferimento al corso Analisi e progettazione del software con UML).

Durante il corso viene proposta ai partecipanti una serie di esercitazioni pratiche sulla base di un caso studio integrato.


Destinatari:

  • architetti software
  • analisti
  • progettisti e sviluppatori software

Prerequisiti:

Nessuno.


Contenuti:

Cos’è l’architettura, e quali forze la determinano

  • Architettura del sistema, architettura del software
  • Requisiti (funzionali e non-funzionali) e architettura
  • Documentazione come strumento di comunicazione

Architettura e organizzazione del progetto

  • L’organizzazione si adatta all’architettura? O l’architettura all’organizzazione?
  • Ruoli coinvolti nelle scelte architetturali
  • L’architettura nei processi di sviluppo a cascata, iterativi ed agili

Standard per la rappresentazione architetturale

  • Viste architetturali
  • Panoramica su UML (Unified Modeling Language)
  • Altre notazioni

Rappresentazione del contesto del sistema

  • Interazione con sistemi esterni e funzionalità: diagramma dei casi d’uso

Macro architettura applicativa

  • Scomposizione in sottosistemi e componenti: diagramma dei componenti, diagramma strutture composite

Aspetti strutturali

  • Concetti del dominio e diagramma delle classi
  • Rappresentazione dello schema dei dati

Aspetti dinamici e comportamentali

  • Responsabilità e collaborazioni: diagrammi di interazione
  • Ciclo di vita: diagramma di stato
  • Dettaglio della logica applicativa: diagramma di attività
  • Rappresentazione dello schema di navigazione interfaccia utente
  • Rappresentazione di servizi

Il deployment


Durata: 3 giorni