1. Ein Bekannter erzählt Ihnen, er mache sich nicht die Mühe, lange über die Sichtbarkeiten von Methoden und Attributen einer Klasse nachzudenken. Er setze die Sichtbarkeit kurzer Hand immer auf public.
Was halten Sie von diesem Vorgehen? Begründen Sie bitte Ihre Antwort.
2. Was drückt das folgende Klassendiagramm aus? Welche Beziehungen bestehen zwischen den Klassen „Gebäude“ und „Zimmer“ beziehungsweise zwischen den Klassen
„Gebäude“ und „Wand“?
Abb. I.1: Klassendiagramm
3. Welche Informationen liefert Ihnen die folgende Beschreibung einer Methode aus einem Klassendiagramm?
+ sucheTreffer(fNr: Integer = 10, mNr: Integer): Boolean
4. In einem System werden zwei unterschiedliche Server-Typen (Typ A und Typ B) und ein Client-Typ eingesetzt. Der Server-Typ A steht nur mit dem Server-Typ B in Verbindung, nicht aber mit den Clients. Die Clients kommen mindestens 25 Mal vor, die beiden Server-Typen je genau dreimal. Eine obere Grenze für die Clients gibt es nicht. Die Verbindungen werden über das lokale Netzwerk hergestellt. Erstellen Sie ein Verteilungsdiagramm für dieses System.
5. Stellen Sie das Internet in einem Verteilungsdiagramm dar. Sie müssen dabei nur zwei Rechnertypen darstellen: die Clients und die Server. Verwenden Sie als Verbindungstyp <internet>>.
Ein Tipp:
Das Verteilungs-Diagramm ist recht klein und enthält nur zwei Knotentypen.
Wichtig ist die Multiplizität
6. In einem System sollen die Schichten einer Software auf mehrere Computer verteilt werden. Es gibt lediglich einen Server, der schon sehr stark ausgelastet ist. Die Anwendung muss in jedem Fall mit einer zentralen Datenbasis für alle Clients arbeiten.
Welche Art der Verteilung wählen Sie, um den Server möglichst wenig zu belasten und gleichzeitig eine gemeinsamen Zugriff auf die Daten zu ermöglichen?
7. Die folgenden Zeilen beschreiben umgangssprachlich einen Programmablauf in einzelnen Anweisungen. Analysieren Sie die Anweisungen und stellen Sie sie dann in einer lesbareren Form dar. Berücksichtigen Sie dabei die Richtlinien zur lesbaren und
verständlichen Darstellung von Quelltexten.
{ Zahl1 einlesen; Zahl2 einlesen; Wenn Zahl1 > 10 dann Zahl1 um 20 erhöhen; Sonst Zahl1 und Zahl2 addieren; Ergebnis ausgeben; Meldung „Programmende“ ausgeben }
8. Sie haben für eine Anwendung im Entwurf ein vollständiges Klassendiagramm erstellt. Weitere Dokumente liegen nicht vor. Lässt sich aus diesem Klassendiagramm automatisch der vollständige Code einer Methode mit sämtlichen Anweisungen erzeugen? Begründen Sie bitte Ihre Antwort.