Testing. Definizioni. incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell uso di strumenti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Testing. Definizioni. incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell uso di strumenti"

Transcript

1 Definizioni Problemi del testing:criterio di selezione dei casi di test Test Funzionale: suddivisione in classi di equivalenza e analisi dei valori limite Test Strutturale: basato sul flusso di controllo e dei dati Valutazione dei risultati del testing Criterio di terminazione del testing Livelli di testing Test di programmi OO Pianificazione, Specifica, esecuzione e rapporto del test 1 Definizioni Errore (umano) incomprensione umana nel tentativo di comprendere o risolvere un problema, o nell uso di strumenti Difetto (fault o bug) Manifestazione nel software di un errore umano, e causa del fallimento del sistema nell eseguire la funzione richiesta Malfunzionamento (failure) incapacità del software di comportarsi secondo le aspettative o le specifiche un malfunzionamento ha una natura dinamica: accade in un certo istante di tempo e può essere osservato solo mediante esecuzione 2 1

2 Relazione fra Errore, Difetto e Malfunzionamento errore causa Difetto causa Malfunzionamento 1..* 1..* 1..* 3 Definizioni Il (collaudo) è un processo di esecuzione del software allo scopo di scoprirne i malfunzionamenti osservando i malfunzionamenti possiamo dedurre la presenza di difetti Tesi di Dijkstra: Il testing non può dimostrare l assenza di difetti, ma può solo dimostrare la presenza di difetti Il Debugging è il processo di scoperta dei difetti a partire da malfunzionamenti noti L Ispezione è un processo di analisi del software per scoprirne i difetti 4 2

3 Problemi del testing Criterio di selezione dei casi di test Valutazione dei risultati del test Criterio di terminazione del testing 5 Valutazione dei risultati del test Condizione necessaria per effettuare un test: conoscere il comporatmento atteso per poterlo confrontare con quello osservato L oracolo conosce il comportamento atteso per ogni caso di prova Oracolo umano si basa sulle specifiche o sul giudizio Oracolo automatico generato dalle specifiche (formali) stesso software ma sviluppato da altri versione precedente (test di regressione) Software da testare Casi di test Comparatore Oracolo Risultati del test 6 3

4 Terminazione del testing Quando il programma si può ritenere analizzato a sufficienza Criterio temporale: periodo di tempo predefinito Criterio di costo: sforzo allocato predefinito Criterio di copertura: percentuale predefinita degli elementi di un modello di programma legato ad un criterio di selezione dei casi di test Criterio statistico MTBF (mean time between failures) predefinito e confronto con un modello di affidabilità esistente 7 Problema della selezione dei casi di test Un programma è corretto se è corretto per ogni dato d ingresso Un programma è esercitato da un caso di test (sottoinsieme dei dai di input) Un test è formato da un insieme di casi di test L esecuzione del test consiste nell esecuzione del programma per tutti i casi di test Un test ha successo se rileva uno o più malfunzionamenti del programma Un test è ideale se l insuccesso del test implica la correttezza del programma Un test esaustivo è un test che contiene tutti i dati di ingresso al programma un test esaustivo è un test ideale un test esaustivo non è pratico e quasi sempre non è fattibile Obiettivo realistico: selezionare casi di test che approssimano un test ideale 8 4

5 Criterio di selezione di test Specifica le condizioni che devono essere soddisfatte da un test Consente di selezionare più test per uno stesso programma Un criterio di selezione di test è affidabile per un programma se per ogni coppia di test selezionati, T1 e T2, se T1 ha successo anche T2 ha successo e viceversa (ossia ogni insieme di casi di test che sddisfano il criterio rilevano gli stessi errori) Un criterio di selezione di test è valido per un programma se, qualora il programma non è corretto, esiste almeno un test selezionato che ha successo Teorema di Goodenough e Gerhart Il fallimento di un test T per un programma P, selezionato da un criterio C affidabile e valido, permette di dedurre la correttezza del programma P 9 Esempio Program raddoppia (input, output); var x, y: integer; begin read(x); y:= x*x; write(y); end Criterio affidabile ma non valido: T deve contenere sottoinsiemi di {0, 2} Criterio valido ma non affidabile: T deve contenere sottoinsiemi di {0,1, 2, 3, 4} Criterio valido e affidabile: T deve contenere almeno un valore maggiore di

6 Selezione dei casi di test Teorema di Howden Non esiste un algoritmo che, dato un programma arbitrario P, generi un test ideale finito, e cioè un test definito da un criterio affidabile e valido Al di là di casi banali, non è possibile costruire un criterio di selezione generale di test valido e affidabile che non sia il test esaustivo Obiettivi pratici massimizzare il numero di malfunzionamenti scoperti (richiede molti casi di test) minimizzare il numero di casi di test (e quindi il costo del testing) E preferibile usare più di un criterio di selezione dei test 11 Classi di criteri di selezione Criteri black-box o funzionali dipendono solo dalle specifiche del software Criteri white-box o strutturali dipendono dalla struttura interna del software Suddivisione in classi di equivalenza Analisi dei valori limite Grafi causa-effetto Criteri basati sul flusso di controllo Criteri basati sul flusso dei dati Analisi mutazionale Sono spesso usati in maniera complementare 12 6

7 Suddivisione in classi di equivalenza Il dominio dei dati di ingresso è suddiviso in classi di casi di test in modo tale che, se il programma è corretto per un caso di test, si possa dedurre ragionevolmente che è corretto per ogni caso di test in quella classe Una classe di equivalenza rappresenta un insieme di stati validi o non validi per una condizione sulle variabili d ingresso 13 Definizione delle classi di equivalenza Se la condizione sulle variabili d ingresso specifica: intervallo di valori una classe valida per valori interni all intervallo, una non valida per valori inferiori al minimo, e una non valida per valori superiori al massimo valore specifico una classe valida per il valore specificato, una non valida per valori inferiori, e una non valida per valori superiori elemento di un insieme discreto una classe valida per ogni elemento dell insieme, una non valida per un elemento non appartenente valore booleano una classe valida per il valore TRUE, una classe non valida per il valore FALSE 14 7

8 Selezione dei casi di test dalle classi di equivalenza Ogni classe di equivalenza deve essere coperta da almeno un caso di test Un caso di test per ogni classe non valida Ciascun caso di test per le classi valide deve comprendere il maggior numero di classi valide ancora scoperte 15 Esercizio L utente può chiamare la banca usando il proprio computer collegato via modem, digitare una password di 6 cifre, e digitare vari comandi che consentono di accedere alle varie funzioni bancarie (trasferimento fondi, estratto conto, saldo, fine sessione). L utente non può trasferire meno di lire e più di un milione per telefonata Selezionare i casi di test mediante partizione in classi di equivalenza 16 8

9 Le condizioni sull input password Condizioni d ingresso: La password può avere una valore compreso tra e Classi di equivalenza: Valida CE 1 : PASSWORD Non valide CE 2 : COD < CE 3 : COD > Le condizioni sull input comando Condizioni di ingresso: Il comando può essere di tipo: trasferimento fondi, estratto conto, saldo, fine sessione Classi di equivalenza Valide CE 5 : COMANDO = trasferimento fondi CE 6 : COMANDO = estratto conto CE 7 : COMANDO = saldo CE 8 : COMANDO = fine sessione Non valida CE 9 : COMANDO = moltiplica 18 9

10 Le condizioni sull input importo Condizioni di ingresso: L importo non può essere maggiore di nè minore di Classi di equivalenza Valida CE 10 : <= IMPORTO<= Non valide CE 11 : IMPORTO< CE 12 : IMPORTO> Selezione dei casi di test CONDIZIONI Valore della password tra e Tipo di comando: CE 4 CE 5 CE 6 CE 7 L importo deve essere tra e CLASSI DI EQUIVALENZA #CE Valide #CE Non valide CE password CE 2 password< AND CE 3 password > password CE 9 Trasferimento Estratto conto Saldo Fine sessione importo AND importo CE 8 Moltiplica CE 10 CE 11 importo< importo >

11 Scelta dei casi di test... Test case TC1 TC2 TC3 password comando trasferimento estratto conto saldo importo Classi coperte CE1, CE4, CE9 CE1, CE5, CE9 CE1, CE6, CE9 Test case TC4 TC5 TC6 password comando fine sessione estratto conto saldo importo Classi coperte CE1, CE7, CE9 CE2, CE5, CE9 CE3, CE6, CE9 21 Scelta dei casi di test Test case TC7 TC8 TC9 password comando moltiplica estratto conto saldo importo Classi coperte CE1, CE8, CE9 CE1, CE5, CE10 CE1, CE6, CE

12 Analisi dei valori limite I casi di test che esplorano condizioni limite spesso rilevano la presenza di malfunzionamenti Le condizioni limite: sono direttamente agli estremi immediatamente al di sopra immediatamente al di sotto degli estremi di: classi di equivalenza di ingresso classi di equivalenza di uscita Le condizioni limite possono essere molto sottili usare la creatività per cercare altre situazioni estreme 23 Criteri basati sul flusso di controllo Criteri di selezione Copertura dei comandi (statement test) Copertura delle decisioni (branch test) Copertura delle condizioni (condition test) Copertura delle decisioni e delle condizioni Copertura dei cammini (path test) Copertura dei cammini indipendenti Criteri di adeguatezza n.ro comandi eseguiti/ n.ro comandi eseguibili n.ro archi percorsi/ n.ro archi percorribili n.ro cammini percorsi/ n.ro cammini percorribili n.ro cammini indip. percorsi/ n.ro ciclomatico 24 12

13 UN MODELLO DI RAPPRESENTAZIONE DEI PROGRAMMI: il Control-Flow Graph Il grafo del flusso di controllo (Control-Flow Graph) di un programma P: dove: CFG (P) = <N, AC, ni, nf> <N, AC> è un grafo diretto con archi etichettati, {ni, nf} N, N- {ni, nf} = Ns Np Ns e Np sono insiemi disgiunti di nodi istruzione e nodi predicato; AC N-{nF} N-{nI } {vero, falso, incond} rappresenta la relazione flusso di controllo; ni ed nf sono detti rispettivamente nodo iniziale e nodo finale. Un nodo n Ns {ni} ha un solo successore immediato e il suo arco uscente è etichettato con incond. Un nodo n Np ha due successori immediati e i suoi archi uscenti sono etichettati rispettivamente con vero e falso. 25 procedure Quadrato; var x, y, n: integer; begin 1. read(x); 2. if x > 0 then begin 3. n := 1; 4. y := 1; 5. while x > 1 do begin 6. n := n + 2; 7. y := y + n; 8. x := x - 1; end; 9. write(y); end; end; true true I 1 2 false false I 1,2 true 3,4,5 true false 6,7,8 9 F false F 26 13

14 Copertura dei comandi (statement test) ogni nodo del CFG deve essere eseguito almeno una volta durante il testing; è un criterio di copertura debole, che non assicura la copertura sia del ramo true che false di una decisione Copertura delle decisioni (branch test) ciascun arco del CFG deve essere attraversato almeno una volta; ogni decisione è valutata sia nel caso true che false; un limite è legato alle decisioni in cui più condizioni (legate da operatori logici AND ed OR) sono valutate Copertura delle condizioni (condition test) ciascuna condizione nei nodi decisione di un CFG deve essere valutata sia per valori true che false. int check (x);// controlla se un intero è fra 0 e 100 int x; { if ((x>=0) && (x<= 200)) check= true; else check = false; } TC={x=5, x=-5 } valuta la decisione sia per valori True che False, ma non le condizioni Copertura delle decisioni e delle condizioni non basta assicurare la copertura delle condizioni, ma anche quella delle decisioni 27 Criteri di copertura dei cammini Copertura dei cammini (path test) spesso gli errori si verificano eseguendo cammini che includono particolari sequenze di nodi decisione non tutti i cammini eseguibili in un CFG possono essere eseguiti durante il test (un CFG con loop può avere infiniti cammini eseguibili) Copertura dei cammini indipendenti ci si limita ad eseguire un insieme di cammini indipendenti di un CFG, ossia un insieme di cammini in cui nessun cammino è completamente contenuto in un altro dell insieme, nè è la combinazione di altri cammini dell insieme ciascun cammino dell insieme presenterà almeno un arco non presente in qualche altro cammino il numero di cammini indipendenti coincide con la complessità ciclomatica del programma 28 14

15 Complessità ciclomatica di un programma 0 1 Dato un grafo G di n nodi ed e archi il numero ciclomatico è dato da: true true 2 false false V(G) = e- n+ 2 oppure: V(G)= d + 1 d= # nodi branch 3 4 V(G)= 3 =>3 cammini indipendenti Compessità ciclomatica del programma è 3 5 c1= c2= c3= Principi I test vanno pianificati in anticipo I test devono cominciare in piccolo e proseguire in grande Livelli di testing Bisogni del cliente Requisiti Progetto Test di accettazione Test di sistema Test di integrazione Codice Test di unità Modifiche Test di regressione 30 15

16 LIVELLI DI TESTING livello produttore unit testing ( di Unità) integration testing ( di Integrazione) system testing ( di Sistema) livello cooperativo produttore-cliente privilegiato alpha testing beta testing livello cliente o utente acceptance testing ( di accettazione) 31 di unità (..detta anche di modulo..) il testing é applicato isolatamente ad una unità o ad un modulo di un sistema software; obiettivo fondamentale é quello di rilevare errori (logica e dati) nel modulo; prassi diffusa é che esso venga realizzato dal programmatore che ha prodotto l'unità sotto test. unità: elemento definito nel progetto di un sistema software e testabile separatamente; nel testing unità e modulo sono spesso usati come sinonimi

17 d integrazione il testing é applicato ad un aggregato di due o più unità di un sistema software; l'obiettivo é quello di rilevare errori nelle interazioni fra le unità e nelle funzioni che l'aggregato deve assolvere; non é compito dei programmatori che hanno prodotto le unità componenti le unità da integrare sono selezionabili in base a criteri funzionali ricavabili dal progetto (architettura del sistema); partendo da una architettura organizzata gerarchicamente, le integrazioni possono essere realizzate con approccio top-down o bottom-up 33 di sistema il testing é applicato al sistema software completo ed integrato; l'obiettivo è quello di valutare l'adesione del sistema ai requisiti specificati; va effettuato dal team addetto al testing i requisiti del sistema non sono solo le funzionalità esterne; fondamentali sono i requisiti di qualità, stabiliti ad esempio sulla base di un modello di qualità del prodotto opportunamente istanziato 34 17

18 di accettazione testing effettuato sull'intero sistema sulla base di un piano e di procedure approvate dal cliente (o utente); l'obiettivo é quello di mettere il cliente, l'utente o altri a ciò preposti ( collaudatori o enti ad hoc) in condizione di decidere se accettare il prodotto; segna il passaggio del sistema dal produttore all'ambiente operativo;..é più 'una dimostrazione che un test' é a carico del committente; 35 2 livelli di test di accettazione alpha testing uso del sistema da parte di utenti reali ma nell'ambiente di produzione e prima della immissione sul mercato beta testing: installazione ed uso del sistema in ambiente reale prima della immissione sul mercato tipicamente adottati dai produttori di packages per mercato di massa 36 18

19 di programmi orientati agli oggetti I criteri black-box non sono influenzati La struttura OO può avere impatto sui criteri white-box Test di unità operazioni di una classe: stessi criteri applicabili classe di oggetti:sono necessari altri criteri è l oggetto che può essere testato, non la classe all interno di una classe non c è un unico flusso di controllo (a causa dello scambio di messaggi) lo stato di un oggetto influenza il risultato problemi dovuti all uso di ereditarietà problemi legati all uso di binding dinamico 37 Piano di test Documento relativo all intero progetto Struttura specifica delle unità di test (per un dato livello di test) Es. Modulo, gruppi di moduli, programma, sottosistemi, intero sistema Caratteristiche da testare: funzionalità, prestazioni, vincoli di progetto, sicurezza Approccio: criterio di selezione dei test, criterio di terminazione, strumenti Prodotti del test: es. Casi di test, rapporto finale, diario del test, statistiche di copertura Schedulazione: quando effettuare il testing e lo sforzo per attività Allocazione del personale 38 19

20 Specifica dei casi di test Per ogni livello di test n.ro di caso di test input condizione da testare output atteso Effettuato il test, si può completare con output osservato Le specifiche ed i casi di test possono essere riusati per il test di regressione 39 Esecuzione del test Costruzione di Moduli guida (invocano l unità sotto test) Moduli fittizi (sono invocati dall unità sotto test) Modulo guida Unità sotto test Modulo fittizio 40 20

21 Rapporti sul test Diario del test descrive i dettagli del test per come si è svolto effettivamente la specifica dei casi di test può essere completata e usata come diario Riepilogo del test Rivolto al management del progetto numero totale di casi di test eseguiti numero e tipo di malfunzionamenti osservati numero e tipo di difetti scoperti Sommario dei malfunzionamenti Rivolto a chi deve effettuare il debugging o la correzione 41 21

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Testing - Strategie di del Software Testing del Software Il testing è quell attivit attività di esercizio del software tesa all individuazione dei malfunzionamenti prima della messa

Dettagli

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice. Convalida: attività volta ad assicurare che il SW sia conforme ai requisiti dell utente. Verifica: attività volta ad assicurare che il SW sia conforme alle specifiche dell analista. Goal: determinare malfunzionamenti/anomalie/errori

Dettagli

Test del Software. Definizione SCOPO LIMITI DEL TEST

Test del Software. Definizione SCOPO LIMITI DEL TEST Definizione! Verifica dinamica del comportamento del software rispetto a quello atteso, utilizzando un insieme finito di casi di test, appropriatamente selezionati nel dominio di tutti i casi possibili

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure

Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure COLLAUDO Esempi di errori/difetti algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure Verifica e Validazione Validazione Requisiti

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

Il Testing. Ing. Emilio Spinicci 24/03/2002 1

Il Testing. Ing. Emilio Spinicci 24/03/2002 1 Il Testing Ing. Emilio Spinicci 24/03/2002 1 Introduzione Cenni sulla teoria del testing Unit Testing - test funzionale - test strutturale - misure di copertura IPL Cantata 3.3 - Descrizione e esempi di

Dettagli

Ing. Emilio Spinicci 07/04/2004 1

Ing. Emilio Spinicci 07/04/2004 1 Il Testing Ing. Emilio Spinicci 07/04/2004 1 Introduzione Cenni sulla teoria del testing Unit Testing - test funzionale - test strutturale - misure di copertura IPL Cantata 3.3 - Descrizione e esempi di

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software.

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Test Giulio Destri Ing. del Software: Test - 1 Scopo del modulo Definire

Dettagli

Verifica e validazione della qualità del sw

Verifica e validazione della qualità del sw Verifica e validazione della qualità del sw Tecniche di Programmazione Lez. 07 Università di Firenze a.a. 2009/10, I semestre 1/40 contenuti Termini e definizioni Tecniche rispetto alle caratteristiche

Dettagli

13: Il test del software. 13Test.1

13: Il test del software. 13Test.1 13: Il test del software 13Test.1 Concetti fondamentali Costo estremamente elevato Filosofia distruttiva Eseguire un programma con l intento di trovare degli errori; Un caso di test e ben studiato se ha

Dettagli

3. DOCUMENTO DI DEFINIZIONE DEI REQUISITI FORNITO DAL CLIENTE 3.1 Richieste del cliente

3. DOCUMENTO DI DEFINIZIONE DEI REQUISITI FORNITO DAL CLIENTE 3.1 Richieste del cliente T4 Contenuto di un analisi dei requisiti Presentate un indice di un documento di analisi dei requisiti e descrivete in modo sintetico contenuto e ruolo di ogni capitolo. INDICE 1. STORIA DELLE REVISIONI

Dettagli

Verifica e Validazione del Software

Verifica e Validazione del Software Verifica e Validazione del Software Tecniche avanzate di Software Testing 1 Argomenti trattati Le attività di Verifica e Validazione del Software Le differenze fra l approccio statico e dinamico L approccio

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Testing - Tecniche di Collaudo del Software Collaudabilità Un attributo di qualità del software E il grado di semplicità con cui il software può essere collaudato Si compone di

Dettagli

Sistemi Informativi I Lezioni di Ingegneria del Software

Sistemi Informativi I Lezioni di Ingegneria del Software 4 Codifica, Test e Collaudo. Al termine della fase di progettazione, a volte anche in parallelo, si passa alla fase di codifica e successivamente alla fase di test e collaudo. In questa parte viene approfondita

Dettagli

Verifica e Convalida

Verifica e Convalida Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Verifica e Convalida E. TINELLI Definizioni Le attività di Verifica (Verification) e Convalida (Validation)

Dettagli

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di

Dettagli

Ingegneria del Software MINR. Esercitazione: esempi di esercizi di esame

Ingegneria del Software MINR. Esercitazione: esempi di esercizi di esame Ingegneria del Software MINR Esercitazione: esempi di esercizi di esame EserciziEsame.1 Struttura del compito 2/3 ore di tempo esercizi su Function point Test scatola nera Test scatola bianca Pianificazione

Dettagli

Verifica e Validazione del Simulatore

Verifica e Validazione del Simulatore Verifica e del Simulatore I 4 passi principali del processo simulativo Formulare ed analizzare il problema Sviluppare il Modello del Sistema Raccolta e/o Stima dati per caratterizzare l uso del Modello

Dettagli

Ingegneria del Software 21. Verifica e validazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 21. Verifica e validazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 21. Verifica e validazione Dipartimento di Informatica Università di Pisa A.A. 2014/15 roadmap Concetti e terminologia Verifica, validazione, integrazione e collaudo Verifica statica

Dettagli

Tecniche e strumenti per il testing di modelli software Matlab/Simulink

Tecniche e strumenti per il testing di modelli software Matlab/Simulink Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato Finale in Ingegneria del Software Tecniche e strumenti per il testing di modelli software Matlab/Simulink

Dettagli

Introduzione alla verifica automatica

Introduzione alla verifica automatica Sistemi digitali Introduzione alla verifica automatica Utilizzati in quasi tutte le attività umane Complessità elevata semplici sistemi hanno milioni di linee di codice Tempi di realizzazione sempre più

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

SCD IS. Verifica e validazione: analisi dinamica. Verifica e validazione: analisi dinamica. Caratterizzazione. Definizione

SCD IS. Verifica e validazione: analisi dinamica. Verifica e validazione: analisi dinamica. Caratterizzazione. Definizione Caratterizzazione Verifica e validazione: analisi dinamica Anno accademico 2014/15 Ingegneria del Software mod. B Tullio Vardanega, tullio.vardanega@math.unipd.it SCD IS Parte essenziale del processo di

Dettagli

Software Testing. Lezione 2 Livelli di test. Federica Spiga. federica_spiga@yahoo.it. A.A. 2010-2011 Autori: F.Rabini/F.Spiga

Software Testing. Lezione 2 Livelli di test. Federica Spiga. federica_spiga@yahoo.it. A.A. 2010-2011 Autori: F.Rabini/F.Spiga Software Testing Lezione 2 Livelli di test Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 Autori: F.Rabini/F.Spiga 1 2 Livelli di test Unit Testing Integration Testing System Testing Unit Testing

Dettagli

Collaudo e qualità del software Quali test eseguire

Collaudo e qualità del software Quali test eseguire Collaudo e qualità del software Relatore Ercole Colonese Roma, Tipologie di test Temi trattati nel libro Modello a V Livelli di testing Tipi di test Test funzionali Test delle funzionalità Test di gestione

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima Project Management Tecniche Reticolari Metodologie per risolvere problemi di pianificazione di progetti Progetto insieme di attività A i di durata d i, (=,...,n) insieme di relazioni di precedenza tra

Dettagli

Processi principali per il completamento del progetto

Processi principali per il completamento del progetto Piano di progetto È un documento versionato, redatto dal project manager per poter stimare realisticamente le risorse, i costi e i tempi necessari alla realizzazione del progetto. Il piano di progetto

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO 26262 per la Sicurezza Funzionale La Sicurezza Funzionale del Software Prof. Riccardo Sisto Ordinario di Sistemi di Elaborazione delle Informazioni Dipartimento di Automatica e Informatica Sicurezza Funzionale del Vari Aspetti Sicurezza

Dettagli

B1 LA PROGETTAZIONE. PROGRAMMA: gruppo di progetti con un obiettivo comune.

B1 LA PROGETTAZIONE. PROGRAMMA: gruppo di progetti con un obiettivo comune. ATTIVITÀ ORDINARIA : operazione svolta periodicamente con obiettivo implicito e tempi, risorse e costi standard (Es.di Attività Ordinaria: buste paga, pagamento fornitori) PROGETTO : ha un obiettivo esplicito

Dettagli

Software testing. Lezione 3 Functional Testing Federica Spiga federica_spiga@yahoo.it. A.A. 2010-2011 Autori: A.Bei/F.Rabini/F.

Software testing. Lezione 3 Functional Testing Federica Spiga federica_spiga@yahoo.it. A.A. 2010-2011 Autori: A.Bei/F.Rabini/F. 1 Software testing Lezione 3 Functional Testing Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 Autori: A.Bei/F.Rabini/F.Spiga 2 Functional Testing Sotto la dicitura funzionale si raccolgono i criteri

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino

Dettagli

Test e validazione 1 La fase di test 1.1 Tecniche Ispezione: checklist Test white box: grafo di controllo complessità ciclomatica

Test e validazione 1 La fase di test 1.1 Tecniche Ispezione: checklist Test white box: grafo di controllo complessità ciclomatica Test e validazione 1 La fase di test Il test è il processo di verifica di un programma con lo scopo di individuare errori prima della consegna all utente finale. Tipicamente, correggere i difetti sul software

Dettagli

ISIPM Base. Project Management epmq: Project Management Fundamentals (ISIPM Base)

ISIPM Base. Project Management epmq: Project Management Fundamentals (ISIPM Base) ISIPM Base Project Management epmq: Project Management Fundamentals (ISIPM Base) Gruppo B Conoscenze Tecniche e Metodologiche Syllabus da 2.1.1 a 2.7.1 1 Tema: Gestione Ambito del Progetto e Deliverable

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un

Dettagli

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue

Dettagli

5 Gestione dei progetti software. 5.1 Attività gestionale. Sistemi Informativi I Lezioni di Ingegneria del Software

5 Gestione dei progetti software. 5.1 Attività gestionale. Sistemi Informativi I Lezioni di Ingegneria del Software 5 Gestione dei progetti software. Dopo aver completato lo studio del ciclo di vita del software, in questa parte vengono discussi gli aspetti gestionali della produzione del software. Vengono esaminate

Dettagli

Software Testing. Lezione 1 Introduzione al processo di testing. Federica Spiga. federica_spiga@yahoo.it. A.A. 2010-2011 Autori: A. Bei/F.

Software Testing. Lezione 1 Introduzione al processo di testing. Federica Spiga. federica_spiga@yahoo.it. A.A. 2010-2011 Autori: A. Bei/F. Software Testing Lezione 1 Introduzione al processo di testing Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 Autori: A. Bei/F.Spiga 1 2 Definizione di Software Testing Glen Myers -The Art of Software

Dettagli

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma

Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Un esempio di applicazione della programmazione lineare intera all ingegneria del software: stima del worst-case execution time di un programma Corso di Ricerca Operativa per il Corso di Laurea Magistrale

Dettagli

Il Processo di Testing

Il Processo di Testing Il Processo di Testing I deliverable del processo di testing Il testing è un processo; L'esigenza di definire modelli di riferimento a partire dai quali istanziare tali processi; Un modo per fissare riferimenti

Dettagli

Tecniche di Testing Black Box

Tecniche di Testing Black Box Tecniche di Testing Black Box 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 Pressman, Principi di Ingegneria del Software, 5 edizione, Capitoli 15-16 Ghezzi, Jazazeri, Mandrioli,

Dettagli

Test della libreria JSetL tramite JUnit

Test della libreria JSetL tramite JUnit UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE e NATURALI Corso di Laurea in Informatica Tesi di Laurea Test della libreria JSetL tramite JUnit Relatore: Prof. Gianfranco Rossi

Dettagli

Interpretazione astratta

Interpretazione astratta Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique

CPM - PERT CPM - PERT. Rappresentazione di un progetto. Gestione di un progetto. Critical Path Method Project Evaluation and Review Technique CPM - PERT CPM - PERT CPM e PERT sono metodologie per la gestione di progetti composti da più attività in cui esistano relazioni di precedenza. Critical Path Method Project Evaluation and Review Technique

Dettagli

La disciplina che cura un approccio sistematico, disciplinato e quantificabile allo sviluppo, all operatività ed alla manutenzione del software

La disciplina che cura un approccio sistematico, disciplinato e quantificabile allo sviluppo, all operatività ed alla manutenzione del software Ingegneria del software (software engineering) La branca dell'ingegneria che si occupa della realizzazione di sistemi software. La disciplina che cura un approccio sistematico, disciplinato e quantificabile

Dettagli

Verifica del codice con Interpretazione Astratta

Verifica del codice con Interpretazione Astratta Verifica del codice con Interpretazione Astratta Daniele Grasso grasso@dsi.unifi.it grasso.dan@gmail.com Università di Firenze, D.S.I., Firenze, Italy December 15, 2009 D.Grasso (Università di Firenze)

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

Il software e la programmazione

Il software e la programmazione Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate

Dettagli

Application Assessment Applicazione ARCO

Application Assessment Applicazione ARCO GESI Application Assessment Applicazione ARCO Milano Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 info@hackingteam.it 20121 MILANO (MI) - Italy Tel. +39.02.29060603 Fax +39.02.63118946

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Esercizi di Ingegneria del Software

Esercizi di Ingegneria del Software Esercizi di Ingegneria del Software Il caso della Grande Distribuzione V. Ambriola, C. Montangero e L. Semini Corso di Laurea in Informatica Corso di Laurea in Informatica Applicata Dipartimento di Informatica

Dettagli

Trasformazione dei Processi in Progetti DIB 1

Trasformazione dei Processi in Progetti DIB 1 Trasformazione dei Processi in Progetti DIB 1 Generalità DIB 2 Progetto PROGETTO: esecuzione di un insieme di attività in un tempo e con risorse limitati per raggiungere uno specifico scopo. A causa dell

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività Schemi di scomposizione delle attività Gestione parte IIC Work Breakdown Structures (WBS) Struttura ad albero: radice: attività principale i nodi figli rappresentano la scomposizione del nodo padre le

Dettagli

Introduzione al simulatore SPICE

Introduzione al simulatore SPICE Introduzione al simulatore SPICE Guida all uso del simulatore MULTISIM 2001 textbook edition di Electronics Workbench Introduzione (1) Il simulatore SPICE (Simulation Program with Integrated Circuit Emphasis)

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

Dettagli

La gestione dei progetti informatici

La gestione dei progetti informatici Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La gestione dei progetti informatici Giulio Destri Ing. del Sw: Gestione - 1 Scopo

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Semantica Assiomatica

Semantica Assiomatica Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,

Dettagli

Qualità del software. Tecniche di Programmazione 2009/10. Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 1. contenuti. definizione di qualità

Qualità del software. Tecniche di Programmazione 2009/10. Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 1. contenuti. definizione di qualità Qualità del software Tecniche di Programmazione Lez. 05 Università di Firenze a.a. 2009/10, I semestre 1/33 contenuti Qualità? Definizioni Il prodotto software Modelli della qualità per il sw: ISO/IEC

Dettagli

Tecniche di Testing White Box

Tecniche di Testing White Box Tecniche di Testing White Box Riferimenti Ian Sommerville, Ingegneria del Software, capitoli - - (più dettagliato sui processi) Pressman, Principi di Ingegneria del Software, 5 edizione, Capitoli 5-6 Ghezzi,

Dettagli

IL PROCESSO TECNICO DI SCHEDULAZIONE: TEMPI E COSTI DI UN PROJECT LABORATORIO INTEGRATO DI COSTRUZIONE E PRODUZIONE LEZIONE 4

IL PROCESSO TECNICO DI SCHEDULAZIONE: TEMPI E COSTI DI UN PROJECT LABORATORIO INTEGRATO DI COSTRUZIONE E PRODUZIONE LEZIONE 4 IL PROCESSO TECNICO DI SCHEDULAZIONE: TEMPI E COSTI DI UN PROJECT UNA VOLTA CREATA LA WBS E, QUINDI, INDIVIDUATA CIASCUNA PARTE ELEMENTARE DEL PROJECT, SI PASSA ALLA SCHEDULAZIONE CHE CONSISTE NELL ASSEGNARE

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

Capitolo 2. Un introduzione all analisi dinamica dei sistemi

Capitolo 2. Un introduzione all analisi dinamica dei sistemi Capitolo 2 Un introduzione all analisi dinamica dei sistemi Obiettivo: presentare una modellistica di applicazione generale per l analisi delle caratteristiche dinamiche di sistemi, nota come system dynamics,

Dettagli

Guida al livellamento delle risorse con logica Critical Chain (2 parte)

Guida al livellamento delle risorse con logica Critical Chain (2 parte) Paolo Mazzoni 2011. E' ammessa la riproduzione per scopi di ricerca e didattici se viene citata la fonte completa nella seguente formula: "di Paolo Mazzoni, www.paolomazzoni.it, (c) 2011". Non sono ammesse

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Esercizi di Ingegneria del Software

Esercizi di Ingegneria del Software Esercizi di Ingegneria del Software Il caso della Grande Distribuzione V. Ambriola, C. Montangero e L. Semini Corso di Laurea in Informatica Corso di Laurea in Informatica Applicata Dipartimento di Informatica

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Dimensionamento dei lotti di produzione: il caso con variabilità nota

Dimensionamento dei lotti di produzione: il caso con variabilità nota Dimensionamento dei lotti di produzione: il caso con variabilità nota A. Agnetis In questi appunti studieremo alcuni modelli per il problema del lot sizing, vale a dire il problema di programmare la dimensione

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

PRINCIPI DI SISTEMI OPERATIVI

PRINCIPI DI SISTEMI OPERATIVI PRINCIPI DI SISTEMI OPERATIVI ESERCIZIO del 28 NOVEMBRE 2003 Un distributore di benzina ha a disposizione P pompe e una cisterna da L litri. Le automobili arrivano al distributore e richiedono un certo

Dettagli

Application Assessment Applicazione ARCO

Application Assessment Applicazione ARCO GESI Application Assessment Applicazione ARCO Versione 2 Milano 14 Luglio 2006 Hacking Team S.r.l. http://www.hackingteam.it Via della Moscova, 13 info@hackingteam.it 20121 MILANO (MI) - Italy Tel. +39.02.29060603

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 7-8 9 7 9-8 79

Dettagli

CAPITOLO 27 SCAMBIO DI MESSAGGI

CAPITOLO 27 SCAMBIO DI MESSAGGI CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:

Dettagli

Gestione di progetto: pianificazione. Introduzione: dove siamo? Introduzione: pianificazione. Simona Bernardi

Gestione di progetto: pianificazione. Introduzione: dove siamo? Introduzione: pianificazione. Simona Bernardi Gestione di progetto: pianificazione Simona Bernardi Corso di Ingegneria del Software 04/ 05 Prof.Susanna Donatelli Introduzione: dove siamo? Gestione di progetto: Pianificazione Monitoraggio e controllo

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it a.a. 2007-2008 http://digilander.libero.it/rosario.cerbone Sintesi di Reti Sequenziali Sincrone

Dettagli

Indice dei contenuti

Indice dei contenuti Gesttiione Knowlledge Base Serrviiziio dii Conttactt Centterr 055055 Manualle dii consullttaziione Indice dei contenuti 1. Introduzione... 4 2. Modalità di accesso alle informazioni... 5 2.1. Accesso diretto

Dettagli

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base)

Il Sistema Operativo. Funzionalità. Sistema operativo. Sistema Operativo (Software di base) Sistema Operativo (Software di base) Il Sistema Operativo Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei dati attraverso

Dettagli

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,...

Automi. Sono così esempi di automi una lavatrice, un distributore automatico di bibite, un interruttore, una calcolatrice tascabile,... Automi Con il termine automa 1 s intende un qualunque dispositivo o un suo modello, un qualunque oggetto, che esegue da se stesso un particolare compito, sulla base degli stimoli od ordini ricevuti detti

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

Ricerca Operativa e Logistica

Ricerca Operativa e Logistica Ricerca Operativa e Logistica Dott. F.Carrabs e Dott.ssa M.Gentili A.A. 2011/2012 Lezione 10: Variabili e vincoli logici Variabili logiche Spesso nei problemi reali che dobbiamo affrontare ci sono dei

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Dettagli

TSP con eliminazione di sottocicli

TSP con eliminazione di sottocicli TSP con eliminazione di sottocicli Un commesso viaggiatore deve visitare 7 clienti in modo da minimizzare la distanza percorsa. Le distanze (in Km) tra ognuno dei clienti sono come segue: 3 5 7-8 9 57

Dettagli

1. Considerazioni generali

1. Considerazioni generali 1. Considerazioni generali Modelli di shop scheduling In molti ambienti produttivi l esecuzione di un job richiede l esecuzione non simultanea di un certo numero di operazioni su macchine dedicate. Ogni

Dettagli

Guida al livellamento delle risorse con logica Critical Chain (1^ parte)

Guida al livellamento delle risorse con logica Critical Chain (1^ parte) Paolo Mazzoni 2011. E' ammessa la riproduzione per scopi di ricerca e didattici se viene citata la fonte completa nella seguente formula: "di Paolo Mazzoni, www.paolomazzoni.it, (c) 2011". Non sono ammesse

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli