In diesem zweiten Abschnitt wollen wir uns genauer mit der Methode
wann beschäftigen. Wir machen das nicht so weit,
dass Sie sagen könnten, Sie haben diese Methode komplett verstanden.
Wir möchten Ihnen nur einen Eindruck davon geben,
wie wir mit wann Systeme strukturieren, andere Methoden machen das in ähnlicher Weise.
Auf jeden Fall ist es immer so,
dass man so eine Methode als Richtschnur nimmt,
als Empfehlung nimmt, selten Buchstabe für Buchstabe anwendet.
Es geht immer darum, wie kommen wir vom Strukturieren, von Anforderungen zu
Wie entdecken wir darin Elemente, die sich technisch umsetzen lassen?
Wie finden wir diese Elemente? Welches sind das?
Und wie finden, ordnen wir denen technische Lösungen zu,
am Ende ein Softwaresystem zu bekommen, was auch,
wenn es groß ist, gut entwickelbar ist.
Gut entwickelbar im Sinne von gut weiterentwickelbar,
weil es wird immer Änderungen geben, die später kommen,
Softwaresysteme müssen ständig geändert werden, an die sich ändernde Welt angepasst werden.
Diese Methode Wamm, wie schon gesagt, ist vor allen
Dingen für interaktive Systeme gedacht. Sie zielt auf Strukturähnlichkeit,
deswegen habe ich nochmal diese Folien gezeigt also Strukturähnlichkeit zwischen Problemraum und Lösungsraum.
Wir werden, sie werden später,
wenn sie sich genauer vielleicht damit beschäftigen, mit Domain treffen,
die seien feststellen, domaintriven Design macht das ganz ähnlich.
Und ich springe nochmal zur Folie 11,
bevor wir zu denen kommen, wo es eigentlich jetzt hier darum geht,
Kerneelemente sind die Betrachtung der realen Welt als Materialien und Werkzeuge.
Das heißt, wenn wir hier diese Anforderungen analysieren wollen,
ja, und die Systemeteile strukturieren,
dann versuchen wir immer Materialien und Werkzeuge
zu finden
Diese Materialienwerkzeuge können dann strukturähnlich, das heißt eigentlich
eins zu eins umgesetzt werden, in ein Softwaresystem.
So, und nun gehen wir zu den Entwurfsregeln,
die sind auf dieser Folie kurz zusammengefasst,
dass dieses Bild gibt erstmal den Einblick,
was in wann überhaupt alles behandelt wird.
Das ist viel zu viel für uns. Wir werden uns hier
nur wenig herauspicken. Wir möchten hier, wir sehen,
hier gibt es Werkzeuge, hier gibt es Materialien,
irgendwo dazwischen gehören die Services, die wir auch besprechen werden.
Und hier ist dann das Beobachtermuster,
wo wir im dritten Abschnitt dieser Vorlesung dazukommen
Ja, auf jeden Fall hat man hier betrachtet, man fachliche Gegenstände,
technische Gegenstände. Wir werden noch zu den Fachwerden kommen.
Das ist auch ein Element, was wir gleich erklären.
Automat ist die Maschine, die den mittleren Buchstaben in Wann bedeutet.
Wann bedeutet Werkzeugautomat Material? Ja,
also wir haben das Werkzeug im Material, den Automat,
der also irgendwie einen Algorithmus zur Problemlösung durchführt.
So, wir versuchen damit mit diesen Elementen die Anforderungen gut
zu verstehen. Das funktioniert für interaktive Systeme besonders gut.
Deswegen ist die Methode
auch dafür vorgesehen
Wir haben erhalten dadurch Hinweise, wie bauen wir dieses System auf,
was gerade in dem Bild mit der Wolke war.
So, wir reduzieren dieses komplexe Bild, was wir in
der Folie eben hatten, nur auf nur ganz weniges.
Und deswegen verwenden wir nur die Grundideen. Die Grundideen sind
nur diese Dinge mit Werkzeugmaterial, Service und Fachwert.
Ja, wir brauchen nicht mehr, bitte lassen Sie sich
nicht dadurch verunsieren, Sie müssen nicht das ganze Buch lesen.
Sie dürfen das natürlich tun. Ja,
das ist Es ist aber eigenständig als solches schon nutzbar.
Und wir brauchen erst mal nicht mehr. Bitte betrachten Sie nicht
diese Regeln als etwas, was wir komplett so verwenden können,
auch direkt umsetzen bauen. Hier steht jetzt sklavisch, ja,
man muss sich den Regeln nicht unterwerfen, das bestimmt nicht.
Aber sie geben auch nicht genug her, um damit allein
ein System zu entwickeln. Aber sie geben uns eine Richtschnur
. Und die Richtschnur zeigt uns die Richtung,
sie zeigt uns, wie Systeme gut zu strukturieren sind.
Doch nun zu den angesprochenen Entwurfsregeln, wie schon angesprochen,
gibt es, sie sehen hier Werkzeug und das Material,
dann den Service und den Fachwert
So, diese vier Elementtypen versuchen wir, in Systemen zu entdecken,
um dann entsprechende technische Teile, also Klassen, Komponenten,
Pakete zu bauen, die diesen Teilen entsprechen.
Diese eins zu eins Entsprechung ermöglicht es uns sehr gut,
später Änderungen zuvor zu nehmen, uns oder anderen,
weil sich die anderen, wenn sie die gleiche Methode anwenden,
gut darin zurechtfinden.
Sie verstehen, sie finden das Werkzeug wieder in der realen
Welt und finden die Änderungen am Werkzeug wieder,
die sie da machen müssen und dann auf der anderen Seite
in dem Softwaresystem können sie die gleiche Änderung
Dann entsprechend leicht durchführen. Und wir haben die Hoffnung,
dass sich Änderungen nicht so furchtbar weit ausbreiten.
Okay, zunächst lassen wir natürlich ihn begriffen.
Materialien sind die Dinge, die ich bearbeite.
Das ist soweit erstmal das, was wir erwarten.
Werkzeuge sind die Dinge, mit denen ich etwa die Materialien bearbeite.
Und es sind Gegenstände aus der fachlichen Welt.
Also wenn es um Buchhaltung geht, wird es so sein
wie ein Buchhandlungsjournal wie Unterlagen in den Buchungen durchgeführt werden.
Wenn es darum geht, eine Landschaftsplanung zu machen,
dann wird es vermutlich
der Plan sein
Vielleicht einen Zeitplan für der Plan, für das Anordnen der Pflanzen,
für das Anordnen und für den Wegen und Sitzflächen oder Seen oder was auch immer.
Ja, also jedenfalls, es geht immer um die Anwendungsseite, anwendungsfachlich, steht deswegen hier.
Als zweites, das Werkzeug hatte ich schon gesagt,
das sind Dinge, die diese Materialien bearbeiten.
Denken Sie bei Werkzeug nicht unbedingt nur an sowas Einfaches wie Hammer und Zange,
sondern wir haben hier Werkzeuge, die diese Datenstrukturen bearbeiten können,
die uns also die Möglichkeit geben zu sehen,
was tun wir da, die uns die Möglichkeit der Bearbeitung geben.
Also im Landschaftsplan würden wir da irgendwelche Pflanzen anordnen, irgendwelche Gartenbeete anordnen. Wenn wir einen Zeitplan haben,
wir hatten vorhin so ein Beispiel im ersten Einheit mit Lehrereinordnen für die Aufsicht auf dem Hof,
dann in der Pause, in der Schule, ja,
dann haben wir natürlich die Möglichkeit dieser Zuordnung, das ist das,
was Werkzeuge leisten und da es sich um interaktive Systeme handelt,
wir gehen davon aus,
dass die eine grafische Schnittstelle haben.
So, dann gibt es noch Fachwerte. Das ist ein Begriff,
der erstmal ein bisschen schwer verdaulich ist,
mit denen man zunächst auch vielleicht ein paar Probleme hat.
Fachwerte sind fachliche Werte, die sind nicht variabel,
sondern sie sind sozusagen gesetzt.
Das ist das, was meistens so ein bisschen Schwierigkeiten macht.
Wir werden uns genauer damit beschäftigen. Sie sind als solche
unveränderlich. Unveränderlich heißt zum Beispiel, ich rechne nicht damit.
Ich möchte ein Beispiel nennen, die Postleitzahl. Ja,
ein, ja, wir haben in Stellingen 22527 als Postleitzahl
und mit dieser Postleitzahl rechne ich nicht
Ja, ich mache nicht eins mehr, eins weniger.
Und Vorgänger, Nachfolger. Nein, das ist einfach die Prüstlerzahl.
Das ist ein fachlicher Wert. Der ist als solcher Fest.
Ja, das ist ein Beispiel für einen Fachwert. So,
und dann gibt es noch Services und Services sind Dinge,
mit denen ich etwas bearbeiten kann,
die am Ende die Rechenleistung, die Datenverarbeitung durchführen.
Und die werden von den Werkzeugen benutzt.
Deswegen sind die Werkzeuge vor allen Dingen für das Interaktive,
bearbeiten mit den Menschen, von Menschen bedient zu werden,
geeignet,
während die Services,
die eigentlichen Daten bearbeiten
Wir haben hier so ein Bild mit Pfeilen,
die Pfeile haben gleich einen Sinn, die sagen,
in wierum ist denn die Sichtbarkeit?
Was ist denn erlaubt? Was ist die Benutzbarkeit?
So, da haben wir das Werkzeug und den Service.
Beides zusammen ist das, was wirklich die Datenverarbeitung durchführt,
wobei das Werkzeug das ist, was der Mensch sieht,
wo der Mensch Steuerung machen kann, der Bediener oder Benutzer.
Und Service ist das, was im Hintergrund sozusagen im Maschinenraum
die Daten verändert, die Daten speichert,
Prüfungen vornimmt und sowas
Vielleicht bei komplizierten Sachen auch eine Optimierung ausführt, eine Optimierungsrechnung ausführt.
Material ist das, was wir bearbeiten,
das hatten wir schon gesagt, und Fachwerte ist nicht varial,
ist sie dabei variabel und Fachwert ist eben nicht variabel.
Und das sind Werte, auf die ich manchmal zurückgreife, die haben andere Eigenschaften.
Deswegen ist es sinnvoll, die anders technisch zu realisieren.
So, jetzt nochmal zu dem Pfeilen. Ja,
wir sehen das Werkzeug, wir können uns vorstellen,
wenn sie wollen, hier oben drüber ist der Benutzer,
der Mensch,
der das Werkzeug benutzt und mittels des Werkzeugs der Service
und mittels Werkzeug und Service bearbeitet das Material und darin
spielen Fachwerte
eine Rolle
Begründet auch schon gleich die Benutzungsbeziehungen, die Reihenfolge.
Es geht alles vom Werkzeug aus, weil das Werkzeug ist das,
was von Menschen, von Benutzer bedient wird.
Und das Werkzeug kennt den Service, weiß,
wer kann für mich was tun.
Und das Service kann auf Material zugreifen, kann er Fachwerte zugreifen.
Das Werkzeug kann beides auch. Aber zum Beispiel der Service
kann nicht das Werkzeug zugreifen. Der Sinn darin ist,
dass das Service für einen anderen Werkzeugen, die ähnlich sind,
die vielleicht später entwickelt werden, auch noch benutzt werden sollen.
Deswegen soll der
unabhängig von Werkzeugen sein
Das Material soll auch unabhängig sein von dem Werkzeugen und den Services,
durch die es bearbeitet werden kann. Das soll durch alle Werkzeuge
und so ist es bearbeitet werden können, die sinnvoll sind.
Deswegen gibt es keinen Feind in diese Richtung und keinen Feil
hier hoch zum Werkzeug. Aber zu Materialien dürfen Fachwerte durchaus dazugehören,
da darf man darauf zugreifen, während die Fachwerte für sich statisch,
hatte ich schon gesagt, unveränderlich sind.
Die sind deswegen von keinem abhängig, sie können ja nicht zugreifen.
So, hier steht noch die Ergänzung, bitte,
wir haben typischerweise mehr als ein Material,
wir haben mehr als einen Fachwert und die können sich wechselweise benutzen.
Das ist durch durchaus erlaubt, stellt man ihn in so einem Bild nicht dar.
Damit sind wir schon bei der Fragen, bei den Fragen
zurück. Also wir haben hier die Frage 5 gehabt.
Ich springe mal zurück zur Folie. 4, Elfolier 3,
wo die Fragen waren. Und hier haben wir die Frage
4. Materialwirtelsmittels Werkzeug bearbeitet. Wie machen wir das?
Wir haben das Bibliotheksbeispiel auf einer Folie gehabt. Und jetzt
haben wir das besprochen, wie das mit den Pfeilen funktioniert.
Dazu sollten Sie, dass hier eine Frage erläutern Sie mit einem Beispiel.
Es gibt immer die Möglichkeit, dass Sie zeigen,
dass Sie es auch verstanden haben und nicht nur die Begriffe nennen
Die Frage 5 halten wir jetzt mit dieser Folie schon erklärt.
Auf die gehen wir jetzt mit den folgenden Folien weiter ein.
Und die zulässigen Benutzbeziehungen, Frage 6, das ist genau das,
was wir hier auf der Folie 19 gesehen hatten.
Also diese zulässigen Benutzbeziehungen waren das.
So, lassen Sie uns auf die einzelnen Elemente eingehen.
Vorher noch mal zur Umsetzung. Ziel ist es ja immer,
ein technisches System zu bauen. Und dieses technische System besteht
am Ende aus objektorientierten Elementen. Und das sind nun mal
die Klassen
Und dazu brauchen wir mehrere Klassen immer zu einem Werkzeug.
Und darauf werden wir noch weiter eingehen. Wir machen,
benutzen die Paketstruktur, die in Java geeignet ist,
um Sachen voneinander abzugrenzen und Dinge zusammenzufassen, die zusammengehören.
Die nutzen wir dazu, dass wir die Typen zusammenfassen.
Also alles, was Werkzeug ist, kommt in eins oder mehrere Werkzeugpakete.
Und das Gleiche für Materialien, Services, Fachwerte.
Also diese Paketstruktur bildet dann diese fachliche Struktur Werkzeugmaterial,
Servicefachwert wieder
Wir hatten davon gesprochen,
dass wir eine 1 zu 1 Abbildung aus dem fachlichen,
in das Technische machen wollen, strukturähnlich ist das vorhin,
als Parfolien vorher, ja, und das machen wir,
indem wir fachliche Dinge, die wir entdeckt haben,
dass sie so sind,
abbilden auf technische Systeme und deswegen sind auch die Schnittstellen entsprechend der Fachlichkeit.
Das heißt, wir haben dort Dienste, die dem fachlichen entsprechen. So,
und das Werkzeug wiederum ist durch die Menschen zu bedienen,
interaktiv, also Zusammenarbeit soll das sein und die anderen lassen
sind eher technisch geprägt,
das heißt,
wir haben dort Datenaustausch
Für alle Klassen gilt, wir nutzen das Vertragsmodell
mit Vorbedingungen und Nachbedingungen, mit Versprechen gegenüber den Klienten,
dass wir sicherstellen, dass alle Schnittstellen richtig verstanden werden.
Und es gibt immer Tests dazu. So, schlaffen Sie
uns starten mit Materialien. Materialien sind Dinge, wie schon gesagt,
die aus der Fachlichkeit stammen und die ich dort,
die dort vorkommen, dass sie bearbeitet werden.
Gegenstand der Arbeit sind. Und in der Bibliothek zum Beispiel
werden das Dinge Medienträger, DVD, CD,
Videospiel,
die ich da ausleihe
Das kann auch sich um Dinge handeln,
die ich nicht direkt anfassen kann, im Sinne von abstrakt,
ja, also die Versicherungspolice, das Konto,
der Vertragsentwurf für Musik, die Partitur oder der Film,
den kann man schon immerhin anfassen, wenn er irgendwo gegenständlich ist,
sei es nun auf DVD oder auf Celeloid.
Ja, die werden bearbeitet und sind deswegen Arbeitsergebnisse, ja,
wir achten darauf, dass wir nichts Technisches da reinpacken,
weil wir zunächst erstmal die fachliche Welt,
die fachliche Sicht modellieren wollen.
Nichts Technisches bedeutet nicht, dass sie nicht technische Parameter haben.
Also zum Beispiel für einen Film gibt es eine Aufzeichnungsqualität.
Ja, aber wir versuchen nicht interne Datenspeicherung irgendwie noch da mit reinzupacken zum Beispiel.
Hier als Beispiel angegeben, Passistenz, also wie speichere ich das?
Oder wie genau stelle ich das damit, was für einen grafischen Element,
mit wie vielen Pixeln, welche Farbe oder sowas.
Das müssen wir, das müssen wir hier nicht machen.
Und das mit dem Kennen haben wir eben schon auf
den Pfeilen gesehen. Also das bezieht sich jetzt,
ich springe mal eine Folie zurück.
Nein, zwei
Bezieht sich jetzt hier drauf, wen kennen Materialien.
Also hier steht, Werkzeuge kennen ausschließlich andere Materialien und Fachwerte.
Und das ist also, hier gibt es nur einen Pfeil dahin.
Niemand anders, nirgendwo anders hingeht für ein Material,
ein Pfeil aus. So, es gibt mindestens eine Klasse,
das sagt damit, es könnte mehrere geben,
wenn das Material irgendwie komplex ist.
Man kann es zerlegen in verschiedene Teile, dann wollen wir
sowas auch haben.
Aber wir wollen da möglichst nicht
so furchtbar viele haben
So, wenn wir jetzt mal so eine Bar nehmen als Beispiel,
ja, dann gibt es in der Bar die Elemente,
dass man eine Bestellung abgibt, eine Rechnung erhält hinterher,
einen Geldbetrag, der gezahlt wird.
Das sind alles Elemente, auf die man stößt,
wenn man sich überlegt, wieso eine Bar funktioniert.
Wir nehmen diese Bar jetzt hier als Beispiel. Und wir
könnten ein Getränk oder ein Snack zusammenfassen zum Begriff Artikel.
Ja, es gibt sicherlich einen Speisekater. Sie wissen vermutlich,
auch wenn sie noch nicht in der bar gearbeitet habe oder im Restaurant,
dass das organisiert wird nach Tischen,
damit man immer die Abrechnung und dem Gast zuordnen kann,
weil man von den Gästen meistens nicht namentlich eine Zuordnung hat.
Und es gibt irgendwie für die Bestellungen, gibt es noch einen Status.
Ja, also das wartet noch oder das ist
noch nicht abgerechnet oder sowas. Das sind alles Begriffe,
die in der fachlichen Welt existieren und wir wollen uns jetzt anschauen,
welche davon sind als Material geeignet.
Dafür fragen wir zunächst erstmal, was ist denn,
was wird denn bearbeitet im Sinne von,
dass es Arbeitsgegenstände,
Arbeitsergebnisse sein können
Gibt es Werte, die immer wieder auftauchen,
fachlich begründet sind, aber vielleicht nicht bearbeitet werden?
Und was für Dienstleistungen brauchen wir? Was wird gearbeitet?
Was wird verändert? So, und dann schauen wir uns,
die bleiben ja dabei und schauen uns mal, ach so,
sorry, ich war ein bisschen zu schnell.
Wir schauen uns das in der Folge an,
was wir damit machen können. Damit wir da weiterkommen,
schauen wir uns die anderen Typen auch noch an.
Wir machen erst mal weiter mit den Fachwerten.
Ich hatte schon als Beispiel gesagt,
die Postleitzahl
Das sind also Dinge, die sich irgendwie nicht verändern.
Wenn es um Geld geht, wäre es die Kontonummer.
Die Kontonummer, mit der rechnen wir nicht. Ja,
es gibt nicht einfach die Nachfolger und die Vorgänger könnten nun mal,
wenn es gibt, die könnten nun mal für eine Sache und vielleicht
eine andere könnten wir auch mal für eine andere Sache.
Hier gibt es noch den Geldbetrag, das ist manchmal,
führt manchmal zu Missverständnissen, weil ich natürlich auch einen Geldbetrag ausrechnen kann.
Aber für einen Zahlungsvorgang ist dieser Geldbetrag erstmal als solcher unveränderlich für eine Überweisung.
Das sind, diese Werte können verschiedene Typen haben,
Zahlen, Zeichenketten und jetzt die Seitenstriche geben uns an,
was Was ist typisch für die?
Was ist kennzeichnet diese Fachwerte? Unveränderlich, hatte ich schon gesagt.
Sie haben einen Typ und dieser Typ hat deswegen auch eine Wertemenge,
einen Wertebereich. Und sie werden auch nicht erzeugt oder berechnet,
sondern sie werden höchstens zugeordnet. Die Spostleitzahl ist vielleicht ein Beispiel,
was man gut verstehen kann, ja.
Also irgendwann wurde diese Postleitzahl mal festlegtgelegt für Stelligen, aber ich rechne die nicht.
Und damit erzeuge ich die auch nicht im Sinne,
Objektorientierung, ja, ich habe hier ein neues Objekt.
Ich habe hier einen neuen Wohnbezirk und da erzeuge ich jetzt das macht vielleicht der Stadtplaner,
ja, aber nur in einem Stadtpleidungswerkzeug, dann ist das Stadtviertel vielleicht ein Arbeitsergebnis.
Wenn wir mit Adressen arbeiten, ist die Postleitzahl unveränderlich.
Und deswegen können wir auch von Konstanten sprechen. So,
was ist denn jetzt hier,
was sind erfüllt denn von unserer kleinen Liste von Dingen,
die wir in unserer Bar haben, diese Eigenschaften des Fachwerts,
also unveränderlich und eine Konstante, das wäre der Geldbetrag,
auch wenn wir da vielleicht nicht so ganz sicher sind,
weil der jetzt eben auf der Folie stand.
Auf jeden Fall
die Türschnummer
Ja, die Tischnummer ist einfach, da gibt es den
Tisch 17 und den Tisch 4 oder wie auch immer.
Und welche Bestellstati es gibt, nämlich zum Beispiel diese 4,
das ist eine grundlegende Festlegung für unsere Arbeitsabläufe, die sind auch,
die werden auch nicht erzeugt oder irgendwie anders behandelt.
Als nächstes möchte ich Services mit Ihnen besprechen. Services sind die Dinge,
die getan werden, aber wir erinnern uns,
Werkzeug war das, was interaktiv von Menschen gesteuert wird,
was für Menschen angefasst wird, wo er was sieht,
was passiert.
Services ist das, was die Datenverarbeitung durchführt und Die Datenverarbeitung
ist natürlich irgendwie durch eine fachliche Aktion begründet.
Also durch die Dienstleistungen, die wir hier machen,
die Handlungen, wenn sie wollen, Geschäftsprozesse, Geschäftselemente.
Sie sind übergreifend über Materialien, also sie können auch mehrere Materialien umfassen.
Und wir brauchen immer nur einen, so einen Service von jeder Sorte,
weil einen der Service kann ja viele Materialien bearbeiten.
Also das heißt, wir haben für die Kasse brauchen wir nur einmal.
Ja, vielleicht haben wir da Duplikate davon,
wenn die Bar so groß ist,
dass die Leute nicht so weit laufen,
die Bedienste nicht so weit laufen müssen.
Aber eigentlich brauchen wir die
nur einmal
Damit werden viele Materialien bearbeitet. Ja, verwalten,
das Wort Verwaltin heißt auch so viel wie Steuern.
Ja, also wir haben eine Übersicht darüber, wie viel es gibt.
Wir haben eine Übersicht über den Stand und können daraus darauf zugreifen.
Persistenz ist das Wort für Speicherung, für Dauerhaftigkeit.
Wir wollen sie dauerhaft speichern. Wir können,
wir können immer darauf zugreifen,
deswegen brauchen wir Referenzen und zwar Referenzen immer auf das Original,
auf dieses Material,
was wirklich die Daten trägt,
was wir bearbeiten und
dann auch verändert bleibt
So, Fachwerte gibt es nicht immer. Ja,
also sie können sich vorstellen, dass es Systeme gibt,
wo wir sowas gerade nicht brauchen. Und wir wissen von
dem Sichtbarkeitsfeilen, ja, sie werden von Werkzeugen benutzt.
Und sie werden von, sie benutzen andere Dinge.
Wir schauen nochmal zu der Folie zurück, wo das draufstand.
Jetzt muss ich selber rateln. Ja, das war diese hier.
Folge 19. Ja, also der Service wird vom Material,
vom Werkzeug benutzt, weil das Werkzeug das ist,
was der Mensch anfasst.
Und es greift zu auf Fachwerte und Materialien,
aber nicht auf die Werkzeuge
So, und dass man die Fachwerte, das sind die Services.
Sie liegen irgendwo zentral im Maschinenraum, sage ich mal.
Zum Beispiel in einem Werkzeug, in einer Klasse,
die das System betrifft und würden können von Werkzeugen benutzt werden,
werden denen dann übergeben.
So, schauen wir uns an, was es für Services geben kann.
Wenn wir uns hier die ganzen Dinge anschauen,
was davon ist wirklich etwas, was arbeitet, eigentlich nichts.
Ja, wir haben hier keinen Service bei,
der ein Begriff weit, der für Services steht.
Wir müssten uns dann noch welche überlegen, welche das sein können.
Als nächstes Element möchte ich die Werkzeuge besprechen.
Werkzeuge hatten wir schon mehrfach gesagt. Ist das,
was von Benutzer benutzt wird, interaktiv? Das heißt,
es gibt einen Austausch von Informationen, Handlungen,
die der Mensch vornimmt und auf dem Mittels des Werkzeugs etwas steuert.
Und wir machen das über eine grafische Schnittstelle.
Es gibt vielleicht auch andere Schnittstellen, taktil, wo man
etwas fühlen kann oder so, die behandeln wir nicht.
Wir betrachten hier grafische Schnittstellen. Also das heißt,
in irgendeiner Form
eine Anzeige
Ja, was wir da sehen, sind Materialien und wir gestalten Werkzeuge so,
dass sie immer genau eine fachliche Aufgabe haben.
Nicht das große Monsterwerkzeug, was ganz viel umfasst.
Nein, eine fachliche Aufgabe. Und wir können als kleinen Test,
ob das wirklich eine Aufgabe ist, mal versuchen,
die ganz kurz mit einem Satz oder sowas zu beschreiben.
Das sollte immer möglich sein. Ich hatte vorher gesagt,
ja, sie besteht aus mehr als einer Klasse eventuell und jetzt
schauen wir uns das genauer an. Sie besteht nämlich,
die Empfehlung ist es, in zwei Klassen zu zerlegen.
Und zwar Ihr steht auch immer. Ja, also wir
zerlegen es immer in eine Werkzeugklasse und in eine User-Interface-Klasse.
Die Werkzeugklasse ist das, was die Datenverarbeitung steuert,
indem sie auf Services, Materialienfachwert zugreift,
während die User in der Festklasse das ist, was die sichtbaren Elemente enthält.
Beide zusammen machen die Interaktion, ja,
aber hier ist die Darstellung da, mit den grafischen Elementen,
also zum Beispiel Button-Enschiebe-Element oder auch etwas,
was ich bearbeiten kann,
indem ich draufdrücke oder so
Und das Layout ist auch hier mit in dieser User-Interface-Klasse gemacht.
Also wie ist das angeordnet, wie ist das Verhältnis zu anderen Dingen angeordnet?
Was davon, jetzt schauen wir uns wieder unsere Bar als Beispiel an,
was davon könnte jetzt denn ein Werkzeug sein? Ja,
und alle die Sachen, die wir hier sehen,
sind eigentlich diese Begriffe, sind eigentlich eher die Dinge,
die ich bearbeite oder die konstant sind,
aber Werkzeuge habe ich hier nicht dabei.
Das heißt, da müssen wir uns noch Gedanken darüber machen,
was für Dinge brauchen wir denn hier?
Eine Bar ist jetzt nicht so weit abgefahren. Wir können
also sagen, die Zubereitung, brauchen wir die Abrechnung,
brauchen wir und das Ausliefern an so einen Tisch brauchen wir zum Beispiel.
So, was können wir uns für Werkzeuge dafür denken?
Werkzeuge war ja bis jetzt nur gesagt, ja,
wir bearbeiten etwas und ich hatte gesagt, ja,
in Hammer und Zange sind schlechte Beispiele.
Ich möchte jetzt mal ein Werkzeug vorstellen, was,
damit wir eine bessere Vorstellung davon bekommen, was zur Interaktion geeignet ist.
Der Servicemitarbeiter, also der Mensch, der die Speisen und Getränke zubereitet,
ja, die Bestellungen annimmt und dann macht,
der soll mit dem System arbeiten.
Klassisch passiert das häufig über Zettelchen. Ja,
das können die Kassenbongs sein, die werden da hingelegt in Bars und Restaurants,
wo der Kellner nur so einen Handblock hat,
da wäre das eben der handgeschriebene Zettel.
Die werden in der Reihenfolge irgendwie hier verwaltet und dann rutschen
die so nach und nach durch. Wir hoffen,
dass die Verwaltung in einer fairen Reihenfolge folgt,
nämlich fair wäre in dem Fall das,
was wir erwarten an Gerechtigkeit,
dass der,
der zuerst bestellt hat,
auch zuerst bekommt
Ja, vielleicht gibt es noch jemanden, der sagt,
oh, ich muss ganz schnell zu meiner Lehrveranstaltung oder zu meinem Flieger
oder was auch immer, der wird dann ein bisschen vorgezogen,
aber eigentlich geht das in einer klaren Reihenfolge.
Das heißt, das schiebt sich so durch. Das heißt,
was zuerst reingekommen ist, geht auch zuerst rein, zuerst raus,
die Abkürzung dafür ist FIFO, First in First Out.
Soweit gehen wir jetzt nicht. Hier geht es erstmal nur darum,
wir haben Bestellungen, das ist das,
was wir hier als Gegenstand haben und wir nehmen sie an
und verarbeiten sie
Das wäre ein Beispiel für so ein, für eine fachliche Aufgabe.
Wir haben jetzt hier noch gar nichts von IT gesehen.
Wir haben noch nichts von Benutzeroberfläche gesehen,
sondern nur erst mal zu verstehen, was ist denn fachlich
ein Werkzeug und wir versuchen, solche Werkzeuge zu finden.
Wenn wir ein Werkzeug bauen wollen, deswegen hier das Wort Konstruktion,
da wollen wir versuchen, also von diesen Werkzeugen,
von der Idee, von dem Verständnis,
was ist das denn fachlich, auszugehen?
Und dann zu legen,
wie machen wir das technisch
Technisch ist das immer in Klassen- und Objekten organisiert.
Klar ist, das ist das, was wir machen,
mit objektorientierter Programmierung. Und da muss das Werkzeug natürlich wissen,
mit welchem Material arbeite ich das.
Und das muss es von Anfang an wissen.
Deswegen übergeben wir das als Konstruktur. Das,
was wir bis jetzt immer nur irgendwie einen Wert jetzt,
übergeben wir auch schon etwas Komplexeres.
Wir übergeben das Material als Konstruktur. Gleichzeitig muss das Werkzeug
auch wissen, womit mache ich denn die Datenverarbeitung?
Wer macht denn das für mich? Und das wäre der
Service. Und das wird auch mit übergeben gleich beim Start.
Und das Layout und die grafischen Elemente,
die kann das Werkzeug selber steuern
So, die UI-Klasse hatten wir schon gesagt,
wir erzeugen damit die grafischen Komponenten, die grafischen Elemente,
ordnen die an, haben immer einen Überblick drüber über einen Status, das nennen wir Verwalten.
Und deswegen brauchen wir, das ist der Punkt,
wo wir jetzt dann dieses Entwurfsmuster mal einführen wollen,
weil wir wiederkehrende Aufgaben haben, die wir immer in gleicher Weise durchführen wollen.
Soweit zu den verschiedenen Bestandteilen, die wir hier haben und Damit sind wir erst mal mit diesem Wamm-Elementen fertig. Wir haben kurz dargestellt,
dass wir mit diesen Entwurfsregeln nur eine Untermenge haben und diese vier Arten von Elementen,
die wir in der Fachlichkeit suchen,
die wir strukturähnlich überführen wollen in die technische Lösung,
Materialien, das Veränderbare, was häufig Arbeitsergebnisse sind,
Fachwerte, das, was unveränderlich sind, Services, das,
was eigentlich die Verarbeitung durchführt, nämlich Dienstleistungen sozusagen und Werkzeuge,
das, was interaktiv dem Menschen gegenübertritt,
vom Menschen bedient wird,
dem Menschen anzeigt
Ja, und wir haben hoffentlich gezeigt, ja, man muss die Dinge suchen.
Das ist durchaus nicht so leicht zu nehmen.
Deswegen steht ja fachlich anspruchsvoll. Man muss dazu verstehen,
was denn da für Abläufe sind. Bei der Bar,
die haben wir als Beispiel gewählt hier, kann man das vielleicht selber tun,
weil man schon mal Gast in der Bar war.
Sie wissen es wesentlich genauer, wenn sie da mal gearbeitet haben.
Und wenn wir kompliziertere Vorgänge nehmen, nämlich von mir aus,
wie wird denn ein Zoll abgewickelt oder wie wird denn
eine Steuerberechnung gemacht, da müsste man schon mehr wissen.
Das machen wir deswegen ja nicht. Auf jeden Fall
ist es fachlich anspruchsvoll, während die Werkzeuge,
das ist etwas eine technische Aufgabe
Soweit erstmal. Dazu weiter geht es gleich mit dem Beispiel
eines Entwurfsmusters, was wir verwenden können,
um diese Werkzeuge zu konstruieren im nächsten Abschnitt