Analisi Modelli per la specifica dei requisiti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Analisi Modelli per la specifica dei requisiti"

Transcript

1 Modelli per la specifica dei requisiti Modelli semantici dei dati Entità-Relazioni (E-R) Modelli orientati all elaborazione dati Diagrammi di Flusso dei Dati (Data-Flow Diagrams, DFD) Modelli orientati alla classificazione Modelli orientati agli oggetti Modelli operazionali Automi a stati finiti Reti di Petri Modelli descrittivi Logica del primo ordine Logica temporale Ingegneria del Software L-A 2.63 Modelli per la specifica dei requisiti Obiettivo Specificare (cioè definire) le proprietà che il sistema dovrà avere senza descrivere una loro possibile realizzazione Approccio funzionale Astrae sino al massimo livello il modo di funzionare di un calcolatore Approccio orientato agli oggetti Si basa sulla stessa forma di astrazione applicata dagli uomini per affrontare la complessità del mondo Principio fondamentale: Astrazione Permette di gestire la complessità intrinseca del mondo reale Ignorare gli aspetti che non sono importanti per lo scopo attuale Concentrarsi maggiormente su quelli che lo sono Ingegneria del Software L-A 2.64 Ingegneria del Software L-A 2.1

2 Approccio Funzionale Tecnica della Scomposizione Funzionale Strategia: scegliere i passi ed i sotto-passi di elaborazione previsti per il sistema tipica analisi top-down L analista concentra la sua attenzione sulla modularizzazione delle procedure i moduli devono essere il più possibile indipendenti specifica le elaborazioni e le interfacce delle procedure La scomposizione in funzioni è molto volatile (a causa del continuo cambiamento dei requisiti funzionali) Ingegneria del Software L-A 2.65 Approccio Funzionale Astrazione procedurale Considerare ogni operazione come una singola entità Nonostante tale operazione sia effettivamente realizzata da un insieme di operazioni di più basso livello Ingegneria del Software L-A 2.66 Ingegneria del Software L-A 2.2

3 Approccio Orientato agli Oggetti Si basa sugli oggetti che sono molto più stabili delle funzioni Produce una specifica più resistente ai cambiamenti Fornisce una base efficace per L analisi del dominio Il riuso Fornisce una rappresentazione omogenea analisi progettazione programmazione in quanto si utilizzano Gli stessi principi La stessa notazione Gli stessi oggetti Ingegneria del Software L-A 2.67 Approccio Orientato agli Oggetti Astrazione dei dati Definire un tipo di dato in termini delle operazioni applicabili agli oggetti di quel tipo, con il vincolo che i valori di tali oggetti si possano modificare e osservare solo usando tali operazioni Si definiscono un insieme di attributi un insieme di operazioni (procedure) che manipolano in esclusiva tali attributi l unico modo per accedere agli attributi è tramite un operazione Gli attributi e le loro operazioni possono essere trattati come un tutto unico Ingegneria del Software L-A 2.68 Ingegneria del Software L-A 2.3

4 Approccio Orientato agli Oggetti Principio fondamentale: Incapsulamento Ogni tipo di dato deve rivelare il meno possibile della sua struttura interna e del suo funzionamento interno Obiettivo Minimizzare le modifiche da fare durante le fasi di sviluppo e di manutenzione Applicabile a tutti i livelli: Singoli attributi di una classe Singoli componenti del sistema Ingegneria del Software L-A 2.69 Approccio Orientato agli Oggetti Principio fondamentale: Ereditarietà Attributi e operazioni comuni devono essere specificati una volta sola Attributi e operazioni specifici vengono aggiunti e/o ridefiniti Obiettivo Semplificare la definizione e la realizzazione di tipi di dato simili Permette di esprimere esplicitamente le caratteristiche comuni, sino dalle prime attività dell analisi Ingegneria del Software L-A 2.70 Ingegneria del Software L-A 2.4

