In der Vorlesung 11 beschäftigen wir uns damit, wie wir mit Fachwerten umgehen.
Fachwerte sind zunächst erst mal etwas sehr kritisches, sehr unverständliches,
aber ich denke, wir schaffen es, dieses Konzept ihnen gut klarzumachen.
Doch bevor wir damit starten, lassen wir uns erst mal
ein bisschen Werbung machen in eigener Sache. Sie haben jetzt im Semester vorher bei C1 mitbekommen,
wie Tutoren arbeiten, wie sie Tutoren helfen, alles zu verstehen,
wenn wir unter besonderen Bedingungen das Ganze nur offline,
nur online im Fernstudium machen können, Tutoren genauso wichtig,
um zu moderieren, um die Aufgabenstellung zu bearbeiten,
um das Unterrichten, und das Verstehen,
insbesondere zu ermöglichen.
Also gerade dieses Verstehen lebt davon, dass Studierende auf dem gleichen Kenntnislevel,
fast dem gleichen Kenntnislevel, ihrem Verstehensprozess anderen erklären müssen.
Gleichzeitig ist es für sie positiv, wenn sie mitwirken,
das Feedback zu bekommen, wie gut man ankommt, wie man andere erreicht.
Selbst die Fähigkeiten zum Erklären zu gewinnen,
was man immer braucht, auch im Berufsleben,
damit man anderen Konzepte,
die man für gut hält,
nachbringen kann
Wir möchten sie aufrufen, möchten sie begeistern, möchten sie haben als Tutor für das nächste Semester.
Machen Sie bei uns mit als Tutor,
auch wenn diese Veranstaltung nicht zu Ende ist,
in Kürze haben wir Prüfungen und dann geht das Ganze los und Sie sind dann mit anderen Sachen beschäftigt,
deswegen kommt heute diese Aufforderung, kommen Sie zu uns,
machen Sie mit an dieser Organisation SE1, SE2,
es ist eine große Herausforderung,
aber es macht Spaß und ich hoffe,
Sie kommen genauso gut an,
wie Ihre Vorgänger
bei Ihnen angekommen sind
Natürlich gibt es immer Veränderungen, deswegen haben wir hier geschrieben,
mitgestalten, solche Veränderungen merken wir jetzt derzeit,
dass wir andere Formen suchen müssen.
Das wird im nächsten Jahr bestimmt genauso passieren,
aber das Ganze ist auch noch finanziell interessant,
warum soll man irgendwo mit einem Hilfsjob arbeiten,
wenn man hier eine richtige Aufgabe haben kann,
für die man ordentlich bezahlt wird.
Es gibt hier einen Tutor-Vertrag, die Bezahlung erfolgt nach einem Tarifvertrag,
den die Gewerkschaften mit den Bildungsministerien ausgehandelt haben,
also durchaus ganz offiziell.
Wir leben davon, SE1, und SE2,
dass wir
engagierte Tututoren haben
Melden Sie sich bei uns. Die erste Kontaktdarfnahme hier
per Mail und dann wird das alles weiter geben.
Man wird einen Arbeitsvertrag abschließen und so weiter.
Also bitte die Erforderung, seien Sie dabei.
Doch nun geht es los mit der Arbeit mit fachlichen Werten,
auf die Prüfungsvorfragen, mehr werden wir mal wieder eingehen.
Sie wissen ja, das sind letztlich solche Fragen aus Altklausur.
Das Thema von heute ist keinesfalls neu. Wir haben schon beim letzten
schon in der Vorlesung 7 darüber gesprochen, dass wir Fachwerte haben,
die wertartige Dinge getreffen, das war ja eines der Konzepte,
die in wann eine Werkzeugmaterialeinsatz eine Rolle spielen.
Das sind Dinge, hier zwei Beispiele, Kontonummer und Geldbetrag,
ja, die irgendwie sowas wie Zahlen darstellen,
aber gleichzeitig, man rechnet nicht mit ihnen, ja,
also im Sinne dessen sind sie unveränderlich.
Und wir wollen jetzt heute darüber sprechen,
wie man sie realisiert,
wie man die Wertemengen abbildet und wie man das jetzt etwas Grundsätzliches ist,
was wir gelegentlich brauchen und wie wir das realisieren in
objektorientierten Programmiersprachen
Die Motivation ist die, die wir schon mehrfach genannt haben.
Wir wollen die reale Welt möglichst, damit die Software,
das, was die Software unterstützen soll,
möglichst eindeutig eins zu eins in der Software abbilden.
Diese 1-zu-1-Entsprechung ermöglicht es uns,
wenn wir Änderungen in der realen Welt haben,
dass immer alle Beteiligten gleich wissen, wo sie sich zurechtfinden.
Wir denken immer daran, es sind große Systeme.
Bei großen Systemen haben wir viele Beteiligte und die vielen Beteiligten
müssen ein gleichartiges Verständnis haben
Zunächst braucht man das für zwei Sachen,
wir müssen erst mal rauskriegen, was ist das,
was wir ändern wollen, wo sind Änderungen notwendig,
an welche Stellen in der Software, welche Komponenten, welches Subsysteme.
Bis dahin, welche Klassen und Methoden. Und dann sollen wir
auch noch klar finden, wie können wir das gestalten?
Also wie kann der Entwurf aussehen? Objektorientierung hat genau diesen Ansatz,
Objektorientierung hat den Versuch, die Objekte so zu gestalten,
wie die reale Welt das macht.
Und das Ganze auf einer größeren Ebene,
das ist das, was der Werkzeugmaterialeinsatz auch möchte.
Wir wollen für interaktive Systeme diese Interaktion abbilden. Zum Beispiel
das Konzept Bearbeitung von Materialien mit Werkzeugen. Dazu ein Beispiel.
Wir haben für Zahlungsaufträge hier ein Bild mit einer historischen,
mit historischen Zahlungsaufträgen, ja,
diese historischen Zahlungsaufträge sind ja oben Fenstern dargestellt und da sind zum Beispiel,
um das ein bisschen zu vergrößern, ja,
also wie haben wir hier historische Daten, historische Kortale und da wollen wir drin irgendwas analysieren.
Zum Beispiel, dass es da ein Antragsdatum gibt,
einen Zeitraum und sowas und Zahlungsdatum und die haben alle einen
fachlichen Wert und mit dem fachlichen Wert verbunden haben sie einen Wertebereich,
einen Bereich, in dem die Werte gültig sind.
Und so etwas gibt es in jedem Anwendungsbereich.
Sowas wie Zeit, Zeitpunkt zum Beispiel für eine Klausur
gibt es
einen Zeitraum
Es gibt so etwas wie ein Geldbetrag.
Es gibt so etwas wie eine Kontonummer, auch etwas,
womit man nicht wirklich rechnet. Oder Sozialversicherungsnummer, diejenigen,
die sich mit den USA beschäftigen, wissen.
Dort ist das was total Wichtiges zur Identifikation von Personen.
Bei uns muss man nur in manchen Jobs so was mit sich tragen.
Und wir wollen das abbilden auf die reale Welt,
in Objektorientierung möglichst. Ja, bei Zeitpunkten müssen wir sagen,
okay, Zeitpunkte werden eigentlich nicht erzeugt,
so wie wir das mit Objektor mit einem Konstruktor machen.
Zeitraum einer Klausur
Eigentlich können wir den nicht ändern. Wir verschieben die Klausur
nicht. Wir berechnen nichts mit der Klausur. Maximal,
wir wählen einen anderen, wenn sie nicht im Juli rankommen wollen
und nehmen sie den September dafür, dann ist das eigentlich ein Wählen.
100 Euro sind ein Wert, ein Wert im Sinne von,
natürlich, oder man hat es nicht,
aber halt auch als solches eine Sache, mit der man,
die man irgendwie als solches nehmen kann,
vergleichen oder wie auch immer.
Konnte nun mal ändern, bedeutet lediglich,
der Kunde kriegt eine andere.
Ich rechne da nicht was damit
Wenn jemand neue geboren wird, dann wird die nicht frisch erzeugt,
sondern er bekommt ein, eine Zuordnung ist das.
Nun könnte man sagen, ja, Mathematik hat auch Werte,
weil wir das, wollen wir das dafür,
dass auch in Objekten erbilden?
Ja, zum Beispiel könnte man das durchaus irgendwie machen.
Ja, ganze Zahlen können meinen Inditure abbilden. Rationale Zahlen
können meinen Gleitkomma abbilden. Bulju Waheizwerte in Bulyen. Ja
, kein Problem. Aber als Objekte hat die vier,
wird die vier erzeugt, hat die vier einen Zustand
Oder die Zahl Pi erzeugt? Oder ist es vielleicht eher eine Entdeckung?
Ja, Two and Falls. Gibt es da eine Reihenfolge?
Vorgänger und Nachfolger? Haben die Zahlen ein Verhalten? Ja,
und das Ganze ist, wie wollen wir das irgendwie implementieren?
Es gibt tatsächlich in Java das als primitive Typen,
aber es gibt auch Sprachen, wo das als Objekte abgebildet wird.
Wenn wir diese Zahlen als Werte behandeln wollen,
so ähnlich wie wir eben fachliche Werte hatten,
so ist das durchaus etwas, wo wir etwas zur Identifikation brauchen.
Das waren diese Beispiele, Kontonummer, Personalnummer.
Manchmal wollen wir etwas abzählen oder messbare Größen repräsentieren.
Das ist schon eher etwas, wo sich was verändern kann.
In der Naturwissenschaften wollen wir etwas analysieren. Ja, wir wollen
ein Bremenzahl finden. Eine Bremenzahl soll es Erlegung machen oder
irgend sowas. Ja, also Zahlen sind schon Werte,
aber fachliche Werte lässt sich das so umdrehen.
Ist das, ist eine Kontonummer als solches
eine Zahl
Wir wissen es schon, deswegen, weil IBAN enthält ja auch Buchstaben.
Also es ist nicht eine Zahl, es ist ein Kennzeichen.
Denn, und jetzt ist das, was es typisch für
fachliche Werte, sie gehören in dieses Anwendungsgebiet.
Sie haben eine fachliche Bedeutung für irgendetwas. Sie haben Operationen,
die anders sind als Operationen von Zahlen. Ja,
wir können zum Beispiel Kondomon verketten für die Bildung eurer E-Bahn.
So operieren können wir sie nicht. Geldbeträge können wir addieren
, multiplizieren eigentlich nicht. Maximal zur Zinsberechnung,
aber das ist wieder eine andere Operation.
Ja, gibt es auch Sachen, die nicht sinnvoll als
Zahlen abbildbar wären
Vielleicht schon, ja. Man könnte irgendwie die Monate des Jahres,
ja, man kann die nehmen,
aber sind wir als Zeitabbildung vielleicht nicht.
Programmiersprachliche Werte sollten also andere Eigenschaften finden. Und das ist der Punkt,
womit wir uns dann gleich im nächsten Abschnitt beschäftigen.
Doch zunächst erstmal zu den Fragen zurück. Wer hat hier die Frage,
die Änderbarkeit dieses 1 zu 1 für bei solches Verständnis?
Ja, und wir hatten jetzt eben einige Eigenschaften von Fachwerten,
die sich die nicht so gut zu Objekten passen.
Das wäre,
damit gehen wir aber im nächsten Abschnitt weiter