In seinem Buch „Structured analysis and system specification“ hat DEMARCO das Wesen der Systemanalyse treffend zusammengefasst. Er schreibt, dass Systemanalyse frustrierend sowie voll von komplexen zwischenmenschlichen Beziehungen, vage und schwierig ist. Kurz gesagt, sie ist faszinierend. Ist man erst einmal infiziert, werden die althergebrachten, einfachen Freuden der Systemanalyse nie wieder genügen [DEMA78, S. 6]. Die Bedeutung und Richtigkeit einer solchen Aussage wird in vorliegender Arbeit deutlich.
Ein System, im Sinne der Strukturierten Analyse (SA), repräsentiert eine Menge von Prozessen, welche manuell oder automatisiert sein können und die zur Erreichung eines bestimmten Zieles erforderlich sind [DEMA78, S. 60]. Bei der Analyse muss die Systemspezifikation die wahren Anforderungen, d. h. alle Eigenschaften und Fähigkeiten, die ein System unabhängig von der Implementierung zwingend erfüllen muss, enthalten. Die Spezifikation ist mangelhaft, wenn falsche, wie bspw. irrelevante Eigenschaften oder Anforderungen, welche nur für eine bestimmte Technologie benötigt werden, bzw. nicht alle erforderlichen Anforderungen identifiziert sind. Die vermeidbaren Folgen sind verheerend: hohe Kosten, Unzuverlässigkeit sowie schwer wart- und erweiterbare Systeme. Oft erfassen Analytiker mehr Anforderungen als notwendig. Dies führt zu schlecht lesbaren Analysen und bremst den Projekt-fortschritt [MCME88, S. 3-9]. Ein Ansatz zur Vermeidung solc her Probleme stellt die in dieser Arbeit diskutierte SA dar.
Die SA wurde in den siebziger Jahren von DEMARCO entwickelt. Er beschreibt diese als eine funktionsorientierte Methode zur Definition von Systemanforderungen, welche zu einem hierarchischen Modell führt. Die Darstellung erfolgt in graphischer Form verbunden mit beschreibenden Textelementen. Grundidee ist, dass die Basiskonzepte Datenflussdiagramm, Data Dictionary, Entscheidungstabellen bzw. -bäume und Pseudo-Code in geeigneter Weise zu einem Gesamtkonzept kombiniert werden [DEMA78, S. 16]. Dadurch können die einzelnen Bausteine der Spezifikation unabhängig von einander bearbeitet und gelesen werden. Durch die Reduktion von Re-dundanzen ist es möglich, veränderte Benutzeranforderung an meist nur einer Stelle pflegen zu müssen [YOUR92, S. 147]. [...]
Inhalt
1 Relevanz der Strukturierten Analyse
2 Vorgehensweise und Konzepte zur Modellerstellung
2.1 Top-down-Methode
2.2 Datenflussdiagramm
2.3 Data Dictionary
2.4 Pseudo-Code
2.5 Entscheidungstabellen und Entscheidungsbäume
2.6 Entity-Relationship-Modell
3 Methodik der Strukturierten Analyse
3.1 Hierarchische Vorgehensweise
3.1.1 Kontextdiagramm
3.1.2 Funktionale Dekomposition
3.1.3 Data Dictionary
3.1.4 Prozessbeschreibung
3.2 Schritte zum Modell
3.3 Überprüfung entwickelter Modelle
3.4 Werkzeugbasierte Modellierung
3.5 Vor- und Nachteile
4 Resümee und Ausblick
Quellenverzeichnis
„Des Menschen größte Fehler sind Ungeduld, das vorschnelle Verwerfen einer Methode, das irrtümliche Festhalten an einem Irrglauben.“
Franz Kafka
1 Relevanz der Strukturierten Analyse
In seinem Buch „Structured analysis and system specification“ hat Demarco das Wesen der Systemanalyse treffend zusammengefasst. Er schreibt, dass Systemanalyse frustrierend sowie voll von komplexen zwischenmenschlichen Beziehungen, vage und schwierig ist. Kurz gesagt, sie ist faszinierend. Ist man erst einmal infiziert, werden die althergebrachten, einfachen Freuden der Systemanalyse nie wieder genügen [DEMA78, S. 6]. Die Bedeutung und Richtigkeit einer solchen Aussage wird in vorliegender Arbeit deutlich.
Ein System, im Sinne der Strukturierten Analyse (SA), repräsentiert eine Menge von Prozessen, welche manuell oder automatisiert sein können und die zur Erreichung eines bestimmten Zieles erforderlich sind [DEMA78, S. 60]. Bei der Analyse muss die Systemspezifikation die wahren Anforderungen, d. h. alle Eigenschaften und Fähigkeiten, die ein System unabhängig von der Implementierung zwingend erfüllen muss, enthalten. Die Spezifikation ist mangelhaft, wenn falsche, wie bspw. irrelevante Eigenschaften oder Anforderungen, welche nur für eine bestimmte Technologie benötigt werden, bzw. nicht alle erforderlichen Anforderungen identifiziert sind. Die vermeidbaren Folgen sind verheerend: hohe Kosten, Unzuverlässigkeit sowie schwer wart- und erweiterbare Systeme. Oft erfassen Analytiker mehr Anforderungen als notwendig. Dies führt zu schlecht lesbaren Analysen und bremst den Projektfortschritt [MCME88, S. 3-9]. Ein Ansatz zur Vermeidung solcher Probleme stellt die in dieser Arbeit diskutierte SA dar.
Die SA wurde in den siebziger Jahren von DeMarco entwickelt. Er beschreibt diese als eine funktionsorientierte Methode zur Definition von Systemanforderungen, welche zu einem hierarchischen Modell führt. Die Darstellung erfolgt in graphischer Form verbunden mit beschreibenden Textelementen. Grundidee ist, dass die Basiskonzepte Datenflussdiagramm, Data Dictionary, Entscheidungstabellen bzw. -bäume und Pseudo-Code in geeigneter Weise zu einem Gesamtkonzept kombiniert werden [DEMA78, S. 16]. Dadurch können die einzelnen Bausteine der Spezifikation unabhängig von einander bearbeitet und gelesen werden. Durch die Reduktion von Redundanzen ist es möglich, veränderte Benutzeranforderung an meist nur einer Stelle pflegen zu müssen [YOUR92, S. 147].
Hauptziel der SA ist den Prozess der Systementwicklung zu strukturieren und somit die innewohnende Komplexität beherrschbar zu machen. Zudem soll eine gemeinsame Kommunikationsbasis zwischen Auftraggeber und Entwicklern geschaffen werden. Dadurch können sowohl Fehler als auch ganze Fehlentwicklungen vermieden und Schwachstellen aufgedeckt werden [ÖSTE97, S. 388].
2 Vorgehensweise und Konzepte zur Modellerstellung
Die Beschreibung der SA setzt die Kenntnis der o. g. Basiskonzepte, des Top-down-Ansatzes sowie des Entity-Relationship-Modells (ERM) voraus. Im Folgenden werden die wesentlichen Vorgehensweisen und Ideen dieser Grundlagen zusammengefasst. Anwendungsbeispiele werden entweder sofort explizit genannt oder später bei der Darstellung der SA aufgezeigt (vgl. Kapitel 3).
2.1 Top-down-Methode
Ein übersichtlicher, vollständiger und widerspruchsfreier Entwurf kann nur dann entstehen, wenn bei der Erstellung nach einem festen Prinzip vorgegangen wird. Bei der Top-down-Methode wird eine Gesamtaufgabe schrittweise in mehrere logisch zusammenhängende Teilaufgaben zerlegt (Spezialisierung). Der Abstraktionsgrad wird dabei mit jeder hinzugefügten Hierarchieebene reduziert. Iterativ wird eine Verfeinerung so lange vorgenommen bis kleine überschaubare Einheiten (Module) entstehen. Eine solche Vorgehensweise erhöht die Übersichtlichkeit und Wartungsfreundlichkeit komplexer Systeme und ermöglicht eine klare Definition von Schnittstellen [STAH99, S. 276 und THOM90, K 3.1, S. 1f.].
2.2 Datenflussdiagramm
Ein Datenflussdiagramm visualisiert den Weg von Daten, die aus der Umgebung in das System hineinfließen (Quelle), durch Prozesse umgewandelt, in Speichern tem-porär abgelegt oder aus diesen gelesen werden und in die Umgebung zurückfließen (Senke) [BALZ01, S. 145]. Es ist darauf zu achten, dass alle Elemente eindeutige und aussagekräftige Namen besitzen. Die vier wichtigsten Symbole und ihre Bedeutung sind in Abbildung 1 dargestellt.
Abbildung in dieser Leseprobe nicht enthalten
Abb. 1: Symbole des Datenflussdiagramms [BALZ01, S. 142]
Einen Datenfluss kann man sich als Kanal vorstellen, durch welchen ein Paket von Informationen, d. h. zusammengehörende Daten, geschickt werden. Die Richtung wird dabei durch Pfeile angezeigt. Das Paket ‚Adresse’ besteht bspw. aus den Komponenten Straße, Postleitzahl und Ort. Kann für einen Datenfluss kein geeigneter Name gefunden werden, so ist es wahrscheinlich, dass diese Daten derart unterschiedliche Informationen tragen, dass sie durch verschiedene Datenflüsse repräsentiert werden sollten.
In Datenflussdiagrammen werden Zusammenhänge zwischen Prozessen oder auch Beziehungen dieser zu Speichern oder Schnittstellen dargestellt. Ein Prozess wird dabei verstanden als Abarbeitung von Anweisungen, wobei eingehende in ausgehende Daten transformiert werden. Ein Beispiel hierfür ist die Berechnung des Gehalts als Ausgangsdatum, welches aus den Eingangsdaten wie z. B. Arbeitszeit, Stundenlohn usw. ermittelt wird. Der Speicher stellt einen Aufbewahrungsort von Informationen dar. Er muss dementsprechend nicht nur ein Speicher im Sinne einer Datenbank, sondern kann vielmehr auch ein Buch oder sogar ein Papierkorb sein. Schnittstellen zur Umwelt sind Personen oder Organisationen, welche außerhalb des Kontextes des zu modellierenden Systems liegen [DEMA78, S. 52-59].
Ein Anwendungsbeispiel für das Zusammenspiel dieser Komponenten folgt im Verlauf dieser Arbeit.
2.3 Data Dictionary
Ein Data Dictionary ist ein organisiertes Verzeichnis aller Daten, die von einem System verwaltet und ausgetauscht werden [THOM90, D 4.5, S. 1]. Es enthält Informationen bzgl. Struktur, Eigenschaften und Verwendung. Definiert werden die Datenflüsse und ihre Komponenten, die verwendeten Speicher, alle weiteren Elemente, die einer näheren Beschreibung bedürfen sowie zusätzliche Informationen wie bspw. Prioritäten oder Volumina [DEMA78, S. 126].
Tabelle 1: Symbole des Data Dictionary (in Anlehnung an [SCHÖ90, S. 70])
Abbildung in dieser Leseprobe nicht enthalten
Der Vorteil eines Data Dictionarys besteht darin, dass Inkonsistenzen sowie Redundanzen und die damit einhergehende Fehleranfälligkeit verringert werden [BALZ01, S. 247]. Die Zusammensetzung der Daten aus Komponenten basiert auf den in Tabelle 1 aufgezeigten Notationen, wobei nur die wichtigsten aufgezeigt sind. In Kapitel 3.1.3 wird die Verwendung der Symbole anhand eines Beispiels aufgezeigt.
2.4 Pseudo-Code
Der Pseudo-Code ist eine semiformale Beschreibung der Logik von Programmmodulen. Er dient dazu, den Ablauf eines Algorithmus darzustellen und ermöglicht dadurch eine Übersicht, aus der ersichtlich ist, ob und wie oft Anweisungen ausgeführt werden sollen. Für die Kontrollstrukturen werden Schlüsselwörter der Programmiersprachen wie if, else, while, for, do usw. verwendet. Die Anweisungen selbst sind hingegen verbale Beschreibungen. Weiterhin sind Komponenten, welche im Data Dictionary definiert sind, enthalten.
Tabelle 2: Kontrollstrukturen [BALZ01, S. 261-264])
Abbildung in dieser Leseprobe nicht enthalten
Eine so erstellte Kurzfassung des Programms erleichtert die endgültige Kodierung wesentlich und dient als Kommunikationsbasis für alle Beteiligten. Allerdings bedarf es eines hohen Aufwands, um alle Funktionen des Systems korrekt zu beschreiben.
Beispiele der wichtigsten Kontrollstrukturen sind in Tabelle 2 dargestellt. Eine Sequenz beschreibt die Ausführung mehrerer Anweisungen hintereinander. Bei einer Auswahl erfolgen Anweisungen in Abhängigkeit bestimmter Bedingungen. Das Konzept der Wiederholung wird angewendet, wenn Anweisungen in Abhängigkeit von einer Bedingung oder für eine bestimmte Anzahl mehrfach ausgeführt werden sollen [SCHÖ90, S. 214-217]. Eine strukturierte Darstellung des Pseudo-Codes wird durch das Einrücken von Unterabläufen erreicht [SILV89, S. 83]. DeMarco bezeichnet diese Art der Darstellung auch als „Structured English“ [DEMA78, S. 180]. Eine konkrete Anwendung wird in Kapitel 3.1.4 aufgezeigt.
2.5 Entscheidungstabellen und Entscheidungsbäume
Entscheidungstabellen dienen der Darstellung der Entscheidungslogik von Prozessen. In tabellarischer Form werden Aktionen, die von der Erfüllung oder Nichterfüllung von einer oder mehrerer Bedingungen abhängen, kompakt und übersichtlich strukturiert. Eine Entscheidungstabelle besteht aus den in Tabelle 3 dargestellten vier Quadranten.
[...]
- Citar trabajo
- Chris Kürschner (Autor), 2003, Modellierung betriebswirtschaftlicher Problemstellungen auf Basis der Strukturierten Analyse, Múnich, GRIN Verlag, https://www.grin.com/document/21042
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X.