Schauen wir mal. So die nächsten vier Stunden hier hinter uns bringen.
Muster der Woche heute. Damit fange ich heute an.
Fast jede Woche fange ich mit dem Muster der Woche an.
Heute wollte ich mit Ihnen mal über das Schablonenmuster sprechen.
Was ist das denn? So die Idee war ja,
wir werden so im Laufe des Semesters,
werden wir so die Muster so
ein bisschen mal aufsammeln
Und am Ende werden wir die dann bei den konstruktiven Einheiten
dieser Vorlesung wieder aufsammeln. Also wenn wir so schauen,
wo die einzelnen Muster zum Einsatz kommen heute, das Schablonenmuster.
Dazu jetzt so zwei, drei kleinen, nicht zwei,
drei, zwei kleine Beispiele. Ich denke,
da könnte ich jetzt so anders als beim letzten Mal,
wo ich sagte, naja, wenn ich also 40 von Ihnen sage,
sie sollen so dieses oder jenes System bauen, kriege ich wahrscheinlich 38 Lösungen.
Wenn ich sie auffordere, das hier zu schreiben, zu implementieren,
denke ich, die Lösungen dürfen alle ziemlich ähnlich aussehen.
Also was wollen wir machen? Eine Asky-Datei einlesen und auf
die Standardausgabe ausgeben. Aha, okay. Vor der ersten
Zeile soll was passieren, nämlich das soll ausgegeben werden und
nach der letzten Zeile soll auch was ausgegeben werden.
Das vermute ich mal, wird nicht länger
als eine Viertelstunde dauern, oder?
Das zu implementieren
Kaum. Es ist auch kein weiteres Geheimnis da drin.
Also sie sollen nicht, dass sie denken,
wenn wir jetzt irgendwas vom Leitbild für eigenverantwortliche Expertentätigkeit erzählen, nein, nein.
Also, wie sieht das aus? Blablabla,
da geht's los, hier irgendwas, irgendwas passiert davor,
dann der extrem aufwendige Hauptteil des Programms,
mit so einer interessanten Abbruchbedingung, wie dem auch sei.
Wir lesen was ein und dann sind wir wie gegeben aus,
wir lesen was ein und es wird halt immer wieder ausgegeben,
du dumm, du dumm und zum Ende passiert noch was und tschüss.
Das dazu, das verstehen wir. Zweite Applikation,
wieder eine Viertelstunde später, die Größe einer Datei soll bestimmt werden,
alle Zeichen sollen mitgezählt werden.
Aha, wie machen wir das? Strukturähnlich, würde man
sagen. Irgendwas wird initialisiert. Der Hauptteil,
Also es wird irgendein Counter, wird jetzt hier hochgezählt.
Das nächste Zeichen wird gelesen bis zum Ende. Und am Ende
wird irgendwas ausgegeben. Nämlich wie viele Zeichen wir gelesen haben.
So, jetzt haben wir zwei kleine Anwendungen geschrieben.
Und eigentlich könnten wir sagen, Feierabend.
Doch nicht der auf Wiederverwendung. Gepolte Softwaretechniker sagt, so,
jetzt gucken wir uns, immer schließlich das ganze Wochenende,
Zeit. Gucken wir uns das mal an und überlegen,
gehen einen Schritt zur Seite. Was ist denn da jetzt
so, wenn man so abstrahierend drauf schaut,
was ist da passiert
Ist auch schön, hanseatisch hier, Applikationen mit C geschrieben.
Wir schreiben Zentrum mit C. Was ist da passiert?
Also wir haben was geöffnet, wir haben was initialisiert,
wir haben was getan. Also Zeichen verarbeiten und dann,
naja, das, was wir hier jetzt unterscheiden wollen,
ist also einmal eine allgemeine Form und einen jeweils spezifischen Inhalt.
Und das ist etwas, so eine Technik,
die ist ziemlich grundlegend für zum Beispiel Framework-Konstruktion.
Da kommen wir gleich noch drauf zu sprechen,
ist die Anwendung des Schablonenmusters auf dessen Spur,
ob wir uns jetzt gerade bewegen
Also die Idee, es gibt eine allgemeine Form,
die ist kompliziert, die muss man mal entdecken.
Die will man nicht, also zwei, drei,
vier N mal hintereinander schreiben, die will man genau einmal schreiben.
Und es gibt einen spezifischen Inhalt, den spezifischen Inhalt,
den muss man jeweils schreiben. Also genau einmal. Und
das hier, so bringt man das jetzt auf den Punkt.
Übrigens von Herrn Riebisch gebeten worden, auch Prüfungsfragen zu stellen.
Ich mache das nicht schriftlich, ich mache das jetzt hier,
können Sie ja dann nicht nachlesen,
sondern nach Video
Dafür habe ich ja hier Lecture to go.
Was ist die Idee des Template-Patterns, des Schablonenmusters?
Fände ich einen guten Kandidaten. So. Was ist also,
das ist die allgemeine Form und jetzt sieht es schon hoffentlich,
nicht hoffentlich, sieht es möglicherweise schon etwas komplizierter aus.
Wollen wir das mal gemeinsam lesen? Können Sie
das noch lesen? Gut. Wer hat Ja gesagt?
In der ganzen Form. Wo ist mein Zeigstock
Kann so nicht arbeiten. Ah, danke. So,
also, was passiert hier? Was ist denn das hier
? Das ist die allgemeine Form oder der spezifische Inhalt?
So nach allgemeiner Formausweis. Ja,
so wie wir allgemein sagen, also wir Softwareentwickler, Appstrack.
Was passiert hier in der allgemeinen Form?
Ruhen. Aha,
was bedeutet Ruhen
Es ist hier, aha, es wird was initialisiert,
ja, was ist Initialize, das ist das,
ja, es gibt eine Standard-Implementation für Initialize.
Nope, wofür steht Nope? Wie? Danke,
das steht nämlich nicht für Know-Hope,
so ein, also, Initialize haben wir,
dann haben wir für jeden, was weiß ich,
Process, dieselbe Implementation,
Nope und dann Terminate,
Achso, haha, tja. Also das sieht mir auch
ziemlich nop-artig aus. Was können wir jetzt damit anfangen?
Also der Algorithmus ist vollständig durchimplementiert. Das sieht man ja hier.
So, wieso ist die Klasse dann eigentlich trotzdem noch abstract?
Ja. Was ist eine abstraction, die passiert?
Stimmt. Warum machen wir die nicht auch nop?
Ja. Das ist das Spezifische. Ja. Ja,
insbesondere wollen wir nicht, dass,
also würde ich jedenfalls nicht wollen,
dass von dieser Klasse jemals
ein Objekt erzeugt wird
Das ist irgendwie überflüssig. Könnte man machen,
aber es ist, also das wäre ein bisschen sehr abstrakt.
Es wäre ein sehr konkretes Objekt für ziemlich viel Nob.
Okay. So, das, was nämlich hier,
was da in dem konkreten Teil passiert ist, also Process,
ja, in dem TIE-Processor, also dem Ding,
was wir zuerst gesehen haben, da wird was ausgegeben.
Da werden interessanterweise, also werden die beiden anderen Operationen nicht reimplementiert.
Und bei Initialize, also wir brauchen hier offensichtlich nichts zu initialisieren. Und bei dem Charakter der Account-Processor werden Initialize und Terminate auch nochmal überschrieben. So,
also was wir hier haben, ist jetzt so die allgemeine Form,
da wird also dieser unfassbar komplexe Algorithmus, der hier,
der wird vorimplementiert, was extrem hilfreich ist,
weil ich brauche ziemlich viele Adjektive im Moment, unfassbar kompliziert,
extrem hilfreich, worauf ich hinaus will ist, dass da,
das könnte ja auch ein bisschen was komplizierteres sein,
das will man nur einmal implementieren und dann hat man,
kann man davon profitieren,
indem man Hier nur noch die einzelnen sogenannten Schablonen-Methoden implementiert.
So, das ist doch schön. Das ist jetzt also
das Konkrete Beispiel für die abstrakte Form. So, und dann wie sieht die eigentliche, wie sieht die eigentliche Applikation dann aus? Naja,
ich muss hier so an diesen abstrakten Pfeil-Prozessor,
muss ich ein Objekt einer Unterklasse binden, nämlich das mache ich hier,
aber mit dem TIE-Prozessor und das kann ich auch hier mit dem Character-Account-Prozessor machen und dann rufe ich jeweils die Run-Methode auf übergebe,
den aktuellen Parameter und ich habe jetzt aus zwei Applikationen,
die vergleichsweise ähnlich sind,
habe ich jetzt also eine generelle Form gemacht und kann mich darauf verlassen,
dass der so in der Oberklasse, in der abstrakten Klasse implementierte, komplexer Algorithmus gleich funktioniert.
Das ist ein weiterer Effekt, dieses Schablonenmusters, Dinge,
von denen man weiß, also dass sie,
wenn Fehler auftreten, dass sie schwerwiegende, schwerwiegendere Auswirkungen haben,
die kann ich also rausziehen und meinetwegen wegen besonders qualifizierten Entwicklern übergeben oder ich kann sie besonderen Tester fahren unterziehen.
Da hat man also verschiedene Vorteile. Insbesondere,
also neigen ja dann, also wenn man das also getrennt implementiert,
dass wenn man an der einen Stelle möglicherweise einen Fehler entdeckt hat,
man hat das nicht rausgezogen, dann muss man das ja an End stellen,
muss man diesen Fehler auch noch wieder, also berichtigen.
Das ist also dann viel einfacher, effizienter zu handhaben,
also auch aus Wartungsgesichtspunkten, wenn man das mal an eine Stelle rausgezogen hat.
Wir haben jetzt in diesem Schon gesehen, also dass man
sogenannte abstrakte Implementationen verwenden kann. Das ist jetzt erstmal,
hört sich erstmal an, wie so ein Widerspruch in sich,
abstrakte Implementationen, was ist damit gemeint. Dann nehmen Sie,
Sie brauchen jetzt nur an diese Process-Routine, naja,
die Run-Routine denken, die Run-Routine, also konnten wir implementieren,
obwohl einzelne Bestandteile, also dessen,
was da prozessiert wird im Run,
noch gar nicht implementiert gewesen sind
Trotzdem ist das ein effektiver Algorithmus. Und davon,
dass so davon wird in diesem Schablonenmuster, wird davon also vielfach gebraucht gemacht,
dass man eben nicht darauf angewiesen ist, alles,
was speziell ist, im Voraus zu implementieren, sondern man nimmt so,
man kann auf die nur bis dato spezifizierten Operationen sich schon beziehen.
So, das ist jetzt hier nochmal an dem Beispiel,
also der Float, also ein Beispiel dieser unterschiedlichen Listen wird es nochmal verdeutlicht.
Also man hat also diese gesamten abstrakten Operationen. Die Idee ist,
also ich habe für jede Art von Listenoperationen, habe ich also dieselben,
die dieselbe Schnittstelle, bloß das also in den unterschiedlichen Spezialisierungen,
die einzelnen Operationen unterschiedlich implementiert sind.
Das ist so die Grundidee und wenn ich also diese,
wenn ich diese einzelnen Operationen, wenn ich weiß,
dass ich immer dieselbe Schnittstelle habe,
dann kann ich auch schon anfangen, Also abstrakte Implementationen vorzunehmen,
wie das an dem Beispiel vorhin auch schon hoffentlich deutlich geworden ist.
Und ich habe halt für eine, für eine ganze Familie
in diesem Fall von Listen, kann ich dieselbe Schnittstelle verwenden.
Das ist also als Technik, gerade für die Implementation von Rahmenwerken
, wird das sehr gerne eingesetzt
Kennen ja auch Rahmenwerke, also mindestens so aus der Gui-Programmierung, so Graphical-User-Interfaces.
Das ist also alle möglichen Oberflächenelemente schon mit bestimmten Vorimplementationen daherkommen und sie,
also nur noch, also so spezifisches Verhalten dazu, implementieren müssen.
Also in der Regel das, also wie wollen sie
darauf reagieren, wenn ein bestimmter Knopf gedrückt worden ist?
Sie haben keine Idee davon, also was vorher und nachher passiert,
also nachdem so ein Ereignis wie zum Beispiel ein Knopfdruck an ihr Programm weitergeleitet worden ist.
Sie haben keine Idee, so wie das implementiert ist.
Sie wissen nur irgendwann, werde ich halt gerufen und dann
muss ich also eine mit null vorimplementierte Operationen, so ist das regelmäßig implementiert.
Dann muss ich ein spezielles Verhalten in dieser Operation implementieren,
um einen bestimmten Effekt in meinem Programm zu erzielen.
Wir können darüber hinaus, also so nochmal zurück zu diesen abstrakten Klassen,
zu diesen abstrakten Implementationen, also auch schon so höherwertige Operationen implementieren,
ohne dass wir genau wissen,
also wie denn jetzt diese einzelnen Operationen hier implementiert sind.
Das ist jetzt hier ein Beispiel von dieser Methode Contains
enthalten, die ausschließlich auf abstrakten Operationen beruht.
Aber das vertut man sich ja auch schon mal gerne,
mindestens als Programmieranfänger und als erfahrener Programmierer möchte man sowas eigentlich auch nicht ständig programmieren.
Also weil wo fange ich an? Also beim ersten Element
und dann beim letzten Element und dazwischen,
also kann immer irgendwas schief gehen.
Also ist so eine abstrakte Vorimplementation echt hilfreich,
weil sie einen von lästigen Routinetätigkeiten befreit
Contains, so was benutzt das, das empty,
wir wissen nicht, also wie das dann in den einzelnen,
in den einzelnen Unterklassen implementiert ist, genauso wissen wir nicht,
also wie next of start Item,
so wie diese Operationen dort implementiert werden,
das hindert uns aber nicht da dran,
bereits diesen Algorithmus in der abstrakten Oberklasse zu implementieren.
Das ist doch hilfreich. In diesem Sinne, die Schablonenmethode mit Einschubmethoden,
was ist es, also wozu ist die dann im Weiteren gut?
Es wird also der Skelett eines Algorithmus,
wird implementiert und das was so spezifisch ist,
das wird an einzelne Unterklassen oder wird an Unterklassen delegiert.
Also wir können die allgemeine Struktur, die können wir
verwenden und wir können spezifisches Verhalten in Einschubmethoden überschreiben.
Also jedes Mal, wenn wir solche Algorithmen entdecken,
die in Variante Teile haben, also die ihre Struktur unverändert lassen,
dann nehmen wir das und das variierende Verhalten,
das wird jeweils in einer Unterklasse implementiert
Wichtig ist halt,
dass man nur das in variante Verhalten,
also in der Oberklasse, herausextrahiert, womit man,
wenn man erstmal anfangen muss gegen das in Varianteverhalten zu implementieren,
dann ist die Frage,
ob man also da noch auf dem richtigen Weg ist,
weil dann ist das Schablonenmuster möglicherweise nicht geeignet gewesen an der Stelle oder man muss sich ein anderes Verfahren überlegen.
Ich habe schon darauf hingewiesen,
dass es grundlegend ist zur Wiederverwendung, insbesondere für Rahmenwerke.
Ich war auch schon darauf hingewiesen am Beispiel, so das Goem,
also der Verwendung des Schablonen muss das in Gui-Bibliotheken.
Man weiß nicht, wann man gerufen wird und das ist eben
ein Beispiel für das sogenannte Hollywood-Prinzip, don't call us, we call you.
Ich weiß halt nicht, also wann dieser invariante Algorithmus,
also mich mit meinen Einschubmethoden, wann der mich rufen wird.
Ich weiß nur, irgendwann wird er mich rufen und dann
muss ich, also mit dem speziell implementierten Verhalten muss ich
reagieren können
Ja. So, sieh mal, Rahmenwerke schreiben wollen,
dann ist das Schablonenmuster sicherlich ein, ist sicherlich hilfreich für sie.
So, und das hier bitte ich Sie dann,
schauen Sie das in der Nachbereitung der Vorlesung,
schauen Sie sich das nochmal an.
Das hier ist eine doppelte Anwendung des Schablonenmusters. So,
das kann dann also beliebig, beliebig komplex werden,
also ist dann aber auch so eben beliebig variabel und vielfältig in Projektkontexten einsetzbar.
So, was haben wir jetzt schon an Mustern kennengelernt?
Was habe ich hier vorgestellt? Letzte Woche habe ich
das Proximus da vorgestellt, diese Woche das Schablonenmuster.
Nächste Woche denke ich, komme ich dann mal zur Fabrik.
Soviel zum Muster der Woche. Jetzt zurück in den Kontext
des Werkzeug und Materialansatzes
So. Bevor ich hier einsteige,
worüber hat denn Heribisch gestern mit Ihnen gesprochen?
Ich habe ihm erzählt, dass ich Sie immer frage.
Ich habe ihm auch erzählt, was die typische Antwort ist.
Sagt er, kennt er schon.
Also, worüber haben Sie
gestern gesprochen
Worüber hat er gestern gesprochen? Ja. Klasse.
Zustützt hier. Halte ich für möglicher. Ja,
Klassen und Zustände, der Klassendiagramme und Zustandsdiagramme.
Klassendiagramme haben wir uns gerade angekaut, angeschaut.
Zustandsdiagramme. Heute nicht. Ein andermal. Aber sie haben
bei Zuständsdiagrammen hoffentlich gleich an das Bundesamt für den Zivildienst
gedacht,
Der tote Zivi, Dienstunfähig für immer. Ja, so das
kann man sich doch merken. Na gut, okay,
wir sind noch ein bisschen entfernt von Klassen- und Zustandsdiagrammen,
was den Wamm-Ansatz anbetrifft, aber ich verspreche Ihnen,
da kommen wir auch noch hin.
Wir waren beim letzten Mal, waren wir eingestiegen,
Leitbilder, Leitbilder, welche Leitbilder in der Softwareentwicklung haben Sie
denn schon von mir gehört?
Gute Frage,
kreuzen Sie an.
Ja, was ist das denn?
Ja. Welche Dimensionen oder welche, nach welchen Kriterien,
welche Kriterien haben wir noch identifiziert bezüglich Konsequenzen der Verwendung eines
Leitbildes?
Für wen ist es hilfreich
Ist es für die Kinder der Softwareentwickler hilfreich? Bitte. Bei
dem Softwareentwickler, der sich damals gar nicht mehr dabei ist,
in der du uns nicht gefüllt werden musst.
Genau. Oder nicht. Ja, und bei der Fabrik
ist es, er muss geführt werden. Ja, oder
wir führen ihn. Das tun wir jetzt einfach. Ja,
so, es gibt also eine,
man kann also die Rolle der Entwickler und auch die Rolle der Benutzer,
kann man in einem solch mithilfe eines Leitbildes so einengen.
Wer ist für was zuständig? Wer hat welche Verantwortlichkeit?
So, Fabrik hatten wir. Was gibt es noch
Ja. Das ist dein Bild,
um zum Entwickeln für den eigenen Verantwortlichen Experten.
Ja. Rolle des Entwicklers. Werkzeuge erschaffen, die sich
der Anwender aus seiner eigenen Art und Weise anordnen kann.
Ja, und die Rolle des Anwenders.
Der Experte. Helft dir selbst.
Ja,
vielen Dank
Wenn ich schon ein Werkzeugmacher bin, muss ich dem Werkzeugbenutzenden
nicht sagen, also wie er seine Werkzeuge zu benutzen hat.
So lasse ich mal selbst anordnen und dann soll er selbst entscheiden,
wann er welches Werkzeug nimmt. So. Leitbilder, Arbeitsplatztypen,
Synonym, ein so ein Arbeitsplatz, der Arbeitsplatz für Fachleute in bei einem Anwendungsgebiet.
Das ist so das, das dominante Leitbild des Werkzeugmaterialansatzes.
Warum ist es so? Wir haben uns das so oder sagen wir mal,
wir haben uns dieser, Neudeutsch gibt es ja keine Probleme mehr,
es gibt ja nur noch Herausforderungen. Also wir haben uns der Herausforderung,
Arbeitsplatz für Fachleute zur flexiblen Erledigung, vielfältige Aufgaben gestellt,
weil das also für die Softwareentwicklung die größte, das größte Problem darstellt.
So eine Fabrik, das können wir eigentlich relativ gut bauen,
weil das ist so, das ist, das entspricht zu unserem Denken,
why not ended do oder Input Process Output,
Das haben wir unter Kontrolle.
Das ist so algorithmisch, von vorne nach hinten ist das so,
ist das deterministisch, nicht deterministisch, es ist also planbar.
So, versus so ein Arbeitsplatz, Werkzeug liegt da herum und weiß es nicht,
also wann nimmt er was und wie muss das mit anderen Werkzeugen zusammenpassen.
Also wenn man sowas bauen kann,
dann kann man die anderen Arten von Arbeitsplätzen eigentlich auch bauen.
Deswegen ist das hier so um das Problem gleich an seiner Wurzel anzupacken,
Werkzeugkonstruktion für interaktive Anwendungssoftware, das ist das komplizierteste.
Wenn wir das beherrschen, dann können wir die anderen Arbeitsplätze auch.
Der Funktionsarbeitsplatz So, ich habe, glaube ich,
schon die Geschichte vom Piloten erzählt, qualifiziert,
also eine qualifizierte Tätigkeit, aber so doch eine Reihe von Routinisierten Aufgaben.
Keine freie Anordnbarkeit von Werkzeugen am Arbeitsplatz,
sondern das ist so eine standardisierte Arbeitsumgebung, so mit dem Blick,
mit dem Ziel, ich möchte diejenigen, die davor sitzen, auch austauschen können.
Ich möchte das zum Beispiel im Dreischichtbetrieb, möchte ich
diese Arbeitsplätze bestücken können. Und dann der einfache Sachbearbeitungsplatz,
also typischerweise so, so ein Beispiel dafür, so Callcenter-Arbeitsplatze,
also wie der Funktionsplatz auf Austauschbarkeit ausgerichtet, aber eben mit einem geringen Qualifikationsniveau.
Und was wir uns heute so im Laufe der nächsten Dreiviertelstunde mal anschauen werden,
ist, welche Konsequenzen hat das,
so wenn man diese Typisierung von Arbeitsplätzen im Hinterkopf hat,
welche Konsequenzen hat das, also anhand so verschiedener Kriterien.
Also ich hatte ja ganz am Anfang der Vorlesung gesagt,
so ich möchte ihn jetzt nicht erzählen, Das,
also für die Modellierung am Beispiel, das für die Modellierung von Geschäftsprozessen,
also das ausreichend hinreichend ist mit Kooperationsbildern,
Arbeitsplatzbildern und IT-Interaktionsbildern, sich zu beschäftigen.
Ich möchte Ihnen auch nicht erzählen,
dass das hier die einzigen drei möglichen Typen von Arbeitsplätzen sind.
Da fallen mir also aus dem Stand meinetwegen noch der Gruppenarbeitsplatz
und auch vielleicht noch ein anderer Typ von Arbeitsplatz ein.
Was ich Ihnen aber erzählen möchte, ist,
dass wenn Sie in Analyse-Situationen sind, es hilfreich ist,
also sich mit diesen Kritisierungen zum Beispiel der Arbeitsplatztypen,
so ein gewisses konzeptionelles Verständnis davon zu haben, dass man diese Arbeitsplatztypen unterscheiden kann.
Das hilft ihnen in einer Analyse-Situation,
wenn sie also fremd in eine Firma reingehen,
also sich zu überlegen, aha,
wenn das also ein Funktionsplatz ist oder wenn ich das als Funktionsplatz betrachte,
dann kann das den möglichen Designspielraum für eine Software-Lösung schon mal wieder eingrenzen.
Und das ist hilfreich,
dass man nicht immer den gesamten Designspielraum ausnutzen muss,
ausnutzen soll, Also sich schon so mit so Schablonen,
apropos Schablonen musste,
dass man sich schon mal mit Schablonen beschäftigt und also sich das Leben,
also nicht nur sich,
sondern auch also für das Projekt das Leben ein bisschen einfacher macht.
So, in diesem Sinne, wenn wir uns jetzt
diese Arbeitsplatztypen mal anschauen, was sehen wir hier?
Ein Schreibtisch. Das ist ein etwas archaischer Schreibtisch.
Das ist der Arbeitsplatz für einen sogenannten Passivberater,
was den Passivberater, das sind Leute,
die in der Bank sitzen und darauf warten,
dass sie mit ihrem Geld da hinkommen und fragen,
was können wir denn jetzt nun machen
Und an dem hier können Sie sehen, wie alt,
also muss dieser Screenshot sein?
Da hat jemand doch tatsächlich 34.80 K in Diskette.
Das sind doch was in der Diskette ist. Ja,
ja, das ist so was, was so rattert.
Heute ist, er ist so ein bisschen aus der Mode gekommen.
Gott sei Dank. So, aber so die Idee,
das ist ja, das hier ist so eine der ersten Mac-Implementationen,
Apple-Implementationen für einen solchen Arbeitsplatz eines Passivberaters
Und er war damals, als wir geholfen haben,
also den mit zu implementieren, war das revolutionär.
Weil der Passivberater, der hatte auf einmal auf seinem Schreibtisch,
der hatte vorher so was,
das werden sie wahrscheinlich noch nie in ihrem Leben gesehen haben,
so eine Grün auf schwarz, 24 mal 80 Bildschirmmaske,
eines Terminals.
Und dann konnte der durch also Menüebenen von Hauptmenüs und Untermenüs wandern,
um mal also ein paar Zahlen für eine Modellrechnung einzugeben.
Und was wir für den gemacht haben, war,
der konnte hier auf einmal auf einen Modellrechner
doppelt klicken
Und dann hat er eine Modellrechnung gemacht und er konnte ein Modell rächen.
Blatt, konnte der dann in einen Kundenordner legen.
Das war für die, also was völlig Neues,
was völlig anderes. Und für uns war dann neu,
naja, also das Leitbild vom Arbeitsplatz für Eigenverantwortliche Tätigkeiten,
der macht also möglicherweise gerade seine Modellrechnung und dann ruft jemand an.
Soll passieren und möchte also mit ihm einen Termin ausmachen.
Also so das Zusammenspiel der Werkzeuge, da ist kein großer Plan.
Und was der insbesondere nicht möchte,
ist also den Modellrechner mit seiner unvollständigen Modellrechnung,
möchte der jetzt also nicht so sagen, ich gehe jetzt,
ich unterbreche das jetzt oder vielmehr, ich breche das ab,
um in meinen Terminkalender zu kommen.
Das will man gar nicht. Man möchte das zur Seite legen und sagen,
so, wenn ihr mein Telefonat fertig ist, dann hole ich das wieder hervor.
So, genau so, wie wir das heutzutage auch gewohnt sind,
also mit den unterschiedlichen Office-Werkzeugen umzugehen, also freies Spiel.
So, sowas wollen wir, solche Arbeitssituationen wollen wir unterstützen,
keine große Maschinerie, die da abläuft, jedenfalls bei diesem Leitbild hier,
sondern Eine Menge von Aufgaben, die flexibel kombinierbar sind.
Das ist so diese, das gemeint hier mit diesem Spiegelstrich,
komplexe, oft wechselnde Tätigkeiten.
Das ist wenig vorhersehbar und situatives, sogenanntes, situatives Handeln wird erfordert.
Die Werkzeuge selbst sind für Fachleute in ihrem Gebiet geschaffen.
Und insbesondere haben solche Werkzeuge, die Werkzeuge selbst sowieso nicht,
aber bei der Implementierung braucht man keinen Wert darauf zu legen,
dass die sich selbst erklären
Und wenn da jemand das erste Mal drauf schaut,
ist das also nichts Schlimmes, dass der sagt,
ups, was mache ich denn jetzt damit?
Wo fängt es an und wo hört es auf?
So etwas komplizierteres Werkzeug braucht man typischerweise auch eine Anleitung, wie das zu bedienen ist.
Kooperative Tätigkeit darauf werden wir noch eingehen. Ich habe bis jetzt ja,
also unsere Welt sieht ja so für die, sieht so aus,
es gibt also den Menschen von mir aus den Fachmann hier,
der sitzt an seinem Schreibtisch und Modell rechnet so lustig vor sich hin,
aber wir haben ja schon bei den Kooperationsbildern,
bei der Geschäftsprozessmodellierung gesehen,
kooperative Tätigkeiten müssen auch unterstützt werden.
Und wenn es nur für so etwas ist,
wie das Vier-Augen-Prinzip irgendein Dokument muss gegengezeichnet werden.
Also das ist auch ein Merkmal für so eine,
für einen solchen Experten-Arbeitsplatz
So, wie unterscheiden wir jetzt, also allein nicht,
wie unterscheiden wir, so nach welchem,
in welchen Dimensionen wollen wir uns jetzt anschauen,
wie sich diese unterschiedlichen Arbeitsplatztypen, wie die gestaltet werden können.
So, diese vier Dimensionen werde ich jetzt so im Folgenden unterscheiden,
weil die haben sich als so als tragfähig,
als Menge haben die sich erwiesen, als Ausgangspunkt für,
also für die Ausgestaltung, diese Arbeitsplätze.
So erstmal Vielfalt der Aufgaben. Was kann man an einem
solchen Arbeitsplatz, wie unterschiedlich können die Aufgaben sein,
die wir unterstützen
Welchen Umfang von IT-Kenntnissen muss ich voraussetzen, weil das ist eben was anderes,
ob ich also den ganzen Tag an meinem Terminal sitze und hochspezialisierte Aufgaben durchführe versus,
wir bauen ja auch Software für Leute, das ist jetzt wirklich nicht,
also arrogant oder herablassend gemeint, die müssen sich erstmal ihre Handschuhe ausziehen,
bevor also die etwas mit dem Gerät machen.
Gehen Sie mal in den Hafen,
also wenn da also der Trucker aus, sagen wir,
der Ukraine ankommt oder aus Russland,
der ist ein anderes Zeichensystem gewöhnt, der kennt halt kyrillisch,
Ja, und für den,
wenn der nach 18 Stunden fahrt, darf der nicht,
also jedenfalls nach einer etwas längeren Fahrt da ankommt und also seinen Container aufs Schiff bringen will,
dann will der nicht, also mit der Maus,
so an einem Arbeitsplatz für eigenverantwortliche Expertentätigkeit seinen Container einchecken.
Das muss, also mögt, der muss jetzt zwar keine Handschuhe ausziehen,
aber das sollte doch möglichst,
also mit dem einen oder anderen, also nicht Fausttieb,
aber doch mit einfachen Handlungen möglich sein.
Also bei dem können wir also was Umfang der IT-Kenntnisse anbetrifft,
also da dürfen wir nicht allzu viel voraussetzen
Ebenso hier dieses, wenn nicht so eine einfache,
was ist mit Ausmaß an Flexibilität, so ein Experte,
der wird wohl eine höhere Flexibilität,
also erwarten und auch vertragen als jemand,
der also nur eine sehr schmale Ausbildung hat.
So und dann noch die Frage,
also wie weit ist die einzelne Tätigkeit oder das Themengebiet?
Wie weit ist das, wie groß ist der Umfang der jeweiligen Unterstützung?
Bei so hochautomatisierten Tätigkeiten würde ich davon ausgehen,
dass der Umfang an Unterstützung sehr groß ist,
während also bei Expertentätigkeit ist möglicherweise der Umfang der Unterstützung nicht so groß.
So, das sind so die Dimensionen und jetzt gucken wir
uns das mal an. Klick, klick, klick.
So, das ist unser Arbeitsplatz für Eigenverantwortliche Tätigkeit.
Dieses Bild sollten Sie sich jetzt mal,
wenn das gleich weg ist, kurz wieder vor Augen halten,
wenn wir die anderen anschauen.
Also von dem erwarte ich, ich fange mal hier an,
einen hohen Umfang an IT-Kenntnissen.
Das kann man heutzutage,
denke ich,
auch tun
Viele Tätigkeiten sind ohne IT-Unterstützung gar nicht mehr möglich.
Gleichzeitig hat er eine hohe Vielfalt an Aufgaben zu erledigen.
Und, also braucht ein hohes Maß an Flexibilität.
Der Umfang der Unterstützung ist im Vergleich zu den anderen drei Dimensionen
eher klein. Weil einem viel auch außerhalb der Software
stattfinden muss
So. Welche Arbeits, welches, welche Arbeitsplatztypen haben wir noch? Funktionsarbeitsplatz. So,
den Piloten habe ich schon genannt,
aber wenn wir mal hier solche Röntgenanalyse-Arbeitsplätze,
das müssten Sie mal, also ich wünsche Ihnen nicht,
dass Sie geröntgt röntgen, tut nicht weh, aber,
aber so, wenn man sich solche Arbeitsplätze anschaut,
wenn Sie das nächste Mal zum Rand gehen gehen,
gucken Sie mal zu, also was die danach machen.
Also das ist fast schon fabrikartig, der sitzt da,
also jetzt nicht so festgeschnallt,
aber da wird also so an dem Röntgenfacharzt werden,
also so die Röntgenbilder vorbeigeleitet
Und dann kann der Schablonenartig, kann der also befunden da reintippen.
Und dann sieht das schon so, wenn es eine Lunge ist,
dann macht er halt, also einen anderen Standardbefund,
als wenn er meinetwegen auf eine Leber guckt,
was weiß ich, was man noch alles röntgen kann.
Wieso komme ich auf Lunge und Leber? Wahrscheinlich war ich cut,
sagt er jetzt nichts weiter zu. Sagen wir mal,
Knochen oder so, dann sind das schon mal andere Standardbefunde,
als das, also was der so,
das ist halt standardisiert, so je nachdem,
was da jetzt gerade gerönt wird.
Also das ist eher fabrikartig,
was da passiert
Nicht, dass ich jetzt also auch nur ansatzweise versuchen würde,
diesen Röntgenfacharzt also wegzuautomatisieren, aber ich kann den also schon sehr schematisch unterstützen in seiner Tätigkeit.
Weil es sind eben auch schematische Befunde, die er da zu schreiben hat.
Und jetzt sehen Sie hier schon immer noch so gar nicht richtig in die Ebene der Entwurfsmetaphern eingedrungen,
aber also der wird also so von so einem Automaten,
wird der gesteuert und dann hat er als Materialien,
die er bearbeitet, also zum Beispiel Patientenakten, die der Befund eingetötet wird
Und Dinge dieser Art, so,
er wird gesteuert von einem großen Automaten, der dann sagt,
also nur noch sagen, wo er nur noch sagen muss, so,
und jetzt das nächste Bild, zack, gib mir mal den nächsten,
also Standardbefund und dann wird der, werden da Textbausteine miteinander verknüpft.
So, ähnlich sieht das also an so einem Laborarbeitsplatz aus. Das heißt,
also, ich kann jetzt so,
was ich jetzt mit Ihnen tue, ist,
ich zeige Ihnen jeweils Beispiele für so unterschiedliche Arbeitsplätze und was wir nachher gucken,
ist,
also mit welchen,
also konkreteren Entwurstmetaphern lassen sich
solche Arbeitsplätze
sinnvoll ausgestalten
Der Funktionsarbeitsplatz, wenn wir uns den jetzt mal anschauen,
wie so in welchen Dimensionen sich das abbilden lässt oder
die Dimensionen sind ja die gleiche,
aber wie die gleichen oder wie die ausgeprägt sind.
Ja. So, also. Umfang der IT-Kenntnisse braucht man nicht
so viel von, man wird ja im Wesentlichen gesteuert.
Vielfalt der Aufgaben, ganz gering. Weil man kann halt
eine kleine Anzahl von Standardaufgaben kann man erledigen.
Die werden aber sehr umfangreich unterstützt.
Das ist also wirklich wie aus einem Guss.
Das ist das Ziel
Ausmaß der Flexibilität, praktisch gleich null. Also ich kann außerhalb,
also meines, so denken sie immer an diesen Röntgen-Facharzt,
also außerhalb dieser schematischen Befunde, kann ich kaum was machen.
Da kann ich nur noch den Notstopp drücken und sagen,
ich muss jetzt mal was anderes machen,
als du jetzt mal einen neuen Befund schreiben.
Aber ansonsten, der Arbeitsplatz ist also eher, hat er sowas zwangsjackenartiges als was anderes.
Flexibilität darf man. Man darf keine Flexibilität an einem solchen Funktionsplatz erwarten.
Das ist ja so jetzt wiederum nur mal ein Beispiel der Anordnbarkeit.
Also das ist dann auch kein Designziel mehr für sie.
Wenn sie sich mit jemandem darauf einigen, der Funktionsplatz,
also das ist das, was wir bauen,
dann können sie also diese Schwierigkeit, dieses Designziel,
das können sie gleich vergessen.
So, da muss man sich nur noch in Anführungsstrichen darüber unterhalten,
also welche Aufgaben sollen eigentlich hochgradig unterstützt werden und alles,
was da nicht drin ist,
das kommt auch nicht vor
So, ich habe vorhin schon so gesagt,
so diese drei Arbeitsplätze, zumindestens einer fällt mir noch ein,
nicht umsonst der hier, der Gruppenarbeitsplatz, als wir das erste Mal,
also das ist hier ein Beispiel eines Stationszimmers im Krankenhaus,
als wir das erste Mal, also mit sowas konfrontiert gewesen sind,
stellen sich sofort, also ganz erhebliche datenschutzrechtliche Fragestellungen,
so wenn so verschiedene Leute mit,
also möglicherweise nicht nur möglicherweise mit sensiblen Daten zu arbeiten haben,
also was ist da eigentlich zu beachten,
dass der von seinem Zuschnitt ganz anders sein muss,
als der Arbeitsplatz, den wir jetzt gerade gesehen haben,
denke ich,
ist offensichtlich
Weil, also da ist nichts schematisch. Da kommt jetzt gerade,
kommt also die Krankenschwester rein, morgen kommt also die Lernschuhe
oder nicht morgen in der nächsten Sekunde kommt.
Also der Assistenz, der Stationsarzt rein will was ganz anderes gucken.
Also da ist nichts mit, also hier muss irgendwas
automatisiert durchgezogen werden, wie bei dem Funktionsplatz.
Also hier spielen ganz andere Dinge eine Rolle. Also ich
muss schnell mal, also ganz verschiedene Sachen beschauen können,
ich muss schnell mal etwas notieren können.
Das ist so das Leitbild des Gruppenarbeitsplatzes.
Das sind so typische Benutzungssituationen für den Gruppen,
für den Gruppenarbeitsplatz
Materialien, also wir wollen also schnell auf Patientenakten zum Beispiel
zugreifen können oder wir sowas wie ein Bettenplaner, also das,
was so den Alltag in der Station, in diesem Fall ausmacht.
Also die Idee, verschiedene Gruppen von Benutzern, Gruppen von Benutzern können,
also mehr oder weniger gleichzeitig auf dieses Ding zugreifen.
Wie sieht das dann aus? Sehr vielfältige Aufgaben, die so nicht besonders tief unterstützt werden. Wir können Dadurch,
dass das also so viele verschiedene Leute sind, die damit zu tun haben,
also muss der notwendige Umfang der IT-Kenntnisse eher gering sein,
was aber gleichzeitig so bedeutet,
dass es von einer Sekunde auf die anderen muss es möglich,
muss es möglich sein, einen anderen Kontext herzustellen,
also indem das Ding benutzt wird.
So, das ist wie gesagt, also das hilft,
das was ich, wir für hilfreich halten an dieser Diskussion ist,
also sich jeweils klar zu machen,
welchen Typ von Arbeitssituationen sieht man da vor sich,
Und dann kann man identifizieren,
um daraus dann auch Rückschlüsse für die späteren Implementationskonstruktionsaufgaben ziehen zu können.
So, ich habe von dem einfachen Sachbearbeitungsplatz gesprochen und
der Selbstbedienungsautomat ist so eine Ausprägung.
Das ist also so mehr oder weniger synonym,
also für diese Art von, für diese Art von Leitbild.
Also die Benutzer in dem Fall, also sind Leute,
die Bankkunden, können sie überhaupt keine Aussage darüber machen,
welche IT-Kenntnisse die haben
Fachliche Kenntnisse dürften die, also dürfen sie nicht annehmen,
dass sie die haben. Flexibilität, die wollen halt eine Sache,
wollen die mal, oder zwei Sachen wollen, die erledigt haben.
Und das also möglichst geleitet auch noch. Also da ist so,
das ist sozusagen, wenn man so will, ist,
dass das Gegenteil vom Leitbild Eigenarbeitsplatz für eigenverantwortliche Expertentätigkeit, das genaue Gegenteil.
Keine Ahnung, von nix. Und es muss sofort und schnell
klappen. Und wenn es nicht klappt, dann ist,
also liegt es hoffentlich, am Kontext, weil es nicht klappen konnte.
So, was sehen wir hier? Materialien werden natürlich verändert,
also verwendet und verändert. Das bleibt auch nicht aus. Aber hier so was wie Hilfewerkzeuge,
was man an den anderen Typen von Arbeitsplätzen eher wenig findet,
weil man ja davon ausgeht,
dass da die ein oder andere Fachkraft dran ist.
So, insofern gibt sich auch hier ein typisches Bild,
ganz deutlich die Ausprägung hier.
Also wenn ich zu so einem Überweisungsautomaten in der Bankfiliale
gehe oder so ein Gerät im Internet verwende,
dann muss das,
also eine
fast hundertprozentige Unterstützung sein
So, ich weiß ganz genau, ich kann nur genau das machen,
also so mit meinem Online-Zugang oder mit, also in so einer Schalterhalle.
Es werden fast null IT-Kenntnisse vorausgesetzt. Es ist jedenfalls die Hoffnung.
Also, dass man keine IT-Kenntnisse braucht, um sowas durchzuführen.
Flexibilität, nein, mit so einem Automaten,
also mit so einem Selbstbedienungsautomaten, kann man nicht sprechen.
Es gibt keine Flexibilität hier. Es ist ein Automat einmal eingestellt,
dann läuft der und der ist so,
der ist nicht besonders diskussionsfreudig, wenn es darum geht,
Kann ich jetzt noch eine Überweisung machen oder kann ich nicht?
Der ist der Automat, selber kann da überhaupt nicht mehr,
der ist da überhaupt nicht variabel.
So. Jetzt haben wir, also jetzt habe ich schon so verschiedene,
verschiedentlich auf so Werkzeug, Automat und Material hingewiesen.
Ich habe ihn jetzt mit keiner Silbe gesagt,
so welche zentrale Bedeutung das jetzt so für ihre zukünftige konstruktive Tätigkeit haben wird.
Hat es aber. Weil es ist ja, So,
sie kennen ja schon so verschiedene Metaphern,
also die Begrifflichkeit, Metapher ist ihnen ja auch schon,
ist ihnen schon an der einen oder anderen Stelle des Studiums
über den Weg gelaufen.
Also sie könnten ja nicht, also das zweite Semester,
welche Datenstrukturen haben sie denn schon kennengelernt?
So,
Datenstrukturen, ja
Ich hatte so gehofft, dass sie sagen, Keller.
Keller. Das ist vorbei. Schlange ist, ja, Keller.
Ja, ich meine, sie haben meine Frage korrekt beantwortet.
Das ist meine zentrale Hoffnung, nicht erfüllt haben,
ist echt mein Problem.
Keller. Ja, Matt geht auch noch.
Was sind denn Maps
Ja, so, das ist die informatische Interpretation,
so die Map als solche ist ja, die gibt es ja auch schon länger.
Ich komme gleich darauf zurück, ja. Ja, so
, es gibt eine informatische Interpretation davon. Die Map,
es ist so im Ursprünglichen, also die Leute,
die nichts von IT verstehen, die kennen ja auch,
also die Buchstabenfolge MAP, ja, ist aber,
die meinen dann was anderes damit.
Genauso ist das mit, also den Kellern,
also den Kellern und den Schlangen und was gibt es
denn noch
Hoffnung sterben. Haufen, ja.
Also auf Haufen möchte ich jetzt nicht Licht weiter eingehen.
Ja, also das ist hieb, gibt es noch.
Ja, das ist so was Deck-artiges. Gut,
was ich gerne habe, sind also Bäume,
die informatischen Bäume, die von oben nach unten wachsen.
Das tun sie auch gerne. Grafen. Also die IT
ist voll von Metaphern. Und jetzt überlegen wir uns so,
naja, also welche Metaphern könnten denn sinnvoll sein,
also Arbeitsplätze zu gestalten
Weil Arbeitsplatzgestaltung ist jetzt gerade das, worüber wir reden.
Das Leitbild für meinen Arbeitsplatz, habe ich schon mal gesagt,
ist also die Halde. Der Hieb. Es ist eben
eigenverantwortliche Expertentätigkeit. Inwieweit sie das dann leitet,
er möchte eine Müllkippe gestaltet bekommen,
wie weit sie das dann leitet, um meinen Arbeitsplatz,
also wirklich erfolgreich,
auch IT-technisch zu unterstützen,
möchte ich
mal bezweifeln
So, ich wollte jetzt erst mal nur darauf hinaus,
ja, also Metaphern, das ist jetzt nichts Esoterisches und selbst in einer so neumodischen Vorgehensweise wie,
also Extreme Programming, also wird ja so als Technik genannt, die Metapher.
Aha, da soll, also seine,
gibt dem System seine innere und äußere Form,
ich denke jetzt immer an die Müllkippe,
also innere und äußere Form, okay, jedenfalls,
die Müllkippe hat auch so ein konsistentes Benutzungsmodell, das wird man wohl,
also das kann man wohl sagen und es ist so wie die architektonisch aussieht,
es könnte einen eher schlicht ist,
könnte ein eher schlichtes Design ausreichend sein.
Aber wenn man sowas mal also effizient durchsuchen möchte,
dann muss man sich schon wieder anstrengen.
So, die geben bei XP auch Beispiele für Metaphern,
die sich erfolgreich so in der Softwareentwicklung einsetzen lassen und so ein paar davon.
Kennt man ja auch. Also so Einkaufswagen oder sowas.
Also selbst ist es so Excel-Sheets sind ja auch so Leid,
sind ja auch so Metaphern,
die konstruktiv eingesetzt werden
Was wir jetzt im Werkzeugmaterialansatz tun, ist, also wir sprechen,
also jetzt von Entwurfsmetaphern, als einer speziellen Ausprägung von Metaphern.
Und von so einer Entwurfsmetapher fordern wir, naja gut,
also wir machen uns zunächst mal Gedanken über ein Leitbild,
über einen Arbeitsplatztyp.
So, es gibt also so eine grundsätzliche Orientierung,
worauf wir hinaus wollen. Und dann brauchen wir noch Entwurfsmetaphern,
um so ein Leitbild,
wie das hier steht,
fachlich und konstruktiv auszugestalten
Das heißt, wir wollen,
wenn wir so über Leitbilder sprechen,
nicht nur einmal das Leitbild, den Arbeitsplatztyp benennen,
sondern dann auch schon die erste Idee davon entwickeln,
welche Entwurfsmetaphern passenden, also zu einem solchen Leitbild.
Ich fange mal mit der Fabrik an. Also was ist
denn das, was sie so typischerweise in Fabriken vermuten?
Außer Menschen. Ja, bitte. Ja, noch was
. Ja, Laufbänder, ja. So was mit Band
hatte ich jetzt auch gerade im Kopf
Ja. Ja. Waren. Ja, die dort hergestellt werden, ja.
Also die verarbeitet werden, ja. Ja, noch was
. Also das konstituierende Merkmal einer Fabrik, denke ich,
ist das Fiesband. Das Fiesband ist also so die Organisationsstruktur,
an der sich die Waren und alles andere,
die Menschen, die in dieser Fabrik arbeiten,
zu orientieren haben
Darum sind die gruppiert, also um dieses Fließband herum. So,
und das Fließband ist eine Form von, also Maschine,
eine Maschinerie, so die, so gemeinhin als Automat bezeichnet wird.
Das ist also der große Automat, so wunderbar, Charlie Chaplin,
moderne Zeiten, so der diese Fabrik, also realisiert.
Das heißt also, zum Leitbild der Fabrik gehören so Automaten,
was man dort nicht findet, also jedenfalls würde mich das überraschen,
während also so diese kleinen Inseln der Glückseligen,
die jetzt sagen,
okay,
wir hämmern uns jetzt
ein Auto zusammen
Das würde ich nicht erwarten, dass sowas passiert. Ich meine,
es gibt so andere Organisationsformen für Fabriken, außer so mit einem Fließband,
aber so das generelle Bild der Fabrik heißt,
es gibt also diesen Automatismus,
diesen übergeordneten Automatismus und den kann ich also mit einem Notstoppschalter,
kann ich ihn unterbrechen, aber ansonsten kann ich,
der Takt wird durch diesen großen Automaten vorgegeben.
Versus Leitbild vom Arbeitsplatz für Eigenverantwortliche Tätigkeit,
die Werkstatt,
da läuft nichts
Da fließt nix. Da sind Leute, die wollen was,
also zusammen herstellen und die suchen sich so Werkzeuge,
mit denen sie diesen Herstellungsprozess selbst gestalten.
Das heißt, die gesamte Kontrolle liegt bei denjenigen,
die also morgens Licht an und sagen, so,
was machen wir denn jetzt?
Das ist ja auch ein bisschen pointiert, dieses Bild,
aber so, das heißt also,
für so diese Arbeitsplätze für Eigenverantwortliche Tätigkeiten erspielen Automaten erstmal eine etwas untergeordnete Rolle.
Da sind also Werkzeuge, sind da viel wichtiger.
Sowas in beiden, was in beiden Leitbildern jetzt vorkommt,
ist,
also Automaten
Als Arbeitsmittel, Werkzeuge als Arbeitsmittel, was da jeweils bearbeitet werden.
Also Sie haben das vorhin Waren genannt, Waren,
also betriebswirtschaftlicher Begriff, was Arbeitsmittel, Automaten und Werkzeuge,
was mit denen bearbeitet wird, sind Arbeitsgegenstände.
Also das Ergebnis der Tätigkeit, diese Arbeitsgegenstände, die bezeichnen wir als Materialien.
So, jetzt haben wir das schon mal so in einem Satz rund. Arbeitsmittel,
Automaten, Werkzeuge, Arbeitsgegenstände, Materialien,
die können unterschiedlich organisiert werden in der Fabrik, ist,
dass also der Automat,
der das Wesentliche Kriterium ist oder das Wesentliche Leitbild darstellt,
die Entwurfsmetapher darstellt versus in der, bei der Eigenverantwortlichen Expertentätigkeit,
sind es eher die Werkzeuge.
So, das ist so von der, das ist damit gemeint,
dass also die Entwurfsmetaphern zu dem Leitbild passen sollen.
Das ist die fachliche Idee, was wir gleichzeitig möchten,
ist, dass wir so für die Softwareentwicklung,
wenn wir so ein Leitbild jetzt mal fachlich ausgestaltet haben,
dass wir das Ganze auch noch technisch konstruktiv gestalten können.
Das heißt, es gibt also eine Idee, wenn ich jetzt die Idee habe,
Ich möchte mal ein paar Werkzeuge an diesem Arbeitsplatz vorfinden.
Und die möchte ich konstruieren. Dann soll ich über die Idee,
es soll ein Werkzeug sein, auch noch wissen, wie soll das implementiert werden?
Und dann möchte ich nicht von jemandem hören,
wenn ich nachher frage, sagen Sie mir doch mal,
so wie Sie ein Werkzeug konstruieren möchten,
dass mir jemand in einer Prüfung sagt,
ach wissen Sie, ich bin nicht so der Hacker-Typ.
Das fände ich ein bisschen wenig. Also für jemanden,
die Sie sind,
hauptsächlich sind Sie SSEler
Nicht, dass ich von ihnen erwarte, dass wir Hacker-Typen sind,
aber so ein Werkzeug konstruieren sollte schon drin sein.
Also ein Werkzeug implementieren. So, also,
die drei Material, die drei Metaphern, Werkzeugautomat, Material.
Das ist die Idee, also das Wann-Ansatzes, fachliche Interpretation
und eine technisch konstruktive Interpretation. Und diese Konstruktionskonstruktive Interpretation,
die hat auch etwas,
und da kommen wir jetzt in den nächsten Wochen noch drauf,
etwas mit der Verwendung von Entwurstmustern
zu tun
So, jetzt könnte es schon sein,
es ist jedenfalls meine Hoffnung, dass sie so anfangen,
dass worüber ich so in den letzten drei,
vier Wochen mit ihnen gesprochen habe.
Dass da so, dass sie anfangen,
so nicht einen roten Faden zu entdecken,
sondern dass sie vielleicht schon so mitbekommen,
da ist da, das hängt irgendwie miteinander zusammen.
Wir gucken auf Organisationen
und sehen Geschäftsprozesse
Diese Geschäftsprozesse werden also von Akteuren bearbeitet. Das sind Akteure,
die handelnden Personen, die benutzen Gegenstände, um also ihre Aufgaben zu erledigen.
Sie tun das kooperativ, sie tun das an ihren Arbeitsplätzen.
Wir haben Typen von Arbeitsplätzen dann identifiziert. Und diese
Typen von Arbeitsplätzen stehen in einem engen Zusammenhang mit dem,
was wir in der Softwareentwicklung als Leitbild bezeichnet.
Und diese Leitbilder werden konstruktiv ausgestaltet durch die Verwendung von Entwurfsmetaphern
. Werkzeugautomatmaterial
Also wir haben jetzt für diese verschiedenen Typen von Leitbildern können wir auch sagen,
was sind so die vorherrschenden Entwurfsmetaphern in diesen Leitbildern und der nächste Schritt,
den wir gehen werden, ist, wenn wir fachlich identifiziert haben,
was so an Entwurfsmetaphern wir an einem solchen Arbeitsplatz sehen wollen,
dann können wir auch eine Aussage darüber machen,
wie soll das technisch konstruiert werden.
Das heißt, wir kommen von ganz vorne,
also jedenfalls aus der Sicht,
also eine Softwareentwicklers von ganz vorne,
von den Geschäftsprozessen bis runter zu einer konstruktiven Anleitung,
wie soll das ganze Zeug
eigentlich implementiert werden
Das ist doch schon mal nicht schlecht,
wenn sie dazu noch das nehmen,
was der Herr Riebisch ihnen donnerstags erzählt,
dass sie das also mit verschiedenen UML-Diagrammen abbilden können,
dass er Leitlinien dafür gibt, also wie das zu verwenden ist,
dann kriegt es doch hoffentlich ein halbwegs rundes Bild oder gibt es ein halbwegs rundes Bild.
Mit der ersten Entwurfsmetapher fange ich heute noch an,
was ist ein Werkzeug?
Können Sie irgendwas hier voll
Ich könnte jetzt fragen, gibt es Hobbyfolterer unter ihnen,
die diese Werkzeuge kennen, aber eigentlich ist es mehr was für Hobbygärtner.
Ja, was mit den Werkzeugen ist so eine Sache,
oder? Da guckt man so drauf und denkt,
was zu, was um Himmels Willen,
kann man
hier mitmachen
Ist es ein verunglückter Schraubenzieher? Das hier könnten Sie
schon mal gesehen haben. Bei Papa. Oder
das hier. Kann man hier mit Tee kochen?
Wer braucht sowas? Und wenn ich sowas habe,
wozu brauche ich noch sowas
Das mit den Werkzeugen ist, also das,
denke ich mal, da gibt es ganze Studiengänge wahrscheinlich,
die sich damit beschäftigen, dass so Werkzeug etwas ist,
was das Menschsein unterscheidet von dem Rest dessen,
was da draußen so rumkreucht und fleucht.
Vielleicht mal abgesehen von so ein paar Schimpansen,
die mit einem Strohhalm artigen Ding,
also in irgendwelchen Ameisenlöchern gelernt haben, rumzustochern,
aber die Herausbildung von Werkzeug ist also Ich will mich da gar nicht,
zumal das hier aufgezeichnet wird, also will ich mich gar nicht,
also da jetzt aufs Glatteis bewegen.
Es gibt also, soweit wie ich das da reinschaue,
also gibt es ganz schön viele Beweise und ich beweise,
aber Hinweise darauf, dass also die Erschaffung von Werkzeugen etwas,
also wirklich ingeniöses in sich trägt. Sie können ja mal,
also dann von mir aus danach googeln oder so,
wenn es darum geht, so die, was diese Werkzeuge da,
was die bedeuten, sondern was man damit tun kann,
das erschließt sich nicht durch Draufguck, So,
wenn wir jetzt versuchen zu erklären,
also was ist denn ein Werkzeug?
Wozu ist das gut? Und dann kann man sich halt,
das war ein Nebenbeispiel hier, was tut der denn da?
Was hat der da in der Hand? Ja,
ich würde auch sagen, das ist ein Hobel.
So, was tut man mit einem Hobel?
Jetzt dürfen sie ruhig sagen, hobeln.
Und beim Hobeln fallen bekanntlich Späne
Also der hobelt da so vor sich hin.
Das heißt also, wer von Ihnen schon mal gehobelt hat,
wird denken, ja, das kann man so machen.
Abgesehen davon wissen wir nicht, also ist das jetzt gerade der Dorfdepp,
der da, also der sich an einem Hobel versucht?
Oder ist das ein Meister seines Fachs, der vorher möglicherweise
das Stück, das er jetzt gerade hobelt, zurechtgesägt hat?
Aber wie erklären Sie, was ein Werkzeug ist,
der Sie erklären, ist dadurch,
was kann ich
damit tun
So, wozu ist es gut und wie gehe ich damit um?
Für welche Art von Aufgabenerledigung kann ich das verwenden?
Das ist also so die Idee, wie,
also was man hier mit diesem Gerät machen kann.
Und jetzt habe ich gerade schon versucht,
so den Bogen von der,
also Geschäftsprozessmodellierung bis zur konstruktiven Wendung durch,
also im Softwareentwickler
zu schaffen
Möglicherweise ist ein Grund dafür, warum sich objektorientierte Programmierung als herrschendes Programmierparadigma durchgesetzt hat,
die der Umstand, dass wir so leicht Gegenstände modellieren können.
Und Werkzeuge sind jetzt zunächst mal Gegenstände, mit denen ich
etwas tun kann zu einem bestimmten Zweck. Das heißt,
die Lücke zwischen, das ist das, was ich so,
was ich jetzt so bewirken möchte, das ist der Effekt,
den ich durch dieses Stück Software erzielen möchte, nämlich,
dass ich ein Werkzeug bauen kann und dem,
wie ich es implementieren kann,
ist nirgendwo so klein wie mit Verwendung,
objektorientierter Mittel
Ich kann jetzt mal, also im Idealfall kann ich eine Klasse implementieren,
die heißt das Werkzeug beziehungsweise so im konkreten Fall, der Hobel,
das möchte ich mal sehen, das war eine Klasse,
Glas Hobel, dass sie sowas implementieren,
das kommt wirklich etwas Hobelartiges bei raus,
aber wie dem auch sei, die Lücke zwischen dem,
was ich von außen den Eindruck, den ich erzeugen möchte,
was für ein Werkzeug das ist,
ob das jetzt ein Modellrechner ist oder ein Vertragseditor und dem,
was ich konstruktiv zur Verfügung habe, sprich Klassen und was dazugehört,
die ist nirgendwo so geklein,
wie jetzt bei den,
wie bei der Verwendung eines objektorientierten Paradigmas
Genau. Also, die Metapher Werkzeug,
was ist ein Werkzeug? Die Verbindung zur Aufgabe,
Gegenstände mit denen, also gegen ein Werkzeug,
das ein Gegenstand mit den Menschen im Rahmen einer Aufgabe,
Materialien verändern oder sondieren können.
Wir werden nächste Woche immer mit den Materialien weitermachen,
wenn ich also sage, na gut,
so Materialien sind Gegenstände, die von einem Werkzeug bearbeitet werden.
Dann wird irgendjemand von ihnen sagen,
aber wir haben doch gelernt,
dass zyklische Definitionen,
also zu vermeiden sind
Ja, da haben sie recht. Ja, und
was machen wir dann? Weiß ich jetzt auch nicht.
Doch, ich weiß, was wir jetzt machen.
Ja. Was, wenn ich jetzt frage, was ist
das? Wie würden Sie mir diese Frage beantworten?
Jetzt sagen Sie dich, das ist ein Zeigestock.
Das weiß ich selbst. Dass hier ein Werkzeug oder
ein Material... Wie sagt dem, was die dann machen
Was mache ich denn gerade? Ich glaube, das ist
unabhängig davon, ob es ein Werkzeug oder ein Material ist.
Ich werde es also immer in meinen Fingern halten müssen.
Wenn ich das so verwende, das ist ein Werkzeug oder ein Material?
Zählen Hände als Werkzeug? Oh, das fragen Sie mal,
die Kollegen in der Biologie. Es ist, wieso? Also ich würde die ohne mit der Wimper zu zucken fragen und sagen wir mal,
ohne dass ich sie bis jetzt gefragt habe, es gibt Diskussionen,
also mindestens, also es gibt wohl so eine Position,
dass eine Hand ein Werkzeug ist, aber dass die,
das, was ich mir so hier an Werkzeug schaffe,
um irgendwas zu verändern oder sondieren, dass das also nichts anderes ist,
nichts, das will ich jetzt auch nicht sagen,
dass es so verlängerte Hände spezialisierte Hände sind,
weil ich eben schon gelernt habe,
wie meine Hand als Werkzeug zu verwenden ist.
Also das, ich würde mal sagen,
das ist jetzt, hätte ich doch einen Hammer mitgenommen.
Hätte ich doch einen Hammer mitgenommen und sie hätten dann gesagt,
ja, der Hammer ist ein Werkzeug, hätte ich gesagt,
genau.
Ja,
aber nicht immer
Wenn ich also den Hammer-Stil hobele, was für eine Idee,
dann ist das also ein Material in dem Fall.
Oder was eben auch passiert ist, man haut so häufig,
also mit dem Hammer auf irgendwas rum, dass der Kopf abfällt.
Und dann muss ich ihn halt wieder draufstecken.
In dem Moment ist der Hammer ein Material. Wie das
heißen? Ich kann es diesem Zeug nicht wirklich ansehen,
was es ist. Ich kann aber in einer Arbeitssituation,
und das ist ja genau das, worauf sie hinaus wollten,
wenn ich sie richtig verstanden habe,
in einer Arbeitssituation kann ich eindeutig unterscheiden, Wenn er gerade hämmert,
dann ist der Hammer ein Werkzeug.
Wenn er ihn repariert, dann ist der Hammer ein Material.
Und damit ist die Welt wieder rund. Ich kann zwar jetzt,
also was die Definition anbetrifft, komme ich aus diesem Zyklus nicht raus,
aber in einer Arbeitssituation kann ich das jeweils eindeutig festlegen.
Und das, so dieser Zusammenhang zwischen Werkzeug und Material,
so wie wir jetzt im Weiteren über Softwareentwicklung nachdenken oder so Anleitungen versuchen zu geben,
Der ist schon, sagen wir mal,
also das ist schon einer der Eckpfeiler des Werkzeugmaterialansatzes.
Interessanterweise gibt es ja so in der Softwareentwicklung,
sie kennen ja alle das ein oder andere Unix-System.
Es gibt jede Menge Tools. Würde man auf Deutsch sagen, Werkzeuge.
Es gibt aber keine Materialien. Im Unix-Umfeld. Es gibt
Asky. Asky ist das Standardmaterial, so für Unix-Tools. Alles,
was sich so in Pipes miteinander verbinden lässt,
wo es immer liebevoll, so wusste es,
Asky konvertiert werden,
um es auf der anderen Seite wieder zu irgendwas höherwertigen aufzubauen
Auch so. Also wir, die Tools ohne Materials,
das ist so. Werkzeug vergegenständlich, wiederkehrende Arbeitshandlung,
das müssen wir nachher noch mit Automaten, werden wir das noch auseinanderhalten.
Das wird uns aber auch nicht schwerfallen. Also das hat schon
was Wiederkehrendes. Der Hammer vergegenständlich die Figur des Hämmerts,
das ist das Wiederkehren an dieser Arbeitshandlung. So. Konzeptionelle Eigenschaften,
also das schauen wir uns dann nochmal an ein paar Beispielen an,
lassen sich gut übertragen, so direkte Abbildung.
Naja, hier steht selten sinnvoll, also das kriegt man
eigentlich so gar nicht hin
Das war es dann für heute,
also wir sind jetzt soweit,
wenn wir das uns nächste Woche mit den Materialien anschauen,
dann sind wir soweit,
dass wir auch schon so einen Blick in die Konstruktion werfen können,
sind kurz davor, ihr erstes Softwarewerkzeug zu implementieren,
das auf ein Softwarematerial zugreift und dann werde ich Ihnen noch so das ein oder andere Entwurfsmuster nahelegen,
sodass das also eine tech fachlich untechnische Runde Angelegenheit wird.
In diesem Sinne
ein schönes Wochenende