Ex 9 Task 3

ArVee
Neuling
Neuling
Beiträge: 7
Registriert: 11. Nov 2007 19:13

Ex 9 Task 3

Beitrag von ArVee »

Hallo,

wir haben eine Frage zur Aufgabe 3:
Welche Zyklen sollen aufgelöst werden?

Wir können keine erkennen... Wie in den Slides zur Übung zu sehen (S.35), gehen alle Abhängigkeitspfeile zwischen den Packages von oben nach unten bzw. auf derselben Ebene. Einen Zyklus gibt es nicht.

Soll man für diese Feststellung 0.75h brauchen oder haben wir was übersehen? :)

Benutzeravatar
dinkelaker
Mausschubser
Mausschubser
Beiträge: 72
Registriert: 9. Okt 2007 10:35

Re: Ex 9 Task 3

Beitrag von dinkelaker »

Hallo,

Nach Bearbeitung von Aufgabe 2 muss es nicht unbedingt zu Zyklen kommen.
Wenn ihr das CCP jedoch konsequent angewendet habt, dann entstehen höchst wahrscheinlich Zyklen.

Kann aber durchaus bei euch der Fall sein, dass ihr keine Zyklen habt.
Nur dann ist sehr wahrscheinlich, dass ihr entweder das CCP nicht korrekt angewendet habt,
oder auch dass ihr mehr in Aufgabe 2 gemacht habt als gefordert war.
Vielleicht habt ihr ja in dem Ihr durch direkte Änderungen im Code, die Zyklen schon aufgelöst,
obwohl Programmieren in Aufgabe 2 nicht erforderlich ist (nur Eclipse Refactorings).

Stellt Euch nochmal die Fragen, ob Aufageb 2 dem CCP gemäß angegangen wurde:
-Was passiert in Eurem Package-Design, wenn sich das Feature HourlyClassification auf Minuten statt Stunden ändert.
Dann muss bestimmt die Klasse HourlyClassification angepast werden, aber welche Klassen sind von dieser Klasse abhängig?
Sind alle abhängigen Klassen in einem Package? Wenn nein, dann folgt aus dem CCP, dass dieses Package und vielleicht auch andere Packages umgestaltet werden müssen.

Das CCP ist ggf. mehrmals anzuwenden, bis die Package Struktur nicht mehr "weiter zerbricht".

Man kann auch zu viele kleine Package haben. Dann wird auch die Wahrscheinlichkeit, dass man Zyklen zwischen Package bekommt geringer.
Im extrem Fall würde eine Zerlegung so aussehen, dass es eine Klasse pro Package gibt. In diesem Fall, gäbe es genau dann keine Zyklen, wenn die Klassen keine zyklischen Abhängikeiten untereinander haben.
Allerdings würde das Package-Design in einem solchen Fall bestimmt gegen das CCP verstoßen. Z.B. Wenn sich HourlyClassification ändert, dann ändert sich bestimmt auch AddHourlyEmployee. Diese zwei Klassen in unserem Fall aber in einzelnen Package, was beim CCP zu einer Verletzung führt, da eine Änderung sich auf mehrere Packages auswirkt.

Gruß, Tom

ArVee
Neuling
Neuling
Beiträge: 7
Registriert: 11. Nov 2007 19:13

Re: Ex 9 Task 3

Beitrag von ArVee »

Ok, die Frage kam auf, bevor wir Aufgabe 2 gemacht hatten ;)

Nach Bearbeitung der Aufgabe 2 haben wir auch Zyklen (glaub ich).

Allerdings tun sich jetzt andere Fragen auf:
Wie erkenne ich in ispace einen Zyklus?

Ich dachte eigentlich, wenn rote Pfeile im Kreis zeigen. Aber was genau bedeutet ein roter Pfeil? (In der "Dokumentation" konnte ich dazu keine Info finden) Je nachdem, in welche Packages wir die Klassen stecken, kommt es nämlich vor, dass ein Package einen eingehenden roten Pfeil hat, aber keinen ausgehenden mehr. Wie soll das ein Zyklus sein?

Und wenn man auf die roten Pfeile dann "Drill down at source and target" macht, bleiben keine roten Pfeile mehr übrig, einen Zyklus finden wir aber trotzdem nicht mehr...

maikg2
Mausschubser
Mausschubser
Beiträge: 95
Registriert: 18. Okt 2005 22:29
Wohnort: Darmstadt

Re: Ex 9 Task 3

Beitrag von maikg2 »

ArVee hat geschrieben:Wie erkenne ich in ispace einen Zyklus?
Ich dachte eigentlich, wenn rote Pfeile im Kreis zeigen.
Ja, Zyklen werden durch rote Pfeile verdeutlicht.
ArVee hat geschrieben:Je nachdem, in welche Packages wir die Klassen stecken, kommt es nämlich vor, dass ein Package einen eingehenden roten Pfeil hat, aber keinen ausgehenden mehr. Wie soll das ein Zyklus sein?
Es kann passieren, dass beim Klasse verschieben, ispace nicht mehr alles neu zeichnet. Wenn man dann "Do Layout" wählt, zeichnet ispace alles nochmal neu und die Pfeile müssten stimmen.

Antworten

Zurück zu „Archiv“