vorlesung automatisierungsprojekte seite 7/1 zusammenfassung za und pn zustandsautomaten:...
Post on 06-Apr-2015
107 Views
Preview:
TRANSCRIPT
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
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
Hä
ufig
ve
rwe
nd
et
Se
lten
ve
rwe
nd
et
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
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
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
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
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
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
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
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
Vorlesung Automatisierungsprojekte Seite 7/11
SA Basiskonzept Datenflussdiagramm (DFD)
Verwaltung einer Arztpraxis
Strukturierte Analyse
Vorlesung Automatisierungsprojekte Seite 7/12
SA Basiskonzept Datenflussdiagramm (DFD)Übung: Überprüfung fehlerhaftes DFD
Strukturierte Analyse
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
Vorlesung Automatisierungsprojekte Seite 7/14
SA Basiskonzept Datenflussdiagramm (DFD)Übung für zuhause: Überprüfung fehlerhaftes DFD
Strukturierte Analyse
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
???
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
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
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
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
???
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
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
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
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
???
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
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
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
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
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
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
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
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
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
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
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
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
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
Vorlesung Automatisierungsprojekte Seite 7/37
SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen
ÜbungUmwandlung einer Tabelle in einen Entscheidungsbaum
Strukturierte Analyse
Vorlesung Automatisierungsprojekte Seite 7/38
SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen
ÜbungUmwandlung einer Tabelle in einen Entscheidungsbaum
B1 erfüllt
B1 nicht erfüllt
Strukturierte Analyse
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
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
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
Vorlesung Automatisierungsprojekte Seite 7/42
SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen
Übung: Fehlerhafte Lösung korrigieren
Strukturierte Analyse
ET3
x
A5 x
ET3
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
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
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
Vorlesung Automatisierungsprojekte Seite 7/46
Kontext-Diagramm
Beispiel DGSSchnittstellen des zu modellierenden Systems zu seiner Umwelt.
AC
B
Strukturierte Analyse
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
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
Vorlesung Automatisierungsprojekte Seite 7/49
Verfeinerung Datenfluss-Diagramm
Beispiel DGS Speicher
a1
a2
a3
a4
b1
b2C
1 2
3 4
Strukturierte Analyse
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
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
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
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
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
Vorlesung Automatisierungsprojekte Seite 7/55
Anwendung Werkzeug
Strukturierte Analyse
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
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
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
top related