Beruflich Dokumente
Kultur Dokumente
Aufgabe 1
Erklären Sie anhand der folgenden Skizze verschiedene Elemente eines Klassendiagramms.
→ Komposition ist
• Was ist der Unterschied zwischen „1“ und „2“. 1. Komposition 2. Aggregation abhängig
• Was ist „3“ und wozu wird es verwendet? 3. Qualifier
• Was unterscheidet „4“ und „5“. 4. Realisierung 5 Binly durch << birds)
.
Aufgabe 2
der Klasse
. . .
Erstellen Sie zu den folgenden Sachverhalten jeweils ein Klassendiagramm, das die wesentlichen
Punkte beschreibt:
• „Der Stier springt über Stock und Stein stets ganz allein.“
• „Menschen nutzen Sätze, um sich zu verständigen. Insbesondere bilden sie Sätze beim Spre-
chen und Schreiben. Sätze verfügen im Allgemeinen über ein Subjekt, ein Prädikat und ein
Objekt. Besondere Sätze sind Tautologien, sie sind immer wahr. Kontradiktionen dagegen
sind immer falsch und Kontingenzen sind manchmal wahr und manchmal falsch.
Seite 1
Fischer Aggregat zu Fritz
<
Ö
]t
F
t
stiert
Hinlege
a-
an
s.i.EE
?
^ .
Aufgabe 3
Stellen Sie jedes der folgenden Java-Codefragmente in einem eigenen Klassendiagrammen dar.
• class P <T> {}
¥
• class E{
public F op(){
return new F();
}
-
③
}
• class A implements I{
protected final S s; „
public A(){
this.s = new S(this);
}
}
Aufgabe 4
„Der Kunde kommt zu uns, und zusammen mit einem Vertriebsmitarbeiter wird die Bestellung erfasst.
Dabei werden nicht nur die Kundendaten und Wünsche aufgenommen, sondern auch direkt die Bestel-
lung elektronisch aufgegeben und an die Produktion weitergegeben. Bei Bedarf wird unser elektroni-
scher Katalog eingesetzt. Typischerweise bedeutet dies, wir müssen die Adresse erfassen, prüfen, ob es
sich um einen Neukunden oder Bestandskunden handelt. Eventuell ist die Adresse abzugleichen. Dank
des elektronischen Katalogs kann jedoch sehr schnell auch auf Komponenten von Drittanbietern zu-
rückgegriffen werden, um Sonderwünsche zu berücksichtigen.“
Erstellen Sie ein Use-Case-Diagramm für das Bestellsystem, das diesen Sachverhalt modelliert.
Aufgabe 5
1. Name System 2. Akteure 3. Use Cases
Im Rahmen der Entwicklung eines firmeninternen Dokumentenmanagementsystems wird während
eines frühen Analysemeetings folgendes Statement des Produktmanagers festgehalten:
„Sobald das neue Dokumentenmanagementsystem zur Verfügung steht, wird endlich Schluss sein mit
dem Chaos. Katastrophen wie letzte Woche wird es nicht mehr geben. Alle Dokumente sind in Zukunft
sicher und klassifiziert. Es kann einfach nicht sein, dass Mitarbeiter auf Daten Zugriff gewährt wird,
die nicht für sie bestimmt sind. Wir können uns so einen Zustand einfach nicht mehr leisten. Aus die-
sem Grund muss das neue Dokumentenmanagementsystem folgende Anforderungen erfüllen:
• Abteilungsinterne Dokumente dürfen nur von den Mitarbeitern eingesehen werden, die zur
entsprechenden Abteilung gehören oder über die entsprechende Freigabe verfügen.
• Die Rechtezuteilung erfolgt, nachdem der Nutzer sich erfolgreich authentisiert hat, unter
Verwendung des bestehenden Rechte-Management-Servers.
• Abteilungsinterne Dokumente publizieren und bearbeiten dürfen nur Mitarbeiter der entspre-
chenden Abteilung, die als Editoren geführt sind.
Seite 2
§ ßevlellsysten
:
"
iii
5) Dokus
Ddmnek DB
sitzen
-
Däne -
niiiii
..
(
Vererbung)
• Die firmenöffentliche Freigabe eines Dokuments kann nur im Vier-Augen-Prinzip unter Mit-
wirkung eines Editors und des entsprechenden Abteilungsleiters erfolgen.“
Als Teil des Entwicklungsteams sind Sie in der Analysephase mit der Erstellung von Use-Case-
Diagrammen beauftragt. Skizzieren Sie den obigen Sachverhalt.
Aufgabe 6
Im Rahmen der Analyse einer digitalen Spiegelreflexkamera wird das folgende Use-Case-Diagramm
erstellt. Was ist in diesem Diagramm richtig und was ist falsch? Beachten Sie dabei insbesondere die
gestellte Aufgabe (Analyse einer digitalen Spiegelreflexkamera). Begründen Sie Ihre Antworten.
×
aufnehmen Verschluss zur
.
Bildbelichtung
öffnen
<<include>> <<extend>>×
blitzen
→
Verschluss
schließen
Fotograf PC
Aufgabe 7
Kondition →
Erklären Sie einige der im Diagramm vorkommenden UML-Elemente, beantworten Sie hierzu die folgenden
Fragen:
i. (0,5 P) Was verbirgt sich hinter „1“ , „2“ und „3“? ^ split
'
2. Join 3. Decision
ii. (0,5 P) Was trennt „4“? die zwei Swim " µ Abgrenzung
.
der Swim ""
ist eine Action
iii.
iv.
(0,5 P) Worin unterscheiden sich „5“, „6“ und „7“?
(0,5 P) Was unterscheidet „8“ und „9“?
6. viele
dito 7. Objekt kneten
8. lokales Ende
9. globales Ende
Seite 3
Aufgabe 8
Im Rahmen der Analyse des Use Case „Zwischenergebnisse erfassen“, für die mobile Erweiterung
„MyArcheryTournamentAPP“ eines Turnierplanungssystems wird das folgende Activity-Diagramm
erstellt. Bestimmen Sie die sich aus dem Diagramm ergebende funktionale Schnittstelle.
Welche für die App zu erwartenden System-Operationen können Sie diesem Diagramm entnehmen?
Skizzieren Sie hierzu ein System-Sequenz-Diagramm.
O
:
Seite 4
•
s ①
÷:
:
1. ergebnisseerfassen
÷:*
::֟րh
Aufgabe 9
Skizzieren Sie die folgenden Elemente eines UML-Component-Diagramms und erklären Sie kurz,
wozu man sie verwendet.
Aufgabe 10
Zur Trennung von User-Interface und Business-Logik wird oftmals auf das MVC-Pattern zurückge-
griffen.
c) Ordnen Sie alle Klassen aus b) (auch die, die Sie hinzugefügt haben) der jeweiligen Schicht zu, zu
der sie gehören (Business-Logik, User-Interface).
d) Beschreiben Sie mithilfe eines Sequenz-Diagramms einen typischen Ablauf, der sich in Folge einer
Benutzereingabe ergibt.
Aufgabe 11
Gegeben sei folgende Struktur einer verketteten Liste:
0..1
List Elem
base
+insert(Value v) :void +setNext(Elem e):void
+setBase(Elem e) :void 0..1 +getNext():Elem
<<constructor>>
+Elem(Value v)
1
Value
Skizzieren Sie das Einfügen eines neuen Wertes X (Instanz der Klasse Value) in eine verkettete Liste
durch Anhängen am Anfang der Liste. Vervollständigen Sie hierzu das folgende Sequenzdiagramm.
:List
insert(x)
Seite 5
i
ä:
*¥
Elend) es
-4
:
| ¥]"
t.EE] base 4)
etbasele )
↳
Aufgabe 12
Gegeben seien die folgenden Teile der Spezifikation und Implementierung einer Queue (FIFO).
a) Vervollständigen Sie das nachfolgende Design und spezifizieren Sie die Operation write der Klas-
se FIFO mithilfe eines Sequenzdiagramms.
b) Vervollständigen Sie die Implementierung der Klasse FIFO, indem Sie die Methoden read und
write implementieren. Nutzen Sie hierzu Ihr Design aus Teil a).
write fügt einen neuen Wert hinten in den FIFO ein
read liest den vordersten Wert des FIFO aus und entfernt ihn
empty prüft, ob der FIFO leer ist
1
Value
-value
1
-first -succ
FIFO Elem
0..1
1 0..1
sd read() : Value
: FIFO first:Elem
-first : Elem
read()
v := null
empty()
res = empty()
opt getValue()
getSucc()
first =getSucc()
setSucc(null)
read():v
Seite 6
'
t
äfft :
.
i:/ jt-last.ee
⑨
H
):
class FIFO {
private Elem first;
private Elem last;
Seite 7