blob: aece0f49ac5c53cbe7be7552e1787027fca7d08d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
\renewcommand{\Verteilung}{4 + 3 BE} %%Anzahl der Punkte festlegen
\begin{Aufg}
Die Verwaltung der Schule soll digitalisiert werden.
Bei der Modellierung der Schülerakten soll die Klasse \texttt{SCHUELER} ein Kind des HSG sowie dessen Namen erfassen. Eine Klasse \texttt{SCHUELERAKTE} soll die wichtigen Informationen wie Notenschnitt, Hinweise sowie Verweise pro Schüler*in speichern.
\textbf{a)} Zeichne das Klassendiagramm der Klasse \texttt{SCHUELER} und \texttt{SCHUELERAKTE} mit ihren Attributen sowie deren Beziehung.
Ergänze das Modell um zwei \textit{passende} Methoden deiner Wahl.
\textbf{b)} Ergänze die Klasse \texttt{SCHUELER} um eine Referenz auf eine \texttt{SCHUELERAKTE}, erzeuge ein neues \texttt{SCHUELERAKTE} Objekt und ergänze die Methode \texttt{AkteAusgeben} um eine Ausgaben des Attribute \texttt{notenschnitt} aus der Schülerakte.
\begin{minted}[baselinestretch=1.2, fontsize=\small]{java}
public class SCHUELER {
private String name;
// TODO: Deklariere eine Referenzvariable für die Schülerakte
public SCHUELER(String neuerName, double neuerSchnitt) {
name = neuerName;
// TODO: Erzeuge ein neues Schülerakte Objekt
}
public void AkteAusgeben() {
System.out.println(name);
// TODO: Gib mit Hilfe der Methode System.out.println() das Attribut
// notenschnitt der Akte der Schüler*in aus
}
}
\end{minted}
\end{Aufg}
\begin{Lsg}
\begin{itemize}
\item 1 BE für korrektes UML
\item 1 BE wenn alle Attribute und Methoden vorhanden
\item 1 BE für richtigen Typ des Attributes Akte
\item 1 BE für 1 zu 1 Beziehung
\item (Hinweise und Verweise können als String oder String[] modelliert werden)
\item Halber Punkt Abzug für falsche Datentypen
\end{itemize}
\begin{tikzpicture}
\begin{class}[text width=5cm]{SCHUELER}{0,0}
\attribute{name : String}
\attribute{akte : SCHUELERAKTE}
\operation{NamenGeben()}
\end{class}
\begin{class}[text width=5cm]{SCHUELERAKTE}{7,0}
\attribute{notenschnitt : double}
\attribute{hinweise : String[]}
\attribute{verweise : String[]}
\end{class}
\association{SCHUELER}{}{1}{SCHUELERAKTE}{1}{}
\end{tikzpicture}
\begin{itemize}
\item 1 BE für korrekte Variabel-Deklaration
\item 1 BE für korrekte Initialisierung
\item 1 BE für richtigen Verwendung der Punktnotation
\end{itemize}
\begin{minted}[baselinestretch=1.2, fontsize=\small]{java}
public class SCHUELER {
private String name;
// TODO: Deklariere eine Referenzvariable für die Schülerakte
private SCHUELERAKTE akte;
public SCHUELER(String neuerName, double neuerSchnitt) {
name = neuerName;
// TODO: Erzeuge ein neues Schülerakte Objekt
akte = new SCHUELERAKTE();
}
public void AkteAusgeben() {
System.out.println(name);
// TODO: Gib mit Hilfe der Methode System.out.println() das Attribut notenschnitt der
// Akte der Schüler*in aus
System.out.println(akte.notenschnitt);
}
}
\end{minted}
\end{Lsg}
|