Gestione Automatizzata di una Biblioteca

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gestione Automatizzata di una Biblioteca"

Transcript

1 Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria Informatica Tesina di Ingegneria del Software (Anno accademico ) Gestione Automatizzata di una Biblioteca Notazione: UML Macchia Angelo (1652)

2

3 Indice I SRS:Specifiche del Problema 5 II Use Case Diagram 9 II.1 Utenti II.2 Biblioteca II.3 Diagramma degli attori III Class Diagram 13 III.1 Utenti del sistema III.2 Package Diagram del sistema III.3 Testo III.4 Acquisto III.5 Ordinazione III.6 Prestito di un Testo III.7 Class Diagram riassuntivo IV Sequence Diagram 19 IV.1 Acquisto di un libro IV.2 Prestito di un libro V Activity Diagram 23 V.1 Acquisto di un libro V.2 Prestito di un libro VI State Diagram 25 VI.1 Stato del dipendente

4 4 Indice VII Data Flow Diagram 27 VII.1 Prestito di un libro A Breve richiami all UML 29 A.1 Use Cases A.2 Class Diagram A.2.1 Vincoli A.2.2 Specializzazione A.2.3 Aggregazione A.2.4 Qualificatori A.2.5 Associazione di classe A.2.6 Object Diagram A.3 Sequence Diagram A.4 Activity Diagram A.5 Sate Diagram A.6 Uno strumento non previsto: DFD Elenco delle figure 43 Indice

5 Capitolo I SRS:Specifiche del Problema 1 INTRODUZIONE 1.1 Scopo si vuole progettare un software in grado di gestire una biblioteca automatizzata che tratta testi che possono essere libri o riviste on line. 1.2 Validità: il sistema si occupa principalmente di gestire un archivio sugli utenti, sui testi e sui dipendenti della biblioteca ma non si considera di mantenere la storia dei prestiti. 1.3 Definizioni e abbreviazioni: Tesserati: sono i soli che possono usufruire dei servizi della biblioteca. Ricercatori: sono a loro volta tesserati ma hanno la possibilità di ordinare dei testi attualmente non disponibili. Direttore che controlla l operato dei dipendenti della biblioteca e gestisce un fondo monetario per la manutenzione della biblioteca. Responsabili degli ordini: si occupano di contattare i fornitori per acquistare i libri ordinati e di registrare le fatture una volta acquistato un testo. Responsabili del prestito: dipendenti che si occupano di registrare il prestito, notificare l avvenuta restituzione di un libro e infine di tesserare un nuovo utente della biblioteca. 1.4 Referenze: Statuto della Biblioteca 2 DESCRIZIONE GENERALE 2.1 Prospettive: il sistema potrà essere ampliato nelle sue funzionalità aggiungendo delle statistiche sugli argomenti maggiormente richiesti al fine di orientare la direzione nella cura di derminati settori culturali. 2.2 Funzioni Tesserati: il sistema permette di conoscere quali libri ha in prestito istante per istante e permette la tesserazione di nuovi utenti.

6 6 Dipendenti: il sistema permette la registrazione dei dipendenti e di conoscere il loro stato attuale di carriera. Testi: il sistema permette la ricerca di libri e di riviste on line e di sapere se sono presenti in biblioteca; in caso contrario dà la possibilità di ordinarli e in seguito di archiviare la fattura d acquisto. Fondo: il sistema permette di conoscere la disponibilità economica della biblioteca per l acquisto di nuovi testi. 2.3 Utenti Direttore: sono richieste conoscenze sulla gestione contabile. Altri utenti: non sono richieste particolari conoscenze per l utilizzo del software. 3 SPECIFICA DEI REQUISITI 3.1 Requisiti Funzionali Requisito # Introduzione: inserimento di un tesserato Input: cognome, nome, codice fiscale, recapito e categoria di studio in caso si registri un ricercatore Processing: il sistema memorizza i dati del tesserato ed elabora un codice identificativo della tessera Output: stampa la nuova tessera Requisito # Introduzione: inserimento di un dipendente Input: cognome, nome, codice fiscale, stipendio mansione Processing: il sistema memorizza i dati del dipendente Output: nessuno Requisito # Introduzione: ricerca di un testo Input: autore, titolo, argomento, casa editrice Processing: il sistema ricerca il testo e controlla la sua disponibilità Output: visualizza la collocazione se è disponibile Requisito # Introduzione: Produce le copie di riviste on line Input: autore, argomento, titolo Processing: il sistema ricerca la rivista controllando la sua disponibilità e copia l articolo della rivista su un su un supporto magnetico esterno. Capitolo I SRS:Specifiche del Problema

7 Output: nessuno Requisito # Introduzione: acquisto di riviste on line Input: codice rivista Processing: il sistema acquisisce on line la rivista attraverso l interazione con un software (chiamato Review ) già fornito da una ditta specializzata nelle spedizioni di riviste per via telematica Output: visualizza la spesa Requisito # Introduzione: effettua un prestito Input: codice tesserato,collocazione libro Processing: il sistema controlla che il tesserato sia abilitato al prestito; infatti ogni tesserato può avere in prestito al massimo 3 libri nello stesso periodo e ogni prestito può ha durata massima 30 giorni non rinnovabili (cioè se si vuole tenere ancora il libro, lo si deve consegnare e poi richiedere un nuovo prestito) Output: in caso di fattibilità del prestito si stampa la ricevuta del prestito con la data di scadenza Requisito # Introduzione: Assunzione di un nuovo dipendente Input: dati dell utente Processing: inserisce nuovo dipendente considerato come responsabile dei prestiti (primo livello di carriera) Output: stampa la tessera del dipendente Requisito # Introduzione: Avanza di carriera [1] un dipendente Input: codice identificativo del dipendente Processing: computa il nuovo stipendio e registra la promozione del dipendente Output: visualizza nuovo stipendio [1] il dipendente viene assunto come responsabile dei prestiti, poi può essere promosso a responsabile degli ordini e infine a direttore SRS:Specifiche del Problema Capitolo I

8 8 Capitolo I SRS:Specifiche del Problema

9 Capitolo II Use Case Diagram Come prima cosa mi accingerò a descrivere i vari casi in cui il software viene utilizzato. Questa fase è molto utile per mettere a fuoco gli obiettivi del progetto. Visti che questi ultimi sono l interesse primario del committente, è opportuna la sua presenza in questa fase. A tale scopo l UML mette a disposizione un tipo di grafico molto intuitivo e che quindi può essere facilmente compreso dal cliente stesso. II.1 Utenti Ho innanzitutto analizzato il sistema dal punto di vista degli utenti della biblioteca e ho ottenuto il grafico in figura II.1. Ho messo in evidenza come un ricercatore abbia tutte le possibilità d uso previsto per un tesserato normale con in più la possibilità di ordinare un testo ma solo se esso non risulta disponibile. Proprio per rispettare tale vincolo lo use case Ordina testo disponibile dovrà avere al suo interno il controllo della disponibiltà (come espresso nel grafico tramite la relazione di include ). Un discorso analogo è stato fatto nel considerare i casi copia rivista on line e richiede prestito libro ; in quest ultimo caso, inoltre, è stato prevista una relazione di extends su limita prestito per indicare che, oltre a richiedere il libro, limitare il prestito stesso.

10 10 Diagramma degli attori Ordina testo indisponibile "include" Limita prestito "include" "extends" Richiede prestito libro "include" Controlla disponibilità Ricercatore Ricerca testo Restituisce libro Tesserato normale Copia rivista on-line disponibile Figura II.1: Use Case Utenti II.2 Biblioteca Successivamente ho analizzato il sistema secondo il punto di vista dei dipendenti della biblioteca analizzando le possibiltà d uso per ogni tipo di attore. Ho così ottenuto il seguente diagramma. Registra prestito Aggiorna fondo Notifica restituzione Direttore "include" Responsabile prestito Registra nuovo tesserato Acquista oridine Fornitore Cataloga nuovi testi Responsabile oridini Acquista ordine rivista sw: "Review" Figura II.2: Use Case Biblioteca Capitolo II Use Case Diagram

11 Diagramma degli attori 11 II.3 Diagramma degli attori Una volta distinti tutti i possibili utenti del sistema, è utile prima di passare al class diagram classificarli attraverso il seguente diagramma (che non esiste nell UML). Persona Fornitore il fornitore è una azienda Tesserato Impiegato Ricercatore Direttore R. ordine R. prestito Figura II.3: diagramma degli attori del sistema Use Case Diagram Capitolo II

12 12 Diagramma degli attori Capitolo II Use Case Diagram

13 Capitolo III Class Diagram III.1 Utenti del sistema Una prima modellazione delle classi è quella discende direttamente dal diagramma degli attori (a pagina 11). Persona +nome: string +cognome: string +inidirizzo: string +telefono: string +stato: string +addpersona() +delpersona() ruolo {sovrapposto,incompleto} Fornitore +azienda: string +PIVA: long +telefono: string +indirizzo: string +addfornitore() +delfornitore() +editfornitore() Tesserato -codice_tessera: string +libri_prestati(): integer +set_tessera() +get_tessera(): string Impiegato -CoficeFiscale: string +stipendio: integer +set_cf() +get_cf(): string impiego {disgiunto,completo, dimaico} Ricercatore -categoria: string +set_categoria() +get_categoria(): string Direttore R_ordine R_prestito Figura III.1: Class Diagram Utenti del Sistema In questo class diagram verranno mantenute le stesse generalizzazioni introdotte dal diagramma degli attori ma saranno aggiunte le informazioni sul tipo di generalizzazione. In particolare voglio mettere in evidenza che la gerarchia ruolo è incompleta poichè una persona può essere istanziata anche se non è un tesserato o un impiegato (per esempio può essere una persona disoccupata che prima di essere assunta sta facendo un periodo di prova). Questa gerarchia risulta inoltre sovrapposta per dare maggiore flessibilità al sistema che potrà quindi prevedere un impiegato a sua volta tesserato.

14 14 Testo Un altra cosa che voglio mettere in evidenza è che la gerarchia impiego è dinamica, per prevedere la possibiltà di carriera. III.2 Package Diagram del sistema A questo punto è possibile individuare alcuni gruppi di classi (o pacchetti) che interagiscono all interno del sistema. prestito testo acquisto utentisistema ordinazione Figura III.2: Package Diagram del sistema Questo diagramma è stato ottenuto generalizzando un abbozzo [1] di class diagram (approccio bottom up) con lo scopo di trattare i singoli pacchetti (approccio top down) rendendoli il più possibile elastici, introducendo eventualmente anche delle classi che non servono per la risoluzione del problema ma che saranno utili per la riusabilità del lavoro svolto. III.3 Testo Trattando in maniera generica la classe Testo mi sono accorto che essa poteva essere specializzata in disponibile o in indisponibile. Un altra distinzione su Testo all interno di questo sistema è tra libri e riviste. Avevo dunque la scelta di classificare in libri e riviste e poi distinguere ognuno di queste classi in disponibili o indisponibili, oppure distinguere subito secondo la disponibilità e poi in libri e riviste. Ho preferito optare per questa seconda possibilità poiché mi sembrava più agevole per le interazioni con le classi degli altri pacchetti e ho così ottenuto il diagramma seguente. [1] questo grafico non viene riportato come inizialmente pensato ma presenterò una sua versione più raffinata in figura III.7 a pagina 17 Capitolo III Class Diagram

15 Ordinazione 15 Testo +Titolo: string +addtesto() +deltesto() +edittesto() disponibilità {completo,disgiunto} T_disponibile +collocazione: string +get_collocazione(): string tipologia {completo,disgiunto} T_indisponibile tipologia {completo,disgiunto} Libro +autori: string +editore: string +anno: integer +Num_copie(): integer Rivista +tipo: string +articolo: 1..maxint +autore: string Rivista_Indisponibile Libro_Indisponibile Figura III.3: Class Diagram dei Testi III.4 Acquisto In questo diagramma viene trattato il problema dell acquisto di un libro e della registrazione di una fattura da parte di un Responsabile degli ordini. Fornitore (from utentisistema) * Ordinazione (from ordinazione) 0..* PIVA Fattura +data: date +numero: integer +importo: integer +addfattura() +modfattura() +delfattura() * 1..1 registra R_ordine (from utentisistema) Figura III.4: Class Diagram di Acquisto La relazione tra Fattura e Ordinazione è stata messa come composizione per evidenziare che questo legame è sì opzionale (poiché ci può essere una ordinazione ancora non soddisfatta) ma una volta instaurato l oggetto di Ordinazione muore con questo legame: cioè non ha senso tenere traccia dell ordinazione se si cancella la fattura a cui si riferisce. Questo non avviene per Fornitore oltretutto perché una ordinazione può appartenere ad una sola fattura, mentre un fornitore può comparire anche su più fatture. III.5 Ordinazione Il diagramma diventa semplicemente il seguente. Class Diagram Capitolo III

16 16 Class Diagram riassuntivo T_indisponibili (from testo) 0..* Ordinazione +data_ordinazione: date 0..* Ricercatore (from utentisistema) Figura III.5: Class Diagram Ordinazione III.6 Prestito di un Testo Libro (from testo) 0..* 0..* Prestito +data_prestito: date +get_scadenza(): date Tesserato (from utentisistema) 0..* 0..* Rivista (from testo) copia {prestito::get_scadenza():date pre: self.data_prestito>=oggi() post: result=aggiungigiorni(self.data_prestito,30)} Figura III.6: Class Diagram Prestito In questo grafico ho introdotto anche una espressione OCL per determinare la scadenza del prestito di un libro. Osservo che per quanto riguarda di riviste on line si parla di copia più che di prestito e quindi non ha senso porsi il problema della scadenza e di conseguenza non ho trovato necessario registrare la data di duplicazione della rivista on line. III.7 Class Diagram riassuntivo Per concludere nella pagina successiva un class diagram mostrerà le interazioni tra le varie classi dei diversi pacchetti Capitolo III Class Diagram

17 Class Diagram riassuntivo 17 T_disponibile +collocazione: string +get_collocazione() Libro (from testo) Rivista (from testo) 0..* 0..* copia 0..* Tesserato (from utentisistema) 0..* Prestito +data_prestito: date +get_scadenza(): date 0..* modifica 0..* R_prestito T_indisponibili (from testo) Fornitore (from utentisistema) * PIVA Fattura +data: date +numero: integer +importo: integer +addfattura() +modfattura() +delfattura() Testo +Titolo: string +addtesto() +deltesto() +edittesto() 0..* 0..* Ordinazione +data_ordinazione: date 1..* * registra 1..1 Ricercatore (from utentisistema) R_ordine (from utentisistema) Figura III.7: Class Diagram Sistema Class Diagram Capitolo III

18 18 Class Diagram riassuntivo Capitolo III Class Diagram

19 Capitolo IV Sequence Diagram In questo capitolo, come nei successivi non descriverò tutti i possibili casi d uso tramite i sequence diagram ma cercherò di analizzare quei casi che ho ritenuto più significativi per evidenziare le potenzialità dell UML. IV.1 Acquisto di un libro In questa azione intervengono le figure di Responsabile degli ordini e dei Fornitori secondo le seguenti modalità Il responsabile degli ordini considera una ordinazione ancora insoluta. Attraverso un opportuno metodo della classe Ordinazione si chiederà al fornitore il preventivo dell ordinazione stessa. Si aggiorna il fondo monetario e si registra la fattura Schematizzando queste interazioni ho ottenuto il diagramma in figura IV.1. Dall analisi di questo nuovo diagramma si evince la necessità di aggiungere i seguenti metodi: 1. +preventivo() per la classe Ordinazione 2. +calcola preventivo() per la classe Fornitore

20 20 Prestito di un libro una ordinazione R_ordini prezzo:=preventivo() calcola_preventivo() Fornitore add_spesa(prezzo) fondo new fattura kill Figura IV.1: Sequence Diagram sull acquisto di un libro Infine osservo che è necessario aggiungere la seguente classe: Fondo -Totale: integer = 0 +add_spesa(prezzo:integer) +get_totale(): integer +add_fondo(fondo:integer): integer IV.2 Prestito di un libro Nel chiedere un testo, il tesserato farà indirettamente eseguire un particolare metodo della classe Testo che controllerà se esso è ancora disponibile (ossia se è in biblioteca). In caso affermativo verrà istanziata un nuovo oggetto della classe T disponibile che il tesserato provvederà a inviare al responsabile dei prestiti (tramite un opportuno metodo). Sarà compito di quest ultimo controllare che il tesserato sia effettivamente abilitato ad ottenere il prestito (cioè deve avere un numero massimo di libri in prestito in quello stesso periodo). Dallo studio di questo caso ho ottenuto il diagramma mostrato nella pagine seguente. Capitolo IV Sequence Diagram

21 Prestito di un libro 21 Tesserato new Testo : testo chiesto ok:=chk_disponibile() [disponibile] new T_disponibile : richiesto return [ok] chiedi_testo(richiesto) R_prestito ok2:=controlla_limite() [ok2] new nuovo prestito stampa_ricevuta() Figura IV.2: Sequence Diagram del prestito di un libro Sequence Diagram Capitolo IV

22 22 Prestito di un libro Dall analisi di questo nuovo diagramma si evince la necessità di aggiungere i seguenti metodi: 1. +chk disponibile() per la classe Testo 2. -disponibile() per la classe Testo 3. +chiedi testo(richiesto:t disponibile) per la classe R prestito 4. -controlla limite() per la classe R prestito 5. -stampa ricevuta() per la classe Prestito Capitolo IV Sequence Diagram

23 Capitolo V Activity Diagram In questo capitolo andrò ad analizzare una serie di stati d azione tramite lo strumento UML dell activity diagram. Infatti per attività si intende un processo reale che avviene nel mondo reale (come chiedere un preventivo) o l esecuzione di una routine del software (come un metodo di una classe). In particolare si è esaminato il caso l acquisto di un libro e il prestito di un libro a favore di un tesserato. V.1 Acquisto di un libro Analizzando il caso dell acquisto di un libro ho ottenuto il seguente diagramma: Considera una ordinazione Chiedi preventivo [else] [prezzo<fondo] Acquista libro Aggiorna fondo Registra fattura Figura V.1: Activity Diagram Acquisto di un libro

24 24 Prestito di un libro V.2 Prestito di un libro Nel caso di un prestito di un libro (analizzato per certi aspetti nel capitolo del Sequence Diagram) il diagramma seguente: Controlla disponibilità [else] [disponibile] Controlla limite prestito [fuori_limite] [else] Aggiorna limite Registra prestito Aggiorna disponibilità Stampa ricevuta Figura V.2: Activity Diagram Acquisto di un libro Capitolo V Activity Diagram

25 Capitolo VI State Diagram VI.1 Stato del dipendente In questo paragrafo ho analizzato lo stato di carriera di un dipendente osservando che si vuole avere la possibilità di registrare anche i possibili candidati o persone che sono in un periodo di prova e che non sono attualmente assunti. Queste categorie di persone vengono considerate dal sistema come disoccupati. Quando si viene assunti definitivamente si diventa Responsabile prestito poi, in seguito ad una promozione, Responsabile ordini e infine Direttore. Dalla mia analisi risulta il seguente diagramma: licenziamento Disoccupato assunzione R_prestito do/timbra cartellino [età>65] licenziamento promozione R_ordine entry/aumenta stipendio do/timbra cartellino [età>65] Pensionato entry/ricevi liquidazione licenziamento promozione Direttore [età>65] entry/aumenta stipendio Figura VI.1: State Diagram sullo stato del dipendente

26 26 Stato del dipendente Capitolo VI State Diagram

27 Capitolo VII Data Flow Diagram Anche se questo strumento non esiste nel UML, risulta comunque utile a evidenziare il flusso di dati tra i vari processi (che possono ad esempio essere dei metodi di classe). VII.1 Prestito di un libro Come molti strumenti anche il DFD può avere vari livelli di dettaglio, quindi in questo caso analizzerò il prestito di un libro riservandomi di dettagliare in seguito il processo Gestore Prestito. chiede_testo Tesserato Getsore prestito R_prestito collocazione ricerca visualizza_esito cerca_testo Db_Testi Figura VII.1: Data Flow Diagram di un prestito Dettagliando il processo Gestore Prestito ho ottenuto il diagramma nella figura seguente.

28 28 Prestito di un libro collocazione Tesserato cerca_testo Db_Testi visualizza_esito chiede_testo visualizza_esito chk_disponibile chiede_testo disponibile chiedi_testo ricerca Db_Testi_in_bibleoteca controlla limite Gestore tesserato aggiorna limite R_prestito visualizza richiesta aggiorna disponibilità Db_Stato_tesserato Gestore disponibilità Db_Testi_in_bibleoteca Figura VII.2: Data Flow Diagram dettagliato Capitolo VII Data Flow Diagram

29 Appendice A Breve richiami all UML L UML è un modello semi informale, orientato ad oggetti ed utile specialmente per sistemi real time. A.1 Use Cases La use case è il modello rudimentale utile nella fase iniziale della progettazione. Più precisamente è un complesso di funzioni elementari che risponde in maniera completa alle esigenze dell utente. Per capire meglio il concetto faccio un esempio: gestione di un contocorrente: 1 o scenario [1] : un cliente chiede informazioni sul contocorrente per cambiare un assegno 2 o scenario: l operatore può registrare l operazione 3 o scenario: l operatore può respingere l operazione In questo caso la use case è cambio assegno e rappresenta le operazioni appunto necessarie per cambiare un assegno. Il grafico sul quale viene rappresentato è detto UCD (Use Case Diagram) dove viene disegnato l attore a forma di omino e la use case racchiusa in un ovale. In questo esempio diventa l UCD semplicemente: cambio assegno Banchiere [1] si dice scenario una sessione di lavoro di un software che ha un inizio e una fine

30 30 Use Cases Questo è un esempio molto banale; tuttavia potremmo avere un UCD più complesso dove ci sono più relazioni tra una use case ed un altra come vincoli (disegnati frecce tratteggiate) o specializzazioni (indicate con una freccia continua). Per esempio potremmo avere qualcosa di simile: cambio assegno "include" stato del c/c Cassere "include" Gestione prestito Valorizzazione Presto "include" Gestione prestito agricolo Respons. prestito Direttore oltre alle relazioni di include possiamo avere anche relazioni di extends come nell esempio seguente: cliente regolare "extends" (pagamento, spedizione) Acq. Prodotto extension points: pagamento spedizione, garanzie "extends" (garanzie) Rapporti banca tuttavia questo tipo di relazione si usa solo qualche volta, giusto per evidenziare aspetti rispetto al concetto generale; nell esempio i metodi che meritano di essere ridefiniti sono i 3 dell extension points. Anche se UML non lo prevede, risulta utile fare un grafico dove si distinguono le categorie di attori, come ad esempio: Appendice A Breve richiami all UML

31 Class Diagram 31 supporto tecnico Politig (fa richieste di query standard) Attore Interno Tecnico utente Esterno Infine bisogna osservare che nell UCD non sono solo gli attori che possono interagire con le use cases, ma anche altri software (racchiusi in un rettangolo) come si evince dal seguente esempio: Use Case 1 Use Case 2 Attore "actor" sw XK41 Use Case 3 A.2 Class Diagram È un grafico di tipo statico per la modellazione delle classi [2]. Ogni classe è rappresentata internamente in una scatola con i suoi attributi (dati) e i suoi metodi, come da esempio: [2] una classe è un insieme di oggetti che hanno una struttura, un comportamento e delle relazioni simili Breve richiami all UML Appendice A

32 32 Class Diagram Conto corrente identificatore: fliale:(a,b,c) fido: apri stampa saldo prelievo deposito Più precisamente in testa a questa scatola ci sta: 1. Uno stereotipo racchiuso tra virgolette ( ) e/o la sua icona 2. Il nome della classe in grassetto e centrato 3. Una lista di proprietà della classe separate da virgole e racchiuse tra parentesi graffe (es. {abstract}). Possiamo avere delle associazioni tra classi indicate con una linea se è bidirezionale, con una freccia se è unidirezionale. Sopra questa linea bisogna specificare la molteplicità della relazione secondo la seguente notazione: lower bound..upper bound il carattere asterisco (*) come upper bound sta ad indicare + ad esempio la seguente molteplicità: Conto corrente +identificatore: filiale: (A,B,C) +fido: apri() +stampa saldo() +prelievo() +deposito() Cliente 0..* Nome: +Cognome: -CF: +set CF() +get CF() sta ad indicare che un contocorrente appartenere ad uno e un solo cliente mentre un cliente può avere a 0 a + conto correnti. Davanti ai metodi o agli attributi può esserci uno dei tag seguenti: + metodo/attributo pubblico Appendice A Breve richiami all UML

33 Class Diagram 33 # metodo/attributo protetto [3] metodo/attributo privato [4] se non c è nessun tag allora si tratta di una implementazione Osservazione: non abbiamo bisogno, come nell E/R, di cercare la chiave primaria perché in realtà ad ogni oggetto è associato un object id (interno al sistema e invisibile) e lo stato dei suoi attributi. Paritamente non abbiamo problemi di normalizzazione. A.2.1 Vincoli Possiamo avere la necessità di esprimere dei vicoli sugli attributi di una classe, allora convenzionalmente racchiudiamo questi vincoli tra parentesi graffe fuori dalla classe e colleghiamo il vincolo al suo attributo tramite una linea tratteggiata. Ad esempio: Persona +Nome: string +Cognome: string +Nascita: date +Età: Nazionalità: string +Sesso: (M,F) +Età Media() {Età=Differenza(Nascita-Oggi)} A.2.2 Specializzazione Le classi possono essere specializzate in sottoclassi attraverso una freccia (con punta a triangolo vuoto) e una etichetta vicino a essa che comprende il nome della partizione della superclasse che si sta specializzando e uno o più vincoli separati da una virgola, racchiusi in parentesi graffe. I vincoli più noti sono: sovrapposto: se lo stato della partizione può discendere da più sottoclassi disgiunto: se lo stato della partizione discende da una sola sottoclasse completo: se le sottoclassi rappresentate coprono tutti i casi e non mi aspetto di cadere al di fuori di essi incompleto: se le sottoclassi rappresentate non coprono tutti i casi [3] si ricorda che un metodo è protetto quando è visibile solo dalla classe stessa e dalle classi appartenenti allo stesso package [4] un metodo è privato se è visibile solo all interno della sua classe Breve richiami all UML Appendice A

34 34 Class Diagram Possono essere aggiunti anche altri vincoli come il dinamico dell esempio seguente che sta ad indicare che lo stato di appartenenza della partizione ad una sottoclasse può variare dinamicamente nel tempo: Persona +Nome: string +Cognome: string +Sesso: +Professione: Professione {dinamico,incompleto} Disoccupato Studente Sesso {disgiunto,completo} Pensionato Maschio Femmina A.2.3 Aggregazione È una relazione del tipo parte di. L Esempio classico è quella del motore e dell auto: un motore è parte dell auto. L aggregazione è rappresentata attraverso un rombo vuoto attaccato ad una freccia che lo collega al componente. Nell esempio dell auto e del motore: Auto Motore +Matricola: string Anche sulle aggregazioni si possono inserire vincoli di cardinalità. Un caso particolare dell aggregazione è la composizione: cioè quando il componente può fare parte di un solo oggetto composto e una volta creato il vincolo, il componente muore con il legame. Un esempio è quella della finestra grafica che ha come componenti 2 scroll bar, un titolo e un corpo. È chiaro che si tratta di una composizione perché le scroll bars (come anche il titolo e il corpo) non possono fare parte di più di una finestra grafica e, quando muore la finestra si deallocano anche gli oggetti che la compongono. Al dire il vero anche l esempio dell auto e del motore sembrerebbe una composizione. Invece un esempio più chiaro di aggregazione semplice è il giocatore nella squadra se ammettiamo che un giocatore può giocare in più squadre. La composizione si annerendo il rombo. Appendice A Breve richiami all UML

35 Class Diagram 35 A.2.4 Qualificatori Il Qualificatore è un attributo (o una tupla di attributi) il cui valore mi identifica una parte degli oggetti della classe che sono proprio quelli associati all oggetto [5] dall altra parte della associazione. Consideriamo ad esempio: Banca Numero_conto * 0..1 Persona ho che un numero di conto mi identifica un insieme di oggetti della classe Banca che possono essere associati (0..1) ad un oggetto della classe Persona. Come visto in questo esempio il qualificatore è racchiuso in un quadrato sotto (o a sinistra oppure a destra) la scatola che contiene la classe. A.2.5 Associazione di classe È una associazione che ha le proprietà di una classe (come quella di essere associata ad un altra classe). Graficamente si disegna con una linea continua tra due classi e dal centro di questa linea si fa partire una linea ortogonale tratteggiata che si collega alla classe descrittrice dell associazione. Nel seguente esempio Proprietà è una associazione di classe: Persona +Nome: String +Cognome: String +Nascita: Date +init() 1..n 0..n Casa +Via: String +Mq: Integer +Costruita: Date +valore() Proprietà +Data_inizio: Date +Data_fine: Date Notaio o 1 [5] se parliamo di oggetto al singolare vuol dire che la cardinalità da questa parte dell associazione è 0..1 Breve richiami all UML Appendice A

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

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

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

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

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

Progettazione del Software

Progettazione del Software L4.4 Progettazione del Software Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw Seconda Parte La fase di

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

Progettazione del Software A.A.2008/09

Progettazione del Software A.A.2008/09 Laurea in Ing. Informatica ed Ing. dell Informazione Sede di latina Progettazione del Software A.A.2008/09 Domenico Lembo* Dipartimento di Informatica e Sistemistica A. Ruberti SAPIENZA Università di Roma

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

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

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Luciano Baresi Luciano Baresi 1 OMT Booch UML Sono simili in molti aspetti: Prescrivono un approccio passo-passo Consentono il passaggio dall analisi al progetto in modo omogeneo

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

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

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

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

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

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Ingegneria del Software: UML Class Diagram

Ingegneria del Software: UML Class Diagram Ingegneria del Software: UML Class Diagram Due on Mercoledì, Aprile 1, 2015 Claudio Menghi, Alessandro Rizzi 1 Contents Ingegneria del Software (Claudio Menghi, Alessandro Rizzi ): UML Class Diagram 1

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

Software a supporto della Gestione amministrativa dello Sportello Unico Versione 2.1

Software a supporto della Gestione amministrativa dello Sportello Unico Versione 2.1 Pag. 1 di 9 Software a supporto della Gestione amministrativa dello Sportello Unico Versione 2.1 Interventi sul software RE V. REDAZIONE VERIFICHE ED APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE

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

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA 1 Sistema Informativo Un sistema informativo (SI) è un componente di una organizzazione il cui obiettivo è gestire le informazioni utili per gli scopi dell

Dettagli

Capitolo 8. Esercizio 8.1

Capitolo 8. Esercizio 8.1 Capitolo 8 Esercizio 8.1 Si consideri lo schema Entità-Relazione ottenuto come soluzione dell esercizio 7.4. Fare delle ipotesi sul volume dei dati e sulle operazioni possibili su questi dati e, sulla

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

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Rappresentazione grafica di entità e attributi

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

Dettagli

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 orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

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

Versione aggiornata al 11.11.2014

Versione aggiornata al 11.11.2014 Word Processing Versione aggiornata al 11.11.2014 A cura di Massimiliano Del Gaizo Massimiliano Del Gaizo Pagina 1 SCHEDA (RIBBON) HOME 1. I L G R U P P O C A R AT T E R E Word ci offre la possibilità,

Dettagli

Modellazione di sistema

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

Dettagli

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

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

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

Dettagli

Gestione di una rosticceria

Gestione di una rosticceria Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesina di Ingegneria del Software Gestione di una rosticceria di Fabio Zanella Matr. 1598

Dettagli

Gestione Automatizzata di una Lista Nozze

Gestione Automatizzata di una Lista Nozze Gestione Automatizzata di una Lista Nozze Si deve progettare un sistema per la gestione di liste nozze on line. Il sistema rende possibile la consultazione di un catalogo on line, la creazione di una lista

Dettagli

BASI DI DATI I. Progettazione di un DBMS per un negozio di materiale elettrico. Progetto realizzato da: Iero Demetrio Matricola: 106857

BASI DI DATI I. Progettazione di un DBMS per un negozio di materiale elettrico. Progetto realizzato da: Iero Demetrio Matricola: 106857 BASI DI DATI I Progettazione di un DBMS per un negozio di materiale elettrico Progetto realizzato da: Iero Demetrio Matricola: 106857 DESCRIZIONE DELLA REALTA' Si vuole realizzare un DBMS per la gestione

Dettagli

Domande e Risposte ALLEGATI CLIENTI E FORNITORI. DATALOG Soluzioni Integrate

Domande e Risposte ALLEGATI CLIENTI E FORNITORI. DATALOG Soluzioni Integrate KING Domande e Risposte ALLEGATI CLIENTI E FORNITORI DATALOG Soluzioni Integrate - 2 - Domande e Risposte Allegati Clienti e Fornitori Sommario Premessa.... 3 Introduzione... 4 Elenco delle domande...

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

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

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando

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

Database Modulo 2. Le operazioni di base

Database Modulo 2. Le operazioni di base Database Modulo 2 Le operazioni di base L architettura concettuale dei dati ha lo scopo di astrarre dal mondo reale ciò che in questo è concettuale, cioè statico. 2 In altri termini gli oggetti del mondo

Dettagli

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1 La progettazione concettuale: il modello ER 17/12/2007 Unità di Apprendimento A2 1 1 La progettazione concettuale Prima di procedere con la progettazione concettuale è necessario effettuare un analisi

Dettagli

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali Introduzione Sistemi Informativi Linguaggi per la modellazione dei processi aziendali Paolo Maggi Per progettare un sistema informativo è necessario identificare tutti i suoi elementi

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

Guida Utente PS Contact Manager GUIDA UTENTE

Guida Utente PS Contact Manager GUIDA UTENTE GUIDA UTENTE Installazione...2 Prima esecuzione...5 Login...7 Registrazione del programma...8 Inserimento clienti...9 Gestione contatti...11 Agenti...15 Archivi di base...16 Installazione in rete...16

Dettagli

Banca Dati Giuridica del Personale della Polizia di Stato

Banca Dati Giuridica del Personale della Polizia di Stato All. 5 DIPARTIMENTO DELLA PUBBLICA SICUREZZA Direzione Centrale per le Risorse Umane Banca Dati Giuridica del Personale della Polizia di Stato Manuale Utente 1. Manuale Utente Banca Dati Giuridica del

Dettagli

Automazione della gestione degli ordini d acquisto di una società di autonoleggio

Automazione della gestione degli ordini d acquisto di una società di autonoleggio Automazione della gestione degli ordini d acquisto di una società di autonoleggio Professore Gaetanino Paolone Studenti Paolo Del Gizzi Maurizio Di Stefano 1 INDICE INTRODUZIONE.pag.3 IL PIANO METODOLOGICO

Dettagli

La specifica del problema

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

Dettagli

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1] Progettazione di basi di dati Progettazione di basi di dati Requisiti progetto Base di dati Struttura Caratteristiche Contenuto Metodologia in 3 fasi Progettazione concettuale Progettazione logica Progettazione

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

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

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

Dettagli

Fasi del progetto ( 1 )

Fasi del progetto ( 1 ) Progetto 2004-2005 2005 Esercitazione delle lezioni 2, 3 e 4. 1 Fasi del progetto ( 1 ) Analisi dettagliata delle specifiche fornite dal committente. Questa fase è fondamentale per capire a fondo quali

Dettagli

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

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

Manuale d uso. UTILIZZO delle PROCEDURE

Manuale d uso. UTILIZZO delle PROCEDURE Manuale d uso UTILIZZO delle PROCEDURE Versione 1.0 Maint manager è sviluppato da ISI per Sommario. Manuale utente...1 Sommario...2 Gestione della manutenzione:...3 Richieste di servizio...3 Dichiarazione

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO ER PER LA PROGETTAZIONE

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

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

Progettazione della componente applicativa

Progettazione della componente applicativa 7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo

Dettagli

Elementi di UML (2) Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005

Elementi di UML (2) Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Elementi di UML (2) Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio di Sistemi e Processi Organizzativi UML

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Activity Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è un Activity Diagram Quando si

Dettagli

Testo Esercizio Sommario Note relative alla modellazione UML. Note relative al testo dell esercizio.

Testo Esercizio Sommario Note relative alla modellazione UML. Note relative al testo dell esercizio. Testo Esercizio Si consideri un sistema per la gestione di un magazzino di un negozio scelto a piacere dal candidato Il sistema è in grado di gestire le seguenti operazioni: Arrivo di nuovi prodotti; Controllo

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

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SOFTWARE PER L ARCHIVIAZIONE

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SOFTWARE PER L ARCHIVIAZIONE APPROFONDIMENTO ICT Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto Approfondimento SOFTWARE PER L ARCHIVIAZIONE ORGANISMO BILATERALE PER LA FORMAZIONE IN CAMPANIA INDICE SOFTWARE PER

Dettagli

1. I database. La schermata di avvio di Access

