Principi di programmazione OO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Principi di programmazione OO"

Transcript

1 Principi di programmazione OO Ing. Paolo Vaccari Giovedì 9 e 16 Marzo 2006 Corsi Speciali L.143/04 - SSIS TOSCANA 2005/2006

2 Principi di programmazione OO Prima lezione: Programmazione OO e procedurale Introduzione all OOP UML Seconda lezione: Linguaggi Oggetti e C++ Esempi

3 Prima lezione Programmazione procedurale e OO Differenze Problemi e soluzioni Orientamento agli oggetti UML Introduzione all OOP A cosa serve l UML Tipi di diagrammi

4 Procedurale e OO Quando si scrive un programma si crea dentro il calcolatore un modello di una porzione del mondo reale. I linguaggi di programmazione procedurali consentono di costruire modelli che privilegiano l aspetto procedurale, cioè le operazioni (funzioni) I linguaggi di programmazione OO consentono di costruire modelli che privilegiano le entità (i valori)

5 Procedurale e OO I linguaggi di programmazione tradizionali (C, Fortran, Basic, Pascal) sono procedurali Un programma/sottoprogramma viene visto come la trasformazione degli argomenti di ingresso X in un risultato Y, secondo la procedura P X P Y

6 Procedurale e OO La programmazione procedurale è ottima per produrre codice di dimensioni modeste, ma non ideale per progetti complessi e per le moderne esigenze industriali Il codice procedurale è: difficile da riutilizzare difficile da sviluppare in team di più persone non riflette in maniera naturale il nostro modo di pensare

7 Procedurale e OO Vantaggi della programmazione OO: favorisce la suddivisione del codice in unità funzionalmente indipendenti possono essere sviluppate autonomamente e contemporaneamente da più programmatori l uso degli oggetti ci riporta all esperienza quotidiana e risulta quindi più intuitivo ci porta a scrivere codice meno complicato, più facile da capire, correggere, aggiornare e riutilizzare impedisce alcuni errori e problemi nell accesso e manipolazione dei dati che i linguaggi procedurali non riescono ad evitare.

8 Orientamento agli oggetti Un oggetto è una entità composta da: proprietà che caratterizzano l oggetto e ne definiscono lo stato funzioni che possono essere eseguite sull oggetto e che possono modificare lo stato dell oggetto Lampadina accesa = falso vero accendi() spegni() Tipo oggetto Proprietà dell oggetto Funzioni che possono essere eseguite sull oggetto

9 Orientamento agli oggetti Tutti gli oggetti di uno stesso tipo formano una classe di oggetti (oggetto = istanza di una classe) Una classe è caratterizzata da: Proprietà a cui è associato un tipo che rappresenta l insieme dei possibili valori che oggetti appartenenti alla classe possono avere per la proprietà (bool, integer, real, string, etc.) Funzioni che possono essere eseguite sugli oggetti appartenenti alla classe

10 Orientamento agli oggetti Gli oggetti descritti tramite proprietà e funzioni sono una astrazione degli oggetti reali dei quali si considerano solo le caratteristiche necessarie per l applicazione da sviluppare Esempio: in una applicazione bancaria l altezza di una persona non è una informazione rilevante mentre lo è in una applicazione medica. Viceversa per il codice fiscale...

11 Orientamento agli oggetti Principi: Identità dell oggetto: ogni oggetto ha una propria identità univoca in tutto il sistema Occultamento dei dati (data hiding): i dati interni all oggetto sono nascosti all esterno Uso vietato Dati Funzioni private Uso consentito Funzioni pubbliche

12 Orientamento agli oggetti Principi: Ereditarietà: gli oggetti possono ereditare da altri oggetti comportamenti e proprietà aggiungendone dei propri Polimorfismo: funzioni con lo stesso nome possono avere una semantica diversa secondo il contesto in cui vengono chiamate

13 UML UML: Unified Modelling Language E la principale notazione standardizzata a livello internazionale Analogia con le norme standardizzate di disegno in altri campi dell ingegneria (norme UNI) Notazione, non metodologia Standardizzazione del modo di raffigurare i concetti permette di scambiare documenti di specifica, progetto e implementazione, non ambigui e comprensibili da tutti

14 UML Problema committente/fornitore: buona parte dei problemi nella costruzione e nel funzionamento di un prodotto software sono imputabili a incomprensioni tra il cliente/committente e il fornitore Il primo ha confusamente in mente di cosa ha bisogno, il secondo vuole proporre soluzioni di più basso costo di produzione possibile. Se il linguaggio comune continua a essere il linguaggio naturale, un eventuale accordo sarà comunque viziato dalla soggettività dei due stakeholders Necessità di un linguaggio comune il più possibile formalizzato, non ambiguo e comprensibile anche a un non tecnico

15 Le classi Una classe è una descrizione di un insieme di oggetti che condividono gli stessi attributi, operazioni, relazioni e semantica. Graficamente è rappresentata per mezzo di un rettangolo suddiviso in tre sezioni: nome, attributi, operazioni. Lampadina accesa = falso vero colore = azzurro accendi() spegni() Nome Attributi Operazioni (metodi)

16 Le classi: visibilità Tipologie di visibilità: Pubblica (+): l attributo/metodo è accessibile da qualsiasi altro oggetto che possiede un riferimento all oggetto che lo contiene; Privata (-): l attributo/metodo è accessibile solo all interno della rispettiva classe; Protetta (#): l attributo/metodo è accessibile da tutte le classi che ereditano da quella che lo contiene.

17 Le classi: visibilità Esempi: Attributi accessibili solo dai metodi della classe Data Metodi accessibili da chi usa la classe Data -giorno:int -mese:int -anno:int Data +set(g:int, m:int, a:int):bool +add(ngiorni:int) Attributo accessibile dalle classi derivate da Risorsa Risorsa #nome:string +set(n:string)

18 Le classi: relazioni Le classi possono essere collegate tra loro da relazioni: un pilota comanda un aeroplano la luce verde è parte di un semaforo Queste relazioni, come le classi, possono essere identificate a partire dalla descrizione informale del problema Tre tipi fondamentali di relazioni: dipendenza, generalizzazione e associazione

19 Le classi: relazioni La relazione di dipendenza è soprattutto legata ad aspetti implementativi Esprime il fatto che una classe dipende in qualche modo da un'altra classe Ad esempio: si usa quando una classe in un suo metodo usa un altra classe per svolgere un compito Le associazioni e le relazioni di specializzazione sono implicitamente anche relazioni di dipendenza Dipendente CodiceFiscale La classe Dipendente dipende dalla classe CodiceFiscale

20 Le classi: relazioni L associazione può essere contraddistinta da ruoli e molteplicità Ordini Clienti clientedal getordini 1 emette 0..* emesso da dataordine stato calcolatasse calcolatotale setstato 1 Articoli codice descrizione peso prezzo 1 nell ordine riguarda articolo 0..* 1..* DettagliOrdine quantità calcolapeso calcolaprezzo

21 Le classi: relazioni Aggregazione: tipo particolare di associazione è un'associazione più forte esprime concetto è parte di ( part of ), che si ha quando un insieme è relazionato con le sue parti Composizione: altro tipo di associazione è un'aggregazione più forte appartenenza molto forte A volte la differenza non è facile da individuare...

22 Le classi: relazioni Generalizzazione/Specializzazione padre-figlio: ereditarietà relazione è un ( is a )

23 Le classi: relazioni Altro esempio di ereditarietà:

24 Le classi: classi astratte Classi astratte: rappresentano un concetto o una categoria senza un corrispettivo reale (non possono essere istanziate) FiguraGeometrica rappresenta un concetto astratto che non può essere istanziato se non tramite una classe derivata (e.g.: Poligono) In UML le classi astratte si identificano con <<abstract>> FiguraGeometrica <<abstract>> #nome:string +setnome(n:string)

25 Le classi: interfacce Una interfaccia rappresenta un insieme di funzionalità che una classe offre a chi la usa Più classi possono implementare una stessa interfaccia Una interfaccia è una classe senza proprietà e solo con operazioni: <<interface>> GestioneRisorse aggiungirisorsa(r:risorsa) eliminarisorsa(r:risorsa)

26 Le classi: interfacce Una classe può implementare una interfaccia La classe Progetto realizza l interfaccia GestioneRisorse, quindi dovrà implementare le funzioni aggiungirisorsa e eliminarisorsa Progetto <<interface>> GestioneRisorse aggiungirisorsa(r:risorsa) eliminarisorsa(r:risorsa)

27 Le classi: interfacce Una classe può usare una interfaccia La classe GestioneRisorseUI che realizza l interfaccia utente per inserire e cancellare risorse usa un oggetto che implementa l interfaccia GestioneRisorse. Il concetto di uso è piuttosto generico GestioneRisorseUI <<use>> <<interface>> GestioneRisorse aggiungirisorsa(r:risorsa) eliminarisorsa(r:risorsa)

28 Le classi: interfacce Più in dettaglio una classe può essere associata con una interfaccia La classe GestioneRisorseUI è associata con un oggetto che implementa l interfaccia GestioneRisorse. GestioneRisorseUI gestisce 1 <<interface>> GestioneRisorse aggiungirisorsa(r:risorsa) eliminarisorsa(r:risorsa)

29 Le classi: interfacce Un oggetto GestioneRisorseUI è associato con un qualsiasi oggetto che implementa l interfaccia GestioneRisorse GestioneRisorseUI Notazione per l'implementazione delle interfacce GestioneRisorseUI gestisce gestisce GestioneRisorse Progetto GestioneRisorse RisorseDisponibili

30 Le classi: esempio Un diagramma delle classi concettuale

31 Diagrammi UML Requisiti funzionali Diagrammi di casi d uso: i requisiti sono rappresentati come attività Modello di dominio Diagramma delle classi: mostra la struttura del dominio tramite classi Modello orientato agli oggetti del sistema Diagramma delle classi: mostra la struttura del sistema Collaborazione degli oggetti Diagramma di sequenza Diagramma di collaborazione: mostrano la collaborazione dinamica tra gli oggetti per realizzare un caso d uso Stato dell oggetto Diagramma degli stati: mostra gli stati attraverso cui passa un oggetto

32 I Casi d Uso Per descrivere i requisiti funzionali del sistema si considerano degli esempi di uso del sistema Un caso d uso è una unità isolata e consistente che rappresenta una parte della funzionalità del sistema; dovrebbe costituire una unità logica di applicazione al sistema Il diagramma dei casi d uso raccoglie questi casi d uso e mostra chi usa il caso d uso (attore) le relazioni tra i casi d uso E un diagramma di alto livello che dà un visione molto approssimata del sistema I requisiti sono espressi nella descrizione dei casi d uso più che nel diagramma dei casi d uso.

33 Diagramma dei Casi d Uso Elementi di base: Comprare biglietto Caso d uso identificato da un titolo che lo descrive Acquirente Eseguire prenotazione Attore, chi usa il caso d uso. Può essere una persona fisica ma anche un sistema esterno Linea di comunicazione tra attore e caso d uso indica che l attore usa il caso d uso

34 Diagramma dei Casi d Uso Relazioni tra attori: Iscrizione Studente Richiesta certificato iscrizione Generalizzazione: lo Studente Lavoratore e uno Studente, i casi d uso che si applicano ad uno Studente valgono anche per uno Studente Lavoratore, ma non viceversa Studente Lavoratore Richiesta esenzione

35 Diagramma dei Casi d Uso Relazioni tra casi d uso: include Si usa per evidenziare delle funzionalità di base (ma non troppo ) Inclusione, il caso d uso Iscrizione esame prevede al suo interno l esecuzione del caso d uso Inserimento matricola Studente Iscrizione esame <<include>> Inserimento <<include>> matricola Richiesta certificato iscrizione Anche il caso d uso Richiesta certificato iscrizione prevede al suo interno l esecuzione del caso d uso Inserimento matricola

36 Diagramma dei Casi d Uso Relazioni tra casi d uso: extend Condition: { se l utente vuole la ricevuta } Extension point: ricevuta extension point: ricevuta <<extend>> Stampa ricevuta Prelevare al bancomat Cliente Estensione, il caso d uso Prelevare al bancomat e esteso in alcuni punti indicati da ricevuta dal caso d uso Stampa ricevuta L estensione può essere condizionata.

37 Diagramma dei Casi d Uso Relazioni tra casi d uso: generalizzazione Verifica con impronta digitale extension point: ricevuta <<include>> Verifica identità Verifica con password Prelevare al bancomat Cliente <<extend>> Stampa ricevuta Generalizzazione, il caso d uso Verifica con password e una specializzazione del caso d uso Verifica identità

38 Diagramma dei Casi d Uso Raggruppamento casi d uso in sistemi: Prelevare al bancomat Cliente Amministratore Sportello Bancomat Ricarica telefonino al bancomat Rifornimento contante Sportello bancomat Servizio bancario Sistema da specificare

39 Diagrammi dei Casi d Uso Considerazioni: Il diagramma dei casi d uso ha solo una funzione riassuntiva sui casi d uso del sistema e non e fondamentale (il diagramma non i casi d uso) Se sono presenti centinaia di casi d uso il diagramma diventa ingestibile e praticamente inutile, si possono dividere i casi d uso per sotto-sistemi

40 Descrizione Casi d Uso La descrizione di un caso d uso deve avere: Un identificativo univoco Un titolo che riporti la funzionalità del caso d uso Una breve descrizione, riassunto dei requisiti espressi dall utente Presupposti per l esecuzione del caso d uso La sequenza delle interazioni tra attore ed il sistema, contrassegnate da E per indicare l attore, e da A per indicare la risposta del sistema Gli effetti del caso d uso sul sistema (cambiamento di stato) Osservazioni che aiutino la comprensione del caso d uso e requisiti non funzionali (es. tempi risposta) La descrizione dei casi d uso non è standardizzata Comunque il caso d uso deve essere scritto in modo che sia comprensibile dal committente Non è necessario entrare troppo nel dettaglio

41 Descrizione Casi d Uso Numero: 1 Titolo: Prelievo bancomat Breve descrizione: il cliente effettua un prelievo al bancomat Presupposti: nessuno Descrizione procedimento: E1) il cliente inserisce la carta bancomat A1) il sistema valida la carta inserita Esecuzione caso d uso Verifica Identità A2) il sistema presenta la scelta dell importo da prelevare E2) il cliente seleziona l importo e preme esegui A3) il sistema richiede se il cliente vuole la stampa della ricevuta E3) l utente preme SI o NO A4) Il sistema emette la carta E4) il cliente ritira la carta A5) Il sistema eroga il denaro richiesto E5) il cliente ritira il denaro A6) se l utente ha premuto SI - Extension point: ricevuta Effetti: Il credito residuo per il periodo viene diminuito dell importo inserito, l importo viene addebitato sul conto Osservazioni: Il sistema deve validare l identità entro 1 minuto

42 Modello di Dominio Il modello di dominio mostra gli oggetti più importanti del dominio applicativo e le loro relazioni Si usa il diagramma delle classi Classi Associazioni Generalizzazione/specializzazione Si può creare prima dei casi d uso per capire quali sono gli oggetti che i casi d uso devono gestire

43 Modello di Dominio Classi Persona nome : string codicefiscale : string datanascita : date Classe con attributi Persona Classe con attributi e metodi nascosti o non specificati Persona nome : string codicefiscale : string datanascita : date verificacodicefiscale( ) Classe con attributi e metodi Specializzazione/generalizzazione Persona Dipendente Il Dipendente è una Persona ed eredita da questa tutte le sue caratteristiche

44 Modello di Dominio Associazioni Ogni Dipendente ha una propria Scrivania: Dipendente 1 Lavora-a > 1 Scrivania Ogni Dipendente lavora in un Gruppo di Lavoro che e formato da almeno un Dipendente: Dipendente 1..* Lavora-in 1 Gruppo lavoro Un Attore lavora a più Film con Ruolo diverso e ad un Film lavorano più Attori con ruoli diversi: Attore * * Film Ruolo

45 Modello di Dominio Associazione di composizione Progetto 1 * Gruppo lavoro Indica che un oggetto (indicato dal rombo pieno) è composto da altri oggetti Se l oggetto composto cessa di esistere cessano di esistere anche tutti i suoi componenti Il progetto è una composizione di gruppi di lavoro, se il progetto viene eliminato tutti i gruppi di lavoro che vi lavoravano vengono eliminati

46 Modello di Dominio Associazione di aggregazione Gruppo lavoro 1 * Dipendenti Indica che un oggetto (indicato dal rombo vuoto) è una aggregazione di altri oggetti Se l oggetto aggregato cessa di esistere non cessano di esistere anche i suoi componenti Il gruppo di lavoro è una aggregazione di dipendenti, se il gruppo di lavoro viene eliminato i dipendenti continuano a esistere se non vengono licenziati.

47 Diagramma degli stati Il diagramma degli stati evidenzia gli stati attraverso cui un oggetto passa in base alle interazioni con l esterno Esempio: cancelletto girevole Transizione di Stato (dipende dalla moneta!) quando l utente passa (evento Pass) esegue il Lock e passa nello stato Locked

48 Diagramma degli stati Un po più complicato

49 Diagramma di Collaborazione Il diagramma delle classi e dei casi d uso sono diagrammi statici Il diagramma di collaborazione è un diagramma dinamico che fa vedere come gli oggetti collaborano tra loro Si usa per far vedere come viene realizzato un caso d uso (o una sua parte)

50 Diagramma di Collaborazione Elementi: 1. L oggetto a esegue il metodo metodo1 sull oggetto b a : Oggetto 1: metodo1( ) b : Oggetto 2. L oggetto b esegue il metodo metodo2 sull oggetto d un certo numero di volte (*) 2: metodo1( ) 1.1 *: metodo2( ) c : Oggetto 2.1*: metodo2( ) d : Oggetto 3. L oggetto a esegue il metodo metodo1 sull oggetto c 4. L oggetto c esegue il metodo metodo2 sull oggetto d un certo numero di volte (*)

