Ingegneria del Software (Ing.Informatica Nuovo Ord.) Canale M-Z / A.A Marco Cadoli

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ingegneria del Software (Ing.Informatica Nuovo Ord.) Canale M-Z / A.A Marco Cadoli"

Transcript

1 Ingegneria del Software (Ing.Informatica Nuovo Ord.) Canale M-Z / A.A Marco Cadoli Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica TERZA PARTE Analisi dei requisiti e definizione delle specifiche Sezione I: Concetti fondamentali Versione definitiva Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

2 TERZA PARTE Analisi e specifica dei requisiti I. Concetti fondamentali dell analisi e specifica dei requisiti II. Complementi di UML Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

3 I. Concetti fondamentali I.1. Il concetto di specifica I.2. Tipologie di linguaggi di specifica I.3. Ingegneria dei requisiti Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

4 I.1. Il concetto di specifica Vari tipi di specifiche Documenti di SRS Approcci principali Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

5 Vari tipi di specifiche Dei requisiti (fra lo studio di fattibilità e la progettazione): Documenti che definiscono cosa deve fare il sistema Accordo fra cliente e sviluppatore Di progetto (durante la progettazione): Documenti che definiscono i requisiti del progetto Accordo fra i progettisti e gli implementatori Di un modulo SW (durante la realizzazione): Documento che definisce cosa deve fare un modulo SW Accordo fra gli implementatori del modulo e i programmatori che lo useranno Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

6 Scopi: Specifica dei requisiti Definizione delle funzionalità, vincoli, prestazioni, interfacce, e di qualsiasi altra caratteristica richiesta dall utente Redazione di un documento di Specifica dei Requisiti SW (SRS Software Requirements Specification) che sia completo, preciso, consistente, non ambiguo, comprensibile sia al committente sia allo sviluppatore (Tipicamente) Piano di test, struttura manuale utente Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

7 Importanza di un documento di SRS Costituisce il punto di convergenza dei punti di vista del cliente, dell utente e dello sviluppatore Fornisce il punto di riferimento per la convalida del prodotto finale È un prerequisito per la qualità del SW (errori nel SRS errori nel sistema) Tipicamente, riduce i costi di sviluppo, in quanto facilita la scoperta di difetti Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

8 Approcci all analisi e alla specifica dei Informale: requisiti Uso del linguaggio naturale Interviste col cliente e l utente finale Uso di questionari Non esiste modello del sistema Basato su modelli concettuali: Rappresentazioni del dominio e del sistema inserite nel documento di SRS Possono essere più o meno formali Basato sulla prototipazione Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

9 Alcuni approcci basati su modelli concettuali Analisi strutturata: Data Flow Diagrams (DFD), dizionario dei dati Decomposizione delle funzioni Linguaggi ad hoc per i dati (ad es. ER) Analisi orientata agli oggetti: Decomposizione in concetti del dominio applicativo Linguaggi di modellazione (ad es. UML) Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

10 I.2. Tipologie di linguaggi di specifica Specifiche operazionali e descrittive DFD Automi a stati finiti Reti di Petri Specifiche formali, semiformali e informali Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

11 Tipologie di linguaggi di specifica I linguaggi di specifica possono essere classificati rispetto a due coordinate indipendenti 1. Modello (stile) di specifica descrittivo operazionale 2. Semantica del linguaggio specifiche informali specifiche semiformali specifiche formali Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

12 Stili di specifica: operazionale La specifica operazionale descrive il comportamento desiderato per il sistema Esempio (ordinamento di un vettore): Sia A un vettore di n elementi. Il risultato dell ordinamento di A è un vettore B di n elementi in cui: il primo elemento è il minimo di A (se più elementi di A hanno lo stesso valore, ognuno di essi è accettabile), il secondo elemento è il minimo nel vettore di n-1 elementi ottenuto da A eliminando il suo minimo il terzo elemento e i successivi si definiscono allo stesso modo, fino a quando vengono eliminati tutti gli elementi di A Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

13 Stili di specifica: descrittiva La specifica operazionale descrive le proprietà desiderate in maniera puramente dichiarativa Esempio (ordinamento di un vettore): Sia A un vettore di n elementi. Il risultato dell ordinamento di A è un vettore B di n elementi tale che: È una permutazione di A È ordinato (nel caso in cui il concetto di permutazione e di ordinamento non fossero sufficientemente chiari, andrebbero specificati con lo stesso stile) Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

14 Considerazioni sugli stili di specifica Con riferimento all esempio precedente, ognuno degli stili (operazionale/descrittivo) suggerisce una maniera differente di implementare l ordinamento Non è comunque obbligatorio implementare l ordinamento in alcuna delle maniere (anche se lo stile operazionale ne suggerisce fortemente una) Le specifiche descrittive sono tipicamente più astratte di quelle operazionali Le specifiche descrittive possono condurre ad implementazioni meno efficienti di quelle operazionali Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

15 Esempio di modello operazionale: DFD I DFD (Data Flow Diagrams) sono notazioni molto usate per specificare le funzioni di un sistema informativo Hanno quattro elementi di base: Funzioni Gestione clienti Flussi di dati Depositi di informazioni Info CLIENTI Acquisizione e produzione di dati Operatore Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

16 Esempio di diagramma DFD Calcolo di: (a + b) * (c + a*d) b + IN d a * * OUT c + Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

17 Altro esempio di diagramma DFD Info ARTICOLI gestione Fatture Operatore gestione Clienti Info FATTURE Info CLIENTI visualizzazione e stampa fatture Operatore Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

18 Commenti sui diagrammi DFD Un diagramma DFD può essere raffinato, ad esempio specificando meglio la funzione Gestione fatture La semantica dei simboli usati è specificata solamente dagli identificatori scelti In alcuni casi (ad es., + ) ciò è sufficiente, mentre in altri è necessaria una definizione più precisa (che non fa parte del DFD) Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

19 Commenti sui diagrammi DFD (2) A B C D E F Non vengono definiti aspetti relativi al controllo, ad esempio: D ha bisogno di A, B e C per essere eseguita, o può esserlo quando è presente almeno uno dei tre? D produce output sia per E sia per F, o solo per uno dei due? Nel primo caso, D produce lo stesso output per E ed F? Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

20 Commenti sui diagrammi DFD (3) I diagrammi DFD sono un esempio di specifica semiformale: La sintassi è definita in maniera precisa La semantica non è definita in maniera precisa Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

21 Esercizio 1 Una biblioteca pubblica eroga due servizi: prestito di libri (comunicando titolo e autore) e ricerca di titoli (comunicando argomento) 1. Tracciare il diagramma DFD del sistema informativo della biblioteca 2. Tenendo conto che per prestare un libro occorre prima cercarlo negli scaffali, raffinare il diagramma ottenuto Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

22 Un altro modello operazionale: Automi a stati finiti In un ASF si definiscono gli stati ammissibili del sistema, gli ingressi ammissibili e le possibili transizioni: S è l insieme (finito e non vuoto) degli stati I è l insieme degli ingressi d è la funzione di transizione che calcola il nuovo stato S X I S Esempio: lampadina da tavolo (2 stati, 1 input) Premi interruttore On Off Premi interruttore Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

23 Automi a stati finiti con output Vengono definiti anche possibili segnali di output Grafo orientato : <S,I,U,d,t, s 0 > S è l insieme (finito e non vuoto) degli stati I è l insieme degli ingressi U è l insieme delle uscite d è la funzione di transizione che calcola il nuovo stato S X I S t è la funzione che calcola l uscita S X I U s 0 è lo stato iniziale Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

24 Esempio di ASF con output Un apparecchio telefonico posto in un ufficio può effettuare: chiamate interne (numeri di almeno una cifra, la cui prima cifra non è 0), o chiamate esterne (numeri di almeno due cifre, la cui prima cifra è 0 e la seconda non è 0) Quando: si solleva il telefono, si ottiene un tono di centralino interno; si digita 0 come prima cifra, si ottiene un tono di centralino esterno; si raggiunge un numero telefonico esistente si ottiene un segnale libero o occupato, a seconda dei casi In ogni momento è possibile riagganciare Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

25 Esempio di ASF con output (2) Nove stati: 1. Telefono riagganciato (stato iniziale) 2. Attesa prima cifra 3. Attesa prima cifra esterna 4. Attesa successiva cifra interna 5. Attesa successiva cifra esterna 6. Attesa collegamento 7. Conversazione impossibile 8. Telefono ricevente che squilla 9. Dialogo Sedici input: 1. sollevamento ricevitore 2. riaggancio 3. raggiunto numero esistente 4. telefono occupato 5. telefono libero 6. sollevamento ricevitore chiamato le dieci cifre 0..9 Quattro output: 1. tono centralino interno 2. tono centralino esterno 3. segnale occupato 4. segnale libero Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

26 Telefono riagganciato 1..9/- riaggancio/- sollevamento ricevitore/ tono centralino interno 0/tono centralino esterno Attesa prima cifra riaggancio/- riaggancio/- Attesa prima cifra esterna Attesa successiva cifra interna riaggancio/- riaggancio/- Attesa prossima cifra esterna 1..9/- raggiunto numero esistente/ 0..9/- 0..9/- Conversazione impossibile Attesa collegamento telefono occupato/ segnale occupato telefono libero/ segnale libero Telefono ricevente che squilla raggiunto numero esistente/- riaggancio/- sollevamento ricevitore chiamato/- riaggancio/- riaggancio/- Dialogo Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

27 Esercizio 2 Riprogettare l ASF prendendo in considerazione che: un numero telefonico esterno deve essere composto di almeno tre cifre, e che un numero telefonico interno deve essere composto esattamente di due cifre Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

28 Commenti sugli ASF Gli automi a stati finiti sono un esempio di specifica formale (sintassi e semantica definite in maniera precisa) Sono particolarmente adatti per la descrizione del flusso di controllo (che manca nei DFD) Gli ASF sono spesso usati per la specifica di insiemi di stringhe (concetto di stato iniziale e finale) Hanno come limite la finitezza della memoria Non sono pratici se il numero di stati è troppo grande Sono adatti per la descrizione di sistemi sincroni e non concorrenti (ad ogni istante di tempo lo stato globale del sistema deve essere definito, e può occorrere una sola transizione) Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

29 Esercizio 3 Progettare un ASF che riconosce una stringa avente tutte le seguenti caratteristiche: Contiene un numero pari di 0 Contiene un numero dispari di 1 Inizia con 1 Termina con 0 Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

30 Reti di Petri: Specifica operazionale di sistemi asincroni Reti di Petri formalismo per la specifica di sistemi con attività concorrenti e/o parallele. Sono un esempio di specifica formale e operazionale Rappresentazione grafica, intuitiva. Posti: attività Transizioni: inizio/termine di attività Marcatura: stato delle attività Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

31 Esempio: studente che risolve esercizi posto Risolvere esercizio transizione Scrivere soluzione Libro a posto Confrontare soluzione. Leggere esercizio Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

32 posto con gettone Risolvere esercizio Stato: marcatura di posti transizione non abilitata transizione scattata Risolvere esercizio Scrivere soluzione Libro a posto Scrivere soluzione Libro a posto Confrontare soluzione. Leggere esercizio Confrontare soluzione. Leggere esercizio transizione abilitata transizione abilitata Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

33 Non determinismo nelle reti di Petri In ogni istante, può scattare una qualunque delle transizioni abilitate Nella rete non viene rappresentato: quale transizione scatti quando scatti Evoluzione di una rete di Petri: sequenza delle transizioni che scattano Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

34 Studente A: ha risolto Due studenti, un libro Studente B: ha scritto la soluzione A potrebbe scrivere la soluzione B potrebbe confrontare la soluzione Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

35 Concorrenza e mutua esclusione 2 transizioni abilitate: Non si impediscono a vicenda concorrenti (es., le due dell esempio precedente) Possono continuare in mutua esclusione in conflitto (es., le due risultanti dallo stato in cui scatta quella di sinistra) Politica di scheduling: regola per l assegnazione di risorse a transizioni in conflitto (esterna, non rappresentata nella rete di Petri) Politica unfair un processo è in starvation (non ha mai la risorsa necessaria) Deadlock (stallo) nessuna transizione è abilitata Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

36 Esercizio 4 Con riferimento all ultima rete di Petri: Si può verificare uno stallo? Se ciò non è possibile, modificarla in maniera tale che ammetta stalli, e specificare in quali casi si possono verificare. Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

37 Esempio di modello descrittivo: Modello Entità Relazione Cliente 1,N 1,1 Articolo Fattura 1,N 1,N desc aliquota costo n.pezzi #fattura data emissione data pagamento Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

