Progettazione delle Applicazioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progettazione delle Applicazioni"

Transcript

1 6 Progettazione delle Applicazioni Questo capitolo è dedicato alla progettazione delle applicazioni. In particolare, faremo riferimento al linguaggio UML (Unified Modeling Language) prendendo in considerazione alcuni dei diagrammi previsti da tale linguaggio e, più specificatamente, il diagramma dei casi d uso, il diagramma di sequenza e il diagramma di connessione che, a nostro avviso, sono quelli maggiormente utilizzati nella Progettazione delle Applicazioni di un Sistema Informativo. 6.1 Introduzione alla Progettazione delle Applicazioni Per progettazione delle applicazioni si intende quella fase della progettazione di un Sistema Informativo che si occupa di progettare tutti i programmi che dovranno operare sui dati relativi al Sistema Informativo stesso. Tale fase della progettazione è, senza dubbio, meno standardizzata rispetto a quella precedente; esistono, infatti, svariati modi di procedere, alcuni artigianali e altri più o meno scientifici. Anche tra gli approcci scientifici vi è una grande varietà di metodologie basate, spesso, su modelli differenti. Due tra i modelli maggiormente utilizzati sono i Diagrammi di Flusso dei Dati (DFD) e lo Unified Modeling Language (UML). Noi prenderemo in considerazione proprio quest ultimo modello per svariate ragioni. Innanzitutto UML è più recente rispetto ai DFD e, quindi, è dotato di una serie di costrutti volti a risolvere problemi che, invece, non erano stati presi in considerazione al tempo della definizione dei DFD. In secondo luogo UML si sta diffondendo sempre più capillarmente tra i programmatori per cui, in alcuni cotesti, quali la programmazione orientata agli oggetti, sta diventando il modello standard de facto. In terzo luogo UML è già il meta-modello di riferimento nel contesto dell Ingegneria del Software; adottare tale modello anche nel contesto della progettazione delle applicazioni di un Sistema Informativo consente una maggiore correlazione tra queste due forme di progettazione. Nella progettazione delle applicazioni tramite UML prenderemo in considerazione tre tipologie di diagrammi previste da tale linguaggio, ovvero i diagrammi dei casi d uso, i diagrammi di sequenza e i diagrammi di comunicazione. Essi verranno esaminati in dettaglio nelle prossime sezioni. 6.2 Diagrammi dei casi d uso Concetto di caso d uso I casi d uso sono una tecnica utilizzata per identificare i requisiti funzionali di un sistema e si basano sulla descrizione, in una forma quasi narrativa, delle interazioni tipiche tra gli utenti e il sistema. Per capire il loro funzionamento cominciamo a introdurre il concetto di scenario. Uno scenario è una sequenza di passi che caratterizzano una particolare interazione tra un utente e il sistema. Ad esempio, nel caso di un negozio on-line su Web, potremmo avere uno scenario Acquisto di un Prodotto così descritto:

2 74 6 Progettazione delle Applicazioni Il cliente naviga nel catalogo e aggiunge gli articoli desiderati in un carrello della spesa. Quando il cliente desidera pagare, prima di concludere l acquisto, deve scegliere la modalità di spedizione e fornire i dati della propria carta di credito. Il sistema controlla se la carta di credito è valida e conferma l acquisto sia immediatamente che con un successivo messaggio di posta elettronica. Questo scenario descrive come potrebbero andare le cose; tuttavia, vi potrebbero essere alcune variazioni. Innanzitutto la carta di credito potrebbe non essere valida; in tal caso si avrebbe uno scenario separato. In un altra ipotesi, un cliente abituale potrebbe aver già salvato un profilo con le preferenze relative alla spedizione e il numero di carta di credito: questo sarebbe un terzo scenario. Le modalità di interazione descritte presentano piccole differenze ma sono tuttavia molto simili. L essenza della loro somiglianza sta nel fatto che in tutti e tre gli scenari l utente ha lo stesso scopo: acquistare un prodotto. Può darsi che l acquisto non vada a buon fine, ma l intento rimane. Questa è la chiave dei casi d uso: un caso d uso è un insieme di scenari che hanno in comune lo scopo finale dell utente. In termini tecnici, gli utenti sono denominati attori. Un attore è un ruolo interpretato da un utente in relazione al sistema. Ad esempio, in un contesto commerciale, gli attori possono includere clienti, impiegati del servizio clienti, manager delle vendite e analisti di prodotto. Gli attori svolgono i casi d uso. Un singolo attore può prendere parte a più casi d uso; dualmente un singolo caso d uso può coinvolgere diversi attori. Normalmente ci sono molti clienti, per cui è possibile che persone diverse interpretino il ruolo dell attore-cliente. Può anche capitare che una singola persona ricopra la parte di più di un attore, come nel caso di un manager delle vendite impegnato nell attività di servizio clienti. Un attore non deve essere necessariamente umano: se il sistema svolge un servizio richiesto da un altro sistema, quest ultimo è anch esso un attore. In effetti attore non è il termine esatto; ruolo sarebbe molto più appropriato. I casi d uso sono ben conosciuti come una parte importante di UML. Tuttavia, la loro definizione è alquanto informale; in particolare, non c è alcuna descrizione specifica del formato in cui si deve esprimere il contenuto di un caso d uso. UML descrive meglio il diagramma dei casi d uso, che mostra le relazioni che intercorrono tra casi diversi. Tuttavia, l utilità dei casi d uso sta quasi esclusivamente nel loro contenuto, mentre il relativo diagramma ha un valore molto limitato Contenuto di un caso d uso Non esiste un modo standard per esprimere il contenuto di un caso d uso e, a seconda della situazione, possono funzionare bene formati diversi. La Figura 6.1 illustra uno stile diffuso. Acquisto di un Prodotto 1. Il cliente naviga nel catalogo e seleziona gli articoli da acquistare 2. Il cliente si avvia alla cassa check out 3. Il cliente fornisce le informazioni relative alla spedizione (indirizzo; scelta tra consegna giornaliera o entro 3 giorni) 4. Il sistema presenta un prospetto con il conto totale, comprese le spese di spedizione 5. Il cliente riempie un modulo con le informazioni sulla carta di credito 6. Il sistema autorizza l acquisto 7. Il sistema conferma immediatamente la vendita 8. Il sistema invia al cliente una di conferma Estensioni: 3a. Il cliente è abituale.1 Il sistema visualizza le preferenze memorizzate riguardanti la spedizione, il pagamento e la fattura.2 Il cliente può accettare il default o ridefinire le preferenze, in questo caso ritorna al passo 6 dello scenario principale 6a. Il sistema non autorizza l acquisto con carta di credito.1 Il cliente può inserire nuovamente le informazioni e riprovare oppure cancellare l acquisto Figura 6.1. Un esempio di caso d uso espresso in forma testuale Per prima cosa si sceglie lo scenario principale di successo (main success scenario), talvolta chiamato anche flusso d eventi principale o corso d azione base. Il corpo del caso d uso è costituito dallo scenario principale, espresso come sequenza di passi numerati.