5 Modello dei dati del dominio del problema al fine di individuare Oggetti e classi rilevanti per il sistema da sviluppare Limitarsi esclusivamente a quelle classi che fanno parte del vocabolario del dominio del problema Relazioni tra le classi Per ogni classe Responsabilità Attributi Operazioni fondamentali cioè servizi forniti all esterno (interfaccia) Attività non strettamente sequenziali, ma reiterate sino alla produzione di un modello coerente Ingegneria del Software L-A 2.71 Modello dei dati Raggruppamento delle classi in sottosistemi Documentazione Diagrammi delle classi e dei sottosistemi Diagrammi di collaborazione tra le classi (opzionali) Per ogni classe, descrizione che ne specifica scopo, responsabilità, attributi, operazioni Per ogni attributo e ogni operazione, descrizione testuale accurata Ingegneria del Software L-A 2.72 Ingegneria del Software L-A 2.5

6 Notazione UML Una classe si rappresenta come un rettangolo diviso in 1 o 3 sezioni Stereotipo Nome della classe matricola cognome nome «attore» Esaminando getmatricola() getcognomenome() effettuaesame() Attributi Operazioni Ingegneria del Software L-A 2.73 Notazione UML matricola cognome nome «attore» Esaminando getmatricola() getcognomenome() effettuaesame() La prima sezione contiene Il nome della classe (in grassetto) può contenere Lo stereotipo della classe (ad esempio, controllore, attore, evento, interfaccia utente, database, ecc.) Il nome del pacchetto (package, namespace) Quizzer::Esaminando Altre proprietà della classe tra parentesi graffe ad esempio {abstract} Ingegneria del Software L-A 2.74 Ingegneria del Software L-A 2.6

7 Notazione UML matricola cognome nome «attore» Esaminando La seconda sezione contiene Gli attributi La terza sezione contiene Le operazioni getmatricola() getcognomenome() effettuaesame() Ingegneria del Software L-A 2.75 Notazione UML «attore» Esaminando Interfaccia IStudente IEsaminando matricola cognome nome getmatricola() getcognomenome() effettuaesame() Ingegneria del Software L-A 2.76 Ingegneria del Software L-A 2.7

8 Notazione UML «interface» IStudente «interface» IEsaminando getmatricola() getcognomenome() effettuaesame() matricola cognome nome «attore» Esaminando getmatricola() getcognomenome() effettuaesame() Ingegneria del Software L-A 2.77 Individuazione delle classi Due analisti non produrranno mai due modelli delle classi identici per lo stesso dominio applicativo La letteratura è ricca di approcci raccomandati per l individuazione delle classi Approccio basato sulle frasi nominali Approccio basato sulle strutture comuni Approccio guidato dai casi d uso Approccio CRC La cosa migliore è usare un approccio misto Ingegneria del Software L-A 2.78 Ingegneria del Software L-A 2.8

9 Individuazione delle classi Fonti principali Documento dei requisiti Altri documenti di tutti i tipi che descrivono il sistema Altre fonti Altri sistemi che funzionano nello stesso dominio o in domini analoghi Enciclopedie, nomenclature e documenti tecnici che descrivono il dominio Riutilizzare classi, gerarchie e strutture ottenute da precedenti analisi nello stesso dominio Ingegneria del Software L-A 2.79 Individuazione delle classi Il nome della classe deve Indicare al singolare un oggetto della classe Iniziare con una lettera maiuscola Essere un nome familiare All utente o All esperto del dominio del problema Non allo sviluppatore! Esempi Docente CorsoDiStudio AttivitaFormativa Ingegneria del Software L-A 2.80 Ingegneria del Software L-A 2.9

10 Individuazione delle classi Elencare i nomi (semplici o composti) che compaiono nei documenti raccolti, convertendoli al singolare Eliminare i nomi che sicuramente non si riferiscono a classi indicano attributi (dati di tipo primitivo) indicano operazioni Scegliere un solo termine significativo se più parole indicano lo stesso concetto (sinonimi) Ingegneria del Software L-A 2.81 Individuazione delle classi Attenzione agli aggettivi e agli attributi, possono Indicare oggetti diversi Indicare usi diversi dello stesso oggetto Essere irrilevanti Ad esempio: Studente bravo potrebbe essere irrilevante Studente fuori corso potrebbe essere una nuova classe Attenzione alle frasi passive, impersonali o con soggetti fuori dal sistema devono essere rese attive ed esplicite, perché potrebbero mascherare entità rilevanti per il sistema in esame Ingegneria del Software L-A 2.82 Ingegneria del Software L-A 2.10

11 Individuazione delle classi Individuare Attori con cui il sistema in esame deve interagire Persone Docente, Studente, Esaminatore, Esaminando, Sistemi esterni ReteLocale, Internet, DBMS, Dispositivi attuatori, sensori, Individuare Modelli e loro elementi specifici, cioè oggetti descrittivi e istanze specifiche Insegnamento Ingegneria del Software L-A CorsoDiStudio Ingegneria Informatica Facoltà Ingegneria Ingegneria del Software L-A 2.83 Individuazione delle classi Individuare Cose tangibili, cioè oggetti reali appartenenti al dominio del problema Banco, LavagnaLuminosa, Schermo, Computer, Individuare Contenitori (fisici o logici) di altri oggetti Facoltà, Dipartimento, Aula, SalaTerminali, ListaEsame, CommissioneDiLaurea, OrdineDegliStudi, Window, Form, Individuare Eventi o Transazioni che il sistema deve gestire e memorizzare - possono avvenire in un certo istante (ad es., una vendita) o - possono durare un intervallo di tempo (ad es., un affitto) Appello, EsameScritto, Registrazione, AppelloDiLaurea, Ingegneria del Software L-A 2.84 Ingegneria del Software L-A 2.11

12 Individuazione delle classi Per determinare se includere una classe nel modello, porsi le seguenti domande: Il sistema deve ricordare qualcosa sugli oggetti della classe? In caso negativo, la validità e l importanza della classe è dubbia; può anche succedere che un oggetto abbia delle operazioni, ma non abbia dati da memorizzare: per esempio, una classe che descrive un sistema esterno potrebbe avere solo operazioni per colloquiare col sistema in esame Il sistema deve interagire con gli oggetti di questa classe? Quali sono le responsabilità della classe? Ingegneria del Software L-A 2.85 Individuazione delle classi Attenzione a Oggetti con un solo attributo si può essere giunti a un livello di dettaglio troppo basso: probabilmente conviene includere l'oggetto come attributo di un altra classe Classi con un solo oggetto (singleton) Oggetti di tipo diverso con le stesse responsabilità Ingegneria del Software L-A 2.86 Ingegneria del Software L-A 2.12

13 Individuazione delle classi Attributi e operazioni devono essere applicabili a tutti gli oggetti della classe Se esistono Attributi con un valore ben definito solo per alcuni oggetti della classe e/o Operazioni applicabili solo ad alcuni oggetti della classe siamo in presenza di ereditarietà Esempio: dopo una prima analisi, la classe Studente potrebbe contenere un attributo booleano incorso, ma un analisi più attenta potrebbe portare alla luce la gerarchia: Studente StudenteInCorso StudenteFuoriCorso Ingegneria del Software L-A 2.87 Individuazione delle responsabilità Responsabilità di una classe Descrizione ad alto livello dello scopo per cui è stata definita la classe Vengono descritti solo i servizi disponibili pubblicamente, non quelli privati interni alla classe, la cui definizione sarebbe prematura Obiettivo aiutare nell identificazione di Classi Attributi Operazioni Relazioni tra le classi Ingegneria del Software L-A 2.88 Ingegneria del Software L-A 2.13

14 Individuazione delle responsabilità Principali sorgenti di informazione Documento dei requisiti Classi già identificate Cercare verbi che rappresentano azioni fatte da un oggetto del sistema Utilizzare le classi già identificate per il semplice fatto di esistere, devono avere almeno una responsabilità Annotare tutte le informazioni che gli oggetti devono mantenere e gestire Ingegneria del Software L-A 2.89 Individuazione delle responsabilità Una volta identificate, le responsabilità vanno assegnate alle classi in base ai seguenti criteri: Distribuire le responsabilità in modo bilanciato (molti oggetti che si scambiano messaggi) Assegnare le responsabilità al livello più generale possibile salendo la gerarchia delle classi Mantenere il comportamento collegato alle informazioni ad esso necessarie Ingegneria del Software L-A 2.90 Ingegneria del Software L-A 2.14

