dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Umbrello UML Modeller Handbook</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 helps the software development process by using the industry standard Unified Modelling Language (UML) to enable you to create diagrams for designing and documenting your systems."><meta name="keywords" content="KDE, UML, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="next" href="introduction.html" title="Chapter 1. Introduction"><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"> <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Handbook</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">Next</a></td></tr></table></div><div id="contentBody"><div lang="en" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="Umbrello"></a><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Handbook</h1></div><div><div class="authorgroup"><h3 class="corpauthor"><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Authors</h3></div></div><div>Revision <span class="releaseinfo">2.11.0 (<span class="date">2013-06-01</span>)</span></div><div><p class="copyright">Copyright © 2001 Paul Hensgen</p></div><div><p class="copyright">Copyright © 2002-2020 <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Authors</p></div><div><div><div class="abstract"><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> helps the software development
process by using the industry standard Unified Modelling Language (<acronym class="acronym">UML</acronym>)
to enable you to create diagrams for designing and documenting your systems.
</p></div></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Introduction</a></span></dt><dt><span class="chapter"><a href="uml-basics.html">2. <acronym class="acronym">UML</acronym> Basics</a></span></dt><dd><dl><dt><span class="sect1"><a href="uml-basics.html#about-uml">About <acronym class="acronym">UML</acronym></a></span></dt><dt><span class="sect1"><a href="uml-elements.html"><acronym class="acronym">UML</acronym> Elements</a></span></dt><dd><dl><dt><span class="sect2"><a href="uml-elements.html#use-case-diagram">Use Case Diagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#class-diagram">Class Diagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#sequence-diagram">Sequence Diagrams</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#collaboration-diagram">Collaboration Diagrams</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#state-diagram">State Diagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#activity-diagram">Activity Diagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#helper-elements">Helper Elements</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#component-diagram">Component Diagrams</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#deployment-diagram">Deployment Diagrams</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#entity-relationship-diagram">Entity Relationship Diagrams</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#extended-entity-relationship-concepts">Extended Entity Relationship (EER) Diagram Concepts</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="working-with-umbrello.html">3. Working with <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">User Interface</a></span></dt><dd><dl><dt><span class="sect2"><a href="working-with-umbrello.html#tree-view">Tree View</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#documentation-window">Documentation and Command History Window</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#work-area">Work Area</a></span></dt></dl></dd><dt><span class="sect1"><a href="load-save.html">Creating, Loading and Saving Models</a></span></dt><dd><dl><dt><span class="sect2"><a href="load-save.html#new-model">New Model</a></span></dt><dt><span class="sect2"><a href="load-save.html#save-model">Save Model</a></span></dt><dt><span class="sect2"><a href="load-save.html#load-model">Load Model</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-model.html">Editing Models</a></span></dt><dt><span class="sect1"><a href="add-remove-diagrams.html">Adding and Removing Diagrams</a></span></dt><dd><dl><dt><span class="sect2"><a href="add-remove-diagrams.html#create-diagram">Creating Diagrams</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#remove-diagram">Removing Diagrams</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#rename-diagram">Renaming Diagrams</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-diagram.html">Editing Diagrams</a></span></dt><dd><dl><dt><span class="sect2"><a href="edit-diagram.html#insert-elements">Insert Elements</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#delete-elements">Deleting Elements</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-elements">Editing Elements</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-classes">Editing Classes</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#associations">Associations</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#notes">Notes, Text and Boxes</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="code-import-generation.html">4. Code Import and Code Generation</a></span></dt><dd><dl><dt><span class="sect1"><a href="code-import-generation.html#code-generation">Code Generation</a></span></dt><dd><dl><dt><span class="sect2"><a href="code-import-generation.html#generate-code">Generating Code</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-import.html">Code Import</a></span></dt></dl></dd><dt><span class="chapter"><a href="other-features.html">5. Other Features</a></span></dt><dd><dl><dt><span class="sect1"><a href="other-features.html#idm1023">Other <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Features</a></span></dt><dd><dl><dt><span class="sect2"><a href="other-features.html#copying-as-png">Copying objects as PNG images</a></span></dt><dt><span class="sect2"><a href="other-features.html#export-as-png">Exporting to an Image</a></span></dt><dt><span class="sect2"><a href="other-features.html#printing">Printing</a></span></dt><dt><span class="sect2"><a href="other-features.html#logical-folders">Logical Folders</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="settings.html">6. Settings</a></span></dt><dd><dl><dt><span class="sect1"><a href="settings.html#general-settings">General Settings</a></span></dt><dd><dl><dt><span class="sect2"><a href="settings.html#misc-settings">Miscellaneous</a></span></dt><dt><span class="sect2"><a href="settings.html#autosave-settings">Autosave</a></span></dt><dt><span class="sect2"><a href="settings.html#startup-settings">Startup</a></span></dt><dt><span class="sect2"><a href="settings.html#notifications-settings">Notifications</a></span></dt></dl></dd><dt><span class="sect1"><a href="font-settings.html">Font Settings</a></span></dt><dt><span class="sect1"><a href="ui-settings.html">User Interface Settings</a></span></dt><dd><dl><dt><span class="sect2"><a href="ui-settings.html#ui-general">General</a></span></dt><dt><span class="sect2"><a href="ui-settings.html#ui-associations">Associations</a></span></dt><dt><span class="sect2"><a href="ui-settings.html#ui-color">Color</a></span></dt></dl></dd><dt><span class="sect1"><a href="class-settings.html">Class Settings</a></span></dt><dd><dl><dt><span class="sect2"><a href="class-settings.html#show-class-settings">Show</a></span></dt><dt><span class="sect2"><a href="class-settings.html#starting-scope-class-settings">Starting Scope</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-importer-settings.html">Code Import Settings</a></span></dt><dd><dl><dt><span class="sect2"><a href="code-importer-settings.html#include-search-paths-settings">Include Search Paths</a></span></dt><dt><span class="sect2"><a href="code-importer-settings.html#cpp-import-settings">C++-Import</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-generation-settings.html">Code Generation Settings</a></span></dt><dd><dl><dt><span class="sect2"><a href="code-generation-settings.html#code-gen-settings-general-tab">Code Generation Settings General Tab</a></span></dt><dt><span class="sect2"><a href="code-generation-settings.html#code-gen-settings-format-tab">Code Generation Settings Formatting Tab</a></span></dt><dt><span class="sect2"><a href="code-generation-settings.html#code-gen-settings-language-options">Language Options</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-viewer-settings.html">Code Viewer Settings</a></span></dt><dt><span class="sect1"><a href="auto-layout-settings.html">Auto Layout Settings</a></span></dt></dl></dd><dt><span class="chapter"><a href="authors.html">7. Authors and History</a></span></dt><dt><span class="chapter"><a href="copyright.html">8. Copyright</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Chapter 1. Introduction</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="next" href="uml-basics.html" title="Chapter 2. UML Basics"><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"> Introduction</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-basics.html">Next</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Chapter 1. Introduction</h1></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> is a <acronym class="acronym">UML</acronym> diagram tool that can support you
in the software development process.
Especially during the analysis and design phases of this process, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will help you to
get a high quality product. <acronym class="acronym">UML</acronym> can also be used to document your software designs to help you and your
fellow developers.
</p><p>
Having a good model of your software is the best way to communicate with
other developers working on the project and with your customers. A good model
is extremely important for medium and big-size projects, but it is also very useful
for small ones. Even if you are working on a small one man project you
will benefit from a good model because it will give you an overview that will help
you code things right the first time.
</p><p>
<acronym class="acronym">UML</acronym> is the diagramming language used to describing such models. You can represent your ideas in <acronym class="acronym">UML</acronym>
using different types of diagrams. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2.11 supports the following types:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Class Diagram</p></li><li class="listitem"><p>Sequence Diagram</p></li><li class="listitem"><p>Collaboration Diagram</p></li><li class="listitem"><p>Use Case Diagram</p></li><li class="listitem"><p>State Diagram</p></li><li class="listitem"><p>Activity Diagram</p></li><li class="listitem"><p>Component Diagram</p></li><li class="listitem"><p>Deployment Diagram</p></li><li class="listitem"><p>Entity Relationship Diagram</p></li></ul></div><p>
More information about <acronym class="acronym">UML</acronym> can be found at the website of
<a class="ulink" href="http://www.omg.org" target="_top"><acronym class="acronym">OMG</acronym>, http://www.omg.org</a> who create the <acronym class="acronym">UML</acronym> standard.
</p><p>
We hope you enjoy <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> and that it helps you create high quality software.
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> is Free Software and available at no cost, the only thing we ask from you is to report any bugs, problems, or suggestions
to the <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> developers at <code class="email">(umbrello-devel AT kde.org)</code> or 
<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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="uml-basics.html">Next</a></td></tr><tr><td class="prevCell"><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Handbook </td><td class="upCell"> </td><td class="nextCell"> <acronym class="acronym">UML</acronym> Basics</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="uml-basics.html"><html><head><title>Chapter 2. UML Basics</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="introduction.html" title="Chapter 1. Introduction"><link rel="next" href="uml-elements.html" title="UML Elements"><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"> <acronym class="acronym">UML</acronym> Basics</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-elements.html">Next</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="uml-basics"></a>Chapter 2. <acronym class="acronym">UML</acronym> Basics</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="about-uml"></a>About <acronym class="acronym">UML</acronym></h2></div></div></div><p>
This chapter will give you a quick overview of the basics of <acronym class="acronym">UML</acronym>. Keep in mind
that this is not a comprehensive tutorial on <acronym class="acronym">UML</acronym> but rather a brief introduction to <acronym class="acronym">UML</acronym> which can be read as a <acronym class="acronym">UML</acronym> tutorial. 
If you would like to learn more about the
Unified Modelling Language, or in general about software analysis and design, refer to one of the
many books available on the topic. There are also a lot of tutorials on the Internet which you
can take as a starting point.
</p><p>
The Unified Modelling Language (<acronym class="acronym">UML</acronym>) is a diagramming language or notation to specify, visualize and document
models of Object Oriented software systems. <acronym class="acronym">UML</acronym> is not a development method, that means it does not tell you
what to do first and what to do next or how to design your system, but it helps you to visualize
your design and communicate with others. <acronym class="acronym">UML</acronym> is controlled by the Object Management Group (<acronym class="acronym">OMG</acronym>) and is the
industry standard for graphically describing software.
</p><p>
<acronym class="acronym">UML</acronym> is designed for Object Oriented software design and has limited use for other programming paradigms.
</p><p>
<acronym class="acronym">UML</acronym> is composed of many model elements that represent the different parts of a software system.
The <acronym class="acronym">UML</acronym> elements are used to create diagrams, which represent a certain part, or a point of view of
the system.
The following types of diagrams are supported by <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><span class="emphasis"><em><a class="link" href="uml-elements.html#use-case-diagram" title="Use Case Diagram">Use Case
Diagrams</a></em></span> show actors (people or other users of the
system), use cases (the scenarios when they use the system), and their
relationships</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#class-diagram" title="Class Diagram">Class
Diagrams</a></em></span> show classes and the relationships between
them</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#sequence-diagram" title="Sequence Diagrams">Sequence
Diagrams</a></em></span> show objects and a sequence of method calls
they make to other objects.</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#collaboration-diagram" title="Collaboration Diagrams">Collaboration
Diagrams</a></em></span> show objects and their relationship,
 putting emphasis on the objects that participate in the message exchange</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#state-diagram" title="State Diagram">State
