1 / 27

Strukturierte Analyse

Strukturierte Analyse. Inhalt Datenflussdiagramm Datenfluss Prozess Speicher Datenquelle/-senke Hierarchisches Prozessmodell Prozess-Spezifikationen Datendefinitionen Redundanz im Systemmodell. Christoph Riewerts. Strukturierte Analyse Übersicht. Kontext Diagramm. Legende:.

Download Presentation

Strukturierte Analyse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Strukturierte Analyse Inhalt • Datenflussdiagramm • Datenfluss • Prozess • Speicher • Datenquelle/-senke • Hierarchisches Prozessmodell • Prozess-Spezifikationen • Datendefinitionen • Redundanz im Systemmodell Christoph Riewerts

  2. Strukturierte AnalyseÜbersicht Kontext Diagramm Legende: DFD: Datenfluss-Diagramm Datenfluss Prozess Datei/Datenbank Datenquelle/Datensenke Prozess-Spezifikation 0 DFD 0 1 3 2 PSpec3 DFD 1 DFD 2 2.1 1.1 1.2 2.2 2.3 PSpec1.1 PSpec1.2 PSpec2.1 PSpec2.2 PSpec2.3 Data Dictionary - Datenflüssen und Bestandteilen davon - Dateien / Datenbanken und Bestandteilen davon Definition von:

  3. P1 P2 F Strukturierte AnalyseDatenflussdiagramm Die Strukturierte Analyse [Tom DeMarco] ist eine hierarchisch gegliederte, grafische und statische Analysemethode, die mittels Datenflussmodellierung komplexe Systeme in einzelne Prozesse aufgliedert. Datenflussdiagramme enthalten insgesamt nur vier unterschiedliche Symbole: • Datenflüsse • Prozesse • Datenspeicher • Datenquellen/-senken Y X Z S Die Information X (Datenfluss) kommt von der Datenquelle S und wird durch den Prozess P1 nach Y transformiert. Um dieses zu tun, ist ein Zugriff auf den Datenspeicher F notwendig. Danach wird Y nach Z durch den Prozess P2 transformiert.

  4. Strukturierte AnalyseDatenflussdiagramm Der Datenfluss ist eine Leitung, auf der Informationen als definierte Datenpakete transportiert werden. • Namensvergabe: Substantiv (Singular oder Plural), evtl. mit einem Adjektiv versehen • Beispiele: Auftrag, Geld, Messwert, tägliche Reservierung, Meldung auf Drucker Alarm KorrekterMesswert Messwertprüfen Messwertüberwachen Reportausgeben Messwert 1 1 2 Tagesprotokoll FehlerhafterMesswert Das kleine Diagramm enthält übrigens zwei (Syntax-)Fehler

  5. Strukturierte AnalyseDatenflussdiagramm 2 fehlerhafteBeispiele: Ein Datenfluss ist kein Repräsentant für das Starten/Beenden von Prozessen Ein Datenfluss ist kein Repräsentant für einen Steuerfluss Messstelle nächsterMesswert Datenarchiv Messdaten Datensichern Messwerteinlesen Messwert 1 1 akzeptierterMesswert Wochentag Bitte berichtigen Sie die Darstellungen

  6. Strukturierte AnalyseDatenflussdiagramm Der Prozess ist die Transformation des Datenflusses am Eingang in den Datenfluss am Ausgang. • Namensvergabe: Substantiv (im Singular) mit einem Verb im Infinitiv • Beispiele: Messwert abspeichern, Auftrag bearbeiten, Änderung eintragen Lexikon korrektausgesprocheneWörter Aussprache prüfen = Separiere Wörter in korrekt ausgesprochene Wörter und in falsch ausgesprochene Wörter mithilfe eines Zugriffs auf den Datenspeicher Lexikon. Ausspracheprüfen 1 Wörter falschausgesprocheneWörter

  7. Strukturierte AnalyseDatenflussdiagramm Der Datenspeicher ist ein zeitlicher Aufbewahrungsort von Daten • Namensvergabe: wie beim Datenfluss • dient zur zeitlichen Entkopplung von Prozessen • Zugriffspfeil (schreibend oder auch lesend) kann optional beschriftet sein, wenn nur auf einen Teil des Speichers zugegriffen wird • Hinweis: Beim Updaten wird nur der Schreibvorgang eingezeichnet, auch wenn ein kurzer Lesevorgang zur Prüfung stattgefunden hat. Archiv Protokoll Datenupdaten 1 neue Programmversion Navigation einstellen Adresse 1 Aufbau des Datenspeichers, z.B.: Lieferant = Name + Adresse + Umsatz Lieferant

  8. Strukturierte AnalyseDatenflussdiagramm Datenquellen und Datensenken sind Personen, Organisationseinheiten oder auch andere Systeme, die außerhalb des Sinnzusammenhangs (Kontext) des Systems liegen (externe Schnittstellen). Kontext-Grenze Messwertgeber 3 5 Archiv 1 4 Lagersteuerung Benutzer 6 2

  9. Strukturierte AnalyseHierarchisches Prozessmodell Das hierarchisch strukturierte Prozessmodell enthält drei verschiedenartige Hierarchieebenen: • Die oberste Hierarchieebene wird durch ein Diagramm, das Kontextdiagramm, dargestellt. • Die mittleren Ebenen bestehen aus einer Anzahl von Datenflussdiagrammen (DFD) • Die untersten Ebenen bilden die Prozess-Spezifikationen (PSpec/MiniSpec) Das Kontextdiagramm enthält: • einen Prozess (Nummer 0) • Datenquellen und –senken (in den „normalen“ DFD‘s kommen diese nicht mehr zum Einsatz) • (externe) Datenflüsse • keinen Speicher • Beispiel: Auftraggeber Auftraggeber Aufgabenstellung Software-Erstellung Softwareprodukt 0 Markt-Beobachtung Technologie Marketing-Abteilung Entwicklungs-Bereich

  10. Strukturierte AnalyseDatenflussdiagramm Übung: Prüfen Sie das schematisch dargestellte DFD und suchen Sie nach fehlerhaften Stellen, die auf eine falsche Darstellung hinweisen können.

  11. Strukturierte AnalyseHierarchisches Prozessmodell Übung: Entwerfen Sie für den nachstehenden Geschäftsvorfall ein Kontext-Diagramm, das sowohl den beschriebenen Informations- als auch Materialfluss wider spiegelt. Der Kunde gibt an der Gepäckannahme das Gepäck und seine Reisepapiere ab. Der Schalterbeamte ersieht daraus den Zielort und nimmt aus der Schublade seines Pults einen Gepäckschein für jedes Gepäckstück des Kunden. Damit kennzeichnet er die Gepäckstücke, entfernt die Kontrollabschnitte und heftet sie zu den Reisepapieren, die er danach dem Kunden wieder aushändigt. Die Gepäckstücke werden auf das Förderband gelegt.

  12. Strukturierte AnalyseHierarchisches Prozessmodell Mittlere Hierarchie-Ebenen: DFD 0 Prozessidentifikation über:DFDnr + rel. Prozessnr (1…n) 3 1 Prozess 3.4.2.1 2 DFD 2 2 1 3

  13. Strukturierte AnalyseHierarchisches Prozessmodell Terminale Prozesse (unterste Hierarchie-Ebene): 3.4 • Terminale Prozesse beenden die Dekomposition (Verfeinerung), DFD‘s führen sie weiter PSpec3.4.1 Titel DFD 3.4 EingabeAusgabe • 2 Aspekte, um mit der Dekomposition auf zu hören: • die verbale Prozess-Spezifikation hat eine Größenordnung von einer DinA4-Seite • Der betrachtete Prozess besitzt mehrere Datenflüsse am Eingang und einen am Ausgang (n:1-Beziehung) 2 Verarbeitung 1 3 PSpec3.4.2 Titel PSpec3.4.3 EingabeAusgabe Titel EingabeAusgabe Verarbeitung Verarbeitung

  14. Strukturierte AnalyseHierarchisches Prozessmodell Hierarchische Ausgeglichenheit (balancing): DFD 3 DFD 3.3 F B 3 A E C 2 F D 1 1 I G 2 E D J 3 DFD 3.2 E K • Zwischen DFD3 und DFD3.2 ist die Beziehung ausgeglichen, warum? • Zwischen DFD3 und DFD3.3 ist die Beziehung nicht ausgeglichen, warum? • Wie ist das Balancing zwischen DFD3.2 und DFD3.3? 2 G 1 M 3 D

  15. Strukturierte AnalyseHierarchisches Prozessmodell Übung: Prüfen Sie die schematisch dargestellten DFD’s und suchen Sie nach fehlerhaften Stellen, die nicht den Regeln der Ausgeglichenheit entsprechen..

  16. Strukturierte AnalyseHierarchisches Prozessmodell Hierarchische Ausgeglichenheit bei zusammengesetzten Datenflüssen: DFD 3 DFD 0 N E B 2 3 F A C 1 1 I D G 2 E J 3 Die Gliederung der Datenflüsse in Einzelkomponenten wird im Data Dictionary definiert, z.B.: • B = F + N • C = E + D Mit diesen Definitionen sind die beiden DFD‘s ausgeglichen

  17. Strukturierte AnalyseRichtlinien und Erläuterungen Beim Modellieren beginnt man außerhalb eines Prozesses/DFD‘s und beschreibt die Inputs und Outputs, beim Diagramm entweder von außen nach innen oder von der Mitte nach außen. Wenn die Arbeit ins Stocken gerät, an anderer Stelle weitermachen. Vor dem Einfügen eines Datenflusses (oder Datenspeichers) muss dessen Zusammensetzung und Struktur bekannt sein: Dazu wählt man einen präzisen Namen und definiert ihn im Data Dictionary. Präzision in den Daten – besonders in den frühen Phasen – ist viel wichtiger als Präzision in den Prozessen. Vor einer Verfeinerung sollte man immer eine Qualitätssicherung (syntaktische und semantische Analyse) durchführen. Pro Hierarchie-Ebene werden nur 7 +- 2 Prozesse gezeichnet. Der Inhalt der Dateien muss sich eindeutig aus den Outputs der zugreifenden Prozesse ergebene, weitere zusätzliche Datenfelder sind nicht gestattet. Die Verfeinerungstiefe muss nicht für alle Prozesse einer Ebene gleich sein. Eine Verfeinerung ist immer dann sinnvoll, wenn • der Prozess mehrere asynchrone Funktionen ausführt oder • man keinen passenden Namen für den Prozess findet.

  18. Strukturierte AnalyseProzess-Spezifikation (PSpec) Prozess-Spezifikationen sind formalisierte und strukturierte (Text-)Bausteine, die neben der Beschreibung der Verarbeitung immer auch Angaben zu den Ein- und Ausgängen enthalten, Beispiele dafür sind: Ein-/Ausgangstabelle Entscheidungstabelle y r=1 sin phi x cos phi Diagramme/Gleichungen

  19. Strukturierte AnalyseProzess-Spezifikation (PSpec) Die übliche Form einer Prozess-Spezifikation ist der freie Text, wobei möglichst eine strukturierte Sprache mit begrenzter Syntax (einfache Satz-Aussagen, Entscheidungsaussagen und Wiederholungsaussagen) einzusetzen ist: Prozess 2.1.3.4 Titel: Waren reservieren Input / Output : ….. Wiederholung Verarbeitung: Für jede Reservierungsanfrage muss im Ordner nach der Warennummer gesucht werden, die auf der Anfrage eingetragen ist. Wenn die Bestellmenge die verfügbare Menge nicht überschreitet, dann muss 1. die Bestellmenge zur reservierten Menge addiert werden, 2. die Bestellmenge von der verfügbaren Mengesubtrahiert werden und 3. dem Verkäufer mitgeteilt werden, dass geliefert wird. Sonst muss dem Verkäufer mitgeteilt werden, dass die Bestellung nicht erfüllt werden kann. Entscheidung Sequenzen

  20. Strukturierte AnalyseDatendefinitionen Die Datenflüsse und die Datenspeicher in der SA-Methode werden mit folgender Syntax (Backus-Naur Form, BNF) im Data Dictionary definiert: Sequenz:+ bedeutet UND oder auch ZUSAMMEN MIT und impliziert keine Reihenfolge, sondern ist eine Zusammenfassung. Selektion (Entscheidung):[ | ] bedeutet ENTWEDER ODER, d.h. es ist jeweils nur eine Alternative aus einem gegebenen Datensatz erlaubt, ähnlich einem Datentyp Enumeration. Iteration (Wiederholung):{ } bedeutet MEHRFACH ENTHALTEN und erlaubt irgendeine Anzahl gleichartiger Daten innerhalb von Grenzen, die optional angegeben werden können. Option:( ) bedeutet IST OPTIONAL und entspricht folgendem Iterationsausdruck: { }1 Datenwerte:„ „ bedeutet IST WERT VON. Kommentar:* * bedeutet IST KOMMENTAR und wird beim Syntaxcheck überlesen.

  21. Strukturierte AnalyseDatendefinitionen Beispiele: Adresse = PLZ + Stadt + Strasse + Hausnummer. Bedingung = [ „TRUE“ | „FALSE“ ]. Telegramm = [ sende_t | empfangs_t | quittungs_t ]. Gruppe = 2 {Mitglied}. Eine Datendefinition, die über mehrere Hierarchieebenen hinweggeht, ist dann abgeschlossen/vollständig, wenn sie sich letztlich aus Datenwerten zusammensetzt; alternativ kann man auch festlegen, dass ein Kommentarfeld bei leerem Datenwert die Abgeschlossenheit herstellt: Ampelfarbe = [ FarbeStop | FarbeAchtung | FarbeFrei ].FarbeStop = „rot“.FarbeAchtung = „gelb“.FarbeFrei = „grün“. oder Ampelfarbe = „ „. *kann die Werte rot, gelb und grün annehmen*.

  22. Strukturierte AnalyseDatendefinitionen (Syntax-Diagramme im INNOVATOR)

  23. Strukturierte AnalyseDatendefinitionen Beispiel für eine komplexe Datendefinition (einmal mit Schachtelungen und einmal mit fünf zusätzlichen Einzel-Definitionen): Projekt = Projektname + Projektbeginn + Projektende + (Kurzbeschreibung) +{ Teilprojektname + { Taetigkeitsname + {Ressource} + Aufwand + Arbeitsbeginn + [ Arbeitsende | Arbeitsdauer] + (Abhaengigkeit) + [ geplant | begonnen | abgeschlossen ] }}. Projekt = Projekttitel + {Teilprojekt}.Projekttitel = Projektname + Projektbeginn + Projektende + (Kurzbeschreibung).Teilprojekt = Teilprojektname + {Taetigkeit}.Taetigkeit = Taetigkeitsname + {Ressource} + Aufwand + Arbeitszeit + (Abhaengigkeit) + Zustand.Arbeitszeit = Arbeitsbeginn + [ Arbeitsende | Arbeitsdauer].Abhaengigkeit = " " *hier werden die Vorgaenger- oder auch Nachfolgetaetigkeiten angegeben*.Zustand = [ geplant | begonnen | abgeschlossen ].

  24. Strukturierte AnalyseHierarchisches Prozessmodell Übung: Spezifizieren Sie die folgenden verbal beschriebenen oder als Formular dargestellten Datenstrukturen in der BNF-Notation. • Das abgegebene Gepäck besteht mindestens aus einem oder auch mehreren Gepäckstücken. Jedes Gepäckstück kann mit einem kennzeichnenden Schildchen versehen sein oder auch nicht. • Sitzplatzparameter sind: Raucher/Nichtraucher, evtl. Fensterplatz, evtl. Platz am Gang oder evtl. ein bestimmter Platz. • Die Reisepapiere bestehen mindestens aus einem Ticket, möglicherweise einer Sitzplatzzuweisung und möglicherweise aus einem Gepäckschein. • LIEFER-AUFTRAG Nr. 65 4321 an Fa. Weissendorf – Prospekte GmBHPostfach 3470233 Stuttgart Gesamtsumme: 2931,70

  25. Strukturierte AnalyseDatendefinitionen Durch die Verwendung von Kommentaren werden zum Teil ungewollt Redundanzen erzeugt, die die Wartung des Systemmodells (Datenflussdiagramme, PSpecs und Data Dictionary) beträchtlich erschweren; fehlerhafte Beispiele: MercedesCarGroup = Mercedes-Benz + Maybach + Smart *als Teil des DaimlerChrysler Konzerns* . Fehlerprotokoll = Fehlerart + Fehlerort + Fehlerzeit + Fehlerbeschreibung*als Ausgangsdate des Prozesses 3.5.4.1*. Abstand = “ “*wird mit der Formel sqrt(sum(sq(diff(y1,y0)),sq(diff(x1,x0)))) berechnet*. Einige Regeln zur Vermeidung von Redundanz: • Die Spezifikation der Datenverfeinerung gehört zur Datendefinition. • Die Spezifikation der Datenberechnung (z.B. wie sich Datenwerte ergeben) gehört in die Prozess-Spezifikation • Die Spezifikation der Datenverteilung (z.B. welcher Prozess welche Eingangsdaten benötigt) gehört in die Datenflussdiagramme. • Die Spezifikation der Datenbeziehungen untereinander gehört ins Datenmodell (siehe später)

  26. Strukturierte AnalyseDatenflußdiagramm Übung: Statt DFD's nimmt man häufig zur Darstellung von Prozessen und Ihren Schnittstellen auch das Interaktionsdiagramm, das zusätzlich noch die zeitl. Reihenfolge (von oben nach unten) zeigt: Die senkrechten Striche verkörpern Sende und Empfangsobjekte, wie z.B. Datenquellen oder auch Prozesse oder Speicher. Bitte wandeln Sie das gegebene Interaktionsdiagramm um in ein DFD. Prozess 1 Prozess 2 Speicher A Speicher B Datenquelle Datenfluss x Datenfluss y Zeitachse Datenfluss B.b Datenfluss z Datenfluss A Datenfluss A.a

  27. Strukturierte AnalyseHierarchisches Prozessmodell Übung Rezept Pasticcio: Entwerfen Sie für das nachfolgende Rezept eine strukturierte Analyse mit Kontext-Diagramm, Datenflussdiagramm 0, den erforderlichen Prozess-Spezifikationen und den zugehörigen Datendefinitionen im Data Dictionary. Zutaten für 6 Personen:250 g Fusilli4 EL Creme double1 EL Olivenölfür die Sauce:600 g Rinderhackfleisch400 g gewürfelte Tomaten aus der Dose60 g Sardellen aus der Dose125 ml trockener Weißwein2 Knoblauchzehen1 Zwiebel1 rote Paprika2 EL Olivenöl1 EL frisch gehackte PetersilieSalz, Pfefferfür den Belag:300 g Naturjoghurt40 g Parmesan3 Eier1 Prise Muskat Schneiden Sie die Zwiebel in dünne Streifen und die Paprika in Würfel. Erhitzen Sie das Öl für die Sauce in einer Pfanne und geben Zwiebel und Paprika dazu. Ca. 3 Minuten anbraten und dann den Knoblauch dazu geben. Nach einer Minute das Hackfleisch zufügen und braun werden lassen. Geben Sie dann die Tomaten und den Wein dazu und lassen alles aufkochen. Lassen Sie das Ganze dann 20 Minuten köcheln, so dass es eindickt. Schneiden Sie die Sardellen klein und fügen sie zusammen mit der Petersilie zur Sauce. Schmecken Sie die Sauce nun ab. Kochen Sie die Nudeln in einem Topf mit Salzwasser 10 Minuten bissfest (tun Sie auch etwas Olivenöl ins Wasser). Gießen Sie sie ab, geben sie in eine Schüssel und vermengen die Nudeln mit der Creme double. Verquirlen Sie nun den Joghurt mit den Eiern und dem Muskat für den Belag. Fetten Sie eine Auflaufform mit Olivenöl ein, geben die Hälfte der Nudeln hinein und bedecken sie mit Sauce. Geben Sie dann den Rest Nudeln und den Rest Sauce darauf, gießen den Belag darüber und bestreuen das Ganze mit Parmesan. Backen Sie das Pasticcio nun bei 190 Grad ca. 25 Minuten.

More Related