<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Attribut_%28UML%29</id>
	<title>Attribut (UML) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Attribut_%28UML%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Attribut_(UML)&amp;action=history"/>
	<updated>2026-06-09T04:25:00Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Attribut_(UML)&amp;diff=292233&amp;oldid=prev</id>
		<title>imported&gt;Rote4132: &quot;br clear..&quot; als syntaktisch falsch durch Vorlage:Absatz ersetzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Attribut_(UML)&amp;diff=292233&amp;oldid=prev"/>
		<updated>2017-01-25T15:17:13Z</updated>

		<summary type="html">&lt;p&gt;&amp;quot;br clear..&amp;quot; als syntaktisch falsch durch Vorlage:Absatz ersetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege fehlen}}&lt;br /&gt;
Ein &amp;#039;&amp;#039;&amp;#039;Attribut&amp;#039;&amp;#039;&amp;#039; ({{enS|&amp;#039;&amp;#039;attribute&amp;#039;&amp;#039;}}) ist ein Begriff in der [[Unified Modeling Language]] (UML), einer Modellierungssprache für [[Software]] und andere Systeme.&lt;br /&gt;
&lt;br /&gt;
Ein Attribut ist ein strukturelles [[Merkmal (UML)|Merkmal]] einer [[Klasse (UML)|Klasse]] und spezifiziert damit einen Teil der Struktur von Objekten, die für diese Klasse gebildet werden. Es hat einen Namen und einen Typ. Falls beispielsweise eine Klasse &amp;lt;code&amp;gt;Konto&amp;lt;/code&amp;gt; ein Attribut mit dem Namen &amp;lt;code&amp;gt;saldo&amp;lt;/code&amp;gt; vom Typ &amp;lt;code&amp;gt;Integer&amp;lt;/code&amp;gt; hat, wird&lt;br /&gt;
in der Struktur jedes Objekts von &amp;lt;code&amp;gt;Konto&amp;lt;/code&amp;gt; ein entsprechender Saldowert aufgeführt sein. Mit UML 2.0 kann jedes typisierte Attribut als gerichtete Assoziation auf die entsprechende Klasse (als einfachen Datentyp oder Referenztyp) mit dem Rollenbezeichner als Attributnamen aufgefasst und in der grafischen Notation äquivalent dargestellt werden.&lt;br /&gt;
&lt;br /&gt;
Ein Attribut ist kein eigenständiges Modellelement im Metamodell der UML2, sondern eine Rolle, die eine sogenannte Eigenschaft (&amp;#039;&amp;#039;Property&amp;#039;&amp;#039;) bei einer Klasse spielen kann. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- hier Ausschnitt Metamodell einfügen --&amp;gt;&lt;br /&gt;
== Multiplizitäten ==&lt;br /&gt;
Ein Attribut hat eine [[Multiplizität (UML)|Multiplizität]], die durch eine untere und eine obere Grenze spezifiziert wird. &lt;br /&gt;
&lt;br /&gt;
Der Standardwert für die Multiplizität ist 1 für die untere wie für die obere Grenze. Bei der Spezifikation eines Attributs kann man von diesen Standardwerten abweichen. Damit drückt man aus, dass eine Instanz der Klasse nicht genau einen Wert für dieses Attribut hat, sondern eine Anzahl Werte, die irgendwo zwischen der unteren und der oberen Schranke liegt.&lt;br /&gt;
&lt;br /&gt;
Ein &amp;#039;&amp;#039;optionales Attribut&amp;#039;&amp;#039; ist ein Attribut mit Multiplizität &amp;lt;code&amp;gt;0..1&amp;lt;/code&amp;gt;. Ein &amp;#039;&amp;#039;mehrwertiges Attribut&amp;#039;&amp;#039; ist ein Attribut, mit einer oberen Schranke größer als 1. Bei einem mehrwertigen Attribut kann man spezifizieren, ob die Werte des Attributs &amp;#039;&amp;#039;geordnet&amp;#039;&amp;#039; (&amp;#039;&amp;#039;isOrdered&amp;#039;&amp;#039;) sind oder nicht. Der Standardwert ist nicht geordnet. Weiter kann man spezifizieren, ob in den Werten eines Attributs jeder Wert höchstens einmal vorkommen darf (&amp;#039;&amp;#039;isUnique&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
== Attribute mit ausschließlich lesendem Zugriff  und abgeleitete Attribute == &lt;br /&gt;
Auf ein Attribut kann nur lesend zugegriffen werden, wenn die Eigenschaft &amp;#039;&amp;#039;isReadOnly&amp;#039;&amp;#039; auf den Wert &amp;#039;&amp;#039;true&amp;#039;&amp;#039; gesetzt ist. Ohne entsprechende Deklaration sind schreibende und lesende Zugriffe gemeint.&lt;br /&gt;
&lt;br /&gt;
Ein Attribut ist &amp;#039;&amp;#039;abgeleitet&amp;#039;&amp;#039; (&amp;#039;&amp;#039;isDerived&amp;#039;&amp;#039;), wenn die Werte des Attributs aus den Werten anderer Attribute berechnet werden (können). In der graphischen Notation wird ein abgeleitetes Attribut mit einem vorangestellten Schrägstrich markiert.&lt;br /&gt;
&lt;br /&gt;
== Attribute für Instanzen und für Klassen == &lt;br /&gt;
Definiert im Kontext einer Klasse, beschreiben Attribute normalerweise &amp;#039;&amp;#039;Instanzen&amp;#039;&amp;#039; dieser Klasse, nicht die Klasse selbst. Attribute, die die Klasse beschreiben, werden &amp;#039;&amp;#039;Klassenattribute&amp;#039;&amp;#039; genannt. Sie unterscheiden sich von den anderen Attributen dadurch, dass die Eigenschaft &amp;#039;&amp;#039;isStatic&amp;#039;&amp;#039; des Attributs auf den Wert &amp;#039;&amp;#039;true&amp;#039;&amp;#039; gesetzt ist. In der graphischen Notation werden Klassenattribute unterstrichen.&lt;br /&gt;
&lt;br /&gt;
== Notation ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;lt;span style=&amp;quot;color:blue;&amp;quot;&amp;gt;Blaue Texte&amp;lt;/span&amp;gt; in den folgenden Abbildungen sind erläuternde Kommentare und gehören nicht zur Notation der UML2.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Attribute werden im Rechteck einer Klasse in einem speziellen Abschnitt aufgeführt.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attribute-1.png|mini|300px|links|Einfaches Beispiel für eine Klasse mit zwei Attributen]]&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Die folgende Abbildung zeigt eine Klasse mit zwei Attributen, die mit verschiedenen Notationsdetails dekoriert sind.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attribute-2.png|mini|400px|links|Zwei Attribute mit Notationsdetails für Multiplizitäten, Attribute mit nur lesendem Zugriff und geordnete Attribute]]&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
Die folgende Abbildung zeigt eine Klasse mit einem Klassenattribut, das einen [[Initialwert]] hat. Klassenattribute werden unterstrichen, um sie von den anderen Attributen abzugrenzen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Attribute-3.png|mini|200px|links|Beispiel für ein Klassenattribut mit einem Initialwert]]&lt;br /&gt;
{{Absatz}}&lt;br /&gt;
&lt;br /&gt;
== Unterschiede zur UML 1.4 == &lt;br /&gt;
Das Konzept der Multiplizität von Attributen wurde in der UML2 vereinfacht. In der UML 1.4 konnte die Multiplizität eines Attributs aus mehreren unzusammenhängenden Zahlenabschnitten bestehen, zum Beispiel &amp;lt;code&amp;gt;0..5, 9..*&amp;lt;/code&amp;gt;, also aus allen Zahlen ohne 6, 7 und 8. In der UML2 sind mehrere Bereiche mit einer unteren und einer oberen Schranke nicht mehr möglich. Die Multiplizität muss aus genau einem zusammenhängenden Zahlenbereich bestehen. &lt;br /&gt;
&lt;br /&gt;
Das Konzept eines nur lesbaren Attributs gab es auch schon in der UML 1.4, nur ist es dort nicht mit der Eigenschaft &amp;#039;&amp;#039;isReadOnly&amp;#039;&amp;#039;, sondern mit der Eigenschaft &amp;#039;&amp;#039;changeability = frozen&amp;#039;&amp;#039; spezifiziert. Analog wurde ein geordnetes Attribut nicht mit &amp;#039;&amp;#039;isOrdered&amp;#039;&amp;#039;, sondern mit &amp;#039;&amp;#039;ordering = ordered&amp;#039;&amp;#039; deklariert.&lt;br /&gt;
&lt;br /&gt;
Auch das Konzept eines abgeleiteten Attributs ist schon aus der UML 1.4 bekannt. Dort konnte man entsprechende Attribute aber nur visuell kennzeichnen. Eine Eigenschaft &amp;#039;&amp;#039;isDerived&amp;#039;&amp;#039; war nicht vorhanden.&lt;br /&gt;
&lt;br /&gt;
Klassenattribute waren in der UML 1.4 ebenfalls bekannt. Sie wurden dort jedoch von Attributen für die Beschreibung von Instanzen unterschieden, indem die Eigenschaft &amp;#039;&amp;#039;ownerScope&amp;#039;&amp;#039; auf den Wert &amp;#039;&amp;#039;classifier&amp;#039;&amp;#039; gesetzt wurde.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:UML-Spracheinheit]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Rote4132</name></author>
	</entry>
</feed>