15 Individuazione delle responsabilità Metodo di analisi CRC (Class-Responsibility- Collaboration) di Cunningham e Beck Nome della classe Lista di responsabilità Lista di collaboratori I collaboratori sono le altre classi con le quali la classe in esame deve interagire Si utilizzano schede di cartoncino di 10x15 cm Ingegneria del Software L-A 2.91 Individuazione delle relazioni La maggior parte delle classi (degli oggetti) interagisce con altre classi (altri oggetti) in vari modi Quando si modella un sistema è necessario individuare: Non solo le entità coinvolte nel sistema Ma anche le relazione tra tali entità Una relazione (relationship) è una connessione tra entità Ingegneria del Software L-A 2.92 Ingegneria del Software L-A 2.15

16 Individuazione delle relazioni Nella modellazione object-oriented le relazioni più importanti sono: Ereditarietà Associazione Associazione generica Aggregazione Composizione Dipendenza Collaborazione (relazione usa) Relazione Istanza Classe Istanza di classe generica Classe generica (istanza di template template) Relazione Classe Metaclasse Ingegneria del Software L-A 2.93 Individuazione delle relazioni In ogni tipo di relazione, esiste un cliente C che dipende da un fornitore di servizi F C ha bisogno di F per lo svolgimento di alcune funzionalità che C non è in grado di effettuare autonomamente Conseguenza per il corretto funzionamento di C è indispensabile il corretto funzionamento di F Ingegneria del Software L-A 2.94 Ingegneria del Software L-A 2.16

17 Individuazione delle relazioni Tipo di relazione Ereditarietà Associazione Dipendenza sottoclasse classe dipendente (che usa) istanza classe Cliente contenitore superclasse contenuto classe da cui si dipende (che viene usata) classe Fornitore metaclasse Ingegneria del Software L-A 2.95 Individuazione dell ereditarietà Una classe B è in relazione EREDITA_DA con una classe A (B EREDITA_DA A), se B deriva da una modifica incrementale di A La classe B (specializzazione o sottoclasse) è simile alla classe A (generalizzazione o superclasse) e ne eredita Relazioni Attributi Operazioni AB AB Ingegneria del Software L-A 2.96 Ingegneria del Software L-A 2.17

18 Individuazione dell ereditarietà La ricerca delle relazioni di ereditarietà contribuisce a chiarire il significato delle varie classi e può portare alla scoperta di nuove classi Studente StudenteInCorso StudenteFuoriCorso Ingegneria del Software L-A 2.97 Individuazione dell ereditarietà L ereditarietà deve rispecchiare una tassonomia effettivamente presente nel dominio del problema Eccezione ereditarietà dell implementazione (ma siamo ancora in fase di analisi!) Non usare l ereditarietà solo per riunire caratteristiche comuni ad es., Studente e Dipartimento hanno entrambi un indirizzo, ma non per questo c è ereditarietà! Ingegneria del Software L-A 2.98 Ingegneria del Software L-A 2.18

19 Individuazione dell ereditarietà Ereditarietà semplice ogni classe della gerarchia ha al più una superclasse La struttura che si ottiene è sempre un albero Ereditarietà multipla almeno una classe della gerarchia ha più di una superclasse Se esistono antenati comuni ripetuti la struttura che si ottiene è un reticolo si hanno conflitti di nome la gestione può diventare molto complessa Ingegneria del Software L-A 2.99 Individuazione dell ereditarietà Tra due o più classi di una gerarchia possono esistere dei vincoli {overlapping} o {disjoin} Veicolo {overlapping} {disjoint} VeicoloTerrestre VeicoloAcquatico VeicoloMilitare VeicoloCivile CarroArmato Taxi Corazzata BarcaAVela Un reticolo di veicoli Ingegneria del Software L-A Ingegneria del Software L-A 2.19

20 Individuazione dell ereditarietà Veicolo OggettoMilitare OggettoCivile VeicoloTerrestre VeicoloAcquatico CarroArmato Taxi Corazzata BarcaAVela Una gerarchia multipla di veicoli, senza antenati ripetuti Ingegneria del Software L-A Individuazione delle associazioni Un associazione rappresenta una relazione strutturale tra due istanze di classi diverse o della stessa classe Un associazione può Rappresentare un contenimento logico (aggregazione) Una lista d esame contiene degli studenti Rappresentare un contenimento fisico (composizione) Un triangolo contiene tre vertici Non rappresentare un reale contenimento Una fattura si riferisce a un cliente Un evento è legato a un dispositivo Ingegneria del Software L-A Ingegneria del Software L-A 2.20

21 Individuazione delle associazioni Aggregazione Un oggetto x di classe X è associato a (contiene) un oggetto y di classe Y in modo non esclusivo x può condividere y con altri oggetti anche di tipo diverso (che a loro volta possono contenere y) Una lista d esame contiene degli studenti Uno studente può essere contemporaneamente in più liste d esame La cancellazione della lista d esame non comporta l eliminazione fisica degli studenti in lista Ingegneria del Software L-A Individuazione delle associazioni Composizione Un oggetto x di classe X è associato a (contiene) un oggetto y di classe Y in modo esclusivo y esiste solo in quanto contenuto in x Un triangolo contiene tre punti (i suoi vertici) L eliminazione del triangolo comporta l eliminazione dei tre punti Se la distruzione del contenitore comporta la distruzione degli oggetti contenuti, si tratta di composizione, altrimenti si tratta di aggregazione Ingegneria del Software L-A Ingegneria del Software L-A 2.21

22 Individuazione delle associazioni In UML La composizione è indicata con un rombo nero dalla parte del contenitore L aggregazione è indicata con un rombo bianco dalla parte del contenitore Ad ogni associazione è possibile aggiungere: Un nome (e una direzione di lettura del nome) I ruoli delle classi coinvolte La cardinalità, cioè il numero di oggetti che possono partecipare all'associazione Il contenimento (aggregazione o composizione) Ingegneria del Software L-A matrimonio Società nome indirizzo 1 lavora-per * datore-lavoro impiegato marito Persona nome indirizzo codicefiscale datanascita sottoposto moglie * dirigente 0..1 dirige Poligono 1 contiene {ordered} 3..* Punto Questo è un commento associato alla classe Poligono. Finestra * 1 BarraTitolo Pannello Bordo 1 1 Etichetta 1 Pulsante Chiusura Vari tipi di associazione. Ingegneria del Software L-A Ingegneria del Software L-A 2.22

23 Individuazione delle associazioni Per individuare potenziali aggregazioni o composizioni, considerare Insieme-PartiComponenti Contenitore-Contenuto Collezione-Membri Se contenitore e contenuto hanno un legame forte e uno stesso ciclo di vita, si tratta di composizione altrimenti, si tratta di aggregazione Ingegneria del Software L-A Individuazione delle associazioni Per individuare potenziali associazioni generiche, per ogni oggetto, porsi le domande A quali altri oggetti è collegato nel dominio del problema? Da chi deve ottenere informazioni per soddisfare alle sue responsabilità? Ingegneria del Software L-A Ingegneria del Software L-A 2.23

24 Individuazione delle associazioni Una volta determinata la presenza di un associazione Tracciare la linea di connessione, eventualmente col simbolo di aggregazione o composizione dalla parte del contenitore Se possibile, dare un nome all associazione e ai due ruoli, scegliendolo tra i termini del dominio del problema Definire il valore, l intervallo o l insieme di valori e/o intervalli del limite inferiore la connessione è opzionale? il limite inferiore è 0 la connessione è obbligatoria? il limite inferiore è1 limite superiore la connessione è singola? il limite superiore è 1 la connessione è multipla? il limite superiore è > 1 Ingegneria del Software L-A Individuazione delle associazioni Cardinalità Simbolo Significato Esempi n valore singolo 1 * da 0 a * n..m n,m intervallo insieme di valori e/o intervalli * 1,3..5,7 Ingegneria del Software L-A Ingegneria del Software L-A 2.24

25 Individuazione delle associazioni Attenzione alle associazioni molti a molti possono nascondere una classe (classe di associazione) del tipo evento da ricordare Esempio: la connessione proprietà tra Proprietario e Veicolo nasconde una classe CompraVendita, che lega Proprietari e Veicoli Esempio: la connessione matrimonio tra Persona e Persona nasconde una classe Matrimonio, che lega due Persone Ingegneria del Software L-A Individuazione delle associazioni 1 esempio Un proprietario può possedere molti veicoli Proprietario possiede 1..* * 1..* * Veicolo Un veicolo può essere di molti proprietari in tempi successivi Proprietario 1..* * 1..* * Veicolo in comproprietà CompraVendita -dataacquisto Legame 1 a 1 Ingegneria del Software L-A Ingegneria del Software L-A 2.25

26 Individuazione delle associazioni 1 esempio Un proprietario può partecipare a più compravendite Proprietario 1..* * 1..* * CompraVendita -dataacquisto Veicolo Un veicolo può essere contemporaneamente di più proprietari Una compravendita è relativa a un solo veicolo Proprietario 1..* partecipa a 1..* CompraVendita -dataacquisto 1..* Veicolo 1 acquisto di Ingegneria del Software L-A Individuazione delle associazioni Persona * * matrimonio Relazione n-m (matrimonio) tra due oggetti della stessa classe. Persona 1 1 marito moglie * * Matrimonio data Un Matrimonio è in effetti una classe, con due associazioni con oggetti di tipo Persona (marito e moglie). Ingegneria del Software L-A Ingegneria del Software L-A 2.26

27 Individuazione delle collaborazioni Una classe A è in relazione USA con una classe B (A USA B) quando A ha bisogno della collaborazione di B per lo svolgimento di alcune funzionalità che A non è in grado di effettuare autonomamente Un operazione della classe A ha bisogno come argomento di un istanza della classe B void fun1(b b) { usa b } Un operazione della classe A restituisce un valore di tipo B B fun2() { B b; return b; } Un operazione della classe A utilizza un istanza della classe B (ma non esiste un associazione tra le due classi) void fun3() { B b = new B(); usa b } Ingegneria del Software L-A Individuazione delle collaborazioni La relazione non è simmetrica A dipende da B, ma B non dipende da A Evitare situazioni in cui una classe, tramite una catena di relazioni USA, alla fine dipende da se stessa Cliente Fornitore Cliente Nome Interfaccia Fornitore Ingegneria del Software L-A Ingegneria del Software L-A 2.27

28 Eredità e composizione Una classe potrebbe aver bisogno di utilizzare le risorse di un altra classe Ad esempio, la classe Finestra ha bisogno della classe Rettangolo per memorizzare posizione e dimensione fare calcoli di sovrapposizione con altre finestre... Esistono due possibili soluzioni Ingegneria del Software L-A Eredità e composizione 1. Rendere Finestra sottoclasse di Rettangolo Una Finestra eredita e quindi ha accesso diretto a dati e operazioni di un Rettangolo 2. Inserire un Rettangolo entro la struttura dati di una Finestra: una Finestra contiene un Rettangolo Una Finestra ha accesso indiretto alle operazioni pubbliche di un Rettangolo Rettangolo Finestra Ereditarietà Finestra Rettangolo Composizione Ingegneria del Software L-A Ingegneria del Software L-A 2.28

29 Eredità e composizione Nel primo caso (ereditarietà) La definizione avviene staticamente (compile-time) L implementazione della sottoclasse è facile da modificare, può definire i propri metodi e continuare a usare quelli della superclasse La superclasse definisce parte della rappresentazione fisica della sottoclasse, legando a sé la sottoclasse, rompendo l incapsulamento e rendendo più difficile il riuso della sottoclasse Ingegneria del Software L-A Eredità e composizione Nel secondo caso (composizione) La definizione può avvenire dinamicamente (run-time) Le interfacce delle due classi restano indipendenti Quindi Usare l ereditarietà solo se rispecchia il dominio del problema Altrimenti, preferire la composizione Ingegneria del Software L-A Ingegneria del Software L-A 2.29

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

Analisi Modello dei dati

