/
Probeprüfungen Klassendiagramme

Probeprüfungen Klassendiagramme

Aufgabe: Übungen Klassendiagramm

Auftrag 1: Klasse mit Attributen

 

Lernziele

Aus einem Dokument Klassen und Attribute erkennen.

Klassen und Attribute korrekt in UML Klassendiagramm modellieren.

Ausgangslage

Sie erhalten das nachfolgende Dokument für eine Dokumentenanalyse:

Seminaranmeldung

Ich melde mich für folgendes Seminar an:

Seminar-Nr.: 101

Seminarbezeichnung: Fit in UML

Durchführung am: 22.6.2012 08:00 - 17:00

Preis: CHF 720.--

Teilnehmerdaten:

Vorname, Name: Hans, Muster

Adresse: Hauptstrasse 22, 9000 St. Gallen

Geburtsdatum: 22.9.1987

Aufgabenstellung

Analysieren Sie obiges Dokument und leiten Sie Klassen mit deren Attribute davon ab. Modellieren Sie diese in einem Klassendiagramm.

Ordnen Sie den Attributen einen korrekten Java-Datentyp zu. Setzen Sie alle Attribute auf Privat.

Auftrag 2: Klassenattribute, Konstanten, Aufzählungen

 

Lernziele

Erweiterte Möglichkeiten der Attribute einsetzen.

Aufzählungsklassen verwenden.

Ausgangslage

Mit einem Interview mit dem Seminarverantwortlichen können Sie zu obigem Dokument (siehe Auftrag 1) folgende Zusatzinformationen gewinnen:

«Jedes Seminar ist ein eine der folgenden Kategorien zugeordnet: Objektorientierte Analyse, Softwarearchitektur oder Programmierung. Das Durchschnittsalter aller Seminarteilnehmer möchte ich gerne an einer prominenten Stelle angezeigt haben. Beim Anlegen jedes Seminarteilnehmers möchte ich gerne das Datum des ersten Seminarbesuchs fix gespeichert haben. Bei der Seminardurchführung ist der Default-Wert für die Zeit von - bis immer 08:00 - 17:00.»

Aufgabenstellung

Ergänzen Sie das Klassendiagramm aus Auftrag 1, damit die gewünschten Anforderungen des Seminarverantwortlichen korrekt abgebildet sind.



Auftrag 3: Einfache Assoziation, Multiplizitäten

 

Lernziele

Assoziationen mit deren Multiplikationen erkennen.

Assoziationen korrekt im Klassendiagramm modellieren.

Ausgangslage

Auf Ihre Rückfrage zum Seminarverantwortlichen erhalten Sie folgende Zusatzinformation:

«Eine Seminardurchführung wird immer für ein bestimmtes Seminar durchgeführt. Eine Durchführung findet nur statt, wenn mindestens 4 Teilnehmer da sind. Die Seminarräume fassen maximal 24 Teilnehmer. Ein Seminarteilnehmer wird erst aufgenommen, wenn er mindestens an einem Seminar teilnimmt.»

Aufgabenstellung

Ergänzen Sie das Klassendiagramm aus Aufgabe 2 mit den korrekten Assoziationen, damit die gewünschten Anforderungen des Seminarverantwortlichen korrekt abgebildet sind.

Auftrag 4: Statisches Szenario als Objektdiagramm abbilden

 

Lernziele

Zweck des Objektdiagramms erkennen.

Objektdiagramm korrekt in UML abbilden.

Ausgangslage

Zu obigem Seminar (gemäss Dokument Auftrag 1) haben sich noch folgende 3 Personen angemeldet: Franz Bauer, Zürich; Fridolin Wegmann, Glarus; Vreni Meier, Winterthur.

Aufgabenstellung

Erstellen Sie aus dem ob genannten Szenario ein Objektdiagramm. Zeigen als Attribut nur den Ort in den Objekten der Seminarteilnehmer an.

Auftrag 5: Mehrere Assoziationen, Rollenbezeichnungen, Einschränkungen

 

Lernziele

Erkennen von mehrfachen Beziehungen zwischen zwei Klassen und deren korrekte Modellierung im Klassendiagramm.

Verwendung von Rollenbezeichnungen bei den Assoziationen.

Verwendung von Einschränkungen in Assoziationen.

Ausgangslage

Die Referenten werden in unserem obigen Seminarverwaltungssystem auch als Seminarteilnehmer verwaltet. Ein Seminar muss einen Referenten und kann einen Co-Referenten haben. Die Anzahl Studierende bleibt pro Seminardurchführung wie oben beschrieben bei min. 4 und max. 24.

Aufgabenstellung

Passen Sie das Klassendiagramm aus Aufgabe 4 entsprechend an.



Auftrag 6: Reflexive Assoziation

 

Lernziele

Modellierung einer reflexiven Assoziation.

Ausgangslage

In einem weiteren Gespräch erfahren Sie, dass gewisse Seminare auf anderen (eines oder mehrere) aufbauen können.

Aufgabenstellung

Bilden Sie diesen Sachverhalt korrekt im bestehenden (siehe Auftrag 5) Klassendiagramm ab.

 

Auftrag 7: Aggregation/Komposition

 

Lernziele

Aggregationen bzw. Kompositionen erkennen und korrekt im UML-Klassendiagramm modellieren.

Ausgangslage

Bezüglich der Räumlichkeiten informiert Sie die Seminarplanung wie folgt:

«In unserem Gebäude haben wir 5 Etagen und wir verteilen die Seminare möglichst auf alle Etagen. In jeder Etage gibt es eine Reihe von Seminarräumen. Jeder Raum hat eine Raum-Nummer und einen Raum-Namen. Für ein Seminar ordnen wir immer 1 Seminarraum zu. Nicht jeder Seminarraum hat genau die gleiche Ausstattung. Die Ausstattungsgegenstände bilden Teil des Seminarraums.»

Aufgabenstellung

Erweitern Sie das Klassendiagramm aus der vorherigen Aufgabe, damit der beschriebene Sachverhalt korrekt abgebildet ist.

Auftrag 8: Assoziationsklasse

 

Lernziele

Den Einsatz von Assoziationsklassen erkennen.

Assoziationsklassen korrekt im Klassendiagramm modellieren.

Ausgangslage

Sie analysieren die Anforderungen zu einem Hotelreservationssystem. Ihr Interview-Partner sagt unter anderem folgendes aus:

«Eine Hotelreservation (enthält die Zeitdauer) bezieht sich auf eins oder mehrerer Reservationsobjekte (z.B. Hotelzimmer, Gruppenarbeitszimmer, …). Dabei kann bei einer solchen Belegung die Belegungsart (z.B. Hotelzimmer mit einer Person oder mit 2 Personen belegen) variieren. Ein Objekt kann in einer bestimmten Zeitperiode selbstverständlich nur einmal belegt werden.»

Aufgabenstellung

Modellieren Sie den Ausschnitt gemäss den oben abgegebenen Informationen.



Auftrag 9: Generalisierung

 

Lernziele

Möglichkeiten für eine Generalisierung erkennen.

Die Generalisierung korrekt mit Ober-/Unterklassen im Klassendiagramm modellieren.

Ausgangslage

Sie führen das Interview aus Aufgabe 8 weiter und erfahren dabei über das Reservationsobjekt folgendes:

«Ein Kunde kann folgendes reservieren:

einen Plenumsraum

einen Gruppenraum

ein Hotelzimmer (je nach Anzahl Betten mit Einzel- oder Doppelbelegung)

eine Utensilie (wie z.B. Kinderbett, Beamer etc.)

eine Verpflegung (z.B. Morgen-/Mittag- oder Abendessen) sein.

Alle Räume haben eine Etagen- und Raum-Nr. Bei den Hotelzimmer ist noch zusätzlich die Zimmerkategorie vermerkt.»

Aufgabenstellung

Modellieren Sie den angegeben Sachverhalt, indem Sie das Klassendiagramm aus Auftrag 8 ergänzen.

Auftrag 10: Abstrakte Klassen

 

Lernziele

Bedeutung der abstrakten Klasse verstehen.

Abstrakte Klassen korrekt modellieren.

Ausgangslage

Die Grundlage bildet die Aufgabenstellung aus Auftrag 9.

Aufgabenstellung

Welche Klassen benötigen keine eigene Instanz? Oder anders gefragt: zu welchen Klasse braucht es keine Objekte? Nochmals anders gefragt: welche Klassen werden nur zur Vererbung verwendet? Kennzeichnen Sie diese Klassen als abstrakt im Klassendiagramm.

Auftrag 11: Generalisierungsmenge

 

Lernziele

Bedeutung von Generalisierungsmengen erkennen.

Generalisierungsmengen korrekt im UML-Klassendiagramm modellieren.

Ausgangslage

Sie analysieren ein Informationssystem für Ihre politische Gemeinde. Der Gemeindeschreiber gibt Ihnen folgende Informationen:

»Zu den Personen haben wir folgendes Erfassungsformular»:

selbstständig erwerbend

unselbstständig erwerbend

männlich weiblich

Aufgabenstellung

Modellieren Sie diesen Sachverhalt mit passenden Generalisierungsmengen.

Auftrag 12: Boundary – Control – Entity (BCE) Analysemuster

 

Lernziele

Den Zweck des BCE Analysemusters erkennen.

Das BCE Analysemuster anwenden.

Ausgangslage

Sie Analysieren die Software für einen Kaffeeautomaten. Der Techniker gibt Ihnen folgende Hinweise:

«Der Kaffeeautomat besteht aus folgenden Teilen:

Touchscreen für die Informationsausgabe und die Eingabe des Kaffeewunsches.

Zahleinheit für die Abbuchung via Mitarbeiterbatch.

Zentrale Steuerungssoftware.

Interner Speicher mit den Produktinformationen sowie der Ablage aller Transaktionen.

Ethernet-Schnittstelle für den Datenaustausch und die Remotesteuerung.»

Aufgabenstellung

Erstellen Sie ein Klassendiagramm mittels des BCE Analysemusters.

Auftrag 13: Einsatz von Operationen

 

Lernziele

Operationssignaturen korrekt erstellen.

Ausgangslage

Für die Klasse Kunde haben Sie folgende Funktionalität entworfen:

Nehmen Sie als Attribute KundenID, Name, Ort und Geburtsdatum auf. Erstellen Sie zu Name und Ort je einen Setter und Getter.

Der Konstruktor nimmt die KundenID entgegen.

Mit getKunde erhält man für eine bestimmte KundenID ein String mit dem Kundennamen und Ort

Mit getKunden erhält man eine Liste von Kundenobjekten. Als Input-Parameter ist ein Suchstring mitzugeben.

Mit getAnzahlKunden erhalten Sie die Anzahl gespeicherten Kunden.

Die Klasse soll eine öffentlich zugängige Operation (getAlter) aufweisen, mit welcher das Alter in ganzen Jahren errechnet werden kann (Übergabeparameter ist das Geburtsdatum).

Mit CheckSecurity soll folgende Funktionalität gegeben werden:

Es wird ein String by reference übergeben, in welchem die Berechtigungsflags (CRUD1) nachgeführt werden.

CheckSecurity gibt false zurück, wenn der eingeloggte Benutzer nicht gefunden wird, die Berechtigungsflags werden in diesem Falle nicht geändert.

Wird der Benutzer gefunden, dann gibt CheckSecurity true zurück und die Berechtigungsflags sind entsprechend gesetzt.

Aufgabenstellung

Erstellen Sie die Klasse mit den Attributen und Operationen in UML gemäss obigen Angaben.



Auftrag 14: Fallstudie «Prüfungsverwaltung»

 

Lernziele

Aggregationen bzw. Kompositionen erkennen und korrekt im UML-Klassendiagramm modellieren.

Ausgangslage

Die Informatik-Schule Informatica möchte Ihr Prüfungswesen neu mit dem Computer unterstützten. Bei der ersten Besprechung haben Sie als Systemanalytiker folgende Anforderungen aufgenommen:

Die Daten zu den Modulen sowie Studierenden sind täglich aus dem operativen Schulverwaltungssystem zu importieren:

Modul

Modul-ID

 

 

Modul-Bezeichnung

 

 

Modul-Beschreibung

 

Moduldurchführung

Modul-ID

 

 

Jahr - Semester

Semester: Sommer oder Winter

 

Klassen-ID

 

 

Dozenten-ID

 

Dozent

Dozenten-ID

 

 

Titel

 

 

Vorname

 

 

Nachname

 

Klasse

Klassen-ID

 

 

Klassen-Bezeichnung

 

Student

Studenten-ID

 

 

Klassen-ID

 

 

Vorname

 

 

Nachname

 

 

Foto

 

Im neu zu konzipierenden System sind folgende Anforderungen zu erfüllen:

  1. Erfassen von Räumen (diese stehen während der Prüfungszeit exklusiv zur Verfügung, jeder Raum hat ein Stockwerk, Raum-Nr und eine Raumbezeichnung)

  2. Erfassen von Prüfungen zu den Moduldurchführungen mit folgenden Angaben: Raum, Datum, Zeit von bis. Es gibt nur eine Prüfung pro Moduldurchführung.

  3. Das System muss sicherstellen, dass kein Raum doppelt belegt wird.

  4. Jeder Student kann seinen Prüfungsplan über das Schulintranet einsehen und als PDF ausgeben.

  5. Jeder Dozent kann seine Prüfungen über das schulische Intranet einsehen und als PDF ausgeben.

  6. Jeder Dozent kann nach der Korrektur die Noten je Student im System erfassen und eine Klassenliste mit den erzielten Noten ausgeben.

  7. Die Noten werden zu einem bestimmten Stichtag ins zentrale Schulsystem exportiert (dies wird vom Scheduler ausgelöst).

  8. Jeder Student kann seinen Notenausweis aller geprüften Module für das aktuelle Semester ausgeben

  9. Für die User-Verwaltung und Autorisierung zu den Funktionen stehen die zentralen Objekte des Security-Systems mittels Web-Service zur Verfügung:

UserLogin

Funktion mit GUI

gibt User-Id zurück, wenn das Login erfolgreich war

UserAccess

Modul mit folgenden Parameter:

- Programm-Id

- User-ID

gibt True oder False zurück, je nachdem, ob der User Zugriff auf das entsprechende Programm hat.

Die Erfassung der neuen Funktionen sowie der Zuordnung zu den Rollen kann im zentralen Security-System während der Einführungsphase des Systems vorgenommen werden.

Aufgabenstellung

Führen Sie eine Informationsanalyse durch und erstellen Sie ein Klassendiagramm (ohne Operationen).

 

1 CRUD = Create, Read, Update, Delete

Related content

Lerneinheit: Lastenheft Muster
Lerneinheit: Lastenheft Muster
More like this
Syllabus Problem Management im Betrieb sicherstellen
Syllabus Problem Management im Betrieb sicherstellen
More like this
Syllabus Projektmanagement Prozesstechniker sfb
Syllabus Projektmanagement Prozesstechniker sfb
More like this
Kurzanwendungsfall: Ziele und Einsatzzweck UML Diagramme
Kurzanwendungsfall: Ziele und Einsatzzweck UML Diagramme
More like this