Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Structured Analysis ¤ Historie

Ähnliche Präsentationen


Präsentation zum Thema: "Structured Analysis ¤ Historie"—  Präsentation transkript:

1 Structured Analysis ¤ Historie
SA ("Structured Analysis") wurde in den 70-er Jahren von Tom DeMarco und von C.Gane / T.Sarson entwickelt. 1984 von Stephen M. McMenamin / John F. Palmer um eine Analysestrategie erweitert ("essentielle Systemanalyse") 1985 von Paul Ward /Stephen J. Mellor und 1987 von D. J. Hatley / I. A. Pirbhai erweitert für die Spezifikation von Echtzeitsystemen. 1989 Erweiterungen durch Ed Yourdan zusammengefaßt.

2 Structured Analysis ¤ Hauptkomponenten
Grafische Beschreibung durch hierarchisch angeordnete Datenflußdiagramme (DFDs bzw. „Bubble Charts“). Zerlegung der Prozesse, bis für die Teilprozesse knappe Minispezifikationen (MiniSpecs) erstellbar sind. Data Dictionary zur Beschreibung der Datenflüsse und der Datenspeicher.

3 Structured Analysis ¤ Notation nach DeMarco

4 Structured Analysis ¤ Dynamische Elemente
Die Prozesse, die nicht weiter verfeinert werden, werden mittels Minispezifikationen (MiniSpecs) beschrieben. Die MiniSpecs beschreiben den Kontrollfluß in strukturierter Sprache. Faustregel: max. 1 DIN A4 -Seite Für Theatervorstellung mit Aufführung = gewünschte Aufführung und Vorstellungsort = gewünschter Vorstellungsort und Vorstellungstermin = gewünschter Vorstellungstermin wenn in gewünschter Platzkategorie freier Platz vorhanden Reihen-Nr+Sitz-Nr+Theaterkartenpreis+Vorverkaufsgebühr ausgeben sonst falls beide Platzkategorien ausverkauft "Vorstellung ist ausverkauft" ausgeben falls nur gewünschte Platzkategorie ausverkauft "Platzkategorie ist ausverkauft" ausgeben wenn nicht gefunden "gewünschte Vorstellung findet nicht statt" ausgeben

5 Structured Analysis ¤ Data Dictionary / Datenstrukturierung
Jeder Datenfluß und jeder Datenspeicher wird im Data Dictionary in seiner Zusammensetzung beschrieben. Hierbei gelten folgende syntaktische Regeln: Platzkategorie = [ Rang | Parkett ] Platz = Platzkategorie + Reihen-Nr. + Sitz-Nr. Bestuhlung = { Vorstellungsort + {Platz} } * für alle Plätze an allen Vorstellungsorten *

6 Structured Analysis ¤ Hierarchiekonzept

7 Structured Analysis ¤ Syntaktische Regeln
Das Kontextdiagramm beschreibt die Schnittstellen des Systems zur Umgebung und enthält nur einen einzigen Prozeß für das gesamte Zielsystem. Terminatoren (Datenquellen und -senken) werden nur in das Kontextdiagramm eingetragen. Das Kontextdiagramm enthält keine Datenspeicher. Keine Beschriftung der Datenflüsse von und zu Datenspeichern, wenn alle Attribute des Datenspeichers benutzt werden.

8 Structured Analysis ¤ Konventionelle Vorgehensweise
Nach DeMarco erfolgt die Systemanalyse in 4 Schritten: Auf Basis der physischen Details des IST-Modells erfolgt Abstraktion. Logisches IST-Modell durch Entfernung von Implementierungsdetails. Logisches SOLL-Modell berücksichtigt Anforderungen an zukünftiges System. Physisches SOLL-Modell nimmt physische Festlegungen vor (z.B. Festlegung der Automatisierungsgrenze des Zielsystems; Performance-Anforderungen)

9 Structured Analysis ¤ Kritikpunkte an der konventionellen Vorgehensweise
Viele Projekte blieben in der "physikalischen Schlammgrube" stecken (Erhebung überflüssiger physikalischer Details des IST- Modells - Informationen, die nachher weggeworfen werden). Ein Festbeißen an den Fehlern des IST-Modells vergiftet das Projekt-Klima. Häufig existieren schon konkrete Anforderungen an ein neues System. Es handelt sich um eine reine Darstellungstechnik ohne Leitfaden zur Modellentwicklung.

10 Structured Analysis ¤ Essentielle Systemanalyse
McMenamin und Palmer Vorgehensweise zum Aufspüren des logischen Soll Geeignet für interaktive Systeme mit geplanten Reaktionen auf externe und zeitliche Ereignisse Gedankenmodell der perfekten Technologie Essenz des Systems und essentielle Zerlegung Ereignisorientierte Zerlegung der essentiellen Aktivitäten Objektorientierte Zerlegung des essentiellen Speichers

11 Structured Analysis ¤ Essentielle Systemanalyse
Bestandteile eines vollständigen essentiellen Modells Umgebungsmodell Zielformulierung Kontextdiagramm Ereignisliste Internes Modell des Zielsystems DFDs (außer Kontext) Entity-Relationship-Diagramm Data Dictionary MiniSpecs

12 Structured Analysis ¤ Schalenförmige Systemstruktur
Technologieabhängige Systemteile werden vom logischen Systemkern getrennt und in die Randbereiche des Systems ausgegliedert. Essenz Administration Infrastruktur spontane Hülle

13 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Ziele des Systems festlegen Ereignistabelle erstellen Kontext-Diagramm erstellen Zusammensetzung der Auslöser und Reaktionen im Data Dictionary beschreiben Grundlegende Aktivitäten und erforderliche Speicher in Datenflußdiagramm des Zielsystems eintragen Objektorientierte Zerlegung des essentiellen Speichers Ereignistabelle vervollständigen Data Dictionary vervollständigen Kontextdiagramm vervollständigen DFD um Verwaltungsaktivitäten ergänzen Verdichtung des DFD nach oben Detaillierung einzelner Prozesse mit weiteren DFD MiniSpecs für die nicht weiter zerlegten Prozesse erstellen

14 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Ziele des Systems festlegen Das Vorverkaufssystem soll: Auskunft über laufende Aufführungen erteilen Verkauf von Theaterkarten abwickeln Nach Abschluß des Vorverkaufs die Vorverkaufsbelegung an das Theater mitteilen

15 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Ereignistabelle erstellen

16 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Kontext-Diagramm erstellen

17 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Zusammensetzung der Auslöser und Reaktionen im DD beschreiben Kartenanfrage = Theatervorstellung + Platzkategorie *Frage nach freiem Platz zu bestimmter Vorstellung* Kartenauskunft = " Vorstellung ausverkauft " | "Platzkategorie ist ausverkauft" | Platz + Theaterkartenpreis + Vorverkaufsgebühr] Kartenbestellung = Theatervorstellung + Platz + Zahlung *Theaterkartenpreis und Vorverkaufsgebühr * Theaterkarte = Theatervorstellung + Platz * Anrecht auf bestimmten Sitzplatz * Platz = Platzkategorie + Reihen-Nr. + Sitz-Nr. Platzkategorie = [ Rang | Parkett ] Theatervorstellung = Aufführung + Vorstellungsort + Vorstellungstermin Aufführung = Titel + Regisseur Vorstellungstermin = Jahr + Monat + Tag + Stunde + Minute Belegungs-Info = Theatervorstellung + {Platz + Belegungsstatus} Belegungsstatus = [ frei | belegt ]

18 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Grundlegende Aktivitäten und erforderliche Speicher in Datenflußdiagramm des Zielsystems eintragen neuer Speicher Belegung = {Theatervorstellung + {Platz + Belegungsstatus}}

19 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Objektorientierte Zerlegung des essentiellen Speichers Eine objektorientierte Zerlegung des Speichers sichert eine größere Flexibilität hinsichtlich zukünftiger Systemerweiterungen (z. B. erweiterte Auskunftsfunktionen). Denkbare Zerlegung des essentiellen Speichers in folgende Objekte Spielplan (mit n Aufführungen) Aufführung (mit n Theatervorstellungen; denkbare beschreibende Attribute: Länge des Stücks, Bühnenbildner, Schauspieler, ...) Theatervorstellung Veranstaltungsort /Theater (denkbare beschreibende Attribute: Adresse, Buslinie, Eignung für Rollstuhlfahrer, Tel.-Nr., ...) Preisliste (Preis abhängig von Platzkategorie, u. U. auch vorstellungsspezifisch) Bestuhlung (denkbare beschreibende Attribute: räumliche Anordnung, Beinfreiheit)

20 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Ereignistabelle vervollständigen

21 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Data Dictionary vervollständigen Spielplan = {Theatervorstellung} * alle Theatervorstellungen einer Saison * Spielplanänderung = Theatervorstellung *alt* Theatervorstellung *neu* Aufführungsinfo = Titel + Regisseur + Spieldauer Spieldauer = *in Minuten incl. Pause* Theaterinfo = Vorstellungsort + Vorstellungsadresse + Buslinie Bestuhlung = Datum + {Vorstellungsort + {Platz}} Preisliste = Datum + {Vorstellungsort + {Platzkategorie Theaterkartenpreis}

22 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Kontextdiagramm vervollständigen

23 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
DFD um Verwaltungs- aktivitäten ergänzen

24 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Verdichtung des DFD nach oben

25 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
Detaillierung einzelner Prozesse mit weiteren DFD Komplexe Prozesse werden in Teilprozesse zerlegt Kartenauskunft: Spielplanauskunft Aufführungsauskunft Vorstellungsortauskunft Bestuhlungsauskunft

26 Structured Analysis ¤ Arbeitsschritte der essentiellen Systemanalyse
MiniSpecs für die nicht weiter zerlegten Prozesse erstellen Für Theatervorstellung mit Aufführung = gewünschte Aufführung und Vorstellungsort = gewünschter Vorstellungsort und Vorstellungstermin = gewünschter Vorstellungstermin wenn in gewünschter Platzkategorie freier Platz vorhanden Reihen-Nr + Sitz-Nr + Theaterkartenpreis + Vorverkaufsgebühr ausgeben sonst falls beide Platzkategorien ausverkauft "Vorstellung ist ausverkauft" ausgeben falls nur gewünschte Platzkategorie ausverkauft " Platzkategorie ist ausverkauft" ausgeben wenn nicht gefunden "gewünschte Vorstellung findet nicht statt" ausgeben

27 Structured Analysis ¤ Datenflußdiagramme nach Gane / Sarson
Formale Unterschiede

28 Structured Analysis ¤ Datenflußdiagramme nach Gane / Sarson
Inhaltliche Unterschiede Eine modifizierte Ebenenbildung unterstützt die Vernachlässigung von Ausnahmesituationen auf höheren Ebenen. Zusätzliche Datenflüsse und Prozesse, die in den Detaildiagrammen zum erstenmal auftauchen werden mit einem X" markiert. Während das Yourdan/DeMarco - Lager vorschlägt, die Prozeßanzahl auf 7 +/- 2 zu begrenzen, akzeptieren Gane/Sarson auch 100 Prozesse in einem Datenflußdiagramm.


Herunterladen ppt "Structured Analysis ¤ Historie"

Ähnliche Präsentationen


Google-Anzeigen