Java-Code in UML 2.0

Status
Nicht offen für weitere Antworten.

Jayman

Bekanntes Mitglied
Hallo,
ich muss einen gegebenen Code in UML 2.0 umwandeln. Also mit dieser Blockstruktur.
Ich hoffe jemand kennt das, und kann mir sagen ob ich es richtig gemacht habe:



Ich habe folgendes raus:

Account
---------

- runningTotal : double
- accountHolder : String

----------

+Account ()
+Account (in accountHolder: String, in openingBalance : double) : double
+getRunningTotal (): double
+deposit (in amount : double) : double
+debit (in amount : double) : double
+getAccountHolder () : String
+setAccountHolder (in accountHolder : String) : String


-> Ist meine Ausflistung korrekt?
Danke im Vorraus.
 
Du kannst dir mit entsprechenden Tools auch einfach ein Diagramm aus bestehendem Code erzeugen lassen :wink:
 
OK,
habe mir das installiert.
Weiß du, wie ich von Eclipse aus ein solches Programm in ein UML-Diagramm umwandeln kann?
 
Dann habe ich wohl etwas falsch gemacht. Dachte man kann ein Programm von Eclipse aus zu solch einem UML Diagramm machen.Hast Du denn das Programm?
 
eUML ist ein Eclipse Plugin. D.h. es integriert sich in Eclipse und damit kannst du dann Diagramme erzeugen.
 
Danke,
ich habe das ausgeführt und erhalte das:

th_68323_Unbenannt_122_929lo.JPG


-> mein Problem ist, dass ich nicht sehen kann was in zB Account() steht. wie kann ich 'alles' ausgeben?
 
Das ist mit Sicherheit eine Einstellungssache.
Wahrscheinlich werden die Parameter versteckt.
Klick dich mal durch die Einstellungsmöglichkeiten oder lese dich in die Hilfe/Dokumentation ein.
 
Hmm, alles auf englisch...
Naja, ich sehe ja etwas mehr jetzt. Z.B. die 2. Klasse Account, kann dann meines richtig sein:

+Account (in accountHolder: String, in openingBalance : double) : double

ich meine vor allem das Ende, mit dem Doppelpunkt double. Ist das korrekt, dass die Klasse ein 'double' liefert?
 
Stimmt denn das in meinem ersten Beitrag?
Ich denke, wir werden den Umgang demnächst gezeigt bekommen mit der Eclipse-UML-Bedienung.
 
Ok,
das hilft mir.
Also,


Liefert es das?!

Account
---------

- runningTotal : double
- accountHolder : String

----------

+Account ()
+Account (in accountHolder: String, in openingBalance : double)
+getRunningTotal (): double
+deposit (in amount : double)
+debit (in amount : double)
+getAccountHolder () : String
+setAccountHolder (in accountHolder : String)

Sieht schon besser aus, hoffe ich.
 
Das stand in einem Beispiel.

Dann sollen wir auch noch zu dem folgenden Code ein UML-Objektdiagramm malen:

Code:
public class AccountApplication {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Account account = new Account("Hans Mustermann", 300.05);
		account.debit(100.00);
		account.deposit(200.00);

	}

}

Da schwimme ich.

Es müsste ja lauten:

AccountApplication
---------------------
+main(...)

-> wie soll ich die Klammer ausfüllen?!
 
Also, das habe ich als Beispiel bei einer Aufgabe, die umgekehrt zu lösen ist:



Zu meiner Aufgabe mit dem Code wollen sie:
Zeichnen Sie für folgenden Code ein UML 2.0 Objektdiagramm, welches den Zustand des Objektes
account nach Zeile7 wiedergibt.
Wird so ähnlich aussehen...

account : AccountApplication
--------------------------------

// Hier schwimme ich :autsch:
 
Also ein Objektdiagramm ist etwas anderes.
Du hast nur von UML 2.0 geredet und die meisten meinen damit ein Klassendiagramm.
Da musst du nochmal ran.
 
Ja, die eine Aufgabe war ein ´Klassendiagramm & die andere eben ein Objektdiagramm.
Gut, danke bislang werde mich daran versuchen.
 
Womit ich am meisten meine Probleme habe kann ich viell an dem gegebenen 'Beispiel' erläutern:



also:
Klasse ist ja SquareApplication, aber dann existiert ein Objekt der Klasse Square. (das ist ja das kleine square), aber weshalb sind es auf einmal 2 Klassen?!
 
Du sollst den Code schreiben der ein Objekt von Square erzeugt das zum Objektdiagramm passt.
Die Klasse Square ist vermutlich irgendwo gegeben?
 
OK,
ich meinte das auch in Bezug auf meine Aufgabe:
Zeichnen Sie für folgenden Code ein UML 2.0 Objektdiagramm, welches den Zustand des Objektes
account nach Zeile7 wiedergibt.


Code:
public class AccountApplication { 


   public static void main(String[] args) { 
      Account account = new Account("Hans Mustermann", 300.05); 
      account.debit(100.00); 
      account.deposit(200.00); 

   } 

}

Also:
account ist das Objekt.
Die Klasse ist AccountApplication.
Aber was ist dann das Account (Anfangsbuchstabe groß)?
 
[quoteJ
Also:
account ist das Objekt.
Die Klasse ist AccountApplication.
Aber was ist dann das Account (Anfangsbuchstabe groß)?[/quote]
Der Typ von account.
 
Gut,
müsste es dann so aussehen:

account : AccountApplication
---------------------------
????
debit : double = 100.00
deposit : double = 200.00


für mein UML-Objekdiagramm?
Über die Fragezeichen muss ich noch denken.
 
also auch?!
account : Account
---------------------------
????
debit : Account = 100.00
deposit : Account = 200.00

oder bleibt es beim double?!
 
"Nein es stimmt nicht kurz gesagt - eine Klasse hat kein Rückgabetyp, wie auch... ein Objekt besitzt immer einen konkreten Zustand - da muss dann nix mehr zurückgegeben werden... normale Methoden besitzen Rückgabetypen, Konstruktoren sind noch nicht einmal implizit void, sie erzeugen ja mehr oder weniger ein Objekt der Klasse mittels new-Operator, daher wird bei uml dort auch nix angegeben mit :"

edit:
oh mann... ich hab etwas gelagged 😉 - sorry...
 
Du hast da zwei Klassen - einmal AccountApplication und Account. Account ist das interessantere - in der Application wird nur ein Account-Objekt erstellt und darauf zugegriffen. Dementsprechend sind die Methoden von Account so wie von dir angegeben - ob sie allerdings was zurückgeben, kann man in dem Beispiel gar nicht sehen.
In dem Objektdiagramm malt man aber eigentlich auch anders als im Klassendiagramm nicht die Methoden der Klasse... die Methoden gehören ja halt der Klasse und kennzeichnen nicht den Zustand eines beliebigen Objekts dieser Klasse... wenn du die Methoden debit und deposit aufrufst, dann kannst du im Prinzip nur raten und behaupten, dass ein Feld namens amount nach den Methodenaufrufen auf 400.05 steht. Es sei denn, du hast den Code für die Methoden auch vor dir liegen.
 
Nein, wie gesagt ich habe nur das gegeben:

Zeichnen Sie für folgenden Code ein UML 2.0 Objektdiagramm, welches den Zustand des Objektes
account nach Zeile7 wiedergibt.


Code:
public class AccountApplication { 


   public static void main(String[] args) { 
      Account account = new Account("Hans Mustermann", 300.05); 
      account.debit(100.00); 
      account.deposit(200.00); 

   } 

}

mehr nicht.
Wie sieht dann das Objektdiagramm aus?
 
Naja du kannst nur Aussagen über den Zustand von Account machen und eigentlich nur raten, weil du die Implementierung von debit und deposit nicht kennst - daher evtl. so:

account : Account
---------------------
name = "Hans Mustermann"
amount = 400.05


Ich glaub die Angabe des jeweiligen Typs im OD ist optional...
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben