Riferimenti Iniziali Introduzione a UML

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Riferimenti Iniziali Introduzione a UML"

Transcript

1 Riferimenti Iniziali Introduzione a UML UML Distilled, Martin Fowler, Addison-Wesley, Giuseppe Berio Obiettivi della Presentazione Fornire una panoramica sugli elementi principali di UML, dal punto di vista del loro utilizzo Discutere i pregi e i limiti di UML Le Attività di un Progetto Software Requisiti del Contesto (Requisiti) Requisiti del Software (Analisi) Progetto del Software Implementazione del Software Verifica e Validazione (Test) Manutenzione del Software Project Management

2 Requisiti del Contesto e del Sistema Introduzione a UML Panorama OOA/OOD/OOP decine di metodologie con centinaia di personalizzazioni più di cinquanta strumenti CASE e Meta-CASE, ognuno con la propria interpretazione delle metodologie centinaia di tool e ambienti di sviluppo che gestiscono componenti, ognuno con i propri concetti e il proprio repository non esiste consenso su questi approcci soprattutto tra keyplayers Introduzione a UML Il Progetto UML principalmente, convergenza di tre proposte (Rumbaugh,OMT, Booch,OOD, Jacobson,OOSE) scopo : fornire un supporto a tutte le attività sul software copre la fasi di analisi e progetto anche se nato principalmente per la progettazione del software la versione 1.1 e stata accettata da OMG nell ottobre 1997 la versione attuale 1.3, non totalmente compatibile con la precedente, è in evoluzione: si attende la versione 2.0 nel corso del 2001 Unified Modelling Language Notazione Regole Sintattiche o come i simboli possono essere combinati Semantiche o significato dei simboli e dei costrutti Pragmaticheo come usare il linguaggio o simboli grafici e costrutti testuali Strutturate in un Architettura a Quattro Livelli

3 Differenti Viste in UML Vista Strutturale Diagrammi delle classi Diagrammi degli oggetti Vista Comportamentale Diagrammi di sequenza Diagrammi di collaborazione Diagrammi di stato Diagrammi di attività Vista Utente Diagrammi Casi d uso Vista di Implementazione Diagrammi delle componenti Vista di Ambiente Diagrammi di distribuzione Uso Diagrammi UML I diagrammi vengono usati per definire modelli, che sono poi il risultato di ogni attività riguardante il software Ogni modelli è costruito sulla base di un diagramma Il modello deve (dovrebbe) essere sempre consistente con gli altri modelli avere un certo livello di dettaglio La Vista Utente Uno scenario è una sequenza di passi che descrivono l interazione tra un sistema e un utente (che dovrebbe trarre vantaggio dall interazione) Es.: Negozio online su World Wide Web (NOL) scenario: Acquisto di un Prodotto Il cliente naviga nei catalogo e raccoglie gli articoli desidera/i in un carrello della spesa virtuale. Quando il cliente desidera pagare, descrive la modalità di spedizione e fornisce la necessaria informazione riguardante la propria carta di credito prima di confermare l acquisto. Il sistema controlla se la carta di credito è valida e conferma l acquisto sia immediatamente che con un successivo messaggio di posta elettronica. Questo scenario descrive come potrebbero andare le cose. Tuttavia, la carta di credito potrebbe non essere valida: questo rappresenterebbe uno scenario separato. un caso d uso è un insieme di scenari legati da un obiettivo comune per l utente Es.NOL: caso d uso Acquisto di un Prodotto con due scenari corrispondenti a: successo della transazione invalidità della carta di credito Rappresentazione del caso d uso: descrizione degli scenari e delle relazioni esistenti tra essi Esempio: Acquisto di un Prodotto Obiettivo: vendita on-line di prodotti Scenario principale: 1. Il cliente naviga nel catalogo e seleziona gli articoli da comprare. 2. Il cliente accede alla finestra di dialogo (check out). 3. Il cliente indica le informazioni relative alla spedizione (indirizzo; scelta tra consegna giornaliera o entro 3 giorni). 4. Il sistema presenta un prospetto con il totale (comprese le spese di spedizione) 5. Il cliente fornisce le informazioni sulla carta di credito. 6. Il sistema autorizza l acquisto. 7. Il sistema conferma immediatamente la vendita. 8. Il sistema invia al cliente un di conferma. Alternativa: Carta di credito non valida Al passo 6, il sistema non autorizza l acquisto con carta di credito. Si deve permettere al cliente di reinserire le informazioni relative e riprovare. Alternativa: Cliente abituale 3a.Il sistema visualizza l informazione sull indirizzo precedentemente memorizzata, il conto totale e le ultime quattro cifre del numero della carta di credito. 3b.Il cliente può accettare o ridefinire queste informazioni di default. Si ritorna allo scenario principale a partire dal passo 6

4 I casi d uso possono essere descritti mediante diagrammi UML (è importante notare che non è necessario disegnare questi diagrammi per utilizzare i casi d uso) Concessione Attività Sportiva Circoscrizione Casi d uso include Stipula contratto include Prenotazione Tennis Impiegato Persona Attore Sistema (dominio) Esempio relativo alla prenotazione di un campo da tennis: l utente richiede il campo desiderato l impiegato verifica la disponibilità del campo per il giorno e l ora richiesta l utente paga la prenotazione del campo l impiegato rilascia una ricevuta Definizione di Caso d Uso da OMG Un caso d uso serve per descrivere il comportamento di un'entità senza rivelarne il contenuto. Un caso d uso è una sequenza di attività, comprese le varianti, che l'entità segue interagendo con i suoi attori. L'entità può essere un sistema, un sottosistema oppure una classe. Il fatto di avere un obiettivo comune (misurabile per gli attori) è legato alla necessità di giustificare il caso d uso; ciò costituisce una regola pragmatica di UML ma: gli attori che perseguono l obiettivo del caso d uso talvolta non interagiscono direttamente con tale caso d uso; viceversa, gli attori che interagiscono direttamente con il caso d uso non perseguono direttamente l obiettivo espresso. La Vista Utente Un attore è un ruolo(i) interpretato(i) da un utente(i) (entità esterna) nei confronti dell entità a cui il caso d uso appartiene. Un utente può ricoprire più di un ruolo: quando si ragiona in termini di attori, è importante concentrarsi sui ruoli e non sugli utenti. Gli attori partecipano ai vari casi d uso; un singolo attore può partecipare a più casi d uso; viceversa in un caso d uso potrebbe parteciparvi più attori. Dovrebbe essere definito un attore speciale, chiamato attore principale, il quale da inizio al caso d uso (e dovrebbe essere il più interessato ai risultati prodotti dal caso d uso). Gli attori possono essere in relazione di generalizzazione, per esprimere il fatto che un attore ha tutti i ruoli di un altro attore e può sempre sostituire questo ultimo. La Vista Utente Identificare i Casi d Uso Il concetto di attore è utile soprattutto quando si cerca di definire i casi d uso; per sistemi complessi può risultare difficile compilare una lista di casi d uso: può essere utile compilare una lista di attori, poi identificare i casi d uso che coinvolgono ogni attore. Un altra fonte per l identificazione dei casi d uso, sono gli eventi esterni (generati da attori) ai quali il sistema deve reagire: un certo evento può o deve causare una reazione del sistema: identificare gli eventi ai quali bisogna rispondere aiuterà ad identificare i casi d uso. Non occorre preoccuparsi eccessivamente delle relazioni attori/casi d uso; in genere, quello che davvero importa sono i casi d uso mentre gli attori sono solo un modo possibile di identificarli: bisogna comprendere bene i casi d uso e gli obiettivi degli attori che essi soddisfano.

5 Identificare i Casi d Uso con gli Obiettivi degli Attori has Actor Goal names justified by participates in Use Case contains Scenario Casi d Uso e Sottosistemi other company company other dept. computer system other System Our Sys. subsystem E possibile raffinare i casi d uso sfruttando una gerarchia di sottosistemi fino a raggiungere il sistema informatico ovvero il software. Utilizzare i Casi d Uso per Rappresentare i Requisiti del Software (ed anche per il Contesto) dal punto di vista degli attori Verificare e Validare il progetto del software Quality assurance Sviluppare help-on-line o manuali utente Documentare il software Non Utilizzare i Casi d Uso per L implementazione (a meno di situazioni particolari) Rappresentare una visione funzionale del sistema Casi d Uso e Requisiti Funzionali Requisito Funzionale Use Case Step Step Step Step Requisito Funzionale Requisito Funzionale

6 Relazioni tra Casi d Uso Esempi di Generalizzazione Inclusione Estensione Generalizzazione <<include>> Prelevare Banconote Interagire con ATM Verificare Saldo Ricarica Telefono Interagire con ATM Verificare Saldo Comprare on-line Comprare on-line con Carta Esempio di <<include>> e <<extend>> Fornire Dati del Cliente Riassumendo La condivisione di un caso d uso dovrebbe essere rappresentata da: - <<include>>, se il suo utilizzo è sempre richiesto, - <<extend>>, se il suo utilizzo è opzionale e i casi d uso che devono essere estesi sono ragionevolmente completi. <<include>> Ordinare un Prodotto Extension Points Richiesta del cliente: Addetto Call-Centre Un diagramma di casi d uso dovrebbe: - contenere solo casi d uso a un certo livello di astrazione, - rappresentare solo gli attori necessari. Cliente dopo la creazione dell ordine <<extend>> Il cliente chiede un prodotto fuori catalogo Richiesta di Prodotti Fuori Catalogo Se molti casi d uso sono necessari, dovrebbero essere raggruppati logicamente usando il costrutto di package (o altri meccanismi di modularità)

7 Diagramma delle Classi Diagramma delle Classi classe: una tipologia di oggetti, con propri attributi ed operazioni Libro cod_libro titolo data edizione ISDN data acquisizione richiesta( ) restituzione( ) create( ) Libro prezioso valore : lire = 0 valorizza( ) prodotto 0..* prodotto 1..* 0..* Prestito produttore 1 scrittore 0..* 0..* Utente Editore ragione sociale nome breve indirizzo sede telefono variazione dati editore( ) Autore nome : type = initval cognome : type = initval anno nascita anno morte variazione anagrafica( ) variazione anagrafica( ) nomeclasse attributi operazioni gerarchia di specializzazione (superclassesottoclasse) Libro cod_libro titolo data edizione ISDN data acquisizione richiesta( ) restituzione( ) create( ) Libro prezioso valore : lire = 0 valorizza( ) 0..* 1..* 0..* Prestito associazione 0..* 1 0..* Editore ragione sociale nome breve indirizzo sede telefono variazione dati editore( ) Autore nome : type = initval cognome : type = initval anno nascita anno morte Utente variazione anagrafica( ) variazione anagrafica() classe associativa Uso del Diagramma delle Classi rappresenta le classi che compongono il sistema, ed i relativi attributi ed operazioni specifica, mediante le associazioni, i vincoli che legano tra loro le classi può essere definito in fasi diverse (analisi, progetto, implementazione) può rappresentare diverse tipologie di classi, chiamate stereotipate (tipo, interfaccia, implementazione) dovendo essere usate in molti contesti, le classi permettono di definire caratteristiche molto dettagliate per gli oggetti, molte delle quali sono mutuate direttamente dai linguaggi di programmazione OO: visibilità, classi astratte, classi parametriche tuttavia il diagramma delle classi ha una limitata validità concettuale che limita anche il supporto dato alla validazione Diagramma degli Oggetti Persona nome : char cognome : char impiego : boolean = false Azienda nome : char Persona Mario Rossi : Persona FIAT : Azienda Classe Oggetto link

8 Aggregazione e Composizione Aggregazione: rappresenta il legame fra un oggetto e le sue parti (che sono a loro volta degli oggetti componenti dell oggetto di partenza): l'insieme rappresentato da un oggetto e dalle sue componenti è spesso chiamato oggetto composto L'aggregazione può essere vista come una associazione speciale caratterizzata da proprietà semantiche addizionali:» proprietà transitiva: se A è parte di B e B è parte di C, allora A è parte di C» proprietà antisimmetrica: se A è parte di B, allora B non è parte di A Se un oggetto componente può essere parte di un solo oggetto composto si parla di composizione (è una forma forte di aggregazione) L'aggregazione/composizione può avere un numero arbitrario di livelli (albero di aggregazione) Computer Monitor System Box Mouse Tastiera 1 1..* Cabinet Ventola CPU RAM Auto-BMW 1 Motore * * Stile 1 1 colore selleria 1 composizione Auto-FIAT aggregazione Nella composizione le componenti vengono eliminate se è distrutto l oggetto composto N.B.: la propagazione della cancellazione può essere necessaria anche nel caso di una qualsiasi associazione di tipo 1..1; ad esempio: Dipartimenti cancellando un dipartimento devono essere cancellati tutti i suoi corsi 1 cancellando uno studente, verificare che i corsi a cui è iscritto abbiano ancora 10..* almeno 3 iscritti Corsi 0..* 3..* Studenti cancellando un corso, verificare che il dipartimento in cui è tenuto abbia ancora almeno 10 corsi, senza cancellare gli studenti (associazione opzionale) Generalizzazione Esprime il rapporto che lega una sottoclasse s alla sua superclasse S Tuttavia in UML esiste il problema del suo significato, che è molto (troppo) ampio, che potrebbe rendere difficile la sua realizzazione in un linguaggio di programmazione Sebbene strettamente correlate, l'ereditarietà e la generalizzazione sono due cose distinte: l'ereditarietà è solo un meccanismo sintattico Figure Geometriche la generalizzazione è un meccanismo concettuale Figure Piane Punto Linea Poligono Solido superficie volume Poliedro Concetti Comuni Note Le note sono un concetto aggiunto nella notazione UML Usate per inserire commenti, vincoli (se abbinate allo <stereotype> <<constraints>>) oppure codice di metodi Sono tipicamente abbinati all elemento(i) al quale si riferiscono attraverso una linea tratteggiata Esempi: Triangle + move (in dist : Point) + scale (in factor : Real) Autore: Mario Rossi Versione: 1.0 foreach v in vertices do v.x := v.x + dist.x; v.y := v.y + dist.y Persona padre nome cognome età figlio <<constraints>> Persona.età>Persona.figlio.età foreach v in vertices do v.x := factor * v.x; v.y := factor * v.y

9 Concetti Comuni Dipendenze Le dipendenze tra elementi di digrammi sono espresse generalmente con A B A dipende da B Sono spesso stereotipate (il loro significato è molto ampio) Ne esistono di pre-definite attraverso stereotipi Le dipendenze operano principalmente sulla sintassi La Vista Strutturale Package Un package è un contenitore utilizzabile per incapsulare classi, associazioni, operazioni, gerarchie, packages (e altro), tra cui esistono legami sulla base dei servizi forniti dal package stesso Ha un nome che permette di indicare il package come un unità e di completare il nome di ciascuno dei suoi elementi interni Idealmente un package ha un interfaccia minima e ben definita verso gli altri sottosistemi Controllo Elementi Grafici Editor Gestione della grafica Sisteme a finestre Esempi di relazioni tra package X Y Z B Y::C +C +Z::F +F Y::F «import» -D «import» -H A Y::E +E -Z::G +G X Y Z B +C «access» «access» A +E +G -D +F -H Tale vista comprende diversi tipi di diagrammi, diagrammi di sequenza, di collaborazione, di stato e di attività: consideriamo i primi due, detti anche diagrammi di interazione perché descrivono come gruppi di oggetti possono ovvero devono interagire ai fini dello svolgimento di una certa attività. Esempio: preparazione (fisica) di un ordine con più linee riguardanti ciascuna un articolo che può essere disponibile o deve essere riordinato. 1. Dalla finestra Inserisci Ordine si manda un messaggio di preparazione a un Ordine 2. L Ordine invia messaggi di preparazione a tutte le Linee d Ordine contenute nell Ordine ogni Linea d Ordine controlla il corrispondente Articolo 3. Se questo controllo ha esito positivo, la Linea d Ordine rimuove la quantità appropriata di Articolo dal magazzino e crea un prodotto pronto per la consegna 4. Se la disponibilità dell Articolo è scesa ad un determinato livello sotto il quale è opportuno ordinarne una nuova quantità, l oggetto Articolo genera una richiesta di ordinazione

10 Diagramma di sequenza Una finestra Inserisci Ordine 1: prepara () messaggio Un Ordine 1.1 * prepara () iterazione ( linea,...) Una Linea Ordine Articolo hadisponib := controllo () Ordine tra messaggi [hadisponib] remove () condizione (il messaggio è generato se...) oggetto linea di vita chiamata interna deveriordinare := deveriord () [deveriordinare] new Un Riordine di Articolo Notazione per Messaggi predecessor(s)/ guard-condition, sequence-expression return-value := message-name (argument-list) move (5, 7) : move (5, 7) 3.7 *[1..5] : move (5, 7) iteration [hadisponib] new creazione Un Prodotto da Consegnare thread of control 3.7 [ z > 0 ] : move (5, 7) condition A3, B4 / [ x < 0 ] C3.1 [ y < 0 ] : res := getlocation (fig) tempo/passi X attivazione linea di ritorno predecessors guard sequence number condition return value message name argument list cancellazione Tipi di Stimoli e Messaggi Esempi Simile alla chiamata di procedura anche annidata e sincrona Chiamata non annidata, tipicamente asincrona Chiamata asincrona Flusso Annidato teller : order : article getvalue price getname Flusso non Annidato caller exchange callee lift receiver dial tone dial digit dial digit routing ringing tone ringing signal lift receiver Flusso Asincrono appl err-handl alarm unknown alarm Ritorno di chiamata

11 Esempio, Iterazione e Branching branching iterazione calculator filter value [ x < 0] transform () iterate () [ x > 0] getvalue () getvalue () attivazioni muliple e indipendenti Diagramma di Sequenza In un Diagramma di Sequenza, una freccia rappresenta uno stimolo che da un oggetto viene inviato ad un altro I messaggi e gli stimoli corrispondono alle richieste di servizi che gli oggetti si scambiano I messaggi costituiscono la specifica degli stimoli ovvero gli stimoli sono istanze dei messaggi I servizi sono implementati da metodi e operazioni delle classi Analizzando i Diagrammi di Sequenza è possibile capire quale interfaccia l oggetto ovvero la sua classe dovrebbe fornire verso l esterno» quindi, dai Diagrammi di Sequenza si evincono le operazioni e i metodi delle classi» permettono una maggiore formalizzazione dei casi d uso Uso del Diagramma di Sequenza Un diagramma di sequenza potrebbe rappresentare un utilizzo particolare degli oggetti ovvero potrebbe essere un raffinamento di uno use-case Anche i diagrammi di sequenza possono essere visti a più livelli di astrazione; un raffinamento di un diagramma di sequenza dovrebbe introdurre nuovi oggetti che permettano di gestire meglio l aspetto comportamentale Analizzando i diagrammi di sequenza è possibile: capire quale interfaccia l oggetto ovvero la sua classe dovrebbe fornire verso l esterno definire i meccanismi di controllo che permettono la realizzazione del diagramma Diagramma di Collaborazione L interazione degli oggetti coinvolti in ogni evento ed i link tra gli stessi costituisce un Diagramma di Collaborazione ai livello di istanza Esempio: Utente 1: chiede campo 3: comunica giorno ora 7: conferma 9: paga 14: consegna ricevuta 8: saldo 6: chiede conferma 2: chiede info campo 13: stacca prenotazione 4: seleziona prenotazione 10: scrive prenotazione Registro Prenotazione Impiegato Ricevuta 11: conferma prenotazione 5: comunica info 12: scrive prenotazione

12 Diagramma di Collaborazione In un Diagramma di Collaborazione, un rettangolo rappresenta un oggetto o la classe a cui appartiene, le linee fra i rettangoli rappresentano rispettivamente link o associazioni; i messaggi sono seguiti da una freccia che ne indica la direzione I Diagrammi di Collaborazione indicano una visione alternativa ai Diagrammi di Sequenza I Diagrammi di Collaborazione possono essere sia a livello di specifica che a livello di istanza:» a livello di specifica permettono di capire le associazioni che vengono usate nello scambio di messaggi» a livello di istanza mostrano lo scambio di messaggi tra gli oggetti attraverso i link, entrambi eventualmente creati attraverso messaggi Analizzando i Diagrammi di Collaborazione è possibile capire lo scambio di messaggi tra le singole classi attraverso le associazioni Esempio di Sincronizzazione tra Messaggi A2,B2/2: completed (job) : Factory-Scheduler : Factory-JobManager B1/B2 : completed(r-job) 1/B1 : start(r-job) 1: start(job) : Robot : Oven A1/A2 : completed(o-job) 1/A1 : start(o-job) Diagramma di collaborazione (a livello di istanza) Un diagramma di collaborazione mostra: Una finestra Inserisci Ordine Un Ordine Una Linea Ordine Un Prodotto{new} da Consegnare 1 prepara () 2 * prepara () 3 hadisponib := controllo () 4 [hadisponib] remove () 7 [hadisponib] new messaggio oggetto come sono connessi staticamente gli oggetti come sono correlati gli oggetti mediante i messaggi la sequenza dei messaggi, data dalla loro numerazione un altra rappresentazione del diagramma di sequenza delega interna Articolo Un Riordine{new} di Articolo 5 deveriordinare := deveriord () 6 [deveriordinare] new numero di sequenza Diagrammi di Stato (Statechart) Un diagramma di stato collega eventi e stati Quando un evento (istanza o occorrenza) è ricevuto da un oggetto in un certo stato, l oggetto entra in uno stato dipendente sia dall'evento (istanza) che dallo stato di origine Un arco tra due stati viene etichettato con una classe di evento ed è detto transizione Nella sua forma più semplice, un diagramma degli stati è un grafo i cui nodi sono gli stati e i cui archi diretti sono le transizioni

13 Uso dei Diagrammi di Stato In principio, per rappresentare ogni sistema (reattivo) il cui comportamento sia guidato da eventi discreti In pratica, per rappresentare il comportamento di ogni oggetto istanza di una classe un maggior grado di dettaglio delle interazioni tra oggetti (attivi) Stati Lo stato corrisponde ad un intervallo tra due eventi ricevuti da un oggetto ovvero ad una condizione Gli eventi rappresentano dei punti nell'asse temporale, gli stati rappresentano intervalli Lo stato di un oggetto è determinato dai valori dei suoi attributi Per esempio: "l'acqua è liquida" significa dire che il valore dell'attributo temperatura è tra 0 e 100 Un oggetto che si trova in uno stato soddisfa delle condizioni, attende il verificarsi di eventi, ed, eventualmente, esegue delle operazioni NAME Action label / action expression UML-defined Action label is entry, exit, do Eventi interazioni: invocazione di operazioni di oggetti (evento di chiamata) segnale asincrono (segnale) eventi temporali termine di un intervallo temporale raggiunta una misura temporale modifica del valore di attributi di oggetti Istanza (occorrenza) di un evento si verifica in un particolare istante temporale (passo di computazione) e non ha durata Eventi e Classi E utile vedere gli eventi come classi di istanze di evento Per esempio, il volo 123 parte da Chicago e il volo 456 parte da Roma sono istanze della classe Airplane Flight Departs; questa classe può avere come attributi: airline, flight-number, city, time Anche tali classi possono essere organizzate in gerarchie di generalizzazione I valori degli attributi di una classe rappresentante un evento costituiscono le informazioni trasmesse da un istanza di evento Pressione Mouse Dx Pressione Mouse Pressione Mouse Sx

14 Esempio di diagramma di stato compitazione numero del numero altro numero fine del numero riattacca attesa risposta risponde conversazione riattacca riattacca finisce il tono riattacca exit digita un numero entry alza il ricevitore inizia il tono riattacca Il Comportamento di Transizioni Semplici Sono relazioni tra due stati Ogni transizione è etichettata con una stringa della forma evento (parametri) guardia / operazioni I parametri rappresentano gli attributi della classe evento La guardia è una condizione che può contenere anche proprietà del tipo (in S), not (in S)) che permettono di sincronizzare stati concorrenti Il comportamento di una transizione è il seguente: se un istanza della classe evento si verifica, si valuta la guardia: se la guardia è vera, si eseguono tutte le operazioni e si modifica lo stato e in questo caso di dice che la transizione spara altrimenti, lo stato non si modifica e le operazioni non vengono eseguite la semantica è run to completion ovvero o la transizione è eseguita interamente o non è eseguita per niente Non determinismo in Statechart Esempio con Condizioni Tipo di Non Determinismo Causa Soluzione Possibile Rilevabile Staticamente Eventi Uguali e medesima istanza (stesso stato) Introdurre Guardie Esclusive Non Rilevabile Staticamente Eventi Distinti con istanze al medesimo istante/passo (stesso stato) Impedire istanze di eventi al medesimo tempo (già adottata in UML) fine del tempo Nord-Sud possono andare dritti fine del tempo [macchine nelle corsie sx N-S] fine del tempo [corsie sx N-S vuote] Nord-Sud possono girare a sinistra fine del tempo fine del tempo [corsie sx E-O vuote] Sebbene non sempre sia necessario risolvere il non-determinismo Est-Ovest possono girare a sinistra fine del tempo [macchine nelle corsie sx E-O] Est-Ovest possono andare dritti

15 Esempio di Azioni Esempio di generalizzazione di stati Folle pressione di R pressione di N Retromarcia In attesa pressione pulsante dx / visual. menu pressione pulsante sx / cancella.menu Menu visibile entry pressione di F pressione di N Avanti incrementa trascinamento / evidenzia la voce del menu entry Prima scala Seconda incrementa scala Terza Tipologie di Stato Composto Stati Concorrenti/Aggregati Stati Specializzati/Componenti (region) S1 Transizioni di ingresso e d uscita da uno stato aggregato barra fork Conto Corrente Nessuna Stringa: eventualmente, si una una stringa unica associata alla barra S1 S2 S2 Passivo Attivo Bloccato Normale barra join

16 Priorità della transizioni annidate Evento Storie profonde (deep) e superficiali (shallow) permettono di rappresentare il ritorno ad uno stato (interno a un superstato) precedentemente visitato Evento sospendi/ Diagnostica1 Diagnosi Diagnostica2 Step11 Step21 riprendi/ H* Step12 Step22 La transizione più interna è prioritaria se entrambe possono sparare Storia Profonda Stato di Default Interazione di Diagrammi di Stato Generalmente esiste un diagramma di stato per ogni classe avente comportamento dinamico rilevante La sincronizzazione di più diagrammi può avvenire in due maniere: tramite le condizioni tramite eventi tramite variabili condivise Nel primo caso si mette un predicato sullo stato di un altra classe nella condizione Nel secondo caso alcuni diagrammi generano eventi a cui altri diagrammi devono (possono) reagire Esempio interazione di diagrammi di stato Off Telecomando Controllo TV Videoregistratore click-on-vcr-control(power) / click click-on-vcr-control(power) / click Press-Power / click-on-tv-control(power) Televisione click-on-tv-control(power) / click Off click-on-tv-control(power) / click On Press-Power / click-on-vcr-control(power) VCR TV Controllo VCR On

17 La Biblioteca e il Libro La Biblioteca e il Libro Prenotato(Date) [Date<=Today+2 and Date>Today] / Prenotato Prestato(Date) / [Date<=Today+2 and Date>Today] / Prenotare(Date) Prenotato / Prestare(Date) Disdetto() / / Disdire() After(2 giorni) / After(2 giorni) / Disponibile Prestato(Date) / In Prestito Disponibile / Prestare(Date) In Prestito Riportato(Date) / / Riportare(Date) Riportato(Date) / Perduto When(Today>Limit) / / Riportare(Date) Perduto When(Today>Limit) / La Biblioteca e il Libro Riportato(Date) / Prenotato Prenotato(Date) / Prestato(Date) / Disdetto() / Libero Prenotato When(Today>Limit) / In Prestito Generazione del codice (sequenziale) delle operazioni per gli oggetti (di controllo) Messaggio / Operazione Messaggio / Operazione; Messaggio1 Private. STATE Private Operazione( ); Public Messaggio( ); Operazione( ); If (STATE= = S1) Messaggio1( ); ;... Libero When(Today>Limit) / Messaggio / Messaggio1 Private. STATE Public Messaggio( ); After(2 giorni) / Prenotato Riportato(Date) /... If (STATE= = S1) Perduto... Messaggio1( ); ;

18 Generazione del codice (sequenziale) per gli oggetti (dato) Private. STATE Public Operazione( );... If (STATE= = S1) STATE=S2; ;... Diagramma di Attività Cliente Vendita Magazzino Richiesta Paga Ordine [Inviato] Inserire Ordine Ordine [Gestito] Ordine [Registrato] Gestire Ordine Messaggio / Operazione Private. STATE Private Operazione( ); Public Messaggio ( ); Ordine [Evaso] Invia Merce... If (STATE= = S1) Operazione( );... Raccogli Ordini Non tutti i diagrammi di attività hanno senso ma non essendo formalmente definiti, non è possibile costruire algoritmi per decidere se un diagramma ha senso o meno Esempio Elementi Metodologici Analisi del Dominio L obiettivo è di arrivare alla definizione sufficientemente rigorosa dei requisiti di sistema In genere, si analizzano prima gli aspetti più astratti del dominio poiché errori nelle astrazioni si propagano nelle soluzioni più concrete Ogni modello può essere rappresentare un certo livello di dettaglio al fine di permettere le necessarie analisi partendo da un livello più astratto, e, successivamente, andando verso un livello più concreto Si costruiscono modelli per gli aspetti funzionale (diagrammi di attività, casi d uso, diagrammi di sequenza e di collaborazione) statico ovvero strutturale (diagramma delle classi e degli oggetti) dinamico per classi di oggetti (Statechart)

19 Analisi del Dominio L obiettivo è di rappresentare, valutare, sviluppare i requisiti di sistema in un determinato contesto La rappresentazione e la valutazione dei requisiti possono essere più o meno formali a seconda dei fattori di successo Le strade da seguire sono principalmente due, ben distinte: migliorare o modificare situazioni esistenti sviluppare nuove soluzioni Analisi del Dominio Fasi Metodologiche Concettualizzazione Analisi degli Oggetti Analisi della Dinamica Relazioni tra Fasi Metologiche Normalmente gli aspetti temporali sono i più difficili da modellare Di conseguenza è spesso preferibile esaminare inizialmente gli aspetti statici di un sistema (cioè la struttura degli oggetti e le associazioni tra di essi) Successivamente si analizza l'evoluzione temporale di oggetti e associazioni Gli aspetti di un sistema che riguardano il tempo e l evoluzione costituiscono il modello della dinamica del sistema Analisi del Dominio Concettualizzazione Studio del dominio del problema per delimitarne nitidamente i contorni ed evidenziarne le realtà di interesse (Requisiti del Contesto) Stesura, in linguaggio naturale, delle specifiche di dominio: Problem Statement

20 Analisi del Dominio Regole empiriche per la stesura di un Problem Statement corretto la sua formulazione deve stabilire cosa deve essere fatto e non come (specifica delle esigenze, non una soluzione proposta) brevità del documento buona capacità di astrazione evitare, per quanto possibile, le ambiguità considerare il fatto che è attraverso i diagrammi UML che i requisiti dovrebbero essere sviluppati Analisi degli Oggetti Fasi Identificazione delle classi Definizione di un Dizionario Dati Identificazione delle associazioni Identificazione degli attributi Ereditarietà Iterazione del procedimento Analisi degli Oggetti Definizione di un Dizionario Dati Le parole possono essere soggette ad interpretazioni differenti per cui è necessario compilare un dizionario dati per tutte le classi rilevate nella fase precedente Si specifica una definizione che descriva precisamente ogni classe di oggetti nel contesto del problema corrente È la base di partenza per il processo iterativo caratteristico della metodologia associata a UML Analisi degli Oggetti Identificazione delle classi Elencare le classi candidate a partire dal Problem Statement evidenziando tutti i sostantivi che ne fanno parte Evitare costrutti tipici dell implementazione (a meno che il Problem Statement non sia prettamente informatico) Eliminare le classi scorrette

21 Analisi degli Oggetti Criteri di eliminazione delle classi classi ridondanti: due classi esprimono la stessa informazione (es: cliente ed utente) classi irrilevanti: classi che sono marginali all interno del Problem Statement classi vaghe attributi: i nomi che descrivono oggetti essenzialmente singoli dovrebbero essere riformulati come attributi (es: età di una persona) operazioni: se un nome descrive un operazione applicata ad oggetti e non viene esso stesso manipolato (es: telefonata) ruoli: il nome di una classe dovrebbe riflettere la sua reale natura e non il ruolo che ricopre in un associazione (es: marito) Analisi degli Oggetti Identificazione delle associazioni tra le classi Estrarre tutti i verbi candidati dalla formulazione del Problem Statement o del Dizionario dei Dati Qualunque dipendenza verbale tra due o più classi è un associazione Un riferimento da una classe all altra è un associazione Eliminare le associazioni scorrette Analisi degli Oggetti Criteri di eliminazione delle associazioni associazioni tra classi eliminate: se una delle classi dell associazione è stata eliminata, l associazione deve essere eliminata o riformulata associazioni irrilevanti: associazioni estranee al dominio del problema o che considerano costrutti relativi all implementazione azioni: un associazione deve descrivere proprietà strutturali del dominio del problema e non un evento passeggero associazioni derivate: tralasciare le associazioni che possono essere definite in termini di altre associazioni (non sempre) associazioni con nomi erronei: non dire come o perché una situazione accade, ma cosa è Analisi degli Oggetti Associazioni: suggerimenti pratici nomi di ruoli: aggiungere i nomi di ruolo dove occorre; i nomi di ruolo descrivono il ruolo che la classe ricopre nell associazione dal punto di vista dell altra classe molteplicità: specificare la molteplicità e verificare la molteplicità uno

22 Analisi degli Oggetti Identificazione degli attributi Gli attributi sono proprietà di singoli oggetti (es: età, nome, colore, peso...) Gli attributi, generalmente, corrispondono a sostantivi seguiti dal complemento di specificazione (es: il colore dell auto) Se un attributo descrive uno stato interno di un oggetto che è invisibile all esterno, eliminare l attributo dal modello Non introdurre attributi fittizi per l identificazione degli oggetti perché già impliciti Analisi degli Oggetti Ereditarietà Organizzare le classi usando l'ereditarietà per condividere le proprietà comuni L'ereditarietà può essere raggiunta in due modi: generalizzando aspetti comuni di classi esistenti in una superclasse specializzando classi esistenti in sottoclassi Analisi degli Oggetti Procedimento iterativo L Analisi degli Oggetti è costituita da continue iterazioni successive Il dizionario dati ne è parte integrante poiché punto di partenza delle iterazioni Analisi degli Oggetti Risultato dell Analisi degli Oggetti Un diagramma delle classi (oggetti) che dovrebbe rappresentare gli oggetti del dominio (senza riferimento ad aspetti implementativi) Alcune classi (oggetti) potrebbe contenere solo alcuni elementi Alcuni oggetti necessari per il controllo dell applicazione potrebbero non essere parte di tale diagramma (interfacce) Alcuni oggetti di controllo potrebbero quindi essere introdotti come risultato dell Analisi Dinamica (atomicità su più oggetti)

23 Analisi Dinamica Rappresentazione delle interazioni del Sistema, da e verso l esterno, mediante Diagrammi dei Casi d Uso (ma anche con diagrammi di attività) Eventualmente, rappresentazione delle precedenti interazioni con Diagrammi di Sequenza o di Collaborazione Rappresentazione delle interazioni interne al Sistema mediante Diagrammi di Sequenza oppure Diagrammi di Collaborazione (Trasformazione di Casi d Uso) Rappresentazione della dinamica dei singoli oggetti, istanze di una classe, mediante Diagrammi Statechart Tra le varie tipologie di diagrammi è possibile introdurre una relazione di astrazione rispetto alla rappresentazione di una medesima situazione per cui: i casi d uso sono più astratti dei diagrammi di interazione i diagrammi di interazione sono più astratti di statechart Mentre il diagramma delle classi è unico (sebbene al suo interno sia possibile usare il concetto di classe in modo differente), l analisi dinamica sfrutta varie tipologie di diagrammi; la scelta di quali usare dipende da: grado di conoscenza della dinamica tipologia della dinamica fattori di successo Analisi Dinamica Risultato dell Analisi Dinamica Il modello dinamico globale prodotto consiste principalmente di più diagrammi di stato: uno per ogni classe con un comportamento dinamico rilevante Infatti, attraverso i diagrammi statechart, i diagrammi di interazione e i casi d uso sono rappresentati ad un maggior livello di dettaglio Se, però, gli oggetti applicativi sono più legati all implementazione, è possibile rimandare l introduzione di statechart alla fase di progetto I diagrammi di stato delle varie classi possono essere combinati in un singolo modello dinamico nel quale gli eventi vengono condivisi E possibile avere nel prodotto finale il diagramma delle attività Analisi Dinamica Trasformazione di Casi d Uso in Diagrammi di Interazione Considerare sempre l interazione più lunga : è la più significativa» uno scenario del tipo l utente arriva, cambia idea e se ne va non è molto significativo, anche se corrisponde ad un caso d uso reale» solitamente l interazione più lunga è quella in cui va tutto bene, non ci sono cioè né ripensamenti né eccezioni Fare in modo che un solo oggetto gestisca il controllo di un caso d uso» with a little help from my friends, per ogni caso d uso c è un oggetto che sa come lo si gestisce, gli altri oggetti fanno da supporto a tale gestione» tale accorgimento aumenta notevolmente la riusabilità degli oggetti e favorisce la realizzazione di architetture client-server Analisi Dinamica Costruzione di Statechart Costruire un diagramma di stato solo per classi con comportamento dinamico rilevante sebbene la rilevanza dinamica non sia oggettiva si potrebbero considerare solo classi di oggetti passivi, demandando al progetto una specifica dettagliata del controllo applicativo Usare sia Casi d Uso che Diagrammi di Sequenza come base per la definizione dei diagrammi di stato La distinzione tra azione e attività è basata sulla specifica applicazione Usare stati annidati quando la stessa transizione si applica a più stati ovvero quando uno stesso comportamento si ripete più volte Definire il diagramma di stato di una sottoclasse in maniera indipendente da quello della(e) superclasse(i)

24 Consistenza Diagrammi Classi(Oggetti)/Interazione Le classi utilizzate nei diagrammi di interazione devono essere definite nel diagramma delle classi I messaggi devono essere definiti come operazioni nel diagramma delle classi Consistenza Statechart/Diagrammi di Interazione Un diagramma di sequenza rappresenta, in generale, un interazione degli oggetti applicativi (o di controllo) Lo statechart di un oggetto applicativo deve realizzare le sequenze di messaggi indicate nei diagrammi di sequenza per quel oggetto Lo statechart di un oggetto passivo deve permettere le sequenze di messaggi indicate nei diagrammi di sequenza Consistenza di Statechart Gli oggetti passivi (o dato ) hanno statechart privo di messaggi verso altri statechart Lo statechart di un oggetto passivo deve rappresentare tutti i comportamenti possibili di detto oggetto indipendentemente dalle applicazioni Un oggetto di controllo potrebbe essere un rappresentante di un oggetto passivo Analisi Dinamica Quantitativa Se esiste la necessità di analisi quantitative, i diagrammi UML devono essere ulteriormente trasformati in notazioni più formali che permettano di svolgere tali analisi (automaticamente) Tali trasformazioni non sono sempre evidenti e necessitano di nuova informazione ovvero della formulazione di ipotesi

25 Progettazione Object-Oriented Transizione dall insieme di modelli sviluppati nell analisi del dominio in un insieme modelli che tiene conto dell architettura di riferimento, dell ambiente software che accoglierà l applicazione Per effettuare la transizione esistono vari modi tra cui (object) design patterns euristiche Progettazione Object-Oriented La notazione UML può essere usata anche in fase di progettazione sebbene necessità specifiche possano richiedere l impiego di notazioni non-uml La transizione dai diagrammi di analisi può essere molto complessa: nel caso più semplice si raffinano i diagrammi statechart e di classe introdotti nell analisi del dominio In ogni caso, dovrebbe essere garantita la tracciabilità ovvero il legame tra i diagrammi della fase precedente e gli attuali Architettura rappresentata con Package Letteratura Michael Blaha, William Premerlani: Object-Oriented Modeling and Design for Database Applications, Prentice Hall, ISBN Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language User Guide, Addison-Wesley, ISBN John Cheesman, John Daniels: UML Components: A Simple Process for Specifying Component-Based Software, Addison-Wesley, ISBN Bruce Powel Douglass: Real-time UML: Developing Efficient Objects for Embedded Systems, Addison-Wesley, ISBN UI Oggetti del Dominio Memorizzazione Utilità Desmond D'Souza, Alan Wills: Objects, Components and Frameworks With UML: The Catalysis Approach, Addison-Wesley, ISBN