Diagrams</a></em></span> show states, state changes and events in an
object or a part of the system</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#activity-diagram" title="Activity Diagram">Activity
Diagrams</a></em></span> show activities and the changes from one
activity to another with the events occurring in some part of the
system</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#component-diagram" title="Component Diagrams">Component
Diagrams</a></em></span> show the high level programming components
(such as KParts or Java Beans).</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#deployment-diagram" title="Deployment Diagrams">Deployment Diagrams</a></em></span> show
the instances of the components and their
relationships.</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#entity-relationship-diagram" title="Entity Relationship Diagrams">Entity Relationship Diagrams</a></em></span> show
data and the relationships and constraints between the data.</p></li></ul></div></div><FILENAME filename="uml-elements.html"><html><head><title>UML Elements</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="uml-basics.html" title="Chapter 2. UML Basics"><link rel="prev" href="uml-basics.html" title="Chapter 2. UML Basics"><link rel="next" href="working-with-umbrello.html" title="Chapter 3. Working with 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"> <acronym class="acronym">UML</acronym> Elements</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-basics.html">Prev</a></td><td class="upCell"><acronym class="acronym">UML</acronym> Basics</td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">Next</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><acronym class="acronym">UML</acronym> Elements</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="use-case-diagram"></a>Use Case Diagram</h3></div></div></div><p>Use Case Diagrams describe the relationships and dependencies between a group of <span class="emphasis"><em>Use Cases</em></span>
and the Actors participating in the process.</p><p>It is important to notice that Use Case Diagrams are not suited to represent the design,
and cannot describe the internals of a system. Use Case Diagrams are meant to facilitate the communication
with the future users of the system, and with the customer, and are specially helpful to determine the required
features the system is to have. Use Case Diagrams tell, <span class="emphasis"><em>what</em></span> the system
should do but do not — and cannot — specify <span class="emphasis"><em>how</em></span> this is to be achieved.</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 showing a Use Case Diagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> showing a Use Case Diagram
            </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case"></a>Use Case</h4></div></div></div><p>A <span class="emphasis"><em>Use Case</em></span> describes — from the point of view of the actors — a group of activities
in a system that produces a concrete, tangible result.</p><p>
Use Cases are descriptions of the typical interactions between the users of a system and the system itself.
They represent the external interface of the system and specify a form of requirements of what the
system has to do (remember, only what, not how).
</p><p>When working with Use Cases, it is important to remember some simple rules:
 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Each Use Case is related to at least one actor</p></li><li class="listitem"><p>Each Use Case has an initiator (<abbr class="abbrev">i.e.</abbr> an actor)</p></li><li class="listitem"><p>Each Use Case leads to a relevant result (a result with <span class="quote">“<span class="quote">business value</span>”</span>)</p></li></ul></div><p>
</p><p>
Use Cases can also have relationships with other Use Cases. The three most typical types of relationships
between Use Cases are:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;include&gt;&gt;</em></span> which specifies that a Use Case takes place <span class="emphasis"><em>inside</em></span>
another Use Case</p></li><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;extends&gt;&gt;</em></span> which specifies that in certain situations, or at some point (called an
extension point) a Use Case will be extended by another.</p></li><li class="listitem"><p><span class="emphasis"><em>Generalization</em></span> specifies that a Use Case inherits the characteristics
of the <span class="quote">“<span class="quote">Super</span>”</span>-Use Case, and can override some of them or add new ones in a similar way as the
inheritance between classes.
</p></li></ul></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="actor"></a>Actor</h4></div></div></div><p>
An actor is an external entity (outside of the system) that interacts with the system by participating
(and often initiating) a Use Case. Actors can be in real life people (for example users of the system),
other computer systems or external events.
</p><p>
Actors do not represent the <span class="emphasis"><em>physical</em></span> people or systems, but their <span class="emphasis"><em>role</em></span>.
This means that when a person interacts with the system in different ways (assuming different roles) he will be
represented by several actors. For example a person that gives customer support by the telephone and takes
orders from the customer into the system would be represented by an actor <span class="quote">“<span class="quote">Support Staff</span>”</span> and
an actor <span class="quote">“<span class="quote">Sales Representative</span>”</span>
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case-description"></a>Use Case Description</h4></div></div></div><p>  
Use Case Descriptions are textual narratives of the Use Case. They usually take the form of a note or
a document that is somehow linked to the Use Case, and explains the processes or activities that take
place in the Use Case.
</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="class-diagram"></a>Class Diagram</h3></div></div></div><p>
Class Diagrams show the different classes that make up a system and how they relate to each other. Class Diagrams
are said to be <span class="quote">“<span class="quote">static</span>”</span> diagrams because they show the classes, along with their methods and
attributes as well as the static relationships between them: which classes <span class="quote">“<span class="quote">know</span>”</span> about which classes
or which classes <span class="quote">“<span class="quote">are part</span>”</span> of another class, but do not show the method calls
between them.
</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 showing a Class Diagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> showing a Class Diagram
            </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class"></a>Class</h4></div></div></div><p>
A Class defines the attributes and the methods of a set of objects. All objects of this class (instances
of this class) share the same behavior, and have the same set of attributes (each object has its own set).
The term <span class="quote">“<span class="quote">Type</span>”</span> is sometimes used instead of Class, but it is important to mention that these
two are not the same, and Type is a more general term.
</p><p>
In <acronym class="acronym">UML</acronym>, Classes are represented by rectangles, with the name of the class, and can also show
the attributes and operations of the class in two other <span class="quote">“<span class="quote">compartments</span>”</span> inside the rectangle.
</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class.png" alt="Visual representation of a Class in UML"><div class="caption"><p>Visual representation of a Class 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>Attributes</h5></div></div></div><p>
In <acronym class="acronym">UML</acronym>, Attributes are shown with at least their name, and can also show their type, initial value and
other properties.
Attributes can also be displayed with their visibility:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code>  Stands for <span class="emphasis"><em>public</em></span> attributes</p></li><li class="listitem"><p><code class="literal">#</code>  Stands for <span class="emphasis"><em>protected</em></span> attributes</p></li><li class="listitem"><p><code class="literal">-</code>  Stands for <span class="emphasis"><em>private</em></span> attributes</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="operation"></a>Operations</h5></div></div></div><p>
Operations (methods) are also displayed with at least their name, and can also show their parameters and return
types.
Operations can, just as Attributes, display their visibility:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code>  Stands for <span class="emphasis"><em>public</em></span> operations</p></li><li class="listitem"><p><code class="literal">#</code>  Stands for <span class="emphasis"><em>protected</em></span> operations</p></li><li class="listitem"><p><code class="literal">-</code>  Stands for <span class="emphasis"><em>private</em></span> operations</p></li></ul></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="templates"></a>Templates</h5></div></div></div><p>
Classes can have templates, a value which is used for an unspecified class or type.  The template type is specified
when a class is initiated (<abbr class="abbrev">i.e.</abbr> an object is created).  Templates exist in modern C++ and will be introduced in Java 1.5 where 
they will be called Generics.
</p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations"></a>Class Associations</h4></div></div></div><p>Classes can relate (be associated with) to each other in different ways:</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="generalization"></a>Generalization</h5></div></div></div><p>Inheritance is one of the fundamental concepts of Object Oriented programming, in which a class
<span class="quote">“<span class="quote">gains</span>”</span> all of the attributes and operations of the class it inherits from, and can
override/modify some of them, as well as add more attributes and operations of its own.</p><p>
In <acronym class="acronym">UML</acronym>, a <span class="emphasis"><em>Generalization</em></span> association between two classes puts them in a hierarchy
representing the concept of inheritance of a derived class from a base class. In <acronym class="acronym">UML</acronym>, Generalizations are
represented by a line connecting the two classes, with an arrow on the side of the base class.
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generalization.png" alt="Visual representation of a generalization in UML"><div class="caption"><p>Visual representation of a generalization 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>Associations</h5></div></div></div><p>An association represents a relationship between classes, and gives the common semantics and structure
for many types of <span class="quote">“<span class="quote">connections</span>”</span> between objects.</p><p>Associations are the mechanism that allows objects to communicate to each other. It describes the connection
between different classes (the connection between the actual objects is called object connection, or
<span class="emphasis"><em>link</em></span>.
</p><p>
Associations can have a role that specifies the purpose of the association and can be uni- or bidirectional
(indicates if the two objects participating in the relationship can send messages to the other, of if only
one of them knows about the other). Each end of the association also has a multiplicity value, which dictates
how many objects on this side of the association can relate to one object on the other side.
</p><p>
In <acronym class="acronym">UML</acronym>, associations are represented as lines connecting the classes participating in the relationship,
and can also show the role and the multiplicity of each of the participants. Multiplicity is displayed as a
range [min..max] of non-negative values, with a star (<code class="literal">*</code>) on the maximum side representing infinite.
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="association.png" alt="Visual representation of an Association in UML"><div class="caption"><p>Visual representation of an Association 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>Aggregation</h5></div></div></div><p>Aggregations are a special type of associations in which the two participating classes don't have
an equal status, but make a <span class="quote">“<span class="quote">whole-part</span>”</span> relationship. An Aggregation describes how the class
that takes the role of the whole, is composed (has) of other classes, which take the role of the parts.
For Aggregations, the class acting as the whole always has a multiplicity of one.
</p><p>
In <acronym class="acronym">UML</acronym>, Aggregations are represented by an association that shows a rhomb on the side of the whole.
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="aggregation.png" alt="Visual representation of an Aggregation relationship in UML"><div class="caption"><p>Visual representation of an Aggregation relationship 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>Composition</h5></div></div></div><p>Compositions are associations that represent <span class="emphasis"><em>very strong</em></span> aggregations. This means,
Compositions form whole-part relationships as well, but the relationship is so strong that the parts cannot
exist on its own. They exist only inside the whole, and if the whole is destroyed the parts die too.</p><p>In <acronym class="acronym">UML</acronym>, Compositions are represented by a solid rhomb on the side of the whole.
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="composition.png" alt="Visual representation of a Composition relationship in UML"></div></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="other-class-diagram-items"></a>Other Class Diagram Items</h4></div></div></div><p>Class diagrams can contain several other items besides classes.</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="interfaces"></a>Interfaces</h5></div></div></div><p>Interfaces are abstract classes which means instances cannot be directly created of them.  They can contain operations but no attributes.  Classes can inherit from interfaces (through a realisation association) and instances can then be made of these diagrams.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="datatype"></a>Datatypes</h5></div></div></div><p>Datatypes are primitives which are typically built into a programming language.  Common examples include integers and booleans.  
They cannot have relationships to classes but classes can have relationships to them.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="enum"></a>Enums</h5></div></div></div><p>Enums are a simple list of values.  A typical example is an enum for days of the week.  The options of an enum are called Enum Literals.
Like datatypes they cannot have relationships to classes but classes can have relationships to them.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="package"></a>Packages</h5></div></div></div><p>Packages represent a namespace in a programming language.  In a diagram 
they are used to represent parts of a system which contain more than one class, maybe hundereds of classes.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="sequence-diagram"></a>Sequence Diagrams</h3></div></div></div><p> Sequence Diagrams show the message exchange (<abbr class="abbrev">i.e.</abbr> method call)
between several Objects in a specific time-delimited
situation. Objects are instances of classes.
Sequence Diagrams put special emphasis in the order and the
times in which the messages to the objects are sent.</p><p> 
In Sequence Diagrams objects are represented through vertical dashed lines, with the name of the Object
on the top. The time axis is also vertical, increasing downwards, so that messages are sent from one Object
to another in the form of arrows with the operation and parameters name. 
</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 showing a Sequence Diagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> showing a Sequence Diagram
            </p></div></div></div><p>Messages can be either synchronous, the normal type of message call where control is passed to the called object until that
method has finished running, or asynchronous where control is passed back directly to the calling object.  Synchronous messages have
a vertical box on the side of the called object to show the flow of program control.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="collaboration-diagram"></a>Collaboration Diagrams</h3></div></div></div><p>Collaboration Diagrams show the interactions occurring between the objects participating in a specific
situation. This is more or less the same information shown by Sequence Diagrams but there the emphasis is
put on how the interactions occur in time while the Collaboration Diagrams 
put the relationships between the objects and their topology in the foreground.</p><p>In Collaboration Diagrams messages sent from one object to another are represented by arrows, showing
the message name, parameters, and the sequence of the message. Collaboration Diagrams are specially well suited
to showing a specific program flow or situation and are one of the best diagram types to quickly demonstrate
or explain one process in the program logic.
</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 showing a Collaboration Diagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> showing a Collaboration Diagram
            </p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="state-diagram"></a>State Diagram</h3></div></div></div><p>State Diagrams show the different states of an Object during its life and the stimuli that
cause the Object to change its state.
</p><p>State Diagrams view Objects as <span class="emphasis"><em>state machines</em></span> or finite automates that can
be in one of a set of finite states and that can change its state via one of a finite set of stimuli. For example
an Object of type <span class="emphasis"><em>NetServer</em></span> can be in one of following states during its life:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Ready</p></li><li class="listitem"><p>Listening</p></li><li class="listitem"><p>Working</p></li><li class="listitem"><p>Stopped</p></li></ul></div><p>and the events that can cause the Object to change states are</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Object is created</p></li><li class="listitem"><p>Object receives message listen</p></li><li class="listitem"><p>A Client requests a connection over the network</p></li><li class="listitem"><p>A Client terminates a request</p></li><li class="listitem"><p>The request is executed and terminated</p></li><li class="listitem"><p>Object receives message stop</p></li><li class="listitem"><p>etc</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 showing a State Diagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> showing a State Diagram
            </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="state"></a>State</h4></div></div></div><p>States are the building block of State Diagrams. A State belongs to exactly one class and represents
a summary of the values the attributes of a class can take. A <acronym class="acronym">UML</acronym> State describes the internal state of an 
object of one particular class
</p><p>Note that not every change in one of the attributes of an object should be represented by a State
but only those changes that can significantly affect the workings of the object</p><p> 
There are two special types of States: Start and End. They are special in that there is no event that 
can cause an Object to return to its Start state, in the same way as there is no event that can possible take
an Object out of its End state once it has reached it.
</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="activity-diagram"></a>Activity Diagram</h3></div></div></div><p>Activity Diagrams describe the sequence of activities in a system with the
help of Activities. Activity Diagrams are a special form of State Diagrams, that only (or mostly) contains
Activities.
</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 showing an Activity Diagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> showing an Activity Diagram
            </p></div></div></div><p>
</p><p>Activity Diagrams are similar to procedural Flux Diagrams, with the difference that all Activities
are clearly attached to Objects.</p><p>Activity Diagrams are always associated to a
<span class="emphasis"><em>Class</em></span>, an <span class="emphasis"><em>Operation</em></span> or a
<span class="emphasis"><em>Use Case</em></span>.</p><p>Activity Diagrams support sequential as well as parallel Activities. Parallel execution is represented
via Fork/Wait icons, and for the Activities running
in parallel, it is not important the order in which they are carried out (they can be executed at the same
time or one after the other)</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="activity"></a>Activity</h4></div></div></div><p>An Activity is a single step in a process. One Activity is one state
in the system with internal activity and, at least, one outgoing transition. Activities can also have
more than one outgoing transition if they have different conditions.
</p><p>Activities can form hierarchies, this means that an Activity can be composed of several <span class="quote">“<span class="quote">detail</span>”</span>
Activities, in which case the incoming and outgoing transitions should match the incoming and outgoing transitions
of the detail diagram.
</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="helper-elements"></a>Helper Elements</h3></div></div></div><p>There are a few elements in <acronym class="acronym">UML</acronym> that have no real semantic value for the model, but help to clarify
parts of the diagram. These elements are </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Text lines</p></li><li class="listitem"><p>Text Notes and anchors</p></li><li class="listitem"><p>Boxes</p></li></ul></div><p>
Text lines are useful to add short text information to a diagram. It is free-standing text and has no 
meaning to the Model itself.
</p><p> 
Notes are useful to add more detailed information about an
object or a specific situation. They have the great advantage that
notes can be anchored to <acronym class="acronym">UML</acronym> Elements to show that the note
<span class="quote">“<span class="quote">belongs</span>”</span> to a specific object or situation.  
</p><p>Boxes are free-standing rectangles which can be used to group items together to make diagrams more readable.  They
have no logical meaning in the model.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="component-diagram"></a>Component Diagrams</h3></div></div></div><p>Component Diagrams show the software components (either component technologies such as KParts, CORBA components or Java Beans or 
just sections of the system which are clearly distinguishable) and the artifacts they
are made out of such as source code files, programming libraries or relational database tables.</p><p>Components can have interfaces (<abbr class="abbrev">i.e.</abbr> abstract classes with operations) that allow associations between components.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="deployment-diagram"></a>Deployment Diagrams</h3></div></div></div><p>Deployment diagrams show the runtime component instances and their
associations.  They include Nodes which are physical resources,
typically a single computer.  They also show interfaces and objects (class instances).</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="entity-relationship-diagram"></a>Entity Relationship Diagrams</h3></div></div></div><p>Entity Relationship Diagrams (ER Diagrams) show the conceptual design of database applications. They depict the
various entities (concepts) in the information system and the existing relationships and constraints between them.
An extension of Entity Relationship Diagrams named 'Extended Entity Relationship Diagrams' or 'Enhanced Entity Relationship Diagrams' (EER), are used to incorporate Object Oriented design techniques in ER Diagrams. </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 showing an Entity Relationship Diagram"><div class="caption"><p>Umbrello showing an Entity Relationship Diagram
            </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="entity"></a>Entity</h4></div></div></div><p>An <span class="emphasis"><em>Entity</em></span> is any concept in the real world with an independent existence. It may be an object with a physical existence ( example, Computer, Robot) or it may be an object with a conceptual existence ( eq: University Course). Each entity has a set of attributes which describe the properties of the Entity.</p><p>
<span class="emphasis"><em>Note:</em></span> No standard notations exist for depicting ER Diagrams. Different texts on this subject use different notations. The concepts and notations for EER diagrams used in Umbrello are from the following book :
<span class="emphasis"><em>Elmasri R. and Navathe S. (2004). Fundamentals of Database Systems 4th edn. Addison Wesley</em></span>
</p><p>
In an ER Diagram, Entities are represented by rectangles, with the name of the entity at the top, and can also show
the attributes of the entity in another <span class="quote">“<span class="quote">compartment</span>”</span> inside the rectangle.
</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="entity.png" alt="Visual representation of an entity in an ER Diagram"><div class="caption"><p>Visual representation of an entity in an ER Diagram
            </p></div></div></div><p>
</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="entity-attribute"></a>Entity Attributes</h5></div></div></div><p>
In ER Diagrams , Entity Attributes are shown with their name in a different compartment of the Entity to which they belong.
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="constraint"></a>Constraints</h5></div></div></div><p> Constraints in ER Diagrams specify the restrictions on data in the information schema. 
</p><p>There are four types of constraints supported in Umbrello :
 </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
     <span class="emphasis"><em>Primary Key:</em></span> The set of attributes declared as <span class="emphasis"><em>primary key</em></span> are unique to the entity. There can be only one primary key in an Entity and none of its constituent attributes can be NULL.
    </p></li><li class="listitem"><p>
     <span class="emphasis"><em>Unique Key:</em></span> The set of attributes declared as <span class="emphasis"><em>unique</em></span> are unique to the entity. There can be many unique constraints on an Entity. Its constituent attributes can be NULL. 
     Unique Keys and Primary Keys uniquely identify a row in a table ( entity )</p></li><li class="listitem"><p>
      <span class="emphasis"><em>Foreign Key:</em></span>  A Foreign Key is a referential constraint between two tables. The foreign key identifies a column or a set of columns in one (referencing) table that refers to a column or set of columns in another (referenced) table. The columns in the referenced table must form a primary key or unique key.
     </p></li><li class="listitem"><p>
      <span class="emphasis"><em>Check Constraint:</em></span> A check constraint (also known as table check constraint) is a condition that defines valid data when adding or updating an entry in a table of a relational database. A check constraint is applied to each row in the table. The constraint must be a predicate. It can refer to a single or multiple columns of the table.
     </p><p>
      Example:   price &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>Extended Entity Relationship (EER) Diagram Concepts</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="specialization"></a>Specialization</h4></div></div></div><p> Specialization is a way to form new entities using entities that have already been defined. The new entities, known as derived entities, take over (or inherit) attributes of the pre-existing entities, which are referred to as base entities . It is intended to help reuse existing data with little or no modification.</p><p> In Umbrello, one can specify Disjoint and Overlapping Specialization</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="disjoint-specialization"></a>Disjoint Specialization</h5></div></div></div><p>Disjoint Specialization specifies that the subclasses of the specialization must be disjoint. This means that an entity can be a member of at most one of the derived entities of the specialization</p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="disjoint-specialization.png" alt="Visual representation of Disjoint Specialization in EER Diagram"><div class="caption"><p>Visual representation of Disjoint Specialization in EER Diagram
            </p></div></div></div><p>
    </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="overlapping-specialization"></a>Overlapping Specialization</h5></div></div></div><p>When the derived entities are not constrained to be disjoint, their set of entities are said to be in overlapping specialization. This means that the same real world entity may be a member of more than one derived entity of the specialization</p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="overlapping-specialization.png" alt="Visual representation of Overlapping Specialization in EER Diagram"><div class="caption"><p>Visual representation of Overlapping Specialization in EER Diagram
            </p></div></div></div><p>
  </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="category"></a>Category</h5></div></div></div><p>
  A derived Entity is said to be a <span class="emphasis"><em>Category</em></span> when it represents a collection of objects that is a subset of Union of the distinct entity types. A Category is modelled when the need arises for a single superclass/subclass relationship with more than one superclass, where the superclasses represent different entity types. ( Much like multiple inheritance in Object Oriented Programming ).
 </p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="category.png" alt="Visual representation of a Category in EER Diagram"><div class="caption"><p>Visual representation of a Category in EER Diagram</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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">Next</a></td></tr><tr><td class="prevCell"><acronym class="acronym">UML</acronym> Basics </td><td class="upCell"><acronym class="acronym">UML</acronym> Basics</td><td class="nextCell"> Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="uml-elements.html">Next</a></td></tr><tr><td class="prevCell">Introduction </td><td class="upCell"> </td><td class="nextCell"> <acronym class="acronym">UML</acronym> Elements</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-umbrello.html"><html><head><title>Chapter 3. Working with 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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="uml-elements.html" title="UML Elements"><link rel="next" href="load-save.html" title="Creating, Loading and Saving Models"><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"> Working with <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">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="load-save.html">Next</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>Chapter 3. Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h1></div></div></div><p>
This chapter will introduce you to <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>'s user interface and will
tell you all you need to know to start modelling.  All actions in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> are accessible via the menu and
the toolbars, but <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> also makes extensive use of <span class="mousebutton">right</span> mouse button context menus. You can <span class="mousebutton">right</span> mouse button click on almost any element in
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>'s work area or tree view to get a menu with the most useful
functions that can be applied to the particular element you are
working on. Some users find this a little confusing at the beginning because they are more used to working with the menu or tool bars, but
once you get used to <span class="mousebutton">right</span> clicking it will greatly speed up your work.
</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface"></a>User Interface</h2></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>'s main window is divided in three areas that will help you keep an overview of your entire system
and access the different diagrams quickly while working on your model.
</p><p>These areas are called:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Tree View</p></li><li class="listitem"><p>Work Area</p></li><li class="listitem"><p>Documentation and Command history Window</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="Umbrello UML Modeller's User Interface"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>'s User Interface
            </p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="tree-view"></a>Tree View</h3></div></div></div><p>
The Tree View is usually located on the top left hand side of the window and shows the all the diagrams,
classes, actors and use cases that build up your model.
The Tree View allows you to have a quick overview of the elements composing your model. The Tree View also
gives you a quick way to switch between the different diagrams in your model and inserting elements from
your model into the current diagram.
</p><p>
If you are working on a model with more than just a few classes and diagrams, the Tree View may help
you stay on top of things by organizing your model elements in folders. You can create 
folders by selecting the appropriate option from the context menu (<span class="mousebutton">right</span> mouse button click on one of the folders
in the tree view) and you can organize your elements by moving them to the appropriate folder (drag and drop)
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="documentation-window"></a>Documentation and Command History Window</h3></div></div></div><p>
The Documentation and Command history Window is the small window located on the left bottom of <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, and it gives
you a quick preview of the documentation for the currently selected item and the command history of your work session.
The Documentation Window is rather small because it is intended to allow you just a quick pick into the element's documentation
and the overview of the command history while taking as little screen space as possible. If you need to view the documentation
in more detail you can always open the item's properties.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="work-area"></a>Work Area</h3></div></div></div><p>
The Work Area is the main window in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> and is where the real action takes place. You use the Work Area
to edit and view the diagrams in your model. The Work Area shows the currently active diagram.  Currently
only one diagram can be shown on the Work Area at any time.
</p></div></div><FILENAME filename="load-save.html"><html><head><title>Creating, Loading and Saving Models</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="working-with-umbrello.html" title="Chapter 3. Working with Umbrello UML Modeller"><link rel="prev" href="working-with-umbrello.html" title="Chapter 3. Working with Umbrello UML Modeller"><link rel="next" href="edit-model.html" title="Editing Models"><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"> Creating, Loading and Saving Models</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-umbrello.html">Prev</a></td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-model.html">Next</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>Creating, Loading and Saving Models</h2></div></div></div><p>
The first thing you need to start doing something useful with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> is to create a model to work on.
When you start <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> it always loads the last used model or creates a new, empty model (depending on
your preferences set in the configuration dialog). This will allow you to start working right away.
</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="new-model"></a>New Model</h3></div></div></div><p>
If at any time you need to create a new model you can do this by selecting the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">New</span></span> entry from the
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> menu, or by clicking on the <span class="guiicon">New</span> icon from the application toolbar. If you are currently working on
a model which has been modified <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will ask you if it should save your changes before loading the
new model.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="save-model"></a>Save Model</h3></div></div></div><p>
You can save your model at any time by selecting the option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Save</span></span> from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> Menu or by clicking
on the <span class="guiicon">Save</span> button from the application toolbar. If you need to save your model under a different name
you can use the option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Save As</span></span> from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> Menu.
</p><p>For your convenience <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> also offers you the option to automatically save your work
each certain time period. You can configure if you want this option as well as the time intervals
in the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Settings</span></span> from <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>Load Model</h3></div></div></div><p>
For loading an already existing model you may select the option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Open</span></span> from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> Menu or click on the <span class="guiicon">Open</span>
icon from the application toolbar. The most recently used models are also available under the submenu
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Open Recent</span></span> in the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> Menu to speed up access to your most frequently used models.
</p><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> can only work on one model at a time, so if you ask the program to load a model for you and your
current model has been modified since the last time you save it, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will ask you whether your changes
should be saved to prevent any loss of work.  You can start two or more instances of <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> at any one time, you can also copy and paste between instances.
</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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="edit-model.html">Next</a></td></tr><tr><td class="prevCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Editing Models</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="edit-model.html"><html><head><title>Editing Models</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="working-with-umbrello.html" title="Chapter 3. Working with Umbrello UML Modeller"><link rel="prev" href="load-save.html" title="Creating, Loading and Saving Models"><link rel="next" href="add-remove-diagrams.html" title="Adding and Removing Diagrams"><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"> Editing Models</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">Prev</a></td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">Next</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>Editing Models</h2></div></div></div><p>
In <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, there are basically two ways for editing the elements in your model.
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Edit model elements directly through the Tree View</p></li><li class="listitem"><p>Edit model elements through a Diagram</p></li></ul></div><p>
</p><p>
Using the context menu of the different items in the Tree View you are able to add, remove, 
and modify almost all the elements in your model. <span class="mousebutton">Right</span> clicking on the folders in the Tree View
will give you options for creating the different types of diagrams as well as, depending on whether
the folder is a <span class="emphasis"><em>Use Case View</em></span> or a <span class="emphasis"><em>Logical View</em></span>, Actors,
Use Cases, Classes, etc.
</p><p>
Once you have added elements to your model you can also edit an element by accessing its properties
dialog, which you find by selecting the option <span class="emphasis"><em>Properties</em></span> from the context menu
shown when <span class="mousebutton">right</span> clicking on the items in the Tree View.
</p><p>
You can also edit your model by creating or modifying elements through diagrams. More details on how
to do this are given in the following sections.
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">Next</a></td></tr><tr><td class="prevCell">Creating, Loading and Saving Models </td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Adding and Removing Diagrams</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="add-remove-diagrams.html"><html><head><title>Adding and Removing Diagrams</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="working-with-umbrello.html" title="Chapter 3. Working with Umbrello UML Modeller"><link rel="prev" href="edit-model.html" title="Editing Models"><link rel="next" href="edit-diagram.html" title="Editing Diagrams"><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"> Adding and Removing Diagrams</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">Prev</a></td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">Next</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>Adding and Removing Diagrams</h2></div></div></div><p>
Your <acronym class="acronym">UML</acronym> model consists of a set of <acronym class="acronym">UML</acronym> elements and associations between them. However you cannot see the model
directly, you use <span class="emphasis"><em>Diagrams</em></span> to look at it.
</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="create-diagram"></a>Creating Diagrams</h3></div></div></div><p>
To create a new diagram in your model simply select the diagram type you need from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">New</span></span> submenu in the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagram</span></span> menu and give a name to it. The diagram will be created and made active, and you will immediately
see it in the tree view.
</p><p>
Remember that <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> makes extensive use of context menus: you can also <span class="mousebutton">right</span> mouse button click on a folder in the Tree
View and select the appropriate diagram type from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">New</span></span> submenu in the context menu. Note that you can create
Use Case Diagrams only in Use Case View folders, and the other types of diagram can only be created in the
Logical View folders.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="remove-diagram"></a>Removing Diagrams</h3></div></div></div><p>
Should you need to remove a diagram from your model, you can do this by making it active and selecting
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Delete</span></span> from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagram</span></span> Menu. You can also achieve this by selecting <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Delete</span></span> from the diagrams context menu
in the Tree View
</p><p>Since deleting a diagram is something serious that could cause loss of work if done by accident, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
will ask you to confirm the delete operation before actually removing the Diagram. Once a diagram has been
deleted and the file has been saved there is no way to undo this action.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="rename-diagram"></a>Renaming Diagrams</h3></div></div></div><p>
If you want to change the name of an existing diagram you can easily do this by selecting the Rename option
from its <span class="mousebutton">right</span> mouse button menu in the Tree View.
</p><p>Another way to rename a diagram is to do this via its properties dialog, which you obtain by
selecting Properties from its Context Menu or by double clicking on it in the Tree View.
</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">Next</a></td></tr><tr><td class="prevCell">Editing Models </td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Editing Diagrams</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="edit-diagram.html"><html><head><title>Editing Diagrams</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="working-with-umbrello.html" title="Chapter 3. Working with Umbrello UML Modeller"><link rel="prev" href="add-remove-diagrams.html" title="Adding and Removing Diagrams"><link rel="next" href="code-import-generation.html" title="Chapter 4. Code Import and Code Generation"><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"> Editing Diagrams</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="add-remove-diagrams.html">Prev</a></td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">Next</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>Editing Diagrams</h2></div></div></div><p>
When working on a diagram, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will try to guide you by applying some simple rules as to which
elements are valid in the different types of diagrams, as well as the relationships that can exist
between them. If you are an <acronym class="acronym">UML</acronym> expert you will probably not even notice it, but this will help
<acronym class="acronym">UML</acronym> novices create standard-conformant diagrams.
</p><p>
Once you have created your diagrams it is time to start editing them. Here you should notice 
the (for beginners subtle) difference between editing your diagram, and editing the
<span class="emphasis"><em>model</em></span>. As you already know, Diagrams are <span class="emphasis"><em>views</em></span> of your model.
For example, if you create a class by editing a Class Diagram, you are really editing both, your
Diagram and your model. If you change the color or other display options of a Class in your Class
Diagram, you are only editing the Diagram, but nothing is changed in your model.
</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="insert-elements"></a>Insert Elements</h3></div></div></div><p>
One of the first things you will do when editing a new diagram is to insert elements into them (Classes,
Actors, Use Cases, <abbr class="abbrev">etc.</abbr>) There is basically two ways of doing this:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Dragging existing elements in your model from the Tree View</p></li><li class="listitem"><p>Creating new elements in your model and adding them to your diagram at the
same time, by using one of the edit Tools in the Work Toolbar</p></li></ul></div><p>
To insert elements that already exist in your model, just drag them from the Tree View and
drop them where you want them to be in your diagram. You can always move elements around
in your Diagram using the Select Tool
</p><p>
The second way of adding elements to your diagram is by using the Work Toolbar's edit tools (note
that this will also add the elements to your model).
</p><p>
The Work Toolbar was by default located on the top of the window.
The tools available on this toolbar (the buttons you see on it) change depending on the type of diagram
you are currently working on. The button for the currently
selected tool is activated in the toolbar. You can switch to the select tool
by pressing the <span class="keycap"><strong>Esc</strong></span> key.
</p><p>
When you have selected an edit tool from the Work Toolbar (for example, the tool to insert classes)
the mouse pointer changes to a cross, and you can insert the elements in your model by single clicking
in your diagram. Note that elements in <acronym class="acronym">UML</acronym> must have a <span class="emphasis"><em>Unique Name</em></span>. So that if
you have a class in one diagram whose name is <span class="quote">“<span class="quote">ClassA</span>”</span> and then you use the insert Class
tool to insert a class into another diagram you cannot name this new class <span class="quote">“<span class="quote">ClassA</span>”</span> as well.
If these two are supposed to be two different elements, you have to give them a unique name. If you are
trying to add the <span class="emphasis"><em>same</em></span> element to your diagram, then the Insert Class is not
the right tool for that. You should drag and drop the class from the Tree View instead.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="delete-elements"></a>Deleting Elements</h3></div></div></div><p>
You can delete any element by selecting the option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Delete</span></span> from its context menu.
</p><p>
Again, there is a <span class="emphasis"><em>big</em></span> difference between removing an object from a diagram, and
deleting an object from your model:
If you delete an object from within a diagram, you are only removing the object from that particular
diagram: the element will still be part of your model and if there are other diagrams using the same
element they will not suffer any change.
If, on the other hand, you delete the element from the Tree View, you are actually deleting the
element from your <span class="emphasis"><em>model</em></span>. Since the element no longer exist in your model,
it will be automatically removed from all the diagrams it appears in.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-elements"></a>Editing Elements</h3></div></div></div><p>
You can edit most of the <acronym class="acronym">UML</acronym> elements in your model and diagrams by opening its Properties dialog
and selecting the appropriate options.
To edit the properties of an object, select <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Properties</span></span> from its context menu (<span class="mousebutton">right</span> mouse button click). Each element has a dialog consisting of several pages where you can configure the options
corresponding to that element. For some elements, like actors you can only set a couple of options,
like the object name and documentation, while for other elements, like classes, you can edit its
attributes and operations, select what you want to be shown in the diagram (whole operation signature
or just operation names, etc) and even the colors you want to use for the line and fill of the class'
representation on the diagram.
</p><p>
For <acronym class="acronym">UML</acronym> elements you can also open the properties dialog by
double clicking on it if you are using the selection tool (arrow).
</p><p>
Note that you can also select the properties option from the context
menu of the elements in the Tree View. This allows you to also edit
the properties for the diagrams, like setting whether the grid should
be shown or not.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-classes"></a>Editing Classes</h3></div></div></div><p>
Even though editing the properties of all objects was already covered in the previous section,
classes deserve a special section because they are a bit more complicated and have more options
than most of the other <acronym class="acronym">UML</acronym> elements.
</p><p>
In the properties dialog for a class you can set everything, from the color it uses to the operations
and attributes it has.
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-general-settings"></a>Class General Settings</h4></div></div></div><p>
The General Settings page of the properties dialog is self-explanatory. Here you can change the
class' name, visibility, documentation, <abbr class="abbrev">etc.</abbr>
This page is always available.
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-attributes-settings"></a>Class Attribute Settings</h4></div></div></div><p>
In the Attributes Settings page you can add, edit, or delete attributes (variables) of the class.
You can move attributes up and down the list by pressing the arrow button
on the side.
This page is always available.
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-operations-settings"></a>Class Operations Settings</h4></div></div></div><p>
Similar to the Attribute Settings Page, in the Operation Settings Page you can add, edit, or
remove operations for your class. When adding or editing an operation, you enter the basic data in
the <span class="emphasis"><em>Operation Properties</em></span> dialog. If you want to add parameters to your operation
you need to click the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">New Parameter</span></span> button, which will show the
<span class="emphasis"><em>Parameter Properties</em></span> dialog.
This page is always available
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-template-settings"></a>Class Template Settings</h4></div></div></div><p>
This page allows you to add class templates which are unspecified classes or datatypes.  In Java 1.5 these will be called Generics.
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations-page"></a>Class Associations Page</h4></div></div></div><p>
The <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Class Associations</span></span> page shows all the associations of this class
in the current diagram. Double clicking on an association shows its properties, and depending
on the type of association you may modify some parameters here such as setting multiplicity and Role
name. If the association does not allow such options to be modified, the Association Properties dialog
is read-only and you can only modify the documentation associated with this association.
</p><p>
This page is only available if you open the Class Properties from within a diagram. If you select
the class properties from the context menu in the Tree View this page is not available.
</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-display-page"></a>Class Display Page</h4></div></div></div><p>
In the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Display Options</span></span> page, you can set what is to be shown in the diagram.
A class can be shown as only one rectangle with the class name in it (useful if you have many
classes in your diagram, or are for the moment not interested in the details of each class) or
as complete as showing packages, stereotypes, and attributes and operations with full signature and
visibility
</p><p>Depending on the amount of information you want to see you can select the corresponding
options in this page. The changes you make here are only <span class="emphasis"><em>display options</em></span>
for the diagram. This means that <span class="quote">“<span class="quote">hiding</span>”</span> a class' operations only makes them
not to be shown in the diagram, but the operation are still there as part of your model.
This option is only available if you select the class properties from within a Diagram. If you open
the class properties from the Tree View this page is missing since such Display Options do not make sense
in that case</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-color-page"></a>Class Style Page</h4></div></div></div><p>
In the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Widget Style</span></span> page you can configure the colors you want for the line
and the fill of the widget. This option obviously makes sense only for classes displayed in diagrams,
and is missing if you open the class' properties dialog from the Tree View.
</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="associations"></a>Associations</h3></div></div></div><p>
Associations relate two <acronym class="acronym">UML</acronym> objects to each other. Normally associations are defined between two classes,
but some types of associations can also exists between use cases and actors.
</p><p>
To create an association select the appropriate tool from the Work Toolbar (generic Association,
Generalization, Aggregation, <abbr class="abbrev">etc.</abbr>) and single click on the first element participating in the association
and then single click on the second item participating. Note that those are two clicks, one on each
on the objects participating in the association, it is <span class="emphasis"><em>not</em></span> a drag from one object
to the other. 
</p><p>
If you try to use an association in a way against the <acronym class="acronym">UML</acronym> specification <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will refuse to create
the association and you will get an error message. This would be the case if, for example, a Generalization
exists from class A to class B and then you try to create another Generalization from Class B to class A
</p><p>
<span class="mousebutton">Right</span> clicking on an association will show a context menu with the actions you can apply on it. If you need to delete an association simply select the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Delete</span></span> option from this context menu.
You can also select the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Properties</span></span> option and, depending on the association type
edit attributes such as roles and multiplicity.
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchor-points"></a>Anchor Points</h4></div></div></div><p>
Associations are drawn, by default, as a straight line connecting the two objects in the diagram. 
</p><p>
You can add anchor points to bend an association by <span class="mousebutton">double</span> clicking some where along the association line. This will insert
an anchor point (displayed as a blue point when the association line is selected) which you can move
around to give shape to the association
</p><p>
If you need to remove an anchor point, <span class="mousebutton">double</span> click on it again to remove it
</p><p>
Note that the only way to edit the properties of an association is through the context menu. If you
try to <span class="mousebutton">double</span> click on it as with other <acronym class="acronym">UML</acronym> objects, this will only insert an anchor point.
</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="notes"></a>Notes, Text and Boxes</h3></div></div></div><p>
Notes, Lines Of Text and Boxes are elements that can be present in any type of diagram and have no real
semantic value, but are very helpful to add extra comments or explanations that can make your
diagram easier to understand.
</p><p>
To add a Note or a Line Of Text, select the corresponding tool from the Work Toolbar and single click
on the diagram where you want to put your comment. You can edit the text by opening the element through
its context menu or in the case of notes by <span class="mousebutton">double</span> clicking on them as well.
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchors"></a>Anchors</h4></div></div></div><p>
Anchors are used to link a text note and another <acronym class="acronym">UML</acronym> Element together. For example, you normally
use a text note to explain or make some comment about a class or a particular association, in which
case you can use the anchor to make it clear that the note <span class="quote">“<span class="quote">belongs</span>”</span> to that particular
element.
</p><p>
To add an anchor between a note and another <acronym class="acronym">UML</acronym> element, use the anchor tool from the work toolbar.
You first need to click on the note and then click on the <acronym class="acronym">UML</acronym> element you want the note to be linked
to.
</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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">Next</a></td></tr><tr><td class="prevCell">Adding and Removing Diagrams </td><td class="upCell">Working with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Code Import and Code Generation</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="load-save.html">Next</a></td></tr><tr><td class="prevCell"><acronym class="acronym">UML</acronym> Elements </td><td class="upCell"> </td><td class="nextCell"> Creating, Loading and Saving Models</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="code-import-generation.html"><html><head><title>Chapter 4. Code Import and Code Generation</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="edit-diagram.html" title="Editing Diagrams"><link rel="next" href="code-import.html" title="Code Import"><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"> Code Import and Code Generation</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-diagram.html">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="code-import.html">Next</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>Chapter 4. Code Import and Code Generation</h1></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> is a <acronym class="acronym">UML</acronym> modelling tool, and as such its main purpose is to help you in the 
<span class="emphasis"><em>analysis and design</em></span> of your systems. However, to make the transition
between your design and your <span class="emphasis"><em>implementation</em></span>, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> allows you to
generate source code in different programming languages to get you started. Also, if you 
want to start using <acronym class="acronym">UML</acronym> in an already started C++ project, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> can help you create a model
of your system from the source code by analysing your source code and importing the classes
found in it.
</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="code-generation"></a>Code Generation</h2></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> can generate source code for various programming languages based on your <acronym class="acronym">UML</acronym> Model
to help you get started with the implementation of your project. The code generated consists
of the class declarations, with their methods and attributes so you can <span class="quote">“<span class="quote">fill in the
blanks</span>”</span> by providing the functionality of your classes' operations.
</p><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2 comes with code generation support for ActionScript, Ada, C++, C#, D, IDL, <span class="trademark">Java</span>™, JavaScript,
MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala, and XMLSchema.
</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="generate-code"></a>Generating Code</h3></div></div></div><p>
In order to generate code with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, you first need to create or load a Model
containing at least one class. When you are ready to start writing some code, select the
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Code Generation Wizard</span></span> entry from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Code</span></span> menu to 
start a wizard which will guide you trough the code generation process.
</p><p>
The first step is to select the classes for which you want to generate source code.
By default all the classes of your model are selected, and you can remove the ones
for which you do not want to generate code by moving them to the left-hand side list.
</p><p>
The next step of the wizard allows you to modify the parameters the Code Generator uses
while writing your code. The following options are available:
</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generation-options.png" alt="Options for the Code Generation in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Generation 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>Generation Options</h4></div></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm931"></a>Comment Verbosity</h5></div></div></div><p>
The option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Write documentation comments even if empty</span></span> instructs the
 Code Generator to write comments of the /** blah */ style even if the comment blocks are empty.
If you added documentation to your classes, methods or attributes in your Model, the
Code Generator will write these comments as <span class="application">Doxygen</span> documentation regardless of what you set here, but
if you select this option <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will write comment blocks for all classes, methods and attributes
even if there is no documentation in the Model, in which case you should document your classes
later directly in the source code.
</p><p>
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Write comments for sections even if section is empty</span></span> causes <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> to write comments
in the source code to delimit the different sections of a class. For example <span class="quote">“<span class="quote">public methods</span>”</span>
 or <span class="quote">“<span class="quote">Attributes</span>”</span> before the corresponding sections. If you select this option <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 
 will write comments for all sections of the class even if the section is empty. For example,
 it would write a comment saying <span class="quote">“<span class="quote">protected methods</span>”</span> even if there are no protected 
 methods in your class.
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm947"></a>Folders</h5></div></div></div><p>
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Write all generated files to folder</span></span>. Here you should select the folder 
where you want <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> to put the generated sources.
</p><p>
The <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Include heading files from folder</span></span> option allows you to insert a 
heading at the beginning of each generated file. Heading files can contain copyright or licensing
 information and contain variables that are evaluated at generation time. You can take a look
 at the template heading files shipped with <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> to see how to use these variables for replacing
 your name or the current date at generation time.
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm957"></a>Overwrite Policy</h5></div></div></div><p>
This option tells <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> what to do if the file it wants to create already exists in
the destination folder. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> <span class="emphasis"><em>cannot modify existing source files</em></span>,
so you have to choose between overwriting the existing file, skipping the generation of
that particular file or letting <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> choose a different file name. If you choose the option
to use a different name, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will add a suffix to the file name.
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm969"></a>Language</h5></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will by default generate code in the language you have selected as Active Language, but
with the Code Generation Wizard you have the option to change this to another language.
</p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="generation-wizard-generation"></a>Generation Wizard Generation</h4></div></div></div><p>
The third and last step of the wizard shows the status of the Code Generation process.
You need only to click on the Generate button to get your classes written for you.
</p><p>
Note that the Options you select during the Code Generation Wizard are only valid for the current
generation. The next time you run the wizard you will need to re-select all the options
(your headings folder, overwrite policy, and so on). You can set the defaults used by <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 
in the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Code Generation</span></span> section of the <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> settings, available
at <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Settings</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Configure <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>...</span></span>
</p><p>
If you have set your Code Generation options to the right settings and want to generate
some code right away without going through the wizard, you can select the entire 
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Generate All Code</span></span> from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Code</span></span> menu. 
This will generate code for all the classes in your Model using the current settings 
(including Output Folder and Overwrite Policy, so use with care).
</p></div></div></div><FILENAME filename="code-import.html"><html><head><title>Code Import</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="code-import-generation.html" title="Chapter 4. Code Import and Code Generation"><link rel="prev" href="code-import-generation.html" title="Chapter 4. Code Import and Code Generation"><link rel="next" href="other-features.html" title="Chapter 5. Other Features"><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"> Code Import</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import-generation.html">Prev</a></td><td class="upCell">Code Import and Code Generation</td><td class="nextCell"><a accesskey="n" href="other-features.html">Next</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>Code Import</h2></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> can import source code from your existing projects to help you build Model of 
your systems. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2 supports ActionScript, Ada, C++, C#, D, IDL, <span class="trademark">Java</span>™, Javascript, MySQL, Pascal, PHP, and Vala source code.
</p><p>
To import classes into your Model, select the entry <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Code Importing Wizard...</span></span> from
the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Code</span></span> menu. In the file dialog select the files containing
class declarations and press <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Next &gt;</span></span> then <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Start import</span></span> and <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Finish</span></span>.
The classes will be imported and you will find them as part of
your Model in the Tree View. Note that <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> will not create any kind of Diagram for showing
your classes, they will only be imported into your Model so that you can use them later in any 
diagram you want.
</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 for importing source code in Umbrello UML Modeller"><div class="caption"><p>Menu for importing source code 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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="other-features.html">Next</a></td></tr><tr><td class="prevCell">Code Import and Code Generation </td><td class="upCell">Code Import and Code Generation</td><td class="nextCell"> Other Features</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="code-import.html">Next</a></td></tr><tr><td class="prevCell">Editing Diagrams </td><td class="upCell"> </td><td class="nextCell"> Code Import</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="other-features.html"><html><head><title>Chapter 5. Other Features</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="code-import.html" title="Code Import"><link rel="next" href="settings.html" title="Chapter 6. Settings"><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"> Other Features</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import.html">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="settings.html">Next</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="other-features"></a>Chapter 5. Other Features</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm1023"></a>Other <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Features</h2></div></div></div><p>This chapter will briefly explain some other features <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> offers you.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="copying-as-png"></a>Copying objects as PNG images</h3></div></div></div><p>
Apart from offering you the normal copy, cut and paste functionality that you would expect to copy
objects between different diagrams, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> can copy the objects as PNG pictures so that you can
insert them into any other type of document. You do not need to do anything special to use this feature,
just select an object from a diagram (Class, Actor, <abbr class="abbrev">etc.</abbr>) and copy it (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>,
 or using the menu), then open a <span class="application">Calligra Words</span> document (or any program into which you can paste images) and select <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Paste</span></span>. This is a great feature
to export parts of your diagram as simple pictures.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="export-as-png"></a>Exporting to an Image</h3></div></div></div><p>
You can also export a complete diagram as an image. The only thing you need to do is select
the diagram you want to export, and then the option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Export as Picture...</span></span> from
the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagram</span></span> menu.
</p><p>
You can export multiple diagrams at once using the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Export Diagrams as Pictures...</span></span>
option from the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> menu. With this, you can also set the image resolution,
so that the images won't be as blurry.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="printing"></a>Printing</h3></div></div></div><p>
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> allows you to print individual diagrams. Press the <span class="guiicon">Print</span> button on the
 application toolbar or selecting the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Print</span></span> option from the
<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">File</span></span> menu will give you a standard <span class="orgname">KDE</span> Print dialog from where you can print
your diagrams.
</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="logical-folders"></a>Logical Folders</h3></div></div></div><p>
To better organize your model, especially for larger projects, you can create logical folders in
the Tree View. Just select the option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">New</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Folder</span></span> from the context menu
of the default folders in the Tree View to create them. Folders can be nested, and you can
move objects around by dragging them from one folder and dropping them into another.
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="folders.png" alt="Organizing a Model with Logical Folders in Umbrello UML Modeller"><div class="caption"><p>Organizing a Model with Logical Folders 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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="settings.html">Next</a></td></tr><tr><td class="prevCell">Code Import </td><td class="upCell"> </td><td class="nextCell"> Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="settings.html"><html><head><title>Chapter 6. Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="other-features.html" title="Chapter 5. Other Features"><link rel="next" href="font-settings.html" title="Font Settings"><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"> Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="font-settings.html">Next</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="settings"></a>Chapter 6. Settings</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="general-settings"></a>General Settings</h2></div></div></div><p>
    </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="general-settings.png" alt="Options for the General Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the General Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                </p></div></div></div><p>
</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="misc-settings"></a>Miscellaneous</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>The option <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Enable undo</span></span> allows undoing a previous action.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Use new C++/Java/Ruby generators</span></span> lets the
                    user select either the old or new code generators</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Turn on footer and page numbers when printing</span></span> when
            selected, prints diagram information for the diagram being printed and the page number.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Use tabbed diagrams</span></span> gives the option of having multiple
            tabbed diagram windows open at a time.</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="autosave-settings"></a>Autosave</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Enable autosave</span></span> gives a choice to autosave the file.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Select auto-save time interval (mins):</span></span> allows setting the
            time before the file is autosaved.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Set autosave suffix:</span></span> defaults to .xmi but allows a different
            file extension to be set.</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="startup-settings"></a>Startup</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Load last project</span></span> if set, always loads the last
                work project upon program startup.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Start new project with:</span></span> gives a choice of which UML
                diagram type to start with in a new project.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Default Language:</span></span> is a setting for the default
                programming language used.</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="notifications-settings"></a>Notifications</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Enable all messages</span></span> is an option to either see all
            notifications or a reduced set of notifications.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Enable 'delete association' related messages</span></span> ensures
            that you will receive all messages of this type if checked.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Enable 'delete diagram' related messages</span></span> will enable
            all messages of this type if checked.</p></li></ul></div></div></div><FILENAME filename="font-settings.html"><html><head><title>Font Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="settings.html" title="Chapter 6. Settings"><link rel="next" href="ui-settings.html" title="User Interface Settings"><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"> Font Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="ui-settings.html">Next</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="font-settings"></a>Font Settings</h2></div></div></div><p>
    </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="font-settings.png" alt="Options for the Diagram Font Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Diagram Font Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                </p></div></div></div><p>
</p><p>These font settings set the characteristics of the text in the diagrams.
    Font style and size are the only selectable options.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="ui-settings.html">Next</a></td></tr><tr><td class="prevCell">Settings </td><td class="upCell">Settings</td><td class="nextCell"> User Interface Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="ui-settings.html"><html><head><title>User Interface Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="font-settings.html" title="Font Settings"><link rel="next" href="class-settings.html" title="Class Settings"><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"> User Interface Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="font-settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="class-settings.html">Next</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ui-settings"></a>User Interface Settings</h2></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="user-interface-settings.png" alt="Options for the User Interface Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the User Interface Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="ui-general"></a>General</h3></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Right to left user interface</span></span> configures the interface
        for the right to left languages.
    </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="ui-associations"></a>Associations</h3></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Use angular associating lines</span></span> allows association
        lines to vary at any angle.
    </p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Create new association lines as:</span></span> gives the ability
        to change the association line style.
    </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="ui-color"></a>Color</h3></div></div></div><p>The color section gives several options to change the text, line, fill,
        grid and background colors as well as the line width.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="font-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="class-settings.html">Next</a></td></tr><tr><td class="prevCell">Font Settings </td><td class="upCell">Settings</td><td class="nextCell"> Class Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="class-settings.html"><html><head><title>Class Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="ui-settings.html" title="User Interface Settings"><link rel="next" href="code-importer-settings.html" title="Code Import Settings"><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"> Class Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="ui-settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="code-importer-settings.html">Next</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="class-settings"></a>Class Settings</h2></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class-settings.png" alt="Options for the Class Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Class Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="show-class-settings"></a>Show</h3></div></div></div><p>The Show section has numerous settings that determine which class
            characteristics are shown in the Class Diagram.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="starting-scope-class-settings"></a>Starting Scope</h3></div></div></div><p>Choices for attribute and operation default settings,
            public, private or protected.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="ui-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="code-importer-settings.html">Next</a></td></tr><tr><td class="prevCell">User Interface Settings </td><td class="upCell">Settings</td><td class="nextCell"> Code Import Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="code-importer-settings.html"><html><head><title>Code Import Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="class-settings.html" title="Class Settings"><link rel="next" href="code-generation-settings.html" title="Code Generation Settings"><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"> Code Import Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="class-settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="code-generation-settings.html">Next</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-importer-settings"></a>Code Import Settings</h2></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-import-settings.png" alt="Options for the Code Import Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Import Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="include-search-paths-settings"></a>Include Search Paths</h3></div></div></div><p>A general recommendation is given to improve searching by including
        UMBRELLO INCPATH as an environment variable.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="cpp-import-settings"></a>C++-Import</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">For each imported file create an artifact in
    the component view</span></span> The artifact created can
    then be dragged into the Class Diagram view where dependencies
    can be easily seen along with the attributes and functions
    of each file.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Resolve dependencies (reduces import speed)</span></span>
            Ensures all file dependencies are resolved which then shows up
            in class dependencies in the Class Diagram.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Enable C++11 standard (experimental)</span></span>
            An experimental feature to conform to C++11, disable if not
            needed.</p></li></ul></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="class-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="code-generation-settings.html">Next</a></td></tr><tr><td class="prevCell">Class Settings </td><td class="upCell">Settings</td><td class="nextCell"> Code Generation Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="code-generation-settings.html"><html><head><title>Code Generation Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="code-importer-settings.html" title="Code Import Settings"><link rel="next" href="code-viewer-settings.html" title="Code Viewer Settings"><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"> Code Generation Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-importer-settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="code-viewer-settings.html">Next</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-generation-settings"></a>Code Generation Settings</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="code-gen-settings-general-tab"></a>Code Generation Settings General Tab</h3></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-generation-general-settings.png" alt="Options for the Code Generation General Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Generation General Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><p>Umbrello UML Modeller can generate source code for various programming
        languages based on your UML Model to help you get started with the
        implementation of your project. The code generated consists of the class
        declarations, with their methods and attributes so you can "fill in the
        blanks" by providing the functionality of your classes' operations.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="code-gen-language-settings"></a>Language</h4></div></div></div><p>Choose the programming language to use for projects. The choices offered are
            ActionScript, Ada, C++, C#, D, IDL, Java, JavaScript, MYSQL, Pascal,
            Perl, PHP, PHP5, PastgreSQL, Python, Ruby, SQL, Tcl, Vala and
            XMLSchema</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="code-generation-folders-settings"></a>Folders</h4></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Write all generated files to folder:</span></span> has an editable
        field for the desired path for generated files or optionally a browse button
        to select the path.</p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Include heading files from folder:</span></span> if checked, lets
        the user specify a path in an editable field or choose it with a browse
        button.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="code-generation-overwrite-settings"></a>Overwrite Policy</h4></div></div></div><p>When the code is generated into the specified folder, this setting
        determines what happens if a file with the same name is encountered.
        </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Overwrite</span></span> the file without a warning or option.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Ask</span></span> whether to overwrite the file or rename it.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Use a different name</span></span> when a file already exists
            by renaming it using a suffix.</p></li></ul></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="code-gen-settings-format-tab"></a>Code Generation Settings Formatting Tab</h3></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-generation-formatting-settings.png" alt="Options for the Code Generation Formatting Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Generation Formatting Settings 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="code-gen-formatting-comment-verbosity"></a>Comment Verbosity</h4></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Write documentation comments even if empty</span></span>
            Generates comments for classes and functions even if they are empty.</p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Write comments for sections even if section is empty</span></span>
            Writes comments for the private, protected and public sections even if
            they are empty.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="code-gen-formatting-lines"></a>Lines</h4></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Indentation type:</span></span> offers a choice between no indentation,
        tab or space.</p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Indentation amount:</span></span> lets the user specify the number of
        spaces for the tab or space indentation choice.</p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Line ending style:</span></span> is a choice between the line ending
        styles of *NIX, Windows and Mac.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="code-gen-settings-language-options"></a>Language Options</h3></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-generation-language-general.png" alt="Options for the Code Generation Language Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Generation Language Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><p>This page changes for each programming language selected under the General tab.
        Currently the only options available are for the C++ language.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="code-gen-settings-language-options-cpp"></a>C++ Code Generation</h4></div></div></div><p></p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="code-gen-settings-language-options-documentation"></a>Documentation</h5></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Style:</span></span> gives a choice to use either "/** */"
            or "//" as the documentation style</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="language-general-tab"></a>General</h5></div></div></div><p>Under the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">General</span></span> tab of the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Language Options</span></span>
            tab, several code generation options are listed.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Class member prefix</span></span></p><p>An option that allows a prefix determined by the user,
                    to be added to class members when code is generated.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Package is a namespace</span></span></p><p>Namespaces provide a method for preventing name conflicts
                    in large projects. Symbols declared inside a namespace block
                    are placed in a named scope that prevents them from being
                    mistaken for identically-named symbols in other scopes.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Virtual destructors</span></span></p><p>Even though destructors are not inherited, if a base
                    class declares its destructor virtual, the derived
                    destructor always overrides it. This makes it possible
                    to delete dynamically allocated objects of polymorphic
                    type through pointers to base.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Generate empty constructors</span></span></p><p>This will generate constructors that have empty braces.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Generate accessor methods</span></span></p><p>Will generate methods to access datatypes.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Operations are inline</span></span></p><p>Generate the methods as inline, but compilers are
                    free to choose not to inline the method.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Accessors are inline</span></span></p><p>Methods that access the class' data will be generated
                    inline, but compilers are free to choose not to inline
                    the method.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Accessors are public</span></span></p><p>Methods that are generated as public will be available
                    to any instantiation of the class.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Create getters with 'get' prefix</span></span></p><p>This will put the prefix "get" on the methods that get/return
                    the class data.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Remove prefix '[a-zA-Z]_' from accessor method names</span></span></p><p>If a prefix was entered in <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Class member prefix</span></span>,
                    this will remove it.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Accessor methods start with capital letters</span></span></p><p>This capitalizes the first letter of the method name.</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Use '\' as documentation tag instead of @</span></span></p><p>A tag choice to use when documenting parameters of a method.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="language-method-body-tab"></a>Method Body Generation</h5></div></div></div><p>
            </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-generation-language-method-settings.png" alt="Options for the Code Generation Language Method Body Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Generation Language Method Body Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                        </p></div></div></div><p>
        </p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">List</span></span></p><p>Has options of QPtrList, vector, and std::vector for the list type.
            An editable or selectable field follows to specify the include file
            along with a browse button to find a select the include file. There
            is also an option to make the list global.</p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">String</span></span></p><p>Options of string or QString for the string type. An editable
                or selectable field follows to specify the include file along
                with a browse button to find a select the include file. There
                is also an option to make the string global.
            </p></div></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-importer-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="code-viewer-settings.html">Next</a></td></tr><tr><td class="prevCell">Code Import Settings </td><td class="upCell">Settings</td><td class="nextCell"> Code Viewer Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="code-viewer-settings.html"><html><head><title>Code Viewer Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="code-generation-settings.html" title="Code Generation Settings"><link rel="next" href="auto-layout-settings.html" title="Auto Layout Settings"><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"> Code Viewer Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-generation-settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="auto-layout-settings.html">Next</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-viewer-settings"></a>Code Viewer Settings</h2></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="code-viewer-settings.png" alt="Options for the Code Viewer Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Code Viewer Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><p>Allows customization of the Code Viewer. The <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Requested Font</span></span>
        section allows the selection of the font, font style, and font size. A representation
        of you choices is shown below the choices.
    </p><p>
        In the <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Colors</span></span> section, changes can be made to Paper, Font, Selected,
        UML object block, Hidden block, Editable text, and Uneditable text. Changes to the colors
        can be made by clicking on the color box by the respective label.
    </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-generation-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="auto-layout-settings.html">Next</a></td></tr><tr><td class="prevCell">Code Generation Settings </td><td class="upCell">Settings</td><td class="nextCell"> Auto Layout Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="auto-layout-settings.html"><html><head><title>Auto Layout Settings</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="settings.html" title="Chapter 6. Settings"><link rel="prev" href="code-viewer-settings.html" title="Code Viewer Settings"><link rel="next" href="authors.html" title="Chapter 7. Authors and History"><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"> Auto Layout Settings</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-viewer-settings.html">Prev</a></td><td class="upCell">Settings</td><td class="nextCell"><a accesskey="n" href="authors.html">Next</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="auto-layout-settings"></a>Auto Layout Settings</h2></div></div></div><p>
        </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="auto-layout-settings.png" alt="Options for the Auto Layout Settings in Umbrello UML Modeller"><div class="caption"><p>Options for the Auto Layout Settings in <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>
                    </p></div></div></div><p>
    </p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Auto detect layout generator</span></span></p><p>The auto layout feature depends on layout generators provided by the
        GraphViz package, which is normally installed alongside Umbrello by a
        package manager. Umbrello has built-in support for detecting the
        installed location of these layout generators. For cases where this
        dependency is not available or does not fit, a different installation
        path could be selected.
    </p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Show export layout in diagram context menu</span></span></p><p>Dot file export is performed by using the export layout. With this
        option checked, the export layout is added to the list of available
        diagram layouts and enables a quick dot export preview.
    </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-viewer-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="authors.html">Next</a></td></tr><tr><td class="prevCell">Code Viewer Settings </td><td class="upCell">Settings</td><td class="nextCell"> Authors and History</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</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="other-features.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="font-settings.html">Next</a></td></tr><tr><td class="prevCell">Other Features </td><td class="upCell"> </td><td class="nextCell"> Font Settings</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="authors.html"><html><head><title>Chapter 7. Authors and History</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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="auto-layout-settings.html" title="Auto Layout Settings"><link rel="next" href="copyright.html" title="Chapter 8. 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"> Authors and History</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="auto-layout-settings.html">Prev</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="copyright.html">Next</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="authors"></a>Chapter 7. Authors and History</h1></div></div></div><p>
This project was started by Paul Hensgen as one of his University projects.
The original name of the application was <span class="application">UML Modeller</span>.  Paul did
all the development until the end of 2001 when the program reached version 1.0.
</p><p>
Version 1.0 already offered a lot of functionality, but after the project had been reviewed at
Paul's University, other developers could join and they started making valuable contributions
to <span class="application">UML Modeller</span>, like switching from a binary file format to an <acronym class="acronym">XML</acronym> file, support for more
types of <acronym class="acronym">UML</acronym> Diagrams, Code Generation and Code Import just to name a few.
</p><p>
Paul had to retire from the development team in Summer 2002 but, as Free and Open Source Software, the
program continues to improve and evolve and is being maintained by a group of developers from different
parts of the world. In September 2002 the project changed its name from <span class="application"><acronym class="acronym">UML</acronym> Modeller</span>, to
<span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>. There are several reasons for the change of names, the most
important ones being that just <span class="quote">“<span class="quote">uml</span>”</span> — as it was commonly known — was a much too generic name
and caused problems with some distributions. The other important reason is that the developers think
<span class="application">Umbrello</span> is a much cooler name.
</p><p>
The development of <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> as well as discussions as to where the program should head for future versions
is open and takes place over the Internet. If you would like to contribute to the project, please do not
hesitate to contact the developers. There are many ways in which you can help <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>Reporting bugs or improvements suggestions</p></li><li class="listitem"><p>Fixing bugs or adding features</p></li><li class="listitem"><p>Writing good documentation or translating it to other languages</p></li><li class="listitem"><p>And of course...coding with us!</p></li></ul></div><p>
As you see, there are many ways in which you can contribute. All of them are very important and
everyone is welcome to participate.
</p><p>
The <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> developers can be reached at <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="auto-layout-settings.html">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"><a accesskey="n" href="copyright.html">Next</a></td></tr><tr><td class="prevCell">Auto Layout Settings </td><td class="upCell"> </td><td class="nextCell"> Copyright</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="copyright.html"><html><head><title>Chapter 8. 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, modelling, diagrams, software development, development"><link rel="home" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="up" href="index.html" title="Umbrello UML Modeller Handbook"><link rel="prev" href="authors.html" title="Chapter 7. Authors and History"><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">Prev</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>Chapter 8. Copyright</h1></div></div></div><p>Copyright 2001, Paul Hensgen</p><p>Copyright 2002-2020 The <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> Authors.</p><p><a name="gnu-fdl"></a>This documentation is licensed under the terms of the <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation
License</a>.</p><p>This program is licensed under the terms of the <a class="ulink" href="help:/kdoctools5-common/gpl-license.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">Prev</a></td><td class="upCell"><a accesskey="h" href="index.html">Contents</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Authors and History </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</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">Next</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Introduction</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Sun Jun 23 03:29:52 CEST 2024.