<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>muvik-multigrid &#187; UML</title>
	<atom:link href="http://www.muvik.de/tag/uml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muvik.de</link>
	<description>open source - engineering - programming</description>
	<lastBuildDate>Wed, 28 Jul 2010 07:56:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>UML: Aktivitätsdiagramm (Teil 4)</title>
		<link>http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/</link>
		<comments>http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 13:00:49 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Modellierung]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=263</guid>
		<description><![CDATA[Heute geht die UML-Artikelserie in die vierte Runde. Und das Thema werden die Aktivitätsdiagramme sein. Auch diesmal beschreibe ich diesen Diagrammtyp kurz, nenne die wichtigsten Anwendungsgebiete und stelle die wichtigsten Elemente eines Aktivitätsdiagramms anhand eines einfach gehaltenen Beispiels vor. Der letzte Beitrag der UML-Artikelserie, in dem es über das Klassendiagramm ging, ist etwas länger geworden, [...]]]></description>
			<content:encoded><![CDATA[<p class="preview">Heute geht die UML-Artikelserie in die vierte Runde. Und das Thema werden die Aktivitätsdiagramme sein. Auch diesmal beschreibe ich diesen Diagrammtyp kurz, nenne die wichtigsten Anwendungsgebiete und stelle die wichtigsten Elemente eines Aktivitätsdiagramms anhand eines einfach gehaltenen Beispiels vor.</p>
<p><span id="more-263"></span></p>
<p>Der letzte Beitrag der UML-Artikelserie, in dem es über das Klassendiagramm ging, ist etwas länger geworden, als ich das für diese Kurzserie vorgesehen hatte. Über die Aktivitätsdiagramme habe ich heute nicht so viel wie über die Klassendiagramme zu schreiben, daher sollte es diesmal wieder kürzer werden.</p>
<h3>Was ist ein Aktivitätsdiagramm und nützt es mir?</h3>
<p>Im Gegensatz zu den bisher vorgestellten Diagrammtypen Anwendungsfalldiagramm und Klassendiagramm, welche unter Strukturdiagramme einzuordnen sind, ist das Aktivitätsdiagramm eine Art der Verhaltensdiagramme. Andere Bezeichnungen, die genau das selbe meinen, sind &#8220;Ablaufdiagramm&#8221; und für englisch affine Leser auch &#8220;flow chart&#8221;.</p>
<p>Wie der Name schon andeutet, beschreibt ein Aktivitätsdiagramm einen Ablauf, wobei ein Ablauf zum Beispiel ein Anwendungsfall sein kann, welcher im Detail angeschaut werden soll. Aufgrund der Struktur des Aktivitätsdiagramms lassen sich damit zum Teil sehr komplizierte Abläufe grafisch ansprechend aufbereiten und erklären.</p>
<p>Als &#8220;Aktivität&#8221; wird seit UML 2.0 das ganze Diagramm mit allen Einzelelementen bezeichnet. Beispiele für eine Aktivität aus dem bereits vorgestellten Anwendungsfalldiagramm wären zum Beispiel &#8220;Artikel kommentieren&#8221; oder &#8220;Artikel schreiben&#8221;. Die Darlegung, wie nun ein Artikel im Detail kommentiert wird, welche Aktion welcher folgt, ist die Aufgabe eines Aktivitätsdiagramms. Darin werden die Aktionen als Knoten bezeichnet. Vereinfacht betrachtet besteht eine Aktivität aus Knoten und Flüssen, welche die Knoten miteinander verbinden. </p>
<p>Damit kommen wir auch schon zu einigen Besonderheiten und Details eines Aktivitätsdiagramms: Wenn ein ganzes Aktivitätsdiagramm nun Aktivität heißt, wie wird dann der einzelne Ablaufschritt genannt? Ich habe diesen Begriff bereits im vorherigen Abschnitt verwendet: &#8220;Aktion&#8221;. Die Aktion stellt im<br />
Allgemeinen die kleinste und simpelste Einheit eines Aktivitätsdiagramms dar. Jedoch kann eine Aktion auch eine weitere Aktivität aufrufen, worin der Informationsfluss genauer gezeigt ist. Jede Aktion hat mindestens einen eingehenden und einen ausgehenden Kontrollfluss. Im Falle mehrerer eingehender Kontrollflüsse müssen alle Flüsse zur gleichen Zeit verfügbar sein, damit die Aktion beginnen kann. Bei mehreren Ausgängen gilt das gleiche in Grün: erst wenn alle Ausgänge &#8220;bereit&#8221; sind, dann werden auch alle zum selben Zeitpunkt ausgegeben.</p>
<p>Neben der Aktion als Knoten existieren weitere wichtige Knoten: Kontroll -und Objektknoten. Doch dazu später mehr.</p>
<p>Wie bereits erwähnt, werden die Knoten durch Flüsse verbunden. Es werden zwei grundlegende Flussarten unterschieden: die Kontrollflüsse und die Objektflüsse. Aber bevor es zu viel trockene Theorie wird, hier erstmal das Beispiel:</p>
<div id="attachment_277" class="wp-caption alignnone" style="width: 453px"><a href="http://bit.ly/cWBrpJ" alt="Beispiel Aktivitätsdiagramm auf Cacoo.com"><img src="http://www.muvik.de/wp-content/uploads/2010/02/Aktivitaetsdiagramm_Bsp.png" alt="Aktivitätsdiagramm: Blogartikel schreiben" title="Aktivitätsdiagramm: Blogartikel schreiben" width="443" height="380" class="size-full wp-image-277" /></a><p class="wp-caption-text">Beispiel: Aktivitätsdiagramm</p></div>
<p>Das Aktivitätsdiagramm habe ich mit einer tollen Browseranwendung aus der WEB2.0 Ecke erstellt: <a href="http://bit.ly/cWBrpJ" alt="Beispiel Aktivitätsdiagramm auf cacoo.net">cacoo.com</a>. Ein Tipp für alle, die schnell ein einfaches UML-Diagramm zusammenklicken wollen und es nicht für zum Beispiel einen Kunden bestimmt ist.</p>
<p>Natürlich lasse ich es mir nicht nehmen, auch diesmal ein Diagramm zu einem Weblog-Thema zu erstellen. Diesmal habe ich den Anwendungsfall &#8220;Blogartikel schreiben&#8221; ausgewählt und mit einigen Elementen des Aktivitätsdiagramms veranschaulicht.</p>
<p><p><script type="text/javascript"><!--
google_ad_client = "pub-1356270213107195";
/* 468x60_incontent_text */
google_ad_slot = "2104479285";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p></p>
<h3>Elemente eines Aktivitätsdiagramms</h3>
<p>Im ersten Abschnitt bin ich bereits etwas auf die wichtigsten Elemente eingegangen, nun möchte ich auch etwas zur Notation und Darstellung in UML loswerden. Fangen wir mit der Aktivität an sich an:</p>
<p>Die <strong>Aktivität</strong>, bzw. der Aktivitätsname &#8220;Blogartikel schreiben&#8221; wird, wie im Beispiel gezeigt, in die linke obere Ecke geschrieben. Meist wird die ganze Aktivität von einem Rahmen umgeben, welcher die Aktivität von seiner Umgebung abgrenzen soll. Häufig liegen keine Diagrammelemente auf dem Rahmen, im Beispiel ist es auch kein Fehler. Wird ein rechteckiger Knoten auf den Rahmen gelegt, dann stellt es einen Eingangsparameter dar. Also ist die &#8220;Idee&#8221; der Eingangsparameter für die Aktivität &#8220;Blogartikel schreiben&#8221;.</p>
<p>Neben der Funktion als Eingangsparameter, deutet der Knoten &#8220;Idee&#8221; mit seinem rechteckigen Rahmen an, dass er ein <strong>Objektknoten</strong> ist. Er gibt an, dass in dem Ablauf Objekte verwickelt sind. Von einem Objekt geht kein Kontrollfluss, sondern ein <strong>Objektfluss</strong> aus, es werden also Objekte transportiert. Meines Wissens nach wird graphisch zwischen Objektfluss und Kontrollfluss nicht direkt unterschieden.</p>
<p>Verfolgen wir das Diagramm weiter, so stoßen wir auf einen Knoten mit abgerundeten Ecken. Ein solcher Knoten ist eine <strong>Aktion</strong>. Wie bereits angedeutet, ist die Aktion die einfachste Einheit eines Aktivitätsdiagramms. Jedoch kann sie auch durch ein weiteres Aktivitätsdiagramm beschrieben werden und darauf verweisen, was durch eine kleine <strong>&#8220;Mistgabel&#8221;</strong> im Aktionsknoten gekennzeichnet wird. Ein derartige Mistgabel habe ich bei einer der sicherlich schwersten Aktionen hinzugefügt: &#8220;Wissen beschaffen&#8221;. Dieser Aktion müsste ich nur noch ein Aktivitätsdiagramm hinzufügen und schon könnte jeder Unmengen an Wissen beschaffen <img src='http://www.muvik.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Eine Raute, wie sie zwischen den zwei Aktionsknoten &#8220;Thema prüfen&#8221; und &#8220;Übersicht erstellen&#8221; aufgeführt ist, impliziert eine <strong>Entscheidung</strong>. Sie ist ein Kontrollknoten und gehört meiner Ansicht nach zu den Elementen, welche ein Aktivitätsdiagramm erst richtig interessant machen.</p>
<div id="attachment_289" class="wp-caption alignnone" style="width: 453px"><img src="http://www.muvik.de/wp-content/uploads/2010/02/Elemente01_Aktivitaetsdiagramm.png" alt="UML: Startknoten, Endknoten, Ablaufende" title="UML: Startknoten, Endknoten, Ablaufende" width="443" height="136" class="size-full wp-image-289" /><p class="wp-caption-text">Elemente: Startknoten, Endknoten, Ablaufende</p></div>
<p>Weitere ganz wichtige Elemente sind der <strong>Startknoten</strong>, ein ausgefüllter Kreis, der <strong>Endknoten</strong>, symbolisiert durch einen ausgefüllten Kreis in einem Ring und ein <strong>Ablaufende</strong>, einem durchgestrichenem leeren Kreis. Die ersten Beiden erklären sich von selbst. Im Beispiel &#8220;Blogartikel schreiben&#8221; habe ich kein Startknoten, weil die Idee als Parameter übergeben wird und der Fluss an dieser Stelle beginnt. Ein Endknoten beendet im Gegensatz zum Ablaufende den gesamten Fluss und alle Aktionen, das Ablaufende jedoch nur einen einzelnen Fluss.</p>
<div id="attachment_293" class="wp-caption alignnone" style="width: 453px"><img src="http://www.muvik.de/wp-content/uploads/2010/02/Konnectoren_Aktivitaetsdiagramm.png" alt="UML-Element: Konnektoren" title="UML-Element: Konnektoren" width="443" height="133" class="size-full wp-image-293" /><p class="wp-caption-text">Element: Konnektoren im Aktivitätsdiagramm</p></div>
<p>Möchte man einen komplizierten Ablauf mit Hilfe eines Aktivitätsdiagramms veranschaulichen, so wird es schnell ganz unübersichtlich. Um den Chaos in Grenzen zu halten und ewig lange Kontrollfluss-Linien zu vermeiden, gibt es die <strong>Konnektoren</strong>. Dabei endet ein Fluss an einem Marker, zum Beispiel einem &#8220;A&#8221;, und geht an einer anderen Stelle von einem &#8220;A&#8221; aus weiter. Die Marker werden dafür in einfache Kreise geschrieben. Zudem sind die Konnektoren auch dafür gut, wenn ein Diagramm nicht ganz auf ein Blatt passt und auf einem anderen weitergehen soll, dann können ebenfalls Konnektoren eingesetzt werden.</p>
<p>Es gibt noch viele weitere Elemente von Aktivitätsdiagrammen, die durch ihre Zeichen mehr oder weniger selbsterklärend sind. Für den ersten Einstieg sollten die hier aufgeführten aber zunächst reichen. Ergänzungen und Kommentare können gerne hinterlassen werden.</p>
<h3>Ende gut alles gut?</h3>
<p>Mit diesem Artikel geht meine Mini-Serie zu UML-Diagrammen zu Ende. Während ich die Artikel geschrieben habe, sind mir etliche weitere Artikelideen eingefallen, die ich eventuell noch verwirklichen möchte.</p>
<p>Nun hoffe ich, dass es euch gefallen hat und würde mich über Kommentare und Anregungen freuen.</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/#comments">ein Kommentar</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/&title=UML: Aktivitätsdiagramm (Teil 4)">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/&title=UML: Aktivitätsdiagramm (Teil 4)">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/&title=UML: Aktivitätsdiagramm (Teil 4)">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/modellierung/" rel="tag">Modellierung</a>, <a href="http://www.muvik.de/tag/tutorial/" rel="tag">Tutorial</a>, <a href="http://www.muvik.de/tag/uml/" rel="tag">UML</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/26/uml-aktivitaetsdiagramm-teil-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UML: Klassendiagramm (Teil 3)</title>
		<link>http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/</link>
		<comments>http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 13:00:35 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Modellierung]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=226</guid>
		<description><![CDATA[Im dritten Teil der Artikelserie zu UML geht es heute um etwas ganz wichtiges: das Klassendiagramm. Wie es sich für eine Einführung in UML gehört, nenne ich zunächst die Existenzgründe von Klassendiagrammen und wofür sie eingesetzt werden. Dann stelle ich ein einfaches Beispiel vor und erkläre anhand des Beispiels die Elemente eines Klassendiagramms. Nachdem es [...]]]></description>
			<content:encoded><![CDATA[<p class="preview">Im dritten Teil der Artikelserie zu UML geht es heute um etwas ganz wichtiges: das Klassendiagramm. Wie es sich für eine Einführung in UML gehört, nenne ich zunächst die Existenzgründe von Klassendiagrammen und wofür sie eingesetzt werden. Dann stelle ich ein einfaches Beispiel vor und erkläre anhand des Beispiels die Elemente eines Klassendiagramms.</p>
<p><span id="more-226"></span></p>
<p>Nachdem es im zweiten Teil der UML-Artikelserie um die Anwendungsfälle ging, die dem Programmierer die Anforderungen an ein Programm darlegen, wird es diesmal mit den Klassendiagrammen etwas technischer.
</p>
<h3>Was ist ein Klassendiagramm und wofür brauche ich es?</h3>
<p>Die Aussage, dass das Klassendiagramm das liebste Kind des Programmierer ist, fällt mir nicht schwer, obwohl ich dafür keinen stichhaltigen Beweis habe. Betrachtet man jedoch die Struktur, den Aufbau und die Funktion eines Klassendiagramms, worauf ich noch eingehen werden, so merkt man, dass dieser Diagrammtyp dem Code objektorientierter Programmiersprachen sehr ähnlich ist. Daher wird jeder, der objektorientiertes Programmieren beherrscht, auch mit dem Klassendiagramm auf Anhieb zurechtkommen. </p>
<p>Gehen wir davon aus, dass die oben getroffene Aussage wahr ist, so ist das Klassendiagramm das wichtigste Diagramm der UML. Es gehört zu den Strukturdiagrammen, zu welchen auch das Anwendungsfalldiagramm gezählt wird. Was Klassendiagramme können lässt sich grob im folgenden Satz zusammenfassen:</p>
<p><strong>Das Klassendiagramm zeigt, welche Klassen existieren, wie sie aufgebaut sind und in welchen Beziehungen sie zu einander stehen.</strong></p>
<p>Somit ist die Struktur der einzelnen Klassen, die gemeinsame Struktur und das daraus resultierende gemeinsame Verhalten aus einem Klassendiagramm erkennbar. Die Betrachtung auf dieser abstrakten Ebene ermöglicht es, sich den Aufbau des Modells klarer zu machen.</p>
<p>Das wohl bekanntest Anwendungsfeld für Klassendiagramme ist wahrscheinlich die objektorientierte Modellierung als Vorarbeit für die Programmierung. Jedoch ist auch der umgekehrte Weg möglich: Liegt eine objektorientierter Code vor, so kann daraus ein UML-Klassendiagramm erstellt werden. Für beide Wege existieren automatische Generatoren, die entweder aus einem Klassendiagramm die Code-Struktur einer objektorientierter Programmiersprache erzeugen oder aus dem Code das Diagramm generieren.</p>
<p>Im folgenden Bild habe ich versucht, ein einfaches Klassendiagramm für den Inhalt eines Weblogs zu erstellen:<br />
<div id="attachment_236" class="wp-caption alignnone" style="width: 453px"><a href="http://www.muvik.de/wp-content/uploads/2010/02/klassendiagramm.png"><img src="http://www.muvik.de/wp-content/uploads/2010/02/klassendiagramm.png" alt="UML-Klassendiagramm des Weblog-Inhalts" title="UML-Klassendiagramm des Weblog-Inhalts" width="443" height="293" class="size-full wp-image-236" /></a><p class="wp-caption-text">Beispiel: Klassendiagramm des Inhalts eines Weblogs</p></div><br />
Es ist mir bewusst, dass das Diagramm keinesfalls vollständig ist. Aber ich denke, es erfüllt seinen Zweck, nämlich das erläutern der Elemente eines Klassendiagramms.</p>
<p>In dem Beispiel sind bereits folgende Elemente zu sehen:</p>
<ul>
<li>abstrakte Klasse: Content</li>
<li>diverse Klassen: Datum, Autor, Artikel&#8230;</li>
<li>Vererbungsbeziehung</li>
<li>Assoziationsbeziehung</li>
<li>Aggregationsbeziehung</li>
</ul>
<p>Das ist nur eine kleine Auswahl der möglichen Elemente eines Klassendiagramms, welche ich unter anderem im nächsten Abschnitt näher erläutere.</p>
<h3>Elemente eines Klassendiagramms</h3>
<p>Das wichtigste Element des Klassendiagramms steht schon im Namen drin: <strong>die Klasse</strong>. Manchmal wird statt Klasse auch einfach <strong>Typ</strong> gesagt, was das gleiche meint. Eine Klasse bzw. ein Typ ist im Grunde eine Zusammenfassung der Eigenschaften (Attribute) und des Verhaltens (Operationen) der Objekte dieser Klasse. Symbolisiert wird eine Klasse mit einem Rechteck, welches im oberen Feld den Namen der Klasse enthält. Werden Attribute und Operationen angegeben, so stehen sie jeweils durch ein horizontalen Strich getrennt unter dem Namen. Jedoch ist es keine Pflicht, Attribute und Operatoren anzugeben. In dem Beispiel hat lediglich die Klasse &#8220;Content&#8221; ein Attribut und eine Operation.</p>
<p>Möchte man Attribute aufführen, dann kann man dies unterschiedliche Arten tun: </p>
<ul>
<li>nur Name</li>
<li>Name und Typ</li>
<li>Name, Typ und Anfangswert</li>
</ul>
<p>Attribute, häufig auch Member genannt, werden an jedes Objekt einer Klasse weitergegeben. Jedoch hat wiederum jedes Objekt seine eigene Identität, was gleichbedeutend ist mit der Aussage, dass jedes Objekt zwar gleich Attribute hat, die Werte der Attribute aber durchaus verschieden sein können. In c++ können mit &#8220;static&#8221; sogenannte Klassenattribute definiert werden, welche in jedem Objekt verfügbar sind und den gleichen Wert besitzen.</p>
<p>Desweiteren ist es möglich für jedes Attribut die Sichtbarkeit von außen zu beschränken, was oft sehr sinnvoll ist. Dafür stehen grundsätzlich drei Varianten zur Verfügung:</p>
<ul>
<li>+: public: für alle sichtbar und benutzbar</li>
<li>#: protected: sichtbar und benutzbar für die Klasse selbst und ihre Unterklassen</li>
<li>-: private: nur für die Klasse selbst</li>
</ul>
<p>In dem Klassen-Rechteck wird entsprechend der Sichtbarkeit eines Attributs das passende Zeichen (+,#,-) angegeben. Generell ist es ein guter Tipp, so zu programmieren, dass nur die Klassen selbst Zugriff auf ihre Attribute hat.</p>
<p>Die Operatoren, auch Memberfunktionen genannt, sind Dienstleistungen des Objekts und werden durch ihre Parameter charakterisiert. Die Parameterliste wird auch Signatur genannt.</p>
<p>Operatoren können wie Attribute auf unterschiedliche Weisen angegeben werden:</p>
<ul>
<li>nur Name</li>
<li>Name und Parameter</li>
<li>Name, Parameter mit Typ</li>
<li>Name, Parameter mit Typ und Anfangswert</li>
</ul>
<p>Außerdem können Operationen als abstrakt bzw. virtuell definiert werden, was bedeutet, dass keine Implementierung vorliegt, sondern nur die Deklaration der Operation. Dadurch wird die Klasse, welche die abstrakte Operation enthält, sofort zur abstrakten Klasse, aber dazu in wenigen Sätzen mehr.</p>
<p>Was nun letztendlich in der Attributen- und Operationenliste aufgeführt ist, ist stets problemspezifisch und hängt stark davon ab, was für das ordentliche Modellieren wichtig ist und was nur störend wirkt.</p>
<p>Der Name der Klasse wird generell in<strong> fetter Schrift</strong> geschrieben. Ist er <strong><em>fett und kursiv</em></strong>, so handelt es sich um eine <strong>abstrakte Klasse</strong>. Dieses weitere Element eines Klassendiagramms wird auch als virtuelle Klasse bezeichnet und kann keine eigenen Objekte erzeugen, da sie unvollständig ist. Zum Beispiel enthält sie eine abstrakte Funktion, die wir bereits kennen gelernt haben.<br />
Eine abstrakte Klasse dient oft dazu, zu zeigen, dass es bestimmte Operationen und Attribute gibt, diese werden aber nicht konkret implementiert. Die abstrakte Klasse stellt daher eine Basis für weitere Klassen dar, welche dann die Implementierung beinhalten.<br />
<p><script type="text/javascript"><!--
google_ad_client = "pub-1356270213107195";
/* 468x60_incontent_text */
google_ad_slot = "2104479285";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><br />
<div id="attachment_248" class="wp-caption alignleft" style="width: 169px"><a href="http://www.muvik.de/wp-content/uploads/2010/02/param_klasse.png"><img src="http://www.muvik.de/wp-content/uploads/2010/02/param_klasse.png" alt="UML-Darstellung einer Template-Klasse" title="Beispiel: UML-Darstellung einer Template-Klasse" width="159" height="97" class="size-full wp-image-248" /></a><p class="wp-caption-text">Beispiel: UML-Darstellung einer Template-Klasse</p></div> </p>
<p>Ein weiteres Element ist die <strong>parametrisierbare Klasse</strong>. In c++ wird sie <strong>Template-Klasse</strong> genannt und stellt eine Schablone dar, welche einen formalen Parameter enthält, der bei der Erzeugung weiterer Klassen ersetzt wird. Mit dieser Technik kann leicht wiederverwendbarer Code erzeugt werden. Dargestellt wird die parametrisierbare Klasse durch ein zusätzliches rechteckiges Feld an der rechten oberen Ecke des Klassen-Feldes, welches den Namen des formalen Parameters enthält.</p>
<div id="attachment_254" class="wp-caption alignleft" style="width: 106px"><a href="http://www.muvik.de/wp-content/uploads/2010/02/object.png"><img src="http://www.muvik.de/wp-content/uploads/2010/02/object.png" alt="UML-Objekt-Darstellung" title="Beispiel: UML-Objekt" width="96" height="95" class="size-full wp-image-254" /></a><p class="wp-caption-text">Beispiel: UML-Objekt</p></div>
<p>Klassen sind im Klassendiagramm nicht die handelnden Elemente, es sind ihre <strong>Objekte</strong> oder <strong>Instanzen</strong>. Die Eigenschaften und das Verhalten der Objekte wird durch die Klasse definiert (Attribute und Operationen). In der UML-Darstellung unterscheiden sich Objekte von ihren Klassen dadurch, dass dem Namen des Objekts im obersten Feld nach einem Doppelpunkt der Name der Klasse folgt. Das ganze wird auch noch unterstrichen. Das Objekt-Rechteck stellt nur Attribute mit den aktuellen oder Beispielwerten dar, Operationen sind nicht objektspezifisch und werden daher nicht angegeben.</p>
<p>Soweit zu den Klassen und ihren Objekten. Was noch fehlt sind die Verbindungen zwischen den Klassen, welche sehr vielfältig sind. Ich möchte an dieser Stelle lediglich vier vorstellen:</p>
<p>Die <strong>Assoziation</strong> beschreibt die Relation zwischen Klassen bzw. ihrer Objekte und wird entweder durch einen einfache Strich oder durch einen Pfeil dargestellt. Im Falle des Pfeils handelt es sich um eine gerichtete Assoziation und die Kommunikation kann nur in eine Richtung stattfinden. Im oberen Beispiel habe ich die Klasse &#8220;Artikel&#8221; und die Klasse &#8220;Kommentar&#8221; auf diese Weise verbunden. Berücksichtigt man die Multiplizität, so heißt es gesprochen: &#8220;Ein Artikel kann beliebig viele Kommentare enthalten.&#8221; </p>
<p>Artikel, Kommentare und Seiten sind in einem Weblog Inhalte und sie besitzen die abstrakten Eigenschaften von Inhalten, hier sind es das Datum und den Autor. Eine derartige Beziehung wird Vererbung genannt. Die Eltern-Klasse (&#8220;Content&#8221;) wird Oberklasse und die Kind-Klasse (&#8220;Artikel&#8221;) Unterklasse genannt. </p>
<p>Eine weitere Beziehung ist in dem Beispiel zwischen den Klassen &#8220;Datum&#8221; und &#8220;Content&#8221; zu sehen. Das ist ein Sonderfall einer Assoziation und wird <strong>Aggregation</strong> genannt. Die Aggregation besagt, dass die Beziehung zwischen den Klassen nicht gleichwertig ist. In diesem Fall ist &#8220;Datum&#8221; ein Teil der Klasse &#8220;Content&#8221;. Die leere Raute zeigt dabei immer auf das ganze Element, also auf &#8220;Content&#8221;. </p>
<p>Ist die Raute nicht leer, sondern ausgefüllt, dann handelt es sich um eine <strong>Komposition</strong>. Die Komposition ist auch ein Sonderfall der Assoziation und eine strengere Form der Aggregation. Wenn das ganze Element, welches die Komposition einnimmt, aus irgendwelchen Gründen verschwindet, dann kann das komposierte Element auch nicht mehr weiter existieren. Das ist bei der Aggregation nicht der Fall. Der Autor lebt immer noch, auch wenn sein Artikel gelöscht wird. Das Gegenteil gibt es nur in Büchern und Filmen <img src='http://www.muvik.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<h3>Das ist ein Klasse-Diagramm</h3>
<p>Klassendiagramme sind ein sehr wichtiges und nützliches Werkzeug bei der Programmierung. Und da die Terminologie auch zufällig die gleiche ist, fällt es den Programmierern nicht sehr schwer, sich an die Klassendiagramme zu gewöhnen.</p>
<p>Hast schon Erfahrungen mit Klassendiagrammen gemacht? Und wo wendest du sie an?</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/#comments">2 Kommentare</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/&title=UML: Klassendiagramm (Teil 3)">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/&title=UML: Klassendiagramm (Teil 3)">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/&title=UML: Klassendiagramm (Teil 3)">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/modellierung/" rel="tag">Modellierung</a>, <a href="http://www.muvik.de/tag/tutorial/" rel="tag">Tutorial</a>, <a href="http://www.muvik.de/tag/uml/" rel="tag">UML</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/24/uml-klassendiagramm-teil-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>UML: Anwendungsfalldiagramm (Teil 2)</title>
		<link>http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/</link>
		<comments>http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 13:00:24 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Modellierung]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=121</guid>
		<description><![CDATA[Im zweiten Teil der vierteiligen Serie zu UML geht es heute um das Anwendungsfalldiagramm, welches auch unter dem Namen Use-Case-Diagramm bekannt ist. Hierin wird dieser Diagrammtyp aus Sicht eines Amateurprogrammierers beschrieben und die Aufgabe genannt, für welche das Anwendungsfalldiagramm eine Hilfe sein kann. Nach einigen einführenden Worten erkläre ich die Grundlagen eines Anwendungsfalldiagramms anhand eines [...]]]></description>
			<content:encoded><![CDATA[<p class="preview">Im zweiten Teil der vierteiligen Serie zu UML geht es heute um das Anwendungsfalldiagramm, welches auch unter dem Namen Use-Case-Diagramm bekannt ist. Hierin wird dieser Diagrammtyp aus Sicht eines Amateurprogrammierers beschrieben und die Aufgabe genannt, für welche das Anwendungsfalldiagramm eine Hilfe sein kann. Nach einigen einführenden Worten erkläre ich die Grundlagen eines Anwendungsfalldiagramms anhand eines eigenen Beispiels. Dann werde ich auf die einzelnen Elemente und Besonderheiten eines Anwendungsfalldiagramms eingehen.</p>
<p><span id="more-121"></span></p>
<p><a href="http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/">Im ersten Teil der UML-Serie</a> ging es vorrangig um die Erläuterung, warum ich in diesem Weblog über UML schreibe und was die Leser zu erwarten haben. Heute geht es ans Eingemachte mit dem ersten Diagrammtyp für Anwendungsfälle. </p>
<h3>Was ist ein Anwendungsfalldiagramm und was kann ich damit tun?</h3>
<p>In einem Satz zusammengefasst, zeigt das Anwendungsfalldiagramm den strukturellen Zusammenhang und die Abhängigkeiten zwischen sogenannten Akteuren und den Anwendungsfällen. Dabei werden weder das Verhalten der Akteure noch irgendwelche Abläufe beschrieben, sondern nur das Zusammenwirken der Elementen (Akteure und Anwendungsfälle). Was Akteure und Anwendungsfälle sind, dazu komme ich etwas später im Text. </p>
<p>Jeder, der schon einmal etwas komplexeres programmiert hat und dabei einfach drauflos geschrieben hat, musste am Ende wahrscheinlich feststellen, dass hier eine Funktion fehlt und da noch eine Schnittstelle wünschenswert wäre, damit das Gesamtprogramm sinnvoll ist und funktioniert, wie zu Beginn angedacht. Davon abgesehen, dass es meist kein guter Rat ist, ein Programm einfach anfangen zu schreiben, ohne sich zumindest eine grobe Struktur in Gedanken anzulegen, kann ich jedem nur ans Herz legen, die Anforderungen an ein Programm schriftlich oder grafisch festzuhalten. In solchen Fällen eignet sich das Anwendungsfalldiagramm. Im professionellen geschäftlichen Bereich kann es sogar soweit gehen, dass ein Anwendungsfalldiagramm die Grundlage eines Vertrages zwischen einem Softwarehersteller und seinem Kunden wird. Daraus kann eine ganz wichtige Eigenschaft des Anwendungsfalldiagramms heraus gelesen werden: Meist interessiert es den Kunden nicht, wie ein Programm funktioniert, er gibt nur vor, was es leisten soll. Aus dieser Tatsache folgt die Aussage über das Ziel eines Anwendungsfalldiagramms: </p>
<blockquote><p>Das Anwendungsfalldiagramm hat zum Einen das Ziel den Funktionsumfang des Programms zu definieren und dabei möglichst die Kosten für nachträgliche Veränderungen zu minimieren und zum Anderen eine zielgerichtete, problemorientierte Entwicklung zu unterstützen.</p></blockquote>
<p>Ein sehr einfaches Beispiel ist im folgenden Bild gezeigt.<br />
<div id="attachment_147" class="wp-caption alignnone" style="width: 453px"><a href="http://www.muvik.de/wp-content/uploads/2010/02/Blog_Beispiel.png"><img src="http://www.muvik.de/wp-content/uploads/2010/02/Blog_Beispiel.png" alt="UML-Anwendungsfalldiagramm eines Blogs" title="Blog_Beispiel" width="443" height="466" class="size-full wp-image-147" /></a><p class="wp-caption-text">Beispiel: Anwendungsfalldiagramm eines Blogs</p></div><br />
Das Diagramm soll ein einfaches Modell eines Weblogs darstellen, wobei folgende Anwendungsfälle vorhanden sind:
<ul>
<li>Artikel schreiben</li>
<li>Artikel modifizieren</li>
<li>Artikel kommentieren</li>
<li>Artikel lesen</li>
</ul>
<p> Also beschreiben Anwendungsfälle die Wechselwirkung zwischen den Akteuren und dem System. </p>
<p>Akteure sind die Besucher und der Administrator, folglich in diesem Fall Leute, die vor dem Rechner sitzen und am Blog etwas machen.</p>
<p>Viele weitere Beispiele kannst du mit der Google Bildersuche finden, indem du nach &#8220;Anwendungsfalldiagramm&#8221; suchst. </p>
<h3>Elemente eines Anwendungsfalldiagramms</h3>
<p>Die zwei wichtigsten Elemente haben wir schon kennen gelernt: die Anwendungsfälle und die Akteure. Wie im obigen Beispiel dargestellt, werden die Anwendungsfälle mit Ellipsen und einer Bezeichnung symbolisiert. Ein vernünftiger Anwendungsfall besteht meist aus zwei Wörtern, einem Substantiv und einem Verb. Ist das nicht der Fall, dann kann das Diagramm vielleicht noch optimiert werden.</p>
<p>Die Akteure werden als Strichmännchen dargestellt und die Bezeichnung unter das Männchen geschrieben. In der Fachliteratur sind noch weitere Details zum richtigen Darstellen von besonderen Akteuren, worauf ich hier jedoch nicht eingehen möchte.</p>
<p>Die Verbindungslinien zwischen den einzelnen Elementen stehen für die Beziehungen. Eine wichtige Beziehung ist die <em>include</em>-Beziehung. Damit wird ein Anwendungsfall in einen anderen eingebunden. Eine Unterteilung der Anwendungsfälle ist jedoch nur sinnvoll, wenn der ausgegliederte Anwendungsfall mehr als einmal eingebunden wird. Die <em>include</em>-Beziehung wird mit einer gestrichelten Linie und einer Pfeilrichtung hin zum einzugliederndem Anwendungsfall dargestellt. </p>
<p>Würde ich nun in dem Beispiel meiner eigenen Erklärung der <em>include</em>-Beziehung folgen, dürfte ich den Anwendungsfall &#8220;Freischaltung anfragen&#8221;  nicht auslagern. Jedoch kann es an dieser Stelle wichtig sein, um zu verdeutlichen, dass nicht alle Kommentare wahllos zugelassen werden. Es könnte ja Spam dazwischen sein.</p>
<p>Eine ähnliche Funktion hat auch die  <em>extend</em>-Beziehung, welche einen Anwendungsfall erweitert, aber im Gegensatz zu  <em>include</em> ihn nicht zum Bestandteil des Anwendungsfalls macht.<br />
<p><script type="text/javascript"><!--
google_ad_client = "pub-1356270213107195";
/* 468x60_incontent_text */
google_ad_slot = "2104479285";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><br />
Zwischen den Akteuren und einem Anwendungsfall können auch besondere Beziehungen gelten. Wie in dem Beispiel gezeigt, können an beiden Enden der Beziehung sogenannte Multiplizitäten angegeben werden. Diese bedeuten so viel, wie: &#8220;Ein Administrator kann einen oder viel Artikel schreiben&#8221; oder &#8220;Ein Besucher kann keinen oder viele Artikel kommentieren&#8221;. Anders herum könnte man auch sagen: &#8220;Ein Artikel kann von keinem oder vielen Besuchern kommentiert werden&#8221;. Dann müsste noch &#8220;0..*&#8221; an der Beziehungslinie zwischen &#8220;Besucher&#8221; und &#8220;Artikel kommentieren&#8221; beim Besucher stehen. Ich denke, dass es klar wird, was es mit der Multiplizität auf sich hat. </p>
<p>Ein weiteres wichtiges Element des Anwendungsfalldiagramms ist die Systemgrenze, welche mit einem rechteckigen Rahmen um alle Anwendungsfälle gekennzeichnet wird.</p>
<p>Es gibt noch einige weitere Elemente, welche an dieser Stelle genannt werden können, aber ich denke, dass es für die Verwendung hier im Blog ausreicht, was ich bisher vorgestellt habe. Sollte es im einen oder anderen Fall nicht reichen, dann werde ich direkt im entsprechenden Artikel darauf näher eingehen. Die Ausführungen hier sollten aber für das Grundverständnis ausreichen.</p>
<h3>Besonderheiten eines Anwendungsfalldiagramms</h3>
<p>Unter den Besonderheiten des Anwendungsfalldiagramms führe ich die Punkte auf, welche beim Erstellen zu beachten sind:</p>
<ul>
<li>Beschreibung aus Sicht des Systems</li>
<li>Beschreibung, was für Anwender sichtbar ist</li>
<li>kein Verhalten oder Ablauf, nur Interaktion</li>
<li>Was soll das System leisten?</li>
<li><strong>Nicht</strong>: Wie soll das System die Anforderung erfüllen?</li>
<li>an jedem Anwendungsfall soll mindestens ein Akteur beteiligt sein</li>
<li>Bezeichnung von Anwendungsfällen: Substantiv + Verb</li>
</ul>
<h3>Wo hast du bereits ein Anwendungsfalldiagramm gebraucht?</h3>
<p>Ja, jetzt ist es wieder soweit: Du, lieber Leser, bist nun an der Reihe deine Erfahrungen darzulegen und etwas aus dem Nähkästchen zu plaudern. Hast du schonmal ein derartiges UML-Diagramm erstellt, hat es dir geholfen oder dich eher bei deiner Arbeit gestört? Kannst du eine Verbesserung vorschlagen?</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/#comments">keine Kommentare</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/&title=UML: Anwendungsfalldiagramm (Teil 2)">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/&title=UML: Anwendungsfalldiagramm (Teil 2)">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/&title=UML: Anwendungsfalldiagramm (Teil 2)">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/modellierung/" rel="tag">Modellierung</a>, <a href="http://www.muvik.de/tag/tutorial/" rel="tag">Tutorial</a>, <a href="http://www.muvik.de/tag/uml/" rel="tag">UML</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/22/uml-anwendungsfalldiagramm-teil-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ankündigung: UML: kurz und gut</title>
		<link>http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/</link>
		<comments>http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 10:14:55 +0000</pubDate>
		<dc:creator>Viktor Müller</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Modellierung]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://www.muvik.de/?p=302</guid>
		<description><![CDATA[Mit diesem Artikel möchte ich eine kleine Aktion von mir ankündigen: In Kürze erscheinen drei Artikel zum Thema UML- Unified Modeling Language. Darin werden die Grundlagen dreier Diagrammtypen angesprochen und jeweils mit einem kleinen, einfachen Beispiel erläutert und auf die einzelnen Elemente des jeweiligen Diagrammtyps näher eingegangen. In diesem Post nenne ich Gründe und Intentionen, [...]]]></description>
			<content:encoded><![CDATA[<p class="preview">Mit diesem Artikel möchte ich eine kleine Aktion von mir ankündigen: In Kürze erscheinen drei Artikel zum Thema UML- Unified Modeling Language. Darin werden die Grundlagen dreier Diagrammtypen angesprochen und jeweils mit einem kleinen, einfachen Beispiel erläutert und auf die einzelnen Elemente des jeweiligen Diagrammtyps näher eingegangen. In diesem Post nenne ich Gründe und Intentionen, die mich bewogen haben, diese Kleinserie zu starten.</p>
<p><span id="more-302"></span></p>
<h3>Was ist UML?</h3>
<p>UML ist keine Programmiersprache, sondern eine Modellierungssprache. Es stellt standardisierte Begriffe, Bezeichnungen und grafische Notationen zur Verfügung und soll damit die Modellierung von Systemen, Abläufen, Programmen erleichtern. Ich möchte an dieser Stelle nicht auf die Entstehungsgeschichte eingehen, obwohl das ebenfalls ganz interessant wäre. Oft versteht man etwas besser, wenn man weiß, wie es entstanden ist. Naja, eventuell wird aus den drei Artikel zu UML irgendwann auch vier <img src='http://www.muvik.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<h3>Warum schreibe ich über UML?</h3>
<p>Das wird sich sicherlich der eine oder andere Leser fragen. Es geht auf diesem Blog doch in erster Linie um Programmieren, Mathematik und Software. Ja, das stimmt auch soweit, aber ich möchte ja diesen Blog auch dazu nutzen mein Wissen auf dem Gebiet nicht nur anderen zur Verfügung zu stellen, sondern auch zu erweitern. UML hat mich schon sein einer längeren Zeit interessiert, da es in meinen Augen einen sinnvollen Zugang zu neuen Projekten bereitstellen kann. Zu Beginn eines Projekts weiß man noch nicht viel und muss doch irgendwie anfangen. Also erstellt man sich zum Beispiel ein Anwendungsfalldiagramm um die Anforderungen zu definieren.</p>
<p>Es ist mir auch klar, dass ich hier keine riesigen Projekte vorstellen werde, für welche die Modellierung fast Gesetz ist. Aber auch kleiner Aufgaben können durch UML besser verstanden und erläutert werden. Vielleicht lässt sich ein Projecteuler-Problem mit UML gut darstellen, was ich dann auch machen werde. Im Vordergrund steht für mich bei der Verwendung von UML das Ziel, eine strukturierte Vorgehensweise zu erlernen und möglichst effizient zu arbeiten. Kurz: Es soll alles besser werden.</p>
<h3>Was erwartet den Leser, oder worauf darf sich der Leser freuen?</h3>
<p>Die Artikel zu der kurzen Serie sind bereits geschrieben und sollen im Laufe der nächsten Woche nach und nach veröffentlicht werden. Dieser Post hier macht den Anfang, dann folgt ein Artikel zum Thema <strong>Anwendungsfalldiagramme</strong>. Der zweite Beitrag beschäftigt sich mit einem ganz wichtigen und interessanten Diagramm, nämlich dem <strong>Klassendiagramm</strong>. Abgerundet wird das ganze durch einen Artikel zu dem <strong>Aktivitätsdiagramm</strong>. Im Anschluss an diese Serie stelle ich einige Bücher vor, die ich als Quelle für diese Artikel verwendet habe. Ich finde Bücher sind nach wie vor immernoch die wichtigste Wissenquelle.</p>
<h3>Viel Spass beim Lesen</h3>
<p>Da ich mir durchaus bewusst bin, dass nicht alles richtig sein kann, was in den angekündigten Artikeln so steht, bitte ich die wenigen Leser um rege Beteiligung durch Kommentare. Verbesserungen, Ergänzungen, Erfahrungsberichte &#8211; alle konstruktiven Beiträge sind willkommen.</p>
<p><a href="http://partners.webmasterplan.com/click.asp?ref=515746&site=6989&type=text&tnb=1" target="_blank">
Deine Stadt - Dein Preis</a><br />Mit CityDeal und vielen Anderen
den Preis drücken!<br /><img src="http://banners.webmasterplan.com/view.asp?ref=515746&site=6989&type=text&tnb=1&js=1" BORDER="0" WIDTH="1" HEIGHT="1" /></p>
<hr />
<p><small>© Muvik for <a href="http://www.muvik.de">muvik-multigrid</a>, 2010. |
<a href="http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/">Permalink</a> |
<a href="http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/#comments">ein Kommentar</a> |
Teile es mit deinen Freunden:
<a href="http://del.icio.us/post?url=http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/&title=Ankündigung: UML: kurz und gut">del.icio.us</a>
<a href="http://www.mister-wong.de/addurl/?bm_url=http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/&title=Ankündigung: UML: kurz und gut">MisterWong</a>
<a href="http://twitter.com/home?status=http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/&title=Ankündigung: UML: kurz und gut">Twitter</a>
<br/>
Tags: <a href="http://www.muvik.de/tag/modellierung/" rel="tag">Modellierung</a>, <a href="http://www.muvik.de/tag/programming/" rel="tag">Programming</a>, <a href="http://www.muvik.de/tag/uml/" rel="tag">UML</a><br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://www.muvik.de/2010/02/20/ankuendigung-uml-kurz-und-gut/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

