Im zweiten Abschnitt setzen wir eigentlich nur das Wort,
was wir im ersten Abschnitt schon gemacht haben,
so eine ganz klare inhaltliche Trennung gibt es nicht.
Wir bewegen uns weiter von dieser Diskussion des Zwecks,
des Modellbegriffs hin dazu, was brauchen wir wirklich für eine Modellierungssprache,
für eine bestimmte Anwendung. Wir hatten begannen damit,
ach so, wir werden gleich fortsetzen mit der Frage 4,
aber zunächst erst mal kommt es noch zu einem Beispiel.
Wir hatten angefangen mit dem Modellbegriff nach Stachoviak,
mit den drei Eigenschaften,
die wir hier mit den drei Merkmalen eines Modells Und insbesondere der Pragmatismus und ihr möchte ich fortsetzen,
wir hatten verschiedene Beispiele und jetzt möchte ich ein Beispiel nehmen,
was wir als Übungs, sie haben ja als Übungsaufgabe zu diesem Blog.
Ein eigenes Modell zu diskutieren und was ich ja mal mitgebracht habe,
ist etwas, was die Hamburger alle ganz gut kennen,
nämlich der Plan der Stadt des öffentlichen Nahverkehrs der Stadt Hamburg.
Ich habe mal hier eine Version gebracht,
die auf so eine PowerPoint-Folie gerade noch so drauf passt,
nicht wirklich gut lesbar,
aber ich gehe mal davon aus,
dass die meisten von ihnen das schon mal gesehen haben
Was zeigt uns das? Es ist ein Modell.
Ja, sie erfüllt die Eigenschaften eines Modells.
Ja, ich gehe mal zurück zu dem Modellbegriff.
Also wir haben tatsächlich ein beschränktes Abbild der Realität.
Es gibt eine Realität. Es gibt den Nahverkehr in Hamburg.
Es ist eine Abbildung. Ja, es ist nur davon gemacht.
Es ist eine Verkürzung. Es ist bei weitem nicht alles
dran. Und lassen Sie uns das das mal anschauen.
Und dann, wozu kann man es verwenden?
Das wäre der Pragmatismus. Ja, also was ist
denn dran
Hier dran ist, auf jeden Fall,
es gibt die Linien, die sind farbig gekennzeichnet.
Ja, dann gibt es die Umsteigemöglichkeiten und die Haltestellen.
Die Haltestellen nur die solche kleinen Eckchen, die Umsteigemöglichkeiten durch solche kleinen Vierecke.
Was ist noch dran? Die Folge ist auf jeden Fall korrekt dargestellt.
Man kann hier auch so ganz grob ungefähr sehen, wo man ist.
Das Hellblaue soll die Elbe sein. Aber, und hier
die Alster natürlich, aber so ganz genau sieht man es nicht.
Also man kann zum Beispiel nicht ablesen, wie groß ist denn
der Abstand zwischen Niendorf, Nord und dem Hamburg Airport.
Das sollte man hieraus nicht versuchen abzulesen. Das ist diese Information,
ist hier nicht enthalten, ist gerade mal abzulesen, okay,
das ist beides irgendwie eher nordlich, damit er einzusiedeln.
Was wir zusätzlich noch an Informationen haben, ist diese hellblaue Linie hier,
das ist die Tarifgrenze zwischen Großbereich und Nahbereich zwischen Hamburg AB
oder die Grenze des Tarifpreis Abi und Außens ABC.
Ja, wenn wir die Legende lesen könnten, ja,
das will ich nicht wirklich erwarten,
dann steht hier auch noch dran, und rasten,
parken und heißen, P&R ist dran.
Und es gibt ja so ein kleines Rollstuhlsymbol für den barrierefreien
Zugang, der glücklicherweise überall zunehmend gebaut wird.
Das sind die Informationen, die daraus gewinnen kann.
Es gibt aber ganz viele Informationen, die nicht dabei sind.
Zum Beispiel eben diesen benannten Abstand, die Fahrzeiten,
es steht auch nicht da, wie häufig werden die Linien bedient.
Ja, es gibt durchaus Linien, die eher selten bedient werden.
Es geht auch nicht dran, was es kostet.
Oder wann beginnt der Betrieb und wann hört er abends auf?
Auch das steht nicht da
Gut, da gibt es solche Sachen hier, die da
so aussehen, als würde ich einen weiten Umsteigeweg haben.
Auch das ist nicht wirklich ganz klar zu sehen. Die wichtige Frage ist,
was kann ich mit diesem Modell machen oder für welchen Zweck ist es gedacht?
Das Modell ist augenscheinlich dafür gedacht,
wir können den Urheber nicht direkt fragen, ist aber dafür gedacht,
dass ich weiß, wenn ich von Volksdorf nach Stellingen möchte,
was, welche Linien kann ich denn benutzen,
wo muss ich denn umsteigen?
Wobei dieser Plan ganz konkret noch die Buslinien nicht enthält,
die müsste man noch hinzufügen. Das wäre also auch noch eine Erweiterung.
Aber hier kann ich erstmal Linien heraussuchen, die ich,
wo ich umsteigen kann, wo könnte ich alternativ langfach.
Diese Funktion der Reiseplanung, diesen Benutzungszweck, Planung einer Reise,
reicht dazu recht mit den Informationen nicht ganz?
Und tatsächlich gehört zu diesem Modell noch mehr.
Dieses Modell hat es noch ergänzt durch weitere Modelle.
Diesen Plan ist, dieser Plan stellt tatsächlich auch
ein Modell dar
Ermöglicht uns. Er stellt zum einen teilweise die Informationen dar,
die das Vorgehende auch enthalten hat, also auch im Voragenten,
haben wir hier die S21 gesehen,
die hier zum Beispiel zwischen Altona und wo sie hier unten,
nein, genau zwischen Eidelstädt, Zentrum, Eidelstädt und zum Beispiel dem Hoppanhof verkehrt und hier über Dammtor langfährt.
Diese Informationen haben wir in dem nächsten Plan auch nochmal,
also hier Altona, Heidelstädt und Dammtor,
aber für dieser Plan hat noch mehr Informationen zu bieten,
nämlich dann ist die erste Fahrt,
wie häufig passieren diese Fahrten hier eben alle 20 Minuten,
in dem Bereich tagsüber von 7 bis 20 Uhr alle 10 Minuten,
wann ist die letzte Fahrt, nämlich 22, 30 und dann ist erstmal bis null noch nichts mehr.
Das sollte ich wissen. Manchmal gibt es hier andere Streckenführung,
das kann ich daraus ablesen und ich kann auch nochmal Informationen ablesen,
die im anderen Plan auch noch drin ist,
nämlich die Folge der Haltestellen,
welche von denen sind behindertengerecht und es gibt noch ein paar weitere Informationen,
also ihr könnt mir auch zum Beispiel die Fahrzeit rauslesen
Informationen, die andere Aspekte darstellen. Das ist schon die verfeinerte Planung.
Also ich könnte dann mit diesem Plan, mit diesem Modell,
könnte ich raussuchen, mit welchen Linien ich fahre. Ja,
also zum Beispiel, wenn wir wieder sagen,
hier zwischen Volksdorf und Stellingen, Stellingen,
da muss ich hier Hakenpextierpark aussteigen,
dann noch ein Stück den Bus nehmen, ja,
dann hätte ich eben die Möglichkeit,
über den Hauptbahnhof zu fahren und dann mit der U2. Ich könnte aber genauso gut hier auch woanders lang fahren angenommen,
da ist gerade Verkehr, da ist gerade Stau,
dann könnte ich hier umsteigen,
Lübeckerstraße,
Kelling Hosenstraße, Schlump und dann nach Nindorf fahren,
beziehungsweise ganz anders mit dem Bus, der hier nicht der Plan drin ist.
Das ist ein Beispiel für einen Plan für ein Modell,
für einen bestimmten Zweck, nämlich für den Zweck, eine Reise zu planen.
Sie sollen als Aufgabe eigene Modelle entwickeln, eigene Modelle mitbringen,
das finden Sie im Mode. Bitte machen Sie das,
dass wir das hinter der Veranstaltung am 12.11. diskutieren können in dem Meeting.
Ich möchte jetzt nochmal für zwei Sachen das erklären,
was die Aufgabe für uns als gibt,
nämlich für den Ablauf eines Produktionsprozesses möchte ich Ihnen das,
möchte ich das mit Ihnen machen.
Wir gehen vom Zweck aus und sagen, welche Informationen brauchen wir denn damit.
Und zwar bei dem Produktionsprozess interessiert uns nicht unbedingt,
wie viel der kostet, so etwas, sondern die mögliche Zeit dauern.
Dazu brauchen wir, ich nehme erst mal ein neues Blatt hier,
das sollten Sie dann auch vielleicht tun, um mitzumalen,
mitzuschreiben.
Es war einmal näher Querformat und wir wollen
ein Produktionsprozess uns anschauen
Und das Ziel, was wir haben als Aufgabe, ist Zeitdauer, bewährten, untersuchen.
Das Ganze bezieht sich auf Aufgabe 4. So, der Produktionsprozess besteht,
ich sage jetzt mal, ich mache das mal ein bisschen einfach,
wir sagen, wir wollen so eine Briefkastenanlage,
wie sie vielleicht vor einem Mehrfamilienhaus steht, produzieren.
Das ist nichts, was ich von Stange kaufen kann,
sondern ich gebe da einen Produktionsauftrag, diese Firma, die das macht,
die arbeitet im Wesentlichen mit Blech, Schweißen, Farbe,
ja, und ich mache mal die Schritte mit solchen Abgrundkästen,
mit abgerundeten Ecken.
Und habe dann, schreibe dort Tätigkeiten rein. Es so
geht ja um Produktionsschritte. Also das Nächste wäre es,
den Auftrag erhalten. Das geht irgendwie los mit einem Stadt,
ja, so. Und Ausgemalter Kreis. So,
und dann geht es weiter mit, das soll Abgerundete Ecken sein,
hatte ich ja gesagt, das mache ich dann auch,
da bleibe ich dann auch dabei.
Na, Plan entwerfen ist noch ein bisschen zu uns.
Ich male mal Konstruktionsplan, Konstruktionszeichnungen, Konstruktionsplan entwerfen,
schreibe ich mal hier rein,
als weiteren Schritt
Dieser Konstruktionsplan sagt also, wie Long, wie groß,
wie breit, wie soll das hergestellt werden?
Dann, der nächste Schritt ist, Teile zuschneiden.
Das soll auch wieder abgerundete Ecken haben,
da muss ich mal ein bisschen nachbessern hier,
das war ein bisschen so,
weiter geht es
Ich bleibe mal von links nach rechts.
Mit... Nehme mal an, die Teile werden miteinander verschweißt.
Unverschraubt. Und dann, ich mache es mal ein bisschen anders noch.
Ich hoffe, sie haben noch nicht zu viel gemalt.
Wir machen das gleich mal parallel
Und zwar parallel sieht das so aus.
Ich greife ein bisschen vor, nur für diejenigen,
die das schon kennen und ihnen bekannt vorkommt,
das ist ein UML-Aktivitätsdiagramm und hier splitten wir auf.
Wir haben hier Teile verschweißen und hier machen wir
einen Schritt.
Verschrauben? Das Nächste ist Fabig Lackierer, nehmen wir mal an,
an Transit und weiß sind die Farben der Saison und dann würde ich noch machen,
dass wir dann noch Verpacken und versenden und dann ist Schluss.
So, das Ganze, die Symbolik ist relativ einfach.
Wir haben also hier jeweils die Tätigkeiten.
Wir haben die Linien, ich geben die Sequenz an.
Diese zwei senkrechten Linien hier sagen, hier geht etwas,
splintet sich auf, hinten wird es wieder zusammengeführt,
das Zusammenführen heißt,
es geht erst weiter,
wenn beide Teile abgewechselt sind,
beide Teile absolviert sind
Die Reihenfolge ist nicht festgelegt. Tatsächlich kann es ja sein,
ich muss mal die Sachen erstschweißen und dann schrauben und meinte,
das muss ich erst schrauben und dann schweißen.
Deswegen ist es ganz gut, dass das hier getrennt ist,
unabhängig, das andere ist dann wieder in der Reihenfolge und hier ist dann Schluss.
So, das ist ein Modell. Es ist eine vereinfachte Abbildung der Realität,
indem wir mal an die Realität sei so und dann ist das,
ist das, wir wollen jetzt etwas zum Teilverhalten sagen.
Wir brauchen da keine großen Betriebswirtschaftler und Produktionstechnologen oder sonst was
zu sein. Wir können uns denken, okay,
die Reihenfolge ist die Summe der Teile
Ja, und zwar, wenn wir hier die Summe,
die gesamte Dauer, die interessiert uns,
ist die Summe, Zeitdauer, je Schritt.
Ja, also ich hoffe, das Summenzeichen ist eh
noch nicht so ganz entfallen, wie das ist.
Also die Summe aller Zeit dauern für den Schritt.
Und ich muss die also addieren
So, und so sieht das also aus. Ich habe jetzt nicht nochmal hin,
Summeauftrag, Zeitauftrag erhalten, Zeittransfer zu und dann erwerfen und so weiter.
Das wäre schon das Modell, würde den Zweck schon erfüllen,
wenn wir wissen, es gibt diese Reihenfolge und wir haben diese Zeiten.
Also wir wüssten, müssten jeder dran schreiben,
müssen eine Zeit T1, T2, T3, T4,
T5, soll das sein? T6, T7,
T8 haben, ja, und wenn wir das hätten,
können wir das und wir wissen aus der Struktur,
diese addieren sich alle,
also wäre das hier T1 plus T2 plus T3 plus das Maximum von T4T5,
also was länger dauert, bestimmt die Sache.
T5 plus T6 plus T7 plus T8. So,
damit haben wir ein Modell der Zeitdauer. Mehr brauchen wir
nicht. Wir wissen die Reihenfolge. Wir wissen,
wie sich, dass es hier etwas Paralleles gibt.
Das würde sich daraus ermitteln, dass die Maximallänge sich hier anrechnet.
Und das wäre schon genug
Würde die Aufgabe erfüllen,
die wir hier bei Nummer 4 in den Wiederholungsfragen haben,
welche Informationen sind darzustellen, wenn wir einen Produktionszuschritt in mehreren Schritten darstellen,
ermittel ich maximal mögliche Zeitdauer ermitteln wollen,
sagen wir das nochmal mit nochmal richtig dazu.
Also was brauchen wir? Das wäre zum einen,
also ich mache mal hier so den Kasten für die Zusammenfassung,
ich paddiere fast nicht unten drunter,
bei Ihnen passt es bestimmt unten drunter oder vielleicht schreiben wir also Benötigte,
jetzt ist es weg,
das kriegen wir gleich wieder hin
Noch ein Versuch, also die benötigten Informationen schreiben wir hier an die Seite hin.
Die Dauer je Schritt brauchen wir. Anordnung der Schritte in der Sequenz.
Nämlich sind sie alle in Reihe oder sind irgendwelche parallel,
so wie wir das hier unten haben, dass sie Konkurrent gleichzeitig nebenläufig sind.
Ja, und das wäre die Antwort auf diese Frage.
Lassen Sie uns wie noch mal nach vorne schauen,
ja, also das wäre das, was wir,
was in der Aufgabe 4 notwendig ist.
Mehr brauchen wir eigentlich nicht. Wir müssen nicht genau wissen
, wohin der Schritt besteht. Wir müssen nicht wissen,
wie dick die Farbe ist oder wie groß die Fläche sind.
Es reichte uns zu wissen, wie lange der Schritt dauern soll.
Wenn wir es ein bisschen genauer machen wollen,
dann ist das ja meist nicht eine festgegebene Zahl,
sondern eine Schmittchen mit einer gewissen Wahrscheinlichkeit,
dann können wir noch mit Wahrscheinlichkeiten rechnen.
Aber das ist hier von uns nicht verlangt, diese Aufgabe.
Wer wollen ich mich? Ich möchte gerne weitergehen mit Ihnen in Richtung,
dahin zu kommen, was brauche ich für ein Modell?
Ich brauche, ich muss wissen, was ich mit dem Modell machen möchte.
Immer ist ganz einfach, ich möchte nur die Zeitdauer wissen.
Aber je nachdem, was ich damit machen möchte,
brauche ich unterschiedliche Informationen, unterschiedliche Darstellungsformen.
Deswegen ist es wichtig zu wissen, was möchte ich damit machen.
Also hier auf dieser Folie mal ein paar mögliche Operationen,
die denkbar sind
Ja, das eine ist, dass wir, was wir,
können wir damit, was können wir mit dem Ding machen?
Ach, hier ist unser, das weg. Was können
wir mit dem Modell machen? Hier ist es wieder,
also wir können damit Operationen machen, die man im Original nicht durchführen kann.
Wir können etwas untersuchen, wir können etwas Verständigung erreichen,
Kommunikation, Austausch, mit Feedback und Änderungswünschen.
Ja, wir können überhaupt etwas festlegen, definieren,
zum Beispiel Anforderungen festlegen. Oder wir können prüfen,
dass bestimmte Eigenschaften vorhanden sind anhand des Modells und
natürlich man sich dabei abstimmen kann
Man kann über einen Produktionsprozess sein, im Bau eines Schiffes,
genau wie der Bau einer Software.
Und was davon wir brauchen, hängt ja davon ab,
oder sollte die Ausgabe der Ausgangspunkte sein,
die bestimmte Größe dafür sein, was das Modell denn kann.
Dazu ist es vielleicht sinnvoll, dass mal etwas abstrakter zu betrachten.
Wenn wir uns überlegen, mit dieser Frage mit Realität und Original,
dann haben wir natürlich etwas von diesen Operationen,
die wollen wir am liebsten auf dem Original durchführen.
Wir können am Original prüfen, wie schnell
eine Software ist
Am Original prüfen, wo fahre ich denn lang zwischen Volksdorf in Stellingen? Ja,
das können wir im Original machen, aber leichter könnte es uns am Modell fallen,
damit wir das im Modell machen können, brauchen wir ein Modell. Das heißt,
wir haben natürlich, dass meine Abbildung, egal,
ob das jetzt der Plan der Stadt Hamburg ist oder ein Chiffsmodell oder was auch immer,
dann führen wir die Operation an diesem Modell durch,
indem wir dort uns den Weg suchen und sagen,
wie würde denn die Fahrt laufen,
wie würde denn die Bewegung des Schiffsmodells in der Welle passieren?
Wie würde denn der Produktionsprozess laufen? Und dann vielleicht neben Beänderung ein Modell vor,
vielleicht wissen wir auch immer auch nur irgendwelche bisschen zu Bewertungen gekommen
Und dann interpretieren wir, wie diese Bewertung denn am Original aussehen würde. Das heißt,
wir haben eigentlich zwei komplette Gebiete, das Gebiet des Originals,
das Gebiet des Modells, wobei für das Modell diese Eigenschaften zutreffen,
die wir schon hatten, nämlich es bestimmt eine echte Teilnehmer,
es ist also reduziert und für einen bestimmten Zweck,
nämlich genau für das, was wir damit machen wollen,
beziehungsweise wie wir die Abbildung und die Interpretation machen wollen.
Dafür sollte das Modell zugeschnitten sein. So,
und die Reihenfolge sollte egal sein, wenn man es ganz genau ausdrücken möchte,
kommunativ Sie kennen vielleicht noch aus dem zweiten Klasse mit dem Matikunterricht,
Kommunikativ, Kommunikativgesetz in Addition, Multiplikation, irgend sowas,
ganz zu Anfang der Schulzeit.
Man darf die Sumanten vertauschen in der Reihenfolge.
Also so sollte das hier auch sein.
Ich sollte die Reihenfolge vertauschen dürfen. Also das,
was ich mit der Operation, die ich mit dem Original mache,
sollte auch wieder auch mit dem Modell möglich sein.
Soweit dazu. Und jetzt sollten wir noch überlegen,
das war die Operation und wie sie da zusammenhängen.
Jetzt für den Ausschnitt, für die Informationen,
die am Ende relevant ist,
die bei der Verkürzung übrig bleibt,
die echte Teilmenge
Da sollten wir uns überlegen, was brauchen wir?
Und jetzt ein paar Beispiele dafür. Wir können zum Beispiel Strukturinformationen nehmen.
Das ist eher etwas Stattisches. Die Zusammensetzung der Teile,
zum Beispiel in einer Firma, welche Teile gibt es?
Es gibt die Niederlassung, in den Niederlassungen gibt es Abteilungen.
In den Abteilungen gibt es Projekte. In den Projekten gibt
es Arbeitsaufträge. Zum Beispiel, das wäre ein Organisationsstätten.
Oder indem ich Teile des Originals beschreibe,
indem ich deren Beziehungen beschreibe, wer tut was,
wann, in welcher Reihenfolge, was sind die Übergabegrößen,
Was leistet der eine, was der andere dann nutzt als Ausgangsbasis?
Oder wie verhält sich etwas unter beide bestimmten Tätigkeiten? Ich mache etwas,
ich übergebe überquere den Fluss mit Ziege und Kohlkopf oder ich
bewege mich mit den öffentlichen Nahverkehrsmitteln oder was übergebe ich denn,
wenn ich zwischen den Operationen für verschrauben und verschweißen.
So, und dann sollten wir überlegen, welche Informationsdarstellungen passt für uns.
Und das sind moderne ich hatte vorhin schon mal den Begriff Kalkül,
aber den werden wir nicht so besonders strapazieren.
Sie sollten nur wissen, der trifft dafür zu.
Sie können gerne Modellierungssprache dafür verwenden. Was haben wir
denn für Sachen, die wir für Struktur kennen?
Wir wissen auf jeden Fall aus der Mathematik, man kann Wertebereiche belegen.
Das sind können durch Gleichungsverhältnisse, durch so Ungleichungen sein.
Wir wissen, aus Datenstruktur und Datenbanken, da gibt es
sowas wie Entitile Lationship-Modellen. Ich kann in der Biologie,
in der Chemie, kann ich solche Taxonomien angeben.
Ich kann Typen angeben. Für die Eigenschaften,
das ist etwa das, was das Verhalten betrifft,
hilft zum Beispiel die Logik und Relationen sind Darstellungsformen dafür.
Die theoretische Informatik hat für sie da alle was Interessantes zu bieten.
Wenn ich Beziehungen zwischen Teilen beschreibe, das sind ja auch immer irgendwie Abhängigkeiten,
dann kann ich das ganz gut darstellen,
indem ich da zwischen den Elementen Linien ziehe, Grafen,
mit Knoten und Kanten.
Also da wären es die Relationen. Und dieses entitialischenische Modell
enthält das dann eben als Relationship und der Logik,
der Logik sind sie,
Soweit, alles mehr oder weniger, statische Sachen,
wobei das Verhalten schon ein bisschen,
die Beziehung schon ein bisschen Richtung Verhalten gehen.
Und wenn wir wirklich richtig Zeit vorhalten haben, Sequentialität,
dann können wir, fällt uns beispielsweise ein, ja,
da gibt es ja diese Automaten.
Viele von Ihnen werden Petrinetze kennen, ja, als Folge von Zuständen,
Zustandsübergängen, wo man da Plätze und Transitionen angibt.
Algibren geben an, wie sich Funktionenmengen zueinander behalten oder
Aktionen und Zeit folgen. Das wäre auch noch denkbar.
Soweit haben wir jetzt alles zusammen, um am Ende
über eine Modellierungssprache entscheiden zu können
Wenn wir das machen wollen,
und das ist jetzt sozusagen hier der ganz harte,
der ganz wichtige Kern dessen,
worüber ich sie dann auch bei den Fachsprachen ganz im letzten Kapitel nicht damit verschonen möchte,
wir werden dieses Viergespannen von den Punkten ganz häufig bemühen.
Deswegen sollten wir das in der Übung auch mitmachen.
Sollten Sie das mit betrachten? Also als erstes wäre zunächst
erst mal, was ist das Ziel?
Was möchte ich erreichen? Möchte ich das Zeitverhalten eines Produktionsprozesses bestimmen?
Möchte ich den Weg durch die Stadt Hamburg bestimmen?
Oder möchte ich bestimmen, ob eine Softwarearchitektur Performance-Anforderungen erfüllt
Der Zweck der Motivierung ist dann entweder diese Prüfung oder die Bestimmung
eines Weges oder die Prüfung eines Originals oder auch nur die Kommunikation darüber über das Verhalten.
Oder die Veranschaulichung eines abstrakten Modells. Dann muss ich entscheiden,
nachdem ich diesen Zweck herausgearbeitet habe, das war das,
was wir die letzten zehn Minuten hier mit Beispielen belegt haben.
Ich hoffe, sie sind jetzt in der Lage,
ein eigenes Beispiel zu bilden. Dann sollten wir überlegen,
was ist denn der Ausschnitt, der uns darstellbar ist?
Also wir hatten auf der vorgehenden Folie hier unten, wie können wir das?
Was können wir dazu machen? Also hier erstmal,
welche Ausschnitte brauchen wir und hier unten, was können wir dazu machen?
Das finden wir jetzt wieder hier von drei,
welche Aspekte wir sind und wie können wir das machen?
Weil das ist dann am Ende das, was wir brauchen.
Das ist das, was Sie am Ende mit dieser Lehrveranstaltung
vielleicht später mal machen können. Sie können dann sagen, okay,
mit meinem Auftraggeber, dem ist Ausfallwahrscheinlichkeiten unter bestimmten Lastverhältnissen geht,
kann ich das und das so zum Beispiel des Aktivitätsdiagramms mit Auswahlwahrscheinlichkeiten machen,
weil das Aktivitätsdiagramm ist etwas,
was er versteht,
Ausfallwahrscheinlichkeiten ist etwas,
was wir brauchen für die Zuverlässigkeitsermittlung und dann entwickeln wir hier
unsere eigene Modellierungssprache
Wir werden diese Schritte 1 bis 4, jetzt noch ein
ganzes paar Mal in dieser Lehrveranstaltung, frequentieren, machen.
Und jetzt erstmal dazu gehen, mit einem Beispiel möchte ich
Ihnen das erklären für Softwareentwicklung. Also das Beispiel,
worum es geht, Sie sehen es dann oben immer jeweils ein,
geblendet, es geht um Softwarearchitekturentwicklung. Ja,
also wir sind im Bereich Software Engineering, sehen Sie mir nach,
dass ich ein Beispiel aus meinem eigenen Bereich nehme,
Softwarearchitekturentwicklung hat erstmal grundsätzlich diese vier Ziele.
Vielleicht ist der eine oder andere in diesem Semester
auch in der Veranstaltung, Softwarearchitekturen dabei.
Dann haben Sie diese Folie auf Englisch bekommen
Ja, also es geht darum, in der Softwarearchitektur,
nur so ganz kurz, wir wollen ja nichts damit beschäftigen soll,
effiziente Entwicklung ermöglichen, indem man ein Projekt inkrementell bearbeiten kann,
indem man ein Projekt gut planen und steuern kann und indem man
die Implementierung verteilen kann auf verschiedene Teams und sei es,
dass eins in Indien ist,
in einer ganz anderen Zeitzone oder in einer Tochterfirma,
auf die ich nicht direkt Zugriff habe.
Das ist ein Punkt, so soll man effizient entwickeln.
Gleichzeitig Risiken minimieren, indem man frühzeitig rauskriegt,
was sind die Risiken und polzeitig prüft,
ob das System am Ende schnell genug ist,
sicher genug ist,
performant genug ist,
was auch immer
Überhaupt läuft. Ja, ich möchte zur Kommunikation sorgen,
und zwar Kommunikation kurzzeitig, in dem Moment zwischen den Beteiligten,
zwischen Leuten, die neu hinkommen oder für Leute,
die eine andere Perspektive haben, aber auch langfristig,
und das ist dieses Wissen, Sichern, ja,
dass es für andere Projekte benutzen kann,
dass die Firma wirklich weiß,
das ist unsere Werte.
Und natürlich, dass ich sie später nochmal hervornehmen kann, verbessern kann.
Also das alles ist, was eine Softwarearchitektur möchte.
Und ich bin jetzt hier dabei, über Ziele zu sprechen.
Also wenn wir eine Architektur entwickeln wollen, die gut ist,
dann sollten wir wissen,
was sind die Ziele für gut
Und wenn eine Softwarearchitektur das erfüllt, was auf dieser Folie steht,
1, 2, 3, 4, dann ist sie gut.
Das wollen wir also erreichen. Also brauchen wir Sachen,
die den Zweck, jetzt gehen wir wieder zu dem Zweck,
Nummer 2, der Zweck soll hier erfüllt sein.
Was sind denn Zwecke? Zum Beispiel für das Effiziente,
der erste Punkt wollen wir geringen Aufwand.
Das kann man nicht so direkt auswesen,
das muss man dann überlegen, was ist denn effizient?
Effizientes Aufwand-Nutzen-Verhältnis, also geringer Aufwand, das wäre,
wenn ich das schön aufbereitet habe,
wenn es gut erlernbar ist,
wenn es bei flexibel ist,
also relativ wenig Änderungsaufwand
Am besten ist das, wenn ich es super flexibel habe,
wenn ich das nicht so formal habe, ich kann einfach was malen.
Für den zweiten Punkt hier unten, riesige minimieren,
wäre der Zweck, ich will die Risiken erkennen.
Das ist der erste Punkt. Ja,
da stand ja hier mit dabei, ich gehe nochmal zurück,
Risiken, frühe Brücksicht, da muss ich sie dazu erkennen.
Also ich muss die Risiken erkennen und die Risiken sollten deswegen deutlich gemacht werden können.
Angemerkt werden können. Wir erwarten nicht das Modell,
selber sagt, blink, blink, hier rot,
da ist ein Risiko, das wird das Modell nicht können,
aber das Modell sollte zulassen,
dass der Mensch, der Bearbeiterin macht,
den Kringelton macht,
da ist ein Risiko
Mit Natal, Priorität 10 oder was auch immer.
Insgesamt muss man sagen, es geht um komplexe Systeme.
Wir wollen also das Ganze, die Komplexität beherrschen.
Das trifft für alles zu. Für die ihre rechte Seite
mit der Kommunikation, ich gehe noch einmal zurück,
ja, hier Verständnis schaffen, Kernbissen konservieren.
Da gehört dazu, zu dem Verständnis schaffen, ich muss
die Modellierungssprache anpassen an das, was die betreffenden Personen brauchen.
Und das können eben, müssen eben nicht nur Entwickler,
die ein bestimmtes technisches Verständnis haben,
aber nicht von allen Technologien,
sondern auch nur,
was jemand wie Projektmanager muss das auch verstehen
Und für das Kundenversie konservieren, daher muss ich das so machen,
dass es auch über die Dauer,
ohne jetzt Zugriff auf den Autor mit der Interpretation,
dass ich, ich kann jemanden den Autor fragen,
nach fünf Jahren ist der vielleicht nicht mehr da.
Sondern ich muss ihn in irgendeiner Form formalisieren.
Es muss für sich verständlich durch den Syntext und Semantik sein.
Ich möchte das Werkzeug unabhängig repräsentieren. Ich muss Änderungen unterstützen.
Und ich möchte das Ganze prüfen. Das war bei dem
Punkt Risiken dabei, aber auch insgesamt bei den Zielen.
Ja, ich soll möglichst etwas Werkzeuge anwenden können.
Und dazu muss ich es formalisieren können
So, Querschlag, wir brauchen eigentlich nicht die ganze Architekturentwicklung,
aber ich möchte auf zwei Sachen hinweisen.
Wir haben hier Formalisierung zweimal für hohe Flexibilitäten, soll das
eigentlich völlig frei sein. Sie malen, sie zeichnen,
sie erklären, mit natürlichen Sprachen, mit freien Zeichnungen.
Aber für Toolunterstützung brauchen Sie einen hohen Formalisierungsgrad.
Natürliche Sprache lässt sich schwer auf widerspruchsvollem Pulver.
Also das sind kritische Punkte, die hier eine Rolle spielen.
Was wird denn in so einem Modell jetzt dargestellt
Da war ich jetzt ein bisschen allgemeiner. Natürlich die Software,
ja, aber wir müssen Entscheidungen dabei treffen.
Nämlich, wie ist denn der Detailgrad der Software?
Ist das allgemeiner oder ist es spezieller genauer? Ja,
wir sollten versuchen, es möglichst einfach zu halten.
Vielleicht haben Sie, kennen Sie den Spruch von Albert Einstein,
lasst uns die Dinge so einfach machen wie möglich,
aber nicht einfacher. Ich werde den schon mal strapaziert.
Also wir sollten versuchen, so einfach zu bleiben wie möglich.
Für Bewertung sollten wir so detailliert wie möglich machen,
damit wir alles,
alle Informationen dafür haben
Haben für Performance, was wir gerade mit diesem Fabrikbeispiel hatten,
mit dem Blechbearbeitung, da reicht die Zeit um die Folge.
Da brauchen wir nicht mehr. Aber wenn wir etwas haben wollen für Ausfallwahrscheinlichkeit,
müssen wir noch ein paar mehr Informationen haben,
um am Ende eine Gesamtausfallwahrscheinlichkeit zu haben.
Also das wäre der eine Punkt, wie detailliert.
Es ist natürlich jeden von uns klar,
wenn ich mehr Informationen in das Modell aufnehme,
also weniger weglasse, dann wird es aufwendiger zu modellieren.
Aber dafür vollständiger. Das heißt, die Bewertung ist besser
. Ein weiterer Aspekt, der eine Rolle spielt,
ist Redundanz. Redundanz heißt, ich habe Sachen mehrfach
Dann mag einer von ihnen sagen, nein,
mehrfach ist schlecht, wenn ich was ändere,
dann muss ich es ja wissen,
wo ich es überall ländern muss.
Und es besteht die Gefahr von Inkonsistenz. Richtig. Andererseits,
wenn ich etwas, jede Information nur genau einen einen Platz habe,
dann habe ich nicht so was wie Lesefluss.
Dann muss ich immer springen, ach da, die Datentypen steht dort.
Der Wertebereich steht dort. Die Sequentialität steht dort.
Wo das dann läuft, steht wieder ein Wandermodell.
Dann bin ich in der Gefahr, den Überblick zu verlieren.
So, wenn ich die Komplexität ganz klar geringer halten möchte,
sollte ich zu wenig Redundanz wie möglich machen.
Und das heißt, eine Zerlegung so streng wie möglich.
Ich schreibe das mal hier dran.
Weniger und alles
Und hier bei dem zweiten Punkt zum Verstehen versammelt,
habe ich den schon nur geschrieben, verbinden,
dass ich, also nicht, dass ich alles kopiere,
sondern dass ich nur verweise, mache quer, verweise,
so eine Darstellung soll das heißen, So, soweit,
das wären Beispiele dafür.
Und jetzt, wir wollen ja, ich gehe mal wieder zurück zu 1,
2, 3. Ja, das waren die,
also wir hatten jetzt zu den Zwecken etwas gesagt, zu demodellierten Aspekten.
Und jetzt kurz darum, welche Modellierungssprache wählen wir denn?
Und das nächste Bild zeigt jetzt Beispiele. Ich hatte eben verzichten gesprochen,
ich habe jetzt nicht genau gesagt, wo kommen die her?
Ich nenne jetzt hier mal, dass es vier Sichten wären möglich.
Ja, da könnte ich aber den Kontext, das Umfeld,
um das System herum. Da gibt es eine Reihe von UML,
die ja kamen, das UML Komponenten, die er kann,
das lassen die ja, können wir sie auf jeden Fall erkennen,
das UMR-Zustandsdiagramm, was ein Automaten kaufen ist,
Aktivitätsdiagramm hatte ich eben schon mal dargestellt oder Süß-ML.
Diese Diagramme nebenbei merkt man, wenn dieser Lehrvereinstaltung alle noch behandeln,
für diejenigen, die sie noch nicht kennen.
Und dann habe ich hier Struktur und Verhalten, Struktur,
das statische Verhalten, das, was mit Zeit und Reihenfolge zu tun hat.
Und da wäre das Komponenten und Klassendiagramm beim Statischen,
Zustandssequenz, Aktivitäts- und weitere Diagramme für das Verhalten.
Und ich könnte auch noch bei diesen Architektursachen,
das haben die Leute in der anderen Lehrveranstaltung, warum man das brauchte,
wozu gibt es noch der Abbildungssicht, wo ich etwas darstelle,
wohin läuft es und welchen welchen Leuten wird es gemacht.
Arbeitspakete und deployment des Komponenten, die er kam oder die bleiben mit ihr.
Soweit, damit sind wir einmal diese Schritte 1 bis 4 durchgegangen für Architekturentwicklung.
Wir haben es nicht ganz konkret gemacht dafür,
die Architektur für Performance oder sowas zu prüfen.
Aber ein ganz weiterer wichtiger Punkt ist, dass das Modell
natürlich auch gut sein soll. Ich muss mal schauen,
dass ich jetzt die Fragen auch alle richtig, dass ich keine Frage übergehe.
Ich springe deswegen mal zurück. Wir hatten Nein,
wir hatten eins, vorher hatten wir noch nicht.
Wir hatten genau welche für Systemarchitektur, das hatten wir jetzt gerade behandelt,
welche Kriterien, was gehört alles dazu.
Und jetzt möchte ich zu diesem Punkt kommen,
der hier genau steht, Modellqualität.
Ja, also wir kommen jetzt genau zur Frage 5. Wann
ist denn ein Modell gut? Und dieses Modell gut,
Sie sehen, jetzt gibt es hier oben nicht mehr den Punkt,
das ist jetzt übergreifend wieder, das trifft immer zu.
Hier ist es gerade wieder weg, das hole ich mir
Das Modell, dass das Modell gut ist,
das trifft natürlich nicht nur für die Architektur,
sondern es trifft fürs Architekturbeispiel, sondern es trifft immer zu.
Gut ist ein Modell, wenn wir die Ziele erfüllen.
Das trifft immer zu, wenn etwas Gutes ist,
wenn wir die Ziele erfüllen. Und wir wollen es also,
dass es für den Zwerg der Modellierung geeignet ist.
Und dieses für den Zweck geeignet sein,
das wäre jetzt die Frage, was gehört da alles?
Also, welche Informationen müssen dargestellt werden?
Das ist hier oben. Und was will ich mit
dem Modell machen
Zum Beispiel, wenn es mir um Kommunikation und Verständnis dasteht,
mussten die Informationen so dargestellt werden, dass der Mensch,
der mein Kommunikationspartner ist, sie gut versteht.
Also, welche Ausdrucksformen kennt der? Ist es ein Produktionsingenieur für dieser Blechverarbeitungsfabrik?
Ja, dann wird er vermutlich nicht die UML-Virakamme kennen.
Und sehr auch wahrscheinlich wird er keine Petrin, den sie kennen.
Aber so eine Ablaufdarstellung wird er verstehen. Das ist der eine Punkt,
aber wenn ich das verifizieren möchte,
validieren möchte oder gar maschinell prüfen möchte,
dann muss es natürlich das Modell dafür geeignet sein,
dass diese Maschine für Verifikation,
Prüfung,
Funktioniert. Das heißt, ich muss mich an Syntax und Semantik
für dieses Auswertungsgerät, für diese Software, für dieses Werkzeug anlegen.
Das ist das eine und natürlich ist ein Modell dann gut,
wenn es insgesamt, wenn ich effizient arbeiten kann.
Effizient ist der Ausdruck für das Verhältnis zwischen Nutzen und Aufwand. Ja,
das heißt, ich möchte einen geringen Aufwand und einen hohen
Nutzen haben und zwar den geringen Aufwand nicht nur beim Erlernen,
sondern auch bei der täglichen Benutzung, dass ich also auch,
wenn ich Änderungen vornehme, dass gut funktioniert,
ohne dass ich ganz viele Stellen immer wieder prüfen muss.
Das ist so, entlang schauen wir uns das einführen.
Das Beispiel Qualitätszielorientierte Softwareentwicklung Ja, also ich möchte,
wenn ich das Ziel habe, einen Entwicklungs-, ein Software-System zu entwickeln,
wo es um Zeitverhalten, Robustheit und Security ankommt. Ja,
dann muss es möglich sein, dass diese Informationen bezüglich Zeitverhalten,
Robustheit ist das Verhalten bei Ungenügen, bei Unvollständiger Umgebung,
bei Verhaltensein von Fehlern und Security, das Verhalten,
wenn dort böse, irgendetwas wollen, Angreifer, Angriffe auslesen,
Störung des Betriebs, dass sich diese Verhaltensweisen,
dass ich die prüfen kann,
des realen Systems prüfen kann,
ein Modell
Und natürlich noch diese vier Sachen, die wir vorher hatten,
insgesamt, also ich möchte effizient entwickeln,
ich möchte dieses mit den Risiken, ich stand das vorhin,
wo diese Ziele der Architektur waren, ich möchte das beziehen,
dann prüfen wir, ob diese Risiken erfüllt sind.
Ich möchte zwischen den Kommuniventen Stakeholdern kommunizieren können und auf die lange Frist kommunizieren.
Und das möchte ich auch noch haben. Ja,
also das sind alles die Punkte, die hier eine Rolle spielen.
Soweit wäre das die Antwort auf Frage 8, glaube ich,
lassen Sie uns zurückgehen. Genau. So,
und weiter geht es mit der Frage 9 und 10,
ganz speziell fokussieren wir uns jetzt auf Qualitätseigenschaften,
dass dazu machen wir den Abschnitt erstmal Schluss,
der andere,
der Nächste schließt