dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Umbrello UML Modeller-håndbogen</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="Umbrello UML Modeller hjælper til med udviklingsprocessen for programmel ved at bruge industristandarden Unified Modelling Language (UML) for at gøre det muligt at oprette diagrammer til at konstruere og dokumentere systemer."><meta name="keywords" content="KDE, UML, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="next" href="introduction.html" title="Kapitel 1. Indledning"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-håndbogen</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">næste</a></td></tr></table></div><div id="contentBody"><div lang="da" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="Umbrello"></a><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-håndbogen</h1></div><div><div class="authorgroup"><h3 class="corpauthor"><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-udviklerne</h3><span class="othercredit"><span class="contrib">Oversætter</span>: <span class="firstname">Erik Kjær</span> <span class="surname">Pedersen</span><br></span></div></div><div>revision <span class="releaseinfo">1.2 (<span class="date">2003-10-15</span>)</span></div><div><p class="copyright">Ophavsret © 2001 Paul Hensgen</p></div><div><p class="copyright">Ophavsret © 2002, 2003 <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-udviklerne</p></div><div><div><div class="abstract"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> hjælper til med udviklingsprocessen for programmel ved at bruge industristandarden Unified Modelling Language (<acronym class="acronym">UML</acronym>) for at gøre det muligt at oprette diagrammer til at konstruere og dokumentere systemer. </p></div></div></div></div><hr></div><div class="toc"><p><b>Indholdsfortegnelse</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Indledning</a></span></dt><dt><span class="chapter"><a href="uml-basics.html">2. <acronym class="acronym">UML</acronym>, det basale</a></span></dt><dd><dl><dt><span class="sect1"><a href="uml-basics.html#about-uml">Om <acronym class="acronym">UML</acronym></a></span></dt><dt><span class="sect1"><a href="uml-elements.html"><acronym class="acronym">UML</acronym>-elementer</a></span></dt><dd><dl><dt><span class="sect2"><a href="uml-elements.html#use-case-diagram">Brugstilfældediagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#class-diagram">Klassediagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#sequence-diagram">Sekvensdiagrammer</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#collaboration-diagram">Samarbejdsdiagrammer</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#state-diagram">Tilstandsdiagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#activity-diagram">Aktivitetsdiagram</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#helper-elements">Hjælpeelementer</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#component-diagram">Komponentdiagrammer</a></span></dt><dt><span class="sect2"><a href="uml-elements.html#deployment-diagram">Udplaceringsdiagrammer</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="working-with-umbrello.html">3. Arbejde med <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">Brugergrænseflade</a></span></dt><dd><dl><dt><span class="sect2"><a href="working-with-umbrello.html#tree-view">Trævisning</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#documentation-window">Dokumentationsvindue</a></span></dt><dt><span class="sect2"><a href="working-with-umbrello.html#work-area">Arbejdsvisning</a></span></dt></dl></dd><dt><span class="sect1"><a href="load-save.html">Opret, indlæs og gem modeller</a></span></dt><dd><dl><dt><span class="sect2"><a href="load-save.html#new-model">Ny model</a></span></dt><dt><span class="sect2"><a href="load-save.html#save-model">Gem model</a></span></dt><dt><span class="sect2"><a href="load-save.html#load-model">Indlæs model</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-model.html">Redigér modeller</a></span></dt><dt><span class="sect1"><a href="add-remove-diagrams.html">Tilføj og fjern diagram</a></span></dt><dd><dl><dt><span class="sect2"><a href="add-remove-diagrams.html#create-diagram">Opret diagrammer</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#remove-diagram">Fjern diagram</a></span></dt><dt><span class="sect2"><a href="add-remove-diagrams.html#rename-diagram">Omdøbning af diagrammer</a></span></dt></dl></dd><dt><span class="sect1"><a href="edit-diagram.html">Redigér diagram</a></span></dt><dd><dl><dt><span class="sect2"><a href="edit-diagram.html#insert-elements">Indsæt elementer</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#delete-elements">Slet elementer</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-elements">Redigér elementer</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#edit-classes">Redigér klasser</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#associations">Associationer</a></span></dt><dt><span class="sect2"><a href="edit-diagram.html#notes">Noter, tekst og felter</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="code-import-generation.html">4. Kodeimport og kodegenerering</a></span></dt><dd><dl><dt><span class="sect1"><a href="code-import-generation.html#code-generation">Kodegenerering</a></span></dt><dd><dl><dt><span class="sect2"><a href="code-import-generation.html#generate-code">Generér kode</a></span></dt></dl></dd><dt><span class="sect1"><a href="code-import.html">Kodeimport</a></span></dt></dl></dd><dt><span class="chapter"><a href="other-features.html">5. Andre funktioner</a></span></dt><dd><dl><dt><span class="sect1"><a href="other-features.html#idm901">Andre funktioner i <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">Kopiér objekter som PNG-billeder</a></span></dt><dt><span class="sect2"><a href="other-features.html#export-as-png">Eksportere til et billede</a></span></dt><dt><span class="sect2"><a href="other-features.html#printing">Udskrift</a></span></dt><dt><span class="sect2"><a href="other-features.html#logical-folders">Logiske mapper</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="authors.html">6. Forfattere og historik</a></span></dt><dt><span class="chapter"><a href="copyright.html">7. Ophavsret</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Kapitel 1. Indledning</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="next" href="uml-basics.html" title="Kapitel 2. UML, det basale"><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"> Indledning</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">forrige</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-basics.html">næste</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Kapitel 1. Indledning</h1></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> er et <acronym class="acronym">UML</acronym>-diagramværktøj som understøtter dig i udviklingsprocessen af programmel. I særdeleshed under analyse- og konstruktionsfaserne af processen, hjælper <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> dig med at oprette et produkt af høj kvalitet. <acronym class="acronym">UML</acronym> kan også bruges til at dokumentere programmelkonstruktioner for at hjælpe dig og dine medudviklere. </p><p>At have en god model af programmellet er den bedste måde at kommunikere med andre udviklere som arbejder med projektet og med kunder. En god model er yderst vigtig for middelstore og store projekter, men er også meget nyttig for små. Selv om du arbejder på et lille enmandsprojekt, har du nytte af en god model, eftersom den giver dig et overblik, som hjælper dig til at kode det rigtige fra begyndelsen. </p><p><acronym class="acronym">UML</acronym> er et diagramsprog som bruges til at beskrive sådanne modeller. Du kan repræsentere dine idéer i <acronym class="acronym">UML</acronym> med forskellige slags diagrammer. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 1.2 understøtter følgende typer: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Klassediagram</p></li><li class="listitem"><p>Sekvensdiagram</p></li><li class="listitem"><p>Samarbejdsdiagram</p></li><li class="listitem"><p>Brugstilfældediagram</p></li><li class="listitem"><p>Tilstandsdiagram</p></li><li class="listitem"><p>Aktivitetsdiagram</p></li><li class="listitem"><p>Komponentdiagram</p></li><li class="listitem"><p>Udplaceringsdiagram</p></li></ul></div><p>Mere information om <acronym class="acronym">UML</acronym> findes på hjemmesiden <acronym class="acronym">OMG</acronym>, <a class="ulink" href="http://www.omg.org" target="_top">http://www.omg.org</a>, dem der lavede <acronym class="acronym">UML</acronym>-standarden. </p><p>Vi håber at du vil  nyde at arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, og at den hjælper dig med at lave programmel af høj kvalitet. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> er et frit værktøj, og det eneste som vi beder dig om er at rapportere eventuelle fejl, problemer eller forslag til <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s udviklere på <code class="email">(uml-devel AT lists.sourceforge.net)</code> eller <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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="uml-basics.html">næste</a></td></tr><tr><td class="prevCell"><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-håndbogen </td><td class="upCell"> </td><td class="nextCell"> <acronym class="acronym">UML</acronym>, det basale</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="uml-basics.html"><html><head><title>Kapitel 2. UML, det basale</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="introduction.html" title="Kapitel 1. Indledning"><link rel="next" href="uml-elements.html" title="UML-elementer"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> <acronym class="acronym">UML</acronym>, det basale</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">forrige</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="uml-elements.html">næste</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="uml-basics"></a>Kapitel 2. <acronym class="acronym">UML</acronym>, det basale</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="about-uml"></a>Om <acronym class="acronym">UML</acronym></h2></div></div></div><p>Dette kapitel giver en hurtig oversigt over det basale i <acronym class="acronym">UML</acronym>. Husk at dette ikke er en fuldstændig <acronym class="acronym">UML</acronym>-vejledning. Hvis du vil lære dig mere om Unified Modelling Language, eller om almen analyse og konstruktion af programmel, henvises du til en af de mange bøger som er tilgængelige om emnet. Der er også mange vejledninger på internettet, som du kan bruge som et startpunkt. </p><p>Unified Modelling Language (<acronym class="acronym">UML</acronym>) er et diagrambaseret sprog eller notation til at specificere, visualisere og dokumentere modeller af objektorienteret programmel. <acronym class="acronym">UML</acronym> er ikke en udviklingsmetode, hvilket betyder at den ikke fortæller for dig hvad du skal gøre først og hvad du skal gøre derefter, eller hvordan du skal konstruere dit system, men den hjælper til at visualisere konstruktionen og kommunikere med andre. <acronym class="acronym">UML</acronym> styres af Object Management Group (<acronym class="acronym">OMG</acronym>), og er en industristandard for at beskrive modeller af programmel. </p><p><acronym class="acronym">UML</acronym> er konstrueret for design af objektorienteret programmel, og har begrænset brug for andre programmeringsparadigmer. </p><p><acronym class="acronym">UML</acronym> er opbygget af mange modelleringselementer som repræsenterer forskellige dele af programmelsystemet. UML-elementerne bruges til at oprette diagrammer, som repræsenterer en vis del, eller en synspunkt for systemet. Følgende slags diagrammer understøttes af <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#use-case-diagram" title="Brugstilfældediagram">Brugstilfælde-diagrammer</a></em></span> viser aktører (mennesker eller andre brugere af systemet), brugstilfælde (scenarier når de bruger systemet), og deres forhold</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#class-diagram" title="Klassediagram">Klassediagrammer</a></em></span> viser klasser, og forholdene mellem dem</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#sequence-diagram" title="Sekvensdiagrammer">Sekvensdiagrammer</a></em></span> viser objekter og deres og en sekvens af metodekald de laver til andre objekter.</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#collaboration-diagram" title="Samarbejdsdiagrammer">Samarbejdsdiagrammer</a></em></span> viser objekter og deres forhold, med betoning på objekter som deltager i udveksling  af meddelelser</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#state-diagram" title="Tilstandsdiagram">Tilstandsdiagrammer</a></em></span> viser tilstande, tilstandsændringer og begivenheder for et objekt eller en del af systemet</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#activity-diagram" title="Aktivitetsdiagram">Aktivitetsdiagrammer</a></em></span> viser aktiviteter, tilstander og tilstandsændringer for objekter og begivenheder som sker i en del af systemet</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#component-diagram" title="Komponentdiagrammer">Komponentdiagrammer</a></em></span> viser programmeringskomponenter på højt niveau (såsom Kparts eller Java Beans).</p></li><li class="listitem"><p><span class="emphasis"><em><a class="link" href="uml-elements.html#deployment-diagram" title="Udplaceringsdiagrammer">Udplaceringsdiagrammer</a></em></span> viser komponenternes instanser og deres indbyrdes forhold.</p></li></ul></div></div><FILENAME filename="uml-elements.html"><html><head><title>UML-elementer</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="uml-basics.html" title="Kapitel 2. UML, det basale"><link rel="prev" href="uml-basics.html" title="Kapitel 2. UML, det basale"><link rel="next" href="working-with-umbrello.html" title="Kapitel 3. Arbejde med Umbrello UML Modeller"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> <acronym class="acronym">UML</acronym>-elementer</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-basics.html">forrige</a></td><td class="upCell"><acronym class="acronym">UML</acronym>, det basale</td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">næste</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="uml-elements"></a><acronym class="acronym">UML</acronym>-elementer</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="use-case-diagram"></a>Brugstilfældediagram</h3></div></div></div><p>Brugstilfældediagrammer beskriver forhold og afhængighed mellem en gruppe <span class="emphasis"><em>brugstilfælde</em></span> og aktører som deltager i processen.</p><p>Det er vigtigt at observere at brugstilfældesdiagrammer ikke er passende til at repræsentere konstruktioner, og ikke kan beskrive systemets indre dele. Brugstilfældediagrammer er beregnede til at muliggøre kommunikation med fremtidige brugere af systemet, og med kunden. De er til særlig hjælp for at afgøre hvilke funktioner som det kræves at systemet skal have. Med andre ord fortæller brugstilfældediagrammer om <span class="emphasis"><em>hvad</em></span> systemet skal gøre, men de angiver ikke — og kan ikke angive — <span class="emphasis"><em>hvordan</em></span> dette skal opnås.</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 som viser et brugstilfældediagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> som viser et brugstilfældediagram </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case"></a>Brugstilfælde</h4></div></div></div><p>Et <span class="emphasis"><em>brugstilfælde</em></span> beskriver — fra aktørernes synvinkel — en samling aktiviteter i et system, som giver anledning til et konkret, væsentligt resultat.</p><p>Brugstilfælde er beskrivelser af typisk vekselvirken mellem brugerne af et system og systemet selv. De repræsenterer systemets ydre grænseflade, og angiver en slags krav på hvad systemet skal gøre (husk, kun hvad, ikke hvordan). </p><p>Ved arbejde med brugstilfælde, er det vigtigt at huske nogle enkle regler: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Hvert brugstilfælde hører sammen med mindst en aktør</p></li><li class="listitem"><p>Hvert brugstilfælde har et ophav (dvs. en aktør)</p></li><li class="listitem"><p>Hvert brugstilfælde leder til et relevant resultat (et resultat med <span class="quote">“<span class="quote">forretningsværdi</span>”</span>).</p></li></ul></div><p>
</p><p>Brugstilfælde kan også have forhold til andre brugstilfælde. De tre mest typiske slags forhold mellem brugstilfælde er:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;include&gt;&gt;</em></span> (indeholder), hvilket angiver at brugstilfældet finder sted <span class="emphasis"><em>inde i</em></span> et andet brugstilfælde</p></li><li class="listitem"><p><span class="emphasis"><em>&lt;&lt;extends&gt;&gt;</em></span> (udvider), hvilket angiver at i visse tilfælde, eller i et tilfælde (som kaldes et udvidelsespunkt), bliver et brugstilfælde udvidet af et andet.</p></li><li class="listitem"><p><span class="emphasis"><em>Generalisering</em></span> angiver at et brugstilfælde arver egenskaberne for <span class="quote">“<span class="quote">super</span>”</span>-brugstilfældet, og kan sætte nogen af dem ud af kraft, eller tilføje nye på samme måde som arv mellem klasser. </p></li></ul></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="actor"></a>Aktør</h4></div></div></div><p>En aktør er en ekstern enhed (udenfor systemet) som vekselvirker med systemet ved at deltage i (og ofte indlede) et brugstilfælde. Aktører kan i virkeligheden være mennesker (for eksempel brugere af systemet), andre maskinesystemer eller ydre begivenheder. </p><p>Aktører repræsenterer ikke <span class="emphasis"><em>fysiske</em></span> mennesker eller systemer, men deres <span class="emphasis"><em>rolle</em></span>. Det betyder at når en person vekselvirker med systemet på forskellige måder (antager forskellige roller) repræsenteres han ved flere aktører. En person som for eksempel giver kundeunderstøttelse via telefon og tager imod bestillinger fra kunden til systemet, vil blive repræsenteret af en aktør <span class="quote">“<span class="quote">Kundeunderstøttelsespersonale</span>”</span> og af en aktør <span class="quote">“<span class="quote">Salgsrepræsentant</span>”</span>. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="use-case-description"></a>Beskrivelse af brugstilfælde</h4></div></div></div><p>En beskrivelse af et brugstilfælde er en tekstbaseret beretning om brugstilfældet. Det er ofte i form af en note eller et dokument som på en eller anden måde er linket til brugstilfældet, og forklarer processerne eller aktiviteterne som finder sted i brugstilfældet. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="class-diagram"></a>Klassediagram</h3></div></div></div><p>Klassediagrammer viser de forskellige klasser som opbygger et system og hvordan de relateres til hinanden. Klassediagrammer siges at være <span class="quote">“<span class="quote">statiske</span>”</span> diagrammer, fordi de viser klasserne, sammen med deres metoder og attributter, samt det statiske forhold mellem dem: hvilke klasser der <span class="quote">“<span class="quote">kender til</span>”</span> andre klasser, eller hvilke klasser der <span class="quote">“<span class="quote">er en del</span>”</span> af andre klasser, men viser ikke metodekald mellem dem. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class-diagram.png" alt="Umbrello UML Modeller som viser et klassediagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> som viser et klassediagram </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class"></a>Klasse</h4></div></div></div><p>En klasse definerer attributterne og metoderne for en mængde af objekter. Alle objekter af klassen (instanser af klassen) deler samme opførsel, og har samme mængde af attributter (hvert objekt har sin egen mængde). Udtrykket <span class="quote">“<span class="quote">type</span>”</span> bruges ind imellem i stedet for klasse, men det er vigtigt at nævne at de to ikke er det samme, og at type er et mere generelt udtryk. </p><p>Klasser i <acronym class="acronym">UML</acronym> repræsenteres af rektangler, med klassens navn, og kan også vise klassens attribut og operationer i to <span class="quote">“<span class="quote">afdelinger</span>”</span> inde i rektanglet. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="class.png" alt="Visuel repræsentation af en klasse i UML"><div class="caption"><p>Visuel repræsentation af en klasse i <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>Attribut</h5></div></div></div><p>Attributter i UML vises i det mindste med deres navne, og kan også vises med type, oprindelig værdi og andre egenskaber. Attribut kan også vises med synlighed: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code> Står for <span class="emphasis"><em>åbne</em></span> (public) attributter</p></li><li class="listitem"><p><code class="literal">#</code> Står for <span class="emphasis"><em>beskyttede</em></span> (protected) attributter</p></li><li class="listitem"><p><code class="literal">-</code> Står for <span class="emphasis"><em>private</em></span> (private) attributter</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="operation"></a>Operationer</h5></div></div></div><p>Operationer (metoder) vises også i det mindste med deres navne, og kan også vises med parametre og returtyper. Operationer, præcis som attributter, kan vises med deres synlighed: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><code class="literal">+</code> Står for <span class="emphasis"><em>åbne</em></span> (public) operationer</p></li><li class="listitem"><p><code class="literal">#</code> Står for <span class="emphasis"><em>beskyttede</em></span> (protected) operationer</p></li><li class="listitem"><p><code class="literal">-</code> Står for <span class="emphasis"><em>private</em></span> (private) operationer</p></li></ul></div><p>
</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="templates"></a>Skabeloner</h5></div></div></div><p>Klasser kan have skabeloner, en værdi som bruges for en uspecificeret klasse eller type. Skabelontypen angives når klassen initieres (dvs. et objekt laves). Skabeloner findes i moderne C++ og vil blive introduceret i Java 1.5, hvor de kaldes Generics. </p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations"></a>Klasseassociationer</h4></div></div></div><p>Klasser kan relateres til (associeres med) hinanden på forskellige måder:</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="generalization"></a>Generalisering</h5></div></div></div><p>Arv er et af de grundlæggende begreber i objektorienteret programmering, hvor en klasse <span class="quote">“<span class="quote">opnår</span>”</span> alle attributter og operationer fra klassen den arver fra, og kan overskride/ændre nogen af dem, samt tilføje flere egne attributter og operationer.</p><p>En <span class="emphasis"><em>generalisering</em></span> mellem to klasser i <acronym class="acronym">UML</acronym>, placerer dem i et hierarki som repræsenterer arvebegrebet for en afledt klasse fra en basisklasse. Generaliseringer i <acronym class="acronym">UML</acronym> repræsenteres med en linje som binder de to klasser sammen, med en pil på basisklassens side. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generalization.png" alt="Visuel repræsentation af en generalisering i UML"><div class="caption"><p>Visuel repræsentation af en generalisering i <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>Associationer</h5></div></div></div><p>En association repræsenterer et forhold mellem klasser, og giver den fælles semantik og struktur for mange typer af <span class="quote">“<span class="quote">forbindelser</span>”</span> mellem objekter.</p><p>Associationer er mekanismen som tillader at objekter kommunikerer med hinanden. De beskriver forbindelsen mellem forskellige klasser (forbindelsen mellem de virkelige objekter kaldes objektforbindelser, eller <span class="emphasis"><em>link</em></span>). </p><p>Associationer kan have en rolle, som angiver associationens formål, og kan være ensrettede eller gensidige (indikerer om de to objekter som deltager i forholdet kan sende meddelelser til hinanden, eller om kun et af dem kender til det andet). Hver eneste af associationerne har også en multiplicitet, som bestemmer hvor mange objekter på denne side af associationen kan relateres til et objekt på den anden side. </p><p>Associationer i <acronym class="acronym">UML</acronym> repræsenteres som linjer som binder de klasser  sammen som deltager i forholdet, og kan også vise rollen og multipliciteten for hver af deltagerne. Multiplicitet vises som et interval [minimum..maksimum] med ikke-negative værdier, med en stjerne (*) på maksimumsiden som repræsenterer uendeligt. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="association.png" alt="Visuel repræsentation af en association i UML"><div class="caption"><p>Visuel repræsentation af en association i <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>Aggregering</h5></div></div></div><p>Aggregeringer er en særlig slags association, hvor de to deltagende klasser ikke har en ligeværdig status, men udgør et <span class="quote">“<span class="quote">helhed-del</span>”</span> forhold. En aggregering beskriver hvordan klassen som intager rollen som helhed, er sammensat af (har) andre klasser, som intager rollerne som dele. Klassen der virker som helhed har altid multiplicitet en, for aggregeringer. </p><p>Aggregeringer i <acronym class="acronym">UML</acronym> repræsenteres ved en association som viser en rombe på den side som hører til helheden. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="aggregation.png" alt="Visuel repræsentation af en aggregeringsrelation i UML"><div class="caption"><p>Visuel repræsentation af en aggregeringsrelation i <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>Sammensætning</h5></div></div></div><p>Sammensætninger er associationer som repræsenterer <span class="emphasis"><em>meget stærke</em></span> aggregeringer. Det betyder at sammensætninger også former helhed-del forhold, men at forholdet er så stærkt at delene ikke kan eksistere for sig selv. De findes kun inde i helheden, og hvis helheden forstyrres, forsvinder delene også.</p><p>Sammensætninger i <acronym class="acronym">UML</acronym> repræsenteres af en udfyldt rombe på siden af helheden. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="composition.png" alt="Visuel repræsentation af en sammensætningsrelation i UML"></div></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="other-class-diagram-items"></a>Andre punkter i klassediagrammer</h4></div></div></div><p>Klassediagrammer kan indeholde flere andre objekter foruden klasser.</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="interfaces"></a>Grænseflader</h5></div></div></div><p>Grænseflade er abstrakte klasser hvilket betyder at instanser ikke direkte kan skabes fra dem. De kan indehold operationer men ingen attributter. Klasser kan arve fra grænseflader (via en realisationsassociation) og instanser kan derefter laves af disse diagrammer.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="datatype"></a>Datatyper</h5></div></div></div><p>Datatyper er primitiver som typisk er indbyggede i et programsprog. Almindelige eksempler omfatter heltal og en boolesk type. De kan ikke have forhold til klasser, men klasser kan have forhold til dem.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="enum"></a>Gentagelsestyper</h5></div></div></div><p>Gentagelsestyper er enkle lister med værdier. Et typisk eksempel er en nummereringstype af ugedage. Tilvalgene for en gentagelsestype kaldes Enum Literals. Som datatyper kan de ikke have forhold til klasser, men klasser kan have forhold til dem.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="package"></a>Pakker</h5></div></div></div><p>Pakker repræsenterer navnerum i et programsprog. I et diagram bruges de til at repræsentere dele af et system som indeholder mere end en klasse, måske hundredvis af klasser.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="sequence-diagram"></a>Sekvensdiagrammer</h3></div></div></div><p>Sekvensdiagrammer viser udveksling af meddelelser (dvs. metodekald) mellem flere objekter, i en specifik, tidsbegrænset situation. Sekvensdiagrammer lægger særlig vægt på rækkefølgen og tiden når meddelelserne til objekter sendes.</p><p>Objekter repræsenteres af lodrette stregede linjer i sekvensdiagrammer, med objektets navn øverst. Tidsakslen er også lodret, og vokser nedad, så meddelelser sendes fra et objekt til et andet i form af pile med operationer og parameternavn. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="sequence-diagram.png" alt="Umbrello UML Modeller som viser et sekvensdiagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> som viser et sekvensdiagram </p></div></div></div><p>Meddelelser kan enten være synkrone, den normale type for meddelelseskald hvor kontrollen overgår til det kaldte objekt til metoden er kørt færdigt, eller asynkrone hvor kontrollen går direkte tilbage til det kaldende objekt. Synkrone meddelelser har et lodret felt ved siden af det kaldte objektet, for at vise programkontrollen.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="collaboration-diagram"></a>Samarbejdsdiagrammer</h3></div></div></div><p>Samarbejdsdiagrammer viser vekselvirkningen mellem objekter som deltager i en speciel situation. Dette er mere eller mindre samme information som vises i sekvensdiagrammer, men hvor vægten lægges på hvordan vekselvirkningen sker i tiden, mens samarbejdsdiagrammer lægger vægten på forholdet mellem objekterne og deres topologi.</p><p>I samarbejdsdiagrammer repræsenteres meddelelser fra et objekt til et andet med pile, som viser meddelelsens navn, parametre og meddelelsesekvensen. Samarbejdsdiagrammer er særligt passende til at vise en særlig programflydning eller situation, og er blandt de bedste diagramtyper til hurtigt at demonstrere eller forklare en process i programmets logik. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="collaboration-diagram.png" alt="Umbrello UML Modeller som viser et samarbejdsdiagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> som viser et samarbejdsdiagram </p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="state-diagram"></a>Tilstandsdiagram</h3></div></div></div><p>Tilstandsdiagrammer viser de forskellige tilstande et objekt har i sin livstid, og de stimuli som forårsager at objektet ændrer sin tilstand. </p><p>Tilstandsdiagrammer ser objekter som <span class="emphasis"><em>tilstandsmaskiner</em></span> eller finite automates, som kan være i en af en mængde begrænsede tilstande og som kan ændre tilstand via et af et begrænset antal stimuli. Et objekt af typen <span class="emphasis"><em>Netserver</em></span>, kan for eksempel være i en af følgende tilstande i sin livstid: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Klar</p></li><li class="listitem"><p>Lytter</p></li><li class="listitem"><p>Arbejder</p></li><li class="listitem"><p>Stoppet</p></li></ul></div><p>og begivenhederne som kan gøre at et objekt skifter tilstand er</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Objektet laves</p></li><li class="listitem"><p>Objektet tager imod meddelelsen at lytte</p></li><li class="listitem"><p>En klient beder om en forbindelse via netværket</p></li><li class="listitem"><p>En klient afslutter en forespørgsel</p></li><li class="listitem"><p>En forespørgsel køres og afsluttes</p></li><li class="listitem"><p>Objektet tager imod meddelelsen at stoppe</p></li><li class="listitem"><p>osv</p></li></ul></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="state-diagram.png" alt="Umbrello UML Modeller som viser et tilstandsdiagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> som viser et tilstandsdiagram </p></div></div></div><p>
</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="state"></a>Tilstand</h4></div></div></div><p>Tilstand er byggeblokken i tilstandsdiagrammer. En tilstand hører til nøjagtig en klasse, og repræsenterer en sammenfatning af de værdier klassens attributter kan intage. En <acronym class="acronym">UML</acronym>-tilstand beskriver den interne tilstand for et objekt af en vis klasse. </p><p>Bemærk at ikke hver ændring af en af et objekts attributter skal repræsenteres som en tilstand, men kun de ændringer som væsentligt kan påvirke objektets arbejde.</p><p>Der er to specielle typer tilstand: start og slut. De er specielle på den måde at der ikke er nogen begivenhed som kan gøre at et objekt går tilbage til sin starttilstand, og på samme måde er der ingen begivenhed som gør det muligt for et objekt at forlade sin sluttilstand når den først er nået. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="activity-diagram"></a>Aktivitetsdiagram</h3></div></div></div><p>Aktivitetsdiagrammer beskriver en følge af begivenheder i et system, ved hjælp af aktiviteter. Aktivitetsdiagrammer er en speciel form af tilstandsdiagrammer, som kun (eller hovedsagelig) indeholder aktiviteter. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="activity-diagram.png" alt="Umbrello UML Modeller som viser et aktivitetsdiagram"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> som viser et aktivitetsdiagram </p></div></div></div><p>
</p><p>Aktivitetsdiagrammer ligner procedurelle flydediagrammer, med forskellen at alle aktiviteter er klart linkede til objekter.</p><p>Aktivitetsdiagrammer hører altid sammen med en <span class="emphasis"><em>klasse</em></span>, en <span class="emphasis"><em>operation</em></span> eller et <span class="emphasis"><em>brugstilfælde</em></span>.</p><p>Aktivitetsdiagrammer understøtter sekventielle- og parallelle aktiviteter. Parallel kørsel repræsenteres med ikonen Del op/Vent, og det er ikke vigtigt for aktiviteter som kører parallelt i hvilken rækkefølge de udføres (de kan køres samtidigt eller en af gangen).</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="activity"></a>Aktivitet</h4></div></div></div><p>En aktivitet er et enkelt skridt i en process. En aktivitet er en tilstand i systemet med intern aktivitet og i det mindste en udgående overgang. Aktiviteter kan også have mere end en udgående overgang, hvis de har forskellige betingelser. </p><p>Aktiviteter kan opbygge hierarkier, hvilket betyder at en aktivitet kan bestå af flere <span class="quote">“<span class="quote">detaljeaktiviteter</span>”</span>, hvor indkommende og udgående overgange skal passe sammen med de indkommende og udgående overgange i detaljediagrammet. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="helper-elements"></a>Hjælpeelementer</h3></div></div></div><p>Der er nogle få elementer i <acronym class="acronym">UML</acronym> som ikke har noget virkelig semantisk værdi for modellen, men som hjælper til at klargøre dele af diagrammerne. Disse elementer er </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Tekstlinjer</p></li><li class="listitem"><p>Noter og ankre</p></li><li class="listitem"><p>Bokse</p></li></ul></div><p>Tekstlinjer er nyttige til at tilføje kort tekstinformation i et diagram. Det er fritstående tekst, og har ingen betydning i selve modellen. </p><p>Noter er nyttige til at tilføje mere detaljeret information om et objekt eller en særlig situation. De har den store fordel at noter kan ankres ved <acronym class="acronym">UML</acronym>-elementer for at vise at noten <span class="quote">“<span class="quote">hører til</span>”</span> et særligt objekt eller en særlig situation. </p><p>Bokse er fritstående rektangler som kan bruges til at gruppere objekter sammen, for at gøre diagrammer mere læsbare. De har ingen logisk mening i modellen.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="component-diagram"></a>Komponentdiagrammer</h3></div></div></div><p>Komponentdiagrammer viser programkomponenter (enten komponentteknologier såsom Kparts, CORBA-komponenter eller Java Beans eller kun dele af systemet som er klart udskillelige) og artefakterne de består af, såsom kildekodefiler, programbiblioteker eller relationsdatabasetabeller.</p><p>Komponenter kan have grænseflader (dvs. abstrakte klasser med operationer) som tillader associationer mellem komponenter.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="deployment-diagram"></a>Udplaceringsdiagrammer</h3></div></div></div><p>Udplaceringsdiagrammer viser komponentinstanserne ved kørsel og deres associationer. De omfatter knuder, som er fysiske ressourcer, typisk en enkelt maskine. De viser også grænseflader og objekter (klasseinstanser).</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="uml-basics.html">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="working-with-umbrello.html">næste</a></td></tr><tr><td class="prevCell"><acronym class="acronym">UML</acronym>, det basale </td><td class="upCell"><acronym class="acronym">UML</acronym>, det basale</td><td class="nextCell"> Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="uml-elements.html">næste</a></td></tr><tr><td class="prevCell">Indledning </td><td class="upCell"> </td><td class="nextCell"> <acronym class="acronym">UML</acronym>-elementer</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-umbrello.html"><html><head><title>Kapitel 3. Arbejde med 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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="uml-elements.html" title="UML-elementer"><link rel="next" href="load-save.html" title="Opret, indlæs og gem 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"> Arbejde med <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">forrige</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="load-save.html">næste</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>Kapitel 3. Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h1></div></div></div><p>Dette kapitel giver en introduktion til <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s brugergrænseflade og fortæller dig alt du skal vide for at begynde med modellering. Alle handlinger i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> er tilgængelige via menuer og værktøjslinjer, men <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> bruger også i stor udstrækning sammenhængsafhængige menuer som vises med højre museknap. Du kan <span class="mousebutton">højre</span>klikke på næsten alle steder i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s arbejdsområde eller i trævisningen for at få en menu med de mest nyttige funktioner som kan tilpasses til netop det særlige punkt som du arbejder med. Visse brugere synes at dette er lidt forvirrende i begyndelsen (fordi de er mere vant til at arbejde med menuer eller værktøjslinjer), men når man vænnet sig at <span class="mousebutton">højre</span>klikke, gør det dit arbejde en hel del hurtigere. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface"></a>Brugergrænseflade</h2></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s hovedvindue er opdelt i tre områder som hjælper til at få et overblik over hele systemet og at komme til de forskellige diagrammer hurtigt, under arbejdet med modellen. </p><p>Disse områder kaldes:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Trævisning</p></li><li class="listitem"><p>Arbejdsvisning</p></li><li class="listitem"><p>Dokumentationsvindue</p></li></ul></div><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="umbrello-ui.png" alt="Umbrello UML Modellers brugergrænseflade"><div class="caption"><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s brugergrænseflade </p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="tree-view"></a>Trævisning</h3></div></div></div><p>Trævisningen er sædvanligvis placeret længst op til venstre i vinduet, og viser alle diagrammer, klasser, aktører og brugstilfælde som opbygger modellen. Trævisningen lader dig få et hurtig overblik over elementerne som modellen består af. Trævisningen giver også en hurtig måde at skifte mellem de forskellige diagrammer i modellen, og at indsætte elementer fra modellen i det nuværende diagram. </p><p>Hvis du arbejder med en model som har mere end et fåtal klasser og diagrammer, kan trævisningen hjælpe dig med at klare det hele ved at organisere modellen i mapper. Du kan oprette mapper ved at vælge passende punkter i den sammenhængsafhængige menu (højreklik på en af mapperne i trævisningen) og du kan organisere elementer ved at flytte dem til passende mapper (træk og slip). </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="documentation-window"></a>Dokumentationsvindue</h3></div></div></div><p>Dokumentationsvinduet er det lille vindue placeret længst nede til venstre i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, som giver en hurtig forhåndsvisning af dokumentationen for objektet som for øjeblikket er markeret. Dokumentationsvinduet er ganske lille, eftersom det er beregnet til at give et hurtigt uddrag fra elementets dokumentation, mens det optager så lidt plads som muligt på skærmen. Hvis du behøver at kigge på dokumentationen i mere detalje, kan du altid åbne punktets egenskaber. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="work-area"></a>Arbejdsvisning</h3></div></div></div><p>Arbejdsvisningen er hovedvinduet i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, og er stedet hvor alle virkelige handlinger sker. Man bruger arbejdsvisningen til at redigere og vise diagrammer i en model. Arbejdsvisningen viser diagrammet som for øjeblikket er aktivt. For øjeblikket kan kun et diagram af gangen vises i arbejdsvisningen. </p></div></div><FILENAME filename="load-save.html"><html><head><title>Opret, indlæs og gem 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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="working-with-umbrello.html" title="Kapitel 3. Arbejde med Umbrello UML Modeller"><link rel="prev" href="working-with-umbrello.html" title="Kapitel 3. Arbejde med Umbrello UML Modeller"><link rel="next" href="edit-model.html" title="Redigér 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"> Opret, indlæs og gem modeller</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-umbrello.html">forrige</a></td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-model.html">næste</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>Opret, indlæs og gem modeller</h2></div></div></div><p>Det første du behøver at gøre, for at begynde at gøre noget nyttigt med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, er at oprette en model at arbejde med. Når du starter <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> indlæser den altid den senest brugte model, eller laver en ny, tom, model (afhængig af hvordan du indstiller i  indstillingsdialogen). Det gør det muligt at begynde at arbejde direkte. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="new-model"></a>Ny model</h3></div></div></div><p>Hvis du på noget tidspunkt behøver at oprette en ny mode, kan du gøre det ved at vælge punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Ny</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fil</span></span>, eller ved at klikke på ikonen <span class="guiicon">Ny</span> i programværktøjslinjen. Hvis du for øjeblikket arbejder med en model som er ændret, spørger <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> om dine ændringer skal gemmes, inden den nye modellen indlæses. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="save-model"></a>Gem model</h3></div></div></div><p>Du kan gemme modellen når som helst, ved at vælge punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gem</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fil</span></span>, eller ved at klikke på knappen <span class="guiicon">Gem</span> i programværktøjslinjen. Hvis du behøver at gemme modellen under et andet navn, kan du bruge punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gem som</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fil</span></span>. </p><p>Af bekvemmelighedsgrunde, tilbyder <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> også muligheden for at gemme arbejdet automatisk efter en vis tidsperiode. Du kan indstille om du vil aktivere denne funktion, samt tidsintervallet, i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Opsætning</span></span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="load-model"></a>Indlæs model</h3></div></div></div><p>Du kan vælge punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Åbn</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fil</span></span> for at indlæse en eksisterende model, eller klikke på ikonen <span class="guiicon">Åbn</span> i programværktøjslinjen. De senest brugte modeller er også tilgængelige i undermenuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Åbn nyeste</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fil</span></span>, for at gøre adgangen til de oftest bruge modeller hurtigere. </p><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> kan kun arbejde med en model af gangen, så hvis du beder programmet indlæse en model for dig, og den nuværende model er ændret siden du sidst gemte den, spørger <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> om ændringerne skal gemmes for at forhindre at arbejdet går tabt. Du kan starte to eller flere udgaver af <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> på et vilkårligt tidspunkt, du kan også kopiere og indsætte mellem udgaver. </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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="edit-model.html">næste</a></td></tr><tr><td class="prevCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> </td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Redigér modeller</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="edit-model.html"><html><head><title>Redigér 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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="working-with-umbrello.html" title="Kapitel 3. Arbejde med Umbrello UML Modeller"><link rel="prev" href="load-save.html" title="Opret, indlæs og gem modeller"><link rel="next" href="add-remove-diagrams.html" title="Tilføj og fjern diagram"><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"> Redigér modeller</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">forrige</a></td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">næste</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>Redigér modeller</h2></div></div></div><p>I <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> findes der to grundlæggende måder at redigere elementer i modellen. </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Redigér modelelement direkte via trævisningen</p></li><li class="listitem"><p>Redigér modelelement direkte via et diagram</p></li></ul></div><p>
</p><p>Ved brug af den sammenhængsafhængige menu i trævisningen, kan du tilføje, fjerne, og ændre næsten alle elementer i modellen. <span class="mousebutton">Højre</span>klik på mapperne i trævisningen for at vise valgmulighederne for at oprette forskellige slags diagrammer, samt - afhængig af om mappen er en <span class="emphasis"><em>Brugstilfældevisning</em></span> eller en <span class="emphasis"><em>Logisk visning</em></span> - aktører, brugstilfælde, klasser osv. </p><p>Når du har tilføjet  elementer til modellen, kan du også redigere dem ved brug af deres egenskabsdialoger, som du finder ved at vælge punktet <span class="emphasis"><em>Egenskaber</em></span> i den sammenhængsafhængige menu som vises ved et <span class="emphasis"><em>højre</em></span>klik på elementerne i trævisningen. </p><p>Du kan også redigere modellen ved at oprette eller ændre elementer via diagrammer. Mere information om hvordan dette gøres, får du i følgende afsnit. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="load-save.html">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="add-remove-diagrams.html">næste</a></td></tr><tr><td class="prevCell">Opret, indlæs og gem modeller </td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Tilføj og fjern diagram</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="add-remove-diagrams.html"><html><head><title>Tilføj og fjern diagram</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="working-with-umbrello.html" title="Kapitel 3. Arbejde med Umbrello UML Modeller"><link rel="prev" href="edit-model.html" title="Redigér modeller"><link rel="next" href="edit-diagram.html" title="Redigér diagram"><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"> Tilføj og fjern diagram</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">forrige</a></td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">næste</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>Tilføj og fjern diagram</h2></div></div></div><p><acronym class="acronym">UML</acronym>-modellen består af et sæt <acronym class="acronym">UML</acronym>-elementer og sammenhænge mellem dem. Man kan dog ikke se modellen direkte, men man bruger <span class="emphasis"><em>Diagrammer</em></span> til at kigge på den. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="create-diagram"></a>Opret diagrammer</h3></div></div></div><p>For at oprette et nyt diagram i modellen, vælges helt enkelt diagramtypen du behøver i undermenuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Ny</span></span> fra menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagram</span></span>, og den gives et navn. Diagrammet oprettes, og gøres aktivt, og du ser det med det samme i trævisningen. </p><p>Husk at <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> i stor udstrækning bruger sammenhængsafhængige menuer: du kan også højreklikke på en mappe i trævisningen, og vælge en passende diagramtype i undermenuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Ny</span></span> fra den sammenhængsafhængige menu. Bemærk at du kun kan oprette brugstilfældediagrammer i brugstilfældemapper, og at de øvrige typer  diagrammer kun kan oprettes i mapper for logiske visninger. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="remove-diagram"></a>Fjern diagram</h3></div></div></div><p>Skulle du behøve at fjerne et diagram fra modellen, kan du gøre det ved at gøre det aktivt og vælge <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Fjern</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagram</span></span>. Du kan også opnå dette ved at vælge <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Slet</span></span> i den sammenhængsafhængige menu for diagrammet i trævisningen. </p><p>Eftersom at fjerne et diagram er noget alvorligt, som kunne forårsage at arbejde går tabt, hvis det gøres ved en fejl, beder <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> om at du bekræfter en sletningshandling inden diagrammet virkelig fjernes. Så snart et diagram er taget bort, og filen er gemt, er der ingen måde at fortryde handlingen. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="rename-diagram"></a>Omdøbning af diagrammer</h3></div></div></div><p>Hvis du vil skifte navn på et eksisterende diagram, kan du let gøre det ved at vælge punktet Omdøb i den sammenhængsafhængige menu i trævisningen. </p><p>En anden måde at omdøbe et diagram er via dets egenskabsdialog, som du opnår ved at vælge Egenskaber fra den sammenhængsafhængige menu, eller ved at dobbeltklikke på det i trævisningen. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-model.html">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="edit-diagram.html">næste</a></td></tr><tr><td class="prevCell">Redigér modeller </td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Redigér diagram</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="edit-diagram.html"><html><head><title>Redigér diagram</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="working-with-umbrello.html" title="Kapitel 3. Arbejde med Umbrello UML Modeller"><link rel="prev" href="add-remove-diagrams.html" title="Tilføj og fjern diagram"><link rel="next" href="code-import-generation.html" title="Kapitel 4. Kodeimport og kodegenerering"><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"> Redigér diagram</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="add-remove-diagrams.html">forrige</a></td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">næste</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>Redigér diagram</h2></div></div></div><p>Mens du arbejder med et diagram, forsøger <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> at lede dig rette ved at bruge nogle enkle regler om hvilke elementer er gyldige i forskellige slags diagrammer, samt hvilke forhold som kan eksistere mellem dem. Hvis du er ekspert på <acronym class="acronym">UML</acronym>, kommer du formodentlig ikke til endog bemærke dette, men det er til hjælp for nybegyndere for at oprette diagram som følger standarden. </p><p>Så snart du har oprettet diagrammerne er det tiden at begynde redigere dem. Bemærk her (den for nybegyndere subtile) forskel mellem at redigere et diagram, og at redigere <span class="emphasis"><em>modellen</em></span>. Som du allerede ved til, er diagrammer <span class="emphasis"><em>visninger</em></span> af modellen. Hvis du for eksempel laver en klasse ved at redigere et klassediagram, redigerer du i virkeligheden både diagrammet og modellen. Hvis du ændrer farve eller andre visningspunkter for en klasse i klassediagrammet, redigerer du kun diagrammet, men ingenting ændres i modellen. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="insert-elements"></a>Indsæt elementer</h3></div></div></div><p>En af de første ting du gør når du redigerer et nyt diagram, er at indsætte elementer i det (klasser, aktører, brugstilfælde, osv.). Der er to grundlæggende måder at gøre dette:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Træk eksisterede elementer til modellen fra trævisningen</p></li><li class="listitem"><p>Opret nye elementer i modellen, og tilføj dem til diagrammet samtidigt, ved at bruge et af redigeringsværktøjerne i arbejdsværktøjslinjen.</p></li></ul></div><p>For at indsætte elementer som allerede findes i modellen, trækkes de blot fra trævisningen og slippes der hvor du ønsker at de skal være i diagrammet. Du kan altid flytte element rundt i diagrammet med markeringsværktøjet. </p><p>Den anden måde at tilføje elementer til diagrammet er at bruge arbejdsværktøjslinjens redigeringsværktøj (observér at dette også tilføjer elementerne til modellen). </p><p>Arbejdsværktøjslinjen var normalt placeret længst til højre for programvinduet, men <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 1.2 har flyttet den længst op i vinduet. Du kan dokke den på den anden side, eller lade den flyde omkring hvis du foretrækker det. Værktøjerne som er tilgængelige på denne værktøjslinjen (knapperne du ser på den) ændres afhængig af hvilket diagram du arbejder med for øjeblikket. Knappen for værktøjet som er valgt lige nu er aktiveret i værktøjslinjen. Du kan skifte til <span class="keycap"><strong>markeringsværktøjet</strong></span> ved at trykke på <span class="keycap"><strong>Esc</strong></span>-tasten. </p><p>Når du har valgt et redigeringsværktøj i arbejdsværktøjslinjen (for eksempel værktøjet til at indsætte klasser), ændres musemarkøren til et kryds, og du kan indsætte elementer i modellen ved at enkeltklikke i diagrammet. Bemærk at element i <acronym class="acronym">UML</acronym> skal have et <span class="emphasis"><em>entydigt navn</em></span>. Så hvis du har en klasse i et diagram som hedder <span class="quote">“<span class="quote">KlassA</span>”</span>, og senere bruger værktøjet til at indsætte en klasse i et andet diagram, kan du ikke også give den nye klassen navnet <span class="quote">“<span class="quote">KlassA</span>”</span>. Hvis det er meningen at de to skal være forskellige elementer, skal du give dem entydige navne. Hvis du forsøger at tilføje <span class="emphasis"><em>samme</em></span> element til diagrammet, er værktøjet for at indsætte klasser ikke det rette værktøj til dette. Du skal i stedet trække og slippe klassen fra trævisningen. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="delete-elements"></a>Slet elementer</h3></div></div></div><p>Du kan slette et hvilket som helst element, ved at vælge punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Slet</span></span> i dets sammenhængsafhængige menu. </p><p>Igen det er <span class="emphasis"><em>stor</em></span> forskel mellem at fjerne et objekt fra diagrammet, og at fjerne et objekt fra modellen. Hvis du fjerner et objekt indefra et diagram, tager du det kun væk fra dette diagram: elementet er stadigvæk en del af modellen og hvis der er andre diagrammer som bruger samme element, vil de ikke lide nogen ændring. På den anden side, hvis du fjerner elementet i trævisningen, tager du i virkeligheden elementet væk fra <span class="emphasis"><em>modellen</em></span>. Eftersom elementet ikke længere eksisterer i modellen, tages det også automatisk væk fra alle diagrammer det vises i. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-elements"></a>Redigér elementer</h3></div></div></div><p>Du kan redigere de fleste <acronym class="acronym">UML</acronym>-elementer i model og diagrammer ved at åbne dets egenskabsdialog og vælge passende punkter. For at redigere egenskaberne for et objekt, vælges <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Egenskaber</span></span> i dets sammenhængsafhængige menu (højreklik). Hvert element har en dialog som består af flere sider hvor du kan indstille valgmulighederne som har med dette element at gøre. For visse elementer, såsom aktører, kan du kun angive et fåtal muligheder, såsom objektnavn og dokumentation, mens for andre elementer, såsom klasser, kan du redigere dets attribut og operationer, vælge hvad du vil vise i diagrammet (hel operationsunderskriften eller kun operationsnavn, osv.) og til og med farverne du vil bruge for linjer og udfyldningen af klassens repræsentation i et diagram. </p><p>For de fleste <acronym class="acronym">UML</acronym>-elementer kan du også åbne egenskabsdialogen ved at dobbeltklikke på det, hvis du bruger markeringsværktøjet (pilen). En undtagelse fra dette er associationer, hvor et dobbeltklik laver et ankerpunkt. For associationer skal du bruge den sammenhængsafhængige menu som vises med højreklik, til at få egenskabsdialogen frem. </p><p>Bemærk at du også kan vælge punktet egenskaber i den sammenhængsafhængige menu for elementer i trævisningen. Dette lader dig også redigere egenskaber for diagrammer, såsom at indstille om gitteret skal vises eller ej. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="edit-classes"></a>Redigér klasser</h3></div></div></div><p>Selv om redigering af egenskaber for alle objekter allerede er afdækket i foregående afsnit, fortjener klasser et særligt afsnit, eftersom de er noget mere komplicerede, og har flere valgmuligheder end de fleste andre <acronym class="acronym">UML</acronym>-elementer. </p><p>I klassens egenskabsdialog kan du indstille alting, fra farven den bruger til operationerne og attributten den har. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-general-settings"></a>Almene klasseindstillinger</h4></div></div></div><p>Siden med generelle klasseindstillinger i egenskabsdialogen er selvforklarende. Her kan du ændre klassens navn, synlighed, dokumentation, osv. Denne side er altid tilgængelig. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-attributes-settings"></a>Indstillinger af klasseattribut</h4></div></div></div><p>På siden for indstillinger af attribut, kan du tilføje, redigere eller fjerne attributter (variabler) for klassen. Du kan flytte attributter op og ned i listen ved at trykke på piletasterne langs kanten. Denne side er altid tilgængelig. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-operations-settings"></a>Indstillinger af klasseoperationer</h4></div></div></div><p>På lignende måde som for indstillinger af klasseattribut, kan du tilføje,  redigere eller fjerne operationer for klassen på siden for indstillinger af klasseoperationer. Når du tilføjer eller redigerer en klasseoperation, indskriver du de grundlæggende data i dialogen <span class="emphasis"><em>Operationsegenskaber</em></span>. Hvis du vil tilføje parametre til operationerne, skal du klikke på knappen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Ny parameter</span></span>, som viser dialogen <span class="emphasis"><em>Parameteregenskaber</em></span>. Denne side er altid tilgængelig. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-template-settings"></a>Klasseskabelonsindstillinger</h4></div></div></div><p>Denne side lader dig tilføje klasseskabeloner som er uspecificerede klasser eller datatyper. I Java 1.5 kommer de til at hedde Generics. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-associations-page"></a>Siden for klasseassociationer</h4></div></div></div><p>Siden <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Klasseassociationer</span></span> viser alle klassens associationer i det nuværende diagram. Et dobbeltklik på en association viser dens egenskaber, og afhængig af type af association, kan du ændre visse parametre her, såsom at indstille mangfoldighed og rollenavn. Hvis associationerne ikke tillader at sådanne punkter ændres, er dialogen for associationsegenskaber kun læsbar, og du kan kun ændre dokumentationen som hører sammen med associationen. </p><p>Denne side er kun tilgængelig hvis du åbner klasseegenskaberne inde i et diagram. Hvis du vælger klasseegenskaber fra den sammenhængsafhængige menu i trævisningen, er denne side ikke tilgængelig. </p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-display-page"></a>Siden for klassevisning</h4></div></div></div><p>På siden <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Visningstilvalg</span></span>, kan du indstille hvad der skal vises i diagrammet. En klasse kan vises som kun en rektangel med klassenavnet i (nyttigt hvis du har mange klasser i diagrammet, eller for øjeblikket ikke er interesseret i detaljerne for hver klasse), eller så fuldstændige at pakke, stereotyper, attributter og operationer vises med fuldstændig underskrift og synlighed. </p><p>Afhængig af mængden af information som du vil se, kan du vælge tilsvarende tilvalg på denne side. Ændringarne du laver her gælder kun <span class="emphasis"><em>visningsvalgmulighederne</em></span> for diagrammet. Det betyder at <span class="quote">“<span class="quote">skjulen</span>”</span> af klassens operationer kun gør at de ikke vises i diagrammet, men operationerne er fortsat der som en del af modellen. Dette er kun tilgængeligt hvis du vælger klasseegenskaberne inde i et diagram. Hvis du åbner klasseegenskaberne fra trævisningen, mangler denne side, eftersom sådanne visningsegenskaber ikke giver mening i dette tilfælde.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="class-color-page"></a>Siden for klassefarver</h4></div></div></div><p>På siden <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Komponentfarve</span></span> kan du indstille farverne som du vil have for linjer og udfyldning af kontrollen. Dette giver  naturligvis kun mening for klasser som vises i diagrammer, og mangler hvis du åbner klassens egenskabsdialog i trævisningen. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="associations"></a>Associationer</h3></div></div></div><p>Associationer relaterer to <acronym class="acronym">UML</acronym>-objekter til hinanden. Normalt defineres associationer mellem to klasser, men visse typer af associationer kan også findes mellem brugstilfælde og aktører. </p><p>For at oprette en association, vælges passende værktøj i arbejdsværktøjslinjen (generel association, generalisering, aggregering, osv.), og enkeltklik på det første element som indgår i associationen. Enkeltklik derefter på det andet element som indgår. Bemærk at dette er to klik, et på hvert af elementerne som indgår i associationen. Det er <span class="emphasis"><em>ikke</em></span> et træk fra et objekt til et andet. </p><p>Hvis du forsøger bruge associationer på en måde som ikke tillades af <acronym class="acronym">UML</acronym>-specifikationen, nægter Umbrello at oprette associationen og du får en fejlmeddelelse. Dette vil indtræffe, hvis for eksempel en generalisering findes fra klasse A til klasse B, og du derefter forsøger at oprette en ny generalisering fra klasse B til klasse A. </p><p>Et <span class="mousebutton">højre</span>klik på en association viser en sammenhængsafhængig menu med handlinger som du kan anvende på den. Hvis du behøver at slette en association, vælges <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Fjern</span></span> i den sammenhængsafhængige menu. Du kan også vælge <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Egenskaber</span></span>, og afhængig af associationens type, redigere attributter såsom roller og mangfoldighed. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchor-points"></a>Ankerpunkter</h4></div></div></div><p>Associationer tegnes, som standard, som en lige linje der forbinder de to objekter i diagrammet. </p><p>Du kan tilføje ankerpunkter til at bøje en association ved at <span class="mousebutton">dobbelt</span>klikke et sted langs associationslinjen. Dette indsætter et ankerpunkt (som vises som et blåt punkt hvor associationslinjen er markeret), som du kan flytte omkring for at give associationen sin form. </p><p>Hvis du behøver fjerne en ankerpunkt, <span class="mousebutton">dobbelt</span>klik på den igen for at fjerne den. </p><p>Bemærk at den eneste måde at redigere en associationsegenskab er via den sammenhængsafhængige menu. Hvis du forsøger at <span class="mousebutton">dobbelt</span>klikke på den som med andre <acronym class="acronym">UML</acronym>-objekter, indsættes blot et ankerpunkt. </p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="notes"></a>Noter, tekst og felter</h3></div></div></div><p>Noter, tekstlinjer og felter er elementer som kan findes i alle slags diagrammer, og har ingen virkelig semantisk værdi, men er meget hjælpsomme for at tilføje ekstra kommentarer eller forklaringer, som kan gøre diagrammet lettere at forstå. </p><p>For at tilføje en note eller tekstlinje, vælges tilsvarende værktøj i arbejdsværktøjslinjen, og så enkeltklikkes på diagrammet hvor du vil placere kommentaren. Du kan redigere teksten ved at åbne elementet via dets sammenhængsafhængige menu, eller for noter, også ved at <span class="mousebutton">dobbelt</span>klikke på dem. </p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="anchors"></a>Ankre</h4></div></div></div><p>Ankre bruges for til at linke noter og et andet <acronym class="acronym">UML</acronym>-element sammen. Normalt bruger du for eksempel en note til at forklare eller give en kommentar om en klasse eller en vis association, og i så tilfælde kan du bruge ankeret til at gøre det klart at noten <span class="quote">“<span class="quote">hører til</span>”</span> netop dette element. </p><p>Anvend ankerværktøjet i arbejdsværktøjslinjen, for at tilføje et anker mellem en note og et andet <acronym class="acronym">UML</acronym>-element. Først skal du klikke på noten, og derefter klikke på <acronym class="acronym">UML</acronym>-elementet som du vil at noten skal linkes til. </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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="code-import-generation.html">næste</a></td></tr><tr><td class="prevCell">Tilføj og fjern diagram </td><td class="upCell">Arbejde med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></td><td class="nextCell"> Kodeimport og kodegenerering</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="load-save.html">næste</a></td></tr><tr><td class="prevCell"><acronym class="acronym">UML</acronym>-elementer </td><td class="upCell"> </td><td class="nextCell"> Opret, indlæs og gem modeller</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="code-import-generation.html"><html><head><title>Kapitel 4. Kodeimport og kodegenerering</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="edit-diagram.html" title="Redigér diagram"><link rel="next" href="code-import.html" title="Kodeimport"><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"> Kodeimport og kodegenerering</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="edit-diagram.html">forrige</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="code-import.html">næste</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>Kapitel 4. Kodeimport og kodegenerering</h1></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> er et <acronym class="acronym">UML</acronym>-modelleringsværktøj, og som sådant er dets hovedformål at hjælpe dig med <span class="emphasis"><em>analyse og konstruktion</em></span> af dine systemer. For at gøre overgangen fra konstruktion til <span class="emphasis"><em>implementering</em></span> nemmere, tillader <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> dog at generere kildekode i forskellige programmeringssprog for at komme i gang. Hvis du desuden vil begynde på at bruge <acronym class="acronym">UML</acronym> i et projekt som allerede er startet, kan <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> hjælpe dig med at oprette en model af systemet fra kildekoden ved at analysere den og importere klasserne som findes i den. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="code-generation"></a>Kodegenerering</h2></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> kan generere kildekode for diverse programmeringssprog, baseret på din <acronym class="acronym">UML</acronym>-model for at hjælpe dig med at komme i gang med implementeringen af projektet. Koden som laves består af klassedeklarationer, med metoder og attributter, så du kan <span class="quote">“<span class="quote">udfylde tomrummet</span>”</span> ved at sørge for funktionerne i klassernes operationer. </p><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 1.2 levereres med kodegenereringsunderstøttelse for ActionScript, Ada, C++, CORBA IDL, <span class="trademark">Java</span>™, Javascript, <acronym class="acronym">PHP</acronym>, Perl, Python, SQL and XML Schema. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="generate-code"></a>Generér kode</h3></div></div></div><p>For at generere kode med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, skal du først oprette eller indlæse en model som indeholder mindst en klasse. Når du er klar til at begynde at skrive lidt kode, vælges punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Kodegenereringsguide</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Kode</span></span>, for at starte guiden som leder dig gennem kodegenereringsprocessen. </p><p>Det første skridt er at vælge klasser, som du vil oprette kildekode for. Normalt vælges alle klasser i modellen, og du kan fjerne dem du ikke vil generere kode for, ved at flytte dem til listen på venstre side. </p><p>Næste skridt i guiden lader dig ændre parametre som kodegeneratoren bruger når den skriver koden. Følgende muligheder er til stede: </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="generation-options.png" alt="Valgmulighed for kodegenereringen i Umbrello UML Modeller"><div class="caption"><p>Valgmulighed for kodegenereringen i <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>Kodegenereringsmulighed</h4></div></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm815"></a>Kodeinformationsniveau</h5></div></div></div><p>Punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Skriv dokumenteringskommentarer selvom  de er tomme</span></span> instruerer kodegeneratoren til at udskrive kommentarer i stilen /** blaha */, også selv om kommentarblokkene er tomme. Hvis du tilføjede dokumentation i klasser, metoder eller attributter til modellen, udskriver kodegeneratoren kommentarerne som Doxygen-dokumentation, uafhængig af hvad du angiver her, men hvis du vælger dette, udskriver <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> kommentarblokkene for alle klasser, metoder og attributter også selvom der ikke er nogen dokumentation i modellen, i hvilket tilfælde du bør dokumentere klasserne senere direkte i kildekoden. </p><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Skriv kommentarer for afsnit selvom afsnittene er tomme</span></span>: får <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> til at skrive kommentarer til kildekoden for at afgrænse de forskellige afsnit i en klasse. For eksempel <span class="quote">“<span class="quote">Public methods</span>”</span> eller <span class="quote">“<span class="quote">Attributes</span>”</span> før de tilsvarende afsnit. Hvis du vælger dette, så skriver <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> kommentarer for alle afsnit i klassen, også selvom afsnittet er tomt. Det ville for eksempel skrive en kommentar som lyder <span class="quote">“<span class="quote">Protected methods</span>”</span>, selvom der ikke er nogen sådanne i klassen. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm830"></a>Mapper</h5></div></div></div><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Skriv alle filer som laves til mappe</span></span>: Her skal du vælge mappen hvor du ønsker at <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> skal lægge kildekoden som laves. </p><p>Punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Indsætte hovedfiler fra mappe</span></span>, lader dig indsætte et hovede i begyndelsen af hver fil som genereres. Hovedfiler kan indehold ophavsret- eller licensinformation, og kan indeholde variabler som evalueres når genereringen sker. Du kan tage et kig på skabeloner for hovedfiler som levereres med <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, for at se hvordan man bruger variablerne til at erstatte dit navn eller dagens dato når genereringen sker. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm840"></a>Overskrivningspolitik</h5></div></div></div><p>Dette fortæller <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> hvad der skal ske hvis filen som skal laves allerede findes i destinationsmappen. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 1.1 <span class="emphasis"><em>kan ikke ændre eksisterende kildekodefiler</em></span>, så du skal vælge mellem at overskriver den eksisterende fil, springe over at oprette netop denne fil, eller lade <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> vælge et andet filnavn. Hvis du vælger at bruge et andet filnavn, tilføjer <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> en endelse til filnavnet. </p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm852"></a>Sprog</h5></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> genererer normalt kode for sproget som du har valgt som aktivt sprog, men du har mulighed for at ændre dette til et andet sprog med kodegenereringsguiden. </p></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="generation-wizard-generation"></a>Generering med kodegenereringsguiden</h4></div></div></div><p>Det tredje og sidste skridt i guiden viser status for kodegenereringsprocessen. Du behøver kun klikke på knappen Generér for at få klasserne udskrevet til dig. </p><p>Bemærk at de tilvalg som du vælger med kodegenereringsguiden kun gælder for denne generering. Næste gang du kører guiden, skal du vælge alle tilvalg igen (din hovedmappe, overskrivningspolitik, og så videre). Du kan indstille standardværdier som bruges af <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> i afsnittet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Kodegenerering</span></span> i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>s indstillinger, tilgængelige via <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Indstillinger</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Indstil <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>...</span></span>. </p><p>Hvis du har indstillet kodegenereringstilvalg til de rigtige indstillinger, og vil lave lidt kode direkte uden at gå via guiden, kan du vælge <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Generér al kode</span></span> i menuen Kode. Dette genererer kode for alle klasser i modellen med nuværende indstillinger (inklusive uddatamappe og overskrivningspolitik, så brug dette med forsigtighed). </p></div></div></div><FILENAME filename="code-import.html"><html><head><title>Kodeimport</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="code-import-generation.html" title="Kapitel 4. Kodeimport og kodegenerering"><link rel="prev" href="code-import-generation.html" title="Kapitel 4. Kodeimport og kodegenerering"><link rel="next" href="other-features.html" title="Kapitel 5. Andre funktioner"><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"> Kodeimport</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import-generation.html">forrige</a></td><td class="upCell">Kodeimport og kodegenerering</td><td class="nextCell"><a accesskey="n" href="other-features.html">næste</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>Kodeimport</h2></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> kan importere kildekode fra eksisterende projekter for at hjælpe dig med at bygge modeller af systemer. <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> 1.2 understøtter kun C++ kildekode, men andre sprog vil være tilgængelige i fremtidige versioner. </p><p>For at importere klasser til modellen, vælges <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Importér klasser...</span></span> i menuen <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Kode</span></span>. Vælg filerne som indeholder C++ klassedeklarationer i fildialogen og tryk på O.k. Klasserne importeres, og du finder dem som en del af modellen i trævisningen. Bemærk at <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> ikke laver noget slags diagram for at vise klasserne, de importeres kun til modellen så du senere kan bruge dem i et valgfrit diagram. </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 til at importere kildekode til Umbrello UML Modeller"><div class="caption"><p>Menu til at importere kildekode til <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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="other-features.html">næste</a></td></tr><tr><td class="prevCell">Kodeimport og kodegenerering </td><td class="upCell">Kodeimport og kodegenerering</td><td class="nextCell"> Andre funktioner</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="code-import.html">næste</a></td></tr><tr><td class="prevCell">Redigér diagram </td><td class="upCell"> </td><td class="nextCell"> Kodeimport</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="other-features.html"><html><head><title>Kapitel 5. Andre funktioner</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="code-import.html" title="Kodeimport"><link rel="next" href="authors.html" title="Kapitel 6. Forfattere og historik"><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"> Andre funktioner</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-import.html">forrige</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="authors.html">næste</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="other-features"></a>Kapitel 5. Andre funktioner</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm901"></a>Andre funktioner i <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span></h2></div></div></div><p>Dette kapitel forklarer kortfattet nogle andre funktioner som <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> tilbyder.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="copying-as-png"></a>Kopiér objekter som PNG-billeder</h3></div></div></div><p>Foruden at tilbyde de normale funktioner for at kopiere, klippe og indsætte, som man kan forvente sig for at kopiere objekter mellem forskellige diagrammer, kan <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> kopiere objekter som PNG-billeder, så man kan indsætte dem i en hvilket som helst anden type dokument. Man behøver ikke gøre noget særligt for at bruge denne funktion, markér blot et objekt i et diagram (klasse, aktør, osv.) og kopiér det (<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>, eller brug menuen), åbn derefter et <span class="application">KWord</span>-dokument (eller et andet program hvor billeder kan indsættes) og vælg <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Indsæt</span></span>. Dette er en udmærket funktion for at eksportere dele af diagrammer som enkelte billeder. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="export-as-png"></a>Eksportere til et billede</h3></div></div></div><p>Man kan også eksportere et fuldstændigt diagram som et billede. Det eneste man skal gøre er at vælge diagrammet som skal eksporteres, og derefter punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Eksportér som billede...</span></span> i  <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Diagram</span></span>-menuen. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="printing"></a>Udskrift</h3></div></div></div><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> tillader at enkelte diagrammer udskrives. Tryk på knappen <span class="guiicon">Udskriv</span> i programværktøjslinjen eller vælg punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Udskriv</span></span> i <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Fil</span></span>-menuen, så vises <span class="orgname">KDE</span>'s standardudskriftsdialog hvor diagrammerne kan skrives ud. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="logical-folders"></a>Logiske mapper</h3></div></div></div><p>For at organisere en model på en bedre måde, særligt for større projekter, kan man oprette logiske mapper i trævisningen. Vælg blot punktet <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Ny</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Mappe</span></span> i den sammenhængsafhængige menu i standardmappen under trævisningen, for at oprette dem. Mapper kan være indeni hinanden, og man kan flytte objekter rundt ved at trække dem fra en mappe og slippe dem i en anden. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="folders.png" alt="Organisér en model med logiske mapper i Umbrello UML Modeller"><div class="caption"><p>Organisér en model med logiske mapper i <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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="authors.html">næste</a></td></tr><tr><td class="prevCell">Kodeimport </td><td class="upCell"> </td><td class="nextCell"> Forfattere og historik</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="authors.html"><html><head><title>Kapitel 6. Forfattere og historik</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="other-features.html" title="Kapitel 5. Andre funktioner"><link rel="next" href="copyright.html" title="Kapitel 7. Ophavsret"><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"> Forfattere og historik</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">forrige</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="copyright.html">næste</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="authors"></a>Kapitel 6. Forfattere og historik</h1></div></div></div><p>Dette projekt startedes af Paul Hensgen som et af hans universitetsprojekter. Det oprindelige navn på programmet var <span class="emphasis"><em>UML Modeller</em></span>. Paul lavede al udvikling indtil slutningen af 2001, hvor programmet nåede version 1.0. </p><p>Version 1.0 tilbød allerede en hel del funktioner, men efter at projektet var blevet gennemset af Pauls universitet, kunne andre udviklere deltage, og de begyndte at give værdifulde bidrag til <span class="application">UML Modeller</span>, såsom skift fra et binært filformat til en <acronym class="acronym">XML</acronym>-fil, understøttelse af flere slags <acronym class="acronym">UML</acronym>-diagrammer, kodegenerering og kodeimport, for kun at nævne nogle få. </p><p>Paul var tvunget til at trække sig tilbage fra udviklingsgruppen sommeren 2002, men som frit og åbent programmel, fortsætter programmet med at forbedres og udvikles, og vedligeholdes af en gruppe af udviklere fra forskellige dele af verden. Desuden ændrede projektet navn fra <span class="application"><acronym class="acronym">UML</acronym> Modeller</span> i september 2002. Der er flere grunde til navneændringen, den vigtigste at blot <span class="quote">“<span class="quote">uml</span>”</span> som det var almindeligt kendt som, var et alt for generelt navn som forårsagede problemer med visse distributioner. En anden vigtig grund er at udviklerne synes at <span class="application">Umbrello</span> er et meget smartere navn. </p><p>Udviklingen af <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>, samt diskussioner om i hvilken retning programmet skal udvikles i fremtidige versioner, er åben og finder sted via internettet. Hvis du skulle ville bidrage til projektet, så tøv ikke med at kontakte udviklerne. Der er mange måder du kan hjælpe <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span> på: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Rapportere fejl eller forbedringsforslag</p></li><li class="listitem"><p>Rette fejl eller tilføje funktioner</p></li><li class="listitem"><p>Skriv god dokumentation eller oversætte til andre sprog</p></li><li class="listitem"><p>Og naturligvis... lav kode sammen med os!</p></li></ul></div><p>Som du ser, er der mange måder du kan bidrage på. De er alle sammen meget vigtige og alle er velkomne til at deltage. </p><p><span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-udviklerne kan nås på <code class="email">(uml-devel AT lists.sourceforge.net)</code>. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-features.html">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"><a accesskey="n" href="copyright.html">næste</a></td></tr><tr><td class="prevCell">Andre funktioner </td><td class="upCell"> </td><td class="nextCell"> Ophavsret</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="copyright.html"><html><head><title>Kapitel 7. Ophavsret</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, modellering, diagrammer, programmeludvikling, udvikling"><link rel="home" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="up" href="index.html" title="Umbrello UML Modeller-håndbogen"><link rel="prev" href="authors.html" title="Kapitel 6. Forfattere og historik"><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"> Ophavsret</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="authors.html">forrige</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>Kapitel 7. Ophavsret</h1></div></div></div><p>Ophavsret 2001, Paul Hensgen</p><p>Ophavsret 2002, 2003, <span class="application">Umbrello <acronym class="acronym">UML</acronym> Modeller</span>-udviklerne. Se <a class="ulink" href="http://uml.sf.net/developers.php" target="_top">http://uml.sf.net/developers.php</a> for mere information</p><p><a name="gnu-fdl"></a>Dokumentation er udgivet under betingelserne i 
<a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation
License</a>.</p><p>Dette program er udgivet under betingelserne i <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">forrige</a></td><td class="upCell"><a accesskey="h" href="index.html">hjem</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Forfattere og historik </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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">næste</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Indledning</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Sun Jun 30 00:28:10 CEST 2024.