3 6.2 Diagrammi dei casi d uso 75 A questo punto si possono prendere gli altri scenari e scriverli come estensioni di quello principale: questi possono risolversi con un successo, come in 3a, o con un fallimento, come in 6a. Ogni caso d uso ha un attore principale, quello che richiede un servizio al sistema. L attore principale persegue lo scopo che il caso d uso cerca di soddisfare ed è solitamente, ma non sempre, quello che dà inizio al caso con la prima chiamata. Ci possono essere altri attori con i quali il sistema comunica nel tentativo di svolgere con successo il caso d uso: questi prendono il nome di attori secondari. Un passo del caso d uso corrisponde ad un interazione tra un attore e il sistema. Dovrebbe essere sempre possibile esprimere ogni passo con una frase semplice. Non si dovrebbero mai indicare le particolarità tecniche delle azioni dell attore, quanto piuttosto il suo intento: di conseguenza, nelle descrizioni dei casi d uso, non si fa mai menzione dell interfaccia utente. Per indicare un estensione all interno di un caso d uso si deve scrivere la condizione che determina il verificarsi di una sequenza di interazioni diverse rispetto a quelle descritte nello scenario principale di successo, specificando poi i dettagli delle differenze. Prima di tutto si scrive il nome del passo in cui si può verificare la condizione, con una breve descrizione della stessa; quindi si aggiungono dei passi numerati espressi nello stesso stile dello scenario principale. Alla fine si può indicare, se necessario, in quale punto si rientra nel flusso di eventi base. I casi d uso rappresentano un ottimo mezzo per considerare le alternative a uno scenario principale di successo. Ad ogni passo è necessario chiedersi in quale altro modo potrebbero andare le cose e, in particolare, cosa potrebbe andare storto. La cosa migliore è identificare per prima cosa tutte le condizioni di estensione, senza perdere tempo ad esaminare le conseguenze di ognuna di esse. In questo modo si identificherà sin dall inizio il maggior numero possibile di estensioni e si risparmierà la fatica di tornare indietro per aggiungerle durante lo sviluppo. Se ci si accorge che un passo di un caso d uso è particolarmente complicato, è possibile esprimere tale passo come un altro caso d uso completo. In UML si dice che il primo caso include il secondo. Non c è una notazione standard per mostrare l inclusione di un caso d uso: spesso per questo si usa la sottolineatura che, di per sè, suggerisce un collegamento ipertestuale. Così, nella Figura 6.1 il primo passo include il caso d uso naviga nel catalogo e seleziona gli articoli da acquistare. L inclusione può essere utile per esprimere in modo conciso un passo complesso, che renderebbe pesante la descrizione dello scenario principale, oppure per raccogliere una sequenza di passi che si ripetono più volte nello stesso o in diversi casi d uso. È opportuno non esagerare usando la scomposizione funzionale per suddividere i casi in sotto-casi e questi in sotto-sotto-casi, ecc. Oltre ai passi che compongono gli scenari, un caso d uso può comprendere le seguenti informazioni: Una pre-condizione; essa descrive ciò di cui il sistema dovrebbe assicurarsi prima che il caso d uso possa avere inizio. Questo è utile, tra l altro, per indicare ai programmatori quali controlli si possono omettere nel codice. Una garanzia descrive ciò che il sistema assicura alla fine dello svolgimento di un caso d uso. Uno scenario di successo garantisce il conseguimento dello scopo del caso d uso; può anche darsi che risultati minori siano garantiti da qualsiasi altro scenario. Un trigger specifica precisamente l evento che dà origine al caso d uso. È opportuno evidenziare che con i casi d uso è meglio avere poche informazioni che troppe. Ogni caso deve essere conciso e di facile lettura: gli scenari troppo lunghi e dettagliati spesso finiscono per non essere neppure letti, il che li rende ben poco utili. Spesso è necessario definire con precisione dall inizio soltanto pochi casi davvero critici; gli altri possono essere sviluppati al momento dell implementazione. Non c è bisogno di mettere su carta tutto quanto; la comunicazione verbale può bastare, soprattutto se si adotta un processo iterativo in cui è più facile scrivere codice in tempi brevi che produrre documenti cartacei Diagrammi dei casi d uso UML definisce un diagramma per la rappresentazione dei casi d uso. Un esempio di diagramma dei casi d uso è illustrato in Figura 6.2. Il modo migliore di trattare un diagramma dei casi d uso è quello di considerarlo alla stregua di un sommario grafico: a qualcuno può anche ricordare il diagramma di contesto dei DFD, dato che mostra il confine del sistema e le sue interazioni con il mondo esterno.

4 76 6 Progettazione delle Applicazioni Imponi limiti finanziari Aggiorna i conti Manager commerciale Analizza il rischio <<include>> inclusione Sistema di contabilità Attore Calcola i costi <<include>> Valuta l affare Chiudi l affare Trader Caso d uso Venditore Confini del sistema Figura 6.2. Esempio di diagramma dei casi d uso Il diagramma dei casi d uso raffigura gli attori, i casi d uso e le loro relazioni, in particolare quali attori partecipano ai vari casi d uso e le inclusioni tra i casi d uso. È opportuno evidenziare che UML prevede anche altre relazioni tra i casi d uso oltre la semplice inclusione come, ad esempio, l estensione, indicata dalla parola chiave << extend >>. Tuttavia, è bene non esagerare con l utilizzo di queste relazioni per cui non discuteremo in dettaglio il significato di << extend >>. 6.3 Diagrammi di sequenza I fondamenti Un diagramma di sequenza documenta, tipicamente, il comportamento di un singolo scenario. Il diagramma include un certo numero di oggetti e i messaggi scambiati tra essi durante l esecuzione del caso d uso. Per introdurre l argomento, consideriamo un semplice scenario in cui abbiamo un ordine e vogliamo invocare un metodo per calcolare il suo prezzo. Per farlo, l ordine deve determinare il prezzo di tutti gli elementi della linea; questo, a sua volta, dipende da regole associate ai prodotti della linea d ordine. Dopo aver raccolto il prezzo di tutti gli elementi della linea, l ordine deve calcolare uno sconto globale, che dipende, invece, da regole specifiche del cliente. La Figura 6.3 è un diagramma di sequenza che mostra un implementazione di tale scenario. Ogni partecipante è raffigurato da una riga che attraversa la pagina verticalmente dall alto in basso chiamata, convenzionalmente, linea di vita ; l ordinamento dei messaggi è determinato scorrendo la pagina verso il basso. La cosa bella dei diagrammi di sequenza è che non c è quasi bisogno di spiegarne la notazione. Ad esempio, in Figura 6.3, si vede chiaramente che un ordine invia a una linea d ordine i messaggi getquantità e getprodotto. Si può anche vedere che, a un certo punto, l ordine fa una chiamata a se stesso e che il metodo invocato manda, a sua volta, un messaggio getinfosconto a un cliente. Il diagramma, comunque, non si presta a esporre tutta l informazione utile. La sequenza di messaggi getquantità, getprodotto, getdettagliprezzo e calcolaprezzobase va inviata a ciascuna delle linee che fanno parte dell ordine, mentre il metodo calcolasconti viene invocato soltanto una volta. Ciò non può essere determinato guardando il diagramma, anche se tra poco introdurremo appositamente della notazione aggiuntiva. La maggior parte delle volte i partecipanti di un diagramma di sequenza sono oggetti; tuttavia, UML ammette che i partecipanti possano anche non essere oggetti (e proprio questa proprietà sarà

5 6.3 Diagrammi di sequenza 77 un Ordine una Linea d Ordine un Prodotto un Cliente calcolaprezzo getquantità messaggio trovato getprodotto partecipante linea di vita un Prodotto getdettagliprezzo ritorno calcolaprezzobase chiamata interna attivazione calcolasconti getinfosconto messaggio Figura 6.3. Diagramma di sequenza a controllo centralizzato utilizzata nella Progettazione delle Applicazioni). Per questo motivo si continuerà ad utilizzare il termine generico partecipanti che, formalmente, non fa parte della specifica. Ogni linea di vita ha una barra di attivazione che indica quando il partecipante è attivo nell interazione. Le barre di attivazione sono opzionali, ma utilissime per chiarire il comportamento dei partecipanti. È opportuno sottolineare, anche se ciò dovrebbe essere scontato, che i nomi utilizzati nel contesto dei diagrammi di sequenza devono essere significativi. Nella figura la freccia di ritorno è stata disegnata solo per la chiamata getprodotto; alcuni preferiscono non indicare i ritorni delle varie chiamate, dandole per scontate. Nel caso della Progettazione delle Applicazioni di un Sistema Informativo è opportuno mettere sempre i ritorni, tranne per quei casi in cui essi indicano semplicemente l avvenuta esecuzione con successo di una determinata azione. Il primo messaggio non scaturisce da un partecipante al diagramma, ma proviene da una fonte esterna indeterminata; per questo è chiamato messaggio trovato (found message); il termine, che può sembrare strano, deriva dall ambito telematico: si definiscono messaggi trovati quelli di cui non si conosce l origine e messaggi perduti quelli che non ottengono risposta. Un altro approccio alla modellazione dello stesso scenario è mostrato nella Figura 6.4. Il problema base è sempre quello, ma è cambiata completamente la modalità di collaborazione tra i partecipanti. L ordine chiede ad ogni linea d ordine di calcolare il suo prezzo. A sua volta la linea d ordine delega questo calcolo al prodotto; si noti che in questo caso abbiamo indicato esplicitamente il passaggio di un parametro. In modo analogo, per calcolare lo sconto, l ordine invoca un metodo del cliente. Dato che per far questo ha bisogno di informazioni provenienti dall ordine, il cliente fa una chiamata all indietro (getvalorebase) per ottenere i dati necessari. La prima cosa da notare su questi due diagrammi è la chiarezza con cui la sequenza delle chiamate evidenzia le differenze di interazione tra i partecipanti. Questa è la forza dei diagrammi di interazione: non spiegano i dettagli degli algoritmi, come i cicli e i comportamenti condizionali, ma rendono assolutamente chiare le chiamate tra i partecipanti e illustrano bene cosa fa ognuno di essi. La seconda cosa da notare è la netta differenza stilistica tra le due interazioni. Il diagramma della Figura 6.3 è a controllo centralizzato, in cui un partecipante svolge tutta l elaborazione mentre gli altri si limitano a fornire i dati. Il diagramma della Figura 6.4 usa, invece, il controllo distribuito, che prevede

6 78 6 Progettazione delle Applicazioni un Ordine una Linea d Ordine un Prodotto un Cliente calcolaprezzo calcolaprezzo getprezzo(quantità:numero) parametro getvalorescontato(un ordine) getvalorebase ValoreScontato ritorno Figura 6.4. Diagramma di sequenza a controllo distribuito la suddivisione dei compiti tra i partecipanti, ognuno dei quali contribuisce in parte all elaborazione dell algoritmo. Ciascuno dei due stili ha punti di forza e limiti. Noi non entreremo in dettaglio in tale argomento e lasceremo al lettore la facoltà di scegliere la tipologia di diagramma di sequenza che preferisce Creazione e distruzione dei partecipanti I diagrammi di sequenza prevedono una notazione particolare per indicare la creazione e la distruzione dei partecipanti. Un esempio di tale notazione è illustrato in Figura 6.5. un Handler interroga il database new una Query creazione new esegui un Comando sul database risultati estrae i risultati chiudi risultati distruzione causata da un altro oggetto auto-distruzione Figura 6.5. Creazione e distruzione dei partecipanti

7 6.3 Diagrammi di sequenza 79 Per la creazione si disegna la freccia del messaggio in modo che punti direttamente al box dell oggetto creato. Il nome del messaggio è opzionale se si utilizza il suo costruttore; spesso si indica con new in tutti i casi. Se il nuovo partecipante fa qualcosa immediatamente dopo la creazione, ad esempio eseguendo una query, la sua barra di attivazione viene disegnata direttamente attaccata al box. La distruzione del partecipante è indicata da una grossa X. Se la freccia di un messaggio termina nella X, vuol dire che un partecipante ne sta cancellando un altro; una X posta da sola alla fine della linea di vita indica che il partecipante sta distruggendo se stesso. In un ambiente dotato di garbage collection gli oggetti non sono distrutti esplicitamente; tuttavia è buona idea usare la X per indicare quando un oggetto non serve più ed è pronto per essere cancellato automaticamente. La stessa cosa si può fare in corrispondenza delle operazioni di chiusura, in seguito alle quali l oggetto non è disponibile per l elaborazione Cicli, condizioni e altro Un problema noto dei diagrammi di sequenza è la loro inadeguatezza nel rappresentare comportamento ciclico e condizionale. Se si vuole porre l accento sulle strutture di controllo è, forse, più opportuno usare un diagramma delle attività oppure ricorrere al codice stesso. I diagrammi di sequenza sono, infatti, un ottimo mezzo per visualizzare l interazione tra gli oggetti, non la logica di controllo. Premesso ciò, esaminiamo comunque la notazione. Sia i cicli che le condizioni usano frame di interazione, una sorta di cornici che servono a inquadrare ed evidenziare una parte del diagramma. La Figura 6.6 mostra un semplice algoritmo basato sul seguente pseudocodice: procedure spedizione for each (elementolinea) if (prodotto.valore > $10000) raccomandata.spedizione else normale.spedizione end if end for if (necessitaconferma) messenger.conferma end procedure In generale, i frame selezionano uno o più frammenti di un diagramma di sequenza. Ciascun frame ha un operatore e ciascun frammento può avere una guardia. La Tabella 6.1 elenca gli operatori più comuni. Operatore Significato alt opt par loop region neg ref sd Frammenti multipli in alternativa; verrà eseguito solo quello per cui è verificata la condizione. Opzionale; il frammento viene eseguito solo se la condizione specificata è verificata. Equivale ad un alt con una sola traccia Parallelo; ogni frammento è eseguito in parallelo. Ciclo; il frammento può essere eseguito più volte; la base dell iterazione è indicata dalla guardia Regione critica; il frammento può essere eseguito da un solo thread alla volta. Negativo; il frammento mostra un interazione non valida. Riferimento; si riferisce a un interazione definita in un altro diagramma. Il frame deve essere disegnato in modo da racchiudere le linee di vita coinvolte nell interazione. È possibile indicare anche dei parametri e un tipo di ritorno Sequence diagram; usato per racchiudere un intero diagramma di sequenza, qualora lo si desideri Tabella 6.1. Alcuni operatori utilizzati con i frame di interazione Per indicare un ciclo si utilizza l operatore loop con un singolo frammento, indicando la base dell iterazione nella guardia. Per rappresentare logica condizionale, è possibile utilizzare un operatore alt associando una condizione ad ogni frammento: verrà eseguito solo il frammento la cui guardia è verificata. Se si vuole esprimere l esecuzione condizionale di una singola regione, si utilizza l operatore opt. I frame di interazione sono una novità introdotta in UML 2. Di conseguenza, probabilmente, potrà capitare di vedere diagrammi disegnati precedentemente che utilizzano un approccio diverso; tra l altro

8 80 6 Progettazione delle Applicazioni Ordine Distributore Raccomandata Distributore Normale Messenger spedizione loop [per ogni elemento della linea] alt [valore>$10000] spedizione operatore frame [else] spedizione guardia opt [necessitaconferma] conferma Figura 6.6. Frame di interazione molte persone non apprezzano particolarmente i nuovi frame e con ogni probabilità continueranno ad usare le vecchie notazioni. La Figura 6.7 mostra alcuni elementi ora non ufficiali ma ancora diffusi. Ordine Distributore Raccomandata Distributore Normale Messenger spedizione indicatore di iterazione pseudomessaggio! non normativo alternativa * [per ogni elemento della linea] [valore>$10000] [else] spedizione messaggio asincrono (UML 1.4 e success.) spedizione no. linea id. ordine girino dei dati id. spedizione messaggio asincrono (UML 1.3 e preced.) [necessitaconferma] conferma guardia Figura 6.7. Vecchie convenzioni per la rappresentazione della logica di controllo UML 1 usava gli indicatori di iterazione e le guardie. Un indicatore di iterazione è un asterisco * aggiunto al nome di un messaggio; si può anche aggiungere del testo racchiuso tra parentesi quadre per indicare la base dell iterazione. Le guardie sono espressioni condizionali tra parentesi quadre: un messaggio associato ad una guardia viene inviato soltanto se essa è verificata.

9 6.4 Diagrammi di Comunicazione 81 Con il rilascio di UML 2, tutte queste notazioni sono state abolite ufficialmente dai diagrammi di sequenza ma sono ancora legali nei diagrammi di comunicazione. Gli indicatori di iterazione e le guardie possono aiutare, ma hanno anche le loro debolezze. Come si vede nella Figura 6.7, non si può indicare che due o più guardie sono in mutua esclusione. Inoltre, gli indicatori e le guardie si applicano a un solo messaggio e non funzionano bene quando diversi messaggi sono coinvolti all interno di un ciclo o di un blocco condizionale. Per risolvere quest ultimo problema si è diffusa una soluzione non ufficiale che consiste nell utilizzo di uno pseudomessaggio contenente la condizione del ciclo o la guardia. Qualcuno preferisce colorare di grigio anche la relativa barra di attivazione. Le barre di attivazione sono molto utili ma non aggiungono molto nel caso di metodi come spedizione alla cui chiamata non fa seguito nulla sul diagramma. Una convenzione comune, adottata nella Figura 6.7 è quella di omettere le barre di attivazione per queste chiamate semplici. UML non prevede una grafica standard per mostrare il passaggio dei dati; per questo scopo di devono usare i parametri dei messaggi e le frecce di ritorno. Molti vecchi metodi usavano a questo fine i girini dei dati, così chiamati per la loro forma peculiare; alcune persone amano usarli anche all interno dei diagrammi UML. Tutto sommato, nonostante ci siano molte tecniche per aggiungere informazioni condizionali e cicliche ai diagrammi di sequenza, questi non funzionano meglio del codice stesso, o, quanto meno, di un valido pseudo-codice Chiamate sincrone e asincrone I messaggi scambiati in un diagramma di sequenza possono essere sincroni oppure asincroni. Se un oggetto chiamante invia un messaggio sincrono deve aspettare che la relativa esecuzione sia terminata prima di procedere. Nel caso di un messaggio asincrono, invece, non c è bisogno di aspettare la risposta e si può procedere nella computazione. Le chiamate asincrone sono comuni nelle applicazioni multithread e nel middleware perchè aumentano l efficienza del sistema e riducono le dipendenze temporali; tuttavia, esse rendono più difficoltosa l attività di debugging. In UML 2 questo fatto si rappresenta utilizzando differenti punte per le frecce: le punte piene, infatti, indicano un messaggio sincrono, quelle composte da due segmenti sottili un messaggio asincrono. La differenza tra i diversi tipi di freccia è molto difficile da notare. Tra l altro è una modifica non compatibile all indietro introdotta nella Versione 1.4 di UML: prima i messaggi asincroni si indicavano usando una mezza punta di freccia, come si vede nella Figura Conclusioni Al termine di questa presentazione sui diagrammi di sequenza cerchiamo di trarre qualche conclusione. I diagrammi di sequenza sono particolarmente adatti ogni volta che si vuole rappresentare il comportamento di un insieme di oggetti all interno di un singolo caso d uso. I diagrammi di sequenza eccellono nel mostrare le collaborazioni tra gli oggetti, ma non sono altrettanto precisi quando si tratta di definire il loro comportamento. Se si vuole documentare il comportamento di un singolo oggetto in diversi casi d uso lo strumento da utilizzare è il diagramma di stato. Se si vuole analizzare il comportamento attraverso più casi d uso o più thread, lo strumento da utilizzare è il diagramma delle attività. Altri utili diagrammi di interazione sono quelli di comunicazione e temporizzazione: i primi sono ottimi per mostrare le connessioni, i secondi vanno usati per rappresentare vincoli temporali. 6.4 Diagrammi di Comunicazione I diagrammi di comunicazione sono un tipo speciale di diagramma di interazione che enfatizza lo scambio di dati tra i partecipanti. Invece di indicare ogni partecipante con la sua linea di vita e rappresentare l ordine dei messaggi in base alla posizione lungo l asse verticale, come fa il diagramma di sequenza, quello di comunicazione permette di disegnare i partecipanti in qualsiasi posizione aggiungendo collegamenti per mostrare le connessioni.

10 82 6 Progettazione delle Applicazioni La sequenza temporale di queste ultime è espressa mediante la numerazione dei messaggi. In UML 1 questi erano chiamati diagrammi di collaborazione; il nome ha avuto successo e, probabilmente, passerà parecchio tempo prima che la gente si abitui al cambiamento (che è stato introdotto per evitare confusioni con le Collaborazioni). La Figura 6.8 è un diagramma di comunicazione a controllo centralizzato che rappresenta la stessa interazione della Figura 6.3. Come si può vedere, questo tipo di diagramma permette di mostrare i collegamenti tra i partecipanti. auto-collegamento! non normativo 1: calcolaprezzo 7: getinfosconti 5: calcolaprezzobase() 6: calcolasconti() un Ordine un Cliente 4: getdettagliprezzo 2: getquantita() 3: getprodotto() tipo del collegamento temporaneo <<Local>> una Linea d Ordine un Prodotto Figura 6.8. Diagramma di comunicazione a controllo centralizzato Oltre a quelli che rappresentano associazioni, è possibile includere nel diagramma anche collegamenti temporanei, che esistono solo per la durata dell interazione. In questo caso, il collegamento << local >> da Ordine a Prodotto è una variabile locale. Altri tipi di collegamenti temporanei sono << parameter >> e << global >>. Queste parole chiave erano previste in UML 1 ma nella nuova versione non lo sono più; è, però, probabile che continueranno ad essere usati. Lo stile di numerazione dei messaggi della Figura 6.8 è semplice ed è quello comunemente usato; tuttavia, in effetti, non è strettamente legale. Per essere del tutto aderenti alla specifica UML, sarebbe necessario adottare un sistema di numerazione decimale nidificato, come si vede nella Figura 6.9. Lo scopo di questa tecnica sta nel risolvere l ambiguità nella sequenza delle chiamate in presenza di auto-collegamenti di un oggetto a se stesso: nella Figura 6.4 si vede chiaramente che il metodo getinfosconti viene invocato all interno di calcolasconti. Usando la semplice numerazione progressiva della Figura 6.8, invece, non si può capire se getinfosconti è invocato da calcolasconti o, più in generale, dall interno del metodo calcolaprezzo. La numerazione nidificata risolve questo problema. Nonostante non sia formalmente legale, molti preferiscono la semplice numerazione progressiva. Nei casi in cui ci sono molte chiamate nidificate, i numeri corrispondenti possono diventare davvero difficili da leggere: non è certo immediato cogliere la posizione della chiamata all interno di una sequenza. In questi casi, la cura contro l ambiguità può essere peggiore del male. Oltre ai numeri, i messaggi possono essere etichettati anche con delle lettere: questo significa che appartengono a diversi thread di controllo. I messaggi A5 e B2, quindi, apparterranno a thread diversi; i messaggi 1a1 e 1b1 corrisponderanno a thread differenti in esecuzione parallela all interno del messaggio. Le lettere dei thread si possono usare anche sui diagrammi di sequenza, benchè questi non rappresentino visivamente la concorrenza.

11 6.5 Progettazione delle Applicazioni mediante UML 83 auto-collegamento 1: calcolaprezzo() 1.4: calcolaprezzobase() 1.5: calcolasconti() un Ordine 1.5.1: getinfosconti() un Cliente 1.3: getdettagliprezzo() 1.1: getquantita() 1.2: getprodotto() una Linea d Ordine un Prodotto Figura 6.9. Diagramma di comunicazione con numerazione decimale nidificata I diagrammi di comunicazione non definiscono una notazione precisa per esprimere la logica di controllo. È possibile usare indicatori di iterazione e guardie, così come sono stati introdotti nella Sezione 6.3.3; tuttavia, questi elementi da soli non sono sufficienti a specificare completamente la logica. Manca anche una notazione speciale per la creazione/distruzione di oggetti, ma per questo si usano comunemente le parole chiave << create >> e << delete >>. Il problema principale dei diagrammi di comunicazione è decidere quando usarli, preferendoli ai più diffusi diagrammi di sequenza. Gran parte della scelta dipende dalle preferenze personali: in genere sembra che i progettisti preferiscano i diagrammi di sequenza. Volendo spiegare la differenza in modo più razionale, potremmo dire che i diagrammi di sequenza esprimono meglio la successione delle chiamate, mentre quelli di comunicazione enfatizzano il collegamento tra gli oggetti. 6.5 Progettazione delle Applicazioni mediante UML La Progettazione delle Applicazioni condotta tramite UML può essere suddivisa nei seguenti passi: individuazione dei gestori di base, ovvero dei gestori che interrogano e manipolano direttamente la base di dati sottostante; costruzione del Diagramma dei Casi d Uso; costruzione dei Diagrammi di Sequenza e/o dei Diagrammi di Comunicazione per ciascun caso d uso individuato. Nel seguito illustreremo in dettaglio ciascuno di questi passi facendo riferimento ad uno specifico scenario, ovvero la progettazione del Sistema Informativo a supporto di un hotel descritto nella Sezione Individuazione dei gestori di base Come detto in precedenza, un gestore di base è un gestore che ha il compito di interrogare e manipolare direttamente le relazioni che costituiscono la base di dati. In generale, vi è un gestore di base per ciascun concetto importante definito nella realtà di interesse; pertanto, in via del tutto generale, possiamo dire che: se la realtà di interesse è espressa mediante il modello Entità/Relazione, vi sarà un gestore di base per ciascuna entità; gestori di base possono essere definiti anche per le associazioni più importanti;

