Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich würde gerne wissen, was für Datentypen UML

z.B. durch Klassendiagramme darstellen kann ?

Speziell Datentypen der Sprache ASN.1 möchte ich

gerne in UML darstellen lassen, nur wird in den

meisten UML Büchern kaum über Datentypen geredet,

sondern fast nur über Diagramme ...

VIELEN DANK im Voraus

Geschrieben

Du kannst jedem gefunden Attribut einer Klasse, seinen Datentyp, Initialwert, Zusicherung festlegen. Hierfür kannst du Standarddatentypen wie Int, String usw verwenden du kannst aber auch eigene Datentypen definieren. wie bsp. den Datentyp Postleitzahl der den Initialwert 00000 hat. Solltest du ein sogenantes UML-Case Tool benutzten kann es sein das du durch die Sprachauswahl auf die betreffenden Datentypen der Sprache festgelegt bist.

Hoffe das hilft Dir...ansonsten spezifiziere Deine Frage mal genauer

Lieben Gruß

Rumo

Geschrieben
... kannst aber auch eigene Datentypen definieren. wie bsp. den Datentyp Postleitzahl der den Initialwert 00000 hat.

Heisst das, dass ich einen eigenen Datentyp z.B. "Postleitzahl" definieren

kann mit einem eigenem Werteberech ?

Der Datentyp "Postleitzahl" soll kein Integertyp sein sondern ein selbst

kreierter!

Das ist also ohne Probleme möglich ?

Gibt ein UML zu SDL Compiler dabei keine Fehlermeldung aus, da ihm der

Datentyp nicht bekannt ist ?

Wie ist das mit Stereotypen ?

Was kann ich genau darunter verstehen (im Zusammenhang mir selbst

erstellten Datentypen) ?

Geschrieben

Die eigenen "Datentypen" sind der eigentliche Sinn der Objektorientierung und damit der Klassendiagramme von UML. Klassen sind nichts anderes als Deine "Datentypen", nur können sie mehr als die bekannten primitiven Datentypen (int, float, boolean), denn sie sind Objekte mit Eigenschaften und Verhalten.

Deine Postleitzahl wäre z.B. so eine Klasse mit der Eigenschaft "Wert". Dieser folgt bestimmten Regeln (5 numerische Zeichen, fester Wertebereich). Das Verhalten dieser Klasse könnte sein, den Wert zu übernehmen oder abzugeben (die typischen get- und set-Methoden, die auch den Inhalt prüfen und ggf. zurückweisen). Weiteres Verhalten einer Klasse Postleitzahl fällt mir im Moment zwar nicht ein, aber da gibt es bessere Beispielklassen (z.B. Auto).

An Deiner Stelle würde ich anfangen, bei Wikipedia die Grundlagen der Objektorientierten Programmierung zu lernen, dann kannst Du leichter bei UML einsteigen.

Peter

Geschrieben

Da man Datentypen durch Klassendiagramme definieren kann, würd ich

aber gerne noch wissen, warum Stereotypen existieren.

Eigene Datentypen kann man doch ganz normal durch eine Klasse in einem

Klassendiagramm erstellen (Mit einem Rechteck und Attributen innnerhalb

des Rechtecks).

Wofür dann Stereotypen nutzen ?

Versteh nur den Sinn & Zweck des Stereotyps noch nicht.

Hab im Wiki gelesen, bin aber nicht schlauer geworden.

Prinzipiell kann eine Klasse doch dasselbe.

Warum braucht dieses Beispiel das Schlüsselwort <<stereotype>> ?

Kann mir jmd ein gutes Beispiel geben, um die Existenz von Stereotypen

zu begründen ?

Geschrieben

Servus,

das Beispielbild von Dir macht keinen Sinn, da es angibt, die "Einheit" Organisationseinheit wäre ein Stereotype. Ich mach mal ein kleines Beispiel:

Du hast in Deinem Projekt Datenklassen (Objekte, die Daten haben und get- und set-Methoden anbieten, aber keine eigentliche Geschäftslogik). Wenn Du jetzt eine Klasse Person in UML anlegst, dann ist das eine Klasse. Gibst Du ihr das Stereotyp "DataObject" (<<DataObject>>) und definierst woanders, was ein DataObject ist (nämlich nur eine "Transporthülle", um Daten von A nach B zu bringen), dann ist für jeden Leser klar, was Klassen sind, die das Stereotyp <<DataObject>> haben. Du bringst also Metadaten innerhalb der Definition Deiner "Elemente" unter, die über die eigentliche Aussagekraft von Standard-UML hinausgehen.

In Java gibt es seit der Version 5 die Möglichkeit, mit Annotations so etwas in der Art zu machen. Da wird aus einer einfachen Klasse Person mit der Annotation @Entity plötzlich eine EntityBean. Die Klasse ist immer noch die selbe, aber der Leser und - noch wichtiger - beteiligte Komponenten in der Software - wissen, das es sich um ein Objekt handelt, das Datenbanktupel abbildet.

Ich hoffe, das macht es etwas klarer

Peter

Geschrieben

Bedeutet das, dass bei der Klasse Person mit dem Stereotyp <<DataObject>>

zu den bereits in der Klasse Person definierten Datentypen zusätzlich

die in der Klasse DataObject definirten Datentypen hinzukommen ?

Das heisst, wenn die Klasse Person 3 Datentypen beinhaltet, und die Klasse

DataObject 2, dann beinhaltet die Klasse Person mit dem Stereotyp <<DataObject>> insgesamt 5 Datentypen ?

Verstehe aber immer noch nicht, wieso Stereotypen existieren.

Man definiere eine Klassen, dann noch eine zweite Klasse die von

der ersten Klasse erbt ...

Wozu dann noch Stereotypen ?

(Habs wohl immer noch nicht geschnallt .. :( )

Geschrieben

Klotzkopp hats schon richtig gesagt, es geht um Metainformationen, also um Informationen, die nichts mit der "Syntax" der Klasse zu tun haben. Ein Stereotyp hat keine Attribute und auch kein Verhalten, sondern es ist eine Beschreibung für einen bestimmten Typ.

Nochmal ein Beispiel (nicht formal, sondern so, wie ich es machen würde):

Stereotyp DataObject: contains attributes with its get- and set-methods to transfer data between client and server.

Diese Beschreibung ist alles. Du als Entwickler weisst, wenn Du die Beschreibung kennst, was ein DataObject ist. Du kannst Stereotypen auch nicht im Code abbilden - ausser, die Sprache kennt Metainformationen wie z.B. Java mit seinen Annotations. Versuche, das Prinzip von Metainformationen zu verstehen, dann hast Du den Stereotypen gerafft.

Peter

Geschrieben
Ein Stereotyp hat keine Attribute

Im Wiki steht aber folgendes :

Ein Stereotyp ist eine spezielle Klasse. Um ihn von anderen Klassen zu unterscheiden, wird er mit dem Schlüsselwort «stereotype» markiert. Wie jede Klasse kann er über Attribute verfügen, die bei Stereotypen jedoch auch als Eigenschaftsdefinitionen (engl. tag definition) bezeichnet werden.

Hab jetzt ungefähr verstanden wofür Stereotypen genutzt werden, da ich

nachgeschaut habe, was Metainformationen sind. Stereotypen sind nur zur

Beschreibung von Klassen und Datentypen dar, die für den Leser hilfreich sind,

also sind Stereotypen sogar mit Kommentaren vergleichbar.

Den Einsatz von Stereotypen in der Praksis würde ich gern noch besser

verdeutlicht haben.

@kingofbrain : In deinem Beispiel ist der Stereptyp <<DataObject>>

folgendermaßen definiert worden :

Stereotyp DataObject: contains attributes with its get- and set-methods to transfer data between client and server.

Diese Beschreibung hinter dem Doppelpunkt von DataObject ist aber ein

ganzer Satz, den ich eher als Kommentar verstehen würde. Inhaltlich

habe ich zwar verstanden was DataObject für eine Eigenschaft beschreibt,

würde aber gerne noch wissen wollen wie man diesen Stereotyp

in einem UML2 Klassendiagramm darstellt und definiert.

Einfach ganze Sätze in das Rechteck setzen ?

Geschrieben

Servus,

wie das in UML2 notiert wird, kann ich Dir nicht sagen, da ich Klassendiagramme eigentlich nur als Scribbles verwende und zur Team-Kommunikation, um kurz Sachverhalte zu veranschaulichen. Da müsstest Du Dir die Spezifikation genauer anschauen.

Aber aus der Praxis kann ich Dir sagen, wenn Du das zur Veranschaulichung brauchst und nicht für eine Prüfung, dann solltest Du Dir aus dem UML-Standard ein Subset an Notationen für Deine Verwendung rausnehmen. Was Du nicht brauchst, kannst Du prinzipiell auch vergessen. Den Rest machen wir hier über Freitexterklärungen usw. Das ist auch kein Problem, da unsere UML-Software ein Whiteboard ist, das im Büro hängt. :)

EDIT: Ach ja, das mit den Attributen. Das kenne ich von meinem Stereotypenverständnis her nicht, macht aber prinzipiell keinen Unterschied. Man kann das dann so auffassen, das ein Stereotyp gleich eine Superhierarchie mitbringt. Im Beispiel DataObject ist das evtl. die ID, da die in jedem DataObject vorhanden ist. Ich würde hier zwar in UML eine Superklasse definieren, die das Stereotyp (also die Metainformation) DataObject hat, aber das ist wahrscheinlich Geschmackssache.

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...