Prova di Ingegneria del Software del 5/11/2003

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Prova di Ingegneria del Software del 5/11/2003"

Transcript

1 Prova di Ingegneria del Software del 5/11/2003 Si vuole realizzare il sistema di controllo del passaggio a livello di Figura. Roe Semoe RpSoe Ruoe Linea OE Linea EO Rueo SB RpSeo Semeo Reo Il sistema deve funzionare nel modo seguente: Le sbarre sono normalmente aperte e i semafori (Semoe e Semeo) sono normalmente Rossi L arrivo di un treno nella zona del passaggio a livello è rilevato da Roe o Reo a seconda della provenienza del treno Quando un treno arriva nella zona del passaggio a livello deve essere dato il comando di chiusura alle sbarre, le quali si chiudono in un certo tempo che qui non interessa. Lo stato delle sbarre è dato dal sensore RSB che riporta: Aperte, Chiuse, InChiusura, InApertura Il semaforo della linea su cui sta arrivando il treno (Semeo/Semoe) dà via libera solo quando le sbarre sono chiuse e ritorna immediatamente Rosso appena il treno passa relativo sensore (RpSoe/RpSeo) Le sbarre vengono comandate a rialzarsi solo se nessun treno è nella zona Un treno che arrivi nella stessa direzione di un treno in transito che non ha ancora lasciato la zona deve trovare il semaforo rosso; il semaforo darà via libera solo quando il treno in transito uscirà dalla zona. Si consideri solo il funzionamento a regime, escludendo la fase di attivazione/disattivazione del sistema di controllo. Si supponga che inizialmente il sistema sia nello stato Idle (al quale corrispondono sbarre aperte e semafori Rossi) e che nessun treno sia nella zona. 1. Si modelli in forma a oggetti il sistema di controllo e si disegni il diagramma UML delle classi (diagramma a oggetti). Si suggerisce di prevedere un controllore per ciascuna delle due linee e un controllore globale che eventualmente interagisce con i due. punti 8 2. Si tracci il diagramma di stato degli oggetti che compaiono nel modello - punti 8 3. Si specifichino le interfacce degli oggetti che compaiono nel modello - punti 8 In riferimento al diagramma UML barrare la risposta corretta * 1..* Azienda Impiega Lavora per Persona 1 Ha 1 Ha 1 * ContoCorrente * 4. Una persona lavora comunque per qualche azienda V F 2 5. Un azienda può non avere alcuno che lavori per essa V F 2 6. Tutti i conti correnti sono posseduti da una persona e da un azienda V F 2 7. Un conto corrente di un azienda non può essere di una persona V F 2

2 Prova di Ingegneria del Software del 13/11/2003 Si vuole automatizzare la gestione di un campeggio. Il campeggio è diviso in zone (lato mare, centrale, lato strada), ogni zona è a sua volta suddivisa in piazzole. Ogni piazzola ha un numero d ordine e una superficie in mq. Il costo giornaliero per una piazzola è proporzionale alla sua superficie secondo un coefficiente di proporzionalità che dipende dalla zona in cui si trova. Ogni persona occupante una tenda paga una quota giornaliera. I clienti richiedono le piazzole indicando la zona preferita e fornendo la dimensione minima necessaria per la propria tenda. Il campeggio non effettua prenotazioni e le piazzole vengono assegnate di volta in volta. Le piazzole vengono assegnate compatibilmente con la loro disponibilità nella zona richiesta, selezionando la prima di superficie sufficiente rispetto alla dimensione della tenda. Una tenda può avere più occupanti, di cui uno ha il ruolo di titolare. Si assuma che il titolare è presente al momento dell assegnazione di una piazzola e che la piazzola venga liberata solo quando parte il titolare stesso. Il titolare paga per tutti i giorni dall arrivo alla partenza, mentre gli occupanti diversi dal titolare pagano solo per i giorni trascorsi al campeggio (Essi possono arrivare anche dopo il titolare e andare via prima; per semplicità si assume che un occupante che lascia il campeggio non torni). Il sistema tiene traccia degli occupanti (dati anagrafici e fiscali di interesse), mantenendo per ciascuno di essi le date di arrivo/partenza. Il sistema tiene traccia di eventuali spese per servizi extra goduti da ciascun occupante. Il conto finale viene calcolato alla restituzione della piazzola, considerando, oltre al costo per la piazzola, tutti i costi in cui sono occorsi gli occupanti. Il conto viene intestato al titolare. Al momento della restituzione della piazzola tutti i dati inerenti gli occupanti vengono cancellati. 1. Si disegni il modello concettuale a oggetti (diagramma delle classi), secondo lo stile UML, del dominio applicativo descritto. Si ricorda che il modello concettuale è composto dalle classi entità, ovvero dalle classi caratteristiche del dominio. 2. In riferimento al modello del punto 1 si costruiscano i diagrammi di sequenza per: a) Individuazione della prima piazzola vuota che soddisfa ai requisiti (zona preferita/superficie minima); b) Assegnazione della piazzola (tenendo traccia delle persone arrivate, etc.); 3. Si individuino le responsabilità delle classi nelle interazioni relative al punto 2, definendo le loro interfacce, ovvero i metodi che esse presentano all esterno. (Se si ritengono utili, si introducano eventuali classi di controllo e/o di interfaccia ). 4. Quali e quanti oggetti intervengono nel calcolo del conto finale? 5. Quali oggetti vengono eliminati all atto della partenza del titolare? 6. Si tracci il diagramma di stato di un occupante. 7. Come si modificherebbe il diagramma del punto 1 se il costo delle piazzole fosse determinato per zona di appartenenza e per fascia di superficie (assumendo che ci fossero 4 fasce: piccola, media, grande, molto grande). Punteggi: 1: 5; 2a): 5; 2b): 5; 3: 6; 4: 4; 5: 2 6: 2 7:4 Non è necessario restituire questo foglio. Ricordarsi di riportare nome e cognome sui fogli consegnati.

3 Prova di Ingegneria del Software del 2/2/2004 Un circolo privato dispone di libri, videocassette e CD, che possono essere dati il uso (prestito) ai propri soci. Il circolo è aperto e funziona tutti i giorni della settimana. Nel caso di CD e videocassette, l oggetto prestato deve essere restituito entro 8 giorni (per esempio, un CD prestato di martedì deve ritornare entro martedì della settimana successiva). Nel caso dei libri la durata è 1 mese (per esempio dal 16 del corrente mese al 16 del successivo). Due giorni prima della scadenza del prestito viene mandato automaticamente, per posta elettronica, un avviso. Nel caso dei libri, viene anche mandato un avviso una settimana prima della scadenza. A prestito scaduto, l avviso viene reiterato quotidianamente. E consentito ottenere in prestito fino a tre opere. Per ottenere un qualunque prestito il socio non deve avere prestiti scaduti. Dopo due mesi dalla scadenza di un prestito, al socio che non ha restituito l oggetto in uso viene inviato un invito a pagare per il valore dell oggetto prestato più una tassa del 30%. Per ogni CD il sistema deve tenere traccia dei brani in esso contenuti, degli autori e degli esecutori dei singoli brani. Per ogni videocassetta, deve essere tenuta traccia del regista e dei due attori principali. Per ogni libro, della casa editrice e degli autori. Ogni opera è in esemplare singolo. Si richiede: 1. I casi d uso relativi a: a) Prestito b) Restituzione c) Al controllo per l emissione avviso 2. Il modello concettuale a oggetti (diagramma delle classi), secondo lo stile UML, del dominio applicativo descritto. Si ricorda che il modello concettuale è composto dalle classi entità, ovvero dalle classi caratteristiche del dominio. 3. In riferimento al modello del punto 1 si costruiscano i diagrammi di sequenza per: a) Effettuazione di un prestito; b) Restituzione di un prestito; c) L elencazione dei prestiti/restituzioni di un determinato socio. 4. Si individuino le responsabilità delle classi nelle interazioni relative al punto 2, definendo le loro interfacce, ovvero i metodi che esse presentano all esterno. 5. Quali oggetti intervengono nel controllo delle scadenze e nella generazione degli avvisi ai soci ritardatari. 6. Come si tiene conto della diversa categoria delle opere al momento della determinazione della durata del prestito e nel controllo delle scadenze. Punteggi: 1: 2; 2): 10; 3a): 4; 3b): 3 3c): 4; 4: 4 5: 2 6: 4 Non è necessario restituire questo foglio. Ricordarsi di riportare nome e cognome sui fogli consegnati.

4 Soluzione dell esercizio del 2 Febbraio 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 anzitutto che Circolo possiede opere, in una relazione uno a molti. Opera è una classe astratta alla quale corrispondono tre classi concrete CD, Video e Libro. Al circolo sono associati i soci. Si ha la struttura iniziale di Figura 2. Si noti che si è usata l associazione di aggregazione dei soci e delle opere da parte del circolo. Il circolo viene a essere il contenitore di tutti i relativi oggetti. Figura 2: Diagramma UML: schema iniziale Il diagramma si completa come in Figura 3. Sono stati aggiunti gli attributi che in questa fase appaiono rilevanti. Si faccia caso al fatto che tutti gli attributi sono privati (non visibili dall esterno) e quindi, se per esempio serve sapere il titolo di una data opera, occorrerà prevedere un metodo che restituisca il titolo. Si noti l uso dell ereditarietà anche per le persone. L associazione di prestito è una associazione ternaria. Essa stessa ha infatti (almeno) un attributo proprio rappresentato dalla data di restituzione prevista. 3. Diagrammi di sequenza In Figura 4 viene riportato il diagramma di sequenza corrispondente al caso d uso della verifica dello stato del prestito e della disponibilità dell opera. Per convenienza è stato posto un punto interrogativo ai metodi che riportano una risposta booleana.?prestconsentito() è il metodo di Socio che risponde se il prestito è consentito. Ovviamente, il prestito è consentito se Socio non ha prestiti in corso, ovvero se non ha associazioni con oggetti della classe Prestito. Se ci sono prestiti in corso si richiede che essi vengano esaminati (col metodo?scaduto() della classe Prestito). Per vedere se un opera è in catalogo viene letto il titolo delle opere (tramite il metodo get title()). In caso affermativo viene verificato che l opera non sia in prestito (non abbia associazioni con oggetti della classe 1

5 Figura 3: Modello concettuale completo. 2

6 Figura 4: Sequence diagramma della verifica dello stato del prestito e della disponibilità. Prestito). Se l opera è in prestito il metodo getscadenza() della classe Prestito riporta la data di scadenza, che può essere comunicata al richiedente. In Figura 5 viene riportato il diagramma di sequenza corrispondente al caso d uso del prestito. Notare che l opera data in prestito è responsabile di creare la classe Prestito e quindi, conoscendo se stessa (CD, Video o libro), può fissarne la scadenza all atto della creazione del Prestito (col suo costruttore). Il metodo SetInPrestito() riporta al Socio (il riferimento a) il Prestito appena istanziato. Opera e Socio costruiscono quindi l associazione con Prestito. In Figura 6 viene riportato il diagramma di sequenza corrispondente al caso d uso della restituzione. Il metodo rilascia() di Socio ha solo l effetto di eliminare il riferimento di Socio al Prestito e di chiamare il metodo SetDisponibile di Opera che, a sua volta, distrugge il Prestito ed elimina il relativo riferimento che essa possiede. Si noti che il meccanismo delineato non richiede una variabile di stato per indicare se un opera è in prestito o no. Un opera è in prestito se c è una associazione con un Prestito, altrimenti è disponibile. In Figura 7 è riportato il diagramma di sequenza relativo al controllo e della generazione degli avvisi. In questo caso sono stati introdotti due ulteriori oggetti, iltempo e ilmailer. Essi esistono in copia unica. Il primo è un oggetto avente funzione di controllo (attivare la sequenza), il secondo è un oggetto di interfaccia a cui arrivano i messaggi confezionati da Opera. 4. Responsabilità delle classi Vedere i diagrammi di sequenza e la Figura 8, in cui si mostrano le operazioni di ciascuna classe. Per le classi derivate da Opera, alcuni metodi possono essere definiti in Opera e derivati senza modifica (per esempio get title()); altri devono essere ridefiniti nelle classe derivate (per esempio, avvisa()). 5. Vedere i diagrammi di sequenza 6. Tramite il polimorfismo (NON con statement if). Il diagramma di Figura 5 mostra che è Opera a creare un Prestito e quindi essa sa quanto può durare e fissare la data di scadenza (tramite il costruttore del Prestito). La Figura 7 mostra che è sempre Opera a chiedere il servizio a ilmailer. Opera ottiene dal Prestito l indicazione che esso è scaduto (data, etc), aggiunge l identificazione di se stessa nel messaggio da trasmettere e chiama il metodo trasm() del Mailer. La trasmissione dell eventuale messaggio con richiesta di pagamento avviene allo stesso modo. Per richiedere la cifra occorre prevedere che tra gli attributi di un opera ci sia anche il costo in modo da calcolare la cifra dovuta dal socio. La Figura 2 deve essere aggiornata con aggiungendo questo attributo. 3

7 Figura 5: Sequence diagram del prestito. La parte alta corrisponde al caso di uso di Figura 4 di cui però si riporta solo gli elementi principali. Ovviamente la fase di prestito ha luogo solo se è la verifica ha dato esito positivo. Figura 6: Sequence diagram della restituzione. 4

8 Figura 7: Sequence diagram del controllo e generazione avvisi. In questo caso sono messi in evidenza il Tempo (l attore che determina l esecuzione della sequenza e l oggetto Mailer responsabile di raccogliere i messaggi e di trasmetterli. 5

9 Figura 8: Interfacce delle classi. 6

10 Soluzione alternativa Una caratteristica della soluzione proposta è il ricorso alla associazione ternaria di Prestito. Si pone la domanda se essa è effettivamente necessaria. Nel caso specifico, l associazione di Prestito in forma di classe non è essenziale; infatti: a) le opere sono in versione unica e un opera può essere prestata a un solo socio alla volta; b) non è richiesto che si tenga traccia dei precedenti prestiti e quindi, come è stato fatto nella soluzione proposta, un prestito cessa di esistere alla sua conclusione; c) per tenere traccia di un prestito basta l associazione Opera-Socio, prevedendo che Opera abbia tra i suoi attributi una variabile di stato che indica se essa è o no in prestito e una variabile che dia la data di scadenza del prestito. Con queste modifiche il modello concettuale diventa quello di Figura 9, dove è stata riportata solo la parte di interesse. Figura 9: Modello del dominio dopo l eliminazione della classe di associazione Prestito. In Figura 10 viene mostrato il diagramma di sequenza del caso di uso di verifica stato del prestito e disponibilità.?prestconsentito() è il metodo di Socio che risponde se il prestito è consentito. Questa volta la verifica è se ci sono associazioni con Opera e, in caso positivo, se i prestiti in corso non sono scaduti. Il metodo?scaduto() è ora un operazione della classe Opera. La verifica che un opera sia in prestito coinvolge solo Opera. Il metodo?inprestito() può riportare la data di scadenza del prestito se è in corso. Il caso d uso del prestito si semplifica come in Figura 11. L operazione SetInPrestito() fa cambiare lo stato di Opera e assegnare il valore dovuto alla componente DataScadenzaP. Ovviamente stabilisce l associazione stra Socio e Opera. Il caso d uso della restituzione diventa come in Figura 12. Quello del controllo e generazione avvisi diventa come in Figura 13. Il significato dei metodi è scontato. Il diagramma delle classi di Figura 14 mostra le interfacce delle classi. Considerazioni E lecito domandarsi a cosa serve una associazione ternaria. Supponiamo che un opera oltre a essere prestata possa essere prenotata. E chiaro che una data opera può avere più prenotazioni e che ogni prenotazione si distingue dalle altre per la data. E perciò evidente che una prenotazione è un oggetto a sé stante, con propri attributi, che definisce una possibile associazione tra un opera e un socio. Se il problema in esame avesse richiesto di tenere traccia dei prestiti pregressi saremmo stati nella medesima condizione. Infatti ogni prestito, una volta creato, avrebbe dovuto restare permanentemente nel sistema. In questo caso il Prestito avrebbe richiesto più attributi (data di inizio, di fine e di effettiva restituzione), in modo 7

11 Figura 10: Diagramma della verifica dello stato del prestito e della disponibilità. da poter decidere del suo stato. Con una tale organizzazione sarebbe possibile chiedersi, ad esempio, quanti prestiti ha ottenuto un socio (in un dato anno, o a partire da una certa data) esaminando i prestiti associati al socio e conteggiando quelli che soddisfano la condizione imposta dalla domanda. 8

12 Figura 11: Nuovo diagramma di sequenza del prestito. La parte alta corrisponde sempre al caso di uso della verifica dello stato del prestito e della disponibilità di Figura 10. La fase di prestito ha luogo solo se è la verifica ha dato esito positivo. Figura 12: Diagramma di sequenza della restituzione. Figura 13: Diagramma di sequenza del controllo e generazione avvisi. E sempre Opera che genera il messaggio di avviso e chiede al Mailer di trasmetterlo. 9

13 Figura 14: Diagramma delle classi e loro interfacce. 10

14 Prova di Ingegneria del Software del 12/2/2004 Si deve realizzare il sistema per la gestione delle prenotazioni e dei soggiorni di una catena di alberghi. La catena è fatta di un certo numero di alberghi (anche in città diverse), ciascuno dei quali ha un certo numero di camere. Ogni camera ha proprio costo e proprie caratteristiche (numero di posti letto). Il sistema deve consentire ai clienti non solo di effettuare le prenotazioni, ma anche di vedere la disponibilità in un dato periodo. Il sistema risponde alle interrogazioni fornendo il numero di camere libere in un dato albergo e la fascia di costo (costo della meno cara e della più cara): L albergo accetta anche arrivi non prenotati, purché ci siano camere disponibili. Alla conclusione del soggiorno il cliente (che può essere accompagnato) paga il conto nel quale confluiscono: (a) il costo della camera; (b) un Delta per ogni accompagnatore; (c) il costo di tutti gli extra eventualmente fruiti dal cliente e dai suoi accompagnatori. L albergo tiene traccia dei suoi clienti (dati anagrafici). Una persona diventa cliente dal momento in cui fa una prenotazione. Non si deve tenere traccia delle prenotazioni né dei soggiorni oltre il limite di stretto interesse. Si richiede: 1. I diagramma dei casi d uso. 2. Il modello concettuale a oggetti (diagramma delle classi), secondo lo stile UML, del dominio applicativo descritto. 3. I diagrammi di sequenza per: a) Esame disponibilità b) Prenotazione c) Check-in nel caso di un prenotato d) Check-in di un non prenotato e) Check-out 4. Le interfacce delle classi (i metodi che esse presentano all esterno). Si supponga che ora un cliente diventi tale solo quando ha concluso almeno un soggiorno (chi si prenota, per la prima volta e non ha mai soggiornato, e poi disdice non entra a far parte dei clienti stabili). Elencare: 5. Le modifiche da apportare al modello precedente (al modello concettuale ed eventualmente ai diagrammi di sequenza del punto 3.). Punteggi: 1: 2; 2): 8; 3a): 3; 3b): 3 3c): 4 3d): 2 3e): 3 4: 3 5: 5 Non è necessario restituire questo foglio. Ricordarsi di riportare nome e cognome sui fogli consegnati.

15 Soluzione dell esercizio del 12/2/ Soluzione dell esercizio del 12 Febbraio Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale Osserviamo anzitutto che la Catena è fatta di Hotel e che un Hotel si compone di camere. Ogni camera ha un costo e prevede un certo numero di letti (Figura 2). L associazione di prenotazione è espressa attraverso la classe Prenotazione. E un associazione molti a molti (una camera può avere più prenotazioni da parti di clienti diversi, in tempi diversi, e un cliente può aver prenotato più prenotazioni di camere in tempi diversi). Gli attributi della classe prenotazione (D inizio, D fine) servono a individuare la prenotazione tra camera e cliente ad una certa data. Inoltre Camera può avere o no un Soggiorno in corso. Il soggiorno ha una data di inizio (quando il cliente ha fatto il check-in) e una data di fine prevista. In questo intervallo la camera non può essere data ad altri né prenotata. La data di fine soggiorno è normalmente dedotta dalla prenotazione, ma è possibile che all atto del check-in il cliente voglia estendere la permanenza oltre la prenotazione o che voglia soggiornare er un periodo più corto. Il sistema dovrà prendere i provvedimenti del caso. A un Soggiorno è associato un solo Cliente. Per come è presentato il problema, è naturale associare gli Extra a un (solo) soggiorno. Le relazioni Camera-Soggiorno e Soggiorno-Cliente sono uno a uno. Un cliente può avere degli accompagnatori. Nel modello non serve rappresentarli con una specifica classe, infatti essi intervengono in maniera anonima. Serve solo il loro numero nel calcolo del conto finale. A tal fine basta prevedere la componente NumeroAccomp nel Soggiorno 1. Pure gli extra intervengono solo nel calcolo del conto finale (l esercizio non chiede di saper come si trattano gli extra, chiede solo di metterli in conto alla partenza). Gli extra vengono fruiti durante la permanenza e non è prevedibile il loro numero. Per questo occorre l associazione con Soggiorno. Il Delta è una costante valida per tutto il sistema, Ipotizzando che possa in qualche modo essere funzione della camera si può prevedere che esso sia un attributo della classe Camera. Osservazione: Nel caso specifico (poiché in una camera c è al più un soggiorno di un cliente), si poteva tenere traccia del soggiorno prevedendo l associazione soggiorno diretta tra camera e cliente. La data di inizio e di fine prevista avrebbero potuto essere componenti di Camera o di Cliente (c era poi da associare Extra a 1 Se si volesse modellare il fatto che gli accompagnatori possono variare in numero durante il soggiorno, l ipotesi di tenerne conto con la componente NumeroAccomp di Soggiorno non è più sufficiente. Occorrerebbe prevedere la classe Accompagnatore associandola in una relazione uno a molti con Soggiorno o con Cliente.

16 Soluzione dell esercizio del 12/2/ Cliente o a Camera). Per rendere efficiente questa soluzione sarebbe stata utile l attributo (variabile di stato) occupata per la camera. Nel seguito, si presentano i diagrammi di sequenza il riferimento al modello di Figura 2. Chi ha voglia approfondisca la differenza con quanto appena esposto. Figura 2: Diagramma UML: associazioni tra le classi 3. Diagrammi di sequenza a) Esame disponibilità In Figura 3 viene riportato il diagramma di sequenza corrispondente al caso d uso della verifica della disponibilità. Il metodo Get disp() di Catena viene chiamato a seguito della richiesta dell utente (potrebbe essere il cliente da postazione remota o il gestore). Occorre prevedere come parametri l Hotel a cui girare la richiesta, la data di arrivo e partenza e l eventuale fascia di prezzo. La risposta sarà l indicazione del numero di camere e il costo minimo e massimo in cui può incorrere l utente. Il metodo Get disp() di Hotel gira la domanda a ogni sua camera. La Camera esamina le Prenotazioni (metodo intervallo()) a essa associate per verificare se nel periodo richiesto è libera. La risposta di Camera a Hotel dà l ampiezza dell intervallo di tempo (in cui è libera) entro cui casca la richiesta di prenotazione, al fine di consentire l ottimizzazione dell impiego delle camere nell eventuale scelta. Bisogna anche tenere conto che all atto del check-in può essere consentito anticipare la data di fine permanenza rispetto a quella prevista nella prenotazione (ovviamente anche anche consentito di posticipare la data di fine soggiorno, se la camera è libera o se ci sono altre camere libere). Per questo motivo, conviene stabilire di cancellare la prenotazione all inizio del relativo soggiorno (che invece deve essere istanziato). Ma ciò comporta che la verifica della disponibilità esamini se la prenotazione non va a collidere con i soggiorni in corso. Notare che Camera restituisce a Hotel il suo costo. L Hotel provvede a formare la risposta sulla base delle risposte ottenute dalle camere. Si osservi che User è stato fatto dialogare direttamente con Catena, in quanto stiamo illustrando il dominio applicativo. In fase di implementazione occorrerà prevedere una adeguata interfaccia tra l utente o l impiegato della reception dell albergo e gli oggetti del modello concettuale. Cio comporterà l introduzione di ulteriori classi. b) Prenotazione In Figura 4 viene riportato il diagramma di sequenza corrispondente al caso d uso della prenotazione. Il metodo prenota() di Catena richiede come parametri: l Hotel su cui si effettua la prenotazione, il periodo e il tipo di

17 Soluzione dell esercizio del 12/2/ Figura 3: Sequence diagramma della verifica della disponibilità (3a). Occorre esaminare le prenotazioni della camera e verificare che non ci sia un soggiorno in corso. La sequenza presentata si riferisce ad una interrogazione del cliente. Se la verifica viene fatta per il cliente arrivato all albergo senza prenotazione, viene saltata l intermediazione dell oggetto catena. camera, oltre che i dati del cliente. L Hotel interroga la camera come nel caso d uso della verifica (una soluzione più efficiente consiste nel passare anche l esatto intervallo, e il tipo di camera, in modo da velocizzare le risposte delle camere). In base alla risposta delle camere e alle preferenze del cliente viene effettuata la scelta della camera. (Nella pratica realizzativa, occorrerà prevedere un passo di conferma da parte dell utente.) La prenotazione richiede la verifica dell esistenza del cliente. Per questo nel modello ci deve essere l associazione Hotel-Cliente.In Figura si è fatto il caso che il cliente esista già. In caso contrario occorre anche istanziare il nuovo Cliente (da parte dell Hotel). E la Camera che costruisce (istanzia) la Prenotazione. Il metodo prenota() di camera deve avere tra gli argomenti il (riferimento al) cliente, per la costruzione dell associazione. Si noti la Prenotazione usa il caso d uso Verifica disponibilità. c) Check-in di un prenotato In Figura 5 viene riportato il diagramma di sequenza corrispondente al check-in di un prenotato. Il metodo prendi() della camera serve a bloccare la camera prenotata (che comunque fa la verifica col metodo?conferma() di Prenotazione). Se la conferma è positiva, la prenotazione viene distrutta e viene creato un Soggiorno. La data di fine del soggiorno è stata dedotta dalla prenotazione, oppure essa può essere data dal Prenotato, in variazione rispetto a quella della prenotazione, sempre che sia compatibile. E certamente compatibile se viene anticipata. Nel caso il cliente intenda prolungare la permanenza oltre la data di prenotazione, occorre prima esaminare le prenotazioni della camera (non mostrato in figura). d) Check-in di un non prenotato Il diagramma di sequenza differisce da quello del caso precedente per il fatto che ora deve essere ripetuta la fase di verifica della disponibilità. Inoltre, non c è da distruggere nessuna prenotazione perché questa non esiste. e) Check-out In Figura 6 è riportato il diagramma di sequenza relativo. Notare che vengono distrutti il Soggiorno e gli eventuali extra associati al soggiorno. Il metodo calcola() di Camera si rende necessario avendo messo Delta in Camera.

18 Soluzione dell esercizio del 12/2/ Figura 4: Sequence diagram della prenotazione (3b). Per semplicità si è trascutato di indicare la verifica dell eventuale conflitto con il soggiorno in corso. La verifica dell esistenza di un soggiorno in corso per una data camera può essere il passo che precede la verifica dell intervallo di prenotazione (e che la esclude se il soggiorno si estende sul periodo richiesto). Inoltre, in figura, viene mostrata la sequenza in cui il cliente esiste già nel sistema (metodo già cliente()). Se il cliente non esiste occorre provvedere alla sua istanziazione. 4. Responsabilità delle classi Vedere i diagrammi di sequenza e la Figura 7, in cui si mostrano le operazioni di ciascuna classe. 5. Se deve esser considerato effettivo cliente solo chi ha concluso (almeno) un soggiorno occorrono queste variazioni: prevedere un componente (boolenano) di cliente che indichi se esso è o no un cliente stabile. Chiameremo questo campo Stabile ; in prenotazione, se il cliente non esiste, viene istanziato il nuovo cliente con Stabile=false, se il cliente esiste Stabile non viene toccato; all atto del check-out il campo Stabile viene comunque portato a true; nel caso in cui una prenotazione venga annullata (caso per il quale non è stato richiesto il diagramma di sequenza), il cliente con Stabile==false viene cancellato.

19 Soluzione dell esercizio del 12/2/ Figura 5: Sequence diagram del check-in di un prenotato (3c).

20 Soluzione dell esercizio del 12/2/ Figura 6: Sequence diagram del check-out (3e).

21 Soluzione dell esercizio del 12/2/ Figura 7: Interfacce delle classi.

22 Prova di Ingegneria del Software del 20/4/2004 Si vuole costruire un simulatore (elementare) di traffico autostradale. Il sistema autostradale è composto di segmenti, ad esempio: Firenze-Bologna (diverso da Bologna-Firenze). Ogni segmento ha un casello di ingresso e uno di uscita. Lungo un segmento possono esserci stazioni di rifornimento. Ogni segmento è caratterizzato dalle coordinate dei suoi punti estremi corrispondenti ai relativi caselli di ingresso e di uscita. Le stazioni di rifornimento hanno coordinate lungo la linea (retta) del segmento. Un auto che entra a un casello di ingresso esce dal casello di uscita del medesimo segmento. Un auto che entra a un casello è caratterizzata da una sua velocità di percorrenza V (che supponiamo costante quando è in marcia). Quando ha percorso P Km dal momento dell ingresso o dall ultimo rifornimento, una macchina deve fermarsi alla prossima stazione o uscire al casello di uscita (se non incontra prima stazioni di rifornimento). Il tempo di sosta alla stazione di rifornimento (Ts) è pure un dato caratteristico della macchina. Il simulatore deve: A. Fornire un quadro sinottico con i segmenti, le stazioni, i caselli e le macchine presenti nel sistema nella loro posizione. B. Calcolare il tempo impiegato da una data macchina tra l ingresso e l uscita. Per semplicità si consideri il funzionamento del sistema a regime (senza tener conto dell inizializzazione) e si assuma che il simulatore venga realizzato come un oggetto che fa avanzare il tempo di un tick. Ad ogni tick il simulatore invoca, o causa l invocazione dei metodi degli oggetti che ne determinano la loro evoluzione. 1. Si disegni lo schema concettuale del sistema (diagramma delle classi applicative) secondo lo stile UML. 2. Si specifichino le operazioni di interfaccia delle classi del modello del punto 1, che consentono lo svolgimento della funzionalità del punto A, cioè il disegno a video del quadro sinottico del sistema, con le macchine nella loro posizione (una macchina si disegna come un punto). 3. Si specifichino gli attributi e i metodi dell interfaccia degli oggetti della classe auto (oltre a quelle eventuali del punto 2), ai fini della simulazione. 4. Il diagramma di stato degli oggetti della classe auto. 5. Specificare la funzionalità dei caselli di ingresso (a parole), gli eventuali metodi di interfaccia a fini della simulazione. 6. Specificare la funzionalità dei caselli di uscita (a parole), gli eventuali metodi di interfaccia a fini della simulazione. Punteggi: 1: 8; 2: 7; 3: 7; 4: 3 5: 4 6: 4 Non è necessario restituire questo foglio. Ricordarsi di riportare nome e cognome sui fogli consegnati.

23 Soluzione dell esercizio del 20/4/ Soluzione dell esercizio del 20 Aprile Modello concettuale Osserviamo anzitutto che il sistema autostradale (la Mappa) è fatta di segmenti; che un segmento ha un casello di ingresso e uno di uscita e che può avere zero o più stazioni di rifornimento. Un auto può essere in percorrenza di un segmento o a una stazione di rifornimento (Fig. 1). Alternativamente, l associazione di percorrenza potrebbe avere molteplicità 1 sul lato Segmento. In questo caso l intrepretazione sarebbe che un auto è comunque in percorrenza di un segmento, anche quando è a una stazione di rifornimento. In questo caso la relazione di rifornimento sarebbe non più esclusiva rispetto alla precedente. Nel seguito si segue il modello di Fig. 1. Figura 1: Modello concettuale. 2. Interfacce per il disegno Il disegno richiede che tutti gli oggetti siano in grado di disegnarsi. Con draw() si indica il metodo che disegna l oggetto cui appartiene il metodo stesso. Il disegno di un segmento è la tracciatura di una linea tra punti in cui sono i caselli. Un auto si disegna in base alla propria posizione (una coordinata su un segmento o a una stazione). Le interfacce sono quindi quelle di Figura 2. La figura indica che per effettuare il disegno, l oggetto di controllo (il simulatore) deve semplicemente chiamare Mappa.draw(). 3. Interfaccia classe auto Ai fini della simulazione la classe auto deve prevedere questi attributi (tendenzialmente tutti privati): a) la velocità di marcia V; b) il parametro P; c) il tempo di rifornimento Ts; d) l ora di ingresso al casello; e) la posizione; f) i Km percorsi dall ultimo rifornimento;

24 Soluzione dell esercizio del 20/4/ Figura 2: Interfacce per il disegno. g) lo stato (marcia/rifornimento/..); h) l istante di tempo di inizio sosta (significativo solo in caso di sosta al rifornimento). Gli attributi a), b) e c) sono costanti e sono caratteristici di ogni auto. Essi vengono generati dal casello di entrata attraverso un meccanismo di scelta casuale all atto dell istanziazione. I restanti attributi vengono aggiornati ad ogni chiamata del metodo tick() della classe auto. Il metodo tick() viene chiamato ad ogni avanzamento del tempo. Esso è il solo metodo di interfaccia necessario alla simulazione. Il metodo fa svolgere queste azioni a seconda dello stato: in stato di marcia: calcolo della nuova posizione; eventuale decisione di sosta o di uscita. Nel primo caso si ha un cambiamento dello stato e viene preso traccia dell istante di inizio della sosta. Secondo lo schema di Fig. 1 la macchina deve comunicare col segmento che sta lasciando e con la stazione di rifornimento, in modo che essa venga aggregata alle macchine in rifornimento alla stazione. Nel secondo caso la macchina chiama il metodo esco() del Casello di uscita, comunicandogli i suoi dati, in modo che questo possa calcolare la durata del viaggio (e l eventuale costo). La macchina non viene subito eliminata e passa in stato uscita (vedi sotto). in stato di sosta: eventuale decisione di fine sosta. In caso affermativo passaggio allo stato di marcia e azzeramento dei Km percorsi dall ultimo rifornimento. In Figura 3 viene data la specifica di interfaccia di Auto. 4. Diagramma di stato classe auto Il diagramma ha l aspetto di Fig. 4 (Si veda anche la Nota conclusiva). 5. Casello di ingresso Il casello di ingresso è responsabile dell istanzazione di nuove macchine. Nelle ipotesi fatte il casello presenta

25 Soluzione dell esercizio del 20/4/ Figura 3: Interfaccia di Auto. Figura 4: Diagramma di stato di un oggetto Auto. come interfaccia il solo metodo tick(). Il metodo decide, in base a predefinite distribuzioni di probabilità, se deve essere istanziata una nuova macchina. In caso affermativo la macchina viene istanziata, assegnando i valori iniziali agli attributi e informando il segmento in modo che questo possa aggregarla alle auto sul segmento. Gli attributi V, P e Ts sono costanti (P sarà scelto in modo di garantire almeno il raggiungimento della prossima stazione di servizio o dell uscita, se sul segmento non ci sono stazioni....a meno che non si voglia considerare anche la possibilità di macchine ferme per mancanza di benzina!) 6. Casello di uscita Il casello di uscita è responsabile dell eliminazione della macchina che esce, del calcolo del tempo di percorrenza 1, etc. Il Casello di uscita deve presentare il metodo esco(), chiamato da una macchina che lo raggiunge. Poiché l eliminazione dell auto cha ha invocato il metodo esco() potrebbe determinare un errore al tempo di esecuzione (dove ritornerebbe il metodo esco()?), conviene supporre che il metodo faccia prendere traccia al casello di uscita della macchina da eliminare. L eliminazione si avrà al prossimo tick(). Per questo motivo è stato previsto lo stato Uscita nel diagramma di Fig. 4. In Figura 5 le interfacce dei due tipi di caselli. Nota conclusiva Per realizzare la simulazione basta immaginare che anche Mappa, Segmento e StazRif abbiano il metodo tick(). Un passo di simulazione si effettua invocando Mappa.tick() che a sua volta invoca tutti i Segmento.tick(). Il tick() del segmento invoca Auto.tick() di tutte le auto sul segmento e i tick() delle StazRif sul segmento. StazRif.tick() invoca i tick() delle auto in stazione. Il tick del segmento invoca CaselloIngresso.tick() e CaselloUscita.tick(). Infine, Auto.tick() può invocare esco() del CaselloUscita. La precedente spiegazione non tiene conto del fatto che la macchina per calcolare la propria posizione e altro può avere bisogno di informazioni dal Segmento su cui si trova. Non costa molto immaginare che esistano dei metodi di Segmento, non indicati, che forniscono queste indicazioni (lunghezza, distanza prossima stazione di servizio, etc..). 1 Dal punto di vista della programmazione orientata agli oggetti, il calcolo del tempo di percorrenza starebbe meglio nell oggetto Auto. Siccome però l auto viene eliminata, questa dovrebbe comunque comunicare al casello i suoi dati, in modo che il casello ne tenga traccia per eventuali statistiche (che, nella pratica, rappresentano il risultato effettivo della simulazione).

26 Soluzione dell esercizio del 20/4/ Figura 5: Interfaccia dei caselli. Infine si osservi che lo stato di Uscita degli oggetti Auto non è strettamente necessario. Infatti la macchina potrebbe essere lasciata in stato di Marcia, per essere eliminata dal casello di uscita sul prossimo tick(). L inserimento di questo stato conferisce maggiore coesione all oggetto Auto, in quanto lascia al suo interno la decisione di cosa fare a seconda dello stato in cui si trova (non accadrà che vengano modificati i valori dei suoi dati di viaggio mentre si trova in uscita).

27 Prova scritta del 28/6/ Prova scritta del 28 Giugno 2004 Si vuole automatizzare un casello autostradale che si compone di porte di ingresso e uscita. Le porte hanno un semaforo che è verde se sono attive e rosso se non attive. Quando non sono attive non consentono il passaggio (non rispondono a richiesta di biglietto di ingresso o di pagamento). L attivazione/disattivazione delle porte è fatta da un operatore (che interagisce col sistema). Un porta di ingresso attiva ripete ciclicamente queste operazioni: fornisce un biglietto quando viene premuto il pulsante relativo; apre la sbarra quando il biglietto viene estratto dal distributore; chiude la sbarra quando il sensore di passaggio indica che la macchina è passata. Un porta di uscita attiva ripete ciclicamente queste operazioni: accetta e legge un biglietto, calcolando l importo dovuto; presenta l indicazione dell importo e attende il pagamento automatico; quando il danaro è stato introdotto apre la sbarra e fornisce l eventuale resto; chiude la sbarra quando il sensore di passaggio indica che la macchina è passata. Il software deve essere costruito a oggetti. Non si dispone di un sistema di tempo reale e quindi l algoritmo di controllo è costituito da un loop in cui il controllore principale (presumibilmente l oggetto Casello) chiama ciclicamente e ripetitivamente gli oggetti rilevanti. A tale proposito questi oggetti devono possedere un metodo (denominato, ad esempio, tick() ) che effettua le azioni previste dall oggetto, in funzione dell evoluzione nel tempo del suo stato e degli ingressi da esso controllati. Si richiede 1. Il modello a oggetti del Casello. 2. Il diagramma di stato dell oggetto Porta di ingresso e sua interfaccia verso l esterno. 3. Il digramma di stato dell oggetto Porta di uscita e sua interfaccia verso l esterno. 4. Lo schema dell algoritmo eseguito dal metodo tick() della Porta di ingresso. 5. Lo schema dell algoritmo eseguito dal metodo tick() della Porta di uscita. 6. Si supponga di voler contare il numero di macchine in entrata e in uscita a partire dalla mezzanotte alla mezzanotte successiva. Si discuta come si introduce tale funzionalità (in termini di metodi presentati dagli oggetti interessati e gli algoritmi svolti dai metodi in questione)) 7. Si supponga di voler calcolare, alla mezzanotte, l incasso di ciascuna porta e l incasso complessivo. Come si introduce tale funzionalità? Punteggio: 1:5; 2:6; 3:4; 4:6; 5:4; 6:4; 7:4

28 Traccia di soluzione dell esercizio del 28/6/ Traccia di soluzione dell esercizio del 28 Giugno Modello del sistema Il casello aggrega almeno una porta di ingresso e una porta di uscita. Il modello del casello è in Figura 1 Figura 1: Diagramma UML: Struttura del casello In Figura 2 viene dato il diagramma a oggetti delle porte di entrata e di uscita. appartenenza dei subordinati alle porte. Le relazioni sono di Figura 2: Relazioni di appartenenza tra gli oggetti che compongono le porte Sebbene il testo non specifichi niente al riguardo e si possa assumere che le porte gestiscono direttamente i dispositivi fisici (Pulsanti, Sbarre, LettBiglietto, ecc.), conviene immaginare (come in Figura 2) che a questi ultimi corrispondano oggetti software responsabili della loro gestione. In tal modo l interazione tra le porte e i dispositivi fisici è mediata da questi oggetti e si limita all invocazione dei metodi di interfaccia che essi presentano. 2. Porta di ingresso Il diagramma di stato della porta di ingresso è in Figura 3. 1 La porta di ingresso presenta questi metodi di interfaccia (a parte il costruttore): Attiva() per attivare la porta; (porta la luce a verde); Disattiva() per disattivarla; (porta la luce a rosso); tick() per fare un passo di controllo degli oggetti sottostanti 3. Porta di uscita Il diagramma di stato della porta di uscita è in Figura 4 La porta di uscita presenta questi metodi di interfaccia (a parte il costruttore): 1 Si è riportata tra parentesi la condizione che fa tornare allo stato di Idle, in quanto non è specificato che ci sia un sensore di chiusura della sbarra. In fase di implementazione l oggetto che controlla la sbarra può essere fatto in vario modo. In particolare potremmo immaginare che emette un comando ad un motore e che questo opera in modo automatico fino alla chiusura della sbarra. In ogni caso l oggetto Sbarra avrà il metodo St() che riporta lo stato della sbarra.

29 Traccia di soluzione dell esercizio del 28/6/ Figura 3: Diagramma di stato dell oggetto porta di ingresso Figura 4: Diagramma di stato dell oggetto porta di uscita. Attiva() per attivare la porta; (porta la luce a verde); Disattiva() per disattivarla; (porta la luce a rosso); tick() per fare un passo di controllo degli oggetti sottostanti. Si noti che i metodi della porta di ingresso e della porta di uscita sono gli stessi. I primi due svolgono identiche funzioni; le differenze sono nel terzo. Conviene definirli nella classe Porta e derivarli (eventualmente modificandoli). 4. Algoritmo di controllo della porta di ingresso il metodo tick() fornisce il modo far percorrere alla porta il suo diagramma di stato. Ad ogni chiamata viene percorso il ramo corrispondente allo stato, leggendo lo stato degli oggetti coordinati e comandando attraversi di essi gli attuatori. void tick() { switch (STATO) { case Idle: if (Pulsante.st() == Premuto) {Emettitore.go(); STATO= EmissioneBiglietto}; break; case EmissioneBiglietto: if (Emettitore.st() == Ritirato) {Sbarra.open(); STATO= AperturaSbarra}; break; case AperturaSbarra: if (SensorePassaggio.st() == Transitato) {Sbarra.close(); STATO= ChiusuraSbarra}; break; case ChiusuraSbarra: if (Sbarra.st() == Chiusa) STATO= Idle; break; } } Si noti che gli oggetti Pulsante, Emettitore, SensorePassaggio e Sbarra hanno il metodo st() che riporta il relativo stato. L emettitore ha il metodo go() per emettere il biglietto. La Sbarra ha i metodi open() e

30 Traccia di soluzione dell esercizio del 28/6/ Figura 5: Diagramma di stato dell oggetto Emettitore di biglietti. close() per aprire e chiudere la sbarra. I dettagli di gestione dei dispositivi restano incapsulati negli oggetti che li rappresentano. Ad esempio, l oggetto Emettitore di biglietti avrà un diagramma di stato come in Figura 5 Corrispondentemente l Emettitore ha questi due metodi: void go() { if (ST == Idle) {ST= inemissione; comando al dispositivo all emissione;} } Stato st() { if (ST == inemissione & BigliettoRitirato) ST= Idle; return ST; } Il primo fa passare allo stato inemissione e avvia l emissione. Il secondo riporta allo stato Idle solo se il biglietto è stato estratto. La condizione BigliettoRitirato viene valutata guardando il dispositivo fisico. 5. Algoritmo di controllo della porta di uscita Mutatis mutandis è molto simile a quello della porta di ingresso. 6. Conteggio ingressi Il conteggio degli ingressi può essere effettuato dalle porte di entrata. Il diagramma di stato ci garantisce che ogni volta che si esce dallo stato di idle viene effettuato un percorso che riporta allo stato stesso. Il conteggio si riduce a tener conto di quante volte si esce dallo stato di idle (o da qualunque altro stato). Il ramo relativo dello statement switch si modifica in questo modo: case Idle: if (Pulsante.st() == Premuto) {Emettitore.go(); STATO= EmissioneBiglietto; cont= cont+1;}; break; dove cont è una variabile interna. Occorre aggiungere due metodi all interfaccia: getcont() che restituisce il valore del contatore; resetcont() che azzera il contatore. L oggetto Casello deve prevedere la lettura e l azzeramento (eventuale) del contatore: if (tempo == "mezzanotte") {ningressi = Porta_di_Ingresso.getcont(); Porta_di_Ingresso.resetcont();} tempo è una variabile di sistema che tiene l ora. Alternativamente, il conteggio poteva essere effettuato da SensorePassaggio. Alla mezzanotte il Casello chiede ad ogni porta di ingresso di fornire il conteggio e questa gira la domanda al sensore. 2 2 Come ulteriore approfondimento si invita a dare la specifica delle interfacce relativamente a questa soluzione e scrivere l algoritmo (seguito dal metodo principale) del sensore.

31 Traccia di soluzione dell esercizio del 28/6/ Calcolo incassi In modo analogo si tratta il calcolo degli incassi. Ogni porta di uscita tiene una variabile nella quale conteggia l incasso. La porta fornisce i metodi per leggere ed eventualmente azzerare l incasso corrente. Il Casello chiama ai tempi dovuti tali metodi.

32 Prova scritta del 14/7/ Prova scritta del 14 Luglio 2004 Un negozio per il noleggio di articoli per sport sulla neve noleggia: sci, racchette, scarponi da sci, tavole (snowboard), scarponi da tavola. A parte le tavole, che vengono noleggiate singolarmente, tutti gli altri attrezzi vengono noleggiati a paia. Nel seguito col termine articolo si intende o una tavola o un paio di attrezzi. Ogni articolo ha un numero d ordine che lo identifica univocamente. Gli sci e le tavole sono classificati per: (a) lunghezza; (b) livello (Racing, Progredito, Turismo); (c) costo di mercato all atto dell acquisto (C 0 ); (d) anno di acquisto. Gli scarponi da sci sono classificati per: (a) numero; (b) livello (Racing, Turismo); (c) costo di mercato all atto dell acquisto; (d) anno di acquisto. Gli scarponi da tavola non hanno il livello. Le racchette per: (a) misura (lunghezza); (b) costo di mercato all atto dell acquisto; (c) anno di acquisto. All atto del noleggio il sistema prende nota dei dati del cliente (identità, indirizzo, ecc.) e della data prevista di restituzione. Un cliente può noleggiare più attrezzi, anche dello stesso tipo e per tempi diversi. A fine giornata il sistema verifica che siano stati resi tutti gli attrezzi il cui noleggio scadeva a quella data. Passati 7 giorni da una scadenza di restituzione non onorata, il sistema stampa una lettera di avviso per il cliente. Il sistema non tiene traccia permanente dei clienti (quando gli attrezzi vengono restituiti il cliente viene cancellato). Al momento del noleggio il cliente fornisce, a seconda dell articolo, uno o più dati per la scelta. Per esempio: la lunghezza e il livello. All atto della restituzione, il sistema calcola il costo di noleggio di un articolo secondo una tariffa che tiene conto di C 0, della vetustà dell articolo. Si indichi con cn() il metodo che restituisce il costo del noleggio di un articolo. Se un articolo non viene restituito o viene restituito danneggiato viene imputato un costo che è calcolato in base a C 0 e alla vetustà. Si indichi cx() il metodo che restituisce il costo relativo. In caso di restituzione di articoli danneggiati questi devono essere eliminati dal sistema. Si richiede: 1. Il diagramma dei casi d uso 2. Il modello concettuale a oggetti (diagramma delle classi), secondo lo stile UML, del dominio applicativo descritto. 3. Il diagramma di sequenza relativo alla verifica della disponibilità di un paio di sci lunghi L e di livello l 4. Il diagramma di sequenza relativo al noleggio di un articolo 5. Il diagramma di sequenza relativo alla restituzione 6. Il diagramma di sequenza relativo alla restituzione con attrezzi danneggiati 7. Indicando con check() il metodo del negozio che effettua la funzione di controllo sulle restituzioni, si scriva l algoritmo in (pseudo) C++ che esso svolge (dovranno comparire le invocazioni dei metodi degli oggetti interessati) 8. I metodi presentano all esterno dagli oggetti Negozio e Articolo Punteggi: 1: 4; 2: 6; 3: 3; 4: 3; 5: 3; 6: 3; 7: 5; 8: 5 Riportare nome e cognome sul foglio sui cui viene svolto l esercizio. Non è obbligatorio restituire questo foglio. I risultati saranno pubblicati su web appena possibile.

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

Traccia di soluzione dell esercizio del 25/1/2005

Traccia di soluzione dell esercizio del 25/1/2005 Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello

Dettagli

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome. Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

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

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

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

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

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1 PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ

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

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

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

Dettagli

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

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

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

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

Gestione Turni. Introduzione

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

Dettagli

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

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1 REQUISITI ITERAZIONE 1 abcbid è un sistema per la gestione di vendite all asta. Esso deve gestire gli utenti (che vogliono vendere o acquistare oggetti), gli oggetti venduti all asta, le relative offerte,

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

CALCOLO COMBINATORIO

CALCOLO COMBINATORIO CALCOLO COMBINATORIO 1 Modi di formare gruppi di k oggetti presi da n dati 11 disposizioni semplici, permutazioni Dati n oggetti distinti a 1,, a n si chiamano disposizioni semplici di questi oggetti,

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

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

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

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

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

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo Prerequisiti Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo L opzione Conto lavoro è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione L opzione Conto lavoro permette

Dettagli

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

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

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

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

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

2.7 La cartella Preparazioni e CD Quiz Casa

2.7 La cartella Preparazioni e CD Quiz Casa 2.7 La cartella Preparazioni e CD Quiz Casa SIDA CD Quiz Casa è il cd che permette al candidato di esercitarsi a casa sui quiz ministeriali e personalizzati. L autoscuola può consegnare il cd al candidato

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

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

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

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

SISTEMA CONTROLLO ACCESSO PARCHI AVVENTURA JUNGLE TRACK

SISTEMA CONTROLLO ACCESSO PARCHI AVVENTURA JUNGLE TRACK SISTEMA CONTROLLO ACCESSO PARCHI AVVENTURA JUNGLE TRACK LISTA DELLE OPZIONI DISPONIBILI NELLA VERSIONE COMPLETA ATTIVITA E LISTINI Si possono gestire in contemporanea attività basate su listini indipendenti.

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

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

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

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

Dettagli

INSERIMENTO DATI BASILARI

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

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente

Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente Prerequisiti Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente L opzione Provvigioni agenti è disponibile per le versioni Vendite, Azienda Light e Azienda Pro. Introduzione

Dettagli

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori

MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori MICHELANGELO Piattaforma autorizzativa per la gestione di interventi riservata ai fornitori Questa documentazione conterrà tutti i dettagli operativi relativi all impatto della nuova applicazione web di

Dettagli

Interesse, sconto, ratei e risconti

Interesse, sconto, ratei e risconti TXT HTM PDF pdf P1 P2 P3 P4 293 Interesse, sconto, ratei e risconti Capitolo 129 129.1 Interesse semplice....................................................... 293 129.1.1 Esercizio per il calcolo dell

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

Corso introduttivo all utilizzo di TQ Qualifica

Corso introduttivo all utilizzo di TQ Qualifica Corso introduttivo all utilizzo di TQ Qualifica Le pagine che seguono introducono l utente all uso delle principali funzionalità di TQ Qualifica mediante un corso organizzato in quattro lezioni. Ogni lezione

Dettagli

SERVIZIO A CHIAMATA DI PESCHIERA BORROMEO

SERVIZIO A CHIAMATA DI PESCHIERA BORROMEO SERVIZIO A CHIAMATA DI PESCHIERA BORROMEO FASCIA ORARIA DI ESERCIZIO DEL SERVIZIO Dalle 6.00 alle 21.00 dal lunedì al sabato escluso Agosto e le festività infrasettimanali ORARI DI APERTURA DEL CALL CENTER

Dettagli

TECH HOTEL La soluzione facile e intuitiva per la Gestione Alberghiera!

TECH HOTEL La soluzione facile e intuitiva per la Gestione Alberghiera! TECH HOTEL La soluzione facile e intuitiva per la Gestione Alberghiera! TECH HOTEL Basta un occhiata al tabellone elettronico per rendersi immediatamente conto della disponibilità e contestualmente effettuare

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;

Dettagli

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................

Dettagli

2. LOGIN E RECUPERO DATI DI ACCESSO

2. LOGIN E RECUPERO DATI DI ACCESSO 1. ACCESSO AL SISTEMA La prima schermata cui si accede consente le seguenti operazioni: Login Registrazione nuovo utente Recupero password e/o nome utente 2. LOGIN E RECUPERO DATI DI ACCESSO L accesso

Dettagli

OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE

OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE REGIONE LOMBARDIA DIREZIONE GENERALE INFRASTRUTTURE E MOBILITA U.O. INFRASTRUTTURE VIARIE E AEROPORTUALI OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE PROGRAMMI TRIENNALI Manuale

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

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

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE

Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Il software ideale per la gestione delle prenotazioni GUIDA UTENTE Presentazione... 2 Installazione... 3 Prima esecuzione... 6 Registrazione del programma... 8 Inserimento Immobile... 9 Inserimento proprietario...

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

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

GUIDA UTENTE PRIMA NOTA SEMPLICE

GUIDA UTENTE PRIMA NOTA SEMPLICE GUIDA UTENTE PRIMA NOTA SEMPLICE (Vers. 2.0.0) Installazione... 2 Prima esecuzione... 5 Login... 6 Funzionalità... 7 Prima Nota... 8 Registrazione nuovo movimento... 10 Associazione di file all operazione...

Dettagli

CONTROLLO DI GESTIONE DELLO STUDIO

CONTROLLO DI GESTIONE DELLO STUDIO CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti

Dettagli

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

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

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione

Dettagli

Integrazione del progetto CART regione Toscana nel software di CCE K2

Integrazione del progetto CART regione Toscana nel software di CCE K2 Integrazione del progetto CART regione Toscana nel software di CCE K2 Data Creazione 04/12/2012 Versione 1.0 Autore Alberto Bruno Stato documento Revisioni 1 Sommario 1 - Introduzione... 3 2 - Attivazione

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

Direzione Impresa, Lavoro e Scuola Area Produzione e Servizi - Agricoltura. Settore Calamità ed Avversità Naturali in Agricoltura

Direzione Impresa, Lavoro e Scuola Area Produzione e Servizi - Agricoltura. Settore Calamità ed Avversità Naturali in Agricoltura Pag. 1 di 15 Presentazione domanda iniziale e Comunicazioni Pag. 2 di 15 Sommario... 1 Dettaglio azienda... 3 Pratiche e Comunicazioni... 3 Nuova Domanda... 4 Dati identificativi... 5 Referente del Progetto...

Dettagli

Questo è riservato all Organizzazione Nazionale per la sistemazione delle parrocchie negli alberghi e per controlli contributi

Questo è riservato all Organizzazione Nazionale per la sistemazione delle parrocchie negli alberghi e per controlli contributi Questa è la schermata iniziale che appare dopo essere andati su internet e scritto www.cogeri.it, quindi cliccare Gestione Parrocchia. In questa pagina si trova una finestra con notizie utili che vengono

Dettagli

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

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

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

Dettagli

SW Legge 28/98 Sommario

SW Legge 28/98 Sommario SW Legge 28/98 Questo documento rappresenta una breve guida per la redazione di un progetto attraverso il software fornito dalla Regione Emilia Romagna. Sommario 1. Richiedenti...2 1.1. Inserimento di

Dettagli

Come creare il test di Yasso tramite l applicazione Training Center

Come creare il test di Yasso tramite l applicazione Training Center Come creare il test di Yasso tramite l applicazione Training Center A differenza degli altri test pubblicati da Garmin, il test di Yasso necessita di un approfondimento. Il test di Yasso è un test molto

Dettagli

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO Login All apertura il programma controlla che sia stata effettuata la registrazione e in caso negativo viene visualizzato un messaggio.

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

Progetto Campo Base. Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Progetto Campo Base. Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

Dettagli

Gestione Risorse Umane Web Work-flow Selezione

Gestione Risorse Umane Web Work-flow Selezione Gestione Risorse Umane Web Work-flow Selezione Premessa... 2 Richieste di personale create con le precedenti versioni... 3 Configurazioni necessarie... 3 Particolarità... 3 Status delle richieste... 5

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI

ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI ISTRUZIONI SULLE OPERAZIONI DI CAMBIO ANNO CONTABILE 2005/2006 LIQUIDAZIONE IVA - STAMPA REGISTRI - CHIUSURA/APERTURA CONTI PREMESSA La procedura contabile consente la gestione di più anni in linea. Questo

Dettagli

Ministero dell Interno

Ministero dell Interno ALLEGATO ALLA CIRCOLARE - FL 7/2012 LINEE GUIDA PER L ISCRIZIONE DEI REVISORI DEI CONTI DEGLI ENTI LOCALI nell elenco, di cui al Decreto del Ministro dell Interno 15 febbraio 2012, n. 23, recante il Regolamento

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

Procedura SMS. Manuale Utente

Procedura SMS. Manuale Utente Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Basi di dati 9 febbraio 2010 Compito A

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

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

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

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

Software Gestionale per alberghi e strutture ricettive

Software Gestionale per alberghi e strutture ricettive TOURING HOME V.4.0.0 Software Gestionale per alberghi e strutture ricettive Guida all aggiornamento Abbiamo il piacere di presentarvi la nuova versione 4.0.0 di TouringHome Completamente rivisto graficamente,

Dettagli

Mon Ami 3000 Conto Deposito Gestione e tracciabilità degli articoli consegnati o ricevuti in C/Deposito

Mon Ami 3000 Conto Deposito Gestione e tracciabilità degli articoli consegnati o ricevuti in C/Deposito Mon Ami 3000 Conto Deposito Gestione e tracciabilità degli articoli consegnati o ricevuti in C/Deposito Prerequisiti L opzione Conto deposito è disponibile per le versioni Azienda Light e Azienda Pro.

Dettagli

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti

Dettagli

MANUALE ESSE3 Gestione Registro delle lezioni

MANUALE ESSE3 Gestione Registro delle lezioni MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni

Dettagli

Assegnazione dei centri di costo ai numeri di riferimento delle fatture e ai numeri di licenza di affrancatura Guida al servizio online «Gestore di

Assegnazione dei centri di costo ai numeri di riferimento delle fatture e ai numeri di licenza di affrancatura Guida al servizio online «Gestore di Assegnazione dei centri di costo ai numeri di riferimento delle fatture e ai numeri di licenza di affrancatura Guida al servizio online «Gestore di costi» Edizione giugno 2015 1 Sommario 1 Introduzione

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