1. I database. La schermata di avvio di Access 7 Microsoft Access 1. I database Con il termine database (o base di dati) si intende una raccolta organizzata di dati, strutturati in maniera tale che, effettuandovi operazioni di vario tipo (inserimento

Dettagli

Apros s.r.l. è lieta di presentarvi

Apros s.r.l. è lieta di presentarvi Apros s.r.l. è lieta di presentarvi Apros Configurator è uno strumento facile ed intuitivo nel suo utilizzo, che vi permetterà di realizzare in breve tempo il dimensionamento di canne fumarie e renderà

Dettagli

Caso di Studio: Avant Dernier

Caso di Studio: Avant Dernier Caso di Studio: Avant Dernier Specifiche: Nel gioco si affrontano 4 giocatori, ciascuno individuato con un numero progressivo (da 1 a 4). Inizialmente, i giocatori ricevono 5 carte ciascuno, e una carta

Dettagli

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1 ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1 Nelle lezioni precedenti Abbiamo definito il modello Entità- Associazione che serve a descrivere la struttura dei dati Abbiamo usato il modello per

Dettagli

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE

(A) CONOSCENZA TERMINOLOGICA (B) CONOSCENZA E COMPETENZA (C) ESERCIZI DI COMPRENSIONE (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Caselle di testo Caselle di riepilogo Caselle combinate Gruppo di opzioni Pulsanti di comando (B) CONOSCENZA E COMPETENZA

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

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

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

Dettagli

Progettazione ad oggetti

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

Dettagli

InfoWeb - Manuale d utilizzo

InfoWeb - Manuale d utilizzo InfoWeb - Manuale d utilizzo Tipologia Titolo Versione Identificativo Data stampa Manuale utente Edizione 1.2 01-ManualeInfoWeb.Ita.doc 05/12/2007 INDICE 1 INTRODUZIONE... 3 1.1 ACCESSO A INFOWEB... 6

Dettagli

LA COMUNITA CHE GUARISCE

LA COMUNITA CHE GUARISCE WWW. E-RAV.IT PER per LA COMUNITA CHE GUARISCE Manuale d uso della RAV Regole semplici per creare conoscenza Roberto Leverone Amministratore RAV Marzo 2009 rev. 0 Capitolo I [An Manuale RAV Capitolo I

Dettagli

Centro Iniziative Sociali Municipio III

Centro Iniziative Sociali Municipio III Centro Iniziative Sociali Municipio III C.I.S Municipio III Corso di informatca Roberto Borgheresi C ORSO BASE DI I NFORMATICA Centro Iniziative Sociali Municipio III Coordinatore: Roberto Borgheresi Insegnanti:

Dettagli

Casi d uso (use cases)

Casi d uso (use cases) Casi d uso (use cases) proposti da Ivar Jacobson nel 1992 termine nuovo, ma tecnica consolidata (studio degli scenari di operatività degli utilizzatori di un sistema) sono i modi in cui il sistema può

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

Gestione Automatizzata di un Parco Safari

Gestione Automatizzata di un Parco Safari Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria Informatica Tesina di Ingegneria del Software (Anno accademico 2001 2002) Gestione Automatizzata di un Parco Safari Notazione: UML

Dettagli

Esempio ordini 08UMLEX1.1

Esempio ordini 08UMLEX1.1 Esempio ordini 08UMLEX1.1 Sommario Specifiche del sistema di gestione ordini Specifiche Use Case Use Case Specifiche del diagramma delle classi Diagramma delle classi Specifiche per lo scenario della richiesta

Dettagli

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

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

Dettagli

Termine Descrizione Sinonimo Collegamenti Lettore Una persona che prende in Utente

Termine Descrizione Sinonimo Collegamenti Lettore Una persona che prende in Utente Capitolo 7 Esercizio 7.1 Si desidera automatizzare il sistema di prestiti di una biblioteca. Le specifiche del sistema, acquisite attraverso un intervista con il bibliotecario, sono quelle riportate in

Dettagli

Il problema. ! Si chiede di sviluppare un applicazione per la

Il problema. ! Si chiede di sviluppare un applicazione per la Il problema! Si chiede di sviluppare un applicazione per la gestione del sistema bibliotecario universitario. La soluzione deve implementare le operazioni basilari per la gestione della biblioteca ed inoltre

Dettagli

Fasi di creazione di un programma

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

Dettagli

Struttura logica di un programma

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

Dettagli

USARE JOOMLA 1.7/2.5 per gestire il vostro sito.

USARE JOOMLA 1.7/2.5 per gestire il vostro sito. 1 USARE JOOMLA 1.7/2.5 per gestire il vostro sito. 1. Per accedere al pannello di controllo: www.vostrosito.it/administrator 2. Inserire utente e password 3. Il vostro pannello di controllo si presenterà

Dettagli

Software Servizi Web UOGA

Software Servizi Web UOGA Manuale Operativo Utente Software Servizi Web UOGA S.p.A. Informatica e Servizi Interbancari Sammarinesi Strada Caiese, 3 47891 Dogana Tel. 0549 979611 Fax 0549 979699 e-mail: info@isis.sm Identificatore

Dettagli

Officina Meccanica. Analisi, progetto e sviluppo

Officina Meccanica. Analisi, progetto e sviluppo Officina Meccanica Analisi, progetto e sviluppo Definizione del problema e specifica dei requisiti Un officina meccanica dispone di un magazzino in cui tiene parti di ricambio per automobili. Ogni parte

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

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

Manuale NoiPA. Gestione Anagrafica. Documento di sintesi Versione 1.5 del 24/03/2014. Pagina 1 di 38

Manuale NoiPA. Gestione Anagrafica. Documento di sintesi Versione 1.5 del 24/03/2014. Pagina 1 di 38 Manuale NoiPA Gestione Anagrafica Documento di sintesi Versione 1.5 del 24/03/2014 Pagina 1 di 38 Indice 1 Introduzione... 3 2 Aspetti generali... 4 2.1 Interfaccia grafica... 5 2.2 Standard di utilizzo...

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons

Manuale. Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Manuale Gestione biblioteca scolastica by Rosset Pier Angelo is licensed under a Creative Commons Premessa Gestione Biblioteca scolastica è un software che permette di gestire in maniera sufficientemente

Dettagli

TEMPO X PRODURRE ARTICOLO QUANTITÀ LAVORAZIONE MACCHINA 1 PEZZO Taglio Seghetto 30 minuti. Tornitura Tornio 20 minuti

TEMPO X PRODURRE ARTICOLO QUANTITÀ LAVORAZIONE MACCHINA 1 PEZZO Taglio Seghetto 30 minuti. Tornitura Tornio 20 minuti PIANIFICAZIONE DELLA PRODUZIONE CON ACCESS E PROJECT 2007 In questo articolo esamineremo come una applicazione Access ed una applicazione Project 2007 possono interagire per creare un piano di produzione

Dettagli

SOFTWARE MAINTENANCE DESIGN

SOFTWARE MAINTENANCE DESIGN SOFTWARE MAINTENANCE DESIGN INTRODUZIONE... 1 1.1 Identificazione della richiesta di modifica... 2 1.2 Assegnazione di un numero di identificazione alla Change Request... 2 1.3 Classificazione del tipo

Dettagli

ASSOWEB. Manuale Operatore

ASSOWEB. Manuale Operatore ASSOWEB Manuale Operatore Sistemi Internet per la gestione delle Associazioni dei Donatori di Sangue integrata con il sistema informativo del Servizio Trasfusionale L utilizzo delle più moderne tecnologie

Dettagli

Un modello è ragionevole quando contiene queste tre caratteristiche.

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

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli