580 likes | 746 Views
Zusammenfassung ZA und PN. Zustandsautomaten: Systemreaktion auf Ereignisse abhängig von Folge vorangegangener Ereignisse: momentane und frühere Eingaben bestimmen Ausgabe und Folgezustände. z (t+ D ) = f [z(t),e] beschreibt Dynamik, aber Verarbeitung (Funktion) nur elementar. Petri-Netze:
E N D
Zusammenfassung ZA und PN Zustandsautomaten: Systemreaktion auf Ereignisse abhängig von Folge vorangegangener Ereignisse: momentane und frühere Eingaben bestimmen Ausgabe und Folgezustände.z (t+D) = f [z(t),e] beschreibt Dynamik, aber Verarbeitung (Funktion) nur elementar. Petri-Netze: Systemzustand bestimmt durch Markenverteilung auf die Stellen, beschrieben z.B. durch Markierungsvektor. Petri-Netz beschreibt Änderung der Markenverteilung (Zustandsänderung) durch Schalten von Transitionen.beschreibt Dynamik, aber Verarbeitung (Funktion) nur elementar. Nächster Schritt: Verbindung von Basiskonzepten der Datentransformation (funktionale, algorithmische, regelbasierte und datenorientierte Sicht) mit den Basiskonzepten der zustandsorientierten Sicht in einer Modellierungsmethode: SA/RT Vorlesung Automatisierungsprojekte Seite 7/1
Modellierung Basiskonzepte der SW-Entwicklung: Übersicht Konzepte und Sichten Strukto- gramm Alternative Notationen Häufig verwendet Selten verwendet Aktivi- täts-dia-gramm Kollabo- rations-dia-gramm Pro- gramm- Ablauf- plan Ent- schei-dungs-tabelle Ge-schäfts-prozess Data Dictio-nary EntityRelation-ship Klassen-dia-gramm Pseudo- code Regeln Zu-stands- automat Petri- Netz Se-quenz- dia-gramm Funk-tions-baum Daten-fluss-dia-gramm Funktio- nale Hierar-chie Arbeits- ablauf Infor-mations- fluss Daten-struk-turen Entitäts-typen u.Bezie-hungen Klassen-struk-turen Kontroll-struk-turen Wenn-dann-Struk-turen Endlicher Automat Neben-läufige Struk-turen Inter-aktions-struk-turen Funktionale Sicht Datenorientierte Sicht Objekt-orient.Sicht Algo-rithm.Sicht Regel-basierteSicht ZustandsorientierteSicht Szenario-basierteSicht Vorlesung Automatisierungsprojekte Seite 7/2
Modellierung Kombination der Basiskonzepte in „SA/RT“ oder auch „RT“ RT 1987 SA 1979 Entscheidungs-tabelle Entscheidungs-bäume Funktions- Baum Datenfluss-diagramm DataDictionary EntityRelationship Pseudo-code Zustands-automat Endlicher Automat EntitätstypenBeziehungen Funktionale Hierarchie Informations-fluss Daten-strukturen Kontroll-strukturen Vorlesung Automatisierungsprojekte Seite 7/3
Strukturierte Analyse Kombination von Basiskonzepten in SA Problem: Datenflussdiagramm bei umfangreichen Problemen unübersichtlich. Lösung: Hierarchische Verfeinerung der Datenflussdiagramme. Wurzel: Kontextdiagramm (abstraktes Datenflussdiagramm). Blätter: Beschreibung durch Mini-Spec in Form von Pseudo-Code, Entscheidungstabellen oder Entscheidungsbäumen. SA 1979 Entscheidungs-tabelle Entscheidungs-bäume Funktions- Baum Datenfluss-diagramm DataDictionary Pseudo-code Konsistenz-haltung ZentraleKomponente Verfeinerungs-konzept ElementareDatentransformation Zweck Funktionale Hierarchie Informations-fluss Daten-strukturen Kontroll-strukturen dargestellt Vorlesung Automatisierungsprojekte Seite 7/4
Strukturierte Analyse Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Datenflussdiagramm Datenfluss-diagramm SA 1979 Entscheidungs-tabelle Entscheidungs-bäume Funktions- Baum Datenfluss-diagramm DataDictionary Pseudo-code Funktionale Hierarchie Informations-fluss Daten-strukturen Kontroll-strukturen Vorlesung Automatisierungsprojekte Seite 7/5
Strukturierte Analyse • SA Basiskonzept Datenflussdiagramm (DFD) • DFD: Beschreibung • Wege (Flüsse) von • Daten und Informationen • zwischen • Funktionen, • Speichern und • Schnittstellen • Transformationen • von • Daten und Informationen • durch • Funktionen • Grundvorstellung: Das zu entwickelnde System laufe bereits: Welche Information fließt von wo nach wo durch das System? Datenname Funktions- name Schnittstellen- name Vorlesung Automatisierungsprojekte Seite 7/6
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) Umweltmodellierung (äußere Systemschnittstellen): Informationsquellen Informationen entstehen und fließen zu Funktion InformationssenkenInformationen fließen ausFunktion und verschwinden Funktionen transformieren eingehende Datenflüsse in ausgehende Datenflüsse Speicher: Hilfsmittel zur Ablage von Informationen Quelle Senke lesend schreibend Schreib/Lese Vorlesung Automatisierungsprojekte Seite 7/7
Strukturierte Analyse • SA Basiskonzept Datenflussdiagramm (DFD) • Syntaktische Regeln: • Ein DFD enthält mindestens eine Schnittstelle • Jede Schnittstelle nur einmal vorhanden • Keine Datenflüsse zwischen Schnittstellen • Jeder Datenfluss hat einen Namen, außer von und zu Speichern, wenn gesamter Speicherinhalt transportiert wird • Keine direkten Flüsse zwischen Speichern • Keine direkten Flüsse zwischen Schnittstellen und Speichern • Semantische Regeln: • DFD beschreibt den Datenfluss und keinen Kontrollfluss • Schnittstelle ist stets so zu wählen, dass sie die ursprüngliche Quelle oder Senke einer Information angibt. • Datenflussnamen bestehen aus (Adjektiv und) Substantiv • Funktionsname repräsentiert Aktion und besteht aus Aktionsverb und Substantiv (Objekt) falsch Vorlesung Automatisierungsprojekte Seite 7/8
Strukturierte Analyse • SA Basiskonzept Datenflussdiagramm (DFD) • Überprüfbarkeit von DFDMittels „Handsimulation“:Man stelle sich vor, man wäre der Prozessor.Prüfung, ob man anhand der eingehenden Informationsflüsse die ausgehenden Informationsflüsse erzeugen kann. • Bewertung von DFD • Leicht erstellbar und gut lesbar • Gut vermittelbar • Schwierig, einheitliches Abstraktionsniveau bei Daten und Funktionen einzuhalten • Diagramm schnell zu groß und unübersichtlich Hierarchie in SA • Bezeichnung der Datenflüsse durch Namen reicht nicht aus. • Datenaufbau muss bekannt sein, um bei Simulation Fehler zu finden. Data Dictionary in SA Vorlesung Automatisierungsprojekte Seite 7/9
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) Aufgabe Verwaltung einer Arztpraxis: Neue Patienten werden in eine Patientenkartei aufgenommen, an der auch später noch Änderungen vorgenommen werden können. Erscheint ein Patient zur Behandlung, so werden dem behandelnden Arzt die Patientendaten und die Daten der letzten Behandlungen zur Verfügung gestellt. Nach der Behandlung werden das Datum, die erbrachten Leistungen und die Verordnungen gespeichert. Schnittstellen Funktionen Datenflüsse Vorlesung Automatisierungsprojekte Seite 7/10
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) Verwaltung einer Arztpraxis Vorlesung Automatisierungsprojekte Seite 7/11
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) Übung: Überprüfung fehlerhaftes DFD Vorlesung Automatisierungsprojekte Seite 7/12
Strukturierte Analyse • Das Datenflussdiagramm zur Kundenverwaltung enthält folgende Fehler: • Der Datenfluss "erhöhe_Anzahl_der_Bestellungen" enthält ein Verb und führt von einem Prozess zum selben Prozess (Schleife). Richtig wäre es, einen Speicher "Anzahl_der Bestellung" einzuzeichnen, der lesend / schreibend von Prozess 1 benutzt wird. • Der Name des Datenflusses "Anschrift" ist ungeschickt. Besser wäre es, ihn als "Kundenanschrift" zu bezeichnen. • Die Speicher "Kundendatei" und "Rechnungen" sind direkt durch einen Datenfluss verbunden. Richtig wäre es, einen dritten Prozess "erstelle Rechnungen" einzuzeichnen, der die "Kundenanschrift", die "Artikelbezeichnung" und den "Artikelpreis" als Eingabedatenflüsse sowie "Rechnungen" als Ausgabedatenfluss besitzt. • Ein Datenfluss von Speicher "Rechnungen" zu Schnittstelle "Kunde" ist nicht erlaubt. • Der Datenfluss "Artikeldaten" von der Schnittstelle "Sachbearbeiter" direkt in den Speicher "Artikeldaten" ist nicht erlaubt. Richtig wäre es, einen Prozess "aktualisiere Artikeldateien" einzuzeichnen. • Die Schnittstelle Kunde sollte nur einmal vorhanden sein, da die Lesbarkeit durch die getrennte Ausführung der Schnittstellen nicht erhöht wird. Vorlesung Automatisierungsprojekte Seite 7/13
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) Übung für zuhause: Überprüfung fehlerhaftes DFD Vorlesung Automatisierungsprojekte Seite 7/14
Strukturierte Analyse Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Data Dictionary ??? DataDictionary SA 1979 Entscheidungs-tabelle Entscheidungs-bäume Funktions- Baum Datenfluss-diagramm DataDictionary Pseudo-code Funktionale Hierarchie Informations-fluss Daten-strukturen Kontroll-strukturen Vorlesung Automatisierungsprojekte Seite 7/15
Strukturierte Analyse SA Basiskonzept Data Dictionary (DD) Sammlung von Datendefinitionen (Glossar) + Verfeinerungskonzept Dient Konsistenzüberwachung eines Datenbestandes Übersicht über Datenstrukturen Überprüfung auf Redundanzfreiheit und Widerspruchsfreiheit Entsteht in Definitionsphase und wird in Entwurfs- und Implementierungsphase weiter verwendet und verfeinert. Notation: Vorlesung Automatisierungsprojekte Seite 7/16
Strukturierte Analyse SA Basiskonzept Data Dictionary (DD) Beispiel Speicherung Kundendaten Kundendatei = {Kundeneintrag} Kundeneintrag = Kunden-Nr. + Name + Adresse + (Geburtsdatum) + (Funktion) + Umsatz Name = Anrede + (Titel) + Vorname + Nachname Adresse = [Straße + Hausnr. | Postfachnr.] + (Länderkennzeichen) + PLZ + Ort + (Telefon) + (Fax) Datendefinition Top-Down Schrittweise Verfeinerung Bis zum notwendigen Detaillierungsniveau oder „Datenatom“ Vorlesung Automatisierungsprojekte Seite 7/17
Strukturierte Analyse • SA Basiskonzept Data Dictionary (DD) • Anwendungsregeln • Wiederholungs- und Optionsklammern auf möglichst hoher Verfeinerungsebene (frühe Erkennbarkeit der Struktur) • 0. Keine zirkulären Definitionen • A = B + C • C = D + A ergibt A = B + D + A • Unterschiedliche Bezeichnungen identischer Strukturen: Bezeichnungen können gleich gesetzt werden (Alias-Namen) • Problembezogene Namen wählen, z.B. Kundenname statt Name • Bereits definierte Datenstrukturen wiederverwenden, z.B. Kundenname = Name, wenn Name bereits definiert. • Auswahl muss mindestens zwei Alternativen enthalten, z.B. A=[B|C]. • „Kontinuierliche“ Datenelemente: Wertebereich, z.B. B=0 ... 255 • Diskrete Datenelemente: Aufführung der möglichen Werte, z.B. Familienstand=[ledig|verheiratet|geschieden|verwitwet] • Semantische Randbedingungen, die nicht in DD-Notation formulierbar sind, als Kommentare Vorlesung Automatisierungsprojekte Seite 7/18
Strukturierte Analyse Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Pseudocode ??? Pseudo-code SA 1979 Entscheidungs-tabelle Entscheidungs-bäume Funktions- Baum Datenfluss-diagramm DataDictionary Pseudo-code Funktionale Hierarchie Informations-fluss Daten-strukturen Kontroll-strukturen Vorlesung Automatisierungsprojekte Seite 7/19
Strukturierte Analyse • SA Basiskonzept Kontrollstrukturen: Pseudocode • Kontrollstrukturen • Sequenz • Auswahl • Wiederholung • Aufruf anderer Algorithmen • Pseudocode: • Textuelle, halb-formale Darstellungsform von Kontrollstrukturen in Anlehnung an problemorientierte Programmiersprachen:Syntax und Wortsymbole, z.B. if, switch, while • Anweisungen in verbaler Formulierung oder programmsprachlich angelehnter Notation. Vorlesung Automatisierungsprojekte Seite 7/20
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Pseudocode z.B. in Anlehnung an C SequenzAnweisung1; Anweisung2; Anweisung3; Auswahl if (bedingter Ausdruck) Ein- oder Ja-Anweisung; bzw. {Ja-Anweisungsblock} zweiseitig else Nein-Anweisung; bzw. {Nein-Anweisungsblock} Auswahl switch (Ausdruck) mehrfach { case Wert1: Anweisung1; bzw. {Anweisungsblock1}; break; case Wert2: Anweisung2; bzw. {Anweisungsblock2}; break; default: Anweisung_d; bzw. {Anweisungsblock_d} } Vorlesung Automatisierungsprojekte Seite 7/21
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Pseudocode z.B. in Anlehnung an C Wiederholungwhile (Bedingung) Mit Abfrage Anweisung; bzw. {Anweisungsblock} vor jedem Anweisung3; Durchlauf Wiederholung do Anweisung; bzw. {Anweisungsblock} Mit Abfrage while (Bedingung) nach jedem Durchlauf Wiederholung for (Startwerte; Bedingung; Veränderung) Mit bestimmter { Anzahl von Anweisung; bzw. {Anweisungsblock} Wiederholungen } Aufruf Operationsname (aktuelle Parameter); Vorlesung Automatisierungsprojekte Seite 7/22
Strukturierte Analyse Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Entscheidungstabelle ??? Entscheidungs-tabelle SA 1979 Entscheidungs-tabelle Entscheidungs-bäume Funktions- Baum Datenfluss-diagramm DataDictionary Pseudo-code Funktionale Hierarchie Informations-fluss Daten-strukturen Kontroll-strukturen Vorlesung Automatisierungsprojekte Seite 7/23
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Kompakte Definition bedingter Handlungen (eine oder mehrere Bedingungen) in Form einer Tabelle Darstellung von wenn ..., dann ...-Sachwissen (Regeln). Wenn Dann Vorlesung Automatisierungsprojekte Seite 7/24
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Wenn Kreditgrenze des Ausstellers überschritten, bisheriges Zahlungsverhalten aber einwandfrei war und der Überschreitungsbetrag kleiner als 500 € ist, dann soll Scheck eingelöst werden. Wenn Kreditgrenze des Ausstellers überschritten, bisheriges Zahlungsverhalten aber einwandfrei war und der Überschreitungsbetrag über 500 € ist, dann soll Scheck eingelöst und dem Aussteller neue Konditionen vorgelegt werden. Wenn das Zahlungsverhalten nicht einwandfrei war, wird der Scheck nicht eingelöst. Wenn die Kreditlinie nicht überschritten wird, wird der Scheck eingelöst. Vorlesung Automatisierungsprojekte Seite 7/25
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Analyse: 1. Aktionen ermitteln A1: Scheck einlösen A2: Scheck nicht einlösen A3: Neue Konditionen vorlegen 2. Bedingungen ermitteln: B1: Kreditgrenze überschritten ? B2: Zahlungsverhalten einwandfrei ? B3: Überschreitungsbetrag < 500 € ? Vorlesung Automatisierungsprojekte Seite 7/26
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Tabelle erstellen Vorlesung Automatisierungsprojekte Seite 7/27 löschen
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung Erinnerung: Blockbildung in Funktionstabelle zusammen- fassen zusammen- fassen Vorlesung Automatisierungsprojekte Seite 7/28
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle Zusammen- fassen Zusammen- fassen Gleiche Aktion Nicht gleiche Aktion löschen Gleiche Aktion Vorlesung Automatisierungsprojekte Seite 7/29
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle durch Zusammenfassung Vorlesung Automatisierungsprojekte Seite 7/30
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle durch „else“-RegelWenn im Beispiel R6 und R8 nicht unlogisch wären, sondern im Aktionsanzeigerteil auch nur A1 besäßen, könnte die Tabelle durch „else“ vereinfacht werden: Vorlesung Automatisierungsprojekte Seite 7/31
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungsbäume Alternative Darstellungsform der Entscheidungstabelle Scheckein- lösung Kreditgrenze überschr. Kreditgrenze nicht überschr. Zahlungsverh. einwandfr. Zahlungsverh. einwandfr. Zahlungsverh. nicht einwandfr. Zahlungsverh. nicht einwandfr. Überschr.-betr. > 500€ Überschr.-betr. < 500€ Überschr.-betr. < 500€ Überschr.-betr. > 500€ Überschr.-betr. > 500€ Überschr.-betr. < 500€ Überschr.-betr. > 500€ Überschr.-betr. < 500€ Scheck einlösen Scheck einlösen Scheck einlösen Scheck nicht Einlösen, neue Kond. unlogisch unlogisch Scheck nicht einlösen Scheck nicht einlösen Vorlesung Automatisierungsprojekte Seite 7/32
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Tabellengröße im Bedingungsteil wächst mit 2N (N: Anzahl der Bedingungen) nicht mehr handhabbar ab N=5. Abhilfe durch Aufspaltung in mehrere Entscheidungstabellen, z.B. Verzweigung: Vorlesung Automatisierungsprojekte Seite 7/33
Strukturierte Analyse • SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen • Erweiterte Entscheidungstabellen • Bisher begrenzte ET: Bedingungsanzeiger J,N,- Aktionsanzeiger X • Jetzt: beliebiger Text im Anzeigerteil • Text im Bedingungsanzeiger muss erfüllt sein. • Aktionsanzeigertext ist auszuführen. • Beispiel Tarifdschungel einer Airline mit Zielen A und B: • Personenalter >= 18a: Ferientarif (-20%) falls Abflug zw. 21.12. und 30.12. und 6 Tage Mindestaufenthalt • Für A kein Ferientarif • Personenalter < 18a: kein Ferientarif • 2a <= Personenalter < 18a: 30% Jugendrabatt • Kinder unter 2a als Begleitung kostenlos (100% Rabatt) • Kein Preisnachlass: 0% Rabatt Vorlesung Automatisierungsprojekte Seite 7/34
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Erweiterte Entscheidungstabellen Vorlesung Automatisierungsprojekte Seite 7/35
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Eintreffer- und Mehrtreffer-Entscheidungstabellen Eintreffer-Tabellen: Höchstens eine der Regeln ist anwendbar, d.h. die Bedingungen im Bedingungsanzeigerteil schließen sich gegenseitig aus. Abbruch nach Auffinden gültiger Regel. Mehrtreffer-Tabellen: Bedingungen brauchen nicht disjunkt zu sein. Sie können identisch, überschneidend, einschließend und gegenseitig ausschließend sein.Alle Regeln müssen überprüft werden.Aktionen aller gültigen Regeln werden ausgeführt. Widerspruchsfreiheit !Gleichheit: Redundanz, Widerspruch oder Zusammenfassbarkeit - Löschen redundanter Regeln - Modifikation bei widersprüchlichen Regeln (widersprüchliche Aktionsteile von gleichlautenden Bedingungsanzeigern) - Zusammenfassung widerspruchsfreier Aktionsteile von gleichlautenden Bedingungsanzeigern Vorlesung Automatisierungsprojekte Seite 7/36
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Umwandlung einer Tabelle in einen Entscheidungsbaum Vorlesung Automatisierungsprojekte Seite 7/37
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Umwandlung einer Tabelle in einen Entscheidungsbaum B1 erfüllt B1 nicht erfüllt Vorlesung Automatisierungsprojekte Seite 7/38
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Aufgabe „Bestellannahme“ Ist der Besteller noch nicht im Kundenstamm enthalten, soll eine Ersterfassung erfolgen. Ist ein bestellter Artikel verfügbar, muss der Lagerbestand aktualisiert werden. Falls ein Artikel nicht verfügbar ist, muss dies dem Besteller mitgeteilt werden. Hat der Besteller seinen Kreditrahmen überschritten, können keine weiteren Bestellungen erfolgen. Bei Kunden mit großem Umsatz soll dennoch der Auftrag ausgeführt werden. Mit der Auftragsbestätigung soll eine Rechnung erstellt und ausgedruckt werden. Ist bei einem Artikel der Mindestlagerbestand unterschritten, so ist der Sachbearbeiter zu informieren. Ist eine sofortige Bearbeitung wegen Nichtverfügbarkeit eines Artikels oder wegen Überschreitung der Kreditlinie des Kunden nicht möglich, soll diese Bestellung "eingefroren" werden. a) Bedingungen und Aktionen für eine Entscheidungstabelle ? b) Entscheidungstabelle, welche die Annahme von Bestellungen spezifiziert. Vorlesung Automatisierungsprojekte Seite 7/39
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Aufgabe „Bestellannahme“ Ist der Besteller noch nicht im Kundenstamm enthalten, soll eine Ersterfassung erfolgen. Ist ein bestellter Artikel verfügbar, muss der Lagerbestand aktualisiert werden. Falls ein Artikel nicht verfügbar ist, muss dies dem Besteller mitgeteilt werden. Hat der Besteller seinen Kreditrahmen überschritten, können keine weiteren Bestellungen erfolgen. Bei Kunden mit großem Umsatz soll dennoch der Auftrag ausgeführt werden. Mit der Auftragsbestätigung soll eine Rechnung erstellt und ausgedruckt werden. Ist bei einem Artikel der Mindestlagerbestand unterschritten, so ist der Sachbearbeiter zu informieren. Ist eine sofortige Bearbeitung wegen Nichtverfügbarkeit eines Artikels oder wegen Überschreitung der Kreditlinie des Kunden nicht möglich, soll diese Bestellung "eingefroren" werden. a) Bedingungen und Aktionen für eine Entscheidungstabelle ? b) Entscheidungstabelle, welche die Annahme von Bestellungen spezifiziert. Vorlesung Automatisierungsprojekte Seite 7/40
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung B1 Im Kundenstamm? B2 Artikel verfügbar? B3 Mindestbestand unterschritten? B4 Kreditrahmen überschritten? B5 Umsatz eines Großkunden? B6 Bestellung trotz Überschreitung des Kreditrahmens A1 In Kundenstamm aufnehmen A2 Lagerbestand aktualisieren A3 Kunden über Nichtverfügbarkeit des Artikels informieren A4 Bestellung "einfrieren" A5 Auftragsbestätigung und Rechnung erstellen A6 Sachbearbeiter über Unterschreitung des Mindestbestandes informieren Vorlesung Automatisierungsprojekte Seite 7/41
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung: Fehlerhafte Lösung korrigieren x x A5 ET3 ET3 Vorlesung Automatisierungsprojekte Seite 7/42
A C B 1 2 b2 C a1 a3 3 4 e2 Speicher a3 x a2 a4 a4 e1 b1 Strukturierte Analyse Hierarchiekonzept in SA Kontext-DiagrammSystem (0) mit Schnittstellenzur Umwelt Diagramm 0System (0) verfeinert durchFunktionen 1, 2, 3 und 4 Diagramm 3Funktion 3 verfeinert durchFunktionen 3.1, 3.2 und 3.3 MiniSpec 3.1 0 3.2 3.1 3.3 Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Zwiziwzrrg fdggg oi oiw Oihdshf öhjfsodf pweufr Pwoijdlkjdsljflj eiurowifr8 ifi Oiroiroiurouroufdjdljdlu eeur Vorlesung Automatisierungsprojekte Seite 7/43
A C B Strukturierte Analyse Kontext-Diagramm Schnittstellen des zu modellierendenSystems zu seiner Umwelt. Syntaktische Regeln:1. Nur ein Prozess mit Nummer 0: Repräsentiert Gesamtsystem2. Mindestens eine Schnittstelle3. Keine Datenflüsse zwischen den Schnittstellen4. Kein Speicher5. Jede Schnittstelle nur einmal vorhanden Semantische Regeln:1. Kontextdiagramm beschreibt Anwendungsbereich (problem domain) des zu modellierenden Systems2. Kontextdiagramm zeigt Datenflüsse, die Systemgrenzen passieren3. Kontextdiagramm stellt die zusammengefasste Form von Diagramm 0 dar.4. Steht eine Schnittstelle für eine Vielzahl von beliebigen Instanzen, wird sie als eine Schnittstelle dargestellt.5. Eine Schnittstelle gibt die ursprüngliche Quelle oder Senke einer Information an. 0 Vorlesung Automatisierungsprojekte Seite 7/44
A C B Strukturierte Analyse Kontext-Diagramm Beispiel DGS Schnittstellen des zu modellierenden Systems zu seiner Umwelt. 0 CentralPersonal Central Monitoringand Surveillance System (CMS) DataBase Status, dock info, images Status, dock info, images Commands A/C models GroundPersonel Type, gatearrival time Gate occupation Status, dock info, images 0 Docking Guidance System Video data Airfieldcamera Calib. Data, chocks, On/off, engage, test,A/C type, gate arrivaltime Guidanceinformation timeontime off Pilot Display User definedGate Systems Airfield Lighting Vorlesung Automatisierungsprojekte Seite 7/45
A C B Strukturierte Analyse Kontext-Diagramm Beispiel DGS Schnittstellen des zu modellierenden Systems zu seiner Umwelt. Vorlesung Automatisierungsprojekte Seite 7/46
8 Kommuni-ziere mit Zentralpers. 1VerwalteAndock-vorgänge 7 Greife aufDatenbasis zu 1 2 b2 C 2 ErfasseAndock-vorgang a1 3 4 Andock-Daten (Status, Pose, Zeit) Speicher a3 6 Kommunizieremit Ground Operator Kalibrierdaten a2 a4 b1 3 Zeige an Leit-information 5 Kalibriere Gate-system 4 SchalteRollfeldbe-leuchtung Strukturierte Analyse Verfeinerung Datenfluss-Diagramm Beispiel DGS Commands Status, dock info, images Type, gatearrival time Status, dock info, images Gate occupation A/C models Steuerbefehle Plan-daten Flugzeugtyp Status, Pose, Zeit Typspezifische Flugzeug-CAD-Daten Animations-daten Status, Zeit Status, Pose, Zeit Meldungen Status, Pose, Zeit Steuerbefehle Status, Pose Kommandos,(A/C type),(gate arrival time) Bilddaten Gate-Modell Video data Kalibrier-information Beginn/Ende Andockvorgang Guidanceinformation Beleuchtungs-Steuerdaten Vorlesung Automatisierungsprojekte Seite 7/47
1 2 b2 C a1 3 4 Speicher a3 a2 a4 b1 Strukturierte Analyse • Verfeinerung Datenfluss-Diagramm • Prozess 0 repräsentiert das gesamte zu modellierende • System. • Untergliederung in Teilprozesse • Regeln: • Schnittstellen nicht verfeinerbar, können aber in verfeinerten Diagrammen zur Verdeutlichung nochmals dargestellt werden (eindeutige Benennung!). • Speicher können nicht verfeinert werden, können aber in allen weiteren Verfeinerungen nach ihrer Einführung nochmals dargestellt werden (eindeutige Benennung!). • Anzahl der pro Diagramm dargestellten Prozesse sollte < 8 sein, dann (oder wenn das Diagramm bereits zuvor unübersichtlich) neues Diagramm. • Verfeinerung der Prozesse Verfeinerung der Datenflüsse; Ziel: einheitliches Abstraktionsniveau innerhalb eines Diagramms. • Prozessnummerierung: Trägt am Anfang die Nummer des verfeinerten Prozesses, durch „.“ getrennt laufende Nummerierung ab 1. Vorlesung Automatisierungsprojekte Seite 7/48
1 2 b2 C a1 3 4 Speicher a3 a2 a4 b1 Strukturierte Analyse Verfeinerung Datenfluss-Diagramm Beispiel DGS Vorlesung Automatisierungsprojekte Seite 7/49
1 2 b2 C a1 3 4 Speicher a3 a2 a4 b1 Strukturierte Analyse • Verfeinerung Datenfluss-Diagramm • Data Dictionary Einträge und Datenintegrität (balancing) • Verfeinerung Prozesse Verfeinerung Datenflüsse • Welche Datenflüsse zwischen zwei Diagrammen gehören wie zusammen ? • Zusammenhang über Data Dictionary Einträge Forderungen: • Jeder Datenflusspfeil hat einen Datenflussnamen (mögl. Ausnahme gesamter Speicher). • Jeder Datenflussname ist im Data Dictionary definiert. • Jeder Speicher hat einen Namen. • Jeder Speichername ist im Data Dictionary definiert. • Alle Datenflüsse eines untergeordneten DFD müssen im übergeordneten DFD entweder unter gleichem Namen erscheinen oder Teilkomponente eines Datenflusses sein. Die Teilkomponenten-Eigenschaft muss im DD beschrieben sein. • Eigenschaft erfüllt: Ausbalanciertes Datenmodell (balancing), Datenintegrität Vorlesung Automatisierungsprojekte Seite 7/50