dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Manuale di Umbrello UML Modeller</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="Umbrello UML Modeller aiuta il processo di sviluppo del software usando il Linguaggio di Modellazione Unificato (UML), uno standard industriale, per permetterti di creare diagrammi per progettare e documentare i tuoi sistemi."><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="next" href="introduction.html" title="Capitolo 1. Introduzione"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Manuale di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Avanti</a></td></tr></table></div><div id="contentBody"><div lang="it" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="Umbrello"></a>Manuale di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h1></div><div><div class="authorgroup"><h3 class="corpauthor">Autori di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h3><span class="othercredit"><span class="contrib">Traduzione della documentazione</span>: <span class="firstname">Federico</span> <span class="surname">Zenith</span><br></span></div></div><div>Revisione <span class="releaseinfo">2.11.0 (<span class="date">2013-06-01</span>)</span></div><div><p class="copyright">Diritto d'autore © 2001 Paul Hensgen</p></div><div><p class="copyright">Diritto d'autore © 2002, 2003 Autori di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></p></div><div><div><div class="abstract"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> aiuta il processo di sviluppo del software usando il Linguaggio di Modellazione Unificato (<acronym class="acronym">UML</acronym>), uno standard industriale, per permetterti di creare diagrammi per progettare e documentare i tuoi sistemi. </p></div></div></div></div><hr></div><div class="toc"><p><b>Indice</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Introduzione</a></span></dt><dt><span class="chapter"><a href="uml-basics.html">2. Fondamenti di <acronym class="acronym">UML</acronym></a></span></dt><dd><dl><dt><span class="sect1"><a href="uml-basics.html#about-uml">Informazioni su <acronym class="acronym">UML</acronym></a></span></dt><dt><span class="sect1"><a href="uml-elements.html">Elementi <acronym class="acronym">UML</acronym></a></span></dt><dd><dl><dt><span class="sect2"><a href="uml-elements.html#use-case-diagram">Diagramma di caso d'uso</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#class-diagram">Diagramma di classe</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#sequence-diagram">Diagrammi di sequenza</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#collaboration-diagram">Diagrammi di collaborazione</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#state-diagram">Diagramma di stato</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#activity-diagram">Diagrammi di attività</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#helper-elements">Elementi ausiliari</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#component-diagram">Diagrammi dei componenti</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#deployment-diagram">Diagrammi di dispiegamento</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#entity-relationship-diagram">Diagrammi di relazioni tra entità</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#extended-entity-relationship-concepts">Concetti dei diagrammi di relazioni delle entità estesi (REE)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="working-with-umbrello.html">3. Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="working-with-umbrello.html#user-interface">Interfaccia utente</a></span></dt><dd><dl><dt><span class="sect2"><a href="working-with-umbrello.html#tree-view">Vista ad albero</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#documentation-window">Finestra di documentazione e cronologia dei comandi</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#work-area">Area di lavoro</a></span></dt></dl></dd><dt><span class="sect1"><a href="load-save.html">Creare, caricare e salvare i modelli</a></span></dt><dd><dl><dt><span class="sect2"><a href="load-save.html#new-model">Nuovo modello</a></span></dt><dt><span class="sect2"><a href="load-save.html#save-model">Salva modello</a></span></dt><dt><span class="sect2"><a href="load-save.html#load-model">Carica modello</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-model.html">Modificare i modelli</a></span></dt><dt><span class="sect1"><a href="add-remove-diagrams.html">Aggiungere e rimuovere i diagrammi</a></span></dt><dd><dl><dt><span class="sect2"><a href="add-remove-diagrams.html#create-diagram">Creare i diagrammi</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#remove-diagram">Rimuovere i diagrammi</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#rename-diagram">Rinominare i diagrammi</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-diagram.html">Modificare i diagrammi</a></span></dt><dd><dl><dt><span class="sect2"><a href="edit-diagram.html#insert-elements">Inserire gli elementi</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#delete-elements">Eliminare gli elementi</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-elements">Modificare gli elementi</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-classes">Modificare le classi</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#associations">Associazioni</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#notes">Note, testo e riquadri</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="code-import-generation.html">4. Importazione e generazione di codice</a></span></dt><dd><dl><dt><span class="sect1"><a href="code-import-generation.html#code-generation">Generazione di codice</a></span></dt><dd><dl><dt><span class="sect2"><a href="code-import-generation.html#generate-code">Generare il codice</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-import.html">Importazione di codice</a></span></dt></dl></dd><dt><span class="chapter"><a href="other-features.html">5. Altre funzionalità</a></span></dt><dd><dl><dt><span class="sect1"><a href="other-features.html#idm1030">Altre funzionalità di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="other-features.html#copying-as-png">Copiare oggetti come immagini PNG</a></span></dt><dt><span class="sect2"><a href="other-features.html#export-as-png">Esportare come immagine</a></span></dt><dt><span class="sect2"><a href="other-features.html#printing">Stampa</a></span></dt><dt><span class="sect2"><a href="other-features.html#logical-folders">Cartelle logiche</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="authors.html">6. Autori e storia</a></span></dt><dt><span class="chapter"><a href="copyright.html">7. Copyright</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Capitolo 1. Introduzione</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="next" href="uml-basics.html" title="Capitolo 2. Fondamenti di UML"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Introduzione</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-basics.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Capitolo 1. Introduzione</h1></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> è uno strumento per diagrammi <acronym class="acronym">UML</acronym> che può aiutarti nel processo di sviluppo del software. Specialmente durante le fasi di analisi e progettazione di questo processo, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti aiuterà a ottenere un prodotto di alta qualità. <acronym class="acronym">UML</acronym> può anche essere usato per documentare i tuoi progetti software per aiutare te e i tuoi colleghi sviluppatori. </p><p>Avere un buon modello del tuo software è il modo migliore per comunicare con altri sviluppatori che lavorano al progetto e con i tuoi clienti. Un buon modello è estremamente importante per i progetti di dimensioni medie e grandi, ma è anche molto utile per quelli piccoli. Anche se stai lavorando su un piccolo progetto da una sola persona, un buon modello ti gioverà perché ti darà una panoramica che ti aiuterà a codificare le cose subito nel modo giusto. </p><p><acronym class="acronym">UML</acronym> è il linguaggio di diagrammi usato per descrivere questi modelli. Puoi rappresentare le tue idee in <acronym class="acronym">UML</acronym> usando diversi tipi di diagrammi. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2.11 supporta i seguenti tipi: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Diagrammi di classi</p></li><li class="listitem"><p>Diagrammi di sequenza</p></li><li class="listitem"><p>Diagrammi di collaborazione</p></li><li class="listitem"><p>Diagrammi di caso d'uso</p></li><li class="listitem"><p>Diagrammi di stato</p></li><li class="listitem"><p>Diagrammi di attività</p></li><li class="listitem"><p>Diagrammi di componenti</p></li><li class="listitem"><p>Diagrammi di dispiegamento</p></li><li class="listitem"><p>Diagramma di relazione tra entità</p></li></ul></div><p>Si possono trovare maggiori informazioni su <acronym class="acronym">UML</acronym> al sito Web di <a class="ulink" href="http://www.omg.org" target="_top"><acronym class="acronym">OMG</acronym>, http://www.omg.org</a> che ha creato lo standard <acronym class="acronym">UML</acronym>. </p><p>Speriamo che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti piaccia e che ti aiuti a creare software di alta qualità. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> è software libero ed è disponibile gratis, l'unica cosa che ti chiediamo è di comunicare qualsiasi errore, problema o suggerimento agli sviluppatori di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a <code class="email">(umbrello-devel AT kde.org)</code> o <a class="ulink" href="https://bugs.kde.org" target="_top">https://bugs.kde.org</a>. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="uml-basics.html">Avanti</a></td></tr><tr><td class="prevCell">Manuale di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </td><td class="upCell"> </td><td class="nextCell"> Fondamenti di <acronym class="acronym">UML</acronym></td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="uml-basics.html"><html><head><title>Capitolo 2. Fondamenti di UML</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="introduction.html" title="Capitolo 1. Introduzione"><link rel="next" href="uml-elements.html" title="Elementi UML"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Fondamenti di <acronym class="acronym">UML</acronym></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-elements.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="uml-basics"></a>Capitolo 2. Fondamenti di <acronym class="acronym">UML</acronym></h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="about-uml"></a>Informazioni su <acronym class="acronym">UML</acronym></h2></div></div></div><p>Questo capitolo ti darà una rapida panoramica dei fondamenti di <acronym class="acronym">UML</acronym>. Tieni presente che questo non è un corso completo di <acronym class="acronym">UML</acronym>, ma piuttosto una breve introduzione a <acronym class="acronym">UML</acronym>, che può essere letta come un corso di <acronym class="acronym">UML</acronym>. Se vuoi saperne di più sul Linguaggio di Modellazione Unificato, o in generale sull'analisi e la progettazione del software, riferisciti a uno dei molti libri disponibili sull'argomento. Ci sono anche molti corsi su Internet che puoi usare come punto di partenza. </p><p>Il Linguaggio di Modellazione Unificato (<acronym class="acronym">UML</acronym>) è un linguaggio o notazione di diagrammi per specificare, visualizzare e documentare modelli di sistemi di software a oggetti. <acronym class="acronym">UML</acronym> non è un metodo di sviluppo, cioè non ti dice cosa fare prima e dopo o come progettare il tuo sistema, ma ti aiuta a visualizzare il tuo progetto e a comunicare con gli altri. <acronym class="acronym">UML</acronym> è controllato dal Gruppo di Gestione Oggetti (<acronym class="acronym">OMG</acronym>) ed è lo standard industriale per descrivere graficamente il software. </p><p><acronym class="acronym">UML</acronym> è progettato per la progettazione di software a oggetti, e ha un uso limitato per altri paradigmi di programmazione. </p><p><acronym class="acronym">UML</acronym> si compone di molti elementi di modelli che rappresentano le diverse parti di un sistema software. Gli elementi <acronym class="acronym">UML</acronym> sono usati per creare diagrammi, che rappresentano una certa parte, o punto di vista del sistema. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> supporta i seguenti tipi di diagrammi: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#use-case-diagram" title="Diagramma di caso d'uso">I diagrammi di caso d'uso</a></em></span> mostrano gli attori (persone o altri utenti del sistema), i casi d'uso (gli scenari di quando usano il sistema), e le loro relazioni</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#class-diagram" title="Diagramma di classe">I diagrammi di classe</a></em></span> mostrano le classi e le relazioni tra loro</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#sequence-diagram" title="Diagrammi di sequenza">I diagrammi di sequenza</a></em></span> mostrano gli oggetti e una sequenza di chiamate a metodi che essi fanno ad altri oggetti.</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#collaboration-diagram" title="Diagrammi di collaborazione">I diagrammi di collaborazione</a></em></span> mostrano gli oggetti e le loro relazioni, ponendo l'attenzione sugli oggetti che partecipano nello scambio di messaggi</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#state-diagram" title="Diagramma di stato">I diagrammi di stato</a></em></span> mostrano gli stati, i cambi di stato e gli eventi in un oggetto o in una parte del sistema</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#activity-diagram" title="Diagrammi di attività">I diagrammi di attività</a></em></span> mostrano le attività e i cambiamenti da un'attività all'altra con gli eventi che accadono in qualche parte del sistema</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#component-diagram" title="Diagrammi dei componenti">I diagrammi dei componenti</a></em></span> mostrano i componenti della programmazione di alto livello (come KPart o Java Beans).</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#deployment-diagram" title="Diagrammi di dispiegamento">I diagrammi di dispiegamento</a></em></span> mostrano le istanze dei componenti e le loro relazioni.</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#entity-relationship-diagram" title="Diagrammi di relazioni tra entità">I diagrammi di relazioni tra entità</a></em></span> mostrano i dati con le loro relazioni e vincoli.</p></li></ul></div></div><FILENAME filename="uml-elements.html"><html><head><title>Elementi UML</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="uml-basics.html" title="Capitolo 2. Fondamenti di UML"><link rel="prev" href="uml-basics.html" title="Capitolo 2. Fondamenti di UML"><link rel="next" href="working-with-umbrello.html" title="Capitolo 3. Lavorare con Umbrello UML Modeller"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Elementi <acronym class="acronym">UML</acronym></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-basics.html">Indietro</a></td><td class="upCell">Fondamenti di <acronym class="acronym">UML</acronym></td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="uml-elements"></a>Elementi <acronym class="acronym">UML</acronym></h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="use-case-diagram"></a>Diagramma di caso d'uso</h3></div></div></div><p>I diagrammi di caso d'uso descrivono le relazioni e le dipendenze tra un gruppo di <span class="emphasis"><em>Casi d'uso</em></span> e gli attori partecipanti al processo.</p><p>È importante notare che i diagrammi di caso d'uso non sono adatti a rappresentare la progettazione, e non possono descrivere le parti interne di un sistema. I diagrammi di caso d'uso servono a facilitare la comunicazione con gli utenti futuri del sistema e con il cliente, e sono particolarmente utili a determinare le funzionalità necessarie che il sistema deve avere. I diagrammi di caso d'uso dicono <span class="emphasis"><em>cosa</em></span> deve fare il sistema, ma non specificano <span class="emphasis"><em>come</em></span> si deve fare (e non possono).</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="use-case-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di caso d'uso"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di caso d'uso </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case"></a>Caso d'uso</h4></div></div></div><p>Un <span class="emphasis"><em>Caso d'uso</em></span> descrive, dal punto di vista degli attori, un gruppo di attività in un sistema che produce un risultato concreto e tangibile.</p><p>I casi d'uso sono descrizioni delle interazioni tipiche tra gli utenti di un sistema e il sistema stesso. Rappresentano l'interfaccia esterna del sistema, e specificano un modulo di requisiti di cosa il sistema deve fare (ricorda, solo cosa, non come). </p><p>Lavorando con i casi d'uso, è importante ricordare alcune semplici regole: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Ogni caso d'uso è relativo ad almeno un attore</p></li><li class="listitem"><p>Ogni caso d'uso ha un iniziatore (cioè un attore)</p></li><li class="listitem"><p>Ogni caso d'uso porta a un risultato rilevante (un risultato con <span class="quote">«<span class="quote">valore di business</span>»</span>)</p></li></ul></div><p>
</p><p>I casi d'uso possono anche avere relazioni con altri casi d'uso. I tre tipi più comuni di relazioni tra casi d'uso sono:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;inclusione&gt;&gt;</em></span> che specifica che un caso d'uso avviene <span class="emphasis"><em>all'interno</em></span> di un altro caso d'uso</p></li><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;estensione&gt;&gt;</em></span> che specifica che in certe situazioni, o a un certo punto (chiamato punto di estensione) un caso d'uso sarà esteso da un altro.</p></li><li class="listitem"><p>La <span class="emphasis"><em>generalizzazione</em></span> specifica che un caso d'uso eredita le caratteristiche del <span class="quote">«<span class="quote">sovra</span>»</span>caso d'uso, e può sostituirne alcune o aggiungerne nuove in un modo simile all'ereditarietà tra classi. </p></li></ul></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="actor"></a>Attore</h4></div></div></div><p>Un attore è un'entità esterna (fuori dal sistema) che interagisce con il sistema partecipando a (e spesso iniziando) un caso d'uso. Gli attori possono essere persone reali (per esempio utenti del sistema), altri sistemi o eventi esterni. </p><p>Gli attori non rappresentano le persone <span class="emphasis"><em>fisiche</em></span> o i sistemi, ma il loro <span class="emphasis"><em>ruolo</em></span>. Ciò significa che quando una persona interagisce con il sistema in modi diversi (assumendo ruoli diversi) sarà rappresentata da diversi attori. Per esempio una persona che fornisce supporto per telefono e immette ordini dal cliente nel sistema sarebbe rappresentato da un attore <span class="quote">«<span class="quote">Squadra di supporto</span>»</span> e un attore <span class="quote">«<span class="quote">Rappresentante di vendita</span>»</span> </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case-description"></a>Descrizione di caso d'uso</h4></div></div></div><p>Le descrizioni di caso d'uso sono racconti testuali del caso d'uso. Prendono normalmente la forma di una nota o di un documento che è in qualche modo collegato al caso d'uso, e ne spiega i processi o le attività. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="class-diagram"></a>Diagramma di classe</h3></div></div></div><p>I diagrammi di classe mostrano le diverse classi che costituiscono un sistema e come si relazionano una all'altra. I diagrammi di classe sono detti essere diagrammi <span class="quote">«<span class="quote">statici</span>»</span> perché mostrano le classi, insieme ai loro metodi e attributi oltre alle relazioni statiche tra loro: quali classi <span class="quote">«<span class="quote">sanno</span>»</span> di quali classi o quali classi <span class="quote">«<span class="quote">fanno parte</span>»</span> di un'altra classe, ma non mostrano le chiamate ai metodi tra di loro. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di classe"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di classe </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class"></a>Classe</h4></div></div></div><p>Una classe definisce gli attributi e i metodi di un insieme di oggetti. Tutti gli oggetti di questa classe (istanze di questa classe) condividono lo stesso comportamento, e hanno lo stesso insieme di attributi (ogni oggetto ha il suo insieme). A volte il termine <span class="quote">«<span class="quote">Tipo</span>»</span> è usato invece di classe, ma è importante ricordare che questi due non sono la stessa cosa, e Tipo è un termine più generale. </p><p>In <acronym class="acronym">UML</acronym> le classi sono rappresentate da rettangoli con il nome della classe, e possono anche mostrare gli attributi e le operazioni della classe in due altri <span class="quote">«<span class="quote">scompartimenti</span>»</span> all'interno del rettangolo. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class.png" alt="Rappresentazione visiva di una classe in UML"><div class="caption"><p>Rappresentazione visiva di una classe in <acronym class="acronym">UML</acronym> </p></div></div></div><p>
</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="attribute"></a>Attributi</h5></div></div></div><p>In <acronym class="acronym">UML</acronym> gli attributi sono mostrati con almeno il loro nome, e possono mostrare anche il loro tipo, il valore iniziale e altre proprietà. Gli attributi possono anche essere mostrati con la loro visibilità: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code> sta per attributi <span class="emphasis"><em>pubblici</em></span></p></li><li class="listitem"><p><code class="literal">#</code> sta per attributi <span class="emphasis"><em>protetti</em></span></p></li><li class="listitem"><p><code class="literal">-</code> sta per attributi <span class="emphasis"><em>privati</em></span></p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="operation"></a>Operazioni</h5></div></div></div><p>Anche le operazioni (metodi) sono mostrate con almeno il loro nome, e possono mostrare anche i loro parametri e i tipi restituiti. Le operazioni possono, come gli attributi, mostrare la loro visibilità: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code> sta per operazioni <span class="emphasis"><em>pubbliche</em></span></p></li><li class="listitem"><p><code class="literal">#</code> sta per operazioni <span class="emphasis"><em>protette</em></span></p></li><li class="listitem"><p><code class="literal">-</code> sta per operazioni <span class="emphasis"><em>private</em></span></p></li></ul></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="templates"></a>Modelli</h5></div></div></div><p>Le classi possono avere modelli, un valore che è usato per una classe o untipo non specificato. Il tipo di modello è specificato quando viene iniziata una classe (cioè cioè viene creato un oggetto). I modelli esistono nel C++ moderno e saranno introdotti in Java 1.5 dove saranno chiamati Generics. </p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations"></a>Associazioni di classi</h4></div></div></div><p>Le classi possono relazionarsi (essere associate) una con l'altra in diversi modi:</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="generalization"></a>Generalizzazione</h5></div></div></div><p>L'ereditarietà è uno dei concetti fondamentali della programmazione a oggetti, in cui una classe <span class="quote">«<span class="quote">acquisisce</span>»</span> tutti gli attributi e le operazioni della classe da cui eredita, e può sostituire o modificare alcuni di loro, oltre ad aggiungere altri attributi e operazioni proprie.</p><p>In <acronym class="acronym">UML</acronym>, un'associazione di <span class="emphasis"><em>Generalizzazione</em></span> tra due classi le mette in una gerarchia rappresentante il concetto di ereditarietà di una classe derivata da una classe di base. In <acronym class="acronym">UML</acronym> le generalizzazioni sono rappresentate da una linea che connette le due classi, con una freccia sul lato della classe di base. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generalization.png" alt="Rappresentazione visiva di una generalizzazione in UML"><div class="caption"><p>Rappresentazione visiva di una generalizzazione in <acronym class="acronym">UML</acronym> </p></div></div></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="uml-associations"></a>Associazioni</h5></div></div></div><p>Un'associazione rappresenta una relazione tra classi, e dà la semantica e la struttura comuni a molti tipi di <span class="quote">«<span class="quote">connessioni</span>»</span> tra oggetti.</p><p>Le associazioni sono i meccanismi che permettono agli oggetti di comunicare tra loro. Descrivono la connessione tra diverse classi (la connessione tra gli oggetti reali è chiamata una connessione tra oggetti, o <span class="emphasis"><em>collegamento</em></span>). </p><p>Le associazioni possono avere un ruolo che specifica lo scopo dell'associazione e può essere uni- o bidirezionale (indica se i due oggetti che partecipano alla relazione possono mandare messaggi all'altro, o se solo uno di loro sa dell'altro). Ogni parte dell'associazione ha un valore di molteplicità, che detta quanti oggetti su questo lato dell'associazione possono relazionarsi a un oggetto sull'altro lato. </p><p>In <acronym class="acronym">UML</acronym> le associazioni sono rappresentate come linee che connettono le classi che partecipano alla relazione, e possono anche mostrare il ruolo e la molteplicità di ciascuno dei partecipanti. La molteplicità è mostrata come un intervallo [minimo..massimo] di valori non negativi, con un asterisco (<code class="literal">*</code>) sul lato massimo per rappresentare l'infinito. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="association.png" alt="Rappresentazione visiva di un'associazione in UML"><div class="caption"><p>Rappresentazione visiva di un'associazione in <acronym class="acronym">UML</acronym> </p></div></div></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="aggregation"></a>Aggregazione</h5></div></div></div><p>Le aggregazioni sono un tipo speciale di associazioni nel quale le due classi partecipanti non hanno un rango uguale, ma hanno una relazione <span class="quote">«<span class="quote">intero-parte</span>»</span>. Un'aggregazione descrive come la classe che ha il ruolo dell'intero è composta di (ha) altre classi, che hanno il ruolo di parti. Per le aggregazioni, la classe che fa da intero ha sempre molteplicità di uno. </p><p>In <acronym class="acronym">UML</acronym> le aggregazioni sono rappresentate da un'associazione che mostra un rombo sul lato dell'intero. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="aggregation.png" alt="Rappresentazione visiva di una relazione di aggregazione in UML"><div class="caption"><p>Rappresentazione visiva di una relazione di aggregazione in <acronym class="acronym">UML</acronym> </p></div></div></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="composition"></a>Composizione</h5></div></div></div><p>Le composizioni sono associazioni che rappresentano aggregazioni <span class="emphasis"><em>molto forti</em></span>. Ciò vuol dire che anche le composizioni formano relazioni intero-parte, ma la relazione è così forte che la parte non può esistere di per sé. Esistono solo all'interno dell'intero, e se l'intero è distrutto anche le parti muoiono.</p><p>In <acronym class="acronym">UML</acronym> le composizioni sono rappresentate da un rombo solido sul lato dell'intero. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="composition.png" alt="Rappresentazione visiva di una relazione di composizione in UML"></div></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="other-class-diagram-items"></a>Altri elementi dei diagrammi di classe</h4></div></div></div><p>I diagrammi di classe possono contenere diversi altri elementi oltre alle classi.</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="interfaces"></a>Interfacce</h5></div></div></div><p>Le interfacce sono classi astratte, che vuol dire che non se ne possono creare istanze direttamente. Possono contenere operazioni ma non attributi. Le classi possono ereditare dalle interfacce (attraverso una associazione di realizzazione) e possono essere create delle istanze di questi diagrammi.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="datatype"></a>Tipi di dati</h5></div></div></div><p>I tipi di dati sono delle primitive tipicamente incorporate in un linguaggio di programmazione. Gli esempi comuni includono gli interi e i booleani. Non possono avere relazioni con le classi, ma le classi possono avere relazioni con loro.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="enum"></a>Enumerazioni</h5></div></div></div><p>Le enumerazioni sono semplici elenchi di valori. Un esempio tipico è un'enumerazione dei giorni della settimana. Le opzioni di un'enumerazione sono chiamate letterali dell'enumerazione. Come i tipi di dati non possono avere relazioni con le classi, ma le classi possono avere relazioni con loro.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="package"></a>Pacchetti</h5></div></div></div><p>I pacchetti rappresentano un namespace in un linguaggio di programmazione. In un diagramma sono usati per rappresentare parti di un sistema che contiene più di una classe, forse centinaia di classi.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="sequence-diagram"></a>Diagrammi di sequenza</h3></div></div></div><p>I diagrammi di sequenza mostrano lo scambio di messaggi (cioè la chiamata ai metodi) tra diversi oggetti in una situazione temporale precisa. Gli oggetti sono istanze di classi. I diagrammi di sequenza mettono particolare enfasi sull'ordine e l'ora a cui i messaggi sono inviati agli oggetti.</p><p>Nei diagrammi di sequenza gli oggetti sono rappresentati con linee verticali tratteggiate, con il nome dell'oggetto in cima. Anche l'asse temporale è verticale, e aumenta andando in giù, in modo che i messaggi sono inviati da un oggetto all'altro nella forma di frecce con l'operazione e il nome del parametro. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="sequence-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di sequenza"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di sequenza </p></div></div></div><p>I messaggi possono o essere sincroni, il tipo normale di chiamate ai messaggi dove il controllo è passato all'oggetto chiamato fino a quando quel metodo ha finito l'esecuzione, o asincrono, dove il controllo è ripassato direttamente all'oggetto chiamante. I messaggi sincroni hanno un riquadro verticale a lato dell'oggetto chiamato per mostrare il flusso di controllo del programma.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="collaboration-diagram"></a>Diagrammi di collaborazione</h3></div></div></div><p>I diagrammi di collaborazione mostrano le interazioni che avvengono tra gli oggetti che partecipano a una situazione specifica. È più o meno la stessa informazione mostrata nei diagrammi di sequenza, ma lì l'enfasi è messa su come le interazioni avvengono nel tempo, mentre i diagrammi di collaborazione mettono in primo piano le relazioni tra gli oggetti e la loro topologia.</p><p>Nei diagrammi di collaborazione i messaggi inviati da un oggetto a un altro sono rappresentati da frecce, che mostrano il nome, i parametri e la sequenza del messaggio. I diagrammi di collaborazione sono specialmente adatti a mostrare un particolare flusso o situazione di programma e sono uno dei migliori tipi di diagramma per dimostrare o spiegare rapidamente un processo nella logica del programma. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="collaboration-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di collaborazione"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di collaborazione </p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="state-diagram"></a>Diagramma di stato</h3></div></div></div><p>I diagrammi di stato mostrano i diversi stati di un oggetto durante la sua vita e gli stimoli che gli fatto cambiare stato. </p><p>I diagrammi di stato vedono gli oggetti come <span class="emphasis"><em>macchine di stato</em></span> o automi finiti che possono essere in uno stato di un insieme di stati finiti e che possono cambiare stato con uno stimolo di un insieme finito di stimoli. Per esempio un oggetto di tipo <span class="emphasis"><em>ServerDiRete</em></span> può essere in uno dei seguenti stati durante la sua vita: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Pronto</p></li><li class="listitem"><p>In ascolto</p></li><li class="listitem"><p>Attivo</p></li><li class="listitem"><p>Fermato</p></li></ul></div><p>e gli eventi che possono far cambiare stato all'oggetto sono</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>L'oggetto è creato</p></li><li class="listitem"><p>L'oggetto riceve il messaggio di ascolto</p></li><li class="listitem"><p>Un client richiede una connessione sulla rete</p></li><li class="listitem"><p>Un client termina una richiesta</p></li><li class="listitem"><p>La richiesta è eseguita e conclusa</p></li><li class="listitem"><p>L'oggetto riceve un messaggio di fermata</p></li><li class="listitem"><p>ecc.</p></li></ul></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="state-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di stato"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di stato </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="state"></a>Stato</h4></div></div></div><p>Gli stati sono i mattoni del diagramma di stato. Uno stato appartiene a esattamente una classe e rappresenta un riassunto dei valori che gli attributi di una classe possono assumere. Uno stato <acronym class="acronym">UML</acronym> descrive lo stato interno di un oggetto di una classe particolare </p><p>Nota che non tutti i cambiamenti negli attributi di un oggetto dovrebbe essere rappresentato da uno stato, ma solo quei cambiamenti che influenzano significativamente il funzionamento dell'oggetto</p><p>Ci sono due tipi speciali di stati: Inizio e Fine. Sono speciali perché non ci sono eventi che possono far tornare un oggetto al suo stato di Inizio, allo stesso modo in cui non è possibile riportare un oggetto dal suo stato di Fine una volta che lo raggiunge. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="activity-diagram"></a>Diagrammi di attività</h3></div></div></div><p>I diagrammi di attività descrivono la sequenza di attività in un sistema con l'aiuto delle attività. I diagrammi di attività sono una forma speciale dei diagrammi di stato, che contengono solo (o per lo più) attività. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="activity-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di attività"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di attività </p></div></div></div><p>
</p><p>I diagrammi di attività sono simili ai diagrammi di flusso procedurali, con la differenza che tutte le attività sono chiaramente connesse a degli oggetti.</p><p>I diagrammi di attività sono sempre associati a una <span class="emphasis"><em>classe</em></span>, un'<span class="emphasis"><em>operazione</em></span> o un <span class="emphasis"><em>caso d'uso</em></span>.</p><p>I diagrammi di attività supportano attività sequenziali e parallele. L'esecuzione parallela è rappresentata con le icone Separa/Attendi; per le attività in esecuzione in parallelo, non è importante l'ordine in cui sono eseguite (possono essere eseguite allo stesso tempo o una dopo l'altra)</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="activity"></a>Attività</h4></div></div></div><p>Un'attività è un singolo passo in un processo. Un'attività è uno stato del sistema con attività interna e, almeno, una transizione all'esterno. Le attività possono anche avere più di una transizione all'esterno se hanno più condizioni. </p><p>Le attività possono formare gerarchie, vale a dire che un'attività può essere composta di più attività di <span class="quote">«<span class="quote">dettaglio</span>»</span>, nel qual caso le transizioni all'interno e all'esterno dovrebbero corrispondere alle transizioni all'interno e all'esterno del diagramma dei dettagli. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="helper-elements"></a>Elementi ausiliari</h3></div></div></div><p>Ci sono alcuni elementi in <acronym class="acronym">UML</acronym> che non hanno una vera e propria semantica per il modello, ma aiutano a chiarificare parti del diagramma. Questi elementi sono </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Righe di testo</p></li><li class="listitem"><p>Note di testo e ancore</p></li><li class="listitem"><p>Riquadri</p></li></ul></div><p>Le righe di testo sono utili per aggiungere brevi informazioni testuali a un diagramma. È testo libero e non ha significato per il modello stesso. </p><p>Le note sono utili per aggiungere informazioni più dettagliate su un oggetto o una situazione specifica. Hanno il grande vantaggio che le note possono essere ancorate a elementi <acronym class="acronym">UML</acronym> per mostrare che la nota <span class="quote">«<span class="quote">appartiene</span>»</span> a un oggetto o una situazione specifici. </p><p>I riquadri sono rettangoli liberi che possono essere usati per raggruppare insieme degli elementi per rendere i diagrammi più leggibili. Non hanno nessun significato logico nel modello.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="component-diagram"></a>Diagrammi dei componenti</h3></div></div></div><p>I diagrammi dei componenti mostrano i componenti software (tecnologie componenti come KPart, componenti CORBA, Java Beans o solo sezioni del sistema che sono chiaramente distinguibili) e i manufatti di cui sono fatti come file di codice sorgente, librerie di programmazione o tabelle di banche dati relazionali.</p><p>I componenti possono avere interfacce (cioè classi astratte con operazioni) che permettono associazioni tra componenti.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="deployment-diagram"></a>Diagrammi di dispiegamento</h3></div></div></div><p>I diagrammi di dispiegamento mostrano le istanze dei componenti durante l'esecuzione e le loro associazioni. Includono i nodi, che sono risorse fisiche, tipicamente un computer singolo. Mostrano anche interfacce e oggetti (istanze di classi).</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="entity-relationship-diagram"></a>Diagrammi di relazioni tra entità</h3></div></div></div><p>I diagrammi di relazioni tra entità (diagrammi RE) mostrano la progettazione concettuale delle applicazioni di banche dati. Mostrano le varie entità (concetti) nel sistema informativo e le relazioni e i vincoli esistenti tra di loro. Un'estensione dei diagrammi di relazioni tra entità, chiamata «diagrammi di relazioni tra entità estesi» (REE) o «diagrammi di relazioni tra entità migliorati», è usata per incorporare le tecniche di progettazione orientata agli oggetti nei diagrammi RE. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="entity-relationship-diagram.png" alt="Umbrello UML Modeller che mostra un diagramma di relazioni tra entità"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> che mostra un diagramma di relazioni tra entità </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="entity"></a>Entità</h4></div></div></div><p>Un'<span class="emphasis"><em>entità</em></span> è un qualsiasi concetto del mondo reale con un'esistenza indipendente. Può essere un oggetto con forma fisica (per esempio, un computer o un robot) o può essere un oggetto concettuale (come un corso universitario). Ogni entità ha un insieme di attributi che ne descrivono le proprietà.</p><p><span class="emphasis"><em>Nota:</em></span> non esiste nessuna notazione standard per tracciare i diagrammi RE. Diversi testi su questo tema usano notazioni diverse. I concetti e le notazioni dei diagrammi REE usati in Umbrello sono presi da questo libro: <span class="emphasis"><em>Elmasri R. and Navathe S. (2004). Fundamentals of Database Systems 4th edn. Addison Wesley</em></span>. </p><p>In un diagramma RE, le entità sono rappresentate da rettangoli con il nome dell'entità sopra, e possono anche mostrare gli attributi dell'entità in un altro <span class="quote">«<span class="quote">scompartimento</span>»</span> all'interno del rettangolo. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="entity.png" alt="Rappresentazione visiva di un'entità in un diagramma RE"><div class="caption"><p>Rappresentazione visiva di un'entità in un diagramma RE </p></div></div></div><p>
</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="entity-attribute"></a>Attributi delle entità</h5></div></div></div><p>Nei diagrammi RE, gli attributi delle entità sono mostrati con il loro nome in uno scompartimento diverso dell'entità a cui appartengono. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="constraint"></a>Vincoli</h5></div></div></div><p>I vincoli nei diagrammi RE specificano le restrizioni sui dati nello schema informativo. </p><p>Ci sono quattro tipi di vincoli supportati da Umbrello: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Chiave primaria</em></span>: l'insieme di attributi dichiarati come <span class="emphasis"><em>chiave primaria</em></span> è unico per l'entità. Ci può essere solo una chiave primari in un'entità e nessuno dei suoi membri può essere nullo. </p></li><li class="listitem"><p><span class="emphasis"><em>Chiave univoca</em></span>: l'insieme di attributi dichiarati come <span class="emphasis"><em>chiave univoca</em></span> è unico per l'entità. Ci possono essere molti vincoli univoci in un'entità. I loro membri possono essere nulli. Le chiavi univoche e primarie identificano univocamente una riga in una tabella (entità).</p></li><li class="listitem"><p><span class="emphasis"><em>Chiave esterna</em></span>: una chiave esterna è un vincolo referenziale tra due tabelle. La chiave esterna identifica una colonna o un insieme di colonne in una tabella (referente) che si riferisce a una colonna o insieme di colonne in un'altra tabella (referenziata). Le colonne nella tabella referenziata devono formare una chiave primaria o univoca. </p></li><li class="listitem"><p><span class="emphasis"><em>Vincolo di controllo</em></span>: un vincolo di controllo (noto anche come vincolo di controllo della tabella) è una condizione che definisce i dati validi quando si aggiunge o si aggiorna una voce di una tabella in una banca dati relazionale. Un vincolo di controllo viene applicato a ogni riga nella tabella. Il vincolo deve essere un predicato. Può riferirsi a una sola o a più colonne della tabella. </p><p>Esempio: prezzo 
&gt;= 0 </p></li></ul></div><p>
</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="extended-entity-relationship-concepts"></a>Concetti dei diagrammi di relazioni delle entità estesi (REE)</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="specialization"></a>Specializzazione</h4></div></div></div><p>La specializzazione è un modo di formare nuove entità usando entità che sono già state definite. Le nuove entità, note come entità derivate, sostituiscono (o ereditano) gli attributi delle entità preesistenti, che sono dette entità di base. Ciò è inteso per riutilizzare i dati esistenti con poche o nessuna modifica.</p><p>In Umbrello, si possono definire le specializzazioni di «Scollegamento» e «Sovrapposizione».</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="disjoint-specialization"></a>Specializzazione disgiunta</h5></div></div></div><p>La specializzazione disgiunta specifica che le sottoclassi della specializzazione devono essere disgiunte. Ciò significa che un'entità può fare parte di al più una delle entità derivate dalla specializzazione.</p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="disjoint-specialization.png" alt="Rappresentazione visiva della specializzazione disgiunta in un diagramma REE"><div class="caption"><p>Rappresentazione visiva della specializzazione disgiunta in un diagramma REE </p></div></div></div><p>
    </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="overlapping-specialization"></a>Specializzazione sovrapposta</h5></div></div></div><p>Quando le entità derivate non sono vincolate ad essere disgiunte, il loro insieme di entità è detto essere una specializzazione sovrapposta. Ciò significa che la stessa entità, nel mondo reale, può fare parte di più di una entità derivata dalla specializzazione.</p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="overlapping-specialization.png" alt="Rappresentazione visiva della specializzazione sovrapposta in un diagramma REE"><div class="caption"><p>Rappresentazione visiva della specializzazione sovrapposta in un diagramma REE </p></div></div></div><p>
  </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="category"></a>Categoria</h5></div></div></div><p>Un'entità derivata è detta essere una <span class="emphasis"><em>categoria</em></span> quando rappresenta una raccolta di oggetti costituente un sottoinsieme dell'unione dei tipi di entità distinti. Una categoria è modellata quando serve una relazione singola tra superclasse e sottoclasse con più di una superclasse, dove le superclassi rappresentano diversi tipi di entità (in modo simile all'ereditarietà multipla nella programmazione ad oggetti). </p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="category.png" alt="Rappresentazione visiva di una categoria in un diagramma REE"><div class="caption"><p>Rappresentazione visiva di una categoria in un diagramma REE</p></div></div></div><p>
  </p></div></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-basics.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">Avanti</a></td></tr><tr><td class="prevCell">Fondamenti di <acronym class="acronym">UML</acronym> </td><td class="upCell">Fondamenti di <acronym class="acronym">UML</acronym></td><td class="nextCell"> Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="uml-elements.html">Avanti</a></td></tr><tr><td class="prevCell">Introduzione </td><td class="upCell"> </td><td class="nextCell"> Elementi <acronym class="acronym">UML</acronym></td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-umbrello.html"><html><head><title>Capitolo 3. Lavorare con Umbrello UML Modeller</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="uml-elements.html" title="Elementi UML"><link rel="next" href="load-save.html" title="Creare, caricare e salvare i modelli"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-elements.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="load-save.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="working-with-umbrello"></a>Capitolo 3. Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h1></div></div></div><p>Questo capitolo ti introdurrà all'interfaccia utente di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> e ti dirà tutto quello di cui hai bisogno per iniziare a modellare. Tutte le azioni in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> sono accessibili attraverso il menu e le barre degli strumenti, ma <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> usa molto anche i menu contestuali del tasto <span class="mousebutton">destro</span> del mouse. Puoi fare clic con il tasto <span class="mousebutton">destro</span> del mouse su quasi ogni elemento nell'area di lavoro di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> o nella vista ad albero, per ottenere un menu con le funzioni più utili che possono essere applicate al particolare elemento su cui stai lavorando. Alcuni utenti si sentono un po' confusi all'inizio perché sono abituati a lavorare con il menu o le barre degli strumenti, ma una volta che ti abitui a fare clic con il pulsante <span class="mousebutton">destro</span> il tuo lavoro sarà molto più veloce. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface"></a>Interfaccia utente</h2></div></div></div><p>La finestra principale di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> è divisa in tre aree che ti aiuteranno a mantenere una panoramica del tuo intero sistema e ad accedere rapidamente ai diversi diagrammi mentre lavori sul tuo modello. </p><p>Queste aree sono chiamate:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Vista ad albero</p></li><li class="listitem"><p>Area di lavoro</p></li><li class="listitem"><p>Finestra di documentazione e cronologia dei comandi</p></li></ul></div><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="umbrello-ui.png" alt="L'interfaccia utente di Umbrello UML Modeller"><div class="caption"><p>L'interfaccia utente di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="tree-view"></a>Vista ad albero</h3></div></div></div><p>La Vista ad albero è normalmente situata all'angolo in alto a sinistra della finestra, e mostra tutti i diagrammi, le classi, gli attori e i casi d'uso che costituiscono il tuo modello. La Vista ad albero ti permette di avere una semplice panoramica degli elementi che compongono il tuo modello. La Vista ad albero ti dà anche un modo semplice per spostarti tra i diversi diagrammi del tuo modello, e inserire elementi dal tuo modello nel diagramma attuale. </p><p>Se stai lavorando a un modello con più che poche classi e diagrammi, la Vista ad albero ti può anche aiutare a orientarti organizzando il tuo modello nelle cartelle. Puoi creare delle cartelle selezionando l'opzione apposita dal menu contestuale (fai clic con il tasto <span class="mousebutton">destro</span> del mouse su una delle cartelle nella vista ad albero), e puoi organizzare i tuoi elementi spostandoli alla cartella giusta (trascinandoli) </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="documentation-window"></a>Finestra di documentazione e cronologia dei comandi</h3></div></div></div><p>La finestra di documentazione e cronologia dei comandi è la finestrella situata nell'angolo in basso a sinistra di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, e dà una rapida anteprima della documentazione dell'elemento attualmente selezionato e la cronologia dei comandi della sessione di lavoro. La finestra di documentazione è piuttosto piccola perché serve solo a dare solo un'occhiata alla documentazione di un elemento e la panoramica della cronologia dei comandi, occupando il minimo spazio possibile. Se devi vedere la documentazione in maggior dettaglio, puoi sempre aprire le proprietà dell'elemento. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="work-area"></a>Area di lavoro</h3></div></div></div><p>L'Area di lavoro è la finestra principale di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ed è dove avviene il lavoro vero e proprio. Si usa l'Area di lavoro per modificare e visualizzare i diagrammi del tuo modello. L'Area di lavoro mostra il diagramma attualmente attivo. Attualmente si può vedere solo un diagramma alla volta. </p></div></div><FILENAME filename="load-save.html"><html><head><title>Creare, caricare e salvare i modelli</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capitolo 3. Lavorare con Umbrello UML Modeller"><link rel="prev" href="working-with-umbrello.html" title="Capitolo 3. Lavorare con Umbrello UML Modeller"><link rel="next" href="edit-model.html" title="Modificare i modelli"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Creare, caricare e salvare i modelli</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-umbrello.html">Indietro</a></td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-model.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="load-save"></a>Creare, caricare e salvare i modelli</h2></div></div></div><p>La prima cosa che devi fare per iniziare a fare qualcosa di utile con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> è creare un modello su cui lavorare. Quando lo avvii, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> carica sempre l'ultimo modello usato o ne crea uno nuovo vuoto (a seconda delle tue preferenze come impostate nella finestra di configurazione). Ciò ti permetterà di iniziare subito a lavorare. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="new-model"></a>Nuovo modello</h3></div></div></div><p>Se in qualsiasi momento dovessi creare un nuovo modello, puoi farlo selezionando la voce <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nuovo</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span>, o facendo clic sull'icona <span class="guiicon">Nuovo</span> dalla barra delle applicazioni. Se al momento stai lavorando su un modello che è stato modificato, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti chiederà se deve salvare le tue modifiche prima di caricare il nuovo modello. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="save-model"></a>Salva modello</h3></div></div></div><p>Puoi salvare il tuo modello in qualsiasi momento selezionando l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Salva</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span>, o facendo clic sull'icona <span class="guiicon">Salva</span> nella barra delle applicazioni. Se devi salvare il tuo modello con un nome diverso puoi usare l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Salva come</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span>. </p><p>Per la tua comodità <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti offre anche l'opzione di salvare automaticamente il tuo lavoro a intervalli regolari. Puoi configurare se vuoi questa opzione, e anche l'intervallo di tempo, nelle <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Impostazioni</span></span> di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="load-model"></a>Carica modello</h3></div></div></div><p>Per caricare un modello preesistente puoi selezionare l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Apri</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> o fare clic sull'icona <span class="guiicon">Apri</span> nella barra delle applicazioni. I modelli più recentemente usati sono disponibili anche nel sottomenu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Apri recenti</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> per facilitare l'accesso ai modelli che usi più spesso. </p><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> può lavorare solo su un modello alla volta, quindi se chiedi al programma di caricarti un modello e il tuo modello è stato modificato dall'ultima volta che l'hai salvato, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti chiederà se le tue modifiche debbano essere salvate per evitare qualsiasi perdita di lavoro. Puoi avviare due o più istanze di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> in qualsiasi momento, e puoi anche copiare e incollare tra le istanze. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-umbrello.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="edit-model.html">Avanti</a></td></tr><tr><td class="prevCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Modificare i modelli</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="edit-model.html"><html><head><title>Modificare i modelli</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capitolo 3. Lavorare con Umbrello UML Modeller"><link rel="prev" href="load-save.html" title="Creare, caricare e salvare i modelli"><link rel="next" href="add-remove-diagrams.html" title="Aggiungere e rimuovere i diagrammi"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Modificare i modelli</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">Indietro</a></td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="edit-model"></a>Modificare i modelli</h2></div></div></div><p>In <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ci sono fondamentalmente due modi per modificare gli elementi del tuo modello. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Modificare gli elementi del modello direttamente attraverso la Vista ad albero</p></li><li class="listitem"><p>Modificare gli elementi del modello attraverso un diagramma</p></li></ul></div><p>
</p><p>Usando il menu contestuale dei diversi elementi nella Vista ad albero puoi aggiungere, rimuovere e modificare quasi tutti gli elementi nel tuo modello. Fare clic <span class="mousebutton">destro</span> sulle cartelle nella Vista ad albero ti darà le opzioni per creare i diversi tipi di diagrammi e anche, a seconda che la cartella sia una <span class="emphasis"><em>Vista dei casi d'uso</em></span> o una <span class="emphasis"><em>Vista logica</em></span>, attori, casi d'uso, classi ecc. </p><p>Una volta che hai aggiunto gli elementi nel tuo modello, puoi anche modificarli accedendo alle loro finestre delle proprietà, che puoi trovare selezionando l'opzione <span class="emphasis"><em>Proprietà</em></span> dal menu contestuale mostrato quando fai clic <span class="mousebutton">destro</span> sugli elementi nella Vista ad albero. </p><p>Puoi anche modificare il tuo modello creando o modificando degli elementi per mezzo dei diagrammi. Maggiori dettagli su come farlo sono dati nelle sezioni successive. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">Avanti</a></td></tr><tr><td class="prevCell">Creare, caricare e salvare i modelli </td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Aggiungere e rimuovere i diagrammi</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="add-remove-diagrams.html"><html><head><title>Aggiungere e rimuovere i diagrammi</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capitolo 3. Lavorare con Umbrello UML Modeller"><link rel="prev" href="edit-model.html" title="Modificare i modelli"><link rel="next" href="edit-diagram.html" title="Modificare i diagrammi"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Aggiungere e rimuovere i diagrammi</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">Indietro</a></td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="add-remove-diagrams"></a>Aggiungere e rimuovere i diagrammi</h2></div></div></div><p>Il tuo modello <acronym class="acronym">UML</acronym> consiste di un insieme di elementi <acronym class="acronym">UML</acronym> e associazioni tra di loro. Tuttavia non puoi vedere il modello direttamente, ma usi dei <span class="emphasis"><em>diagrammi</em></span> per vederlo. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="create-diagram"></a>Creare i diagrammi</h3></div></div></div><p>Per creare un nuovo diagramma nel tuo modello, seleziona semplicemente il tipo di diagramma di cui hai bisogno dal sottomenu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Nuovo</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagramma</span></span> e dàgli un nome. Il diagramma sarà creato e attivato, e potrai immediatamente vederlo nella Vista ad albero. </p><p>Ricorda che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> fa ampio uso dei menu contestuali: puoi anche fare clic con il tasto <span class="mousebutton">destro</span> del mouse su una cartella nella Vista ad albero e selezionare il tipo appropriato di diagramma dal sottomenu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Nuovo</span></span> nel menu contestuale. Nota che puoi creare diagrammi di casi d'uso solo nelle cartelle di Vista dei casi d'uso, e gli altri tipi di diagrammi solo nelle cartelle di Vista logica. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="remove-diagram"></a>Rimuovere i diagrammi</h3></div></div></div><p>Se dovessi rimuovere un diagramma dal tuo modello, puoi farlo attivandolo e selezionando <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Elimina</span></span> dal menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagramma</span></span>. Puoi anche farlo selezionando <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Elimina</span></span> dal menu contestuale del diagramma nella Vista ad albero </p><p>Siccome eliminare un diagramma è qualcosa di serio che potrebbe causare perdite di lavoro se fatto per sbaglio, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti chiederà di confermare l'operazione di eliminazione prima di rimuovere per davvero il diagramma. Una volta che un diagramma è stato eliminato e il file salvato, non c'è modo di annullare questa azione. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="rename-diagram"></a>Rinominare i diagrammi</h3></div></div></div><p>Se vuoi cambiare il nome di un diagramma esistente puoi farlo facilmente selezionando l'opzione Rinomina dal suo menu del tasto <span class="mousebutton">destro</span> del mouse nella vista ad albero. </p><p>Un altro modo di rinominare un diagramma è farlo dalla sua finestra delle proprietà, che ottieni selezionando Proprietà dal suo menu contestuale o facendoci doppio clic nella Vista ad albero. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">Avanti</a></td></tr><tr><td class="prevCell">Modificare i modelli </td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Modificare i diagrammi</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="edit-diagram.html"><html><head><title>Modificare i diagrammi</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capitolo 3. Lavorare con Umbrello UML Modeller"><link rel="prev" href="add-remove-diagrams.html" title="Aggiungere e rimuovere i diagrammi"><link rel="next" href="code-import-generation.html" title="Capitolo 4. Importazione e generazione di codice"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Modificare i diagrammi</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="add-remove-diagrams.html">Indietro</a></td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="edit-diagram"></a>Modificare i diagrammi</h2></div></div></div><p>Quando si lavora su un diagramma, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> cercherà di guidarti applicando alcune semplici regole, come quali elementi sono validi nei diversi tipi di diagrammi, e anche le relazioni che possono esistere tra di loro. Se sei un esperto di <acronym class="acronym">UML</acronym> probabilmente non lo noterai nemmeno, ma questo aiuterà i novellini di <acronym class="acronym">UML</acronym> a creare dei diagrammi conformi agli standard. </p><p>Una volta che hai creato i tuoi diagrammi è ora di iniziare a modificarli. Qui dovresti notare la differenza (sottile per i novellini) tra modificare il tuo diagramma, e modificare il <span class="emphasis"><em>modello</em></span>. Come già saprai, i diagrammi sono <span class="emphasis"><em>visualizzazioni</em></span> del tuo modello. Per esempio, se crei una classe modificando un diagramma di classe, stai in realtà modificando sia il tuo diagramma che il tuo modello. Se cambi il colore o un'altra opzione di visualizzazione di una classe nel tuo diagramma di classe, stai solo modificando il diagramma, ma non cambia nulla nel tuo modello. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="insert-elements"></a>Inserire gli elementi</h3></div></div></div><p>Una delle prime cose che vorrai fare modificando un nuovo diagramma è inserirci elementi (classi, attori, casi d'uso, <abbr class="abbrev">ecc.</abbr>). Ci sono fondamentalmente due modi per farlo:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Trascinare gli elementi esistenti nel tuo modello dalla Vista ad albero</p></li><li class="listitem"><p>Creare i nuovi elementi nel tuo modello e aggiungerli ai tuoi diagrammi allo stesso tempo, usando uno degli strumenti di modifica nella barra degli strumenti di lavoro</p></li></ul></div><p>Per inserire gli elementi che esistono già nel tuo modello, trascinali dalla Vista ad albero e sganciali dove vuoi che stiano nel tuo diagramma. Puoi sempre spostare gli elementi nel tuo diagramma usando lo strumento Seleziona </p><p>Il secondo modo di aggiungere elementi al tuo diagramma è usare gli strumenti di modifica della barra degli strumenti di lavoro (nota che, inoltre, ciò aggiungerà gli elementi al tuo modello). </p><p>La barra degli strumenti di lavoro, come impostazione predefinita, era posizionata in cima alla finestra. Gli strumenti disponibili in questa barra degli strumenti (i pulsanti che ci vedi sopra) cambiano a seconda del tipo di diagramma su cui stai lavorando attualmente. Il pulsante per lo strumento attualmente selezionato è attivato nella barra degli strumenti. Puoi passare allo strumento di selezione premendo il tasto <span class="keycap"><strong>Esc</strong></span>. </p><p>Quando hai selezionato uno strumento di modifica nella barra degli strumenti di lavoro (per esempio, lo strumento per inserire le classi) il puntatore del mouse diventa una croce, e puoi inserire gli elementi nel tuo modello facendo un solo clic nel tuo diagramma. Nota che gli elementi in <acronym class="acronym">UML</acronym> devono avere un <span class="emphasis"><em>nome univoco</em></span>. Quindi, se hai una classe in un diagramma che si chiama <span class="quote">«<span class="quote">ClasseA</span>»</span>, e usi lo strumento di inserimento classi per inserire una classe in un altro diagramma, non puoi chiamare anche questa nuova classe <span class="quote">«<span class="quote">ClasseA</span>»</span>. Se queste due devono essere elementi diversi, devi dargli dei nomi univoci. Se stai cercando di aggiungere lo <span class="emphasis"><em>stesso</em></span> elemento al tuo diagramma, Inserisci classe non è lo strumento giusto. Dovresti invece trascinare la classe dalla Vista ad albero. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="delete-elements"></a>Eliminare gli elementi</h3></div></div></div><p>Puoi eliminare qualsiasi elemento selezionando l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Elimina</span></span> dal suo menu contestuale. </p><p>Di nuovo, c'è una <span class="emphasis"><em>grossa</em></span> differenza tra rimuovere un oggetto da un diagramma, ed eliminare un oggetto dal tuo modello: se elimini un oggetto da un diagramma, stai solo rimuovendo l'oggetto da quel diagramma particolare: l'elemento sarà ancora parte del tuo modello, e se ci sono altri diagrammi che usano lo stesso elemento, non subiranno conseguenze. Se, d'altro canto, elimini l'elemento dalla Vista ad albero, stai effettivamente eliminando l'elemento dal tuo <span class="emphasis"><em>modello</em></span>. Siccome l'elemento non esiste più nel tuo modello, sarà automaticamente rimosso da tutti i diagrammi in cui appare. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-elements"></a>Modificare gli elementi</h3></div></div></div><p>Puoi modificare la maggior parte degli elementi e dei diagrammi <acronym class="acronym">UML</acronym> aprendo le loro finestre delle Proprietà e selezionando le opzioni appropriate. Per modificare le proprietà di un oggetto, seleziona <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Proprietà</span></span> dal suo menu contestuale (fai clic con il tasto <span class="mousebutton">destro</span> del mouse). Ogni elemento ha una finestra di dialogo consistente in diverse pagine dove puoi configurare le opzioni corrispondenti a quell'elemento. Per alcuni elementi, come gli attori, puoi impostare solo un paio di opzioni, come il nome e la documentazione dell'oggetto, mentre per altri elementi, come le classi, puoi modificare gli attributi e le operazioni, selezionare cosa vuoi sia mostrato nel diagramma (la firma completa delle operazioni o solo i nomi delle operazioni, ecc.) e anche i colori che vuoi usare per la linea e per il riempimento della rappresentazione della classe nel diagramma. </p><p>Per gli elementi <acronym class="acronym">UML</acronym> puoi anche aprire la finestra delle proprietà facendoci doppio clic se stai usando lo strumento di selezione (freccia). </p><p>Nota che puoi anche selezionare le opzioni delle proprietà dal menu contestuale degli elementi nella vista ad albero. Ciò ti permette anche di modificare le proprietà dei diagrammi, come impostare se la griglia debba essere mostrata o meno. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-classes"></a>Modificare le classi</h3></div></div></div><p>Anche se è stato già descritto come modificare le proprietà di tutti gli oggetti nella sezione precedente, le classi meritano una sezione speciale perché sono un po' più complicate e hanno più opzioni della maggior parte degli altri elementi <acronym class="acronym">UML</acronym>. </p><p>Nella finestra delle proprietà di una classe puoi impostare tutto, dal colore usato alle operazioni e attributi che ha. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-general-settings"></a>Impostazioni generali delle classi</h4></div></div></div><p>La pagina Impostazioni generali della finestra delle proprietà si spiega da sé. Qui puoi cambiare il nome della classe, la visibilità, la documentazione, <abbr class="abbrev">ecc.</abbr> Questa pagina è sempre disponibile. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-attributes-settings"></a>Impostazione degli attributi delle classi</h4></div></div></div><p>Nella pagina Attributi delle classi puoi aggiungere, modificare o eliminare gli attributi (le variabili) della classe. Puoi spostare gli attributi in su e in giù nell'elenco premendo il pulsante a freccia di fianco. Questa pagina è sempre disponibile. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-operations-settings"></a>Impostazioni delle operazioni delle classi</h4></div></div></div><p>In modo simile alla pagina delle Impostazioni degli attributi, nella pagina delle Impostazioni delle operazioni puoi aggiungere, modificare o rimuovere le operazioni della tua classe. Quando aggiungi o modifichi un'operazione, inserisci i dati di base nella finestra <span class="emphasis"><em>Proprietà delle operazioni</em></span>. Se vuoi aggiungere dei parametri alle tue operazioni devi fare clic sul pulsante <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Nuovo parametro</span></span>, che mostrerà la finestra <span class="emphasis"><em>Proprietà del parametro</em></span>. Questa pagina è sempre disponibile </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-template-settings"></a>Impostazioni dei modelli delle classi</h4></div></div></div><p>Questa pagina ti permette di aggiungere modelli di classi, che sono classi o tipi di dati non specificati. In Java 1.5 saranno chiamati Generics. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations-page"></a>Pagina delle associazioni delle classi</h4></div></div></div><p>La pagina <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Associazioni della classe</span></span> mostra tutte le associazioni di questa classe nel diagramma attuale. Fare doppio clic su un'associazione ne mostra le proprietà, e a seconda del tipo di associazione qui puoi modificare alcuni parametri, come l'impostazione di molteplicità e il nome del ruolo. Se l'associazione non permette la modifica di queste opzioni, la finestra Proprietà dell'associazione è di sola lettura, e puoi modificare solo la documentazione associata a questa associazione. </p><p>Questa pagina è disponibile solo se apri le Proprietà della classe da un diagramma. Se selezioni le proprietà della classe dal menu contestuale nella Vista ad albero questa pagina non è disponibile. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-display-page"></a>Pagina di visualizzazione delle classi</h4></div></div></div><p>Nella pagina <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Opzioni di visualizzazione</span></span>, puoi impostare cosa debba essere visualizzato nel diagramma. Una classe può essere mostrata solo come un rettangolo con dentro il nome della classe (utile se hai molte classi nel tuo diagramma, o per ora non sei interessato ai dettagli di ogni classe), o completamente, mostrando pacchetti, stereotipi, e attributi e operazioni con firma completa e visibilità </p><p>A seconda della quantità di informazione che vuoi vedere, puoi selezionare le opzioni corrispondenti in questa pagina. I cambiamenti che fai qui sono solo <span class="emphasis"><em>opzioni di visualizzazione</em></span> del diagramma. Ciò vuol dire che <span class="quote">«<span class="quote">nascondere</span>»</span> le operazioni di una classe non le fa apparire nel diagramma, ma le operazioni sono ancora parte del tuo modello. Questa opzione è disponibile solo se selezioni le proprietà della classe da un diagramma. Se apri le proprietà della classe dalla Vista ad albero, questa pagina manca, perché queste opzioni di visualizzazione, in quel caso, non hanno senso</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-color-page"></a>Pagina degli stili delle classi</h4></div></div></div><p>Nella pagina <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Stile dell'oggetto</span></span> puoi configurare i colori che vuoi usare per la linea e il riempimento dell'oggetto. Questa opzione ovviamente ha senso solo per le classi visualizzate nei diagrammi, e manca se apri la finestra delle proprietà delle classi dalla Vista ad albero. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="associations"></a>Associazioni</h3></div></div></div><p>Le associazioni mettono in relazione due oggetti <acronym class="acronym">UML</acronym>. Normalmente le associazioni sono definite tra due classi, ma alcuni tipi di associazioni possono esistere anche tra casi d'uso e attori. </p><p>Per creare un'associazione seleziona lo strumento appropriato dalla barra degli strumenti di lavoro (associazione generica, generalizzazione, aggregazione, <abbr class="abbrev">ecc.</abbr>), fai clic sul primo elemento che partecipa all'associazione e quindi fai clic sul secondo elemento partecipante. Nota che ci sono due clic, uno su ciascuno degli oggetti partecipanti all'associazione, <span class="emphasis"><em>non</em></span> è un trascinamento da un oggetto all'altro. </p><p>Se provi a usare un'associazione in un modo contrario alla specificazione <acronym class="acronym">UML</acronym>, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> si rifiuterà di creare l'associazione e riceverai un messaggio d'errore. Sarebbe il caso se, per esempio, esistesse una generalizzazione dalla classe A alla classe B e quindi provassi a creare un'altra generalizzazione dalla classe B alla classe A </p><p>Fare clic <span class="mousebutton">destro</span> su un'associazione mostrerà un menu contestuale con le azioni che puoi applicarci. Se devi eliminare un'associazione seleziona semplicemente l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Elimina</span></span> da questo menu contestuale. Puoi anche selezionare l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Proprietà</span></span> e, a seconda del tipo di associazione, modificare attributi come ruoli e molteplicità. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchor-points"></a>Punti di ancoraggio</h4></div></div></div><p>Le associazioni sono disegnate, come impostazione predefinita, come una linea retta che connette i due oggetti nel diagramma. </p><p>Puoi aggiungere dei punti di ancoraggio per piegare un'associazione facendo <span class="mousebutton">doppio</span> clic da qualche parte lungo la linea di associazione. Ciò inserirà un punto di ancoraggio (mostrato come un punto blu quando la linea di associazione è selezionata) che puoi spostare per dare forma all'associazione </p><p>Se hai bisogno di rimuovere un punto di ancoraggio, facci di nuovo <span class="mousebutton">doppio</span> clic per rimuoverlo </p><p>Nota che l'unico modo di modificare le proprietà di un'associazione è con il menu contestuale. Se provi a farci <span class="mousebutton">doppio</span> clic come su qualsiasi altro oggetto <acronym class="acronym">UML</acronym>, verrà soltanto inserito un punto di ancoraggio. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="notes"></a>Note, testo e riquadri</h3></div></div></div><p>Le note, le righe di testo e i riquadri sono elementi che possono essere presenti in ogni tipo di diagramma e non avere nessun valore semantico, ma sono molto utili per aggiungere dei commenti o delle spiegazioni che possono rendere il tuo diagramma più facile da capire. </p><p>Per aggiungere una nota o una riga di testo, seleziona lo strumento corrispondente dalla barra degli strumenti di lavoro, e fai clic sul diagramma dove vuoi mettere il tuo commento. Puoi modificare il testo aprendo l'elemento con il menu contestuale o, nel caso delle note, anche facendoci <span class="mousebutton">doppio</span> clic. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchors"></a>Ancore</h4></div></div></div><p>Le ancore sono usate per collegare insieme una nota di testo e un altro elemento <acronym class="acronym">UML</acronym>. Per esempio, normalmente usi una nota di testo per spiegare o fare qualche commento su una classe o un'associazione particolare, nel qual caso puoi usare l'àncora per mettere in chiaro che la nota <span class="quote">«<span class="quote">appartiene</span>»</span> a quell'elemento particolare. </p><p>Per aggiungere un'àncora tra una nota e un altro elemento <acronym class="acronym">UML</acronym>, usa lo strumento àncora dalla barra degli strumenti di lavoro. Devi innanzi tutto fare clic sulla nota e quindi sull'elemento <acronym class="acronym">UML</acronym> che vuoi collegare alla nota. </p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="add-remove-diagrams.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">Avanti</a></td></tr><tr><td class="prevCell">Aggiungere e rimuovere i diagrammi </td><td class="upCell">Lavorare con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Importazione e generazione di codice</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-elements.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="load-save.html">Avanti</a></td></tr><tr><td class="prevCell">Elementi <acronym class="acronym">UML</acronym> </td><td class="upCell"> </td><td class="nextCell"> Creare, caricare e salvare i modelli</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="code-import-generation.html"><html><head><title>Capitolo 4. Importazione e generazione di codice</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="edit-diagram.html" title="Modificare i diagrammi"><link rel="next" href="code-import.html" title="Importazione di codice"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Importazione e generazione di codice</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-diagram.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="code-import.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="code-import-generation"></a>Capitolo 4. Importazione e generazione di codice</h1></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> è uno strumento di modellazione <acronym class="acronym">UML</acronym>, e come tale il suo obiettivo principale è aiutarti <span class="emphasis"><em>nell'analisi e nella progettazione</em></span> dei tuoi sistemi. Tuttavia, per facilitare la transizione tra il tuo progetto e la tua <span class="emphasis"><em>implementazione</em></span>, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti permette di generare codice sorgente in diversi linguaggi di programmazione come inizio. Inoltre, se vuoi iniziare a usare <acronym class="acronym">UML</acronym> in un progetto C++ già cominciato, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> può aiutarti a creare un modello del tuo sistema dal codice sorgente analizzandolo e importando le classi trovateci. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="code-generation"></a>Generazione di codice</h2></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> può generare codice sorgente per vari linguaggi di programmazione in base al tuo modello <acronym class="acronym">UML</acronym> per aiutarti a iniziare l'implementazione del tuo progetto. Il codice generato consiste di dichiarazioni di classi, con i loro metodi e attributi in modo che tu possa <span class="quote">«<span class="quote">riempire gli spazi vuoti</span>»</span> fornendo la funzionalità delle operazioni delle tue classi. </p><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2 ha supporto per la generazione di codice ActionScript, Ada, C++, D, IDL, <span class="trademark">Java</span>™, JavaScript, MySQL e Pascal. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="generate-code"></a>Generare il codice</h3></div></div></div><p>Per generare il codice con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, devi prima creare o caricare un modello contenente almeno una classe. Quando sei pronto per iniziare a scrivere del codice, seleziona la voce <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Assistente per la generazione del codice</span></span> dal menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Codice</span></span> per avviare un assistente che ti guiderà attraverso il processo di generazione del codice. </p><p>Il primo passo è selezionare le classi per le quali vuoi generare del codice sorgente. Come impostazione predefinita tutte le classi del tuo modello sono selezionate, e puoi rimuovere quelle per le quali non vuoi generare codice spostandole nell'elenco sulla sinistra. </p><p>Il prossimo passo dell'assistente ti permette di modificare i parametri che il generatore di codice userà scrivendo il tuo codice. Sono disponibili le seguenti opzioni: </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generation-options.png" alt="Opzioni per la generazione del codice in Umbrello UML Modeller"><div class="caption"><p>Opzioni per la generazione del codice in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="generation-options"></a>Opzioni di generazione</h4></div></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm938"></a>Verbosità dei commenti</h5></div></div></div><p>L'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Scrivi commenti di documentazione anche se vuoto</span></span> dice al generatore di codice di scrivere commenti nello stile /** bla */ anche se i blocchi di commento sono vuoti. Se hai aggiunto della documentazione alle tue classi, metodi o attributi nel tuo modello, il generatore di codice scriverà questi commenti come documentazione <span class="application">Doxygen</span>, indipendentemente da cosa imposti qui, ma se selezioni questa opzione <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> scriverà blocchi di commento per tutte le classi, i metodi e gli attributi anche se non c'è documentazione nel modello, nel qual caso dovresti documentare le tue classi in seguito, direttamente nel codice sorgente. </p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Scrivi commenti per le sezioni anche se la sezione è vuota</span></span> fa in modo che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> scriva commenti nel codice sorgente per delimitare le diverse sezioni di una classe. Per esempio <span class="quote">«<span class="quote">metodi pubblici</span>»</span> o <span class="quote">«<span class="quote">Attributi</span>»</span> prima delle sezioni corrispondente. Se selezioni questa opzione <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> scriverà commenti per tutte le sezioni della classe anche se la sezione è vuota. Per esempio, scriverebbe un commento che dice <span class="quote">«<span class="quote">metodi protetti</span>»</span> anche se non ci sono metodi protetti nella tua classe. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm954"></a>Cartelle</h5></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Scrivi tutti i file generati nella cartella</span></span>. Qui dovresti scegliere la cartella dove vuoi che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> metta il sorgente generato. </p><p>L'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Includi i file di intestazione dalla cartella</span></span> ti permette di inserire un'intestazione all'inizio di ogni file generato. I file d'intestazione possono contenere informazioni di copyright o licenza e contenere variabili che sono valutate al momento della generazione. Puoi dare un'occhiata ai modelli di file d'intestazione forniti con <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> per vedere come usare queste variabili per sostituire il tuo nome o la data attuale al momento della generazione. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm964"></a>Politica di sovrascrittura</h5></div></div></div><p>Questa opzione dice a <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> cosa fare se il file che vuole creare esiste già nella cartella di destinazione. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> <span class="emphasis"><em>non può modificare file sorgente esistenti</em></span>, quindi devi scegliere tra sovrascrivere il file esistente, saltare la generazione di un certo file o lasciare che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> scelga un nome file diverso. Se scegli l'opzione di usare un nome diverso, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> aggiungerà un suffisso al nome file. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm976"></a>Linguaggio</h5></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> genererà codice, come impostazione predefinita, nel linguaggio che hai selezionato come Linguaggio attivo, ma con l'Assistente per la generazione del codice hai l'opzione di cambiarlo in un altro linguaggio. </p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="generation-wizard-generation"></a>Generazione con l'assistente di generazione</h4></div></div></div><p>Il terzo e ultimo passo dell'assistente mostra lo stato del processo di generazione del codice. Devi solo fare clic sul pulsante Genera per avere le tue classi scritte. </p><p>Nota che le opzioni che selezioni nell'assistente per la generazione del codice sono valide solo per la generazione corrente. La prossima volta che esegui l'assistente dovrai riselezionare tutte le opzioni (la cartella delle intestazioni, la politica di sovrascrittura, e così via). Puoi impostare i valori predefiniti usati da <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> nella sezione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Generazione del codice</span></span> nelle impostazioni di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, disponibile a <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Impostazioni</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Configura <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>...</span></span> </p><p>Se devi impostare le tue opzioni di generazione del codice ai valori giusti e vuoi subito generare del codice subito senza passare per l'assistente, puoi selezionare l'intero <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Genera tutto il codice</span></span> dal menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Codice</span></span>. Ciò genererà codice per tutte le classi nel tuo modello usando le impostazioni correnti (incluse la cartella di output e la politica di sovrascrittura, quindi usalo con attenzione). </p></div></div></div><FILENAME filename="code-import.html"><html><head><title>Importazione di codice</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="code-import-generation.html" title="Capitolo 4. Importazione e generazione di codice"><link rel="prev" href="code-import-generation.html" title="Capitolo 4. Importazione e generazione di codice"><link rel="next" href="other-features.html" title="Capitolo 5. Altre funzionalità"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Importazione di codice</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import-generation.html">Indietro</a></td><td class="upCell">Importazione e generazione di codice</td><td class="nextCell"><a accesskey="n" href="other-features.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="code-import"></a>Importazione di codice</h2></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> può importare codice sorgente dai tuoi progetti esistenti per aiutarti a costruire un modello del tuo sistema. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2 supporta codice sorgente in ActionScript, Ada, C++, C#, D, IDL, <span class="trademark">Java</span>™, Javascript, MySQL e Pascal. </p><p>Per importare classi nel tuo modello, seleziona la voce <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Assistente di importazione del codice</span></span> dal menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Codice</span></span>. Nella finestra apposita, seleziona i file contenenti le dichiarazioni delle classi C++ e premi <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Successivo</span></span>, quindi <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Avvia importazione</span></span> e <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Completa</span></span>. Le classi saranno importare e le troverai come parte del modello nella vista ad albero. Nota che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> non creerà nessun tipo di diagramma per mostrarti le classi, esse saranno solo importate nel modello in modo che da poterle usare in seguito in qualsiasi diagramma tu voglia. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-import.png" alt="Menu per importare codice sorgente in Umbrello UML Modeller"><div class="caption"><p>Menu per importare codice sorgente in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </p></div></div></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import-generation.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="other-features.html">Avanti</a></td></tr><tr><td class="prevCell">Importazione e generazione di codice </td><td class="upCell">Importazione e generazione di codice</td><td class="nextCell"> Altre funzionalità</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-diagram.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="code-import.html">Avanti</a></td></tr><tr><td class="prevCell">Modificare i diagrammi </td><td class="upCell"> </td><td class="nextCell"> Importazione di codice</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="other-features.html"><html><head><title>Capitolo 5. Altre funzionalità</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="code-import.html" title="Importazione di codice"><link rel="next" href="authors.html" title="Capitolo 6. Autori e storia"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Altre funzionalità</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="authors.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="other-features"></a>Capitolo 5. Altre funzionalità</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm1030"></a>Altre funzionalità di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h2></div></div></div><p>Questo capitolo spiegherà brevemente alcune altre funzionalità che <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti offre.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="copying-as-png"></a>Copiare oggetti come immagini PNG</h3></div></div></div><p>Oltre a offrirti la funzionalità normale di copia, taglia e incolla che ti aspetteresti per copiare oggetti tra diversi diagrammi, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> può copiare oggetti come immagini PNG in modo che tu possa inserirli in un altro tipo di documento. Non hai bisogno di fare nulla di speciale per usare questa funzionalità, seleziona semplicemente un oggetto da un diagramma (Classe, Attore, <abbr class="abbrev">ecc.</abbr>) e copialo (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>, o usando il menu), quindi apri un documento di <span class="application">Calligra Words</span> (o qualsiasi programma in cui puoi incollare immagini) e seleziona <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Incolla</span></span>. Questa è un'ottima funzionalità per esportare parti del tuo diagramma come semplici immagini. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="export-as-png"></a>Esportare come immagine</h3></div></div></div><p>Puoi anche esportare un diagramma completo come immagine. L'unica cosa che devi fare è selezionare il diagramma che vuoi esportare, e l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Esporta come immagine...</span></span> dal menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagramma</span></span>. </p><p>Puoi esportare diversi diagrammi contemporaneamente usando l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Esporta i diagrammi come immagini...</span></span> nel menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span>. Tramite essa puoi anche impostare la risoluzione dell'immagine, in modo che le immagini non saranno sfocate. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="printing"></a>Stampa</h3></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ti permette di stampare diagrammi individuali. Premere il pulsante <span class="guiicon">Stampa</span> sulla barra delle applicazioni o selezionare l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Stampa</span></span> dal menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> ti porterà a una finestra di dialogo di stampa standard di <span class="orgname">KDE</span>, dalla quale puoi stampare i tuoi diagrammi. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="logical-folders"></a>Cartelle logiche</h3></div></div></div><p>Per organizzare meglio il tuo documento, specialmente per i progetti più grandi, puoi creare cartelle logiche nella Vista ad albero. Seleziona l'opzione <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Nuovo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Cartella</span></span> dal menu contestuale delle cartelle predefinite nella Vista ad albero per crearle. Le cartelle possono essere annidate, e puoi spostare gli oggetti trascinandoli da una cartella e sganciandoli in un'altra. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="folders.png" alt="Organizzare un modello con le cartelle logiche in Umbrello UML Modeller"><div class="caption"><p>Organizzare un modello con le cartelle logiche in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </p></div></div></div></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="authors.html">Avanti</a></td></tr><tr><td class="prevCell">Importazione di codice </td><td class="upCell"> </td><td class="nextCell"> Autori e storia</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="authors.html"><html><head><title>Capitolo 6. Autori e storia</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="other-features.html" title="Capitolo 5. Altre funzionalità"><link rel="next" href="copyright.html" title="Capitolo 7. Copyright"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Autori e storia</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="copyright.html">Avanti</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="authors"></a>Capitolo 6. Autori e storia</h1></div></div></div><p>Il progetto è stato iniziato da Paul Hengsen come uno dei suoi progetti universitari. Il nome originale dell'applicazione era <span class="application">UML Modeller</span>. Paul fece tutto lo sviluppo fino alla fine del 2001, quando il programma raggiunse la versione 1.0. </p><p>La versione 1.0 offriva già molte funzionalità, ma dopo che il progetto è stato valutato all'università di Paul, altri sviluppatori hanno potuto unirsi dando contributi di valore a <span class="application">UML Modeller</span>, come passare da un file binario a un file <acronym class="acronym">XML</acronym>, supporto per più tipi di diagrammi <acronym class="acronym">UML</acronym>, generazione e importazione di codice solo per menzionarne alcuni. </p><p>Paul si è dovuto ritirare dalla squadra di sviluppo nell'estate 2002, ma, come software libero, il programma continua a migliorare e evolversi, ed è mantenuto da un gruppo di sviluppatori da diverse parti del mondo. Nel settembre 2002 il progetto ha cambiato il suo nome da <span class="application"><acronym class="acronym">UML</acronym> Modeller</span> in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>. Ci sono diverse ragioni per il cambio di nome, la più importante è che solo <span class="quote">«<span class="quote">uml</span>»</span>, come era comunemente noto, era un nome troppo generico e causava problemi con alcune distribuzioni. L'altra ragione importante è che gli sviluppatori pensano che <span class="application">Umbrello</span> sia un nome molto più bello. </p><p>Lo sviluppo di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> e le discussioni sugli sviluppi futuri del programma sono aperti e si trovano su Internet. Se vuoi contribuire al progetto, non esitare a contattare gli sviluppatori. Ci sono molti modi in cui puoi aiutare <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Fare rapporti di errori o suggerire miglioramenti</p></li><li class="listitem"><p>Correggere errori o aggiungere funzionalità</p></li><li class="listitem"><p>Scrivere della buona documentazione o tradurla in altre lingue</p></li><li class="listitem"><p>E ovviamente... scrivere codice con noi!</p></li></ul></div><p>Come vedi, ci sono molti modi in cui puoi contribuire. Tutti sono molto importanti e tutti sono i benvenuti a partecipare. </p><p>Gli sviluppatori di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> possono essere raggiunti all'indirizzo <code class="email">(umbrello-devel AT kde.org)</code>. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"><a accesskey="n" href="copyright.html">Avanti</a></td></tr><tr><td class="prevCell">Altre funzionalità </td><td class="upCell"> </td><td class="nextCell"> Copyright</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="copyright.html"><html><head><title>Capitolo 7. Copyright</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modellazione, diagrammi, sviluppo software, sviluppo"><link rel="home" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="up" href="index.html" title="Manuale di Umbrello UML Modeller"><link rel="prev" href="authors.html" title="Capitolo 6. Autori e storia"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Copyright</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="authors.html">Indietro</a></td><td class="upCell"> </td><td class="nextCell"></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="copyright"></a>Capitolo 7. Copyright</h1></div></div></div><p>Copyright 2001 di Paul Hensgen</p><p>Copyright 2002-2014 degli autori di <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>.</p><p><a name="gnu-fdl"></a>Questa documentazione è concessa in licenza sotto i termini della <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation
License</a>.</p><p>Questo programma è concesso in licenza sotto i termini della <a class="ulink" href="help:/kdoctools5-common/gpl-translated.html" target="_top">GNU General Public License</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="authors.html">Indietro</a></td><td class="upCell"><a accesskey="h" href="index.html">Partenza</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Autori e storia </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Avanti</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Introduzione</td></tr></table></div><div id="footer_text">Vuoi mandare un commento o contribuire all'aggiornamento di questa pagina?<br>Invia le tue segnalazioni alla <a href="mailto:kde-doc-english@kde.org" class="footer_email">Squadra di documentazione di KDE</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Thu Jun 27 22:48:32 CEST 2024.