26 Letteratura Brian Henderson-Sellers, Bhuvan Unhelkar: OPEN Modeling with UML, Addison- Wesley, ISBN Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process, Addison-Wesley, ISBN Craig Larman: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design, Prentice Hall, ISBN Pierre-Alain Muller: Instant UML, Wrox Press, ISBN James Rumbaugh, Ivar Jacobson, Grady Booch: The Unified Modeling Language Reference Manual, Addison-Wesley, ISBN X. Perdita Stevens, Rob Pooley: Using UML: software engineering with objects and components, Addison-Wesley, Object Technology Series, Updated edition for UML1.3: first published 1998 (as Pooley and Stevens), ISBN Conclusioni UML è quindi una notazione ricca che può essere usata in tutte le attività di sviluppo del software poiché raccoglie molte delle notazioni usate nel passato La ricchezza notazionale implica che UML debba necessariamente essere usato attraverso una ben definita metodologia (più che in passato), infatti: esiste il rischio di associare impropriamente i diagrammi esiste il problema della consistenza tra modelli Permangono però il problema del significato della notazione il problema della metodologia La notazione è in continua evoluzione e non esiste garanzia di compatibilità

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

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

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

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

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

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

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

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

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

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

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

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

UML - Unified Modeling Language

UML - Unified Modeling Language UML E CASI D USO UML - Unified Modeling Language Linguaggio stardardizzato per identificare e modellizzare le specifiche di un S.I. Coerente con il paradigma della programmazione ad oggetti Definito a

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

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

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

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

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

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

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

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

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

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

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

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

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

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

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

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Sistemi Informativi I Caso di studio con applicazione di UML

Sistemi Informativi I Caso di studio con applicazione di UML 9 CASO DI STUDIO CON APPLICAZIONE DI UML...2 9.1 IL CASO DI STUDIO...2 9.1.1 Il sistema attuale...2 9.2 IL PROBLEM STATEMENT...3 9.2.1 Formulazione del Problem statement per il caso proposto...3 9.3 USE

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

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

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

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

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

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

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

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

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

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

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

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

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

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

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

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

Gestione Rapporti (Calcolo Aree)

Gestione Rapporti (Calcolo Aree) Gestione Rapporti (Calcolo Aree) L interfaccia dello strumento generale «Gestione Rapporti»...3 Accedere all interfaccia (toolbar)...3 Comandi associati alle icone della toolbar...4 La finestra di dialogo

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

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

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

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

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

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente Pag. 1 di 15 VERS V01 REDAZIONE VERIFICHE E APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA A. Marchisio C. Pernumian 29/12/2014 M. Molino 27/02/2015 M. Molino

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

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

Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009

Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009 Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009 Documenti Tecnici Informatica e Farmacia Vega S.p.A. Premessa La procedura di Cassa Contanti rileva i movimenti giornalieri

Dettagli

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività Prerequisiti Mon Ami 000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività L opzione Centri di costo è disponibile per le versioni Contabilità o Azienda Pro. Introduzione

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Sistema Informativo di Teleraccolta EMITTENTI

Sistema Informativo di Teleraccolta EMITTENTI Sistema Informativo di EMITTENTI aventi l Italia come Stato membro di origine i cui valori mobiliari sono ammessi alla negoziazione in un altro Stato membro dell Unione Europea Art. 116 bis, comma 1, del

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

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

INSERIMENTO DATI BASILARI

INSERIMENTO DATI BASILARI PASSO PASSO. Questo applicativo software nasce con l idea di essere molto semplice da usare. Di fatto lo è ed infatti non dispone di un help in linea all interno dello stesso. Tuttavia ci sentiamo in dovere

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

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Database 3 affitto veicoli. Testo del quesito

Database 3 affitto veicoli. Testo del quesito Database 3 affitto veicoli Testo del quesito La società salento trasporti dispone di diversi tipi di veicoli (moto, auto, furgoni, camion, ) che affitta ai propri clienti. La società vuole informatizzare

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

Diagrammi di Interazione

Diagrammi di Interazione Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Diagrammi di Interazione Definizioni Diagrammi di Interazione una interazione specifica i dettagli

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

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale Modulo Bacheca 1 INDICE 1 Generalità...3 2 Accesso al sistema...4 2.1 Requisiti tecnici 5 3 Elenco funzioni e tasti di navigazione...6 3.1

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

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012

Ipertesti e Internet. Ipertesto. Ipertesto. Prof.ssa E. Gentile. a.a. 2011-2012 Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Ipertesti e Internet Prof.ssa E. Gentile a.a. 2011-2012 Ipertesto Qualsiasi forma di testualità parole, immagini,

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

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

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

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

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

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

Il calcolatore - Applicazioni

Il calcolatore - Applicazioni Alfonso Miola Il calcolatore - Applicazioni Esercitazione Dispensa B-01-E Settembre 2005 1 Contenuti Applicazioni Applicazioni e Interfacce Il pacchetto Office Word Excel Power Point Il CD per ECDL 2 Applicazioni

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

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

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

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

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

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

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

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

Manuale d'uso. Manuale d'uso... 1. Primo utilizzo... 2. Generale... 2. Gestione conti... 3. Indici di fatturazione... 3. Aliquote...

Manuale d'uso. Manuale d'uso... 1. Primo utilizzo... 2. Generale... 2. Gestione conti... 3. Indici di fatturazione... 3. Aliquote... Manuale d'uso Sommario Manuale d'uso... 1 Primo utilizzo... 2 Generale... 2 Gestione conti... 3 Indici di fatturazione... 3 Aliquote... 4 Categorie di prodotti... 5 Prodotti... 5 Clienti... 6 Fornitori...

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli