0 Daumen
413 Aufrufe

Frage:

Das folgende UML Klassendiagramm modelliert ein Logistikzentrum, in dem Pakete
gesammelt werden, die es zu versenden gilt. Beim HinzufĂŒgen neuer Pakete wird die
maximale PaketlÀnge zwischengespeichert. Diese wird benötigt, wenn bei vollem
Lager ein Lieferwagen gerufen wird.

Hinweis: Nachdem ein Paket in der Klasse Logistikzentrum hinzugefĂŒgt wurde, existieren keine
externen Referenzen mehr auf das Objekt. Dies wurde Ihnen zugesichert und darf als gegeben
vorausgesetzt werden.

modellierungbild.PNG

Text erkannt:

\begin{tabular}{|l|}
\hline
\end{tabular}


Beschreiben Sie kurz ein Problem, das hinsichtlich der privaten Sichtbarkeit des Attributs
pakete in der Klasse Logistikzentrum besteht.

Hat jemand eine Idee, was das Problem ist?

von

1 Antwort

0 Daumen
 
Beste Antwort

Es können keine Pakete aus dem Logistikzentrum entfernt werden.

Grund ist, dass das Attribut pakete privat ist und es keine Methode zum Entfernen von Paketen aus dem Logistikzentrum gibt.

von 5,4 k

Hm, ich habe in der b) eine Verbesserungsmöglichkeit gegeben, die aber auf etwas komplett anderes eingeht und die es zu bewerten gilt. Ich glaube, es hat irgendwas mit der PaketlÀnge zu tun, also dass da was nicht richtig modelliert ist.modell3.PNG

Hm, ich habe in der b)

Ich weiß nicht, was b) ist.

eine Verbesserungsmöglichkeit gegeben,

Es gibt einige Probleme. Du hast aber nach den Problemen gefragt, die hinsichtlich der privaten Sichtbarkeit des Attributs pakete in der Klasse Logistikzentrum bestehen.

Ach so das hab ich nicht genau genug formuliert.

Die b) also das Bild was ich hier noch hinzugefĂŒgt habe, soll ein Lösungsvorschlag sein, fĂŒr das Problem bzgl. der Sichtbarkeit und man soll bewerten, wie gut der Vorschlag ist.

Wenn wirklich das Entfernen der Pakete das Problem ist, dann wĂŒrde diese VerĂ€nderung ja aber nicht helfen. Das verwundert mich nur.

Der Lösungsvorschlag beseitigt ein anderes Problem, nĂ€mlich dass in der ursprĂŒnglichen Modellierung die Abmessungen der Pakete geĂ€ndert werden konnten ohne dass das Logistikzentrum davon erfahren hat. Das ist ein Problem weil:

Beim HinzufĂŒgen neuer Pakete wird die maximale PaketlĂ€nge zwischengespeichert. Diese wird benötigt, wenn bei vollem Lager ein Lieferwagen gerufen wird.

Deshalb muss das Logistikzentrum ĂŒber Änderungen der Abmessungen von Paketen informiert werden.

Eine andere Lösung wĂ€re, die Methoden fĂŒr die Änderungen der Abmessungen zu entfernen und die Abmessungen mittels des Konstruktors anzugeben.

Eine dirtte Möglichkeit ist, dass das Paket weiß, in welchem Logistikzentrum es sich befindet, so dass es bei Änderungen der Abmessungen das Logistikzentrum benachrichtigen kann.

Das hat aber nichts mit der Sichtbarkeit des Attributs pakete zu tun.

Okay, vielen Dank! :)

Das hat wirklich geholfen. Da bei der c) auch nochmal Code ist, der versucht, das Problem mit den PaketlĂ€ngen verĂ€ndern zu beheben, ist da scheinbar wirklich das Problem gemeint. Sonst wĂŒrde beide ja keinen Bezug auf die a) nehmen und das macht keinen Sinn.

Vielleicht meinen die damit, dass die Liste mit Paketen ja privat ist, d.h. eigentlich sollte man von außerhalb keinen Zugriff darauf haben. Aber da bei getPaket das Paket ja ausgegeben wird, ist die Sichtbarkeit von pakete völlig egal, da man sich mit getPaket jedes beliebige Paket ja geben lassen kann und dann auch verĂ€ndern kann dann ĂŒber die set Methoden.

Ist vermutlich schlecht formuliert.

Aber nochmal Danke dafĂŒr, das hat beim VerstĂ€ndnis sehr geholfen :)

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort
0 Daumen
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community