Lezione 4 – Relazioni tra casi d’uso Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi di Milano Relazioni tra casi d’uso • Per una rappresentazione più chiara e compatta dell’insieme dei casi d’uso di un sistema si possono utilizzare (UML 1999) tre tipi di relazioni – Usa – Estende – Generalizza La relazione <usa> La relazione <usa> dice che una data sequenza di comportamenti è una sottosequenza di un’altra. Prelevamento Contanti <usa> Autenticazione La relazione <estende> (1) La relazione <estende> fornisce un metodo per catturare le varianti di un caso d’uso. Prelevamento Contanti <estende> Contante esaurito <estende> Credito esaurito La relazione <estende> (2) Spesso le estensioni vengono utilizzate per specificare i passi che bisogna percorrere per reagire al fatto che una delle ipotesi si dimostri falsa. Un esempio Un esempio con <usa> ed <estende> Prelevamento Contanti <estende> Contante esaurito <estende> Credito esaurito <usa> Autenticazione La relazione <generalizza> (1) Una relazione di generalizzazione tra casi d’uso implica che il caso d’uso figlio contenga tutti gli attributi, le sequenze comportamentali e i punti d’estensione definiti nel caso d’uso genitore e partecipi a tutte le sue relazioni. La relazione <generalizza> (2) Il caso d’uso figlio può • Definire nuove sequenze comportamentali • Aggiungere comportamenti al caso d’uso genitore • Specializzare comportamenti esistenti per il genitore, passando ad un diverso livello di astrazione FINE