51 Diagramma di Sequenza E un diagramma dinamico che mostra lo svolgimento temporale delle interazioni tra oggetti a:oggetto b:oggetto scegli() calcola() L oggetto a esegue il metodo calcola sull oggetto b Tempo metodo() Viene restituito il valore calcolato (può essere omessa la freccia) L oggetto a esegue il metodo metodo sull oggetto a stesso

52 Diagramma di Sequenza In un metodo si possono creare e/o distruggere degli oggetti a:oggetto L oggetto a crea un nuovo oggetto b nell esecuzione del metodo scegli Tempo scegli() nuovo() b:oggetto calcola() distruggi() Viene distrutto l oggetto b

53 Diagramma interazione sottosistemi Indica come interagiscono i sottosistemi Il sottosistema Amministrazione usa l interfaccia pubblicata dal sottosistema Cassa Amministrazione Dati Cassa Il sottosistema Amministrazione fornisce l interfaccia Dati che viene usata dal sottosistema Chiosco Chiosco

54 Diagramma Componenti Indica come interagiscono i componenti Amministrazione Il componente Amministrazione usa i servizi dei componenti DB Amministrazione e Comunicazioni Amministrazione DB Amministrazione Chiosco Comunicazioni Amministrazione Comunicazioni Chiosco

55 Diagramma delle classi Nella fase di progetto al modello di dominio si aggiungono altri dettagli: Visibilità degli attributi e metodi Navigabilità delle associazioni Metodi delle classi Inoltre: si operano trasformazioni al modello nel caso il linguaggio di programmazione adottato non supporti delle caratteristiche usate nella modellazione del dominio (es.: Java e C# non supportano ereditarietà multipla) si aggiungono classi di supporto per esempio per realizzare associazioni Si usano i diagrammi di collaborazione e sequenza per mostrare le interazioni tra gli oggetti tramite i metodi

56 Diagramma delle classi Navigabilità delle associazioni Le associazioni possono avere una indicazione di navigabilità per indicare la direzione in cui si vuole percorrere l associazione Gruppo lavoro 1 * Dipendenti La direzione della freccia indica che da un Gruppo di lavoro si vuole sapere quali sono i dipendenti del gruppo

57 Diagramma delle classi I Package Per gestire la complessità del diagramma delle classi, le classi che sono tra loro in relazione possono essere riunite in un package e possono essere mostrate in un diagramma in modo compatto Risorse Risorsa Risorsa (from Risorse) Progetto Progetto

58 Riferimenti Documentazione: OMG ( La casa dell'uml (specifiche e tutorial) Software: ArgoUML ( open source (licenza BSD) Windows, Linux, Mac (con Java VM) Java (reverse engineering) BoUML ( open source (licenza GPL) Windows, Linux, Mac (con librerie QT) C++, Java (generazione e reverse ) Microsoft Visio

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Object Oriented Software Design

Object Oriented Software Design Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

Dettagli

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13 Raccolta dei Requisiti con i Casi D'uso Corso di Ingegneria del Software Anno Accademico 2012/13 I casi d uso I casi d'uso (use case) sono una tecnica utilizzata per identificare i requisiti funzionali

Dettagli

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

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

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

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

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

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Dalla progettazione concettuale alla modellazione di dominio

Dalla progettazione concettuale alla modellazione di dominio Luca Cabibbo A P S Analisi e Progettazione del Software Dalla progettazione concettuale alla modellazione di dominio Capitolo 91 marzo 2015 Se qualcuno vi avvicinasse in un vicolo buio dicendo psst, vuoi

Dettagli

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Lezione 4-1 - UML Il diagramma delle classi Parte Seconda - 2 - Relazioni tra Classi&Oggetti I diagrammi delle classi mettono in evidenza i blocchi costitutivi del sistema

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

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Progettazione ad oggetti

Progettazione ad oggetti Progettazione ad oggetti Gli elementi reali vengono modellati tramite degli oggetti Le reazioni esistenti nel modello reale vengono trasformate in relazioni tra gli oggetti Cos'è un oggetto? Entità dotata

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

Dettagli

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

MODELLO E/R. Modellazione dei dati

MODELLO E/R. Modellazione dei dati MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti

Dettagli

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

!#$%&&'()#*%+%+!#$',,'()#*%+ -)%*&'&'+'$.)+-$$%&&) !#$%&&'(%)'*+%,#-%#.'%&'#/0)-+#12+3,)4+56#7+#.')8'9 !"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

Dettagli

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

La specifica del problema

La specifica del problema 2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

I database. Cosa sono e a cosa servono i Database

I database. Cosa sono e a cosa servono i Database I database Estratto dal Modulo 1 - I database Prof. Piero GALLO 1 Cosa sono e a cosa servono i Database Un database(o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di

Dettagli

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria ESAME DI STATO DI ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE PRIMA PROVA SCRITTA DEL 22 giugno 2011 SETTORE DELL INFORMAZIONE Tema n. 1 Il candidato sviluppi un analisi critica e discuta

Dettagli

UML Diagrammi delle classi. UML Diagramma classi 1

UML Diagrammi delle classi. UML Diagramma classi 1 UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro 802749 Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006 Esercizi entità relazione risolti a cura di Angela Campagnaro 802749 Indice: Esercizio 1: Un insieme di officine 1.1 Testo esercizio.3

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA DISPENSA DEL CORSO DI SISTEMI INFORMATIVI Prof. Carlo Combi DFD Appunti a cura di E. Peri M. Devincenzi Indice 1

Dettagli

Programmazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII)

Programmazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Programmazione A.A. 2002-03 I Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A. 2008-2009. Class Discovery E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A. 2008-2009. Class Discovery E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Class Discovery E. TINELLI Contenuti Classi di analisi: definizione ed esempi Tecniche per la definizione

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Dipendenza Associazione Sommario Relazioni

Dettagli

Claudia Raibulet raibulet@disco.unimib.it

Claudia Raibulet raibulet@disco.unimib.it Classi e stati Claudia Raibulet raibulet@disco.unimib.it la classe Cane modella le proprietà comuni di un insieme di oggetti quali attributi ha un cane peso colore come si comporta abbaia morde quali comandi

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER Basi di Dati Progettazione del Modello ER Dai requisiti allo schema ER Entità, relazioni e attributi non sono fatti assoluti dipendono dal contesto applicativo Nella pratica si fa spesso uso di una strategia

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

PROGETTAZIONE CONCETTUALE

PROGETTAZIONE CONCETTUALE PROGETTAZIONE CONCETTUALE 1 Il Modello Concettuale Nella progettazione concettuale la descrizione dei dati da rappresentare avviene a livello astratto indipendentemente dal computer e dal software utilizzato.

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

Un modello è ragionevole quando contiene queste tre caratteristiche.

Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Si consideri un agenzia che opera come biglietteria ferroviaria, aerea e navale, accettando diversi modi di pagamento. Si identifichino le principali entità coinvolte illustrando le gerarchie

Dettagli

Traccia di soluzione dell esercizio del 25/1/2005

Traccia di soluzione dell esercizio del 25/1/2005 Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello

Dettagli

Una metodologia per la specifica di software basato su componenti

Una metodologia per la specifica di software basato su componenti Luca Cabibbo Architetture Software Una metodologia per la specifica di software basato su componenti Dispensa ASW 445 ottobre 2014 La mappa non è il territorio. Douglas R. King 1 -Fonti [UML Components],

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

Il diagramma dei casi d uso

Il diagramma dei casi d uso Il diagramma dei casi d uso Laboratorio di Ingegneria del Software Prof. Paolo Ciancarini Dott. Sara Zuppiroli A.A. 2010/2011 Lab di Ingegneria del Software () Il diagramma dei casi d uso A.A. 2010/2011

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

Dettagli

Automazione Industriale 4- Ingegneria del Software

Automazione Industriale 4- Ingegneria del Software Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica

Dettagli

Lezione 4. Modello EER

Lezione 4. Modello EER Lezione 4 Modello EER 1 Concetti del modello EER Include tutti i concetti di modellazione del modello ER Concetti addizionali: sottoclassi/superclassi, specializzazione, categorie, propagazione (inheritance)

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

Modello di Controllo dell Accesso basato sui ruoli (RBAC) Modello di Controllo dell Accesso basato sui ruoli (RBAC) POLITICHE RBAC Sistemi di tipo Role Based Access Control (RBAC) assegnano i privilegi non agli utenti, ma alla funzione che questi possono svolgere

Dettagli

Identificare le classi in un sistema

Identificare le classi in un sistema 3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 11. Esercizi riassuntivi Dipartimento di Informatica Università di Pisa A.A. 2014/15 Descrizione del problema. L esempio descrive un sistema per il commercio, chiamato TradingSystem,

Dettagli

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi Introduzione alla Programmazione Orientata agli Oggetti Classi, Oggetti e Messaggi Agenda 1. La metodologia di progettazione ad oggetti Concetti fondamentali: oggetti, classi, messaggi 2. I concetti fondamentali

Dettagli

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo Prerequisiti Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo L opzione Conto lavoro è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione L opzione Conto lavoro permette

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Progettazione orientata agli oggetti

Progettazione orientata agli oggetti Progettazione orientata agli oggetti Introduzione alle tecniche orientate agli oggetti Modelli ad oggetti Oggetti, classi, associazioni, aggregazione OO - Introduzione Il compito del programmatore: collegare

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

object oriented analysis

object oriented analysis object oriented analysis 1 attività di analisi l obiettivo dell analisi è raggiungere la piena comprensione del dominio di interesse lo strumento è la descrizione di un modello di dominio mediante un opportuno

Dettagli

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

Dettagli

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

Dettagli

9. Architetture di Dominio

9. Architetture di Dominio 9. Architetture di Dominio imparare dall esperienza comune Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 9. Architetture di Dominio 1 / 20 Sommario 1 Architetture

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Basi di dati. Esercizi sul modello E.R.

Basi di dati. Esercizi sul modello E.R. Basi di dati Esercizi sul modello E.R. Esercizio 1, testo (1) Si vuole modellare un sistema per la gestione di visite mediche da svolgersi in diversi ambulatori medici Ogni visita è svolta in uno ed un

Dettagli

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

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale 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

Dettagli

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 12. Progettazione Dipartimento di Informatica Università di Pisa A.A. 2014/15 progettare prima di produrre Tipico della produzione industriale sul tavolo da disegno si usa la gomma,

Dettagli

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio

Dettagli