Analisi Modello dei dati Modello dei dati Individuare Oggetti e classi rilevanti per il sistema da sviluppare Limitarsi esclusivamente a quelle classi che fanno parte del vocabolario del dominio del problema Relazioni tra le classi

Dettagli

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

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

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

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

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

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

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

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

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Diagrammi di Flusso dei Dati

Diagrammi di Flusso dei Dati Ingegneria del Software Diagrammi di Flusso dei Dati Corso di Ingegneria del Software Anno Accademico 2012/2013 Lucidi liberamente tratti dalle dispense online del prof. Lucio Sansone, Univ. di Napoli

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

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

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

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

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

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

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

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

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

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Basi di dati. Le funzionalità del sistema non vanno però ignorate Basi di dati La progettazione di una base di dati richiede di focalizzare lo sforzo su analisi, progettazione e implementazione della struttura con cui sono organizzati i dati (modelli di dati) Le funzionalità

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

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

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

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

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

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale Modello dei Dati E-R ENTITÀ-RELAZIONE O (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale R.Gori - G.Leoni Modello dei Dati Entità-Relazione

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

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

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le

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

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

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

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

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

Progettazione Logica. Progettazione Logica

Progettazione Logica. Progettazione Logica Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Tabelle per ogni concetto Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Passaggio al modello logico (1)

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

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità Informatica Possono esistere associazioni diverse che coinvolgono le stesse entità Lezione 7 Lavora a Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

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

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni MODELLO E/R Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata individuandone

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

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

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

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

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

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

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

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

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

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

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

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

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

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

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

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

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

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

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

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

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

Metodologie di progetto Estensione di classi Implementazione di interfacce Composizione

Metodologie di progetto Estensione di classi Implementazione di interfacce Composizione Gerarchie di Tipi Metodologie di progetto Estensione di classi Implementazione di interfacce Composizione Notazione UML Relazione Simbolo Significato Ereditarietà Implementazione Aggregazione Dipendenza

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it

Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it Riconoscibilità dei siti pubblici: i domini della Pa e le regole di.gov.it Gabriella Calderisi - DigitPA 2 dicembre 2010 Dicembre 2010 Dominio.gov.it Cos è un dominio? Se Internet è una grande città, i

Dettagli

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE 51 Dichiarazione d intenti (mission statement) La dichiarazione d intenti ha il compito di stabilire degli obiettivi dal punto di vista del mercato, e in parte dal

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI. (versione 1.0 del 26.11.2014)

Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI. (versione 1.0 del 26.11.2014) Gestione degli appelli e verbalizzazione degli esami online GUIDA DOCENTI (versione 1.0 del 26.11.2014) INDICE 1. LOGIN... 3 2. VISUALIZZAZIONE APPELLI... 4 3. DEFINIZIONE APPELLI... 4 4. GESTIONE LISTA

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

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

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica

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

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Progettazione concettuale Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

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

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

Creare diagrammi di Gantt con Visio 2003

Creare diagrammi di Gantt con Visio 2003 Creare diagrammi di Gantt con Visio 2003 La fase di pianificazione di un progetto è sicuramente molto delicata e alquanto complessa, in quanto bisogna riuscire a definire una scomposizione del progetto

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

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

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

Diagrammi dei package

Diagrammi dei package Diagrammi dei package Package Meccanismo di raggruppamento di più classi (riferito al momento della compilazione) in unità di livello più alto, al fine di dominare la complessità strutturale di un sistema

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

Un gioco con tre dadi

Un gioco con tre dadi Un gioco con tre dadi Livello scolare: biennio Abilità interessate Costruire lo spazio degli eventi in casi semplici e determinarne la cardinalità. Valutare la probabilità in diversi contesti problematici.

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono: IL MODELLO EER Modellazione Entità-Associazione estesa 2 Modellazione EER (modellazione ER-estesa) Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono: i concetti

Dettagli

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Informatica 3 Lezione 7 -

Dettagli

Informatica Industriale Modello funzionale Casi d uso

Informatica Industriale Modello funzionale Casi d uso DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale Casi d uso Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/ Informatica Industriale

Dettagli