• Non ci sono risultati.

A mia moglie Ilaria ed ai miei familiari

N/A
N/A
Protected

Academic year: 2021

Condividi "A mia moglie Ilaria ed ai miei familiari"

Copied!
6
0
0

Testo completo

(1)

A mia moglie Ilaria

ed ai miei familiari

(2)

II

Ringraziamenti

Alfine sono giunto alla tesi di laurea dopo diversi anni di studio e per questo aspirato traguardo ringrazio prima di tutto mia moglie Ilaria che ha avuto la pazienza di aspettare che mi laureassi durante questi due anni di matrimonio; spero di alleviare presto il suo impegno nel lavoro in vista del vicino arrivo di nostro figlio. Poi ringrazio mio padre Gian Piero che ha sostenuto tutte le spese che riguardavano i miei studi e mi ha incoraggiato a proseguire fino in fondo. Ringrazio mia madre Giovanna per tutto l’amore che mi ha dato e rimpiango nel mio inconscio di non poterlo più ricambiare, se non nelle mie più intime preghiere. Ringrazio i miei fratelli maggiori Marco ed Antonio che mi hanno appoggiato moralmente durante gli studi universitari ed hanno contribuito alla mia formazione culturale fin dalla mia nascita.

Un particolare ringraziamento ai miei relatori, prof. Andrea Domenici e prof.ssa Cinzia Bernardeschi, che sono stati estremamente disponibili nell’aiutarmi durante tutto il lavoro svolto per questa tesi di laurea.

Ringrazio Luca Vetti Tagliati per la sua gentilezza e per l’aiuto che mi ha dato ad orientarmi nella specifica dello UML e perché mi ha concesso di inserire nella mia tesi un suo articolo.

Ringrazio infine Adriano Comai che mi ha permesso di usare le sue tavole che illustrano in modo molto semplice ed efficace l’uso dei diagrammi dello UML.

(3)

III

INDICE

Introduzione

Obiettivo ... pag. 1 Perché C++ ... pag. 2 Unified Modeling Language ... pag. 5 I. UML: Unified Modeling Language

1.1 Cenni storici ... pag. 8 1.2 UML: metamodello ... pag. 9 1.3 UML: diagrammi ... pag. 16 1.3.1 Diagrammi dei casi d’uso ... pag. 16 1.3.2 Diagrammi di struttura statica ... pag. 18 Diagrammi dei package ... pag. 19 Diagrammi delle classi ... pag. 21 Diagrammi degli oggetti ... pag. 25 1.3.3 Diagrammi d’interazione ... pag. 26 Diagrammi di sequenza ... pag. 26 Diagrammi di collaborazione ... pag. 27 1.3.4 Diagrammi di stato ... pag. 28 Diagrammi di stato ... pag. 29 Diagrammi di attività ... pag. 30 1.3.5 Diagrammi di implementazione ... pag. 32 Diagrammi dei componenti ... pag. 33 Diagrammi di dislocamento ... pag. 34 1.4 UML: architettura ... pag. 35 1.4.1 Struttura del metamodello ... pag. 35 1.4.2 Data Types ... pag. 37 1.4.3 Core ... pag. 42

(4)

IV II. Progettazione della libreria C++ per il supporto del linguaggio UML

2.1 Uno sguardo a ciò che offre la comunità Open Source ... pag. 49 2.2 Progetto della libreria UML in C++ (CppUML) ... pag. 50 2.2.1 CppUML metamodello ... pag. 52 Dettagli implementativi ... pag. 52 MultiplicityRange e Multiplicity ... pag. 53 La classe Base ... pag. 56 2.2.2 Accesso agli attributi e alle associazioni ... pag. 58 Accesso agli attributi ... pag. 59 Accesso alle associazioni ... pag. 61 Ruolo tipo riferimento ... pag. 63 Ruolo tipo lista ordinata ... pag. 66 Ruolo tipo insieme ... pag. 68 Principi per classificare un ruolo di un’associazione ... pag. 70 2.3 Strutture e funzioni accessorie ... pag. 71 2.3.1 La classe Coda ... pag. 71 2.3.2 La funzione bagdiff() ... pag. 74 2.3.3 Le funzioni per la gestione delle stringhe ... pag. 75 2.4 Estensione della libreria CppUML con il pattern Observer ... pag. 79 2.4.1 Pattern MVC ... pag. 80 2.4.2 Pattern Observer ... pag. 81 Applicabilità ... pag. 84 Struttura ... pag. 85 Partecipanti ... pag. 85 Collaborazioni ... pag. 86 Conseguenze ... pag. 87 Implementazione ... pag. 88 2.4.3 Applicazione del pattern Observer alla libreria CppUML ...pag. 90

(5)

V 2.4.4 Codice sorgente dell’interfaccia fornita dal pattern Observer ...pag. 95

III. Progetto di un tool per la modellazione UML

Intento ... pag. 98 Caratteristiche architetturali ... pag. 99 Caratteristiche funzionali ... pag. 99 3.1 Progetto di un modellatore UML ... pag.101 Scelta delle librerie Qt ... pag.103 3.2 Progetto in dettaglio ... pag.105 3.2.1 Package OCppUML ... pag.112 OClass ... pag.113 OGeneralization e OGeneralizableElement ... pag.125 OGeneralization ... pag.126 OGeneralizableElement ... pag.128 OAssociation e OAssociationEnd ... pag.129 OAssociation ... pag.130 OAssociationEnd ... pag.132 ODependency ... pag.133 3.3 Sviluppi futuri ... pag.140 3.3.1 Analisi e specifica dei requisiti ... pag.140 Tipi di utente ... pag.140 Funzionalità ... pag.140 Requisiti non funzionali ed ambiente di sviluppo ... pag.141 3.3.2 Progetto ad alto livello ... pag.142 Architettura ... pag.142 Struttura logica ... pag.142

(6)

VI IV. Manuale d’uso del prototipo di modellatore UML

4.1 Funzionalità ... pag.144 4.2 Finestra principale ... pag.144 4.2.1 Creazione del diagramma di classi di una biblioteca... pag.146 Conclusioni ... pag.162

Bibliografia ... pag.163 Glossario ... pag.166

Riferimenti

Documenti correlati

E’ stata professore a contratto, titolare dell’insegnamento di Geometria e Algebra Lineare per il corso di laurea in Ingegneria Ambientale e Civile dell’Università di

• Delegate to the “European Strategic Forum for Research Infrastructures (ESFRI) - Roadmap of European Research Infrastructures”, promoted by the Irish Higher

In particolare ringrazio la mia relatrice la Dott.ssa Giulia Freer per avermi seguito in maniera ineccepibile durante tutto il periodo d’internato di tesi, che con pazienza e

la riferibilità di detti movimenti alla produzione di ricavi non contabilizzati, “e dunque a consentire l’applicazione delle predette presunzioni legali di accertamento dei

I genitori o i tutori dei bambini sono sollevati da un lato perché hanno una bocca in meno da sfamare e più risor- se per il resto della famiglia, dall’altro sono felici perché

• 17/7/2013 – 30/06/2016 – Ricercatrice a tempo determinato di cui all’art.24, comma 3, lettera a) per l’SSD L-OR/09 settore concorsuale 10/N1 presso l’Università degli

380/2001 e sue modificazioni ed integrazioni, libero da iscrizioni ipotecarie e da trascrizioni di pignoramenti (essendo a carico dell’aggiudicatario solo gli

Inoltre vorrei ringraziare tutte le persone che hanno condiviso con me quest’anno di laboratorio, partecipando ai momenti più lieti e a quelli più duri (sperando di riuscire a