Zum Inhalt springen

Unterschied UML OOD OOA


tomekdomek

Empfohlene Beiträge

Hallo kann mir mal jemand sagen wie diese drei Begriffe OOD,OOA,und UML im Zusammenhang stehen!

Ich habe es bis jetzt so in der Schule verstanden, dass man mithilfe der UML die OOD oder OOA darstellt.

Der Unterschied bei OOD und OOA ist, dass die OOD spezifischer ist sprich, dass in dem UML Diagramm eben noch der Rückgabewert der MEthoden enthalten ist und eben die Datentypen der Atrribute!

->so wurde es in der Schule dargestllt->jetzt bin ich aber im Internet unterwegs und dies deckt sich irgendwie nicht mit dem was ich gelernt habe!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von tomekdomek

jetzt bin ich aber im Internet unterwegs und dies deckt sich irgendwie nicht mit dem was ich gelernt habe!

Jo, das stimmt auch so nicht!

Die Erstellung von objekt-orientierten Programmen besteht aus folgenden Schritten

1. Objekt-orientierte Analyse (OOA)

= die Überlegung, aus welchen Objekten und Klassen eine Aufgabenstellung besteht, und welche Eigenschaften und Aktionen diese Objekte haben - vorerst noch unabhängig von der verwendeten Programmiersprache,

2. Objekt-orientiertes Design (OOD)

das Konzept, wie das Ergebnis der Objekt-orientierten Analyse am besten in einer bestimmten Programmiersprache realisiert werden kann,

3. Objekt-orientierte Programmierung (OOP)

das Schreiben der Programme, in denen die Eigenschaften und Aktionen der Objekte bzw. der Klassen von Objekten festgelegt werden.

Quelle: http://www.boku.ac.at/javaeinf/jein1.html#object

UML bietet für 1 und 2 eigene Diagrammtypen.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Perfekt danke!

Was meinst du dass die UML für beide Varianten was bietet?Wie ist das gemeint!

Meinst du damit eben was ich gesagt, habe mit den Rückgabewerten usw. eben ein bisschen mehr spezifisch?

Dann wäre es noch interessant zu wissen welches Zeichen für protected benutzt wird!

+public,-private,#protected?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von tomekdomek

Perfekt danke!

Was meinst du dass die UML für beide Varianten was bietet?Wie ist das gemeint!

Meinst du damit eben was ich gesagt, habe mit den Rückgabewerten usw. eben ein bisschen mehr spezifisch?

Dann wäre es noch interessant zu wissen welches Zeichen für protected benutzt wird!

+public,-private,#protected?

Es gibt verschiedene Arten von UML-Diagrammen:

-Klassendiagramm (Beziehungen der Klassen untereinander)

-Use-Cases (Anwendungsfälle, ist eher was für OOA)

-Sequence Diagram (Ablaufdiagramme, wann wird welches Objekt verwendet)

-Collaboration Diagram (Welche Objekte Arbeiten zusammen)

...

Das weiter auszuführen, würde etwas länger dauern. Wenn du dich tiefgehender mit der UML auseinandersetzen willst kann ich dir das Buch von Bernd Oesterreicher "Objektorientiertes Design mit UML" empfehlen.

(Bin mir mit dem Buchtitel nicht ganz sicher, habs grad nicht zur Hand)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gut das habe ich auch gelesen, dass die UML viele verschiedene DIagramme zur verfügung stellt!Für die Prüfung ist wahrscheinlich nur das Klssendiagramm von Bedeutung! Jetzt da ich einen Schritt weiter bin will ich meine vorherige Aussage als Frage stellen! Hmm und zwar wenn ich jetzt so ein Diagramm male bzw. zeichne packe ich da die Rückgabewerte rein oder nicht sprich:

------------------

Kunde |

------------------

- name:string |

.

.

.

oder würdet ihr das weglassen->genauso wie die Rückgabewerte der Funktion???

Oder ist es von irgendetwas abhängig?Wenn ja wovon?

Ist das mit den Rückgabewerten schon eher auf die Programmiersprache bezogen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die UML kennt - soe weit ich weiß - eigene Datentypen, die programmiersprachenunabhängig sind:

integer

real (= double)

string

boolean

Es ist durchaus üblich die Datentypen von Eigenschaften, Parametern und Funktionen in einem Klassendiagramm mit anzugeben. Die Frage ist jedoch eher, ob das so detailliert in der Prüfung gefordert wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aha!

Und dann wäre es noch für mich intererssant zu wiisen, ob diese horizontale Linie die Methoden von den Atritbuten trennt oder ob diese Linie den Zugriff trennt sprich private,protected,public!

Meiner Meinung nach müssten es aber die Mthoden sein, die sie trennt!

---------------------

auto

----------------------

- farbe

#laenge

+geschwindigkeit

-----------------------

- fahren

+bremsen

-----------------------

unabhängig vom Sinn und Unsinn Funktionen Private zu machen usw-> ist dies doch richtig oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, diese Linien trennen Klassennamen, Attribute und Methoden.

Ich erstelle auch häufig Klassendiagramme und schreibe so gut wie nie die Rückgabewerte oder Parameter mit rein. Sowas könnte man z.B. in einem Sequenzdiagramm besser verdeutlichen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

hab hier die Diskussion über UML gelesen.

So jetzt ein paar Tipps zu UML:

1. Ob man in Klassendiagrammen Zugriffsrechte und Signatur der Methoden mit angibt hängt davon ab, in welcher Phase man sich befindet.

Z.B: bei den Zugriffsrechten: schreibt man sie nicht hin, bedeutet dies automatisch, dass Atrribute private und Methoden public sind.

Bei der OOA könnte man die Signatur weglassen, weil es eine rein fachliche Ausarbeitung ist, also wie kann ich das Problem fachlich mit UML darstellen.

Hier ist es wichtiger sprechende Namen für die Methoden und Attribute zu finden.

Bei der OOD sollte man dann die Signatur angeben, weil man das Ergebnis aus der OOA softwaretechnisch dann darstellt.

Aber ich schätze solche Dinge sind eher unrelevant für die Prüfung. Ich denke, es reicht, wenn man mit UML speziell mit Klassendiagrammen umgehen kann.

Und Begriffe wie : Vererbung, Polymorphie, Komposition, Aggregation, Assoziation usw. mit UML darstellen und erläutern kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo nochmal!

ich habe noch eine Frage bezüglich der Assosziationenn bei der UML (Klassendiagramm) und zwar!

Man liest ja im Gegenstaz zum ER Modell in Pfeilrichtig bzw. eine Richtung !

Wie liest man bei der ungerichteten Assosziation?

Kann man auch Pfeile in beide Richtung machen!

Denn z.B. Kunde und Bestellung kann man ja in beide Richtungen lesen! Kunden machen Bestellungen und eine Bestellung gehört zu einem Kunden!

Wie wird das im UML dargestellt!

Doppelpfeil in beide Richtungen? Mein Lehrer meinte, dass es soetwas nicht gibt!

Und eine ungerichtete Assozistion mit Kardinalitäten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Wie liest man bei der ungerichteten Assosziation?

Kann man auch Pfeile in beide Richtung machen!

Meines Wissens ist eine ungerichtete Assoziation das gleiche, wie eine zu beiden Seiten gerichtete. Man spart sich einfach nur die Pfeile. Würde eine ungerichtete Ass. nämlich keine Richtung bedeueten, so könnte man sie ja auch weglassen.

Und eine ungerichtete Assozistion mit Kardinalitäten?

Genau wie bei gerichteten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...