Gestione Automatizzata di una Biblioteca

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

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

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

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

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

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

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

Analisi Modelli per la specifica dei requisiti

Analisi Modelli per la specifica dei requisiti Modelli per la specifica dei requisiti Modelli semantici dei dati Entità-Relazioni (E-R) Modelli orientati all elaborazione dati Diagrammi di Flusso dei Dati (Data-Flow Diagrams, DFD) Modelli orientati

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

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Unified Modelling Language (UML) Class Diagram Docente: Massimo Cossentino Slide adattate dagli originali di:

Dettagli

Il modello Entity-Relationship per il progetto delle basi di dati

Il modello Entity-Relationship per il progetto delle basi di dati 1 Il modello Entity-Relationship per il progetto delle basi di dati Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Le metodologie di progettazione delle Basi di Dati 2 Una metodologia

Dettagli

Modellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist www.roccatello.it

Modellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist <eduard.roccatello@3dgis.it> www.roccatello.it Modellazione e progettazione con UML Eduard Roccatello 3D GIS Specialist www.roccatello.it Object Oriented Analysis and Design Consente di modellare un sistema attraverso l

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

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

Analisi Modello dei dati

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

Dettagli

Business Modeling UML

Business Modeling UML Business Modeling UML versione 16 marzo 2009 Adriano Comai http://www.analisi-disegno.com Obiettivo di questa introduzione fornire alcuni elementi di base sul business modeling UML i temi esposti sono

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

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

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

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

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

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

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

Progettazione di Applicazioni Web

Progettazione di Applicazioni Web 1 Argomenti della lezione Progettazione di Applicazioni Web Sviluppo delle applicazioni Processo di sviluppo Formalismi grafici di supporto diagrammi UML (cenni) Scelta dell architettura Sviluppo di applicazioni

Dettagli

Progetto di Ingegneria del Software matricola 640926 MODELLAZIONE UML DI UN TERMINALE ATM. di Cavenaghi Mattia 03/04/2008 1/24

Progetto di Ingegneria del Software matricola 640926 MODELLAZIONE UML DI UN TERMINALE ATM. di Cavenaghi Mattia 03/04/2008 1/24 MODELLAZIONE UML DI UN TERMINALE ATM di Cavenaghi Mattia 03/04/2008 1/24 INDICE: Descrizione del problema pag. 3 Analisi dei requisiti pag. 3 Requisiti funzionali Requisiti non funzionali Requisiti tecnologici

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

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

Progetto per la gestione di un Agenzia Giornalistica

Progetto per la gestione di un Agenzia Giornalistica Tesina di Ingegneria del Software Progetto per la gestione di un Agenzia Giornalistica Realizzato da: Francesca Mazzoni Università degli studi di Modena Facoltà di Ingegneria A.A. 2000/2001 Sommario Specifica

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

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

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

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

Dettagli

Linguaggi di Programmazione I Lezione 5

Linguaggi di Programmazione I Lezione 5 Linguaggi di Programmazione I Lezione 5 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 1 aprile 2008 Diagrammi UML 3 UML: richiami..........................................................

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione a UML. Iolanda Salinari Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare

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

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 Model: Diagrammi di classe

Object Model: Diagrammi di classe Object Model: Diagrammi di classe A seconda dell ambito, si incontrano diversi modi per designare un oggetto oppure per designare una classe. Oggetto Entità Istanza Occorrenza Concetto Tipo di entità Classe

Dettagli

Basi di dati. Microsoft Access. Cosa è. Pietro Pala (pala@dsi.unifi.it) Come iniziare. Aprire un database. Creare un database. Creare un database

Basi di dati. Microsoft Access. Cosa è. Pietro Pala (pala@dsi.unifi.it) Come iniziare. Aprire un database. Creare un database. Creare un database Cosa è Basi di dati Pietro Pala (pala@dsi.unifi.it) Microsoft Access Access è un DBMS relazionale in grado di supportare: Specifica grafica dello schema della base dati Specifica grafica delle interrogazioni

Dettagli

Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno.

Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno. MODELLI INFORMATICI 1 Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno. Aspetti di un modello: il modello è la rappresentazione di certi fatti;

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

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

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

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

Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione

Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione Obiettivo della lezione Casi d uso La modellazione dei requisiti funzionali I casi d uso Gli attori Gli scenari Come scrivere casi d uso Casi d uso (use cases) Scenari d interazione Proposti da Ivar Jacobson

Dettagli

OOA Esercizi. UniRoma2 - Ingegneria del Software 1 1

OOA Esercizi. UniRoma2 - Ingegneria del Software 1 1 OOA Esercizi UniRoma2 - Ingegneria del Software 1 1 Sistema SW per Online Shopping Requisiti Utente Il sistema software deve supportare l azienda X che vende computer online I clienti che accedono al sistema

Dettagli

Introduzione ad UML. Perché modelliamo

Introduzione ad UML. Perché modelliamo Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la

Dettagli

Specifiche dei requisiti

Specifiche dei requisiti Specifiche dei requisiti 1. Introduzione Scopo:lo scopo di questo progetto è di illustrare brevemente ma efficacemente la funzionalità del software per la gestione di una enciclopedia on line. Campo di

Dettagli

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML)

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML) ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML) a cura di Giacomo PISCITELLI Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari Questi appunti sono ricavati da una

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

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

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

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

UML. Una introduzione incompleta. UML: Unified Modeling Language

