2023-06-28_HOF_Diagramme_und_Darstellungen.pdf

Full Transcript

Vertraulich (II) Diagramme und Darstellungen 3 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagram...

Vertraulich (II) Diagramme und Darstellungen 3 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 4 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Pseudocode Was ist das? ▪ „Programmcode, der nicht zur maschinellen Interpretation, sondern lediglich zur Veranschaulichung eines Paradigmas oder Algorithmus dient“ ▪ Unabhängige Beschreibung eines Programmablaufs ▪ Formaler und weniger missverständlich als Beschreibung in natürlicher Sprache ▪ Oftmals Zwischenschritt von Programmablaufplan/Struktogramm zu Quellcode 5 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Pseudocode Häufige Schlüsselwörter ▪ Module ▪ Schleifen ▪ Definition von Funktionen ▪ program Programmname... ▪ wiederhole... ▪ function()... begin... end Programmname solange/bis... end wiederhole_ende ▪ klasse Klassenname {... ▪ funktion()... start... } ▪ while... do... ende ▪ Fallunterscheidungen ▪ repeat... until... ▪ Zusicherungen ▪ if... then... else... ▪ for... to... step ▪ assert end if/exit Schrittweite... next ▪ jetzt gilt ▪ wenn... dann... sonst ▪ Kommentare... wenn_ende ▪ // kommentar ▪ falls... dann... ▪ # kommentar falls_nicht... falls_ende ▪ 6 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Pseudocode Beispiel 7 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 8 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 9 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Stellt den folgenden Algorithmus in Pseudocode dar. Quelle: Bubblesort – Wikipedia 10 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) bubbleSort(Array A) for (n=A.size; n>1; --n){ for (i=0; i A[i+1]){ A.swap(i, i+1) } // Ende if } // Ende innere for-Schleife } // Ende äußere for-Schleife Quelle: Bubblesort – Wikipedia 11 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Pseudocode Übung ▪ Im Pseudocode soll die Funktionsweise (vereinfacht) einer Kaffeemaschine beschrieben werden. ▪ Die Kaffeemaschine hat einen Chipkartenleser für die Zahlung der Getränke. ▪ Zur Auswahl stehen eine Tasse Kaffee oder heißes Wasser für einen Tee. ▪ Die Tasse Kaffee kostet 0,50€ und heißes Wasser für eine Tasse 0,10€. ▪ Die Maschine wechselt am Ende wieder in den Initialzustand. 30 Minuten 12 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) program Kaffeemaschine # Deklaration und Initialisierung preis_kaffee = 0.5 preis_wasser = 0.1 while TRUE do if (bestellung_kaffee) { # Kunde hat Kaffee ausgewählt if (geldkarte.guthaben >= 0.5) { geldkarte.guthaben = geldkarte.guthaben - 0.5 bereitezu_kaffee() } else { sende_nachricht("Nicht genug Guthaben") } end_if } else if (bestellung_wasser) { # Kunde hat Wasser ausgewählt if (geldkarte.guthaben >= 0.1) { geldkarte.guthaben = geldkarte.guthaben - 0.1 bereitezu_wasser() } else { sende_nachricht("Nicht genug Guthaben") } end_if } end_if end_while end Kaffeemaschine 13 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 14 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Was ist das? ▪ „Ein Programmablaufplan (PAP) ist ein Ablaufdiagramm für ein Computerprogramm, das auch als Flussdiagramm (engl. flowchart) oder Programmstrukturplan bezeichnet wird. Es ist eine grafische Darstellung zur Umsetzung eines Algorithmus in einem Programm und beschreibt die Folge von Operationen zur Lösung einer Aufgabe.“ ▪ Symbole nach DIN 66001 genormt 15 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Symbole (nach DIN 66 001) STOP 16 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Verarbeitung 17 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Reihenfolge (Sequenz) 18 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Bedingte Verzweigung 19 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Fallabfrage, Fallunterscheidung 20 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Wiederholung (kopfgesteuerte Schleife) 21 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Wiederholung (fußgesteuerte Schleife) 22 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Schleife mit Unterbrechung 23 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Software 24 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Übung ▪ Die Funktionsweise (vereinfacht) der Kaffeemaschine soll nun als Programmablaufplan dargestellt werden. ▪ Die Kaffeemaschine hat einen Chipkartenleser für die Zahlung der Getränke. ▪ Zur Auswahl stehen eine Tasse Kaffee oder heißes Wasser für einen Tee. ▪ Die Tasse Kaffee kostet 0,50€ und heißes Wasser für eine Tasse 0,10€. ▪ Die Maschine wechselt am Ende wieder in den Initialzustand. 30 Minuten 25 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 26 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 27 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 28 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Was ist das? ▪ Auch bekannt als „Nassi-Shneiderman-Diagramm“ ▪ In DIN 66 261 genormt ▪ Darstellung von Programmentwürfen im Rahmen der Methode der strukturierten Programmierung ▪ Gesamtproblem in immer kleinere Teilprobleme zerlegt ▪ … bis nur noch elementare Sequenzen und Kontrollstrukturen übrig bleiben 29 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Aufgabe ▪ In den Anfängen der Programmierung herrschte der teilweise heute noch praktizierte lineare Programmierstil. Er ist für kleinere Aufgaben zwar sinnvoll, führt aber bei großen Programmieraufgaben zu einigen Nachteilen ▪ Erläutere vier Nachteile des linearen Programmierstils, die zur Entwicklung der strukturierten Programmierung führten. ▪ Erläutere die systematische Vorgehensweise bei der strukturierten Programmierung. 20 Minuten 30 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Aufgabe - Lösungsvorschlag ▪ Erläutere vier Nachteile des linearen Programmierstils, die zur Entwicklung der strukturierten Programmierung führten. ▪ Spaghetti-Technik: zahlreiche Verzweigungen mit Vor- und Rückwärtssprüngen ▪ Segmentierung nicht möglich: Zerlegung in von verschiedenen Entwicklern zu erstellende Teile (Teamarbeit) ▪ Unübersichtlichkeit ▪ Schlechte Wart- und Änderbarkeit ▪ Erläutere die systematische Vorgehensweise bei der strukturierten Programmierung. 31 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Aufgabe - Lösungsvorschlag ▪ Erläutere die systematische Vorgehensweise bei der strukturierten Programmierung. ▪ Strukturierte Programmierung: systematisierter Prozess der Programmentwicklung mit dem Ziel, bessere Übersichtlichkeit und Wartbarkeit zu gewährleisten: Zerlegung des Programms in unabhängige Strukturblöcke (Top-Down) 32 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Prozess / Anweisung / Verarbeitung 33 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Reihenfolge (Sequenz) 34 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Bedingte Verzweigung 35 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Fallabfrage, Fallunterscheidung 36 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Wiederholung (kopfgesteuerte Schleife) 37 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Wiederholung (fußgesteuerte Schleife) 38 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Schleife mit Unterbrechung 39 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Software 40 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Übung ▪ Die Funktionsweise (vereinfacht) der Kaffeemaschine soll nun als Struktogramm dargestellt werden. ▪ Die Kaffeemaschine hat einen Chipkartenleser für die Zahlung der Getränke. ▪ Zur Auswahl stehen eine Tasse Kaffee oder heißes Wasser für einen Tee. ▪ Die Tasse Kaffee kostet 0,50€ und heißes Wasser für eine Tasse 0,10€. ▪ Die Maschine wechselt am Ende wieder in den Initialzustand. 30 Minuten 41 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 42 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 43 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Was ist das? ▪ Unified Modeling Language ▪ UML Klassendiagramm ▪ grafischen Darstellung (Modellierung) von Klassen, Schnittstellen sowie deren Beziehungen ▪ Eine Klasse ist in der Objektorientierung ein abstrakter Oberbegriff für die Beschreibung der gemeinsamen Struktur und des gemeinsamen Verhaltens von Objekten ▪ UML Sequenzdiagramm ▪ Verhaltensdiagramm, welches eine Interaktion im Sinne der UML grafisch darstellt ▪ beschreiben den Austausch von Nachrichten zwischen Objekten mittels Lebenslinien 44 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Was ist das? ▪ UML Aktivitätsdiagramm ▪ Vernetzung von elementaren Aktionen und deren Verbindungen mit Kontroll- und Datenflüssen ▪ Beschreibt den Ablauf eines Anwendungsfalls ▪ UML Zustandsdiagramm ▪ stellt einen endlichen Automaten in einer UML-Sonderform grafisch dar und wird benutzt, um entweder das Verhalten eines Systems oder die zulässige Nutzung der Schnittstelle eines Systems zu spezifizieren 45 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 46 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Klassen Klassenname Was bedeutet Attribute der Klasse das „+“? Methoden der Klasse 47 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Schnittstellen 48 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Abstrakte Klassen 49 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Abstrakte Klassen 50 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Vererbung 51 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Assoziation 52 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Kardinalitäten 53 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Kardinalitäten Multiplizität Bedeutung 1 genau einer 0..1 keiner oder einer 1..5 einer bis fünf * keiner, einer oder mehrere 0..* keiner, einer oder mehrere 1..* mindestens einer 54 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Kardinalitäten 55 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen – Gerichtete Assoziation 56 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Aggregation 57 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Aggregation 58 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Komposition 59 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Komposition 60 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Implementierung 61 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Notiz 62 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Software 63 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Übung ▪ Die Kaffeemaschine soll nun mit einem UML Klassendiagramm visualisiert werden. ▪ Die Maschine besteht (vereinfacht) aus den Komponenten Wassertank, Bohnenbehälter, Kaffeemühle und eine Brüheinheit. ▪ Erstelle sinnvolle Beziehungen zwischen den Komponenten und weise diesen Assoziationen Kardinalitäten zu. 30 Minuten 64 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 65 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Flipped-Classroom Aktivitätsdiagramme Zustandsdiagramme 66 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Was ist das? ▪ Bildet die Interaktion zwischen einer Gruppe von Objekten sowie die Reihenfolge ab ▪ Praktisch, um Prozessabläufe grafisch festzuhalten 67 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Objekte Initialer Synchrone Nachricht Aufruf Aktivitätsbalken Antwort Lebenslinie 68 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Asynchrone Nachricht 69 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm If-Else ie er does not support full S 1.1 70 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Optionsschleife ie er does not support full S 1.1 71 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Objektkonstruktion ie er does not support full S 1.1 72 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Objektzerstörung 73 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Selbstaufruf ie er does not support full S 1.1 74 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Akteur 75 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Sequenzdiagramm Übung ▪ Die Kaffeemaschine soll nun mit einem UML Sequenzdiagramm visualisiert werden. ▪ Die Maschine besteht (vereinfacht) aus den Komponenten Wassertank, Bohnenbehälter, Kaffeemühle und eine Brüheinheit. ▪ Erstelle sinnvolle Beziehungen zwischen den Komponenten und baue den Nutzer als Akteur ein. 30 Minuten 76 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 77 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 78 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Was ist das? ▪ Flussdiagramm, das die von einem System ausgeführten Aktivitäten abbildet ▪ Hilfreich für Organisationsmitglieder auf Geschäfts- und Entwicklungsseite, eine gemeinsame Basis zu finden ▪ Eignet sich besonders für … ▪ Demonstration der Logik von Algorithmen ▪ Beschreibung der Schritte eines Use-Case ▪ Illustration von Geschäftsprozessen Exkurs 79 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Exkurs Business Process Model and Notation (BPMN) Geschäftsprozesse ▪ Spezielle Form für Geschäftsprozesse: Notationsstil BPMN ▪ Führender Standard für Geschäftsprozessmodelle ▪ Unterschied zu UML Aktivitätsdiagrammen? ▪ UML ist objektorientiert ▪ BPMN ist prozessorientiert ▪ Verschiedene Sichtweisen 80 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Exkurs Quelle: Wikipedia 81 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Anfangssymbol Aktion Konnektor Entscheidungssymbol Endsymbol 82 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Verbindungssymbol/Synchronisierung 83 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Verzweigungssymbol 84 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Entscheidungssymbol 85 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Hinweissymbol 86 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Aktivität 87 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Pseudostatus 88 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Activity Final Node 89 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Flow Final Node 90 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Übung ▪ Der Arbeitsablauf der Kaffeemaschine soll nun als UML Aktivitätsdiagramm dargestellt werden. ▪ Die Maschine besteht (vereinfacht) aus den Komponenten Wassertank, Bohnenbehälter, Kaffeemühle und eine Brüheinheit. ▪ Erstelle einen sinnvollen Ablauf für die Zubereitung einer Tasse Kaffee. 30 Minuten 91 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 92 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Agenda Pseudocode Programmablaufplan (PAP) Struktogramme UML-Diagramme Klassendiagramme Sequenzdiagramme Aktivitätsdiagramme Zustandsdiagramme 93 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm Was ist das? ▪ Visualisierung von Zuständen eines endlichen Automaten ▪ Ähnlichkeit zum Aktivitätsdiagramm ▪ Aktionen, Zustände, Zustandsübergänge Endlicher Automat? Was ist denn das? 94 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm Was ist das? ▪ Stelle den nachfolgenden Parkautomaten formal als endlichen Automaten dar ▪ Ein Parkautomat verkauft Parktickets in Höhe von 5€. Als Ein urf erden nur 1€- und 2€-Stücke akzeptiert. Bei Überbezahlung entspricht der Rest dem aktuellen Zahlstatus für das nächste Ticket. 95 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 96 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Exkurs UML Zustandsdiagramm Endlicher Automat ▪ Englisch: „Finite State Machine“ ▪ Kombination aus Zuständen und Zustandsübergängen ▪ Je nach aktuellem Zustand und Eingabe können unterschiedliche Aktionen erfolgen ▪ Formale Präzisierung durch 5-Tupel ▪ Endliche Menge von Zuständen ▪ Eingabealphabet ▪ Überführungsfunktion, die für jeden Zustand mit jeder Eingabe einen Folgezustand definiert ▪ Menge von Startzuständen ▪ Menge von Endzuständen 97 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Exkurs Moore Mealy Quelle: dewiki 98 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 99 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm Start- und Endzustand 100 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm Bedingte Zustandsübergänge 101 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm Aktionen bei Zustandsübergängen 102 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm Zusammengesetzter Zustand Off after 2 s A 103 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm AND / Parallel state Wie würde hier ein flaches Zustandsdiagramm aussehen? 104 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm AND / Parallel state (flaches Zustandsdiagramm) 105 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm XOR-Zustände 106 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm XOR-Zustände 107 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm XOR-Zustände 108 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm XOR-Zustände 109 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm XOR-Zustände mit History-State 110 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Zustandsdiagramm XOR-Zustände 111 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quelle: StarUML 112 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML-Zustandsdiagramm Konflikte ▪ Ein Konflikt zwischen Transitionen tritt auf, wenn mehrere Transitionen ▪ denselben Quellzustand haben ▪ dasselbe Ereignis verarbeiten Konsequenz: unterschieden ▪ nicht durch Bedingungen Nichtdeterminismus werden (eine von beiden Transitionen kann zufällig ausgeführt werden) 113 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML-Zustandsdiagramm Unterschiede Statecharts / Aktivitätsdiagramme ▪ Sind Statecharts und Aktivitätsdiagramme nicht das gleiche? ▪ Aktivitätsdiagramme ▪ Beschreibung eines ganzen Ablaufs, unabhängig vom Initiator ▪ Knoten beschreiben Tätigkeiten ▪ Übergang, wenn vorherige Aktion abgeschlossen ist ▪ Statecharts ▪ Einem bestimmten Interface zugeordnet (Klasse/Komponente) ▪ Knoten beschreiben Zustände ▪ Transitionen enthalten Ereignisse, die beschreiben, was passiert ▪ Ursprung der Ereignisse meist außerhalb der Komponente 114 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Aktivitätsdiagramm Übung ▪ Der Arbeitsablauf der Kaffeemaschine soll nun als UML Zustandsdiagramm dargestellt werden. ▪ Die Maschine hat die Zustände Off, Ready, Brewing, CoffeeDone ▪ Der Brühvorgang ist eine gesonderte Aktivität und beinhaltet die Aktionen GetWater, GetCoffeePowder und Brew. 30 Minuten 115 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 116 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Cheat Sheet ▪ Cheat Sheets sind ein gängiges Mittel, viele und komplexe Inhalte zusammenzufassen ▪ Erstellt für die behandelten Themen ein Cheat Sheet (kann natürlich auch aus mehr als einer Seite bestehen) ▪ Am Ende schauen wir uns gemeinsam die Cheat Sheets von euch an "Dieses Foto" von Unbekannter Autor ist lizenziert gemäß CC BY-NC 117 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Quiz ▪ Zum Abschluss ein kleines Quiz für die Festigung des Wissens ▪ Es können keine, eine oder mehrere Antworten richtig sein 118 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 1 Welcher Zustand ist hier zu sehen? A Flow Final Node B Activity Final Node C Composition Final Node 119 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 2 Welcher Zustand ist hier zu sehen? A Initialstate B Flow Final Node C Pseudostatus 120 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 3 Welche der folgenden Aussagen sind richtig? A Keiner der Aktivitätsflüsse muss für die Fortsetzung verfügbar sein. B Beide Aktivitätsflüsse müssen für die Fortsetzung verfügbar sein. C Es handelt sich um das Verzweigungssymbol. 121 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 4 Welche der folgenden Aussagen sind richtig? A Beide Aktivitätsflüsse laufen nach der Spaltung gleichzeitig ab B Beide Aktivitätsflüsse laufen nach der Spaltung nicht gleichzeitig ab C Es handelt sich um das Verzweigungssymbol. 122 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 5 Welche der folgenden Aussagen sind richtig? A Eine synchrone Nachricht erzwingt eine Antwort des Empfängers. B Eine synchrone Nachricht erzwingt keine Antwort des Empfängers. C Der Pfeil der Antwort besteht aus gestrichelten Linien. 123 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 6 Multiplizität Bedeutung 1 genau einer 0..1 keiner oder einer Welche der folgenden Aussagen sind richtig? 1..5 einer bis fünf * keiner, einer oder mehrere 0..* keiner, einer oder mehrere 1..* mindestens einer A *; 1..*; 0..* sind Kardinalitäten mit der edeutung „keiner, einer oder mehrere“ B Die Kardinalität 1 bedeutet mindestens einer C Die Kardinalität 1..3 bedeutet maximal 3 und minimal 1 124 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 7 Welche der folgenden Aussagen sind richtig? A Eine Klasse besteht aus Klassenname, Attribute und Methoden. B Der Zugriffsmodifikator + bedeutet, dass ein unbeschränkter Zugriff existiert. C Der Zugriffsmodifikator # bedeutet, dass nur die Klasse selbst auf Attribute/Methoden Zugriff hat. 125 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Klassen Klassenname Was bedeutet Attribute der Klasse das „+“? Methoden der Klasse 126 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 8 Welche der folgenden Aussagen sind richtig? A Class 2 erbt die Attribute und Methoden von Class 1. B Class 1 erbt die Attribute und Methoden von Class 2. C Die abgeleitete Klasse kann um neue Attribute und Methoden erweitert werden. 127 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) UML Klassendiagramm Interaktionen - Vererbung 128 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 9 Welche der folgenden Aussagen sind richtig? A Pseudocode ist von einer bestimmten Programmiersprache abhängig. B Die Symbole eines Programmablaufplans sind nach DIN 66 001 genormt. C Bei der unstrukturierten Programmierung wird das Gesamtproblem in immer kleinere Teilprobleme zerlegt. 129 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Pseudocode Was ist das? ▪ „Programmcode, der nicht zur maschinellen Interpretation, sondern lediglich zur Veranschaulichung eines Paradigmas oder Algorithmus dient“ ▪ Unabhängige Beschreibung eines Programmablaufs ▪ Formaler und weniger missverständlich als Beschreibung in natürlicher Sprache ▪ Oftmals Zwischenschritt von Programmablaufplan/Struktogramm zu Quellcode 130 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Symbole (nach DIN 66 001) STOP 131 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Struktogramm Was ist das? ▪ Auch bekannt als „Nassi-Shneiderman-Diagramm“ ▪ In DIN 66 261 genormt ▪ Darstellung von Programmentwürfen im Rahmen der Methode der strukturierten Programmierung ▪ Gesamtproblem in immer kleinere Teilprobleme zerlegt ▪ … bis nur noch elementare Sequenzen und Kontrollstrukturen übrig bleiben 132 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Quiz Frage 10 Welche der folgenden Aussagen sind richtig? A Bei einer fußgesteuerten Schleife wird der Anweisungsblock mindestens einmal ausgeführt. B Bei einer kopfgesteuerten Schleife wird der Anweisungsblock maximal einmal ausgeführt. C Am Anfang eines Entwicklungsprozesses sind Anforderungen und Komplexitäten recht unklar. 133 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Wiederholung (kopfgesteuerte Schleife) 134 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Programmablaufplan Wiederholung (fußgesteuerte Schleife) 135 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 1 ▪ IT Solutions wird beauftragt, die Softwareentwicklung eines Versicherungsunternehmens zu begleiten. Dazu soll eine objektorientierte Analyse durchgeführt werden. Der Kunde hat bereits ein Klassendiagramm entwickelt und schildert die Ausgangssituation: ▪ Für die Versicherung soll ein neues Softwaresystem entwickelt werden. Der Zusammenhang zwischen Kunden, Sachbearbeitern und Versicherungsverträgen ist bereits in einem Klassendiagramm erfasst worden. Entwickle ein Sequenzdiagramm. 137 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Ein Kunde möchte einen oder mehrere Verträge abschließen. Der Sachbearbeiter erfragt die gewünschte Anzahl der Verträge. Der Sachbearbeiter startet eine Datenbankabfrage, um die Stammdaten des Kunden zu ermitteln (kritische Abfrage, da die Datenbankverbindung nicht immer vorhanden ist). Sind die Stammdaten in Enthalten die Stammdaten Fehler oder gibt es Vorbehaltsvermerke, Ordnung, so legt der so informiert der Sachbearbeiter Sachbearbeiter den oder die den Kunden und legt keine Versicherungsverträge an. Versicherungsverträge an. 138 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 139 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 2 ▪ Informiere dich im ersten Schritt über UML-Objektdiagramme. Was unterscheidet sie von UML-Klassendiagrammen? ▪ Entwickle nun aus dem nebenstehenden Klassendiagramm ein Objektdiagramm. ▪ Folgende Objekte sollen instanziiert werden: ▪ Objekt Maier von Klasse Kunde ▪ Objekt Kaiser von Klasse Mitarbeiter ▪ Objekt B1 von Klasse Bestellung ▪ Der Mitarbeiter Kaiser betreut den Kunden Maier und die estellung 1 (ID = 1 und Datum = „20.05.2022“) ist ebenfalls dem Kunden Maier zugeordnet. 140 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 2 - Lösungsvorschlag ▪ UML-Objektdiagramm steht für eine konkrete Instanz eines Klassendiagramms zu einem bestimmten Zeitpunkt 141 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 3 ▪ Für das erwähnte zu entwickelnde Softwaresystem wurde in der objektorientierten Analyse ein Paketdiagramm entwickelt. Beschreibe den Aufbau der Pakete und die Beziehungen zwischen den Pakten sowie deren Auswirkungen. 142 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) 143 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 3 - Lösungsvorschlag ▪ Für das erwähnte zu entwickelnde Softwaresystem wurde in der objektorientierten Analyse ein Paketdiagramm entwickelt. Beschreibe den Aufbau der Pakete und die Beziehungen zwischen den Pakten sowie deren Auswirkungen. 144 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Das Paket Kundenverwaltung enthält eine Klasse Kunde. Die Klasse Kunde ist „öffentlich“, also auch von anderen Paketen nutzbar. Die -Beziehung sorgt dafür, dass die Elemente eines Paketes in einem anderen Paket so zugreifbar sind, als wären sie dort selbst mit public deklariert worden. Das Paket Datenbankverwaltung enthält eine „öffentliche“ Klasse Adapter und eine „private“ Klasse Tool, die nur innerhalb des Paketes nutzbar ist. Die -Beziehung sorgt dafür, dass die Elemente eines Paketes in einem anderen Paket so zugreifbar sind, als wären sie dort selbst mit private deklariert worden. Die Statements-Klasse ist z ar „öffentlich“, aber durch die -Beziehung kann aus dem Paket Kundenverwaltung kein Zugriff erfolgen, da die Klasse auf der Ebene des Datenbankverwaltung-Paketes private ist. 145 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 4 ▪ Laut Anforderungsanalyse soll das zu entwickelnde Softwaresystem eine Zustandsanzeige in Form einer Ampel enthalten. Jedem Kunden ist initial die Farbe grün zugeordnet. Stellt ein Sachbearbeiter fest, dass ein Kunde unzuverlässig ist, kann er auf dieses Symbol klicken muss einen Sicherheitscode eingeben und ändert damit die Farbe des Symbols auf gelb. Selbige Prozedur kann auch zu einem roten Symbol führen. Für alle Sachbearbeiter ist damit ersichtlich, ob ein Kunde problematisch ist. Wird ein Kunde wieder zuverlässiger, kann der Prozess analog rückgängig gemacht werden. Hierfür muss der Sachbearbeiter jedoch einen Doppelklick auf das Symbol tätigen. ▪ Ihr Auftrag ist es, zu dieser Problematik ein Zustandsdiagramm zu entwickeln. 146 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 4 - Lösungsvorschlag ▪ Laut Anforderungsanalyse soll das zu entwickelnde Softwaresystem eine Zustandsanzeige in Form einer Ampel enthalten. Jedem Kunden ist initial die Farbe grün zugeordnet. Stellt ein Sachbearbeiter fest, dass ein Kunde unzuverlässig ist, kann er auf dieses Symbol klicken muss einen Sicherheitscode eingeben und ändert damit die Farbe des Symbols auf gelb. Selbige Prozedur kann auch zu einem roten Symbol führen. Für alle Sachbearbeiter ist damit ersichtlich, ob ein Kunde problematisch ist. Wird ein Kunde wieder zuverlässiger, kann der Prozess analog rückgängig gemacht werden. Hierfür muss der Sachbearbeiter jedoch einen Doppelklick auf das Symbol tätigen. ▪ Ihr Auftrag ist es, zu dieser Problematik ein Zustandsdiagramm zu entwickeln. 147 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 5 ▪ Verschaffe dir wiederholend einen Überblick über Struktogramm und PAP. Stelle die Vor- und Nachteile der beiden Diagramme dar. ▪ In Ihrer Firma ist ein erfahrener Mitarbeiter in den Ruhestand gegangen. Die Entwicklungsabteilung benötigt nun Unterstützung. Im Rahmen der strukturierten Programmierung sollen Diagramme für ein Softwareprojekt entwickelt werden. ▪ Nachfolgend findet sich die Ablaufbeschreibung für ein zu erstellendes Struktogramm. 148 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 5 ▪ Ein Teilbereich der Software soll die Berechnung von Kundenrabatten durchführen. Dazu muss der Sachbearbeiter einige Eingaben tätigen, welche anschließend den Rabatt bestimmen. ▪ Erster Teil der Eingabe sind Kundenname und Rechnungsbetrag. ▪ Danach fragt die Software nach der Bonität des Kunden. ▪ Ohne Bonität wird der maximale Rabatt auf 4% begrenzt. ▪ Handelt es sich um einen Stammkunden, so wird ein Grundrabatt von 2% gewährt. ▪ Anschließend wird ein gestaffelter Rabatt berechnet: 149 IT-Ausbildung / Diagramme und Darstellungen / 17.07.2023 / Vertraulich (II) Diagramme und Darstellungen Aufgabe 5 0 < Rechnungsbetrag

Use Quizgecko on...
Browser
Browser