38 Semantica dei linguaggi Specifiche informali Tipicamente, linguaggio naturale (è accessibile al committente) Specifiche semiformali Immediatamente comprensibili, ma ambigue Notazioni grafiche accompagnate da linguaggio naturale Sono i modelli più usati allo stato dell arte Specifiche formali Eliminazione ambiguità Possibile verifica automatica di proprietà Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

39 Riassunto esempi linguaggi di specifica Semantica/ Stile Operazionale Descritttivo Semiformale DFD Diagramma classi UML Formale ASF, Reti di Petri ER Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

40 I.3. Ingegneria dei requisiti Ciclo di vita dei requisiti Caratteristiche di un buon documento di SRS Standard IEEE e struttura di un documento di SRS Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

41 Ciclo di vita dei requisiti 1. Analisi del problema Comprensione del problema, delle condizioni di risoluzione e dei vincoli a partire da una definizione generale delle necessità dei potenziali utenti. Scopo: comprendere cosa deve fare il sistema software che si vuole costruire. 2. Specifica dei requisiti Trasformazione dei requisiti in un documento di specifiche tecniche e funzionali caratterizzanti il sistema 3. Convalida delle specifiche Revisione delle specifiche, effettuata anche con l utente/committente. Nota: tipicamente, non è un ciclo di vita a cascata, ma iterativo Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

42 Caratteristiche di un buon documento di SRS 1. Non ambiguità Ogni requisito ha una sola interpretazione Esempio di frammento di specifica (di un word processor): La selezione è il processo di scelta di aree del documento su cui si desidera agire, ad esempio la selezione di un testo per renderlo nello stile italico. Ambiguità: per area del documento si intende: sequenza contigua di caratteri, oppure unione di sequenze contigue di caratteri? Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

43 Caratteristiche di un buon documento di SRS (2) 2. Consistenza Nessun requisito è in contraddizione con gli altri Esempio di frammento di specifica (di un word processor): A. Il testo deve avere linee di uguale lunghezza, decisa dall utente B. L andata a capo può avvenire solamente alla fine di una parola Inconsistenza: cosa deve avvenire se una parola è più lunga della lunghezza specificata? A la parola va spezzata B la parola non va spezzata Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

44 Caratteristiche di un buon documento 3. Completezza di SRS (3) Interna: ogni concetto introdotto deve essere definito. Esempio: se non ci sono richieste, l ascensore entra in uno stato di attesa richiesta La specifica deve definire il concetto di stato di attesa richiesta ( glossario) Rispetto ai requisiti: tutti i requisiti devono essere documentati. Esempio: Se vogliamo che l ascensore senza richieste vada al piano terra ed apra le porte, dobbiamo affermarlo esplicitamente Nota: la completezza è spesso ottenibile solo incrementalmente: Sono necessari troppi dettagli Alcuni requisiti emergono nel corso del lavoro Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

45 Caratteristiche di un buon documento di SRS (4) 4. Correttezza Il documento rappresenta fedelmente le informazioni da modellare 5. Verificabilità È possibile stabilire se il prodotto sw rispetta i requisiti Richiede la non ambiguità dei requisiti. Esempi di requisiti non verificabili: tipicamente deve avvenire che, l interfaccia grafica deve essere di buona qualità. Esempio di requisito verificabile: Il programma deve produrre l output entro 20 nel 60% dei casi; deve produrre l output entro 30 nel 100% dei casi Nel caso di specifiche formali, alcune proprietà sono verificabili in modo rigoroso, per esempio la consistenza Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

46 Caratteristiche di un buon documento di SRS (5) 6. Classificazione per importanza Ad esempio: essenziale, condizionale/non pregiudica l accettazione opzionale Aiuta i clienti a capire cosa è per loro veramente importante Aiuta gli sviluppatori a compiere corrette decisioni progettuali Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

47 Caratteristiche di un buon documento di SRS (6) 7. Modificabilità La struttura e lo stile dell SRS sono tali da consentire facili modifiche, preservando consistenza e completezza. Note: Deve avere un organizzazione coerente, con indice, indice analitico, riferimenti incrociati Un documento di SRS ridondante non si modifica facilmente Ogni requisito dovrebbe essere espresso separatamente Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

48 Caratteristiche di un buon documento 8. Tracciabilità di SRS (7) Chiarezza dell origine di ciascun requisito. Possibilità di referenza nello sviluppo futuro Matrici di tracciabilità per la gestione dei requisiti (ad es., funzionalità/requisiti) Forward traceability: ogni requisito è collegabile a qualche elemento del progetto e del codice Backward traceability: dal progetto e dal codice è possibile risalire al requisito corrispondente Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

49 Struttura di un documento di SRS Lo standard IEEE fornisce esempi della struttura di un documento SRS: Table of contents 1.Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions, Acronyms, and Abbreviations 1.4. References 1.5. Overview 2.General Description 2.1. Product Perspective 2.2. Product Functions 2.3. User Characteristics 2.4. General Constraints 2.5. Assumptions and Dependencies Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

50 Struttura di un documento di SRS (2) 3.Specific Requirements 3.1. External Interface Requirements User Interfaces Hardware Interfaces Software Interfaces Communications Interfaces 3.2. Functional Requirements / Objects 3.3. Performances Requirements 3.4. Logical database requirements 3.5. Design Constraints Standard Compliance Hardware Limitation 3.6. Attributes Reliability 3.7. Other Requirements 4. Appendixes Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

51 Struttura di un documento di SRS (3) 3.2. Class/Object Class/Object Attributes Attribute Functions (methods) Functional requirement Messages (received or sent) Class/Object 2 Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

52 Soluzione esercizi parte 3, sezione 1 Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

53 Soluzione esercizio 1 Scaffali Titolo e autore del libro; nome cittadino Richiesta libro dal cittadino Lista autori Lista titoli Autore Titolo Titolo Libro Prendi un libro Ricerca tramite argomenti Libro Lista titoli che si riferiscono all argomento Titolo del libro; nome cittadino Consegna libro Lista libri in prestito Lista argomenti Argomento Richiesta argomento dal cittadino Mostra titoli Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

54 Soluzione esercizio 1 (2) Scaffali Libro Prendi un libro Libro Consegna libro Lista autori Lista titoli Autore Titolo Trova posizione di un libro Scaffale e posizione Titolo del libro; nome cittadino Lista libri in prestito Titolo e autore del libro; nome cittadino Richiesta libro dal cittadino Ing. del SW: Terza parte Sez I Marco Cadoli, Università La Sapienza, nov

Analisi dei Requisiti e Definizione delle Specifiche

Analisi dei Requisiti e Definizione delle Specifiche e Definizione delle Specifiche Scopi della fase Processo di specifica dei requisiti Analisi del problema Specifica dei requisiti Caratteristiche dell SRS la Validazione delle specifiche 1 Analisi e Specifica

Dettagli

Analisi e specifica dei requisiti

Analisi e specifica dei requisiti Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non

Dettagli

Il PROCESSO UNIFICATO

Il PROCESSO UNIFICATO Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante

Dettagli

Materiale didattico. Sommario

Materiale didattico. Sommario Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di

Dettagli

Metodologie e modelli di progetto

Metodologie e modelli di progetto Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili

Dettagli

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

MODELLO e RAPPRESENTAZIONE

MODELLO e RAPPRESENTAZIONE MODELLO e RAPPRESENTAZIONE I calcolatori elaborano informazione e restituiscono nuova informazione: questa deve essere rappresentata in forma simbolica Esempio : Per poter gestire una biblioteca dobbiamo

Dettagli

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati Basi di Dati Cosa vuol dire progettare una base di dati? Il DBMS non va progettato il DBMS si acquista o esiste già è impossibile pensare di sviluppare un DBMS anni di sviluppo necessità di elevate competenze

Dettagli

I Diagrammi di Flusso OO

I Diagrammi di Flusso OO Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli

Dettagli

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino

Modellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino Modellazione di Workflow mediante le Reti di Petri Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Il successo di un sistema di workflow si basa sulla qualità dei flussi di lavoro che lo compongono.

Dettagli

Corso di Laurea in Informatica Basi di Dati a.a

Corso di Laurea in Informatica Basi di Dati a.a Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Presentazione delle lezioni di laboratorio: finalità del corso modalità

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013 La Raccolta dei Requisiti Corso di Ingegneria del Software Anno Accademico 2012/2013 Introduzione La raccolta dei requisiti è il processo della determinazione in forma testuale (anche grafica) di che cosa

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli

Web Application Engineering

Web Application Engineering Web Application Engineering analisi del dominio cristian lucchesi IIT-CNR Pescara, 15-16 Maggio 2007 Alei Ud A 1 Analisi del dominio l'obiettivo è di arrivare alla definizione sufficientemente rigorosa

Dettagli

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Introduzione. Sommario. Il software. Definizione di Ingegneria del software Sommario Introduzione Leggere Cap. 1 Ghezzi et al. Definizione Nascita dell ingegneria del software Ruolo Relazione con altre discipline Introduzione 2 Il software Il software e` definito come: i programmi,

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione

Dettagli

Specifica dei requisiti

Specifica dei requisiti Specifica dei requisiti Contenuto: Cosa sono i requisiti Specifica col metodo classico Standard IEEE 830-1998 Cenni su altri standard 1 Cosa sono i requisiti Con la parola requisito si intende una caratteristica

Dettagli

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale Progettazione del Software Laurea in Ing. Gestionale Prof. Toni Mancini & Prof. Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Esercitazione E.A.4 Diagrammi

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

Fasi della programmazione. Gabriella Trucco

Fasi della programmazione. Gabriella Trucco Fasi della programmazione Gabriella Trucco Algoritmi Uso di algoritmi nella vita quotidiana Algoritmo: sequenza di passi che, se intrapresa da un esecutore, permette di ottenere i risultati attesi a partire

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive

Dettagli

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo 1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo

Dettagli

Progettazione concettuale. Facoltà di Scienze Matematiche, Fisiche e Naturali. Progettazione concettuale. Acquisizione e analisi dei requisiti

Progettazione concettuale. Facoltà di Scienze Matematiche, Fisiche e Naturali. Progettazione concettuale. Acquisizione e analisi dei requisiti Facoltà di Scienze Matematiche, Fisiche e Naturali Progettazione concettuale Laurea in Bioinformatica Basi di Dati Anno Accademico 2008/2009 Barbara Oliboni Progettazione concettuale Analisi dei requisiti

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche

Dettagli

Elaboratore Elettronico

Elaboratore Elettronico L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti

Dettagli

AUTOMA A STATI FINITI

AUTOMA A STATI FINITI Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle

Dettagli

Luigi Piroddi

Luigi Piroddi Automazione industriale dispense del corso (a.a. 2008/2009) 9. Reti di Petri: analisi dinamica e metodi di riduzione Luigi Piroddi piroddi@elet.polimi.it Metodi di analisi di Reti di Petri Ci sono 2 modi

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Introduzione e Concetti Fondamentali Porfirio Tramontana, 2009 Corso di Ingegneria del Software Slide 1 Riferimenti Ian Sommerville, Ingegneria del Software, Capitolo 1 Porfirio

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Metodologie, Tecnologie e Strumenti per l automatizzazione dell informazione Corso di Laurea «Scienze dell Educazione» AA 2010-2011 Prof. Giorgio Poletti giorgio.poletti@unife.it

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

REGIONE BASILICATA UFFICIO S. I. R. S.

REGIONE BASILICATA UFFICIO S. I. R. S. UFFICIO S. I. R. S. Modellazione dati Id Base Dati CONTROLLO DEL DOCUMENTO APPROVAZIONI Redatto da: Approvato da: Data Autore Ing. Vincenzo Fiore VARIAZIONI Versione prec. Data Autore Paragrafi modificati

Dettagli

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari

Dettagli

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale Le basi di dati Lez. 2: Progettazione di un DB Cos è un dato? Un dato (dal latino datum) è la descrizione elementare di una cosa, di un avvenimento. Un dato è utilizzabile se esiste una chiave di interpretazione.

Dettagli

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi

Dettagli

3. Programmi e algoritmi

3. Programmi e algoritmi 3. Programmi e algoritmi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides del corso «Fondamenti di Informatica» del Prof. Montessoro (Università degli Studi di Udine) Recall:

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

IL PROCESSO di PROGETTAZIONE

IL PROCESSO di PROGETTAZIONE IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: Ruolo della modellazione nella comunicazione tipi di modello nel progetto I modelli del prodotto Interpretazione delle informazioni del progetto

Dettagli

Corso di Ingegneria del Software. Activity Diagram

Corso di Ingegneria del Software. Activity Diagram Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.

Dettagli

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE TERZA 1. Competenze: le specifiche competenze di base disciplinari previste dalla

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

SISTEMI INFORMATIVI E DATABASE

SISTEMI INFORMATIVI E DATABASE SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,

Dettagli

Luigi Piroddi

Luigi Piroddi Automazione industriale dispense del corso 9. Reti di Petri: analisi dinamica e metodi di riduzione Luigi Piroddi piroddi@elet.polimi.it Metodi di analisi di Reti di Petri Ci sono 2 modi per analizzare

Dettagli

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Compressione dati

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica. Compressione dati Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Medica Compressione dati Compressione dei dati Il processo di compressione consiste nell effettuare codifiche

Dettagli

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA SETTORE ECONOMICO PROFESSIONALE 1 Servizi di informatica Processo Sviluppo e gestione di prodotti e servizi informatici Sequenza di

Dettagli

Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1

Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1 Modelli di processo Ciclo di vita di un prodotto sw = tutte le fasi che accompagnano tale prodotto dal concepimento dell idea dello stesso fino al suo ritiro Modello di processo = tentativo di organizzare

Dettagli

3. Ciclo di Vita e Processi di Sviluppo

3. Ciclo di Vita e Processi di Sviluppo 3. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 3. Ciclo di Vita e Processi di

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Luigi Piroddi

Luigi Piroddi Automazione industriale dispense del corso (a.a. 2008/2009) 10. Reti di Petri: analisi strutturale Luigi Piroddi piroddi@elet.polimi.it Analisi strutturale Un alternativa all analisi esaustiva basata sul

Dettagli

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

Progettazione di circuiti integrati

Progettazione di circuiti integrati Architetture e reti logiche Esercitazioni VHDL a.a. 2007/08 Progettazione di circuiti integrati Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Indice. Prefazione. sommario.pdf 1 05/12/

Indice. Prefazione. sommario.pdf 1 05/12/ Prefazione xi 1 Introduzione 1 1.1 Evoluzione della progettazione dei sistemi digitali 1 1.2 Flusso di progettazione dei sistemi digitali 2 1.3 Obiettivi del libro 6 1.4 Struttura ragionata del libro 7

Dettagli

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

2. Modellazione dei casi d uso

2. Modellazione dei casi d uso 2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario

Dettagli

Concetti di base dell ICT

Concetti di base dell ICT Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:

Dettagli

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

Primi passi col linguaggio C

Primi passi col linguaggio C Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 B2.1 - Progettazione concettuale 1 Prerequisiti Tecnica top-down Tecnica bottom-up Chiave primaria Relazione Generalizzazione e specializzazione 2 1 Introduzione Dopo lo

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema

Dettagli

Linee di programmazione

Linee di programmazione Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

Cap. 1-I 1 I sistemi informatici

Cap. 1-I 1 I sistemi informatici Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill, 2007 Informazioni sul corso http://www.docenti.unina.it/lucio.sansone Ricevimento

Dettagli

LA PROGETTAZIONE CONCETTUALE

LA PROGETTAZIONE CONCETTUALE Argomenti della lezione LA PROGETTAZIONE CONCETTUALE Prima parte Un esercizio sulle generalizzazioni Documentazione di schemi E-R Raccolta e analisi dei requisiti Criteri generali di rappresentazione Strategia

Dettagli

Reti combinatorie. Reti combinatorie (segue)

Reti combinatorie. Reti combinatorie (segue) Reti combinatorie Sommatore Sottrattore Reti sequenziali Generatore di sequenze Riconoscitore di sequenze Reti combinatorie PROGRAMMAZIONE Il programmatore riporta le istruzioni che il calcolatore dovrà

Dettagli

Indice generale. Prefazione

Indice generale. Prefazione Prefazione vii 1 Classificazione dei sistemi e dei modelli 1 1.1 Introduzione 1 1.2 Principi di base della teoria dei sistemi e del controllo 2 1.2.1 I concetti di sistema e di modello 3 1.2.2 Il concetto

Dettagli