12 84 6 Progettazione delle Applicazioni se la realtà di interesse è espressa mediante il Diagramma delle Classi, vi sarà un gestore di base per ciascuna classe; gestori di base possono essere definiti anche per le classi di associazione più importanti; se la realtà di interesse è espressa mediante il modello relazionale 1 vi sarà un gestore di base per ciascuna relazione che rappresenta un concetto nonchè per ciascuna relazione che rappresenta associazioni tra concetti e che gioca un ruolo importante nel contesto di riferimento. Ciascun gestore di base deve prevedere almeno le seguenti operazioni: inserimento; rimozione; modifica; interrogazione; ulteriori operazioni potranno essere definite laddove necessario. Se si sta operando con un linguaggio di programmazione ad oggetti, un gestore di base non è altro che una classe avente per attributi gli attributi della corrispondente entità (risp., associazione, classe, tabella) e per metodi almeno i metodi di inserimento, rimozione, modifica e interrogazione dei dati. Se, invece, si sta operando con un linguaggio di programmazione non orientato agli oggetti ciascun gestore può essere visto come un processo a sè stante che, tra i suoi dati di supporto, possiede almeno tante variabili per quanti sono gli attributi della corrispondente entità (risp., associazione, classe, tabella); tale processo prevede, inoltre, opportune funzioni per la gestione dell inserimento, della rimozione, della modifica e dell interrogazione dei dati. Per quanto riguarda la nostra realtà di interesse, è possibile pensare ai seguenti gestori di base: Cliente; Camera; Prenotazione; Assegnamento; ; Servizi Extra Costruzione del Diagramma dei Casi d Uso Questa fase ha lo scopo di individuare quali sono i casi d uso relativi alla realtà di interesse e di costruire il corrispettivo diagramma. Per quanto riguarda la nostra realtà di riferimento, il Diagramma dei Casi d Uso è illustrato in Figura Costruzione dei Diagrammi di Sequenza o dei Diagrammi di Comunicazione per ciascun caso d uso La terza fase della Progettazione della Applicazioni di un Sistema Informativo tramite UML ha lo scopo, una volta individuati i casi d uso relativi al Sistema Informativo che si vuole costruire, di indicare, per ciascun caso d uso, e quindi per ciascun scenario di interesse, quali sono i flussi informativi scambiati tra i vari gestori di base e tra questi e l esterno. Lo scambio dei flussi informativi può essere rappresentato, indifferentemente, mediante i Diagrammi di Sequenza oppure mediante i Diagrammi di Comunicazione. A titolo di esempio, nelle Figure 6.11, 6.12, 6.13, 6.14, 6.15, 6.16, 6.17, 6.18, 6.19, 6.20, 6.21 e 6.22 illustriamo i Diagrammi di Sequenza e i Diagrammi di Comunicazione relativi alla nostra realtà di riferimento. Si noti che, per questioni di praticità e di layout, mentre nei Diagrammi di Sequenza vengono esplicitamente evidenziati i flussi di ritorno, nei Diagrammi di Comunicazione tali flussi vengono mantenuti impliciti. L unica eccezione sono i flussi di ritorno verso l esterno che saranno esplicitamente rappresentati anche nei Diagrammi di Comunicazione. A margine di questa discussione consideriamo il Diagramma di Sequenza di Figura 6.15 e il Diagramma di Comunicazione di Figura In essi il Processo Polizia è visualizzato con bordo spesso; 1 Ciò sarebbe già in sè una cosa poco auspicabile dal momento che una realtà di interesse dovrebbe essere espressa innanzitutto mediante un modello concettuale.

13 6.5 Progettazione delle Applicazioni mediante UML 85 Verifica Disponibilità <<include>> Procedura Prenotazione <<include>> Utente Procedura Assegnamento Amministratore Addebito Servizio Extra Emissione Gestione Statistiche Figura Diagramma dei Casi d Uso relativi ad un Sistema Informativo per la gestione di un hotel Camera Prenotazione Richiesta Disponibilità Individua Camere Candidate loop Richiesta Disponibilità [Per ciascuna camera candidata] Risposta Disponibilità Assembla Risultato Risposta Disponibilità Figura Diagramma di Sequenza relativo al caso d uso Verifica Disponibilità 2: Individua Camere Candidate 4: Assembla Risultato 1: Richiesta Disponibilità 5: Risposta Disponibilità Camera 3: * [Per ciascuna camera candidata] Richiesta Disponibilità Prenotazione Figura Diagramma di Comunicazione relativo al caso d uso Verifica Disponibilità

14 86 6 Progettazione delle Applicazioni Prenotazione Camera Cliente Richiesta Prenotazione Rich. Info. Camera Risp. Info. Camera alt [il cliente è registrato e i dati sono aggiornati] Richiesta Dati Cliente Risposta Dati Cliente [else] Dati Cliente Registrazione Dati Cliente Registrazione Prenotazione Registrazione Risposta Prenotazione Figura Diagramma di Sequenza relativo al caso d uso Procedura Prenotazione 4: Registrazione Prenotazione 1: Richiesta Prenotazione 3b1: [il cliente non è registrato o i suoi dati non sono aggiornati] Dati Cliente Prenotazione 2: Richiesta Info. Camera Camera 5: Registrazione Docum. 3a: [il cliente è registrato e i dati sono aggiornati] Richiesta Dati Cliente 3b2: [il cliente non è registrato o i suoi dati non sono aggiornati] Registrazione Dati Cliente Cliente Figura Diagramma di Comunicazione relativo al caso d uso Procedura Prenotazione

15 6.5 Progettazione delle Applicazioni mediante UML 87 Assegnamento Camera Cliente Polizia Richiesta Assegnamento Rich. Info. Camera Risp. Info. Camera alt [il cliente è registrato e i dati sono aggiornati] Richiesta Dati Cliente Risposta Dati Cliente [else] Dati Cliente Registrazione Dati Cliente Registrazione Assegnamento Registrazione Scheda Notifica Risposta Assegnamento Figura Diagramma di Sequenza relativo al caso d uso Procedura Assegnamento 4: Registrazione Assegnamento 1: Richiesta Assegnamento 3b1: [il cliente non è registrato o i suoi dati non sono aggiornati] Dati Cliente Assegnamento 2: Richiesta Info. Camera Camera 7: Risposta Assegnamento 6: Scheda Notifica 3a: [il cliente è registrato e i dati sono aggiornati] Richiesta Dati Cliente 3b2: [il cliente non è registrato o i suoi dati non sono aggiornati] Registrazione Dati Cliente 5: Registrazione Docum. Cliente Polizia Figura Diagramma di Comunicazione relativo al caso d uso Procedura Assegnamento

16 88 6 Progettazione delle Applicazioni Richiesta Servizio Extra Servizio Extra Cliente Registraz. Prenot. Richiesta Dati Cliente Risposta Dati Cliente Registrazione Addebito Figura Diagramma di Sequenza relativo al caso d uso Addebito Servizio Extra 2: Info. Servizio Extra 1: Richiesta Servizio Extra Servizio Extra 3: Richiesta Info. Cliente Cliente 4: Registrazione Addebito Figura Diagramma di Comunicazione relativo al caso d uso Addebito Servizio Extra ciò sta ad indicare che si tratta di un processo separato esterno al flusso di controllo e che non dipende dal flusso di controllo corrente.

17 6.5 Progettazione delle Applicazioni mediante UML 89 Richiesta alt [Il documento desiderato è una fattura] Emissione Fattura [Il documento desiderato è una ricevuta] Emissione Ricevuta Figura Diagramma di Sequenza relativo al caso d uso Emissione 1: Richiesta 2a: [Il documento desiderato è una fattura]: Emissione Fattura 2b: [Il documento desiderato è una ricevuta]: Emissione Ricevuta Figura Diagramma di Comunicazione relativo al caso d uso Emissione Statistiche Prenotazione Assegnamento Cliente Richiesta Statistiche alt [L Ammin. desidera statistiche su Pren.] [L Ammin. desidera statistiche su Ass.] Rich. Stat. Prenot. Risp. Stat. Prenot. Richiesta Statistiche Assegnamenti Risposta Statistiche Assegnamenti [L Ammin. desidera statistiche sui Clienti] Richiesta Statistiche Cliente Risposta Statistiche Cliente [L Ammin. desidera statistiche sui Ricavi] Richiesta Statistiche Ricavi Risposta Statistiche Ricavi Risposta Statistiche Figura Diagramma di Sequenza relativo al caso d uso Gestione Statistiche

18 90 6 Progettazione delle Applicazioni 1: Richiesta Statistiche 3: Risposta Statistiche Statistiche 2a: [L Ammin. desidera statist. su Pren.] Richiesta Statistiche Prenotazioni Prenotazione 2b: [L Ammin. desidera statist. su Assegn.] Richiesta Statistiche Assegnamenti 2c: [L Ammin. desidera statist. sui Clienti] Richiesta Statistiche Clienti 2d: [L Ammin. desidera statist. sui Ricavi] Richiesta Statistiche Ricavi Assegnamento Cliente Figura Diagramma di Comunicazione relativo al caso d uso Gestione Statistiche

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

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

Progettaz. e sviluppo Data Base

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

Dettagli

WORD 97 SCRIVERE UNA TESI DI LAUREA

WORD 97 SCRIVERE UNA TESI DI LAUREA WORD 97 SCRIVERE UNA TESI DI LAUREA PASSO 1 Per prima cosa pensiamo al formato generale della pagina: i margini richiesti da una tesi sono quasi sempre più ampi di quelli di un testo normale. Apriamo ora

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

Soluzione dell esercizio del 2 Febbraio 2004

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

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

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

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Capitolo 13. Interrogare una base di dati

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

Dettagli

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

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

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

Concetti di base di ingegneria del software

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

Dettagli

Università per Stranieri di Siena Livello A1

Università per Stranieri di Siena Livello A1 Unità 20 Come scegliere il gestore telefonico CHIAVI In questa unità imparerai: a capire testi che danno informazioni sulla scelta del gestore telefonico parole relative alla scelta del gestore telefonico

Dettagli

Registratori di Cassa

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

Dettagli

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

La Metodologia adottata nel Corso

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

Dettagli

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

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

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

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

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

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

Dettagli

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

Elenchi Intrastat. Indice degli argomenti. Premessa. Operazioni preliminari. Inserimento manuale dei movimenti e presentazione

Elenchi Intrastat. Indice degli argomenti. Premessa. Operazioni preliminari. Inserimento manuale dei movimenti e presentazione Elenchi Intrastat Indice degli argomenti Premessa Operazioni preliminari Inserimento manuale dei movimenti e presentazione Collegamento con la Contabilità Collegamento con il ciclo attivo e passivo Generazione

Dettagli

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

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

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Database. Si ringrazia Marco Bertini per le slides

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

Dettagli

II.f. Altre attività sull euro

II.f. Altre attività sull euro Altre attività sull euro II.f È consigliabile costruire modelli in carta o cartoncino di monete e banconote, e farli usare ai bambini in varie attività di classe fin dal primo o al più dal secondo anno.

Dettagli

Contabilità ordinaria, semplificata e altri regimi contabili

Contabilità ordinaria, semplificata e altri regimi contabili Contabilità ordinaria, semplificata e altri regimi contabili Obiettivi del corso Iniziamo, con questa prima lezione, il nostro corso dal titolo addetto alla contabilità. Si tratta di un corso base che

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software Volume GESTFLORA Gestione aziende agricole e floricole Guidaall uso del software GESTIONE AZIENDE AGRICOLE E FLORICOLE Guida all uso del software GestFlora Ver. 2.00 Inter-Ware Srl Viadegli Innocenti,

Dettagli

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

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

Dettagli

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

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

Dettagli

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

GUIDA ALLA RILEVANZA

GUIDA ALLA RILEVANZA GUIDA ALLA RILEVANZA Posizionamento per Rilevanza Suggerimenti per una migliore visibilità su ebay www.egolden.it Vers. 1.1 Questa guida puo essere ridistribuita con l obbligo di non modificarne contenuto

Dettagli

ISTRUZIONI PER LA GESTIONE BUDGET

ISTRUZIONI PER LA GESTIONE BUDGET ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET

Dettagli

CHIUSURE di MAGAZZINO di FINE ANNO

CHIUSURE di MAGAZZINO di FINE ANNO CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

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

Dettagli

Creare una nuova spedizione personalizzata.

Creare una nuova spedizione personalizzata. Gestione spedizioni La piattaforma ecommerce compry.it offre una gestione estremamente potente dei costi di spedizione da applicare al cliente che effettua acquisti. Il sistema, oltre al classico calcolo

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

Strumenti di modellazione. Gabriella Trucco

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

Dettagli

Il database management system Access

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

Dettagli

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 di una base di dati Ufficio della Motorizzazione

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

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

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

Uso dei modelli/template

Uso dei modelli/template Uso dei modelli/template Il modello (o template, in inglese) non è altro che un normale file di disegno, generalmente vuoto, cioè senza alcuna geometria disegnata al suo interno, salvato con l estensione.dwt.

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

Diagrammi di Interazione

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

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

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

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

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

Dettagli

Gestione Risorse Umane Web

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

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

MAGAZZINO FISCALE (agg. alla rel. 3.4.1)

MAGAZZINO FISCALE (agg. alla rel. 3.4.1) MAGAZZINO FISCALE (agg. alla rel. 3.4.1) Per ottenere valori corretti nell inventario al LIFO o FIFO è necessario andare in Magazzino Fiscale ed elaborare i dati dell anno che ci serve valorizzare. Bisogna

Dettagli

Organizzazione degli archivi

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

Dettagli

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

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

Dettagli

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag. Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

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

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

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

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

EXPLOit Content Management Data Base per documenti SGML/XML

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

Dettagli

Manuale Servizio NEWSLETTER

Manuale Servizio NEWSLETTER Manuale Servizio NEWSLETTER Manuale Utente Newsletter MMU-05 REDAZIONE Revisione Redatto da Funzione Data Approvato da Funzione Data 00 Silvia Governatori Analista funzionale 28/01/2011 Lorenzo Bonelli

Dettagli

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

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

Dettagli

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci

IL CICLO DI VITA DEL PROGETTO. Elementi essenziali di progetto. Fasi e tappe Gli Approcci UNIVERSITA MILANO BICOCCA Corso di laurea di primo livello in servizio sociale anno accademico 2009-2010 Progettare il sociale Prof. Dario A. Colombo IL CICLO DI VITA DEL PROGETTO Elementi essenziali di

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

Un Blog chiuso come strumento di comunicazione interna in un gruppo di lavoro

Un Blog chiuso come strumento di comunicazione interna in un gruppo di lavoro Un Blog chiuso come strumento di comunicazione interna in un gruppo di lavoro Paolo Ferrario Nelle organizzazioni di servizio si tengono con frequenza incontri di lavoro, seminari di formazione, riunioni

Dettagli

Gruppo di lavoro La comunicazione sociale

Gruppo di lavoro La comunicazione sociale Gruppo di lavoro La comunicazione sociale Il mondo Afsai è in fermento, con nuove attività e nuovi progetti. In occasione dell Assemblea Generale vorremmo quindi raccogliere proposte per organizzare i

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it Decreto Legislativo 196/2003 Codice in materia di protezione dei dati personali COOKIE POLICY La presente informativa è resa anche ai sensi dell art. 13 del D.Lgs 196/03 Codice in materia di protezione

Dettagli

HOTEL MANAGER NOTE DI FINE ANNO 2012-2013

HOTEL MANAGER NOTE DI FINE ANNO 2012-2013 HOTEL MANAGER NOTE DI FINE ANNO 2012-2013 SOMMARIO 1. Introduzione... 3 2. Procedura automatica... 4 3. Procedura manuale... 7 3.1 Front Office... 7 3.2 Ristorante... 9 3.3 Economato... 10 4. Creazione

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

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

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

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

Dettagli

Fatturazione elettronica con WebCare

Fatturazione elettronica con WebCare Fatturazione Elettronica con WebCare 1 Adempimenti per la F.E. Emissione della fattura in formato elettronico, tramite produzione di un file «XML» nel formato previsto dalle specifiche tecniche indicate

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

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

Dettagli

La progettazione centrata sull utente nei bandi di gara

La progettazione centrata sull utente nei bandi di gara Progetto PerformancePA Ambito A - Linea 1 - Una rete per la riforma della PA La progettazione centrata sull utente nei bandi di gara Autore: Maurizio Boscarol Creatore: Formez PA, Progetto Performance

Dettagli

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]

MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013] MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una

Dettagli

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

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

Dettagli

MODALITA DI REGISTRAZIONE

MODALITA DI REGISTRAZIONE MODALITA DI REGISTRAZIONE Oltre all Amministratore, ci sono cinque diversi tipi di utenti del Registro: - gli Operatori, le Organizzazioni e i singoli Individui, che devono registrarsi per aprire un conto

Dettagli

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved. SCENARIO Personas SCENARIO È una delle tecniche che aiuta il designer a far emergere le esigente dell utente e il contesto d uso. Gli scenari hanno un ambientazione, attori (personas) con degli obiettivi,

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Esercizio 1: trading on-line

Esercizio 1: trading on-line Esercizio 1: trading on-line Si realizzi un programma Java che gestisca le operazioni base della gestione di un fondo per gli investimenti on-line Creazione del fondo (con indicazione della somma in inizialmente

Dettagli

Calcolo del Valore Attuale Netto (VAN)

Calcolo del Valore Attuale Netto (VAN) Calcolo del Valore Attuale Netto (VAN) Il calcolo del valore attuale netto (VAN) serve per determinare la redditività di un investimento. Si tratta di utilizzare un procedimento che può consentirci di

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

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento.

Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Guida all uso del sito E Commerce Axial Questa guida è realizzata per spiegarvi e semplificarvi l utilizzo del nostro nuovo sito E Commerce dedicato ad Alternatori e Motorini di avviamento. Innanzitutto,

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

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

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

Dettagli

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

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ

LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ LA MASSIMIZZAZIONE DEL PROFITTO ATTRAVERSO LA FISSAZIONE DEL PREZZO IN FUNZIONE DELLE QUANTITÀ In questa Appendice mostreremo come trovare la tariffa in due parti che massimizza i profitti di Clearvoice,

Dettagli

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione completa delle fidelity card & raccolta punti Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 3 La gestione delle fidelity card nel POS... 4 Codificare una nuova fidelity

Dettagli

LA CORRISPONDENZA COMMERCIALE

LA CORRISPONDENZA COMMERCIALE LA CORRISPONDENZA COMMERCIALE GLI ELEMENTI ESSENZIALI DELLA LETTERA COMMERCIALE Intestazione Individua il nome e il cognome o la ragione sociale di chi scrive; contiene inoltre l indirizzo e i recapiti

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

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli