La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.

Presentazioni simili


Presentazione sul tema: "Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi."— Transcript della presentazione:

1 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 15 – Complementi sul linguaggio Z (1)

2 Specificazione di modello astratto Descrive esplicitamente il comportamento di un sistema nei termini di un modello, usando tipi ben definiti (sequenze, relazioni, funzioni), e definisce le operazioni mostrando gli effetti sul modello La specificazione include: – tipo: natura dell’oggetto specificato – modello: struttura sottostante – invariante: proprietà dell’oggetto modellato – pre/post condizioni: semantica delle operazioni

3 Notazione Viene usata per testare i risultati È indipendente dal codice di programma Si basa su un modello matematico Rappresenta aspetti sia statici sia dinamici di un sistema

4 Caratteristiche (notazione Z) Scomporre la specificazione in piccole parti (schemi) Gli schemi vengono usati per descrivere gli aspetti sia statici sia dinamici del sistema Si possono ignorare i dettagli per focalizzarsi sugli aspetti del problema che interessano

5 Schema (1) Aspetti statici Lo stato in cui si trova il sistema I predicati invarianti che vengono mantenuti mentre il sistema si muove da stato a stato

6 Schema (2) Aspetti dinamici Le operazioni che sono possibili Il rapporto tra input e output Il cambiamento di stato che si verifica in seguito a una transizione

7 Esempio di notazione

8 Esempio (1)

9 Esempio (2)

10 Race condition Non abbiamo gestito la condizione quando l’utente cerca di aggiungere un compleanno, che è già noto al sistema o cerca di trovare il compleanno di qualcuno che è sconosciuto Si gestisca ciò aggiungendo un risultato extra! A ogni operazione Risultato := of| already_known | not_known FINE


Scaricare ppt "Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi."

Presentazioni simili


Annunci Google