PDA

View Full Version : [Frage] übung 4 aufgabe 3


Da Charli
18-12-2003, 01:28
hat shon jemand etwas zu diesem bsp?

wescht
18-12-2003, 18:20
hat das schon jemand re-engineered?
bei mir laeuf rose naemlich nicht, deshalb faend ich das kewl, wenn jemand das posten koennte, was dabei raus kommt. ohne rose scheint das beispiel ja nicht zu bewaeltigen zu sein.

Myself
19-12-2003, 02:33
hier mal mein vorläufiges klassendiagramm

Snigo
19-12-2003, 12:52
Wie ist das mit Exam e und Student s beim Sequenzdiagramm, die werden ja erst im Kontext vom Manager Objekt erzeugt und dann wird ihnen der return Wert von den find Operationen zugewiesen.

Muss man dass im Diagramm nicht berücksichtigen. Daher Objekt Manager erstellt das Objekt Exam e dann ruft es find auf der Liste _exams auf und der Rückgabewert dieser funktioniert geht dann zuerst zum Objekt Exam e und dann wieder zum Manager zurück.

Oder reicht es, so wie es MySelf gemacht hat, einfach anzunehmen dass das Objekt (Exam e) die ganze Zeit schon da ist.

@Klassendiagramm
Sollen wir die Multiplizitäten auch noch einzeichnen oder einfach das Reverse Engineerte Klassendiagramm von rose 1:1 übernehmen?

Da Charli
19-12-2003, 14:08
könnte bitte jemand das reverse engineering klassendiagramm posten??
ich habe rose nicht und kann es mir auch nicht runterladen, da es zu groß ist!


danke

Shine
19-12-2003, 14:53
also das beispiel ist ohne rose auch net so das problem du musst im prinzip eh nur die methodenköpfe abschreiben und in die klassen als methoden geben..

bei den attributen muss ma halt noch drauf achten was in der angabe steht, aber sonst, mit dem rose erspart man sich sicher nur tipparbeit, ich denke das kompliziertere die assoziationen zwischen den klassen muss ma eh selber machen

mfg Shine

Da Charli
19-12-2003, 16:20
ok, ich habe den code jetzt manuell ins visio umgesetzt, und habe auch das selbe klassendiagramm wie myself bekommen. nur weiß ich nicht, wie ich die assoziationen benennen soll!

andras98
19-12-2003, 17:26
hi,

also wenn man das beispiel mit rose importiert und dann per drag and drop "rueberzieht" dann macht der doch eigentlich eh schon (fast) alles.
jetzt sieht man wenigstens was das ding alles kann :thumb:

lg,
andreas

J.Petso
19-12-2003, 19:24
Soll ich wirklich die Assoziationen benennen? das bringt doch nichts.

Und die Exam- bzw. Student-Objekte kannst du annehmen, dass sie schon da sind, weil das immerhin sogar in der Angabe steht.

Mein reverse-engineertes Klassendiagramm und das sequenzielle schauen übrigens so aus. Man möge mir die Bildskalierung entschuldigen, ich hab sie nicht größer raufladen dürfen.

Seppi
20-12-2003, 19:13
find vom Exam weg kann man doch auslassen oder?
In der ANgabe steht, das man Methoden die mit einem _ beginnen nicht berücksichtigen brauchen.
Komisch ist nur, dass der Aufruf im Exam ganz normal find heißt und im ListOfRegistrations steht überall ein _ davor

Thousand
21-12-2003, 12:46
@Petso

mein diagramm schaut fast genauso aus wie deins, nur 2 Sachen:

1. Die Namen der beiden ersten find() Aufrufe (an students und an exams) haben im Code schon definierte Namen (s und e), ich würde diese beim return verwenden und keine neuen erfinden

2. Bei deinem _registrations.find() wird null zurückgegeben, dabei sollte doch != null zurückgegeben werden

@Seppi

es gibt sowohl eine _find() als auch eine find() Methode. Die _find() wird nur intern verwendet um den Index des Objekts im Array zu finden und soll nicht modelliert werden. Die find() hingegen wird von außen aufgerufen und soll modelliert werden.

Seppi
21-12-2003, 12:53
steht nicht links vom : der Name des Objekts und rechts vom : der Klassenname?

Thousand
21-12-2003, 12:54
Hier ist mal meine derzeitige Lösung:

Class Diagram (http://stud4.tuwien.ac.at/~e0025867/bsp4_3_cl.jpg)
Sequence Diagram (http://stud4.tuwien.ac.at/~e0025867/bsp4_3_seq.jpg)

Seppi
21-12-2003, 13:00
Dein Klassendiagramm schaut sehr gut aus!

Ich wollte bei den vorherigen eh schon Fragen wie ihr die Kardinalität an beiden Enden der Assoziation bestimmt habts, weil eigentlich kann man nur aus dem Sourcecode die Kardinalität von der Assoziationsrichtung rauslesen. Alles andere wäre Interpretation.

Thousand
21-12-2003, 13:03
Ich habs einfach so gemacht: kein Array: Kardinalität 1, Array: Kardinalität 0..n

Alles andere darüber hinaus wäre imho reine Spekulation (wie du schon gesagt hast)

Seppi
21-12-2003, 13:51
was schreibt man beim return wert rein? Den Variablennamen der zurückgegeben wird oder?

Ich würde im return schreiben
return(_list[i])

sebus
21-12-2003, 19:12
Arghl, blödsinn sorry - sollte lieber denken bevor ich poste

Der Methodenaufruf ist natürlich find() und da steht das "_" ja nicht davor - sorry.

zum Sequenzdiagramm noch eine kleine Frage @J.Petso:
Warum machst du die Überprüfung ob der Student bereits registriert ist? Dieser Methodenaufruf beginnt doch mit einem "_": d.h. nach angabe muss man das nicht berücksichtigen oder?
if(_registrations.find(s) != null) return false; // already registered
Ist aber wahrscheinlich wurscht, halt Fleißarbeit denk ich.
derSeb