Università di Pisa. Laurea Specialistica in Ingegneria dell Automazione Progetto di Controllo dei Processi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università di Pisa. Laurea Specialistica in Ingegneria dell Automazione Progetto di Controllo dei Processi"

Transcript

1 Università di Pisa Laurea Specialistica in Ingegneria dell Automazione Progetto di Controllo dei Processi Da una descrizione UML ad un Modello di Simulazione completo, realizzato in ambiente Matlab-Simulink Studenti: Roberto Nicolino, Nicola Di Lecce

2 ABSTRACT Partendo da una analisi approfondita sulle potenzialità che oggi offre Unified Modeling Language si mostra come questo linguaggio si ponga da tramite tra cliente e committente, per evitare inutili incomprensioni e per permettere la realizzazione di un modello completo e dettagliato di un sistema. Grazie ad UML è possibile realizzare simulazioni in ambiente Matlab percorrendo un processo di integrazione completo tra le due piattaforme di sviluppo 2

3 Indice 1. L UNIFIED MODELING LANGUAGE 1.1 UML: che cosa è p Perché utilizzare UML p La genesi p UML: come metamodello p Sintassi astratta p Gli strumenti di lavoro UML p Componenti UML p Il Class Diagram: approfondimenti p Use Case Diagrams: specifiche p State Diagrams p Sequence Diagrams p Deployment Diagrams p LE S-FUNTIONS 2.1 Introduzione alle S-Functions p Guida alla scrittura delle S-Functions p Panoramica sulle Routines p LO STATEFLOW MATLAB 3.1 Introduzione p Stato p Transizione p Giunzione p Eventi p Dati p DA UML A MATLAB: UN ESEMPIO 4.1 Introduzione p Scelta di componenti e attrezzature per l impianto p Il Class Diagram p

4 4.4 State Diagram p Collaboration Diagram p Sequence Diagram p Stateflow: Statechart p Riepilogo delle Regole di traduzione p Sviluppi Futuri p

5 1. L UNIFIED MODELING LANGUAGE 1.1 UML: che cosa è Lo Unified Modeling Language è un linguaggio per specificare, costruire, visualizzare e documentare manufatti sia di sistemi software, che di altri sistemi non strettamente software. UML rappresenta una collezione di best practices di ingegneria, dimostratesi vincenti nella modellazione di vasti e complessi sistemi. Lo UML permette di visualizzare, per mezzo di un formalismo rigoroso, manufatti dell ingegneria, consentendo di illustrare idee, decisioni prese, e soluzioni adottate. Tale linguaggio favorisce, inoltre, la divulgazione delle informazioni, in quanto standard internazionale non legato alle singole imprese. In teoria, un qualunque tecnico, di qualsivoglia nazionalità, dipendente della più ignota delle software house, con un minimo di conoscenza dell UML dovrebbe essere in grado di leggere il modello del progetto e di comprenderne ogni particolare senza troppa fatica e, soprattutto, senza le ambiguità tipiche del linguaggio naturale. Come al solito qualche problema può sempre emergere, ma si tratterebbe comunque di problemi di poca entità. Un conto è non comprendere qualche particolare, un altro è non comprendere assolutamente cosa voleva realizzare l autore. I vantaggi che derivano dal poter disporre di un modello del sistema sono notevoli e fin troppo evidenti. Basti pensare alla non indifferente semplificazione del processo di manutenzione che, da solo, tipicamente incide più del 50% nel ciclo di vita dei sistemi ben progettati; alla possibilità di allocare risorse aggiuntive in corso d opera, riducendo il rischio che ciò diventi controproducente. Disporre di un linguaggio per descrivere un sistema costringe il progettista stesso ad analizzare, con maggior minuzia, aspetti del sistema anche di un certo rilievo, i quali, viceversa, potrebbero incautamente venir trascurati da un analisi non molto rigorosa. Per ciò che concerne l utilizzo dello UML nello specificare, bisogna tener presente che in questo contesto l espressione si riferisce alla possibilità di realizzare modelli completi, precisi e non ambigui. Lo UML dispone di tutti i meccanismi necessari per la specifica di qualsiasi particolare ritenuto rilevante in ogni fase del ciclo di vita del progetto e quindi, in ultima analisi, per produrre modelli accurati. Lo UML, permette di realizzare modelli che si prestano ad essere implementati con diversi linguaggi di programmazione, sebbene risulti particolarmente efficace per la progettazione di 5

6 sistemi Object Oriented. In effetti è possibile realizzare un mapping esplicito tra un modello UML e un linguaggio di programmazione. Chiaramente, tale legame risulta più immediato per i linguaggi fortemente basati sul paradigma Object Oriented, quali C++, Java, Small-Talk, Ada, e così via. Gli stadi evolutivi attraverso cui si sono sviluppate le metodologie per la realizzazione del software orientato agli oggetti si basano su: Utilizzo dei primi linguaggi di programmazione orientati agli oggetti; Sviluppo di tecniche di analisi e progettazione orientate agli oggetti per aiutare la modellazione dei sistemi commerciali, l analisi dei requisiti e la progettazione di sistemi software. Il numero di queste tecniche cresce rapidamente; Nascita dell UML, progettato per combinare tra loro i vantaggi delle numerose notazioni e tecniche di analisi e progettazione, così da ottenere uno standard a livello industriale. Sul mercato sono presenti diversistrumenti, in grado di generare codice a partire dal relativo modello, sia interattivamente durante la fase di disegno, sia su richiesta. L esistenza di queste funzionalità, sebbene ancora non del tutto mature, dovrebbe far capire che l implementazione è veramente un particolare del disegno, specie con linguaggi come Java. La generazione automatica di una prima implementazione del sistema risulta particolarmente utile quando il modello deve essere realizzato parallelamente (cioè sempre!), poiché fornisce, ai diversi sviluppatori, lo scheletro eventualmente con qualche metodo implementato delle classi fondamentali del sistema che dovrebbero presentare un interfaccia stabile e ben definita. Sebbene alcuni strumenti tentino, in alcuni casi particolari, di realizzare determinati metodi con il codice appropriato, è probabilmente ancora un po prematuro azzardarsi a utilizzare appieno tale funzionalità, a meno che non si tratti di meri metodi get / set di proprietà. Il mapping tra modello e linguaggio di programmazione permette anche la realizzazione di funzioni di reverse engineering: fornendo a un opportuno tool i codici sorgenti o, talune volte anche quelli compilati, questo è in grado di ricostruire a ritroso il modello fino, ovviamente, alla fase di disegno. Purtroppo non si è ancora riusciti a realizzare un tool in grado di ricostruire i requisiti del cliente. Il processo diretto (engineering) e quello inverso (reverse engineering) determinano quello che in gergo viene definito round-trip engineering. Nel mondo ideale, la funzione di reverse 6

7 non dovrebbe mai venir utilizzata, in quello reale è invece molto apprezzata, e tutto dipende dall uso che se ne fa. In fase di disegno, probabilmente non è opportuno descrivere tutto dettagliatamente; verosimilmente è opportuno lasciare qualche margine ai programmatori (tutto in funzione delle loro capacità). Sono ritenute assolutamente naturali e accettabili modifiche del modello in fase di codifica, fintantoché queste non stravolgano il modello stesso. Durante la fase di codifica può anche accadere di accorgersi che una data libreria non funziona come dovrebbe, o che c è qualche lacuna nel modello, o che risulta opportuno cambiare qualche strategia al fine di ottenere un codice più efficiente. Tutto ciò è normalissimo. Tuttavia, nell eventualità che le modifiche generino uno stravolgimento del modello, piuttosto che procedere nell implementazione sarebbe forse necessario introdurre un opportuna iterazione della fase di disegno e successiva codifica. Un progetto, per quanto ben congegnato, potrebbe perdere gran parte del suo fascino se poco documentato, o addirittura potrebbe finire per non essere compreso e in futuro non venire correttamente aggiornato. Per terminare, lo UML fornisce sia dei meccanismi molto formali, sia del testo libero da aggiungere, ogni qual volta lo si ritenga necessario, a parti ritenute poco chiare o particolarmente complesse, al fine di aumentarne il livello di particolare. 1.2 Perché utilizzare UML Ogni qualvolta, in una disciplina dell ingegneria, vi sia la necessità di realizzare un manufatto, indipendentemente dalla dimensione e dal settore di interesse (una casa, un grattacielo, un particolare meccanismo, un ponte, un dipartimento di un azienda, e così via) si procede cercando di realizzarne un modello. L obiettivo è produrre, in tempi relativamente brevi e soprattutto a costi contenuti, una versione razionalizzata e semplificata del sistema reale che, tuttavia, consenta di evidenziarne l aspetto finale e di studiarne prestazioni, affidabilità e comportamento. I modelli, importantissimi in tutti i processi di sviluppo, trovano la loro più completa legittimazione nell ambito di sistemi di dimensioni medie e grandi. In tali circostanze la complessità di questi sistemi nella loro interezza ne rende molto difficoltosa la comprensione. È quindi maggiormente avvertita la necessità di avvalersi di modelli in grado di descrivere, in maniera semplificata, sistemi comunque complessi. 7

8 Si vedrà come lo UML, grazie alla sua organizzazione in viste (Views), risponda alla logica necessità della mente umana di concentrarsi, in ogni istante, su un numero limitato di aspetti del sistema ritenuti importanti per la particolare fase del processo di sviluppo, rimandando a momenti successivi l analisi degli aspetti rilevanti per le altre viste. Figura 1.1: La vignetta dell altalena Oltre ai motivi già citati, i modelli sono basilari poiché, avvalendosi anche del feedback fornito dai committenti, permettono di definire i requisiti del sistema in maniera chiara e, con la cooperazione del proprio gruppo, di razionalizzarne il processo di sviluppo. I vantaggi che se ne ricavano sono diversi: adeguate analisi dei tempi, migliori stime dei costi, piani più precisi di allocazione delle risorse, distribuzioni più affidabili del carico di lavoro. Si riesce quindi a risparmiare tempo e denaro, a ridurre i fattori di rischio presenti in ogni progetto, a studiare la risposta del sistema a particolari sollecitazioni, e via di seguito. Nonostante però il grande valore apportato all ingegneria del software dall utilizzo della modellazione, troppo spesso in molte organizzazioni questa meravigliosa tecnica rimane ancora una chimera. 8

9 A nessuno appartenente al settore dell ingegneria edile verrebbe in mente di costruire interamente un grattacielo, per poi studiarne la risposta a sollecitazioni di carattere sismico. Il buon senso, risorsa purtroppo sempre rara, suggerisce di procedere con la realizzazione di una versione miniaturizzata sulla quale condurre tutti gli studi del caso. Non necessariamente un processo di modellazione genera un oggetto tangibile: talvolta si tenta di rappresentare un complesso reale per mezzo di eleganti sistemi di disequazioni e quindi l intero modello si risolve in una raffinata astrazione. Tutto ciò che è fin troppo scontato in molte discipline dell ingegneria non lo è nel settore dell Informatica o dell Automazione, ad essa strettamente connessa. In molte organizzazioni la produzione del software è ancora un attività, per così dire, artigianale in cui il relativo processo di sviluppo prevede tre fasi: analisi dei requisiti, implementazione e test.. Si provi a immaginare che cosa potrebbe accadere se si avviasse la progettazione di un ponte a partire da specifiche sommarie, magari comunicate verbalmente o, peggio ancora, se si partisse subito a costruirlo materialmente, magari affidandosi all esperienza di qualche costruttore (vedi figura 1.1). Inconcepibile! Tutto ciò, benché possa sembrare fuori dal mondo, molto spesso è prassi comune nel mondo dell ingegneria informatica. Malgrado siano stati versati fiumi d inchiostro sull argomento, e svariati gruppi di ricerca lavorino a tempo pieno per la definizione di nuovi standard di analisi, in molte organizzazioni, soprattutto italiane, anche di comprovato prestigio, tale attività è ancora considerata prettamente accademica, vezzo di giovani neolaureati perché, in ultima analisi, è di scarsa utilità nel mondo reale, dove l obiettivo è produrre codice e l esperienza è in grado di sopperire a tutto. L inevitabile risultato è che spesso si procede cominciando paradossalmente da una delle ultime fasi del processo di ingegnerizzazione, ossia dalla stesura del codice (paragonabile alla costruzione del ponte di cui si parlava nell esempio). Si inizia concentrandosi prematuramente sul modo in cui redigere il codice ed, eventualmente, alla fine si scrivono due righe di analisi, magari demandando il tedioso incarico all ultimo arrivato nel team. In molte occasioni può accadere che, a progetto ultimato e pronto per la consegna, ci si accorga dell errata architettura. Non è da escludere, nel peggiore dei casi, che, per via di uno sviluppo interamente incentrato sulla fase di codifica, e quindi privo della visione globale che solo un buon processo di modellazione può apportare, sia praticamente impossibile integrare i moduli prodotti in parallelo o che sia necessario costruire estemporanei moduli di interfaccia o, ancora, che il sistema preveda percorsi così tortuosi da renderlo praticamente inutilizzabile. 9

10 Per terminare, sintetizzando al massimo il concetto si può dire che si modella essenzialmente per due motivi: aumentare la propria comprensione sia di un problema sia di eventuali soluzioni ipotizzate; comunicare. 1.3 La genesi Originariamente il lavoro fu iniziato da Grady Booch e James Rumbaugh, con l intento di produrre un nuovo metodo, detto metodo unificato che raccogliesse il meglio dei metodi Booch e OMT-2, del quale Rumbaugh era stato uno dei principali promotori. Nel 1995 si unì a loro Ivar Jacobson, fautore del metodo denominato OOSE (Object Oriented Software Engineering): il terzetto si era così costituito. L azienda che promuove il progetto è la Rational Software Corporation che, dal canto suo, provvede anche ad assorbire la Objective Systems, azienda svedese che aveva sviluppato e distribuito il software Objectory. A questo punto il quadro era completo e lo standard in lavorazione fu ribattezzato Unified Modeling Language. La prima versione, la celebre 1.0, fu disponibile nel gennaio L UML è uno strumento di analisi molto versatile, nato per risolvere le problematiche connesse con la progettazione Object Oriented del software, ma che ben si adatta a essere utilizzato negli ambienti più disparati. Esso è stato, per esempio, utilizzato alla Cadence per la produzione di un dispositivo di compressione vocale operante a livello di porta fisica. Ancora, una delle aziende fornitrici della US Navy ha utilizzato lo UML come linguaggio di progettazione di un sistema d arma di nuova generazione. Un azienda sanitaria si è avvalsa dello UML nella realizzazione di un modello per il trattamento dei pazienti, e così via. Visto l enorme successo riscosso nell applicazione industriale e nel mondo accademico e considerato il relativo riconoscimento a livello di standard (UML 1.0 è stato proposto all Object Managment Group nel gennaio 1997), gli stessi ideatori dichiararono ormai conclusa la loro esperienza in questo ambito tanto da dedicarsi a nuove sfide. Allo stato attuale lo sviluppo dell UML è affidato a una task force appartenente all OMG, la famosa RTF (Revision Task Force), diretta da Chris Kobyrn. Obiettivo di tale gruppo è accogliere e analizzare suggerimenti provenienti dalle industrie, correggere inevitabili imperfezioni (bugs) e colmare eventuali lacune. 10

11 Attualmente dovrebbe essere già disponibile le versione 2.0. L evoluzione dello UML è mostrata in fig. 1.2, attraverso il diagramma dei componenti, uno degli strumenti messi a disposizione dal linguaggio. 11

12 1.4 UML: come metamodello Lo UML è un linguaggio che permette di costruire un modello di un sistema da analizzare o da progettare, ovvero permette di realizzare una rappresentazione astratta di un sistema basata su alcuni concetti fondamentali, come classi e associazioni. I concetti base dello UML vengono usati anche per descrivere la semantica del linguaggio stesso. Si ha quindi un modello per un linguaggio di modellazione, cioè un metamodello. Ad esempio si possono consultare i diagrammi delle figure che descrivono la struttura principale del linguaggio UML, cioè la parte principale del suo metamodello. Quindi nasce il problema di rendere standard la definizione di altri linguaggi di modellazione, ognuno dei quali avrà il suo metamodello. Tra i metodologi si è ritenuto opportuno definire un linguaggio comune denominato MOF (Meta Object Facility) [MOFS] per descrivere diversi metamodelli attraverso dei meta-metamodelli (ad esempio XMI, che è il formato standard di scambio di modelli tra applicazioni di diverse piattaforme, è definito attraverso MOF). Lo UML possiede una definizione rigorosa di metamodello, istanza del meta-metamodello definito anch esso attraverso il MOF. Si tratta di concetti molto eleganti e affascinanti, ad elevato livello di astrazione. Il metamodello dello UML è descritto per mezzo dello UML stesso. Si tratta indubbiamente di una scelta molto elegante, ma ha per inconveniente che ad una prima lettura della specifica si può avere una certa confusione. Un metamodello è un modello a sua volta istanza di un meta-metamodello, fruibile per esprimere una istanza di modello: l UML (metamodello) permette di realizzare diversi modelli Object-Oriented (modelli definiti dall utente). Il metamodello dello UML definisce la struttura dei modelli UML. Un metamodello non fornisce alcuna regola su come esprimere concetti del mondo Object-Oriented, quali ad esempio classi, interfacce, relazioni e così via, ma esso rende possibile avere diverse notazioni che si conformano al metamodello stesso. Così come avviene nella relazione che lega le classi agli oggetti, una volta definita una classe si possono avere svariate istanze della stessa (oggetti), analogamente è possibile progettare un numero infinito di varianti dello UML (istanze del metamodello). Nelle sue prime apparizioni ufficiali lo UML era composto semplicemente da una notazione grafica, fruibile per rappresentare modelli di sistemi Object-Oriented. Quando poi è giunto il momento della presentazione allo OMG, per il conferimento del riconoscimento ufficiale di standard (Gennaio 1997), si è reso necessario conferirgli una veste più formale. 12

13 Così, a partire dalla versione 1.1, lo UML definisce rigorosamente un metamodello e la notazione atta alla formulazione di modelli Object-Oriented conformi ad esso. Riassumendo, un meta-metamodello è un modello che definisce un linguaggio per esprimere un metamodello. La relazione tra il meta-metamodello ed il metamodello è paragonabile a quella esistente tra il metamodello ed un modello. Figura 1.3: Meta-metamodello, metamodello e modello UML Lo UML è definito in termini del meta-metamodello denominato MOF: Meta Object Facility [MOFS]. Nella figura 1.3 viene illustrato graficamente quanto emerso fino a questo punto: relazioni esistenti tra il meta-metamodello, il metamodello ed il modello dell utente. Scorrendo il diagramma dall alto verso il basso si assiste ad una graduale diminuzione del livello di astrazione; se si fosse deciso di visualizzare un ulteriore livello si sarebbero trovate entità, istanze delle classi del modello dell utente, cioè oggetti. Se, per esempio, si realizzasse un prototipo di un sistema di commercio elettronico, a livello del modello realizzato dall architetto, si troverebbero classi (opportunamente relazionate tra loro) del tipo: Categoria, SottoCategoria, Prodotto, Utente, Profilo, e così via. Se poi si volesse 13

14 visualizzare il livello inferiore, l istanza dello user model, bisognerebbe inserire oggetti, istanze di tali classi, come per esempio il prodotto di codice X, avente prezzo Y, della categoria Z. Per avere un idea più chiara si consulti il diagramma riportato nella figura 1.4. Figura 1.4: Esempio delle relazioni ai vari gradi di astrazione tra i modelli UML Come si può notare, nel modello di analisi compare una classe denominata Ordine appartenente al dominio del problema. La classe è un istanza della metaclasse Class, presente nel package UML metamodello, e contiene attributi ed operazioni che, a loro volta, sono istanze rispettivamente delle metaclassi Attribute ed Operation. Se anche in questo caso si fosse deciso di visualizzare un ulteriore livello si sarebbero trovate le istanze delle classe Ordine, ossia oggetti del tipo ordine. 14

15 Appare che il livello di meta-metamodello ha la stessa struttura del livello di metamodello: questo fatto è causato dalla stretta relazione che c è fra MOF e UML. Infatti, a quanto si legge nella specifica ufficiale di OMG ( Meta Object Facility (MOF) Specification [MOFS]), si potrebbe avere in futuro una fusione tra i meta-metamodelli di MOF e il metamodello di UML: nel frattempo rimangono due entità distinte. In sintesi, lo UML è basato su un metamodello integrato, composto da numerosi elementi collegati fra loro secondo regole precise. Utilizzando gli elementi del metamodello è possibile creare i modelli per i sistemi da rappresentare e la maggior parte degli elementi stessi hanno un icona definita dalla notazione dello UML che li rappresenta graficamente. Gli elementi del metamodello possono comparire in diagrammi di diverso tipo e le regole sintattiche permettono di verificare la correttezza. 1.5 Sintassi astratta La sintassi astratta viene definita utilizzando la notazione dei meta-modelli. Si tratta di un sottoinsieme della notazione UML che utilizza il diagramma delle classi per definire gli elementi dei modelli UML e le relazioni che intercorrono tra loro. La figura 1.5, di seguito riportata, mostra un frammento del diagramma che definisce la sintassi astratta di UML. UML specification permette la definizione di un metodo, dei sui attributi e delle sue associazioni anche in linguaggio naturale. Questo diagramma mostra che Operazione e Metodo sono meta-classi, entrambe sottoclassi della meta-classe astratta ProprietàComportamentale, e che Operazione è una specifica di Metodo. Mentre un Operazione possiede un attributo specifica, un Metodo ha solo come attributo un corpo: la specifica nella meta-classe Operazione è una stringa che definisce il prototipo (signature) dell operazione (il suo valore di ritorno, nome e parametri). 15

16 ProprietàComportamentale Query: boolean Operazione Concorrenza: CallConcurrencyKind Radice: boolean Foglia: boolean Astratto: boolean Specifica: String 1 * +specifica Metodo Corpo: ProcedureExpression Figura 1.5: Frammento della sintassi astratta di UML Il corpo nella meta-classe Metodo è una procedura, probabilmente scritta in un linguaggio di programmazione, che definisce come il metodo implementa l operazione. Una determinata istanza di un operazione in una classe è un istanza della meta-classe Operazione. Metodo Un metodo è l implementazione di un operazione, esso descrive l algoritmo o la procedura che genera i risultati di un operazione. Nel meta-modello, un Metodo è una dichiarazione di un comportamento ben specifico in un Classificatore e realizza una (quindi direttamente) o un insieme (allora indirettamente) di Operazioni del Classificatore. Attributi Corpo L implementazione del Metodo come ProcedureExpression. Associazioni Specifica Indica un Operazione implementata dal Metodo. L Operazione deve essere contenuta nel Classificatore che possiede il Metodo o essere ereditata da esso. Le signature dell Operazione e del Metodo devono corrispondere. Esiste un analoga specifica per Operazione e per ogni altra meta-classe del meta-modello. 16

17 Regole sintattiche Le regole sintattiche che generano espressioni ben formate si applicano a istanze delle meta-classi, ossia ad operazioni, metodi, classi e tutto ciò che si trova a livello del modello. Esse forniscono le regole cui devono obbedire le istanze delle meta-classi, come un insieme di invarianti. Gli invarianti sono vincoli che non possono essere spezzati: devono sempre risultare veri perché il modello abbia significato. Sono descritti in Object Constraint Language (OCL). Ad esempio, la specifica della meta-classe Class afferma che se la classe è concreta (non astratta), allora ogni operazione dovrebbe avere un metodo che la realizza. Il vincolo seguente è scritto in OCL. Not self.astratto implies self.ognioperazione -> perogni (op self.ognimetodo -> esiste (m m.specifica -> include (op))) Questi vincoli sul meta-modello possono essere utilizzati per verificare che il modello si attenga alle regole di UML e sia ben formato. Si noti che OCL viene utilizzato all interno di UML per esprimere vincoli interni al modello. Per esempio, se una delle regola di un sistema per condividere i viaggi, prevede che ogni viaggio legato da un contratto di condivisione deve essere svolto da un diverso Car Sharer (persona che condivide la propria macchina), questo potrebbe essere espresso in OCL nel seguente modo: context ContrattoCondivisione inv: self.condiviso->forall (i, j (i.viaggia = j.viaggia) implies i = j) In italiano, questo significa che nel contesto della classe ContrattoCondivisione c'è una regola invariante definita come segue: se si prende ogni possibile coppia di collegamenti tra un'istanza di ContrattoCondivisione e istanze di Viaggio basate sull associazione Condiviso, e per ogni membro della coppia si segue il collegamento basato sull'associazione viaggia fino a un'istanza della classe Car Sharer e se tali collegamenti sono gli stessi, anche i due viaggi sono uguali. E dato che i due viaggi sono in realtà lo stesso viaggio, ne deriva che due diversi viaggi appartenenti allo stesso Car Sharer non possono essere condivisi all'interno dello stesso accordo di condivisione. 17

18 Semantica La semantica di UML è descritta in linguaggio naturale. Per esempio, quella che segue è la descrizione della meta-classe Operazione (vedi figura 1.5). Un Operazione è un costrutto concettuale, mentre il Metodo è il costrutto per l implementazione. Le loro caratteristiche comuni, come possedere una segnature, sono espresse rispettivamente nella meta-classe ProprietàComportamentale e nella semantica specifica dell Operazione. I costrutti del Metodo sono definiti nella corrispondente sottoclasse di ProprietàComportamentale. Tuttavia la maggior parte delle informazioni relative alle operazioni si trova nella definizione di Classe. La comprensione completa della semantica richiederebbe la lettura approfondita di tutta questa parte. 1.6 Gli strumenti di lavoro UML Come ogni linguaggio che si rispetti anche l'uml necessita di tools appropriati che ne agevolino l'utilizzo. Servirsi di carta e penna è sicuramente sempre valido ma non può certamente garantire da solo un risultato apprezzabile. Ci sono sul mercato tanti tools che trattano l'uml. Probabilmente, però, il più diffuso è lo strumento della Rational, Il Rose. Il Rational Rose è stato disegnato per fornire ai team di sviluppo tutti gli strumenti necessari per il modellamento di soluzioni robuste ed efficienti. La Microsoft ha prodotto uno strumento che permette di definire un sottoinsieme dei modelli che il Rational Rose mette a disposizione: il Microsoft Visual Modeler. Tale software si può consigliare a chi si avvicina per la prima volta al mondo del Visual Modeling. Il Microsoft Visual Modeler permette, tra l'altro, di: Identificare e disegnare oggetti del business e mapparli in componenti software; Descrivere come i componenti possono essere distribuiti su una rete; Generare codice base Visual Basic direttamente dalla costruzione del modello; Utilizzare il reverse engineering per creare i modelli da applicazioni già esistenti. 18

19 Altro strumento da segnalare è UMLet, un software open source basato su Java che permette la scrittura di diagrammi UML. Tra le opzioni, la possibilità di esportare i diagrammi in SVG, JPG e PDF. 1.7 Componenti UML Il linguaggio UML contiene svariati elementi grafici che vengono messi insieme durante la creazione dei diagrammi. Dato che l'uml è un linguaggio, come tale utilizza delle regole per combinare i componenti nella creazione dei diagrammi. L'obiettivo dei diagrammi è quello di costruire molteplici viste di un sistema tutte correlate tra di loro. L'insieme di tali viste costituirà quello che abbiamo definito Visual Modeling. Si passano ora in rassegna, brevemente, tutti i diagrammi UML prima di analizzarli più dettagliatamente in seguito. La notazione UML include dieci tipi di diagrammi, divisi in cinque categorie. Si tenga presente che è assolutamente possibile costruire e aggiungere dei diagrammi differenti dagli standard (che vengono definiti ibridi) rispetto a quelli definiti dal linguaggio. La tabella 1.1 mostra le categorie e i diagrammi corrispondenti. Tabella 1.1: Classificazione dei diagrammi UML 19

20 Class Diagram Per avere una idea immediata di cosa sia una classe è possibile usare come esempio il fatto che tutti gli oggetti o esseri viventi, spesso, sono riconducibili a determinate categorie (computers, automobili, piante, animali). Queste categorie costituiscono le classi. Una classe è una categoria o un gruppo di oggetti (con questo termine si includono, per comodità anche gli esseri viventi) che hanno attributi simili e comportamenti analoghi. I Class Diagrams forniscono le rappresentazioni utilizzate dagli sviluppatori. Object Diagram Un oggetto è una istanza di una classe, ovvero una qualcosa di specifico che ha dei valori determinati per i suoi attributi e dei comportamenti specifici. Use Case Diagram Uno Use Case (caso d'uso) è una descrizione di un comportamento particolare di un sistema dal punto di vista dell'utente. Per gli sviluppatori, gli use case diagram rappresentano uno strumento notevole: infatti tramite tali diagrammi, essi possono agevolmente ottenere una idea chiara dei requisiti del sistema dal punto di vista utente e quindi scrivere il codice senza timore di non aver recepito bene lo scopo finale. Nella rappresentazione grafica, viene utilizzato un simbolo particolare per l'actor (l'utente o un altro sistema che interagisce) che si vedrà in seguito. L'actor è l'entità che interagisce con uno use case facendo partire la sequenza di azioni descritte dallo use case stesso e, eventualmente, ricevendo delle precise risposte dal sistema. Può essere una persona o anche un altro sistema. State Diagram Ad un determinato istante, durante il funzionamento del sistema, un oggetto si trova in un particolare stato. Gli State Diagrams rappresentano tali stati, ed i loro cambiamenti nel tempo. Ogni state diagram inizia con un simbolo che identifica lo stato iniziale (Start State) e termina con un altro simbolo che rappresenta lo stato finale (End State). Per esempio, ogni persona può essere identificato dai seguenti stati: neonato, bambino, adolescente, adulto, anziano. 20

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

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

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

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

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

Object Oriented Software Design

Object Oriented Software Design Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

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

Dettagli

La specifica del problema

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

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

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

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

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

Rappresentazione grafica di entità e attributi

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

Dettagli

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

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Il presente materiale didattico costituisce parte integrante del percorso formativo

Dettagli

Identificare le classi in un sistema

Identificare le classi in un sistema 3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

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

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

Il modello veneto di Bilancio Sociale Avis

Il modello veneto di Bilancio Sociale Avis Il modello veneto di Bilancio Sociale Avis Le organizzazioni di volontariato ritengono essenziale la legalità e la trasparenza in tutta la loro attività e particolarmente nella raccolta e nell uso corretto

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

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

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

Dettagli

UML Diagrammi delle classi. UML Diagramma classi 1

UML Diagrammi delle classi. UML Diagramma classi 1 UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio

Dettagli

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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

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

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso Parte 5 Adv WORD (livello avanzato): Struttura di un Documento Complesso 1 di 30 Struttura di un Documento Complesso La realizzazione di un libro, di un documento tecnico o scientifico complesso, presenta

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

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

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

Via Don Angelo Scapin, 36 I-35020 Roncaglia di Ponte San Nicolò (PD) ITALIA Phone/Fax: +39 049 719065 - info@spinips.com www.spinips.

Via Don Angelo Scapin, 36 I-35020 Roncaglia di Ponte San Nicolò (PD) ITALIA Phone/Fax: +39 049 719065 - info@spinips.com www.spinips. Via Don Angelo Scapin, 36 I-35020 Roncaglia di Ponte San Nicolò (PD) ITALIA Phone/Fax: +39 049 719065 - info@spinips.com www.spinips.com STUDI E VERIFICHE DI FATTIBILITÀ... 2 PROGETTAZIONE MECCANICA...

Dettagli

STRUMENTI DI PRESENTAZIONE MODULO 6

STRUMENTI DI PRESENTAZIONE MODULO 6 STRUMENTI DI PRESENTAZIONE MODULO 6 2012 A COSA SERVE POWER POINT? IL PROGRAMMA NASCE PER LA CREAZIONE DI PRESENTAZIONI BASATE SU DIAPOSITIVE (O LUCIDI) O MEGLIO PER PRESENTARE INFORMAZIONI IN MODO EFFICACE

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

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

Introduzione a Word. Prima di iniziare. Competenze che saranno acquisite. Requisiti. Tempo stimato per il completamento:

Introduzione a Word. Prima di iniziare. Competenze che saranno acquisite. Requisiti. Tempo stimato per il completamento: Introduzione a Word Word è una potente applicazione di elaborazione testi e layout, ma per utilizzarla nel modo più efficace è necessario comprenderne gli elementi di base. Questa esercitazione illustra

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

SOLUZIONE Web.Orders online

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

Dettagli

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

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

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e

Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e grafici, tutto nello stesso file di documento. Durante il lavoro testo e illustrazioni appaiono sullo schermo

Dettagli

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Lezione 4-1 - UML Il diagramma delle classi Parte Seconda - 2 - Relazioni tra Classi&Oggetti I diagrammi delle classi mettono in evidenza i blocchi costitutivi del sistema

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

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

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

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

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

Dettagli

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

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA

MANUALEDIUTILIZZO MODULO CRM POSTVENDITA MANUALEDIUTILIZZO MODULO CRM POSTVENDITA INDICE INTRODUZIONE INSERIMENTO CHIAMATA CHIAMATE Dettaglio Chiamate Macchine Coinvolte Documenti Riepilogo MACCHINE Dettaglio Macchine Documenti Interventi MACCHINE

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

PowerPoint 2007 Le funzioni

PowerPoint 2007 Le funzioni PowerPoint 2007 Le funzioni Introduzione Cos è un ipertesto L' ipertesto è un testo organizzato in link, o collegamenti ad altre parti del testo e/o altri testi, in modo da consentire all utente di scegliere

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

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

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

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti

MS Word per la TESI. Barra degli strumenti. Rientri. Formattare un paragrafo. Cos è? Barra degli strumenti MS Word per la TESI Barra degli strumenti Cos è? Barra degli strumenti Formattazione di un paragrafo Formattazione dei caratteri Gli stili Tabelle, figure, formule Intestazione e piè di pagina Indice e

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

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

Dettagli

Database. Si ringrazia Marco Bertini per le slides

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

Dettagli

Soluzione dell esercizio del 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

Tesina per il corso di Psicotecnologie dell apprendimento per l integrazione delle disabilità

Tesina per il corso di Psicotecnologie dell apprendimento per l integrazione delle disabilità Tesina per il corso di Psicotecnologie dell apprendimento per l integrazione delle disabilità ANALISI DEL TITOLO Per prima cosa cercheremo di analizzare e capire insieme il senso del titolo di questo lavoro:

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

CMS ERMES INFORMATICA

CMS ERMES INFORMATICA 01/07/2014 Guida di riferimento alla pubblicazione di contenuti sul portale Il presente documento costituisce una guida di riferimento all aggiornamento e alla pubblicazione di contenuti sui portali web

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Modulo 1: Motori di ricerca

Modulo 1: Motori di ricerca Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Antivirus Personal firewall Tecnologie delle reti di calcolatori Servizi

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

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

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

Corso di Cmap Tools. M. Malatesta - 4-Salvare-Stampare-Esportare una mappa-04

Corso di Cmap Tools. M. Malatesta - 4-Salvare-Stampare-Esportare una mappa-04 Corso di Cmap Tools 4-Salvare-Esportare-Stampare una mappa 1 Prerequisiti Utilizzo elementare del computer Impostare caratteristiche di stampa Uso di pen-drive Conoscenza di file immagine in formato jpg

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

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

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

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

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

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

Dettagli

UML un linguaggio universale per la modellazione del software. Adriano Comai

UML un linguaggio universale per la modellazione del software. Adriano Comai UML un linguaggio universale per la modellazione del software Adriano Comai 2 Finalmente uno standard per l analisi e disegno OO? L'obiettivo è ambizioso. Lo Unified Modeling Language (UML) vuole essere,

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

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

Guida alla redazione del Fascicolo XBRL

Guida alla redazione del Fascicolo XBRL o Europeo 2015 22.2.3 BILANCIO EUROPEO 2015 Guida alla redazione del Fascicolo XBRL Versione 22.2.3 Data Marzo 2015 Sommario GUIDA ALLA REDAZIONE DEL FASCICOLO XBRL parte 1 Premessa o Europeo e la gestione

Dettagli

4. Fondamenti per la produttività informatica

4. Fondamenti per la produttività informatica Pagina 36 di 47 4. Fondamenti per la produttività informatica In questo modulo saranno compiuti i primi passi con i software applicativi più diffusi (elaboratore testi, elaboratore presentazioni ed elaboratore

Dettagli

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I La VPN con il FRITZ!Box Parte I 1 Introduzione In questa mini-guida illustreremo come realizzare un collegamento tramite VPN(Virtual Private Network) tra due FRITZ!Box, in modo da mettere in comunicazioni

Dettagli

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014

Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 Progetto ICoNLingua Scienza senza Frontiere CsF- Italia Protocollo di tracciamento e valutazione degli studenti dei corsi di italiano ICoNLingua A.A. 2013-2014 1. Introduzione La valutazione sia in itinere

Dettagli

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl MINISTERO DELL ECONOMIA E DELLE FINANZE DIPARTIMENTO DELLA RAGIONERIA GENERALE DELLO STATO Ispettorato Generale di Finanza MANUALE UTENTE P.I.S.A. Progetto Informatico Sindaci Asl Versione 1.0 INDICE

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB

LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI LETTERE E FILOSOFIA CORSO DI LAUREA MAGISTRALE IN STRATEGIE DI COMUNICAZIONE LA PROGETTAZIONE DI UN NUOVO STRUMENTO PER IL WEB LA PROPOSTA DI UN MODELLO MIRATO

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

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

Modulo 4: Ereditarietà, interfacce e clonazione

Modulo 4: Ereditarietà, interfacce e clonazione Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli