View Full Version : [Frage] übung 4 aufgabe 3
Da Charli
18-12-2003, 01:28
hat shon jemand etwas zu diesem bsp?
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.
hier mal mein vorläufiges klassendiagramm
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
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
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.
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.
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)
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)
was schreibt man beim return wert rein? Den Variablennamen der zurückgegeben wird oder?
Ich würde im return schreiben
return(_list[i])
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
vBulletin® v3.7.1, Copyright ©2000-2008, Jelsoft Enterprises Ltd.