dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Manual do Umbrello UML Modeller</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="O Umbrello UML Modeller ajuda o processo de desenvolvimento de 'software' usando a norma da indústria que é a Unified Modelling Language (UML) para lhe permitir criar diagramas para desenhar e documentar os seus sistemas."><meta name="keywords" content="KDE, UML, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="next" href="introduction.html" title="Capítulo 1. Introdução"><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"> Manual do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Próximo</a></td></tr></table></div><div id="contentBody"><div lang="pt" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="Umbrello"></a>Manual do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h1></div><div><div class="authorgroup"><h3 class="corpauthor">Os Autores do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h3><span class="othercredit"><span class="contrib">Tradução</span>: <span class="firstname">José</span> <span class="surname">Pires</span><br></span></div></div><div>revisão <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, 2003 Os Autores do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></p></div><div><div><div class="abstract"><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ajuda o processo de desenvolvimento de 'software' usando a norma da indústria que é a Unified Modelling Language (<acronym class="acronym">UML</acronym>) para lhe permitir criar diagramas para desenhar e documentar os seus sistemas. </p></div></div></div></div><hr></div><div class="toc"><p><b>Índice</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Introdução</a></span></dt><dt><span class="chapter"><a href="uml-basics.html">2. Bases de <acronym class="acronym">UML</acronym></a></span></dt><dd><dl><dt><span class="sect1"><a href="uml-basics.html#about-uml">Acerca do <acronym class="acronym">UML</acronym></a></span></dt><dt><span class="sect1"><a href="uml-elements.html">Elementos de <acronym class="acronym">UML</acronym></a></span></dt><dd><dl><dt><span class="sect2"><a href="uml-elements.html#use-case-diagram">Diagrama de Casos de Utilização</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#class-diagram">Diagrama de Classes</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#sequence-diagram">Diagramas de Sequência</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#collaboration-diagram">Diagramas de Colaboração</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#state-diagram">Diagramas de Estados</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#activity-diagram">Diagrama de Actividades</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#helper-elements">Elementos Auxiliares</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#component-diagram">Diagramas de Componentes</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#deployment-diagram">Diagramas de Entrada em Produção</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#entity-relationship-diagram">Diagramas de Entidade-Associação</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#extended-entity-relationship-concepts">Conceitos Estendidos dos Diagramas de Entidade-Associação (ER)</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="working-with-umbrello.html">3. Trabalhar com o <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">Interface do Utilizador</a></span></dt><dd><dl><dt><span class="sect2"><a href="working-with-umbrello.html#tree-view">Vista em Árvore</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#documentation-window">Janela de Histórico de Comandos e Documentação</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#work-area">Área de Trabalho</a></span></dt></dl></dd><dt><span class="sect1"><a href="load-save.html">Criar, Carregar e Gravar Modelos</a></span></dt><dd><dl><dt><span class="sect2"><a href="load-save.html#new-model">Novo Modelo</a></span></dt><dt><span class="sect2"><a href="load-save.html#save-model">Gravar Modelo</a></span></dt><dt><span class="sect2"><a href="load-save.html#load-model">Carregar Modelo</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-model.html">Editar Modelos</a></span></dt><dt><span class="sect1"><a href="add-remove-diagrams.html">Adicionar e Remover Diagramas</a></span></dt><dd><dl><dt><span class="sect2"><a href="add-remove-diagrams.html#create-diagram">Criar Diagramas</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#remove-diagram">Remover Diagramas</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#rename-diagram">Mudar o Nome a Diagramas</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-diagram.html">Editar Diagramas</a></span></dt><dd><dl><dt><span class="sect2"><a href="edit-diagram.html#insert-elements">Inserir Elementos</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#delete-elements">Apagar Elementos</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-elements">Editar Elementos</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-classes">Editar Classes</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#associations">Associações</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#notes">Notas, Texto e Caixas</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="code-import-generation.html">4. Importação e Geração de Código</a></span></dt><dd><dl><dt><span class="sect1"><a href="code-import-generation.html#code-generation">Geração de Código</a></span></dt><dd><dl><dt><span class="sect2"><a href="code-import-generation.html#generate-code">Gerar Código</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-import.html">Importação de Código</a></span></dt></dl></dd><dt><span class="chapter"><a href="other-features.html">5. Outras Características</a></span></dt><dd><dl><dt><span class="sect1"><a href="other-features.html#idm1022">Outras Características do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="other-features.html#copying-as-png">Copiar objectos como imagens PNG</a></span></dt><dt><span class="sect2"><a href="other-features.html#export-as-png">Exportar para uma Imagem</a></span></dt><dt><span class="sect2"><a href="other-features.html#printing">Impressão</a></span></dt><dt><span class="sect2"><a href="other-features.html#logical-folders">Pastas Lógicas</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="authors.html">6. Autores e História</a></span></dt><dt><span class="chapter"><a href="copyright.html">7. Copyright</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Capítulo 1. Introdução</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="next" href="uml-basics.html" title="Capítulo 2. Bases de UML"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Introdução</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-basics.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Capítulo 1. Introdução</h1></div></div></div><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> é uma ferramenta de diagramas de <acronym class="acronym">UML</acronym> que o pode suportar no processo de desenvolvimento de 'software'. Especialmente durante o processo de análise e de desenho deste processo, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ajudá-lo-á a obter um produto de alta qualidade. O <acronym class="acronym">UML</acronym> pode também ser usado para documentar os seus desenhos de 'software' e a ajudá-lo a si e aos seus colegas programadores. </p><p>Se tiver um bom modelo do 'software', será a melhor forma de comunicar com outros programadores a trabalhar no projecto e com os seus clientes. Um bom modelo é extremamente importante para os projecto de dimensão média e grande, mas também é bastante útil para os projectos pequenos. Mesmo que você esteja a trabalhar num projecto pequeno de uma pessoa só, irá beneficiar de um bom modelo porque terá uma boa ideia geral que o ajudará a codificar bem as coisas logo à primeira vez. </p><p>O <acronym class="acronym">UML</acronym> é a linguagem de diagramas usada para descrever esses modelos. Você poderá representar as suas ideias em <acronym class="acronym">UML</acronym>, usando vários tipos de diagramas. O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2.11 suporta os seguintes tipos: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Diagrama de Classes</p></li><li class="listitem"><p>Diagrama de Sequência</p></li><li class="listitem"><p>Diagrama de Colaboração</p></li><li class="listitem"><p>Diagrama de Casos de Utilização</p></li><li class="listitem"><p>Diagrama de Estados</p></li><li class="listitem"><p>Diagrama de Actividades</p></li><li class="listitem"><p>Diagrama de Componentes</p></li><li class="listitem"><p>Diagrama de Entrada em Produção</p></li><li class="listitem"><p>Diagrama de Entidade-Relação</p></li></ul></div><p>Para mais informações sobre o <acronym class="acronym">UML</acronym> poderá consultar a página Web da <a class="ulink" href="http://www.omg.org" target="_top"><acronym class="acronym">OMG</acronym>, http://www.omg.org</a>, que foi quem criou a norma <acronym class="acronym">UML</acronym>. </p><p>Esperemos que você goste do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> e que o ajude a criar 'software' de alta qualidade. O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> é 'Software' Livre e está disponível sem custos alguns, a única coisa que lhe pedimos é para comunicar todos os erros, problemas ou sugestões para os programadores do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> em <code class="email">(umbrello-devel AT kde.org)</code> ou <a class="ulink" href="http://bugs.kde.org" target="_top">http://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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="uml-basics.html">Próximo</a></td></tr><tr><td class="prevCell">Manual do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </td><td class="upCell"> </td><td class="nextCell"> Bases de <acronym class="acronym">UML</acronym></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>Capítulo 2. Bases de UML</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="introduction.html" title="Capítulo 1. Introdução"><link rel="next" href="uml-elements.html" title="Elementos de UML"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Bases de <acronym class="acronym">UML</acronym></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-elements.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="uml-basics"></a>Capítulo 2. Bases de <acronym class="acronym">UML</acronym></h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="about-uml"></a>Acerca do <acronym class="acronym">UML</acronym></h2></div></div></div><p>Este capítulo dar-lhe-á uma ideia geral sobre as bases do <acronym class="acronym">UML</acronym>. Tenha em mente que isto não é um tutorial compreensivo sobre o <acronym class="acronym">UML</acronym> mas sim uma breve introdução ao mesmo, como tal poderá ser lido como um tutorial de <acronym class="acronym">UML</acronym>. Se você quiser aprender mais sobre a Unified Modelling Language ou, na generalidade, sobre a análise e desenho de 'software', baseie-se num dos vários livros disponíveis sobre o tópico. Existem também vários tutoriais na Internet que você poderá usar como ponto de partida. </p><p>A Unified Modelling Language (<acronym class="acronym">UML</acronym>) é uma linguagem ou notação de diagramas para especificar, visualizar e documentar modelos de 'software' orientados por objectos. O <acronym class="acronym">UML</acronym> não é um método de desenvolvimento, o que significa que não lhe diz o que fazer primeiro ou o que fazer a seguir ou como desenhar o seu sistema, mas ajuda-o a visualizar o seu desenho e a comunicar com os outros. O <acronym class="acronym">UML</acronym> é controlado pelo Object Management Group (<acronym class="acronym">OMG</acronym>) e é a norma da indústria para descrever graficamente o 'software'. </p><p>O <acronym class="acronym">UML</acronym> está desenhado para o desenho de 'software' orientado por objectos e tem uma utilização limitada para outros paradigmas de programação. </p><p>O <acronym class="acronym">UML</acronym> é composto por vários elementos do modelo que representam as diferentes partes de um sistema de 'software'. Os elementos de <acronym class="acronym">UML</acronym> são usados para criar diagramas que representam uma dada parte ou um ponto de vista do sistema. São suportados os seguintes tipos de diagramas pelo <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>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#use-case-diagram" title="Diagrama de Casos de Utilização">Diagramas de Casos de Uso</a></em></span> mostram os actores (as pessoas ou os outros utilizadores do sistema), os casos de utilização (os cenários em que eles usam o sistema) e as suas relações</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#class-diagram" title="Diagrama de Classes">Diagramas de Classes</a></em></span> mostram as classes e as relações entre elas</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#sequence-diagram" title="Diagramas de Sequência">Diagramas de Sequência</a></em></span> mostram os objectos e uma sequência de chamadas de métodos que eles fazem a outros objectos.</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#collaboration-diagram" title="Diagramas de Colaboração">Diagramas de Colaboração</a></em></span> mostram os objectos e as suas relações, colocando alguma ênfase nos objectos que participam na troca de mensagens</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#state-diagram" title="Diagramas de Estados">Diagramas de Estados</a></em></span> mostram os estados, as mudanças de estado e os eventos num objecto ou numa parte do sistema</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#activity-diagram" title="Diagrama de Actividades">Diagramas de Actividades</a></em></span> mostram as actividades e as mudanças de uma actividade para outra com os eventos a ocorrerem numa parte do sistema</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#component-diagram" title="Diagramas de Componentes">Diagramas de Componentes</a></em></span> mostram os componentes de alto-nível de programação (como as KParts ou os Java Beans).</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#deployment-diagram" title="Diagramas de Entrada em Produção">Diagramas de Entradas em Produção</a></em></span> mostram as instâncias dos componentes e as suas relações.</p></li><li class="listitem"><p>Os <span class="emphasis"><em><a class="link" href="uml-elements.html#entity-relationship-diagram" title="Diagramas de Entidade-Associação">Diagramas de Entidade-Associação</a></em></span> mostram os dados e as relações e as restrições entre os dados.</p></li></ul></div></div><FILENAME filename="uml-elements.html"><html><head><title>Elementos de UML</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="uml-basics.html" title="Capítulo 2. Bases de UML"><link rel="prev" href="uml-basics.html" title="Capítulo 2. Bases de UML"><link rel="next" href="working-with-umbrello.html" title="Capítulo 3. Trabalhar com o 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"> Elementos de <acronym class="acronym">UML</acronym></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-basics.html">Anterior</a></td><td class="upCell">Bases de <acronym class="acronym">UML</acronym></td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">Próximo</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>Elementos de <acronym class="acronym">UML</acronym></h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="use-case-diagram"></a>Diagrama de Casos de Utilização</h3></div></div></div><p>Os Diagramas de Casos de Uso descrevem as relações e as dependências entre um grupo de <span class="emphasis"><em>Casos de Uso</em></span> e os Actores que participam no processo.</p><p>É importante reparar que os Diagramas de Casos de Uso não são adequados para representar o desenho e também não podem descrever os detalhes internos de um sistema. Os Diagramas de Casos de Uso pretendem facilitar a comunicação com os utilizadores futuros do sistema e com o cliente, e são especialmente úteis para determinar as funcionalidades necessárias que o sistema deverá ter. Os Diagramas de Casos de Uso indicam <span class="emphasis"><em>o que</em></span> o sistema deverá fazer mas não devem — e não podem — especificar <span class="emphasis"><em>como</em></span> isto deverá ser feito.</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 a mostrar um diagrama de Casos de Utilização"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a mostrar um diagrama de Casos de Utilização </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case"></a>Caso de Utilização</h4></div></div></div><p>Um <span class="emphasis"><em>Caso de Utilização</em></span> descreve — do ponto de vista dos actores — um grupo de actividades de um sistema que produzem um resultado concreto e tangível.</p><p>Os Casos de Uso são descrições das interacções típicas entre os utilizadores de um sistema e o sistema propriamente dito. Eles representam a interface externa do sistema e especificam um dado tipo de requisitos sobre o que o sistema tem de fazer (lembre-se, só 'o quê', não 'como'). </p><p>Ao lidar com os Casos de Uso, é importante recordar algumas regras simples: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Cada Caso de Utilização está relacionado com pelo menos um actor</p></li><li class="listitem"><p>Cada Caso de Utilização tem um iniciador (ou seja, um actor)</p></li><li class="listitem"><p>Cada Caso de Uso conduz a um resultado relevante (um resultados com <span class="quote">“<span class="quote">valor de negócio</span>”</span>)</p></li></ul></div><p>
</p><p>Os Casos de Uso também poderão ter relações com outros Casos de Uso. Os três tipos de relações mais típicos entre Casos de Uso são:</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; (incluir)</em></span> que indica que um Caso de Uso toma lugar <span class="emphasis"><em>dentro</em></span> de outro Caso de Uso</p></li><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;extends&gt;&gt; (extende)</em></span> que indica que, em certas situações ou numa dada altura (chamada de ponto de extensão), um Caso de Uso será extendido por outro.</p></li><li class="listitem"><p><span class="emphasis"><em>Generalization</em></span> (generalização) indica que um Caso de Uso herda as características do <span class="quote">“<span class="quote">Super</span>”</span>-Caso de Uso e poderá implementar novamente algumas delas ou adicionar novas de uma forma semelhante à da herança de 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>Um actor é uma entidade externa (fora do sistema) que interage com o sistema ao participar (ou iniciar normalmente) um Caso de Uso. Os actores poderão ser pessoas reais (como, por exemplo, utilizadores do sistema), outros sistemas informáticos ou eventos exteriores. </p><p>Os actores não representam as pessoas <span class="emphasis"><em>físicas</em></span> ou os sistemas, mas sim o seu <span class="emphasis"><em>papel</em></span>. Isto significa que, quando uma pessoa interage com o sistema de formas diferentes (assumindo papéis diferentes), ele será representado por vários actores. Por exemplo, uma pessoa que dá suporte ao cliente por telefone e que recebe encomendas do cliente para colocar no sistema seria representado por um actor <span class="quote">“<span class="quote">Técnico de Suporte</span>”</span> e por um actor <span class="quote">“<span class="quote">Representante de Vendas</span>”</span> </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case-description"></a>Descrição de Caso de Utilização</h4></div></div></div><p>As descrições dos Casos de Uso são narrativas textuais do Caso de Uso. Elas normalmente tomam a forma de uma nota ou de um documento que esteja associado de alguma forma ao Caso de Uso e explicam os processos ou actividades que tomam lugar no Caso de Uso. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="class-diagram"></a>Diagrama de Classes</h3></div></div></div><p>Os Diagramas de Classes mostram as diferentes classes que compõem um sistema e como elas se relacionam umas com as outras. Os Diagramas de Classes são apontados normalmente como <span class="quote">“<span class="quote">estáticos</span>”</span> porque mostram as classes, em conjunto com os seus métodos e atributos, assim como as relações estáticas entre elas, quais as classes que <span class="quote">“<span class="quote">conhecem</span>”</span> outras classes ou que <span class="quote">“<span class="quote">fazem parte</span>”</span> de outra classe, mas não mostram as chamadas de métodos entre elas. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class-diagram.png" alt="O Umbrello UML Modeller a mostrar um diagrama de Classes"><div class="caption"><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a mostrar um diagrama de Classes </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class"></a>Classe</h4></div></div></div><p>Uma classe define os atributos e os métodos para um conjunto de objectos. Todos os objectos desta classe (as instâncias da mesma) partilham o mesmo comportamento e têm o mesmo conjunto de atributos (cada objecto tem o seu próprio conjunto). O termo <span class="quote">“<span class="quote">Tipo</span>”</span> é usado em algumas ocasiões em vez de Classe, mas é importante mencionar que os dois conceitos não são iguais e que o Tipo é um termo mais genérico. </p><p>No <acronym class="acronym">UML</acronym>, as Classes são representadas por rectângulos com o nome da classe, e poderão também mostrar os atributos e as operações da classe em outros dois <span class="quote">“<span class="quote">compartimentos</span>”</span> dentro do rectângulo. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class.png" alt="Representação visual de uma Classe em UML"><div class="caption"><p>Representação visual de uma Classe em <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>Atributos</h5></div></div></div><p>No <acronym class="acronym">UML</acronym>, os Atributos são mostrados como tendo o seu nome, pelo menos, e poderão mostrar também o seu tipo, o seu valor inicial e outras propriedades. Os atributos também poderão ser mostrados com a sua visibilidade: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code> Representa atributos <span class="emphasis"><em>públicos</em></span></p></li><li class="listitem"><p><code class="literal">#</code> Representa atributos <span class="emphasis"><em>protegidos</em></span></p></li><li class="listitem"><p><code class="literal">-</code> Representa atributos <span class="emphasis"><em>privados</em></span></p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="operation"></a>Operações</h5></div></div></div><p>As operações (métodos) são também mostradas contendo pelo menos o seu nome e poderão também mostrar os seus parâmetros e tipos de valor devolvidos. As operações podem, assim como os Atributos, mostrar a sua visibilidade: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code> Corresponde a operações <span class="emphasis"><em>públicas</em></span></p></li><li class="listitem"><p><code class="literal">#</code> Corresponde a operações <span class="emphasis"><em>protegidas</em></span></p></li><li class="listitem"><p><code class="literal">-</code> Corresponde a operações <span class="emphasis"><em>privadas</em></span></p></li></ul></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="templates"></a>Modelos</h5></div></div></div><p>As Classes poderão ter modelos, um valor que é usado para uma classe ou tipo não especificado. O tipo de modelo é definido quando uma classe é iniciada (isto é um objecto é criado). Os modelos existem como 'template' no C++ actual e serão introduzidos no Java 1.5 onde serão chamados de 'Generics'. </p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations"></a>Associações da Classe</h4></div></div></div><p>Uma classe pode-se relacionar (ser associada) com outra qualquer de diferentes maneiras:</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="generalization"></a>Generalização</h5></div></div></div><p>A herança é um dos conceitos fundamentais da programação orientada por objectos, nos quais uma classe <span class="quote">“<span class="quote">ganha</span>”</span> todos os atributos e operações da classe que herda, podendo sobrepor ou modificar algumas delas, assim como adicionar mais atributos ou operações próprias.</p><p>No <acronym class="acronym">UML</acronym>, uma associação por <span class="emphasis"><em>Generalização</em></span> entre duas classes representa o conceito de herança entre uma classe de base e uma classe derivada. No <acronym class="acronym">UML</acronym>, as Generalizações são representadas com uma linha que liga as duas classes, em que existe uma seta do lado da classe de base. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generalization.png" alt="Representação visual de uma generalização em UML"><div class="caption"><p>Representação visual de uma generalização em <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>Associações</h5></div></div></div><p>Uma associação representa uma relação entre classes e dá a semântica e a estrutura comum para vários tipos de <span class="quote">“<span class="quote">ligações</span>”</span> entre os objectos.</p><p>As associações são o mecanismo que permite aos objectos comunicarem uns com os outros. Descreve a ligação entre as diferentes classes (a ligação entre os objectos em si é chamada de <span class="emphasis"><em>ligação do objecto</em></span>. </p><p>As associações podem ter um papel que indica o objectivo da associação e pode ser unidireccionais ou bidireccionais (indica se os dois objectos que participam na relação poderão enviar mensagens um para o outro, ou se só um deles é que conhece o outro). Cada extremo da associação também tem um valor de multiplicidade, que define quantos objectos desse lado da associação poder-se-ão relacionar com um objecto do outro lado. </p><p>No <acronym class="acronym">UML</acronym>, as associações são representadas como linhas que ligam as classes que participam na relação e poderá também mostrar o papel e a multiplicidade de cada um dos participantes. A multiplicidade é mostrada como um intervalo [mín..máx] de valores não-negativos ou com um asterisco (<code class="literal">*</code>) no lado do máximo que representa o infinito. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="association.png" alt="Uma representação visual de uma associação em UML"><div class="caption"><p>Uma representação visual de uma associação em <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>Agregação</h5></div></div></div><p>As agregações são um tipo especial de associações nas quais as duas classes participantes não têm um estado igual, mas têm uma relação <span class="quote">“<span class="quote">do 'todo' para as partes</span>”</span>. Uma agregação diz como é que a classe que têm o papel do 'todo' é composta (ou tem) as outras classes, que têm o papel das partes. Para as agregações, a classe que actua como o 'todo' tem sempre uma multiplicidade de um. </p><p>No <acronym class="acronym">UML</acronym>, as agregações são representados por uma associação com um losango do lado do 'todo'. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="aggregation.png" alt="Uma representação visual de uma relação de agregação no UML"><div class="caption"><p>Uma representação visual de uma relação de agregação no <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>Composição</h5></div></div></div><p>As composições são associações que representam agregações <span class="emphasis"><em>muito fortes</em></span>. Isto significa que as composições formam também relações do 'todo' para as partes, mas a relação é tão forte que as partes não podem existir por si só. Elas só existem dentro do todo e se o todo for destruído, as partes desaparecem também.</p><p>No <acronym class="acronym">UML</acronym>, as Composições são representadas por um losango a cheio do lado do 'todo'. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="composition.png" alt="Uma representação visual de uma relação de Composição no UML"></div></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="other-class-diagram-items"></a>Outros Itens do Diagrama de Classes</h4></div></div></div><p>Os diagramas de classe poderão conter outros itens para além das classes.</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="interfaces"></a>Interfaces</h5></div></div></div><p>As interfaces são classes abstractas, o que significa que as instâncias não podem ser criadas directamente a partir delas. Elas poderão contem operações, mas não podem conter atributos. As classes podem herdar das interfaces (através de uma relação de realização) e as instâncias poderão então ser compostas a partir desses diagramas.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="datatype"></a>Tipos de dados</h5></div></div></div><p>Os tipos de dados são primitivas que vêm tipicamente incorporadas numa linguagem de programação. Os exemplos comuns incluem os inteiros e os booleanos. Eles não poderão ter relações com as classes, mas as classes poderão ter relações com eles.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="enum"></a>Enumerados</h5></div></div></div><p>Os enumerados são uma lista simples de valores. Um exemplo típico são os enumerados para os dias da semana. Como os tipos de dados, os enumerados não poderão ter relações com as classes, mas as classes poderão ter relações com eles.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="package"></a>Pacotes</h5></div></div></div><p>Os pacotes representam um espaço de nomes numa linguagem de programa. Num diagrama, eles são usados para representar partes de um sistema que contém mais do que uma classe, podendo ser mesmo centenas de classes.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="sequence-diagram"></a>Diagramas de Sequência</h3></div></div></div><p>Os Diagramas de Sequência mostram a troca de mensagens (isto é as chamadas aos métodos) entre os vários objectos numa situação específica delimitada no tempo. Os objectos são instâncias das classes. Os Diagramas de Sequência colocam uma ênfase especial na ordem e nas alturas em que as mensagens são enviadas para os objectos.</p><p>Nos Diagramas de Sequência, os objectos são representados através de linhas tracejadas verticais, com o nome do objecto no topo. O eixo do tempo também é vertical, e vai aumentando de cima para baixo, de modo a que as mensagens sejam enviadas de um objecto para outro, sob o formato de setas com o nome da operação e dos parâmetros. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="sequence-diagram.png" alt="O Umbrello UML Modeller a mostrar um Diagrama de Sequência"><div class="caption"><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a mostrar um Diagrama de Sequência </p></div></div></div><p>As mensagens tanto podem ser síncronas, o que acontece normalmente nas chamadas de mensagens quando o controlo é passado para o objecto que é invocado até que esse método termine a sua execução, ou poderão também ser assíncronas, onde o controlo é passado de volta directamente para o objecto que invoca o método. As mensagens síncronas têm uma caixa vertical do lado do objecto que é chamado para mostrar o fluxo de controlo do programa.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="collaboration-diagram"></a>Diagramas de Colaboração</h3></div></div></div><p>Os Diagramas de Colaboração mostram as interacções entre os objectos que participam numa dada situação. Esta é mais ou menos a mesma informação que é mostrada pelos Diagramas de Sequência, mas existe também uma ênfase posta sobre como as interacções ocorrem no tempo, enquanto que os Diagramas de Colaboração colocam as relações entre os seus objectos e a sua topologia em primeiro plano.</p><p>Nos Diagramas de Colaboração, as mensagens enviadas de um objecto para o outro são representadas por setas que mostram o nome da mensagem, os parâmetros e a sequência da mensagem. Os Diagramas de Colaboração são particularmente adequados a mostrar um fluxo específico de um programa ou situação, e são uns dos melhores tipos de diagramas para demonstrar ou explicar rapidamente um processo na lógica do programa. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="collaboration-diagram.png" alt="O Umbrello UML Modeller a mostrar um Diagrama de Colaboração"><div class="caption"><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a mostrar um Diagrama de Colaboração </p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="state-diagram"></a>Diagramas de Estados</h3></div></div></div><p>Os Diagramas de Estados mostram os diferentes estados de um objecto durante a sua vida, bem como os estímulos que fazem com que o objecto mude o seu estado. </p><p>Os Diagramas de Estados vêem os objectos como <span class="emphasis"><em>máquinas de estados</em></span> ou autónomos finitos que poderão estar num estado pertencente a uma lista de estados finitos e que poderão mudar o seu estado através de um estímulo pertencente a um conjunto finito de estímulos. Por exemplo, um objecto do tipo <span class="emphasis"><em>ServidorRede</em></span> poderá estar num dos seguintes estados durante a sua vida: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Pronto</p></li><li class="listitem"><p>À espera</p></li><li class="listitem"><p>A trabalhar</p></li><li class="listitem"><p>Parado</p></li></ul></div><p>e os eventos que poderão fazer com que o Objecto mude de estado são</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>O objecto é criado</p></li><li class="listitem"><p>O objecto atende a mensagem</p></li><li class="listitem"><p>Um cliente pede uma ligação pela rede</p></li><li class="listitem"><p>Um cliente termina um pedido</p></li><li class="listitem"><p>O pedido é executado e terminado</p></li><li class="listitem"><p>O objecto recebe a mensagem parar</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="O Umbrello UML Modeller a mostrar um Diagrama de Estado"><div class="caption"><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a mostrar um Diagrama de Estado </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="state"></a>Estado</h4></div></div></div><p>Os estados são os blocos de construção dos Diagramas de Estado. Um estado pertence a exactamente uma classe e representa um resumo dos valores que os atributos de uma classe poderão obter. Um Estado no <acronym class="acronym">UML</acronym> descreve o estado interno de um objecto de uma determinada classe </p><p>Tenha em atenção que nem todas as alterações de um atributo de um objecto deverão ser representadas por um estado, mas só mesmo aquelas alterações que poderão afectar significativamente o funcionamento do objecto</p><p>Existem dois tipos especiais de Estados: o Inicial e o Final. Eles são especiais na medida em que não existe nenhum evento que possa fazer um objecto voltar ao seu estado inicial, da mesma forma que não há nenhum evento que possa retirar um objecto do seu estado final, logo que o tenha atingido. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="activity-diagram"></a>Diagrama de Actividades</h3></div></div></div><p>Os Diagramas de Actividades descrevem a sequência de actividades de um sistema, com a ajuda das Actividades propriamente ditas. Os Diagramas de Actividades são um tipo especial de Diagramas de Estados, que só (ou em grande parte) contêm Actividades. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="activity-diagram.png" alt="O Umbrello UML Modeller a mostrar um Diagrama de Actividade"><div class="caption"><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> a mostrar um Diagrama de Actividade </p></div></div></div><p>
</p><p>Os Diagramas de Actividades são semelhantes aos fluxogramas procedimentais, com a diferença que todas as Actividades estão claramente associadas a objectos.</p><p>Os Diagramas de Actividades estão sempre associados a uma <span class="emphasis"><em>Classe</em></span>, uma <span class="emphasis"><em>Operação</em></span> ou um <span class="emphasis"><em>Caso de Uso</em></span>.</p><p>Os Diagramas de Actividades suportam as Actividades sequências, assim como as paralelas. A execução paralela é representada através de ícones de 'Fork' (Bifurcação) ou 'Wait' (Espera) e, para as actividades que decorrem em paralelo, não é importante a ordem pela qual são desempenhadas (elas poderão ser executadas ao mesmo tempo ou uma a seguir à outra)</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="activity"></a>Actividade</h4></div></div></div><p>Uma Actividade é um passo único num processo. Uma Actividade é um estado no sistema com actividade interna e, pelo menos, uma transição de saída. As Actividades também poderão conter mais do que uma transição de saída se tiverem diferentes condições. </p><p>As Actividades poderão formar hierarquias, o que significa que uma Actividade poderá ser composta por várias Actividades de <span class="quote">“<span class="quote">detalhe</span>”</span>, onde nesse caso as transições de entrada e de saída deverão corresponder às transições de entrada e de saída do diagrama de detalhe. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="helper-elements"></a>Elementos Auxiliares</h3></div></div></div><p>Existem alguns elementos no <acronym class="acronym">UML</acronym> que não têm nenhum valor semântico real para o modelo, mas que ajudam a clarificar partes do diagrama. Esses elementos são </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Linhas de texto</p></li><li class="listitem"><p>Notas de Texto e âncoras</p></li><li class="listitem"><p>Caixas</p></li></ul></div><p>As linhas de texto são úteis para adicionar algumas informações textuais breves para um diagrama. Correspondem a texto livre e não têm nenhum significado para o modelo em si. </p><p>As notas são úteis para adicionar informações mais detalhada sobre um objecto ou uma dada situação. Têm a grande vantagem de poderem ser anexadas a Elementos de <acronym class="acronym">UML</acronym> para mostrar que a nota <span class="quote">“<span class="quote">pertence</span>”</span> a um dado objecto ou situação. </p><p>As caixas são rectângulos livres que poderão ser usados para agrupar os itens em conjunto para tornar os diagramas mais legíveis. Elas não têm significado lógico no modelo.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="component-diagram"></a>Diagramas de Componentes</h3></div></div></div><p>Os Diagramas de Componentes mostram os componentes do 'software' (sejam referentes a tecnologias de componentes como os KParts, os componentes do CORBA ou Java Beans, ou mesmo secções do sistema que sejam claramente distintas), bem como os artefactos de que são compostos, como os ficheiros de código-fonte, as bibliotecas de programação ou as tabelas de bases de dados relacionais.</p><p>Os componentes poderão ter interfaces (isto é classes abstractas com operações) quer permitem associar os componentes.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="deployment-diagram"></a>Diagramas de Entrada em Produção</h3></div></div></div><p>Os Diagramas de Entrada em Produção mostram as instâncias em execução, bem como as suas associações. Eles incluem os Nós, que são recursos físicos, correspondendo tipicamente a um único computador. Mostram também as interfaces e os objectos (as instâncias das classes).</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="entity-relationship-diagram"></a>Diagramas de Entidade-Associação</h3></div></div></div><p>Os Diagramas de Entidade-Associação (Diagramas ER) mostram o desenho conceptual das aplicações de bases de dados. Estes definem as várias entidades (conceitos) no sistema de informação e as relações e restrições entre eles. Uma extensão dos Diagramas Entidade-Associação, chamada 'Diagramas Estendidos Entidade-Associação' (EER) são usados para incorporar as técnicas de desenho Orientado por Objectos nos diagramas ER. </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="O Umbrello a mostrar um Diagrama de Entidade-Associação"><div class="caption"><p>O Umbrello a mostrar um Diagrama de Entidade-Associação </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="entity"></a>Entidade</h4></div></div></div><p>Uma <span class="emphasis"><em>Entidade</em></span> é qualquer conceito no mundo real com uma existência independente. Poderá ser um objecto com uma existência física (exemplo, Computador, Robot) ou poderá ser um objecto com uma existência conceptual ( p.ex.: Curso Universitário). Cada entidade tem um conjunto de atributos que descrevem as propriedades da Entidade.</p><p><span class="emphasis"><em>Nota:</em></span> Não existem ainda notações normalizadas para desenhar Diagramas ER. Os diferentes textos sobre este assunto usam notações diferentes. Os conceitos e notações para os diagramas ER usados no Umbrello são do seguinte livro: <span class="emphasis"><em>Elmasri R. e Navathe S. (2004). Fundamentals of Database Systems 4a ed. Addison Wesley</em></span> </p><p>Num Diagrama ER, as Entidades são representadas por rectângulos com o nome da classe, e poderão também mostrar os atributos de uma entidade noutro <span class="quote">“<span class="quote">compartimento</span>”</span> dentro do rectângulo. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="entity.png" alt="Representação visual de uma entidade num Diagrama ER"><div class="caption"><p>Representação visual de uma entidade num Diagrama ER </p></div></div></div><p>
</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="entity-attribute"></a>Atributos da Entidade</h5></div></div></div><p>Nos Diagramas ER, os Atributos das Entidades aparecem com o seu nome num compartimento diferente da Entidade a que pertencem. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="constraint"></a>Restrições</h5></div></div></div><p>As restrições nos diagramas ER definem as limitações sobre os dados no esquema de informação. </p><p>Existem quatro tipos de restrições suportados no Umbrello : </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Chave Primária:</em></span> O conjunto de atributos declarado como <span class="emphasis"><em>chave primária</em></span> é único para a entidade. Só poderá existir uma chave primária numa Entidade e nenhum dos seus atributos constituintes poderá ser nulo. </p></li><li class="listitem"><p><span class="emphasis"><em>Chave Única:</em></span> O conjunto de atributos declarado como <span class="emphasis"><em>chave única</em></span> é único para a entidade. Poderão existir várias restrições de chaves únicas. Os seus atributos constituintes poderão ser nulos. As Chaves Únicas e Chaves Primárias identificam de forma única uma linha numa tabela (entidade)</p></li><li class="listitem"><p><span class="emphasis"><em>Chave Estrangeira:</em></span> Uma Chave Estrangeira é uma restrição de referência entre duas tabelas. A chave estrangeira identifica uma coluna ou conjunto de colunas numa tabela (de referência) que aponta para uma coluna ou conjunto de colunas noutra tabela (referenciada). As colunas da tabela referenciada deverão formar uma chave primária ou única. </p></li><li class="listitem"><p><span class="emphasis"><em>Restrição de Verificação:</em></span> Uma restrição de verificação (também conhecida como restrição de verificação de tabelas) é uma condição que define os dados válidos ao adicionar ou actualizar um item numa tabela de uma base de dados relacional. Uma restrição de verificação é aplicada a cada linha na tabela. A tabela deverá ser um predicado. Poderá fazer uma referência a uma ou várias colunas da tabela. </p><p>Exemplo: preço 
&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>Conceitos Estendidos dos Diagramas de Entidade-Associação (ER)</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="specialization"></a>Especialização</h4></div></div></div><p>A especialização é uma forma de criar novas entidades com base em entidades que já tenham sido definidas. As entidades novas, conhecidas como entidades derivadas, recebem (ou herdam) os atributos das entidades pré-existentes, as quais são referenciadas como entidades de base. Pretende ajudar a reutilizar os dados existentes com poucas ou nenhumas modificações.</p><p>No Umbrello, uma pessoa poderá definir Especializações Disjuntas e Sobrepostas</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="disjoint-specialization"></a>Especialização Disjunta</h5></div></div></div><p>A Especialização Disjunta define que as sub-classes da especialização deverão ser disjuntas. Isto significa que uma entidade poderá ser um membro de no máximo uma das entidades derivadas da especialização</p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="disjoint-specialization.png" alt="Representação visual da Especialização Disjunta num Diagrama ER"><div class="caption"><p>Representação visual de uma Especialização Disjunta num Diagrama ER </p></div></div></div><p>
    </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="overlapping-specialization"></a>Especialização Sobreposta</h5></div></div></div><p>Quando as entidades derivadas não estão restritas para serem disjuntas, o seu conjunto de entidades são consideradas uma especialização sobreposta. Isto significa que a mesma entidade no mundo real poderá ser um membro de mais de uma entidade derivada da especialização</p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="overlapping-specialization.png" alt="Representação visual de uma Especialização Sobreposta num Diagrama ER"><div class="caption"><p>Representação visual de uma Especialização Sobreposta num Diagrama ER </p></div></div></div><p>
  </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="category"></a>Categoria</h5></div></div></div><p>Diz-se que uma entidade derivada é uma <span class="emphasis"><em>Categoria</em></span> quando representa uma colecção de objectos que é um sub-conjunto da União dos tipos de entidades distintos. Uma categoria modela-se quando surge a necessidade de uma relação única de super-classe/sub-classe com mais de uma super-classe, onde as super-classes representam diferentes tipos de entidades (como acontece na herança múltipla da Programação Orientada por Objectos ). </p><p>
   </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="category.png" alt="Representação visual de uma categoria num Diagrama ER"><div class="caption"><p>Representação visual de uma categoria num Diagrama ER</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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">Próximo</a></td></tr><tr><td class="prevCell">Bases de <acronym class="acronym">UML</acronym> </td><td class="upCell">Bases de <acronym class="acronym">UML</acronym></td><td class="nextCell"> Trabalhar com o <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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="uml-elements.html">Próximo</a></td></tr><tr><td class="prevCell">Introdução </td><td class="upCell"> </td><td class="nextCell"> Elementos de <acronym class="acronym">UML</acronym></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>Capítulo 3. Trabalhar com o 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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="uml-elements.html" title="Elementos de UML"><link rel="next" href="load-save.html" title="Criar, Carregar e Gravar Modelos"><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"> Trabalhar com o <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">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="load-save.html">Próximo</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>Capítulo 3. Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h1></div></div></div><p>Este capítulo introduzi-lo-á à interface de utilizador do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> e indicar-lhe-á o que precisa de saber para começar a modelar. Todas as acções no <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> são acedidas através do menu e das barras de ferramentas, mas o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> também recorre com frequência aos menus de contexto do botão <span class="mousebutton">direito</span> do rato. Você poderá carregar com o botão <span class="mousebutton">direito</span> do rato em praticamente qualquer elemento da área de trabalho ou da árvore do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> para obter um menu com as funções mais úteis que poderão ser aplicadas ao elemento em particular com que está a lidar. Alguns dos utilizadores poderão achar um pouco confuso ao início porque estão mais habituados a trabalhar com o menu ou com as barra de ferramentas, mas logo que esteja habituado a carregar com o botão <span class="mousebutton">direito</span> irá aumentar bastante a velocidade do seu trabalho. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface"></a>Interface do Utilizador</h2></div></div></div><p>A janela principal do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> está dividida em três áreas que o ajudarão a manter uma ideia geral do seu sistema inteiro e a aceder mais depressa aos diferente diagramas enquanto trabalha no seu modelo. </p><p>Estas áreas são chamadas:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Vista em Árvore</p></li><li class="listitem"><p>Área de Trabalho</p></li><li class="listitem"><p>Janela de histórico de comandos e documentação</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="Interface de Utilizador do Umbrello UML Modeller"><div class="caption"><p>Interface de Utilizador do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="tree-view"></a>Vista em Árvore</h3></div></div></div><p>A Vista em Árvore, ou simplesmente Árvore, está localizada no lado esquerdo e na parte superior da janela, e mostra todos os diagramas, classes, actores e casos de utilização que compõem o seu modelo. A vista em árvore também lhe dá uma forma rápida de alternar entre os diferentes diagramas do seu modelo e de inserir elementos do seu modelo no diagrama actual. </p><p>Se você estiver a trabalhar num modelo com bastantes classes e diagramas, a Árvore poderá ajudá-lo a ter a noção das coisas, organizando os elementos do seu modelo em pastas. Você poderá criar pastas se seleccionar a opção apropriada no menu de contexto (se carregar com o botão <span class="mousebutton">direito</span> do rato numa das pastas da árvore) e poderá organizar os seus elementos, movendo-os para a pasta apropriada (arrastando-os e largando-os) </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="documentation-window"></a>Janela de Histórico de Comandos e Documentação</h3></div></div></div><p>A Janela de Histórico de Comandos e Documentação é a pequena janela que se localiza em baixo e à esquerda na janela do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, e dá-lhe uma antevisão rápida da documentação para o item seleccionado no momento. A Janela de Documentação é relativamente pequena porque pretende dar-lhe apenas uma ideia rápida da documentação do elemento, mas ocupando o mínimo espaço no ecrã possível. Se você precisar de ver a documentação com mais detalhe, poderá sempre abrir as propriedades do item. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="work-area"></a>Área de Trabalho</h3></div></div></div><p>A Área de Trabalho é a janela principal do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> e onde a acção real toma lugar. Você usa a Área de Trabalho para editar e ver os diagramas do seu modelo. A Área de Trabalho mostra o diagrama activo no momento. Actualmente só é possível mostrar um diagrama na Área de Trabalho em qualquer altura. </p></div></div><FILENAME filename="load-save.html"><html><head><title>Criar, Carregar e Gravar Modelos</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capítulo 3. Trabalhar com o Umbrello UML Modeller"><link rel="prev" href="working-with-umbrello.html" title="Capítulo 3. Trabalhar com o Umbrello UML Modeller"><link rel="next" href="edit-model.html" title="Editar Modelos"><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"> Criar, Carregar e Gravar Modelos</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-umbrello.html">Anterior</a></td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-model.html">Próximo</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>Criar, Carregar e Gravar Modelos</h2></div></div></div><p>A primeira coisa que você precisa para começar a fazer algo de útil com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> é criar um modelo sobre o qual trabalhar. Quando você inicia o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ele carregar sempre o último modelo usado ou cria um novo modelo em branco (dependendo das suas opções definidas na janela de configuração). Isto permitir-lhe-á começar a trabalhar logo num instante. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="new-model"></a>Novo Modelo</h3></div></div></div><p>Se a qualquer altura você precisar de criar um novo modelo, poderá fazê-lo seleccionando para tal o item <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Novo</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ficheiro</span></span>, ou carregando no ícone <span class="guiicon">Novo</span> da barra de ferramentas da aplicação. Se você estiver a trabalhar num modelo que foi modificado, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> perguntar-lhe-á se deverá gravar as suas alterações antes de carregar o novo modelo. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="save-model"></a>Gravar Modelo</h3></div></div></div><p>Você poderá gravar o seu modelo em qualquer altura se seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gravar</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ficheiro</span></span> ou carregando no botão <span class="guiicon">Gravar</span> da barra de ferramentas da aplicação. Se precisar de gravar o seu modelo com outro nome, você poderá usar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gravar Como</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ficheiro</span></span>. </p><p>Para sua conveniência, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> também lhe oferece a possibilidade de gravar automaticamente o seu trabalho com um período de tempo determinado. Você poderá configurar se deseja esta opção, assim como definir os intervalos de tempo na <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Configuração</span></span> do <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>Carregar Modelo</h3></div></div></div><p>Para carregar um modelo já existente, você poderá seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Abrir</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ficheiro</span></span> ou ainda carregar no ícone <span class="guiicon">Abrir</span> da barra de ferramentas da aplicação. Os modelos usados mais recentemente estão disponíveis no sub-menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Abrir Recente</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ficheiro</span></span> para acelerar o acesso aos seus modelos usados mais frequentemente. </p><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> só poderá lidar com um modelo de cada vez, por isso se pedir ao programa para carregar um modelo para si, e se o seu modelo actual tiver sido modificado desde a última vez que o gravou, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> irá perguntar se você deseja gravar as suas alterações para evitar que perca o trabalho. Você poderá iniciar duas ou mais instâncias do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> em qualquer altura, assim como também poderá copiar e colar entre instâncias. </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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="edit-model.html">Próximo</a></td></tr><tr><td class="prevCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Editar Modelos</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>Editar Modelos</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capítulo 3. Trabalhar com o Umbrello UML Modeller"><link rel="prev" href="load-save.html" title="Criar, Carregar e Gravar Modelos"><link rel="next" href="add-remove-diagrams.html" title="Adicionar e Remover Diagramas"><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"> Editar Modelos</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">Anterior</a></td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">Próximo</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>Editar Modelos</h2></div></div></div><p>No <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, existem basicamente duas formas de editar os elementos do seu modelo. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Editar directamente os elementos do modelo na Árvore</p></li><li class="listitem"><p>Editar os elementos do modelo através de um diagrama</p></li></ul></div><p>
</p><p>Ao usar o menu de contexto dos diferentes itens da Árvore você será capaz de adicionar, remover e modificar quase todos os elementos do seu modelo. Se carregar com o botão <span class="mousebutton">direito</span> nas pastas da Árvore, você ficará com algumas opções para criar os diferentes tipos de diagramas assim como, dependendo se a pasta pertence a uma <span class="emphasis"><em>Vista de um Caso de Uso</em></span> ou de uma <span class="emphasis"><em>Vista Lógica</em></span>, a Actores, Casos de Utilização, Classes, etc. </p><p>Logo que você tenha adicionado elementos ao seu modelo, você poderá também editar um elemento se aceder à sua janela de propriedades, a qual poderá encontrar se seleccionar a opção <span class="emphasis"><em>Propriedades</em></span> do menu de contexto que é mostrado quando se carrega com o botão <span class="mousebutton">direito</span> nos itens da Árvore. </p><p>Você também poderá editar o seu modelo, criando ou modificando elementos através dos diagramas. Poderão ser obtidos mais detalhes sobre como fazê-lo nas secções seguintes. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">Próximo</a></td></tr><tr><td class="prevCell">Criar, Carregar e Gravar Modelos </td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Adicionar e Remover Diagramas</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>Adicionar e Remover Diagramas</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capítulo 3. Trabalhar com o Umbrello UML Modeller"><link rel="prev" href="edit-model.html" title="Editar Modelos"><link rel="next" href="edit-diagram.html" title="Editar Diagramas"><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"> Adicionar e Remover Diagramas</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">Anterior</a></td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">Próximo</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>Adicionar e Remover Diagramas</h2></div></div></div><p>O seu modelo <acronym class="acronym">UML</acronym> consiste num conjunto de elementos <acronym class="acronym">UML</acronym> e de associações entre eles. Todavia, você não consegue ver o modelo directamente, como tal você usa os <span class="emphasis"><em>Diagramas</em></span> para olhar para ele. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="create-diagram"></a>Criar Diagramas</h3></div></div></div><p>Para criar um novo diagrama no seu modelo, basta seleccionar o tipo de diagrama que precisa no sub-menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Novo</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagrama</span></span> e dar-lhe um nome. O diagrama será criado e tornado activo, e você vê-lo-á imediatamente na árvore. </p><p>Lembre-se que o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> tira bastante partido dos menus de contexto: você também poderá carregar com o botão <span class="mousebutton">direito</span> do rato numa pasta da Árvore e seleccionar o tipo de diagrama apropriado no sub-menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Novo</span></span> do menu de contexto. Lembre-se que você poderá criar Diagramas de Casos de Uso apenas na Vista de Casos de Uso, enquanto que os outros tipos de diagramas só poderão ser criados nas pastas das Vistas Lógicas. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="remove-diagram"></a>Remover Diagramas</h3></div></div></div><p>Se você necessitar de remover um diagrama do seu modelo deve torná-lo activo e seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Remover</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagrama</span></span>. Você também poderá conseguir isto se seleccionar <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Remover</span></span> do menu de contexto dos diagramas na árvore </p><p>Dado que a remoção de um diagrama é algo sério que poderá dar origem à perda de algum trabalho se for feito por acidente, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> perguntar-lhe-á se confirma a operação de remoção antes de remover efectivamente o diagrama. Assim que um diagrama tenha sido removido e o ficheiro tenha sido gravado não existe forma de anular essa acção. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="rename-diagram"></a>Mudar o Nome a Diagramas</h3></div></div></div><p>Se quiser mudar o nome de um diagrama existente, você-lo-á fazer facilmente se seleccionar a opção Mudar o Nome do seu menu do botão <span class="mousebutton">direito</span> do rato da árvore. </p><p>Outra forma de mudar o nome de um diagrama é através da sua janela de propriedades, a qual poderá aceder se seleccionar Propriedades do seu menu de contexto ou se carregar duas vezes na árvore. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">Próximo</a></td></tr><tr><td class="prevCell">Editar Modelos </td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Editar Diagramas</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>Editar Diagramas</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="working-with-umbrello.html" title="Capítulo 3. Trabalhar com o Umbrello UML Modeller"><link rel="prev" href="add-remove-diagrams.html" title="Adicionar e Remover Diagramas"><link rel="next" href="code-import-generation.html" title="Capítulo 4. Importação e Geração de Código"><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"> Editar Diagramas</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="add-remove-diagrams.html">Anterior</a></td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">Próximo</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>Editar Diagramas</h2></div></div></div><p>Ao trabalhar num diagrama, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> irá tentar guiá-lo na aplicação de algumas regras simples como quais os elementos que são válidos nos diferentes tipos de diagramas, assim como as relações entre eles. Se você for um perito em <acronym class="acronym">UML</acronym> poderá até nem dar por isso, mas isto poderá ajudar as pessoas menos experientes em <acronym class="acronym">UML</acronym> a criar diagramas em conformidade com as normas. </p><p>Logo que você tenha criado os seus diagramas, é a altura de começar a editá-los. Aqui você deverá reparar na diferença (subtil, para os principiantes) entre a edição do seu diagrama e a edição do <span class="emphasis"><em>modelo</em></span>. Como já deverá saber, os diagramas são <span class="emphasis"><em>vistas</em></span> do seu modelo. Por exemplo, se você criar uma classe ao editar um Diagrama de Classes, você está de facto a alterar ambos, o seu diagrama e o seu modelo. Se você alterar a cor ou outras opções de visualização de uma classe no seu Diagrama de Classes, você só estará a editar o diagrama, mas nada se altera no seu modelo. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="insert-elements"></a>Inserir Elementos</h3></div></div></div><p>Uma das primeiras coisas que você irá fazer quando estiver a editar um diagrama novo é inserir elementos nele (Classes, Actores, Casos de Uso, <abbr class="abbrev">etc.</abbr>). Existem basicamente duas formas de o fazer:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Arrastar os elementos existentes no seu modelo a partir da árvore</p></li><li class="listitem"><p>Criando novos elementos no seu modelo e adicionando-os ao seu diagrama ao mesmo tempo, usando uma das ferramentas de edição da Barra de Trabalho</p></li></ul></div><p>Para inserir elementos que já existam no seu modelo, basta arrastá-los da árvore e largá-los onde os desejar no seu diagrama. Você poderá sempre mover os elementos do seu diagrama com a ferramenta de selecção. </p><p>A segunda forma de adicionar elementos ao seu diagrama é usando as ferramentas de edição da Barra de Trabalho (repare que isto também irá adicionar os elementos ao seu modelo). </p><p>A Barra de Trabalho localizava-se por omissão no topo da janela. As ferramentas disponíveis nesta barra de ferramentas (os botões que vê nela) mudam de acordo com o tipo de diagrama com que está a lidar no momento. O botão para a ferramenta seleccionada no momento está activo na barra de ferramentas. Você poderá mudar para a ferramenta de selecção se carregar na tecla <span class="keycap"><strong>Esc</strong></span>. </p><p>Quando você tiver seleccionado uma ferramenta de edição da Barra de Ferramentas de Trabalho (como, por exemplo, a ferramenta de inserção de classes), o cursor do rato muda para uma cruz, e você poderá inserir os elementos no seu modelo se carregar uma vez no seu diagrama. Repare que os elementos no <acronym class="acronym">UML</acronym> precisam de ter um <span class="emphasis"><em>Nome Único</em></span>. Por isso, se você tiver uma classe num diagrama cujo nome é <span class="quote">“<span class="quote">ClasseA</span>”</span> e se você quiser usar a ferramenta de inserção de classes para inserir uma classe noutro diagrama, você não poderá chamar a essa nova classe também <span class="quote">“<span class="quote">ClasseA</span>”</span>. Se estes dois nomes são supostamente para estar em dois elementos diferentes, você precisa de dar a eles um nome único. Se você estiver a tentar adicionar o <span class="emphasis"><em>mesmo</em></span> elemento ao seu diagrama, então a ferramenta de inserção de classes não é a melhor ferramenta para isso. Você deverá arrastar e largar a classe a partir da árvore, em alternativa. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="delete-elements"></a>Apagar Elementos</h3></div></div></div><p>Você poderá remover qualquer elemento se seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Remover</span></span> do seu menu de contexto. </p><p>Mais uma vez, existe uma <span class="emphasis"><em>grande</em></span> diferença entre remover um objecto de um diagrama e remover um objecto do seu modelo. Se você remover um objecto de um diagrama, só o estará a remover desse diagrama em particular: o elemento continuará a fazer parte do seu modelo e, se existirem outros diagramas que usem o mesmo elemento, os mesmos não sofrerão qualquer alteração. Se, por outro lado, você remover o elemento da Árvore, você está efectivamente a remover o elemento do seu <span class="emphasis"><em>modelo</em></span>. Dado que o elemento já não existe mais no seu modelo, ele será removido automaticamente de todos os diagramas em que aparece. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-elements"></a>Editar Elementos</h3></div></div></div><p>Você poderá editar a maioria dos elementos de <acronym class="acronym">UML</acronym> do seu modelo e dos diagramas se abrir a sua janela respectiva de Propriedades e se seleccionar as opções apropriadas. Para editar as propriedades de um objecto, seleccione as <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Propriedades</span></span> no seu menu de contexto (com o botão <span class="mousebutton">direito</span> do rato). Cada elemento tem uma janela que consiste em várias páginas onde você poderá configurar as opções correspondentes a esse elemento. Para alguns elementos, como os actores, você define poucas acções, mas para outros como as classes, você poderá editar os seus atributos e operações, seleccionar o que deseja mostrar no diagrama (a assinatura da operação ou apenas os seus nomes, <abbr class="abbrev">etc.</abbr>) e até as cores que deseja usar para as linhas e para o preenchimento da representação da classe no diagrama. </p><p>Para os elementos de <acronym class="acronym">UML</acronym>, também poderá abrir a janela de propriedades, fazendo duplo-click sobre ela, caso esteja a usar a ferramenta de selecção (seta). </p><p>Repare que você também poderá seleccionar a opção de propriedades no menu de contexto dos elemento na árvore. Isto permite-lhe também editar as propriedades dos diagramas, como a definição da visibilidade da grelha ou não. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-classes"></a>Editar Classes</h3></div></div></div><p>Ainda que a edição das propriedades de todos os objectos já tenha sido falada na secção anterior, as classes merecem uma secção especial porque são um pouco mais complicadas e têm mais opções que a maioria dos outros elementos de <acronym class="acronym">UML</acronym>. </p><p>Na janela de propriedades de uma classe você poderá configurar tudo, desde a cor que usa até às operações e atributos que tem. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-general-settings"></a>Configuração Geral das Classes</h4></div></div></div><p>A página de Opções Gerais da janela de propriedades é auto-compreensível. Aqui você poderá alterar o nome da classe, a visibilidade, a documentação, <abbr class="abbrev">etc.</abbr>. Esta página está sempre disponível. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-attributes-settings"></a>Configuração dos Atributos das Classes</h4></div></div></div><p>Na página de Opções dos Atributos você poderá adicionar, editar ou remover atributos (variáveis) da classe. Você poderá subir ou descer os atributos na lista se carregar nas setas ao lado. Esta página está sempre disponível. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-operations-settings"></a>Configuração das Operações das Classes</h4></div></div></div><p>De forma semelhante à página das Opções dos Atributos, na página de Opções das Operações você poderá adicionar, editar ou remover operações da sua classe. Ao adicionar ou editar uma operação, você indica os dados básicos na janela de <span class="emphasis"><em>Propriedades da Operação</em></span>. Se você quiser adicionar parâmetros à sua operação você precisa de carregar no botão <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Novo Parâmetro</span></span>, o qual irá mostrar a janela de <span class="emphasis"><em>Propriedades do Parâmetro</em></span>. Esta página está sempre disponível </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-template-settings"></a>Configuração do Modelo de Classe</h4></div></div></div><p>Esta página permite-lhe adicionar modelos de classes, os quais são classes ou tipos de dados não especificados. No Java 1.5 chamar-se-ão 'Generics' (Genéricos). </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations-page"></a>Página de Associações da Classe</h4></div></div></div><p>A página <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Associações da Classe</span></span> mostra todas as associações desta classe no diagrama actual. Se carregar duas vezes numa associação irá mostrar as suas propriedades e, dependendo do tipo de associação, você poderá modificar alguns parâmetros, como por exemplo a multiplicidade ou o nome do Papel. Se a associação não permitir que essas opções sejam modificadas, a janela de Propriedades da Associação fica apenas para leitura e só poderá modificar a documentação referente a esta associação. </p><p>Esta página só está disponível se você abrir as Propriedades da Classe dentro de um diagrama. Se você seleccionar as propriedades da classe no menu de contexto da árvore, esta página não estará disponível. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-display-page"></a>Página de Visualização de Classes</h4></div></div></div><p>Na página de <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Opções de Visualização</span></span>, você poderá configurar o que deve ser mostrado no diagrama. Uma classe poderá ser mostrada apenas como um rectângulo com o nome da classe nele (útil se você tiver várias classes no seu diagrama, ou se não estiver interessado de momento nos detalhes de cada classe) ou então completo, mostrando por exemplo os pacotes, estereótipos, atributos e operações com a assinatura e visibilidade completas </p><p>Dependendo da quantidade de informação que você deseja ver, você poderá seleccionar as opções correspondentes nesta página. As alterações que fizer aqui são apenas <span class="emphasis"><em>opções de apresentação</em></span> para o diagrama. Isto significa que, se <span class="quote">“<span class="quote">esconder</span>”</span> as operações de uma classe, só fará com que elas não sejam apresentadas no diagrama, mas estas mantêm-se à mesma como parte do seu modelo. Esta opção só está disponível se você seleccionar as propriedades de uma classe dentro de um diagrama. Se você abrir as propriedades de uma classe a partir da árvore, esta página não aparece, porque essas opções de apresentação não farão sentido nesse caso</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-color-page"></a>Página de Estilo da Classe</h4></div></div></div><p>Na página <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Estilo do Elemento</span></span> você poderá configurar as cores que deseja usar para as linhas e para o enchimento do elemento. Esta opção só faz sentido obviamente para as classes mostradas nos diagramas e não aparece se você abrir a janela de propriedades da classe na árvore. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="associations"></a>Associações</h3></div></div></div><p>As associações relacionam dois objectos <acronym class="acronym">UML</acronym> um com o outro. Normalmente as associações são definidas entre duas classes, mas alguns tipos de associações poderão também existir entre casos de uso e actores. </p><p>Para criar uma associação, seleccione a ferramenta apropriada na Barra de Trabalho (uma Associação genérica, uma Generalização, uma Agregação, <abbr class="abbrev">etc.</abbr>), e carregue no primeiro elemento que participa na associação, carregando depois no segundo item participante. Repare que deve carregar duas vezes, uma em cada objecto que participa na associação, e <span class="emphasis"><em>não</em></span> efectuar um arrastamento de um objecto para outro. </p><p>Se tentar usar uma associação de um forma que não respeite a especificação do <acronym class="acronym">UML</acronym>, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> recusar-se-á a criar a associação e você irá obter uma mensagem de erro. Este seria o caso se, por exemplo, existisse uma Generalização da classe A para a classe B e você quisesse criar outra generalização da classe B para a classe A </p><p>Se carregar com o botão <span class="mousebutton">direito</span> numa associação, irá aparecer um menu de contexto com as acções que poderá aplicar nela. Se precisar de apagar uma associação, basta seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Remover</span></span> deste menu de contexto. Você também poderá seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Propriedades</span></span> e, dependendo do tipo de associação, editar os atributos como os papéis e a multiplicidade. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchor-points"></a>Pontos-Âncora</h4></div></div></div><p>As associações são desenhadas, por omissão, como uma linha a direito a ligar os dois objectos no diagrama. </p><p>Você poderá adicionar pontos de âncora se fizer carregar duas vezes em qualquer ponto da linha da associação. Isto irá introduzir um ponto de âncora (representado como um ponto azul, quando a linha da associação fica seleccionada) que você poderá mover para dar forma à associação </p><p>Se precisar de remover um ponto de âncora, carregue duas vezes nele para o remover </p><p>Repare que a única forma de editar as propriedades de uma associação é através do menu de contexto. Se você tentar carregar duas vezes nele como faz com outros objectos <acronym class="acronym">UML</acronym>, isto irá apenas introduzir um ponto de âncora. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="notes"></a>Notas, Texto e Caixas</h3></div></div></div><p>As Notas, as Linhas de Texto e as Caixas são elementos que poderão estar presentes em qualquer tipo de diagrama e não têm nenhum valor semântico, mas são muito úteis para adicionar comentários ou explicações-extra que possam tornar o seu diagrama mais simples de entender. </p><p>Para adicionar uma Nota ou uma Linha de Texto, seleccione a ferramenta correspondente na Barra de Ferramentas de Trabalho e carregue no diagrama onde deseja colocar o seu comentário. Você poderá editar o texto se abrir o elemento com o seu menu de contexto ou, no caso das notas, se carregar duas vezes nelas. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchors"></a>Âncoras</h4></div></div></div><p>As âncoras são usadas para ligar uma nota de texto com outro elemento de <acronym class="acronym">UML</acronym> em conjunto. Por exemplo, você usa normalmente uma nota de texto para explicar ou fazer algum comentário acerca de uma classe ou de uma associação em particular onde, nesse caso, você poderá usar a âncora para clarificar que a nota <span class="quote">“<span class="quote">pertence</span>”</span> a esse elemento em particular. </p><p>Para adicionar uma âncora entre uma nota e outro elemento de <acronym class="acronym">UML</acronym>, use a ferramenta da âncora na barra de ferramentas de trabalho. Você precisa de carregar primeiro na nota e depois no elemento de <acronym class="acronym">UML</acronym> a que deseja ligar a nota. </p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="add-remove-diagrams.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">Próximo</a></td></tr><tr><td class="prevCell">Adicionar e Remover Diagramas </td><td class="upCell">Trabalhar com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Importação e Geração de Código</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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="load-save.html">Próximo</a></td></tr><tr><td class="prevCell">Elementos de <acronym class="acronym">UML</acronym> </td><td class="upCell"> </td><td class="nextCell"> Criar, Carregar e Gravar Modelos</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>Capítulo 4. Importação e Geração de Código</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="edit-diagram.html" title="Editar Diagramas"><link rel="next" href="code-import.html" title="Importação de Código"><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"> Importação e Geração de Código</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-diagram.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="code-import.html">Próximo</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>Capítulo 4. Importação e Geração de Código</h1></div></div></div><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> é uma ferramenta de modelação de <acronym class="acronym">UML</acronym> e, como tal, o seu objectivo principal é ajudá-lo na <span class="emphasis"><em>análise e desenho</em></span> dos seus sistemas. Contudo, para fazer a transição entre o seu desenho e a sua <span class="emphasis"><em>implementação</em></span>, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> permite-lhe gerar código-fonte em várias linguagens de programação diferentes para o preparar a si. Também, se você quiser começar a usar o <acronym class="acronym">UML</acronym> num projecto já iniciado de C++, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> pode ajudá-lo a criar um modelo do seu sistema a partir do código-fonte, analisando-o e importando as classes que forem encontradas nele. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="code-generation"></a>Geração de Código</h2></div></div></div><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> pode gerar código para várias linguagens de programação, baseando-se no seu Modelo <acronym class="acronym">UML</acronym> para o ajudar a iniciar a implementação do seu projecto. O código gerado consiste nas declarações das classes, com os seus métodos e atributos, de modo a que você possa <span class="quote">“<span class="quote">preencher as lacunas</span>”</span>, fornecendo a funcionalidade das operações das suas classes. </p><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2 vem com o suporte de geração de código para ActionScript, Ada, C++, C#, D, IDL, <span class="trademark">Java</span>™, JavaScript, MySQL e Pascal. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="generate-code"></a>Gerar Código</h3></div></div></div><p>Para poder gerar código com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, você precisa primeiro de criar ou carregar um modelo que contenha pelo menos uma classe. Quando estiver pronto para começar a escrever algum código, seleccione a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Assistente de Geração de Código</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Código</span></span> que o irá guiar no processo de geração de código. </p><p>O primeiro passo é seleccionar as classes para as quais deseja gerar código-fonte. Por omissão, todas as classes do seu modelo estão seleccionadas e remover as que não quer gerar, passando-as para a lista do lado esquerdo. </p><p>O próximo passo do assistente permite-lhe modificar os parâmetros que o Gerador de Código usa ao criar o seu código. Estão disponíveis as seguintes opções: </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generation-options.png" alt="Opções de Geração de Código no Umbrello UML Modeller"><div class="caption"><p>Opções de Geração de Código no <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>Opções de Geração</h4></div></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm930"></a>Detalhe dos Comentários</h5></div></div></div><p>A opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Escrever os comentários de documentação mesmo que vazios</span></span> diz ao Gerador de Código para criar os comentários do tipo /** texto */ , mesmo que os blocos de comentários estejam vazios. Se você tiver adicionado documentação às suas classes, métodos ou atributos do seu modelo, o Gerador de Código irá escrever esses comentários como documentação do <span class="application">Doxygen</span>, independentemente do que tenha indicado aqui, mas se você seleccionar esta opção, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> irá escrever os blocos de comentários para todas as classes, métodos e atributos, mesmo que não exista nenhuma documentação no modelo, onde neste caso deverá documentar as suas classes mais tarde no próprio código-fonte. </p><p>A opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Escrever os comentários para as secções mesmo que estas estejam vazias</span></span> faz com que o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> escreva os comentários no código-fonte para delimitar as várias secções de uma classe. Por exemplo, os <span class="quote">“<span class="quote">métodos públicos</span>”</span> ou os <span class="quote">“<span class="quote">Atributos</span>”</span> antes das secções correspondentes. Se você seleccionar esta opção, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> irá escrever os comentários de todas as secções da classe, mesmo que a secção esteja vazia. Por exemplo, iria escrever um comentário a dizer <span class="quote">“<span class="quote">métodos protegidos</span>”</span>, mesmo que estes não existam na sua classe. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm946"></a>Pastas</h5></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Criar todos os ficheiros gerados na pasta</span></span>. Aqui você deverá indicar a pasta onde quer que o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> coloque o código gerado. </p><p>A opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Incluir os ficheiros da pasta</span></span> permite-lhe inserir um cabeçalho no início de cada ficheiro gerado. Os ficheiros de cabeçalho poderão conter alguma informação de direitos de cópia ou de licenças ou conterem variáveis que sejam avaliadas na altura da geração. Você poderá dar uma vista de olhos nos ficheiros de cabeçalho-modelos que vêm com o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> para ver como é que poderá usar essas variáveis para substituir o seu nome ou a data actual na altura da geração. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm956"></a>Política de Sobreposição</h5></div></div></div><p>Esta opção diz ao <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> o que fazer se o ficheiro que ele desejar criar já existir na pasta de destino. O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> <span class="emphasis"><em>não pode modificar os ficheiros de código existentes</em></span>, por isso você terá de optar entre sobrepor o ficheiro existe, ignorar a geração desse ficheiro em particular ou deixar que o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> escolha um nome de ficheiro diferente. Se você escolher a opção para usar um nome diferente, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> irá adicionar um sufixo ao nome do ficheiro. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm968"></a>Linguagem</h5></div></div></div><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> irá gerar por omissão o código para a linguagem que você tenha indicado como Linguagem Activa mas, com o Assistente de Geração de Código, você tem a opção de alterar isto para outra linguagem. </p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="generation-wizard-generation"></a>Assistente de Geração - Geração</h4></div></div></div><p>O terceiro e último passo do assistente mostra o estado do processo de Geração de Código. Você só terá de carregar no botão Gerar para ficar com as classes criadas para si. </p><p>Tenha em atenção que as Opções que seleccionar durante o assistente de Geração de Código só são válidas para a geração actual. Da próxima vez que você executar o Assistente, você terá de seleccionar de novo todas as opções (a sua pasta de cabeçalhos, a política de sobreposição, e assim por diante). Você poderá configurar os valores por omissão usados pelo <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> na secção de <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Geração de Código</span></span> da configuração do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, a qual está disponível em <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Configuração</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Configurar o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>...</span></span> </p><p>Se você tiver configurado as suas opções de Geração de Código para os valores correctos e quiser gerar já algum código sem ter de percorrer o assistente, você poderá seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gerar Todo o Código</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Código</span></span>. Isto irá gerar o código para todas as classes do seu modelo com as opções actuais (incluindo a Pasta do Resultado e a Política de Sobreposição, por isso use isto com cuidado). </p></div></div></div><FILENAME filename="code-import.html"><html><head><title>Importação de Código</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="code-import-generation.html" title="Capítulo 4. Importação e Geração de Código"><link rel="prev" href="code-import-generation.html" title="Capítulo 4. Importação e Geração de Código"><link rel="next" href="other-features.html" title="Capítulo 5. Outras Características"><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"> Importação de Código</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import-generation.html">Anterior</a></td><td class="upCell">Importação e Geração de Código</td><td class="nextCell"><a accesskey="n" href="other-features.html">Próximo</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>Importação de Código</h2></div></div></div><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> pode importar o código-fonte dos seus projectos existentes para o ajudar a criar o modelo dos seus sistemas. O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 2 suporta o ActionScript, Ada, C++, c#, D, IDL, <span class="trademark">Java</span>™, JavaScript, MySQL e Pascal. </p><p>Para importar as classes para o seu modelo, seleccione o item <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Assistente de Importação de Código...</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Código</span></span>. Na janela de ficheiros, seleccione os que contêm os ficheiros com declarações de classes e carregue em <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Seguinte 
&gt;</span></span>, seguido de <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Iniciar a Importação</span></span> e <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Terminar</span></span>. As classes serão importadas e você achá-las-á como fazendo parte do seu modelo na Árvore. Repare que o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> não irá criar nenhuma espécie de diagrama para mostrar as suas classes; elas serão apenas importadas para o seu modelo para que você as possa usar posteriormente em qualquer diagrama que desejar. </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 para importar código-fonte no Umbrello UML Modeller"><div class="caption"><p>Menu para importar código-fonte no <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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="other-features.html">Próximo</a></td></tr><tr><td class="prevCell">Importação e Geração de Código </td><td class="upCell">Importação e Geração de Código</td><td class="nextCell"> Outras Características</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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="code-import.html">Próximo</a></td></tr><tr><td class="prevCell">Editar Diagramas </td><td class="upCell"> </td><td class="nextCell"> Importação de Código</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>Capítulo 5. Outras Características</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="code-import.html" title="Importação de Código"><link rel="next" href="authors.html" title="Capítulo 6. Autores e História"><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"> Outras Características</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="authors.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="other-features"></a>Capítulo 5. Outras Características</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm1022"></a>Outras Características do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h2></div></div></div><p>Este capítulo irá explicar brevemente algumas outras funcionalidades que o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> lhe oferece.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="copying-as-png"></a>Copiar objectos como imagens PNG</h3></div></div></div><p>À parte de lhe oferecer as operações normais de cópia, corte e colagem que estaria à espera para copiar os objectos entre os diferentes diagramas, o <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> pode copiar os objectos como imagens PNG de modo a que as possa inserir noutro tipo de documento. Você não precisa de fazer nada de especial para usar esta funcionalidade, bastando para tal seleccionar um objecto de um diagrama (uma Classe, um Actor, <abbr class="abbrev">etc.</abbr>) e copiá-lo (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span> ou com o menu), e abra depois um documento do <span class="application">Calligra Words</span> (ou outro programa onde possa colar imagens) e seleccionar <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Colar</span></span>. Esta é uma grande funcionalidade para exportar partes do seu diagrama como imagens simples. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="export-as-png"></a>Exportar para uma Imagem</h3></div></div></div><p>Você também poderá exportar um diagrama completo como uma imagem. A única coisa que terá de fazer é seleccionar o diagrama que deseja exportar, e seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Exportar como Imagem...</span></span> no menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagrama</span></span>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="printing"></a>Impressão</h3></div></div></div><p>O <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> permite-lhe imprimir individualmente os diagramas. Carregue no botão  <span class="guiicon">Imprimir</span> na barra da aplicação ou seleccionando a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Imprimir</span></span> do menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ficheiro</span></span>, para que lhe apareça uma janela normal de impressão do <span class="orgname">KDE</span>, na qual você poderá imprimir os seus diagramas. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="logical-folders"></a>Pastas Lógicas</h3></div></div></div><p>Para organizar melhor o seu modelo, especialmente no caso de projectos grandes, você poderá criar pastas lógicas na Árvore. Basta seleccionar a opção <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Novo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Pasta</span></span> do menu de contexto das pastas por omissão da árvore para criar essas pastas. As pastas podem ser aninhadas e você poderá mover os objectos de uma para outra, se os arrastar do local de origem para os largar no destino. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="folders.png" alt="Organizar um Modelo com Pastas Lógicas no Umbrello UML Modeller"><div class="caption"><p>Organizar um Modelo com Pastas Lógicas no <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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="authors.html">Próximo</a></td></tr><tr><td class="prevCell">Importação de Código </td><td class="upCell"> </td><td class="nextCell"> Autores e História</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>Capítulo 6. Autores e História</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, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="other-features.html" title="Capítulo 5. Outras Características"><link rel="next" href="copyright.html" title="Capítulo 7. Copyright"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Autores e História</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="copyright.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="authors"></a>Capítulo 6. Autores e História</h1></div></div></div><p>Este projecto foi iniciado pelo Paul Hensgen com dos seus projectos universitários. O nome original da aplicação era <span class="application">UML Modeller</span> (Modelador UML). O Paul fez todo o desenvolvimento até ao fim de 2001 quando o programa chegou à versão 1.0. </p><p>A versão 1.0 já oferecia bastantes funcionalidades, mas depois de o projecto ter sido revisto na Universidade do Paul, outros programadores puderam-se juntar e começaram a dar contribuições valiosas para o <span class="application">UML Modeller</span>, como a mudança de um formato de ficheiro binário para um ficheiro <acronym class="acronym">XML</acronym>, o suporte para mais tipos de diagramas <acronym class="acronym">UML</acronym>, a Geração de Código e a Importação de Código, só para referir alguns. </p><p>O Paul teve de ser retirar da equipa de desenvolvimento no Verão de 2002 mas, como 'Software' Livre e Aberto que é, o programa continua a melhorar e a evoluir e é mantido por um grupo de programadores de diferentes partes do mundo. Da mesma forma, em Setembro de 2002, o projecto mudou o seu nome de <span class="application"><acronym class="acronym">UML</acronym> Modeller</span>, para <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>. Existem várias razões para a mudança de nomes, sendo a mais importante que apenas <span class="quote">“<span class="quote">uml</span>”</span> — tal como era conhecido normalmente — era um nome demasiado genérico e causava alguns problemas com algumas distribuições. A outra razão importante era que o <span class="application">Umbrello</span> era um nome muito mais giro. </p><p>O desenvolvimento do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, assim como as discussões sobre a estratégia para as versões futuras, é aberto e toma lugar na Internet. Se quiser contribuir para o projecto, por favor não hesite em contactar os programadores. Existem muitas formas pelas quais poderá ajudar o <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>Comunicar erros ou sugerir melhoramentos</p></li><li class="listitem"><p>Corrigir erros ou adicionar funcionalidades</p></li><li class="listitem"><p>Escrever boa documentação ou traduzi-la para outras línguas</p></li><li class="listitem"><p>E, claro... fazendo código connosco!</p></li></ul></div><p>Como vê, existem muitas formas pelas quais você poderá contribuir. Todas elas são muito importantes e toda a gente é bem-vinda para participar. </p><p>Os programadores do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> poderão ser contactados através de <code class="email">(umbrello-devel AT kde.org)</code>. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="copyright.html">Próximo</a></td></tr><tr><td class="prevCell">Outras Características </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>Capítulo 7. Copyright</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, UML, modelação, diagramas, desenvolvimento de software, desenvolvimento"><link rel="home" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="up" href="index.html" title="Manual do Umbrello UML Modeller"><link rel="prev" href="authors.html" title="Capítulo 6. Autores e História"><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">Anterior</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>Capítulo 7. Copyright</h1></div></div></div><p>Copyright 2001, Paul Hensgen</p><p>'Copyright' 2002-2014 dos Autores do <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>.</p><p><a name="gnu-fdl"></a>
A documentação está licenciada ao abrigo da
<a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation License</a>.
</p><p>
Este programa está licenciado ao abrigo da
<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">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Autores e História </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">Próximo</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Introdução</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 04:22:26 CEST 2024.