Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Automatisierungsprojekte Seite 7/1

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Automatisierungsprojekte Seite 7/1"—  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+D) = f [z(t),e] beschreibt Dynamik, aber Verarbeitung (Funktion) nur elementar. Petri-Netze: Systemzustand bestimmt durch Markenverteilung auf die Stellen, beschrieben z.B. durch Markierungsvektor. Petri-Netz beschreibt Änderung der Markenverteilung (Zustandsänderung) durch Schalten von Transitionen. beschreibt Dynamik, aber Verarbeitung (Funktion) nur elementar. Nächster Schritt: Verbindung von Basiskonzepten der Datentransformation (funktionale, algorithmische, regelbasierte und datenorientierte Sicht) mit den Basiskonzepten der zustandsorientierten Sicht in einer Modellierungsmethode: SA/RT Vorlesung Automatisierungsprojekte Seite 7/1

2 Vorlesung Automatisierungsprojekte Seite 7/2
Modellierung Basiskonzepte der SW-Entwicklung: Übersicht Konzepte und Sichten Strukto- gramm Alternative Notationen Häufig verwendet Selten verwendet Pro- gramm- Ablauf- plan Ent- schei- dungs- tabelle Aktivi- täts- dia- gramm Kollabo- rations- dia- gramm Funk- tions- baum Ge- schäfts- prozess Daten- fluss- dia- gramm Data Dictio- nary Entity Relation- ship Klassen- dia- gramm Pseudo- code Regeln Zu- stands- automat Petri- Netz Se- quenz- dia- gramm Funktio- nale Hierar- chie Arbeits- ablauf Infor- mations- fluss Daten- struk- turen Entitäts- typen u. Bezie- hungen Klassen- struk- turen Kontroll- struk- turen Wenn- dann- Struk- turen Endlicher Automat Neben- läufige Struk- turen Inter- aktions- struk- turen Funktionale Sicht Datenorientierte Sicht Objekt- orient. Sicht Algo- rithm. Sicht Regel- basierte Sicht Zustandsorientierte Sicht Szenario- basierte Sicht Vorlesung Automatisierungsprojekte Seite 7/2

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

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

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

6 Vorlesung Automatisierungsprojekte Seite 7/6
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) DFD: Beschreibung Wege (Flüsse) von Daten und Informationen zwischen Funktionen, Speichern und Schnittstellen Transformationen von 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 Vorlesung Automatisierungsprojekte Seite 7/6

7 Vorlesung Automatisierungsprojekte Seite 7/7
Strukturierte Analyse 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 schreibend lesend Speicher Schreib/Lese Vorlesung Automatisierungsprojekte Seite 7/7

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

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

10 Vorlesung Automatisierungsprojekte Seite 7/10
Strukturierte Analyse SA Basiskonzept Datenflussdiagramm (DFD) Aufgabe Verwaltung einer Arztpraxis: Neue Patienten werden in eine Patientenkartei aufgenommen, an der auch später noch Änderungen vorgenommen werden können. Erscheint ein Patient zur Behandlung, so werden dem behandelnden Arzt die Patientendaten und die Daten der letzten Behandlungen zur Verfügung gestellt. Nach der Behandlung werden das Datum, die erbrachten Leistungen und die Verordnungen gespeichert. Schnittstellen Funktionen Datenflüsse Vorlesung Automatisierungsprojekte Seite 7/10

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

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

13 Vorlesung Automatisierungsprojekte Seite 7/13
Strukturierte Analyse Das Datenflussdiagramm zur Kundenverwaltung enthält folgende Fehler: Der Datenfluss "erhöhe_Anzahl_der_Bestellungen" enthält ein Verb und führt von einem Prozess zum selben Prozess (Schleife). Richtig wäre es, einen Speicher "Anzahl_der Bestellung" einzuzeichnen, der lesend / schreibend von Prozess 1 benutzt wird. Der Name des Datenflusses "Anschrift" ist ungeschickt. Besser wäre es, ihn als "Kundenanschrift" zu bezeichnen. Die Speicher "Kundendatei" und "Rechnungen" sind direkt durch einen Datenfluss verbunden. Richtig wäre es, einen dritten Prozess "erstelle Rechnungen" einzuzeichnen, der die "Kundenanschrift", die "Artikelbezeichnung" und den "Artikelpreis" als Eingabedatenflüsse sowie "Rechnungen" als Ausgabedatenfluss besitzt. Ein Datenfluss von Speicher "Rechnungen" zu Schnittstelle "Kunde" ist nicht erlaubt. Der Datenfluss "Artikeldaten" von der Schnittstelle "Sachbearbeiter" direkt in den Speicher "Artikeldaten" ist nicht erlaubt. Richtig wäre es, einen Prozess "aktualisiere Artikeldateien" einzuzeichnen. Die Schnittstelle Kunde sollte nur einmal vorhanden sein, da die Lesbarkeit durch die getrennte Ausführung der Schnittstellen nicht erhöht wird. Vorlesung Automatisierungsprojekte Seite 7/13

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

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

16 Vorlesung Automatisierungsprojekte Seite 7/16
Strukturierte Analyse SA Basiskonzept Data Dictionary (DD) Sammlung von Datendefinitionen (Glossar) + Verfeinerungskonzept Dient Konsistenzüberwachung eines Datenbestandes Übersicht über Datenstrukturen Überprüfung auf Redundanzfreiheit und Widerspruchsfreiheit Entsteht in Definitionsphase und wird in Entwurfs- und Implementierungsphase weiter verwendet und verfeinert. Notation: 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* Vorlesung Automatisierungsprojekte Seite 7/16

17 Vorlesung Automatisierungsprojekte Seite 7/17
Strukturierte Analyse SA Basiskonzept Data Dictionary (DD) Beispiel Speicherung Kundendaten Kundendatei = {Kundeneintrag} Kundeneintrag = Kunden-Nr. + Name + Adresse + (Geburtsdatum) + (Funktion) + Umsatz Name = Anrede + (Titel) + Vorname + Nachname Adresse = [Straße + Hausnr. | Postfachnr.] + (Länderkennzeichen) + PLZ + Ort + (Telefon) + (Fax) Datendefinition Top-Down  Schrittweise Verfeinerung Bis zum notwendigen Detaillierungsniveau oder „Datenatom“ 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* Vorlesung Automatisierungsprojekte Seite 7/17

18 Vorlesung Automatisierungsprojekte Seite 7/18
Strukturierte Analyse SA Basiskonzept Data Dictionary (DD) Anwendungsregeln Wiederholungs- und Optionsklammern auf möglichst hoher Verfeinerungsebene (frühe Erkennbarkeit der Struktur) 0. Keine zirkulären Definitionen A = B + C C = D + A ergibt A = B + D + A Unterschiedliche Bezeichnungen identischer Strukturen: Bezeichnungen können gleich gesetzt werden (Alias-Namen) Problembezogene Namen wählen, z.B. Kundenname statt Name Bereits definierte Datenstrukturen wiederverwenden, z.B. Kundenname = Name, wenn Name bereits definiert. Auswahl muss mindestens zwei Alternativen enthalten, z.B. A=[B|C]. „Kontinuierliche“ Datenelemente: Wertebereich, z.B. B= Diskrete Datenelemente: Aufführung der möglichen Werte, z.B. Familienstand=[ledig|verheiratet|geschieden|verwitwet] Semantische Randbedingungen, die nicht in DD-Notation formulierbar sind, als Kommentare Vorlesung Automatisierungsprojekte Seite 7/18

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

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

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

22 Vorlesung Automatisierungsprojekte Seite 7/22
Strukturierte Analyse 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 Wiederholung for (Startwerte; Bedingung; Veränderung) Mit bestimmter { Anzahl von Anweisung; bzw. {Anweisungsblock} Wiederholungen } Aufruf Operationsname (aktuelle Parameter); Vorlesung Automatisierungsprojekte Seite 7/22

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

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

25 Vorlesung Automatisierungsprojekte Seite 7/25
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Wenn Kreditgrenze des Ausstellers überschritten, bisheriges Zahlungsverhalten aber einwandfrei war und der Überschreitungsbetrag kleiner als 500 € ist, dann soll Scheck eingelöst werden. Wenn Kreditgrenze des Ausstellers überschritten, bisheriges Zahlungsverhalten aber einwandfrei war und der Überschreitungsbetrag über 500 € ist, dann soll Scheck eingelöst und dem Aussteller neue Konditionen vorgelegt werden. Wenn das Zahlungsverhalten nicht einwandfrei war, wird der Scheck nicht eingelöst. Wenn die Kreditlinie nicht überschritten wird, wird der Scheck eingelöst. Vorlesung Automatisierungsprojekte Seite 7/25

26 Vorlesung Automatisierungsprojekte Seite 7/26
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Analyse: 1. Aktionen ermitteln A1: Scheck einlösen A2: Scheck nicht einlösen A3: Neue Konditionen vorlegen 2. Bedingungen ermitteln: B1: Kreditgrenze überschritten ? B2: Zahlungsverhalten einwandfrei ? B3: Überschreitungsbetrag < 500 € ? Vorlesung Automatisierungsprojekte Seite 7/26

27 Vorlesung Automatisierungsprojekte Seite 7/27
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Beispiel: Scheckeinlösung durch Banksachbearbeiter Tabelle erstellen ET1 Scheckeinlösung R1 R2 R3 R4 R5 R6 R7 R8 B1 Kreditgrenze überschritten ? J N B2 Zahlungsverhal-ten einwandfrei ? B3 Überschreitungs-betrag < 500€ ? A1 Scheck einlösen X A2 Scheck nicht einlösen A3 Neue Konditio-nen vorlegen A4 unlogisch Vorlesung Automatisierungsprojekte Seite 7/27 löschen

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

29 Vorlesung Automatisierungsprojekte Seite 7/29
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle Zusammen- fassen Zusammen- fassen ET1 Scheckeinlösung R1 R2 R3 R4 R5 R6 R7 R8 B1 Kreditgrenze überschritten ? J N B2 Zahlungsverhal-ten einwandfrei ? B3 Überschreitungs-betrag < 500€ ? A1 Scheck einlösen X A2 Scheck nicht einlösen A3 Neue Konditio-nen vorlegen A4 unlogisch Nicht gleiche Aktion Gleiche Aktion löschen Gleiche Aktion Vorlesung Automatisierungsprojekte Seite 7/29

30 Vorlesung Automatisierungsprojekte Seite 7/30
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Vereinfachung der Tabelle durch Zusammenfassung ET1 Scheckeinlösung R1 R2 R3/4 R5/7 B1 Kreditgrenze überschritten ? J N B2 Zahlungsverhal-ten einwandfrei ? - B3 Überschreitungs-betrag < 500€ ? A1 Scheck einlösen X A2 Scheck nicht einlösen A3 Neue Konditio-nen vorlegen Vorlesung Automatisierungsprojekte Seite 7/30

31 Vorlesung Automatisierungsprojekte Seite 7/31
Strukturierte Analyse 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: ET1 Scheckeinlösung R1 R2 R3/4 R5/7 B1 Kreditgrenze überschritten ? J N B2 Zahlungsverhal-ten einwandfrei ? - B3 Überschreitungs-betrag < 500€ ? A1 Scheck einlösen X A2 Scheck nicht einlösen A3 Neue Konditio-nen vorlegen ET1 Scheckeinlösung R2 R3/4 else B1 Kreditgrenze überschritten ? J B2 Zahlungsverhal-ten einwandfrei ? N B3 Überschreitungs-betrag < 500€ ? - A1 Scheck einlösen X A2 Scheck nicht einlösen A3 Neue Konditio-nen vorlegen Vorlesung Automatisierungsprojekte Seite 7/31

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

33 Vorlesung Automatisierungsprojekte Seite 7/33
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Tabellengröße im Bedingungsteil wächst mit 2N (N: Anzahl der Bedingungen)  nicht mehr handhabbar ab N=5. Abhilfe durch Aufspaltung in mehrere Entscheidungstabellen, z.B. Verzweigung: ET0 R1 R2 R3 R4 B1 J N B2 A1 X A2 Weiter bei ET: ET1 ET2 ET3 ET1 R1.1 R1.2 R1.3 R1.4 B3 J N B4 A1.1 X A1.2 Vorlesung Automatisierungsprojekte Seite 7/33

34 Vorlesung Automatisierungsprojekte Seite 7/34
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Erweiterte Entscheidungstabellen Bisher begrenzte ET: Bedingungsanzeiger J,N,- Aktionsanzeiger X Jetzt: beliebiger Text im Anzeigerteil Text im Bedingungsanzeiger muss erfüllt sein. Aktionsanzeigertext ist auszuführen. Beispiel Tarifdschungel einer Airline mit Zielen A und B: Personenalter >= 18a: Ferientarif (-20%) falls Abflug zw 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 Vorlesung Automatisierungsprojekte Seite 7/34

35 Vorlesung Automatisierungsprojekte Seite 7/35
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Erweiterte Entscheidungstabellen Tarif-dschungel R1 R2 R3 R4 R5 R6 Alter? >= 18 >=2 u. < 18 <2 Ziel B A - Aufenthalt >= 6 Tage J N Abflug zw und Rabatt % 20 30 100 Vorlesung Automatisierungsprojekte Seite 7/35

36 Vorlesung Automatisierungsprojekte Seite 7/36
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Eintreffer- und Mehrtreffer-Entscheidungstabellen Eintreffer-Tabellen: Höchstens eine der Regeln ist anwendbar, d.h. die Bedingungen im Bedingungsanzeigerteil schließen sich gegenseitig aus. Abbruch nach Auffinden gültiger Regel. Mehrtreffer-Tabellen: Bedingungen brauchen nicht disjunkt zu sein. Sie können identisch, überschneidend, einschließend und gegenseitig ausschließend sein. Alle Regeln müssen überprüft werden. Aktionen aller gültigen Regeln werden ausgeführt. Widerspruchsfreiheit ! Gleichheit: Redundanz, Widerspruch oder Zusammenfassbarkeit - Löschen redundanter Regeln - Modifikation bei widersprüchlichen Regeln (widersprüchliche Aktionsteile von gleichlautenden Bedingungsanzeigern) - Zusammenfassung widerspruchsfreier Aktionsteile von gleichlautenden Bedingungsanzeigern Vorlesung Automatisierungsprojekte Seite 7/36

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

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

39 Vorlesung Automatisierungsprojekte Seite 7/39
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Aufgabe „Bestellannahme“ Ist der Besteller noch nicht im Kundenstamm enthalten, soll eine Ersterfassung erfolgen. Ist ein bestellter Artikel verfügbar, muss der Lagerbestand aktualisiert werden. Falls ein Artikel nicht verfügbar ist, muss dies dem Besteller mitgeteilt werden. Hat der Besteller seinen Kreditrahmen überschritten, können keine weiteren Bestellungen erfolgen. Bei Kunden mit großem Umsatz soll dennoch der Auftrag ausgeführt werden. Mit der Auftragsbestätigung soll eine Rechnung erstellt und ausgedruckt werden. Ist bei einem Artikel der Mindestlagerbestand unterschritten, so ist der Sachbearbeiter zu informieren. Ist eine sofortige Bearbeitung wegen Nichtverfügbarkeit eines Artikels oder wegen Überschreitung der Kreditlinie des Kunden nicht möglich, soll diese Bestellung "eingefroren" werden. a) Bedingungen und Aktionen für eine Entscheidungstabelle ? b) Entscheidungstabelle, welche die Annahme von Bestellungen spezifiziert. Vorlesung Automatisierungsprojekte Seite 7/39

40 Vorlesung Automatisierungsprojekte Seite 7/40
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung Aufgabe „Bestellannahme“ Ist der Besteller noch nicht im Kundenstamm enthalten, soll eine Ersterfassung erfolgen. Ist ein bestellter Artikel verfügbar, muss der Lagerbestand aktualisiert werden. Falls ein Artikel nicht verfügbar ist, muss dies dem Besteller mitgeteilt werden. Hat der Besteller seinen Kreditrahmen überschritten, können keine weiteren Bestellungen erfolgen. Bei Kunden mit großem Umsatz soll dennoch der Auftrag ausgeführt werden. Mit der Auftragsbestätigung soll eine Rechnung erstellt und ausgedruckt werden. Ist bei einem Artikel der Mindestlagerbestand unterschritten, so ist der Sachbearbeiter zu informieren. Ist eine sofortige Bearbeitung wegen Nichtverfügbarkeit eines Artikels oder wegen Überschreitung der Kreditlinie des Kunden nicht möglich, soll diese Bestellung "eingefroren" werden. a) Bedingungen und Aktionen für eine Entscheidungstabelle ? b) Entscheidungstabelle, welche die Annahme von Bestellungen spezifiziert. Vorlesung Automatisierungsprojekte Seite 7/40

41 Vorlesung Automatisierungsprojekte Seite 7/41
Strukturierte Analyse SA Basiskonzept Kontrollstrukturen: Entscheidungstabellen Übung B1 Im Kundenstamm? B2 Artikel verfügbar? B3 Mindestbestand unterschritten? B4 Kreditrahmen überschritten? B5 Umsatz eines Großkunden? B6 Bestellung trotz Überschreitung des Kreditrahmens A1 In Kundenstamm aufnehmen A2 Lagerbestand aktualisieren A3 Kunden über Nichtverfügbarkeit des Artikels informieren A4 Bestellung "einfrieren" A5 Auftragsbestätigung und Rechnung erstellen A6 Sachbearbeiter über Unterschreitung des Mindestbestandes informieren Vorlesung Automatisierungsprojekte Seite 7/41

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

43 Vorlesung Automatisierungsprojekte Seite 7/43
Strukturierte Analyse 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 Speicher a1 a2 a3 a4 b1 b2 C 1 2 3 4 a3 x e1 e2 a4 3.2 3.1 3.3 Pwoijdlkjdsljflj eiurowifr8 ifi Oihdshf öhjfsodf pweufr Zwiziwzrrg fdggg oi oiw Oiroiroiurouroufdjdljdlu eeur Vorlesung Automatisierungsprojekte Seite 7/43

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

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

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

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

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

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

50 Vorlesung Automatisierungsprojekte Seite 7/50
Strukturierte Analyse Verfeinerung Datenfluss-Diagramm Data Dictionary Einträge und Datenintegrität (balancing) Verfeinerung Prozesse  Verfeinerung Datenflüsse Welche Datenflüsse zwischen zwei Diagrammen gehören wie zusammen ? Zusammenhang über Data Dictionary Einträge  Forderungen: Jeder Datenflusspfeil hat einen Datenflussnamen (mögl. Ausnahme gesamter Speicher). Jeder Datenflussname ist im Data Dictionary definiert. Jeder Speicher hat einen Namen. Jeder Speichername ist im Data Dictionary definiert. Alle Datenflüsse eines untergeordneten DFD müssen im übergeordneten DFD entweder unter gleichem Namen erscheinen oder Teilkomponente eines Datenflusses sein. Die Teilkomponenten-Eigenschaft muss im DD beschrieben sein. Eigenschaft erfüllt: Ausbalanciertes Datenmodell (balancing), Datenintegrität Speicher a1 a2 a3 a4 b1 b2 C 1 2 3 4 Vorlesung Automatisierungsprojekte Seite 7/50

51 Vorlesung Automatisierungsprojekte Seite 7/51
Strukturierte Analyse Data Balancing mittels DD A = ? B = ? X = ? A C B Speicher a1 a2 a3 a4 b1 b2 C 1 2 3 4 a3 x e1 e2 a4 3.2 3.1 3.3 Pwoijdlkjdsljflj eiurowifr8 ifi Oihdshf öhjfsodf pweufr Zwiziwzrrg fdggg oi oiw Oiroiroiurouroufdjdljdlu eeur Vorlesung Automatisierungsprojekte Seite 7/51

52 Vorlesung Automatisierungsprojekte Seite 7/52
Strukturierte Analyse 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 1 2 3 4 A A A B A C B A C A Vorlesung Automatisierungsprojekte Seite 7/52

53 Vorlesung Automatisierungsprojekte Seite 7/53
Strukturierte Analyse 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 1 2 3 4 Speicher Vorlesung Automatisierungsprojekte Seite 7/53

54 Vorlesung Automatisierungsprojekte Seite 7/54
Strukturierte Analyse 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 1 2 3 4 Gate-Plandaten Erzeuge Display- Information Textdaten Abstandsdaten Andockdaten If ((Flugzeug detektiert)&&(Flugzeugmodell aus Gate-Plandaten passt nicht) then Textdaten = „Stop“ ... Vorlesung Automatisierungsprojekte Seite 7/54

55 Vorlesung Automatisierungsprojekte Seite 7/55
Strukturierte Analyse Anwendung Werkzeug Vorlesung Automatisierungsprojekte Seite 7/55

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

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

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


Herunterladen ppt "Vorlesung Automatisierungsprojekte Seite 7/1"

Ähnliche Präsentationen


Google-Anzeigen