58
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 s Ereignis gehörenden zu des Eintreten : ) 1 , 0 ( , ) ( ) ( j j aktiviert t j j t t t m t m j

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

Embed Size (px)

Citation preview

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

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

sEreignisse gehörenden zu desEintreten :)1,0(,)()( jjaktiviertt

jj tttmtmj

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

Vorlesung Automatisierungsprojekte Seite 7/2

Modellierung

Basiskonzepte der SW-Entwicklung: Übersicht

Funk-tions-baum

Ge-schäfts-prozess

Daten-fluss-dia-gramm

DataDictio-nary

EntityRelation-ship

Klassen-dia-gramm

Pseudo-code

Regeln Zu-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-naleHierar-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

EndlicherAutomat

Neben-läufigeStruk-turen

Inter-aktions-struk-turen

Funktionale Sicht Datenorientierte Sicht

Objekt-orient.Sicht

Algo-rithm.Sicht

Regel-basierteSicht

ZustandsorientierteSicht

Szenario-basierteSicht

Konzepte und Sichten

Alte

rna

tive

No

tatio

ne

n

ufig

ve

rwe

nd

et

Se

lten

ve

rwe

nd

et

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

Vorlesung Automatisierungsprojekte Seite 7/3

Funktions-Baum

Datenfluss-diagramm

DataDictionary

Entscheidungs-tabelle

Entscheidungs-bäume

Pseudo-code

SA 1979

FunktionaleHierarchie

Informations-fluss

Daten-strukturen

Kontroll-strukturen

Kombination der Basiskonzeptein „SA/RT“ oder auch „RT“

EntityRelationship

EntitätstypenBeziehungen

Zustands-automat

EndlicherAutomat

RT 1987

Modellierung

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

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

DataDictionary

Entscheidungs-tabelle

Entscheidungs-bäume

Pseudo-code

SA 1979

FunktionaleHierarchie

Informations-fluss

Daten-strukturen

Kontroll-strukturen

ZentraleKomponente

Verfeinerungs-konzept

Konsistenz-haltung

ElementareDatentransformationZweck

dargestellt

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

Vorlesung Automatisierungsprojekte Seite 7/5

Kombination von vorhandenen Basiskonzepten in SA

Basiskonzept Datenflussdiagramm

Funktions-Baum

Datenfluss-diagramm

DataDictionary

Entscheidungs-tabelle

Entscheidungs-bäume

Pseudo-code

SA 1979

FunktionaleHierarchie

Informations-fluss

Daten-strukturen

Kontroll-strukturen

Datenfluss-diagramm

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/6

SA Basiskonzept Datenflussdiagramm (DFD)

DFD: Beschreibung• Wege (Flüsse)

von • Daten und Informationen

zwischen • Funktionen, • Speichern und • Schnittstellen

• Transformationenvon

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

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

Vorlesung Automatisierungsprojekte Seite 7/7

SA Basiskonzept Datenflussdiagramm (DFD)

Umweltmodellierung (äußere Systemschnittstellen):Informationsquellen

Informationen entstehen und fließen zu Funktion

InformationssenkenInformationen fließen ausFunktion und verschwinden

Funktionen transformieren eingehendeDatenflüsse in ausgehendeDatenflüsse

Speicher:Hilfsmittel zur Ablage von Informationen

Quelle

Senke

Speicher

lesendschreibend

Schreib/Lese

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/8

SA Basiskonzept Datenflussdiagramm (DFD)

Syntaktische Regeln:1. Ein DFD enthält mindestens eine Schnittstelle2. Jede Schnittstelle nur einmal vorhanden3. Keine Datenflüsse zwischen Schnittstellen4. Jeder Datenfluss hat einen Namen, außer von und zu

Speichern, wenn gesamter Speicherinhalt transportiert wird

5. Keine direkten Flüsse zwischen Speichern6. Keine direkten Flüsse zwischen Schnittstellen und

Speichern

Semantische Regeln:1. DFD beschreibt den Datenfluss und keinen Kontrollfluss2. Schnittstelle ist stets so zu wählen, dass sie die

ursprüngliche Quelle oder Senke einer Information angibt.3. Datenflussnamen bestehen aus (Adjektiv und) Substantiv4. Funktionsname repräsentiert Aktion und besteht aus

Aktionsverb und Substantiv (Objekt)

falsch

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/9

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

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/10

SA Basiskonzept Datenflussdiagramm (DFD)

AufgabeVerwaltung 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.

SchnittstellenFunktionenDatenflüsse

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/11

SA Basiskonzept Datenflussdiagramm (DFD)

Verwaltung einer Arztpraxis

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/12

SA Basiskonzept Datenflussdiagramm (DFD)Übung: Überprüfung fehlerhaftes DFD

Strukturierte Analyse

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

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

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

Vorlesung Automatisierungsprojekte Seite 7/14

SA Basiskonzept Datenflussdiagramm (DFD)Übung für zuhause: Überprüfung fehlerhaftes DFD

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/15

Kombination von vorhandenen Basiskonzepten in SA

Basiskonzept Data Dictionary

Funktions-Baum

Datenfluss-diagramm

DataDictionary

Entscheidungs-tabelle

Entscheidungs-bäume

Pseudo-code

SA 1979

FunktionaleHierarchie

Informations-fluss

Daten-strukturen

Kontroll-strukturen

DataDictionary

Strukturierte Analyse

???

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

Vorlesung Automatisierungsprojekte Seite 7/16

SA Basiskonzept Data Dictionary (DD)

Sammlung von Datendefinitionen (Glossar) + VerfeinerungskonzeptDient Konsistenzüberwachung eines DatenbestandesÜbersicht über Datenstrukturen Überprüfung auf Redundanzfreiheit und WiderspruchsfreiheitEntsteht in Definitionsphase und wird in Entwurfs- und

Implementierungsphase weiter verwendet und verfeinert.

Notation: Symbol Bedeutung Beispiel

= Äquivalent zu A = B + C

+ Sequenz X = X1 + X2 + X3

[ ] Auswahl (entweder ... Oder) A = [B | C]

{ } Wiederholung A = {B}

M{ }N Wiederholung von M bis N A = 1{B}10

( ) Option A = B + (C)

*...* Kommentar A = X + Y *sowas*

Strukturierte Analyse

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

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 VerfeinerungBis zum notwendigen Detaillierungsniveau oder „Datenatom“

Symbol Bedeutung Beispiel

= Äquivalent zu A = B + C

+ Sequenz X = X1 + X2 + X3

[ ] Auswahl (entweder ... Oder)

A = [B | C]

{ } Wiederholung A = {B}

M{ }N Wiederholung von M bis N A = 1{B}10

( ) Option A = B + (C)

*...* Kommentar A = X + Y *sowas*

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/18

SA Basiskonzept Data Dictionary (DD)

AnwendungsregelnWiederholungs- und Optionsklammern auf möglichst hoher

Verfeinerungsebene (frühe Erkennbarkeit der Struktur)0. Keine zirkulären Definitionen

A = B + CC = D + A ergibt 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 Name3. 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=0 ... 2556. 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

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

Vorlesung Automatisierungsprojekte Seite 7/19

Kombination von vorhandenen Basiskonzepten in SA

Basiskonzept Pseudocode

Funktions-Baum

Datenfluss-diagramm

DataDictionary

Entscheidungs-tabelle

Entscheidungs-bäume

Pseudo-code

SA 1979

FunktionaleHierarchie

Informations-fluss

Daten-strukturen

Kontroll-strukturen

Pseudo-code

Strukturierte Analyse

???

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

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

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

Vorlesung Automatisierungsprojekte Seite 7/21

SA Basiskonzept Kontrollstrukturen: Pseudocode

z.B. in Anlehnung an C

Sequenz Anweisung1;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} }

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/22

SA Basiskonzept Kontrollstrukturen: Pseudocode

z.B. in Anlehnung an C

Wiederholung while (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);

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/23

Kombination von vorhandenen Basiskonzepten in SA

Basiskonzept Entscheidungstabelle

Funktions-Baum

Datenfluss-diagramm

DataDictionary

Entscheidungs-tabelle

Entscheidungs-bäume

Pseudo-code

SA 1979

FunktionaleHierarchie

Informations-fluss

Daten-strukturen

Kontroll-strukturen

Entscheidungs-tabelle

Strukturierte Analyse

???

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

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 ET Regelnummern

Bedingungen Bedingungsanzeiger

Aktionen Aktionsanzeiger

Wenn

Dann

Strukturierte Analyse

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

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

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

Vorlesung Automatisierungsprojekte Seite 7/26

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Beispiel:Scheckeinlösung durch Banksachbearbeiter

Analyse:

1. Aktionen ermitteln

A1: Scheck einlösenA2: Scheck nicht einlösenA3: Neue Konditionen vorlegen

2. Bedingungen ermitteln:

B1: Kreditgrenze überschritten ?B2: Zahlungsverhalten einwandfrei ?B3: Überschreitungsbetrag < 500 € ?

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/27

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Beispiel:Scheckeinlösung durch BanksachbearbeiterTabelle erstellen

ET1 Scheckeinlösung R1 R2 R3 R4 R5 R6 R7 R8

B1 Kreditgrenze überschritten ?

J J J J N N N N

B2 Zahlungsverhal-ten einwandfrei ?

J J N N J J N N

B3 Überschreitungs-betrag < 500€ ?

J N J N J N J N

A1 Scheck einlösen X X X X

A2 Scheck nicht einlösen

X X

A3 Neue Konditio-nen vorlegen

X

A4 unlogisch X X

löschen

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/28

SA Basiskonzept Kontrollstrukturen: EntscheidungstabellenVereinfachungErinnerung: Blockbildung in Funktionstabelle

B1 Kreditgrenze überschritten ?

B2 Zahlungsverhalten einwandfrei ?

B3 Überschreitungs-betrag < 500 € ?

A1 Scheck einlösen

1 1 1 1

1 1 0 1

1 0 1 0

1 0 0 0

0 1 1 1

0 1 0 -

0 0 1 1

0 0 0 -

R1

R2

R3

R4

R5

R6

R7

R8

zusammen-fassen

zusammen-fassen

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/29

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Vereinfachung der Tabelle

ET1 Scheckeinlösung R1 R2 R3 R4 R5 R6 R7 R8

B1 Kreditgrenze überschritten ?

J J J J N N N N

B2 Zahlungsverhal-ten einwandfrei ?

J J N N J J N N

B3 Überschreitungs-betrag < 500€ ?

J N J N J N J N

A1 Scheck einlösen X X X X

A2 Scheck nicht einlösen

X X

A3 Neue Konditio-nen vorlegen

X

A4 unlogisch X X

löschenGleicheAktion Gleiche

Aktion

Zusammen-fassen

Zusammen-fassen

Nicht gleicheAktion

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/30

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Vereinfachung der Tabelle durch Zusammenfassung

ET1 Scheckeinlösung R1 R2 R3/4

R5/7

B1 Kreditgrenze überschritten ?

J J J N

B2 Zahlungsverhal-ten einwandfrei ?

J J N -

B3 Überschreitungs-betrag < 500€ ?

J N - J

A1 Scheck einlösen X X X

A2 Scheck nicht einlösen

X

A3 Neue Konditio-nen vorlegen

X

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/31

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:

ET1 Scheckeinlösung R1 R2 R3/4

R5/7

B1 Kreditgrenze überschritten ?

J J J N

B2 Zahlungsverhal-ten einwandfrei ?

J J N -

B3 Überschreitungs-betrag < 500€ ?

J N - J

A1 Scheck einlösen X X X

A2 Scheck nicht einlösen

X

A3 Neue Konditio-nen vorlegen

X

ET1 Scheckeinlösung R2 R3/4

else

B1 Kreditgrenze überschritten ?

J J

B2 Zahlungsverhal-ten einwandfrei ?

J N

B3 Überschreitungs-betrag < 500€ ?

N -

A1 Scheck einlösen X X

A2 Scheck nicht einlösen

X

A3 Neue Konditio-nen vorlegen

X

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/32

SA Basiskonzept Kontrollstrukturen: Entscheidungsbäume

Alternative Darstellungsform der Entscheidungstabelle

Scheckein-

lösung

Kred

itgrenze

nicht überschr.

Kred

itgrenze

überschr.

Zahlungsverh.

nicht einwandfr.

Zahlungsverh.

einwand

fr.

Zahlungsverh.

nicht einwandfr.

Zahlungsverh.

einwand

fr.

Ü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öse

n

unlogisch

Scheck

einlöse

n

Scheck nicht

einlöse

n

Scheck nicht

einlöse

n

Scheck

einlöse

n

Scheck nicht

Einlöse

n,neu

e Kond.

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/33

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:

ET0 R1 R2 R3 R4

B1 J J N N

B2 J N J N

A1 X X

A2 X X

Weiter bei ET: ET1 ET2 ET3

ET1 R1.1 R1.2 R1.3 R1.4

B3 J J N N

B4 J N J N

A1.1 X X

A1.2 X X X

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/34

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Erweiterte Entscheidungstabellen

Bisher begrenzte ET: Bedingungsanzeiger J,N,-Aktionsanzeiger X

Jetzt: beliebiger Text im AnzeigerteilText 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

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/35

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Erweiterte Entscheidungstabellen

Tarif-dschungel

R1 R2 R3 R4 R5 R6

Alter? >= 18 >= 18 >= 18 >= 18 >=2 u. < 18

<2

Ziel B A B B - -

Aufenthalt >= 6 Tage

J - N - - -

Abflug zw. 21.12. und 30.12.

J - - N - -

Rabatt % 20 0 0 0 30 100

Strukturierte Analyse

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

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

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

Vorlesung Automatisierungsprojekte Seite 7/37

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

ÜbungUmwandlung einer Tabelle in einen Entscheidungsbaum

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/38

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

ÜbungUmwandlung einer Tabelle in einen Entscheidungsbaum

B1 erfüllt

B1 nicht erfüllt

Strukturierte Analyse

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

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

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

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

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

Vorlesung Automatisierungsprojekte Seite 7/41

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 aufnehmenA2 Lagerbestand aktualisieren A3 Kunden über Nichtverfügbarkeit des Artikels informierenA4 Bestellung "einfrieren" A5 Auftragsbestätigung und Rechnung erstellenA6 Sachbearbeiter über Unterschreitung des Mindestbestandes informieren

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Übung

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/42

SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen

Übung: Fehlerhafte Lösung korrigieren

Strukturierte Analyse

ET3

x

A5 x

ET3

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

Vorlesung Automatisierungsprojekte Seite 7/43

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

AC

B

a3

x

e1

e2

a4

Zwiziwzrrg fdggg oi oiwOihdshf öhjfsodf pweufrPwoijdlkjdsljflj eiurowifr8 ifiOiroiroiurouroufdjdljdlu eeurZwiziwzrrg fdggg oi oiwOihdshf öhjfsodf pweufrPwoijdlkjdsljflj eiurowifr8 ifiOiroiroiurouroufdjdljdlu eeurZwiziwzrrg fdggg oi oiwOihdshf öhjfsodf pweufrPwoijdlkjdsljflj eiurowifr8 ifiOiroiroiurouroufdjdljdlu eeur

0

Speicher

a1

a2

a3

a4

b1

b2C

1 2

3 4

3.1

3.2

3.3

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/44

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.

AC

B

0

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/45

Kontext-Diagramm

Beispiel DGSSchnittstellen des zu modellierenden Systems zu seiner Umwelt.

AC

B

0

0Docking

GuidanceSystem

Central Monitoringand Surveillance System (CMS)

Airfieldcamera

PilotDisplay

Airfield Lighting

User definedGate Systems

GroundPersonel

DataBase

CentralPersonal

Video data

Guidance

information

Status, dock

info, images

Type, gate

arrival time

Sta

tus,

do

ck

info

, im

ages

A/C m

odels

Gate

occu

patio

n

Calib. Data, chocks,

On/off, engage, test,

A/C type, gate arrival

time

Status, dock

info, imagestim

eon tim

e

off

Com

man

ds

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/46

Kontext-Diagramm

Beispiel DGSSchnittstellen des zu modellierenden Systems zu seiner Umwelt.

AC

B

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/47

Verfeinerung Datenfluss-Diagramm

Beispiel DGS Speicher

a1

a2

a3

a4

b1

b2C

1 2

3 4

2ErfasseAndock-vorgang

3Zeige an Leit-

information

1VerwalteAndock-vorgänge

8Kommuni-ziere mit

Zentralpers.

6Kommuniziere

mit Ground Operator

5Kalibriere

Gate-system

7Greife auf

Datenbasis zu

4Schalte

Rollfeldbe-leuchtung

Beginn/Ende Andockvorgang

Kal

ibrie

r-in

form

atio

n

Pla

n-da

ten

Andock-Daten (Status, Pose, Zeit)

Kalibrierdaten

Sta

tus,

P

ose

Status, Pose,

Zeit

Typspezifische

Flugzeug-CAD-DatenFlugzeugtypSteuerbefehle

Statu

s,

Zeit

Sta

tus,

Pos

e,

Zei

t

Steuerbefehle

Status, Pose, Zeit

Bild

date

nBeleuchtungs-

Steuerdaten

Animations-

daten

Meldungen

Kommandos,(A/C type),(gate arrival time)

Gate-

Modell

A/C models

Gate occupation

Vide

o da

ta

Guidance

information

Type

, gat

e

arriv

al ti

me

Status, dock

info, images Status,

dock

info, images

Comm

ands

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/48

Verfeinerung Datenfluss-Diagramm

Prozess 0 repräsentiert das gesamte zu modellierendeSystem.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

b2C

1 2

3 4

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/49

Verfeinerung Datenfluss-Diagramm

Beispiel DGS Speicher

a1

a2

a3

a4

b1

b2C

1 2

3 4

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/50

Verfeinerung Datenfluss-Diagramm

Data Dictionary Einträge und Datenintegrität (balancing)

Verfeinerung Prozesse Verfeinerung DatenflüsseWelche 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

b2C

1 2

3 4

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/51

Data Balancing mittels DD

A = ?

B = ?

X = ?

AC

B

a3

x

e1

e2

a4

Zwiziwzrrg fdggg oi oiwOihdshf öhjfsodf pweufrPwoijdlkjdsljflj eiurowifr8 ifiOiroiroiurouroufdjdljdlu eeurZwiziwzrrg fdggg oi oiwOihdshf öhjfsodf pweufrPwoijdlkjdsljflj eiurowifr8 ifiOiroiroiurouroufdjdljdlu eeurZwiziwzrrg fdggg oi oiwOihdshf öhjfsodf pweufrPwoijdlkjdsljflj eiurowifr8 ifiOiroiroiurouroufdjdljdlu eeur

0

Speicher

a1

a2

a3

a4

b1

b2C

1 2

3 4

3.1

3.2

3.3

Strukturierte Analyse

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

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 entlangz.B. Schreib/Lese-Zugriff

Speicher

a1

a2

a3

a4

b1

b2C

1 2

3 4

A

A

A

A B

C

A B

C

A

Strukturierte Analyse

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

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

b2C

1 2

3 4

Speicher

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/54

Verfeinerung Datenfluss-Diagramm

Mini-Spezifikationen (MiniSpec)

Letzte Stufe der VerfeinerungJeder 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

b2C

1 2

3 4

ErzeugeDisplay-

Information

Gate-Plandaten

Andockdaten

Textdaten

Abstandsdaten

If ((Flugzeug detektiert)&&(Flugzeugmodell aus Gate-Plandaten passt nicht) then Textdaten = „Stop“...

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/55

Anwendung Werkzeug

Strukturierte Analyse

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

Vorlesung Automatisierungsprojekte Seite 7/56

Vorgehen

Iterativer Prozess, d.h. mehrere Modellierungsdurchläufe

1. Festlegung der Systemschnittstellen zur Umwelt2. Identifizierung aller E/A-Datenflüsse von Schnittstellen zu Prozess 03. Ermitteln Funktionen bzw. Prozesse, die Eingaben in Ausgaben

transformieren4. Speicher identifizieren und festlegen5. Verfeinerung von Prozessen und Flüssen6. Definition der Speicher und Datenflüsse im Data Dictionary7. Iterative Überarbeitung

1. Eventuelle Kontrollflüsse entfernen2. Eindeutige Namenswahl für Datenflüsse3. Eindeutige Bezeichnung der Prozesse (aller seiner Aktionen)

8. MiniSpecs für alle nicht-verfeinerten Prozesse

Strukturierte Analyse

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

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

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

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