Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Automatisierungsprojekte Seite 7/1 Zusammenfassung ZA und PN Zustandsautomaten: Systemreaktion auf Ereignisse abhängig von Folge vorangegangener.

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Automatisierungsprojekte Seite 7/1 Zusammenfassung ZA und PN Zustandsautomaten: Systemreaktion auf Ereignisse abhängig von Folge vorangegangener."—  Präsentation transkript:

1 Vorlesung Automatisierungsprojekte Seite 7/1 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+  ) = 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

2 Vorlesung Automatisierungsprojekte Seite 7/2 Modellierung Basiskonzepte der SW-Entwicklung: Übersicht Funk- tions- baum Ge- schäfts- prozess Daten- fluss- dia- gramm Data Dictio- nary Entity Relation- ship Klassen- dia- gramm Pseudo- code RegelnZu- stands- automat Petri- Netz Se- quenz- dia- gramm Pro- gramm- Ablauf- plan Strukto- gramm Ent- schei- dungs- tabelle Aktivi- täts- dia- gramm Kollabo- rations- 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 SichtDatenorientierte Sicht Objekt- orient. Sicht Algo- rithm. Sicht Regel- basierte Sicht Zustandsorientierte Sicht Szenario- basierte Sicht Konzepte und Sichten Alternative Notationen Häufig verwendet Selten verwendet

3 Vorlesung Automatisierungsprojekte Seite 7/3 Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Kombination der Basiskonzepte in „SA/RT“ oder auch „RT“ Entity Relationship Entitätstypen Beziehungen Zustands- automat Endlicher Automat RT 1987 Modellierung

4 Vorlesung Automatisierungsprojekte Seite 7/4 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. Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Zentrale Komponente Verfeinerungs- konzept Konsistenz- haltung Elementare Datentransformation Zweck dargestellt

5 Vorlesung Automatisierungsprojekte Seite 7/5 Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Datenflussdiagramm Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Datenfluss- diagramm Strukturierte Analyse

6 Vorlesung Automatisierungsprojekte Seite 7/6 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 Speichername Schnittstellen- name Strukturierte Analyse

7 Vorlesung Automatisierungsprojekte Seite 7/7 SA Basiskonzept Datenflussdiagramm (DFD) Umweltmodellierung (äußere Systemschnittstellen): Informationsquellen Informationen entstehen und fließen zu Funktion Informationssenken Informationen fließen aus Funktion und verschwinden Funktionen transformieren eingehende Datenflüsse in ausgehende Datenflüsse Speicher: Hilfsmittel zur Ablage von Informationen Quelle Senke Speicher lesend schreibend Schreib/Lese Strukturierte Analyse

8 Vorlesung Automatisierungsprojekte Seite 7/8 SA Basiskonzept Datenflussdiagramm (DFD) Syntaktische Regeln: 1.Ein DFD enthält mindestens eine Schnittstelle 2.Jede Schnittstelle nur einmal vorhanden 3.Keine Datenflüsse zwischen Schnittstellen 4.Jeder Datenfluss hat einen Namen, außer von und zu Speichern, wenn gesamter Speicherinhalt transportiert wird 5.Keine direkten Flüsse zwischen Speichern 6.Keine direkten Flüsse zwischen Schnittstellen und Speichern Semantische Regeln: 1.DFD beschreibt den Datenfluss und keinen Kontrollfluss 2.Schnittstelle ist stets so zu wählen, dass sie die ursprüngliche Quelle oder Senke einer Information angibt. 3.Datenflussnamen bestehen aus (Adjektiv und) Substantiv 4.Funktionsname repräsentiert Aktion und besteht aus Aktionsverb und Substantiv (Objekt) falsch Strukturierte Analyse

9 Vorlesung Automatisierungsprojekte Seite 7/9 SA Basiskonzept Datenflussdiagramm (DFD) Überprüfbarkeit von DFD Mittels „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 Strukturierte Analyse

10 Vorlesung Automatisierungsprojekte Seite 7/10 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 Strukturierte Analyse

11 Vorlesung Automatisierungsprojekte Seite 7/11 SA Basiskonzept Datenflussdiagramm (DFD) Verwaltung einer Arztpraxis Strukturierte Analyse

12 Vorlesung Automatisierungsprojekte Seite 7/12 SA Basiskonzept Datenflussdiagramm (DFD) Übung: Überprüfung fehlerhaftes DFD Strukturierte Analyse

13 Vorlesung Automatisierungsprojekte Seite 7/13 Das Datenflussdiagramm zur Kundenverwaltung enthält folgende Fehler: 1.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. 2.Der Name des Datenflusses "Anschrift" ist ungeschickt. Besser wäre es, ihn als "Kundenanschrift" zu bezeichnen. 3.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. 4.Ein Datenfluss von Speicher "Rechnungen" zu Schnittstelle "Kunde" ist nicht erlaubt. 5.Der Datenfluss "Artikeldaten" von der Schnittstelle "Sachbearbeiter" direkt in den Speicher "Artikeldaten" ist nicht erlaubt. Richtig wäre es, einen Prozess "aktualisiere Artikeldateien" einzuzeichnen. 6.Die Schnittstelle Kunde sollte nur einmal vorhanden sein, da die Lesbarkeit durch die getrennte Ausführung der Schnittstellen nicht erhöht wird. Strukturierte Analyse

14 Vorlesung Automatisierungsprojekte Seite 7/14 SA Basiskonzept Datenflussdiagramm (DFD) Übung für zuhause: Überprüfung fehlerhaftes DFD Strukturierte Analyse

15 Vorlesung Automatisierungsprojekte Seite 7/15 Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Data Dictionary Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Data Dictionary Strukturierte Analyse ???

16 Vorlesung Automatisierungsprojekte Seite 7/16 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: SymbolBedeutungBeispiel =Äquivalent zuA = B + C +SequenzX = X1 + X2 + X3 [ ]Auswahl (entweder... Oder)A = [B | C] { }WiederholungA = {B} M{ }NWiederholung von M bis NA = 1{B}10 ( )OptionA = B + (C) *...*KommentarA = X + Y *sowas* Strukturierte Analyse

17 Vorlesung Automatisierungsprojekte Seite 7/17 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“ SymbolBedeutungBeispiel =Äquivalent zuA = B + C +SequenzX = X1 + X2 + X3 [ ]Auswahl (entweder... Oder) A = [B | C] { }WiederholungA = {B} M{ }NWiederholung von M bis NA = 1{B}10 ( )OptionA = B + (C) *...*KommentarA = X + Y *sowas* Strukturierte Analyse

18 Vorlesung Automatisierungsprojekte Seite 7/18 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 + Aergibt A = B + D + A 1.Unterschiedliche Bezeichnungen identischer Strukturen: Bezeichnungen können gleich gesetzt werden (Alias-Namen) 2.Problembezogene Namen wählen, z.B. Kundenname statt Name 3.Bereits definierte Datenstrukturen wiederverwenden, z.B. Kundenname = Name, wenn Name bereits definiert. 4.Auswahl muss mindestens zwei Alternativen enthalten, z.B. A=[B|C]. 5.„Kontinuierliche“ Datenelemente: Wertebereich, z.B. B= Diskrete Datenelemente: Aufführung der möglichen Werte, z.B. Familienstand=[ledig|verheiratet|geschieden|verwitwet] 7.Semantische Randbedingungen, die nicht in DD-Notation formulierbar sind, als Kommentare Strukturierte Analyse

19 Vorlesung Automatisierungsprojekte Seite 7/19 Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Pseudocode Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Pseudo- code Strukturierte Analyse ???

20 Vorlesung Automatisierungsprojekte Seite 7/20 SA Basiskonzept Kontrollstrukturen: Pseudocode Kontrollstrukturen Sequenz Auswahl Wiederholung Aufruf anderer Algorithmen Pseudocode: 1.Textuelle, halb-formale Darstellungsform von Kontrollstrukturen in Anlehnung an problemorientierte Programmiersprachen: Syntax und Wortsymbole, z.B. if, switch, while 2.Anweisungen in verbaler Formulierung oder programmsprachlich angelehnter Notation. Strukturierte Analyse

21 Vorlesung Automatisierungsprojekte Seite 7/21 SA Basiskonzept Kontrollstrukturen: Pseudocode z.B. in Anlehnung an C SequenzAnweisung1; Anweisung2; Anweisung3; Auswahlif (bedingter Ausdruck) Ein- oder Ja-Anweisung; bzw. {Ja-Anweisungsblock} zweiseitigelse Nein-Anweisung; bzw. {Nein-Anweisungsblock} Auswahlswitch (Ausdruck) mehrfach { case Wert1: Anweisung1; bzw. {Anweisungsblock1}; break; case Wert2: Anweisung2; bzw. {Anweisungsblock2}; break; default: Anweisung_d; bzw. {Anweisungsblock_d} } Strukturierte Analyse

22 Vorlesung Automatisierungsprojekte Seite 7/22 SA Basiskonzept Kontrollstrukturen: Pseudocode z.B. in Anlehnung an C Wiederholungwhile (Bedingung) Mit Abfrage Anweisung; bzw. {Anweisungsblock} vor jedemAnweisung3; 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); Strukturierte Analyse

23 Vorlesung Automatisierungsprojekte Seite 7/23 Kombination von vorhandenen Basiskonzepten in SA Basiskonzept Entscheidungstabelle Funktions- Baum Datenfluss- diagramm Data Dictionary Entscheidungs- tabelle Entscheidungs- bäume Pseudo- code SA 1979 Funktionale Hierarchie Informations- fluss Daten- strukturen Kontroll- strukturen Entscheidungs- tabelle Strukturierte Analyse ???

24 Vorlesung Automatisierungsprojekte Seite 7/24 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Kompakte Definition bedingter Handlungen (eine oder mehrere Bedingungen) in Form einer Tabelle Darstellung von wenn..., dann...-Sachwissen (Regeln). Name der ETRegelnummern BedingungenBedingungsanzeiger AktionenAktionsanzeiger Wenn Dann Strukturierte Analyse

25 Vorlesung Automatisierungsprojekte Seite 7/25 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. Strukturierte Analyse

26 Vorlesung Automatisierungsprojekte Seite 7/26 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 € ? Strukturierte Analyse

27 Vorlesung Automatisierungsprojekte Seite 7/27 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Tabelle erstellen ET1ScheckeinlösungR1R2R3R4R5R6R7R8 B1Kreditgrenze überschritten ? JJJJNNNN B2Zahlungsverhal- ten einwandfrei ? JJNNJJNN B3Überschreitungs- betrag < 500€ ? JNJNJNJN A1Scheck einlösenXXXX A2Scheck nicht einlösen XX A3Neue Konditio- nen vorlegen X A4unlogischXX löschen Strukturierte Analyse

28 Vorlesung Automatisierungsprojekte Seite 7/28 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung Erinnerung: Blockbildung in Funktionstabelle B1 Kreditgrenze überschritten ? B2 Zahlungsverhalten einwandfrei ? B3 Überschreitungs- betrag < 500 € ? A1 Scheck einlösen R1 R2 R3 R4 R5 R6 R7 R8 zusammen- fassen zusammen- fassen Strukturierte Analyse

29 Vorlesung Automatisierungsprojekte Seite 7/29 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle ET1ScheckeinlösungR1R2R3R4R5R6R7R8 B1Kreditgrenze überschritten ? JJJJNNNN B2Zahlungsverhal- ten einwandfrei ? JJNNJJNN B3Überschreitungs- betrag < 500€ ? JNJNJNJN A1Scheck einlösenXXXX A2Scheck nicht einlösen XX A3Neue Konditio- nen vorlegen X A4unlogischXX löschen Gleiche Aktion Gleiche Aktion Zusammen- fassen Zusammen- fassen Nicht gleiche Aktion Strukturierte Analyse

30 Vorlesung Automatisierungsprojekte Seite 7/30 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle durch Zusammenfassung ET1ScheckeinlösungR1R2R3/ 4 R5/ 7 B1Kreditgrenze überschritten ? JJJN B2Zahlungsverhal- ten einwandfrei ? JJN- B3Überschreitungs- betrag < 500€ ? JN-J A1Scheck einlösenXXX A2Scheck nicht einlösen X A3Neue Konditio- nen vorlegen X Strukturierte Analyse

31 Vorlesung Automatisierungsprojekte Seite 7/31 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle durch „else“-Regel Wenn 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: ET1ScheckeinlösungR1R2R3/ 4 R5/ 7 B1Kreditgrenze überschritten ? JJJN B2Zahlungsverhal- ten einwandfrei ? JJN- B3Überschreitungs- betrag < 500€ ? JN-J A1Scheck einlösenXXX A2Scheck nicht einlösen X A3Neue Konditio- nen vorlegen X ET1ScheckeinlösungR2R3/ 4 else B1Kreditgrenze überschritten ? JJ B2Zahlungsverhal- ten einwandfrei ? JN B3Überschreitungs- betrag < 500€ ? N- A1Scheck einlösenXX A2Scheck nicht einlösen X A3Neue Konditio- nen vorlegen X Strukturierte Analyse

32 Vorlesung Automatisierungsprojekte Seite 7/32 SA Basiskonzept Kontrollstrukturen: Entscheidungsbäume Alternative Darstellungsform der Entscheidungstabelle Scheckein- lösung Kreditgrenze nicht überschr. Kreditgrenze überschr. Zahlungsverh. nicht einwandfr. Zahlungsverh. einwandfr. Zahlungsverh. nicht einwandfr. Zahlungsverh. 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€ unlogisch Scheck einlösen unlogischScheck einlösen Scheck nicht einlösen Scheck nicht einlösen Scheck einlösen Scheck nicht Einlösen, neue Kond. Strukturierte Analyse

33 Vorlesung Automatisierungsprojekte Seite 7/33 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Tabellengröße im Bedingungsteil wächst mit 2 N (N: Anzahl der Bedingungen)  nicht mehr handhabbar ab N=5. Abhilfe durch Aufspaltung in mehrere Entscheidungstabellen, z.B. Verzweigung: ET0R1R2R3R4 B1JJNN B2JNJN A1XX A2XX Weiter bei ET:ET1ET2ET3 ET1R1.1R1.2R1.3R1.4 B3JJNN B4JNJN A1.1XX A1.2XXX Strukturierte Analyse

34 Vorlesung Automatisierungsprojekte Seite 7/34 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 und 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 Strukturierte Analyse

35 Vorlesung Automatisierungsprojekte Seite 7/35 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Erweiterte Entscheidungstabellen Tarif- dschungel R1R2R3R4R5R6 Alter?>= 18 >=2 u. < 18 <2 ZielBABB-- Aufenthalt >= 6 Tage J-N--- Abflug zw und J--N-- Rabatt % Strukturierte Analyse

36 Vorlesung Automatisierungsprojekte Seite 7/36 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 Strukturierte Analyse

37 Vorlesung Automatisierungsprojekte Seite 7/37 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Umwandlung einer Tabelle in einen Entscheidungsbaum Strukturierte Analyse

38 Vorlesung Automatisierungsprojekte Seite 7/38 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Umwandlung einer Tabelle in einen Entscheidungsbaum B1 erfüllt B1 nicht erfüllt Strukturierte Analyse

39 Vorlesung Automatisierungsprojekte Seite 7/39 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. SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Strukturierte Analyse

40 Vorlesung Automatisierungsprojekte Seite 7/40 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. SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Strukturierte Analyse

41 Vorlesung Automatisierungsprojekte Seite 7/41 B1Im Kundenstamm? B2Artikel verfügbar? B3Mindestbestand unterschritten? B4Kreditrahmen überschritten? B5Umsatz eines Großkunden? B6Bestellung trotz Überschreitung des Kreditrahmens A1In Kundenstamm aufnehmen A2Lagerbestand aktualisieren A3Kunden über Nichtverfügbarkeit des Artikels informieren A4Bestellung "einfrieren" A5Auftragsbestätigung und Rechnung erstellen A6Sachbearbeiter über Unterschreitung des Mindestbestandes informieren SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Strukturierte Analyse

42 Vorlesung Automatisierungsprojekte Seite 7/42 SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung: Fehlerhafte Lösung korrigieren Strukturierte Analyse ET3 x A5 x ET3

43 Vorlesung Automatisierungsprojekte Seite 7/43 Hierarchiekonzept in SA Kontext-Diagramm System (0) mit Schnittstellen zur Umwelt Diagramm 0 System (0) verfeinert durch Funktionen 1, 2, 3 und 4 Diagramm 3 Funktion 3 verfeinert durch Funktionen 3.1, 3.2 und 3.3 MiniSpec 3.1 A C B a3 x e1 e2 a4 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 0 Speicher a1 a2 a3 a4 b1 b2 C Strukturierte Analyse

44 Vorlesung Automatisierungsprojekte Seite 7/44 Kontext-Diagramm Schnittstellen des zu modellierenden Systems zu seiner Umwelt. Syntaktische Regeln: 1. Nur ein Prozess mit Nummer 0: Repräsentiert Gesamtsystem 2. Mindestens eine Schnittstelle 3. Keine Datenflüsse zwischen den Schnittstellen 4. Kein Speicher 5. Jede Schnittstelle nur einmal vorhanden Semantische Regeln: 1. Kontextdiagramm beschreibt Anwendungsbereich (problem domain) des zu modellierenden Systems 2. Kontextdiagramm zeigt Datenflüsse, die Systemgrenzen passieren 3. 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. A C B 0 Strukturierte Analyse

45 Vorlesung Automatisierungsprojekte Seite 7/45 Kontext-Diagramm Beispiel DGS Schnittstellen des zu modellierenden Systems zu seiner Umwelt. A C B 0 0 Docking Guidance System Central Monitoring and Surveillance System (CMS) Airfield camera Pilot Display Airfield Lighting User defined Gate Systems Ground Personel Data Base Central Personal Video data Guidance information Status, dock info, images Type, gate arrival time Status, dock info, images A/C models Gate occupation Calib. Data, chocks, On/off, engage, test, A/C type, gate arrival time Status, dock info, images time on time off Commands Strukturierte Analyse

46 Vorlesung Automatisierungsprojekte Seite 7/46 Kontext-Diagramm Beispiel DGS Schnittstellen des zu modellierenden Systems zu seiner Umwelt. A C B Strukturierte Analyse

47 Vorlesung Automatisierungsprojekte Seite 7/47 Verfeinerung Datenfluss-Diagramm Beispiel DGS Speicher a1 a2 a3 a4 b1 b2 C Erfasse Andock- vorgang 3 Zeige an Leit- information 1 Verwalte Andock- vorgänge 8 Kommuni- ziere mit Zentralpers. 6 Kommuniziere mit Ground Operator 5 Kalibriere Gate- system 7 Greife auf Datenbasis zu 4 Schalte Rollfeldbe- leuchtung Beginn/Ende Andockvorgang Kalibrier- information Plan- daten Andock-Daten (Status, Pose, Zeit) Kalibrierdaten Status, Pose Status, Pose, Zeit Typspezifische Flugzeug-CAD-Daten Flugzeugtyp Steuerbefehle Status, Zeit Status, Pose, Zeit Steuerbefehle Status, Pose, Zeit Bilddaten Beleuchtungs- Steuerdaten Animations- daten Meldungen Kommandos, (A/C type), (gate arrival time) Gate- Modell A/C models Gate occupation Video data Guidance information Type, gate arrival time Status, dock info, images Commands Strukturierte Analyse

48 Vorlesung Automatisierungsprojekte Seite 7/48 Verfeinerung Datenfluss-Diagramm Prozess 0 repräsentiert das gesamte zu modellierende System. Untergliederung in Teilprozesse Regeln: 1.Schnittstellen nicht verfeinerbar, können aber in verfeinerten Diagrammen zur Verdeutlichung nochmals dargestellt werden (eindeutige Benennung!). 2.Speicher können nicht verfeinert werden, können aber in allen weiteren Verfeinerungen nach ihrer Einführung nochmals dargestellt werden (eindeutige Benennung!). 3.Anzahl der pro Diagramm dargestellten Prozesse sollte < 8 sein, dann (oder wenn das Diagramm bereits zuvor unübersichtlich) neues Diagramm. 4.Verfeinerung der Prozesse  Verfeinerung der Datenflüsse; Ziel: einheitliches Abstraktionsniveau innerhalb eines Diagramms. 5.Prozessnummerierung: Trägt am Anfang die Nummer des verfeinerten Prozesses, durch „.“ getrennt laufende Nummerierung ab 1. Speicher a1 a2 a3 a4 b1 b2 C Strukturierte Analyse

49 Vorlesung Automatisierungsprojekte Seite 7/49 Verfeinerung Datenfluss-Diagramm Beispiel DGS Speicher a1 a2 a3 a4 b1 b2 C Strukturierte Analyse

50 Vorlesung Automatisierungsprojekte Seite 7/50 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: 1.Jeder Datenflusspfeil hat einen Datenflussnamen (mögl. Ausnahme gesamter Speicher). 2.Jeder Datenflussname ist im Data Dictionary definiert. 3.Jeder Speicher hat einen Namen. 4.Jeder Speichername ist im Data Dictionary definiert. 5.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 Speicher a1 a2 a3 a4 b1 b2 C Strukturierte Analyse

51 Vorlesung Automatisierungsprojekte Seite 7/51 Data Balancing mittels DD A = ? B = ? X = ? A C B a3 x e1 e2 a4 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 0 Speicher a1 a2 a3 a4 b1 b2 C Strukturierte Analyse

52 Vorlesung Automatisierungsprojekte Seite 7/52 Verfeinerung Datenfluss-Diagramm Datenfluss-Darstellung A fließt von links nach rechts A wird in beide Zweige kopiert A teilt sich in Komponenten B und C. A hat keine weiteren Komponenten. DD: A=B+C A entsteht aus B und C; DD: A=B+C A fließt beide Richtungen entlang z.B. Schreib/Lese-Zugriff Speicher a1 a2 a3 a4 b1 b2 C A A A A B C A B C A Strukturierte Analyse

53 Vorlesung Automatisierungsprojekte Seite 7/53 Verfeinerung Datenfluss-Diagramm Hierarchiekonzept von SA Durch Datenintegrität ist sichergestellt, dass alle Datenflussdiagramme – entsprechend ihrer Hierarchie- ineinander substituiert werden. Ein Datenfluss ist dann von innen nach außen und umgekehrt ununterbrochen verfolgbar. Speicher a1 a2 a3 a4 b1 b2 C Speicher Strukturierte Analyse

54 Vorlesung Automatisierungsprojekte Seite 7/54 Verfeinerung Datenfluss-Diagramm Mini-Spezifikationen (MiniSpec) Letzte Stufe der Verfeinerung Jeder Prozess, der nicht durch weiteres DFD verfeinert wird, muss durch MiniSpec beschrieben werden. MiniSpec beschreibt, wie Daten, die in den Prozess hineinfließen, in Ausgaben transformiert werden. Beschreibungsmittel: Pseudocode, Entscheidungstabellen und -bäume Speicher a1 a2 a3 a4 b1 b2 C Erzeuge Display- Information Gate-Plandaten Andockdaten Textdaten Abstandsdaten If ((Flugzeug detektiert)&&(Flugzeugmodell aus Gate-Plandaten passt nicht) then Textdaten = „Stop“... Strukturierte Analyse

55 Vorlesung Automatisierungsprojekte Seite 7/55 Anwendung Werkzeug Strukturierte Analyse

56 Vorlesung Automatisierungsprojekte Seite 7/56 Vorgehen Iterativer Prozess, d.h. mehrere Modellierungsdurchläufe 1.Festlegung der Systemschnittstellen zur Umwelt 2.Identifizierung aller E/A-Datenflüsse von Schnittstellen zu Prozess 0 3.Ermitteln Funktionen bzw. Prozesse, die Eingaben in Ausgaben transformieren 4.Speicher identifizieren und festlegen 5.Verfeinerung von Prozessen und Flüssen 6.Definition der Speicher und Datenflüsse im Data Dictionary 7.Iterative Überarbeitung 1.Eventuelle Kontrollflüsse entfernen 2.Eindeutige Namenswahl für Datenflüsse 3.Eindeutige Bezeichnung der Prozesse (aller seiner Aktionen) 8.MiniSpecs für alle nicht-verfeinerten Prozesse Strukturierte Analyse

57 Vorlesung Automatisierungsprojekte Seite 7/57 Zusammenfassung Konzepte Hierarchisch angeordnete Datenflussdiagramme (DFDs) Data Dictionary Einträge (DDs) Mini-Spezifikationen (MiniSpecs) DFD 0: Verfeinerung des Kontextdiagramms Prozess 0 wird in Teilprozesse zerlegt. Datenflüsse werden ebenfalls verfeinert. Speicher werden eingeführt. Neue Datenflüsse zwischen Prozessen und mit Speichern werden eingetragen. Schnittstellen und Speicher dürfen nicht verfeinert werden. DFD 1,..., DFD 1.1,..., DFD n.m Jeder Prozess kann weiter zu einem neuen Diagramm verfeinert werden. Anzahl der Prozesse pro Diagramm soll maximal 7 sein. Ist ein Prozess ausreichend verstanden, dann Beschreibung durch MiniSpec. Strukturierte Analyse

58 Vorlesung Automatisierungsprojekte Seite 7/58 Zusammenfassung DD-Eintrag und Datenintegrität Jeder Datenfluss und jeder Speicher wird im DD definiert. Zusammenhang zwischen den Datenflüssen der DFDs über DD Datenflüsse untergeordneter DFDs müssen im übergeordneten DFD unter gleichem Namen erscheinen oder dort Komponente eines DFD sein. Datenintegrität: Gültigkeit für alle DFDs. MiniSpec Beschreibung eines nicht mehr verfeinerten Prozesses Beschreibung, wie Eingabedatenflüsse in Ausgabedatenflüsse transformiert werden Beschreibung durch Pseudocode, Entscheidungstabellen oder Entscheidungsbäume Strukturierte Analyse


Herunterladen ppt "Vorlesung Automatisierungsprojekte Seite 7/1 Zusammenfassung ZA und PN Zustandsautomaten: Systemreaktion auf Ereignisse abhängig von Folge vorangegangener."

Ähnliche Präsentationen


Google-Anzeigen