Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi di Milano Lezione 18 – Tecniche di descrizione architetturale
Rendere comprensibili le descrizioni di architetture software (1) Introduzione (1) L’architettura software descrive un sistema software Le descrizioni architetturali sono informali e diagrammatiche Spesso si usano box e linee: ambiguità – Per un sistema possono significare filtri e pipe – Per un altro sistema box oggetti e linee o tipi di dati astratti chiamate di procedura
Rendere comprensibili le descrizioni di architetture software (2) Introduzione (2) Convenzioni grafiche diverse usate per descrivere più di un tipo di componente o connessione in un singolo sistema Stereotipi usati in tutte le descrizioni architetturali
Come usare gli stereotipi Definire il modello semantico Discutere la sintassi concreta per facilitare la leggibilità delle descrizioni sintattiche Definire la corrispondenza (mapping) dalla sintassi astratta al modello semantico Rendere espliciti i vincoli sulla sintassi
Sintassi astratta di architetture software (1) Componente – Il rapporto astratto tra il componente e il suo ambiente è definito come un insieme di porte o punti d’interazione: [PORT, COMPDESC]
Sintassi astratta di architetture software (2) Connettori – Il connettore ha un’interfaccia che consiste in un insieme di ruoli: [ROLE, CONNDESC]
Sintassi astratta di architetture software (3) Le istanze di componenti e connettori sono identificate denominando elementi dalla classe sintattica – [COMPNAME, CONNNAME] – PortInst == COMPNAME x PORT – RoleInst == CONNNAME x ROLE
Fase 1 (1) Definire il modello semantico
Fase 1 (2) Definire il modello semantico
Fase 2 Definire la sintassi concreta
Fase 3 Mapping dalla sintassi astratta al modello semantico
Fase 4 Evidenziare i vincoli sulla sintassi
Vantaggi Fornisce un modello per formalizzare nuovi stili architetturali in modo uniforme Fornisce criteri uniformi per dimostrare che i vincoli notazionali su uno stile siano sufficienti per fornire significati per tutti i sistemi descritti Rende possibile una base semantica unificata attraverso cui interpretazioni stilistiche diverse possono essere confrontate FINE