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

Slides:



Advertisements
Presentazioni simili
Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Advertisements

Procedure e funzioni A. Ferrari.
Universita di Camerino
Linguaggi di programmazione
Specifiche Algebriche
Metodologie di Programmazione = decomposizione basata su astrazioni
Lez. 41 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
Unità Didattica 1 Algoritmi
Unità Didattica 2 I Linguaggi di Programmazione
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 2 - Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 4 – Le transazioni.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 -Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 2 –
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 -eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 3 –
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Reti di calcolatori Modulo 1 -Tecniche di comunicazione digitale Unità didattica 4 – Interconnessione tra reti locali Ernesto Damiani Università di Milano.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 1 Cicli ed asserzioni Corso di Informatica 2 a.a. 2003/04 Lezione 1.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 - Gestione della configurazione software Ernesto Damiani Università.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 – Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 1 -Introduzione alle metriche Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 1 -Introduzione alle metriche Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 -Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 3 – Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 5 – Demarcazione.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
1 Metodologie di Programmazione = decomposizione basata su astrazioni.
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 – eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 1.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 -I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 2 -Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 5 -Test e verifica Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 – Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 - Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 2 -Il software come prodotto Unità didattica 2 - I costi del software Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria dei requisiti Modulo 1 -Introduzione al processo software Unità didattica 2 - Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Transcript della presentazione:

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 14 – Linguaggi di specifica formale

Specifica formale Spesso non è facile capire la semantica di un programma direttamente dal codice Serve la descrizione del comportamento che non è facile ottenere con i modelli visti in precedenza Esempio – Cosa fa questo programma: int f(int a) {int i,term,sum; term=1;sum=1; for (i=0;sum<=a;i++){ term=term+2; sum=sum+term:} return i; }

Linguaggi di specifica Sono linguaggi per la descrizione del comportamento dei programmi Possono essere usati in fase di analisi (specifica); più spesso si usano come documentazione di software scritto in linguaggi eseguibili Obiettivo: dimostrare formalmente che un programma ha o non ha una certa proprietà o comportamento – Esempio: esaurimento memoria

Il linguaggio Z Proposto da J. R. Abrial nel 1977, oggi uno standard ISO Utilizzato all’IBM per il progetto CICS Basato sulla notazione matematica degli insiemi e sulla logica del primo ordine

Definizione assiomatica in Z f N->N _________  a  N f(a)*f(a)<=a<(f(a)+1)(f(a)+1) f N->N corrisponde a int f(int ) ma dice anche che f non è definita sui negativi e che il valore di ritorno sarà sempre positivo aN f(a)*f(a)<=a<(f(a)+1)(f(a)+1) corrisponde al corpo della funzione, e fornisce una definizione non-costruttiva della funzione stessa la funzione è specificata tramite un invariante, cioè un predicato sempre vero

Un text editor: esempio di schema Z (1)

Un text editor: esempio di schema Z (2) Stato: contenuto della memoria del sistema Schema di stato: invarianti che riguardano lo stato

Schema di inizializzazione Stato iniziale del sistema In Z si chiama convenzionalmente Init ___ Init ____ Editor ___________ Left=right=<> Stato: Init include Editor nella parte dichiarativa. Gli invarianti di Editor si applicano anche a Init

Schemi operativi Gli schemi operativi modellano le variazioni degli stati FINE