Software Entwicklung 2. Strukturierte Analyse 1



Ähnliche Dokumente
- Strukturierte Analyse / Real Time Analysis -

SWE 4 Aufgaben zu Software-Engineering

1. Modellierung einer Weinhandlung mit der Strukturierten Analyse (SA) 2. Modellierung einer Kassenbuchverwaltung mit der Strukturierten Analyse (SA)

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

How to do? Projekte - Zeiterfassung

Lineare Gleichungssysteme

Anwendungsbeispiele Buchhaltung

1 Mathematische Grundlagen

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Registrierung am Elterninformationssysytem: ClaXss Infoline

teischl.com Software Design & Services e.u. office@teischl.com

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Neue Kennwortfunktionalität. Kurzanleitung GM Academy. v1.0

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Zusatzmodul Lagerverwaltung

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Übungen zur Softwaretechnik

Leichte-Sprache-Bilder

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Neuanlage des Bankzugangs ohne das bestehende Konto zu löschen

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Handbuch. Anlegen von Vermittlern, Gruppen und Anwendern. 1. Auflage. (Stand: )

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Hilfe zur Urlaubsplanung und Zeiterfassung

Du hast hier die Möglichkeit Adressen zu erfassen, Lieferscheine & Rechnungen zu drucken und Deine Artikel zu verwalten.

Hilfedatei der Oden$-Börse Stand Juni 2014

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Fülle das erste Bild "Erforderliche Information für das Google-Konto" vollständig aus und auch das nachfolgende Bild.

Kapitalerhöhung - Verbuchung

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Einleitung: Frontend Backend

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Anleitung Service App

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag

Lehrer: Einschreibemethoden

MOM - Medienforum Online-Medien Anleitung zum Ändern der Login-Nummer und des Passworts

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Internationales Altkatholisches Laienforum

Beschreibung der Plattform

LOPRODOC Klassenrechnung und Rechnung an die Direktion (Umsatzsteuer)

Codex Newsletter. Allgemeines. Codex Newsletter

OP-LOG

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

4 Aufzählungen und Listen erstellen

Anleitung zur Prüfungsmeldung im SB-Portal

Updatehinweise für die Version forma 5.5.5

Barrierefreie Webseiten erstellen mit TYPO3

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Anlegen eines DLRG Accounts

Leitfaden zur Anlage einer Nachforderung. Nachforderung Seite 1 von 11 RWE IT GmbH

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Schulungsunterlagen zur Version 3.3

Sehr geehrte Fortbildungsteilnehmende!

nessbase Projekte Über Projekte I

Einrichten eines HBCI- Zugangs mit Bank X 5.1

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Fortbildung - Veranstaltungen - Anmeldung online

SPLIT-PAYMENT FAKTURIERUNG

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Logistik-Kennzahlenberichte erstellen und interpretieren

Erstellen einer digitalen Signatur für Adobe-Formulare

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

PRÜFUNG FÜR ELEKTROINGENIEURE. Softwaretechnik I. Musterlösung SS Ohne Gewähr -

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Erstellen einer PostScript-Datei unter Windows XP

Bearbeiten elektronische Rechnungen (Invoices)

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

E-TIME ADVANCED Dokumentation zum Vorgehen bei der elektronischen Zeiterfassung. Geben Sie folgende Internetadresse ein:

Online-Dienste des EPA

1. Einführung. 2. Die Abschlagsdefinition

Verwaltung der Projekte

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

macs Support Ticket System

Mitarbeitergespräche führen

Anmeldeverfahren. Inhalt. 1. Einleitung und Hinweise

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Repetitionsaufgaben Wurzelgleichungen

Excel Pivot-Tabellen 2010 effektiv

Partnerportal Installateure Registrierung

Tevalo Handbuch v 1.1 vom

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Über den Link auf der Homepage des HVW unter Phönix den Link anklicken oder über den Internetbrowser

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Some Software Engineering Principles

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1 BEDIENUNGSANLEITUNG

Transkript:

Software Entwicklung 2 Strukturierte Analyse 1

Inhalt Einführung und Überblick Datenfluss-Diagramm ER-Diagramm und Data Dictionary Das Hierarchiekonzept Das Kontextdiagramm Verfeinerte Datenflussdiagramme DD-Einträge und Datenintegrität Mini-Spezifikationen Methodik Wertung Einsatz von CASE-Werkzeugen SA im Überblick 2

Lernziele Den Aufbau von SA beschreiben können Die einzelnen Diagramme und Notationen von SA erläutern und anwenden können Hierarchische Datenflussdiagramme erzeugen können Data-Dictionary-Einträge erzeugen können Mini-Spezifikationen erstellen können SA-Modelle auf ihre Korrektheit überprüfen können Eine verbale Beschreibung in ein SA-Modell umsetzen können 3

Einleitung und Überblick Zur Historie Tom DeMarco *20.8.1940 in Hazleton, Pennsylvania, USA Principal, The Atlantic Systems Guild Erfinder der Strukturierten Analyse (SA) Buch: Structured Analysis and System Specification, 1978 Bedeutende Beiträge zum Software-Management Buch: Controlling Software Projects, 1982 Buch: Peopleware, zusammen mit T. Lister, 1987 Buch: The Deadline A Novel about Project Management, 1997 4

Einleitung und Überblick Beschreibt eine Methodenklasse Wichtige SA-Varianten Weinberg 1978:»Structured Analysis«Gane/Sarson 1979:»Structured Systems Analysis«McMenamin/Palmer 1984:»Essential Systems Analysis«Yourdon 1989:»Modern Structured Analysis«SA nach DeMarco wird hier vorgestellt 5

Einleitung und Überblick Kombination der Basiskonzepte in SA SA 1979 ET(Entscheidungstabelle) Entscheidungsbäume Funktionsbaum Datenflussdiagramm Data Dictionary Pseudo Code Funktionale Hierachie Informationsfluss Datenstrukturen Kontrollstrukturen 6

Datenfluss-Diagramm Notation von DeMarco (1979) Datenname Funktionsname Speichername Schnittstellenname 7

Datenfluss-Diagramm Beispiel verwalte Kundendaten /F10/ beantworte Anfrage n /F90/ Kunde Kundendatei /D10/ Firmendatei /D20/ Kundensachbearbeiter Firma Firmendaten Mitteilungen verwalte Firmendaten /F23/ 8

Datenfluss-Diagramm Syntaktische Regeln für DFDs Ein DFD enthält mindestens eine Schnittstelle Jede Schnittstelle ist im Allgemeinen nur einmal vorhanden Ausnahme: Wird das DFD unübersichtlich, dann kann eine Schnittstelle mehrfach gezeichnet werden Zwischen Schnittstellen gibt es keine Datenflüsse A A D1 D1 D2 D2 A Falsch: 9

Datenfluss-Diagramm Syntaktische Regeln für DFDs Jeder Datenfluss hat einen Namen Ausnahme: Datenflüsse, die zu Speichern führen und keinen Namen haben, beinhalten die gesamten gespeicherten Daten Zwischen Speichern dürfen keine direkten Datenflüsse gezeichnet werden Zwischen Schnittstellen und Speichern dürfen keine direkten Datenflüsse gezeichnet sein Falsch: Falsch: 10

Datenfluss-Diagramm Semantische Regeln für DFDs Das DFD beschreibt den Datenfluss, nicht den Kontrollfluss Daher enthält es weder Entscheidungen noch Schleifen Es wird keine Aussage über die Initiierung und Terminierung von Funktionen bzw. Prozessen gemacht Steht eine Schnittstelle für eine Vielzahl von beliebig vielen Instanzen, dann wird sie als eine Schnittstelle dargestellt 11

Datenfluss-Diagramm Semantische Regeln für DFDs Wird das System durch eine eng begrenzte Anzahl von gleichartigen Schnittstellen begrenzt, die sich aber durch unterschiedliche Datenflüsse auszeichnen, dann ist eine getrennte Darstellung sinnvoll Eine Schnittstelle ist so zu wählen, dass sie die ursprüngliche Quelle oder Senke einer Information angibt Normalfall: Lieferant Es gibt 2 unterschiedliche Klassen: Lieferant 1 Lieferant 2 12

Datenfluss-Diagramm Semantische Regeln für DFDs Bei der Wahl einer Schnittstelle wird von der konkreten Eingabe einer Information in das System über eine Tastatur oder einer Ausgabe auf einem Drucker vollständig abstrahiert Ein Datenflussname besteht aus einem Substantiv oder einem Adjektiv und einem Substantiv Datenflussnamen enthalten niemals Verben Die Datenflussnamen sind so zu wählen, dass sie nicht nur die Daten, die fließen, beschreiben, sondern etwas darüber aussagen, was über die Daten bekannt ist Beispiel: Rechnungs-Nr, gültige Rechnungs-Nr. 13

Datenfluss-Diagramm Semantische Regeln für DFDs Seichte Namen wie Daten, Informationen vermeiden Ein Funktions- bzw. Prozessname besteht aus einem einzigen starken Aktions-Verb gefolgt von einem einzigen konkreten Objekt oder einem konkreten Substantiv gefolgt von einem starken Aktions- Verb Funktionsnamen repräsentieren Aktionen Seichte Namen wie verarbeite, bediene vermeiden 14

ER-Diagramm und Data Dictionary ER-Diagramme sind aus dem Entwurf relationaler Datenbanken bekannt Das Data Dictionary basiert auf einer geringfügig modifizierten EBNF (Extended Backus-Naur-Form), die aus dem Compilerbau bekannt ist, z.b. Rechnung = [ erste Rechnung korrigierte Rechnung stornierte Rechnung ] 15

Das Hierarchiekonzept Hierarchisierung zur Steigerung der Übersichtlichkeit Datenflussdiagramme (DFD) werden hierarchisch verfeinert Kontextdiagramm steht als abstraktes DFD in der obersten Hierarchieebene Jeder Prozess des Kontextdiagramms wird in untergeordneten Diagrammen verfeinert Ist keine Verfeinerung mehr möglich, wird eine textuelle Mini-Spezifikation erstellt 16

Das Hierarchiekonzept Kontextdiagramm Diagramm 0 Diagramm 3 MiniSpec 3.1 DD: A = a 1 + ( a 2 ) B = [ b 1 b 2 ] a 2 = x + y 17

Das Kontextdiagramm Beschreibt die Schnittstellen des Systems zur Umwelt Syntaktische Regeln Enthält nur einen Prozess Repräsentiert das Gesamtsystem Erhält Nummer 0 Enthält mindestens eine Schnittstelle Zwischen Schnittstellen keine Datenflüsse Enthält keinen Speicher Jede Schnittstelle ist im Allgemeinen nur einmal vorhanden Ausnahme: Übersichtlichkeit 0 A D1 D2 A D1 D2 A 18

Das Kontextdiagramm Semantische Regeln Beschreibt Anwendungsbereich des Systems Zeigt Datenflüsse über die Systemgrenzen Kann es von derselben Schnittstelle mehrere Instanzen geben, wird sie einmal dargestellt Gibt es wenige gleichartige Schnittstellen mit unterschiedlichen Datenflüssen, dann getrennte Darstellung Schnittstelle muss ursprüngliche Quelle oder Senke einer Information angeben Wahl einer Schnittstelle abstrahiert von der konkreten Eingabe oder Ausgabe Tastatur und Drucker im Allgemeinen keine Schnittstelle 19

Firmenbuchungsdaten Anfragedaten Zahlungsverzüge Mitteilungsschreiben Rechnungskopien Rechnung Das Kontextdiagramm Beispiel»Seminarorganisation«Firma Kunde Dozent 0 verwalte Seminare und Kunden Durchführungsbestätigung Veranstaltungsbetreuer Kundensachbearbeiter Buchhaltung Seminarsachbearbeiter 20

Das Kontextdiagramm Abstraktion Eingabe Ausgabe Datenflüsse auf angemessenem Abstraktionsniveau beschreiben Zu detailliert: unübersichtlich, überladen Zu abstrakt: nichtssagend Richtschnur Anhand des Kontextdiagramms müssen für einen Außenstehenden die wesentlichen Informationen über die Umwelt erkennbar sein Namensgebung muss problembezogen sein Alle Datenflüsse auf demselben Abstraktionsniveau Kunde 0 21

Das Kontextdiagramm Beispiel»Animation eines Roboter«Grafikbildschirm Bediener des Roboters Kommandos 0 Roboter animieren Robotersteuerung Da die Animation im Mittelpunkt steht, ist Grafikbildschirm eine eigene Schnittstelle Modelliert man auch die Ansteuerung eines Roboters, kommt die Schnittstelle Robotersteuerung hinzu 22

Verfeinerte Datenflussdiagramme Verfeinerte Datenflussdiagramme Prozess 0 im Kontextdiagramm wird in Teilprozesse gegliedert funktionale Dekomposition Darstellung erfolgt im Diagramm 0 Jeder Prozess wird fortlaufend numeriert Es werden Speicher eingefügt Ist die Ermittlung der Anzahl und Struktur der Speicher schwierig, sollte zunächst ein ER-Modell erstellt werden Evtl. die im ER-Modell gefundenen Speicher für die Darstellung im SA-Modell komprimiert als Datenbasis darstellen 23

Verfeinerte Datenflussdiagramme DFD 0: Beispiel»Seminarorganisation«4 verwalte Kunden Anfragen Mitteilungsschreiben 5 verwalte Firmen Anfragen 1 verwalte Dozente n Dozentendaten Datenbasis Seminare und Kunden Rechnungsdatensätze 6 lese Rechnungsdaten 3 Zahlungsverzüge eintragen 2 verwalte Seminare 24

Verfeinerte Datenflussdiagramme Regeln für DFDs Schnittstellen können nicht verfeinert werden Speicher können nicht verfeinert werden Speicher können aber auf allen Verfeinerungen unverändert wiederholt werden Anzahl der Prozesse auf einem Diagramm soll nicht größer als sieben sein Abstraktionsniveau der Prozesse und Datenflüsse sollte gleich sein 25

Verfeinerte Datenflussdiagramme Regeln für DFDs Prozesse werden von 1 beginnend fortlaufend nummeriert Vor jeder Zahl steht ein Punkt:.1,.2,.3 Jedes Diagramm trägt die Nummer, die seine Stellung in der Hierarchie angibt DFD 4.3 Verfeinerung des Prozesses 3 des DFDs 4 Zur eindeutigen Kennzeichnung wird vor jeden Prozess die DFD-Nummer gesetzt Prozess 4.3.1 1. Prozess im Diagramm 4.3 Die Nummernsystematik wird im Allgemeinen vom eingesetzten CASE-Werkzeug verwaltet 26

Verfeinerte Datenflussdiagramme DFD 2: verwalte Seminare Seminardatentypen.1 erfasse, ändere, lösche Seminartypen.3 storniere bzw. bestätige Seminarveranstaltungen VeranstaltungsNr.2 erfasse, ändere, lösche Seminarveranstaltungen Datenbasis Seminare und Kunden.4 erstelle Teilnehmerliste Seminaranfragedaten Seminarauskünfte.6 beantworte Seminaranfragen.5 erstelle Urkunde 27

Verfeinerte Datenflussdiagramme DFD 4: Verwalte Kunden Rechnungsdatensätze Personaldaten.1 erfasse ändere lösche Kunden Rechnungsdaten.3 buche Veranstaltungen Datenbasis Seminare und Kunden.2 erfasse ändere lösche Firmen Auskünfte.4 beantworte Fragen 28

Anmeldedaten Mitteilung ausgebucht. Verfeinerte Datenflussdiagramme DFD 4.3: buche Veranstaltungen VeranstaltungsNr erste Rechnungsdaten Zahlungsverzüge.1 Erfasse Anmeldungen Mitteilung Seminar storniert Bestätigung am Rechnung am Anmeldedatum VeranstaltungsNr Teilnehmer max. Teilnehmer aktuell Datenbasis Seminare und Kunden Stornierungsdaten.3 verwalte Stornierungen stornierte Rechnung.2 Erfasse Abmeldungen korrigierte Rechnungsdaten Rechnungsdatensätze 29

Verfeinerte Datenflussdiagramme DFD 0: Roboteranimation 1 Dialog steuern KommandoNr 2 Roboter steuern Steuerungsbefehle 3 Animation erzeugen Hinweise Winkel 4 berechne Grundstell ung 5 berechne Schulterbeugung Unterarmwinkel 6 berechne Ellenbogen beugung Grundstellungsdaten Schulterdaten Oberarmdaten Ellenbogendaten Unterarmdaten 30

DD-Einträge und Datenintegrität Verfeinerung der Daten Parallel zur Verfeinerung der DFDs und der Prozesse werden auch die Daten verfeinert Jeder Datenflusspfeil erhält einen Datenflussnamen Ausnahme: Datenfluss geht zum oder kommt vom Speicher und greift auf den gesamten Inhalt zu Jeder Datenflussname ist im Data Dictionary definiert Jeder Speicher trägt einen Namen Jeder Speichername ist im Data Dictionary definiert 31

DD-Einträge und Datenintegrität Beispiel»Seminarorganisation«Beim Übergang vom Kontextdiagramm auf DFD 0 wurden keine Datenflüsse verfeinert Es wurden neue Datenflüsse zwischen Speichern und Prozessen eingefügt In DFD 4 wurden Datenflüsse verfeinert; dies muss im Data Dictionary festgehalten werden Anfragedaten = Personaldaten + (Firmendaten) Buchungsdaten = Anmeldedaten + (Abmeldedaten) Sind die Datenflussnamen in mehreren DFDs identisch, dann handelt es sich um die selben Datenflüsse 32

DD-Einträge und Datenintegrität Beim Übergang von DFD 4 auf DFD 4.3 ergeben sich folgende DD-Einträge Rechnung = [ erste Rechnung korrigierte Rechnung stornierte Rechnung] Rechnungsdaten = [ erste Rechnungsdaten korrigierte Rechnungsdaten stornierte Rechnungsdaten ] Mitteilungsschreiben = [ Mitteilung Ausgebucht Mitteilung falsche Veranstaltung Mitteilung Zahlungsverzug Anmeldebestätigung Abmeldebestätigung Mitteilung Seminar storniert] + (Scheckgutschrift) 33

DD-Einträge und Datenintegrität Anmeldedaten = PersonalNr + VeranstaltungsNr + Anmeldedatum Abmeldedaten = PersonalNr + VeranstaltungsNr + Abmeldedatum Anmeldung = Bestätigung am + Rechnung am + Anmeldedatum + VeranstaltungsNr + Teilnehmer max + Teilnehmer aktuell + Zahlungsverzüge Abmeldung = Vom + Anmeldedatum + Abmeldedatum + Teilnehmer aktuell + VeranstaltungsNr + korrigierte Rechnung am 34

DD-Einträge und Datenintegrität balancing (Konsistenzbedingung) Alle Datenflüsse des untergeordneten DFDs müssen entweder Im übergeordneten DFD unter gleichem Namen erscheinen oder Teilkomponente eines Datenflusses sein und damit im DD beschrieben werden Ist diese Eigenschaft zwischen allen Diagrammen erfüllt, spricht man von einem ausbalancierten Datenmodell (balancing) Alle Datenflussdiagramme müssen innerhalb der Hierarchie ineinander substituierbar sein Es gibt keinen Schutzmechanismus, d.h. Namen müssen global eindeutig sein 35

DD-Einträge und Datenintegrität Darstellungsmöglichkeiten von Datenflüssen A A A fließt in Pfeilrichtung Der gesamte Inhalt von A fließt in beide Zweige A C B A teilt sich in die Komponenten B und C (weitere Komponenten enthält A nicht, d.h. A = B + C) A A B C A entsteht aus den Komponenten B und C (weitere Komponenten enthält A nicht, d.h. A = B + C) A fließt in beide Richtungen (z.b. von bzw. zu einem Speicher) X,Y,Z X, Y, Z fließen getrennt in Pfeilrichtung Kurzform für: X Y Z 36

DD-Einträge und Datenintegrität Beispiel: substituierte SA-Hierarchie A a1 1 2 C C a2 x 3.1 y a3 Speicher b2 B Ebene 0 3 i2 3.3 i1 a4 3.2 4 b1 Ebene 1 Ebene 2 37

Mini-Spezifikationen Jeder Prozess, der nicht weiter verfeinert wird, muss durch eine MiniSpec beschrieben werden Jede MiniSpec muss beschreiben, wie die Eingaben in die Ausgaben transformiert werden Eine MiniSpec darf keine Implementierungsvorschriften enthalten MiniSpecs können als Pseudocode, Entscheidungstabelle oder Entscheidungsbäume abgefaßt sein 38

Mini-Spezifikationen Beispiel Stornierungsdaten Mitteilung Seminar storniert.3 verwalte Stornierungen stornierte Rechnungsdaten stornierte Rechnung Scheckgutschrift MiniSpec von Prozess 4.3.3 der»seminarorganisation«stornierungsdaten aus der Datenbank lesen An alle Teilnehmer die Mitteilung Seminar storniert /F110/ versenden if Teilnehmer hat Rechnung bereits gezahlt then stornierte Rechnung und Scheckgutschrift mitversenden end if stornierte Rechnungsdaten in Speicher Rechnungsdatensätze eintragen 39

Methodik 1. Festlegung der Schnittstellen zur Umwelt 2. Identifizierung aller Eingabe- und Ausgabedatenflüsse von den Schnittstellen zum Prozess 0; vorläufige Datenflussnamen wählen 3. Prozesse und Funktionen ermitteln, die Eingaben in Ausgaben transformieren; vorläufige Prozessnamen wählen 4. Anzahl und Art der Speicher ermitteln, evtl. ER-Modell erstellen 5. Verfeinern der ermittelten Datenflüsse und Zuordnung zu Prozessen und Speichern 6. Definition der Datenflüsse und Speicher im DD 40

Methodik 7. Überarbeiten des Modells Initialisierung und Terminierung ignorieren, Kontrollflüsse entfernen, triviale Fehlermeldungen weglassen, sorgfältige und eindeutige Namenswahl der Datenflüsse Eindeutige Beschriftung aller Prozesse (Der Prozessname soll alle Aktionen des Prozesses erfassen) Evtl. neue Strukturierung des Systems 8. Ausgehend von der konsolidierten Modellierung des Kontextdiagramms und des Diagramms 0 schrittweise Erarbeitung weiterer Ebenen 9. MiniSpecs für alle nicht weiter verfeinerten Prozesse erstellen 10.Verfeinerung beenden, wenn jeder Prozess überschaubar ist; nicht unnötig tief verfeinern! 41

Methodik Hinweise Kontextdiagramm und Diagramm 0 können zunächst als ein Diagramm entwickelt werden Erst zum Schluss wird aus diesem Diagramm das Kontextdiagramm abstrahiert Kontextdiagramm und Diagramm 0 sind die entscheidenden Diagramme Sie sollten zunächst interaktiv ohne CASE-Werkzeug im Team entwickelt werden Bei umfangreichen Problemen zwei getrennte Teams einsetzen und die Ergebnisse diskutieren 42

Wertung Vorteile Geschickte Kombination bewährter Basistechniken Durch hierarchisch gegliederte DFDs Verbesserung der Übersichtlichkeit Viele analytische QS-Möglichkeiten durch Quervergleiche der in den Basistechniken beschriebenen Aspekte Leicht erlernbar Erlaubt eine top-down-einarbeitung in ein System Guter Zusammenhang zu ER-Modellen über Speicher herstellbar 43

Wertung Nachteile Schnittstellen können nicht verfeinert werden Bei umfangreichen Schnittstellen gibt es dann Darstellungsprobleme Speicher können nicht verfeinert werden Ausweg: Globale Datenbasis verwenden, Verfeinerung durch ein ER-Modell beschreiben Es entsteht ein Strukturbruch, wenn ein SA-Modell in einen datenabstraktionsorientierten Entwurf (sogenanntes Modular Design) transformiert werden soll 44

Einsatz von CASE-Werkzeugen Beispiel: Innovator 45

SA im Überblick Drei Konzepte Hierarchisch angeordnete DFDs Data Dictionary-Einträge (DDs) Mini-Spezifikationen (MiniSpecs) Kontextdiagramm = oberstes DFD Beschreibt die Umwelt des Systems Regeln: Genau ein Prozess, mindestens eine Schnittstelle, kein Speicher S1 D 1E P 0 D 2E Eingabedatenfluss S2 D 1A D 2A Ausgabedatenfluss Schnittstelle zur Umwelt Datenflussname Prozess, repräsentiert das Gesamtsystem, gekennzeichnet durch 0 46

SA im Überblick DFD 0 = Verfeinerung des Kontextdiagramms D 1E1 P 1.1 D 2E1 DP12 D 2E2 P 2.2 D 1E2 DD: D 1E = D 1E1 + D 1E2 D 2E = (D 2E1 ) D 2E2 D 1A Speicher 1 D 2A Regeln Prozess 0 wird in Teilprozesse (hier: P1 und P2) zerlegt Datenflüsse werden ebenfalls verfeinert (hier: D1E und D2E) Speicher werden eingeführt (hier: Speicher 1) Neue Datenflüsse zwischen Prozessen und zwischen Prozessen und Speichern werden eingetragen Schnittstellen und Speicher können nicht verfeinert werden, dürfen aber auf tieferen Diagrammen wiederholt werden 47

SA im Überblick DFD1, DFD2, DFD 1.1, DFD 2.n Jeder Prozess kann weiter zu einem neuen Diagramm verfeinert werden Anzahl der Prozesse pro Diagramm kleiner als sieben Ist ein Prozess ausreichend verstanden, dann erfolgt keine weitere Verfeinerung, sondern eine Beschreibung durch eine MiniSpec 48

SA im Überblick DD-Eintrag und Datenintegrität (balancing) Jeden Datenfluss und Speicher im DD definieren Zusammenhang zwischen Datenflüssen der einzelnen DFDs über das DD herstellen Alle Datenflüsse eines untergeordneten DFDs müssen im übergeordneten DFD mit gleichem Namen (hier: D1A, D2A) erscheinen oder Teilkomponenten eines Datenflusses sein (hier: D1E = D1E1 + D1E2, D2E = ( D2E1) + D2E2) Gilt dies für alle DFDs, dann liegt Datenintegrität vor (balancing) MiniSpec = beschreibt einen nicht weiter verfeinerten Prozess MiniSpec beschreibt, wie die Eingabedatenflüsse eines Prozesses in die Ausgabedatenflüsse transformiert werden Beschreibung erfolgt durch Pseudocode, ET oder Entscheidungsbäume 49