UML. Una introduzione incompleta. UML: Unified Modeling Language UML Una introduzione incompleta 1/23 UML: Unified Modeling Language Lo Unified Modeling Language (UML) è una collezione di notazioni grafiche che aiuta a progettare sistemi software, specialmente quelli

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

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 I. UML - Use Case Diagram

Ingegneria del Software I. UML - Use Case Diagram Requisiti e casi d uso Unified Modeling Language Use Case Diagram 1 Il primo passo di qualsiasi processo di sviluppo è la definizione dei requisiti Definizione del Business Model Solitamente informale

Dettagli

Linguaggi di Programmazione I Lezione 6

Linguaggi di Programmazione I Lezione 6 Linguaggi di Programmazione I Lezione 6 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 aprile 2008 Analisi di oggetti e classi 3 Introduzione............................................................

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

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

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

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

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

Dettagli

Progettazione base dati relazionale

Progettazione base dati relazionale Progettazione base dati relazionale Prof. Luca Bolognini E-Mail:luca.bolognini@aliceposta.it Progettare una base di dati Lo scopo della progettazione è quello di definire lo schema della base di dati e

Dettagli

Class Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a. 2013-2014

Class Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a. 2013-2014 Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM)- Università degli Studi

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

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

Paradigma object-oriented

Paradigma object-oriented Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced

Dettagli

Principi di Progettazione del Software a.a. 2015-2016" Introduzione a UML. Requisiti e casi d uso! Prof. Luca Mainetti! Università del Salento!

Principi di Progettazione del Software a.a. 2015-2016 Introduzione a UML. Requisiti e casi d uso! Prof. Luca Mainetti! Università del Salento! Principi di Progettazione del Software a.a. 2015-2016" Introduzione a UML. Requisiti e casi d uso! Prof. Luca Mainetti! Università del Salento! Obiettivi della lezione" Introdurre il linguaggio UML per

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

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

Architettura del software: dai Casi d Uso al Modello

Architettura del software: dai Casi d Uso al Modello Architettura del software: dai Casi d Uso al Modello Lorenzo Barbieri Sono un Senior Trainer/Consultant in ObjectWay SpA (www.objectway.it), specializzato in architetture Microsoft.NET, Windows, SQL Server,

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

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

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

DIAGRAMMI DI SEQUENZA

DIAGRAMMI DI SEQUENZA DIAGRAMMI DI SEQUENZA Francesco Poggi fpoggi@cs.unibo.it A.A. 2015-2016 Premessa As always, there is never a correct solution to any modelling problem. It s more that some models are more precise, and

Dettagli

Appunti sulla documentazione di un progetto software object oriented in linguaggio Java

Appunti sulla documentazione di un progetto software object oriented in linguaggio Java Appunti sulla documentazione di un progetto software object oriented in linguaggio Java Marco Liverani Luglio 2006 1 Introduzione Ogni progetto informatico è sicuramente incompleto fino a quando non viene

Dettagli

Progettazione di un sistema informativo aziendale

Progettazione di un sistema informativo aziendale Università degli Studi di Torino Corso in Sistemi Informativi Aziendali Professor M. Segnan Progettazione di un sistema informativo aziendale per un negozio online di articoli sportivi Eseguito da Giovanni

Dettagli

MODELLO E/R. Modellazione dei dati

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

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Strutturata - DFD Data Flow Diagram Rappresenta le trasformazioni che i dati subiscono nel loro flusso all interno del sistema Ogni sistema di elaborazione effettua una

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi Metodologie e modelli per la progettazione di basi di dati Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti Progettare: definire la struttura,

Dettagli

Foglio elettronico. Foglio elettronico EXCEL. Utilizzo. Contenuto della cella. Vantaggi EXCEL. Prof. Francesco Procida procida.francesco@virgilio.

Foglio elettronico. Foglio elettronico EXCEL. Utilizzo. Contenuto della cella. Vantaggi EXCEL. Prof. Francesco Procida procida.francesco@virgilio. Foglio elettronico Foglio elettronico EXCEL Prof. Francesco Procida procida.francesco@virgilio.it Il foglio elettronico è un programma interattivo, che mette a disposizione dell utente una matrice di righe

Dettagli

Il diagramma dei casi d uso

Il diagramma dei casi d uso Il diagramma dei casi d uso Laboratorio di Sistemi e Processi Organizzativi Gian Piero Favini A.A. 2006-2007 Lab Sistemi e Processi Organizzativi () Il diagramma dei casi d uso A.A. 2006-2007 1 / 34 Tassonomia

Dettagli

Guida di addestramento Introduzione alle Comunicazioni Obbligatorie [COB] SINTESI

Guida di addestramento Introduzione alle Comunicazioni Obbligatorie [COB] SINTESI SINTESI Introduzione alle Comunicazioni Obbligatorie [COB] Questo documento è una guida al sito dedicato alle aziende: archivio delle comunicazioni obbligatorie che i datori di lavoro sono tenuti ad effettuare

Dettagli

object oriented analysis

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

Dettagli

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

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

servizi e consulenze informatiche

servizi e consulenze informatiche Biblio on-line Gestione Archiviazione e Prestiti Bibliotecari S.E.M. s.a.s. servizi e consulenze informatiche sede legale: Contrada Pretaro, 1 66023 Francavilla al Mare (CH) sede operativa: Viale R. Camiscia,

Dettagli

Sommario Unified Modeling Language Ing. Gianluca Di Tomassi www.ditomassi.it Modelli del processo SW Modello a cascata Sviluppo iterativo del SW Modello incrementale Modello a spirale Unified Modeling

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

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag