1 12.01.2010 SA-SA/RT SWT-Übung WS 10/11. 2 Strukturierte Analyse Beinhaltet keine unbekannten...

Post on 06-Apr-2015

108 views 4 download

Transcript of 1 12.01.2010 SA-SA/RT SWT-Übung WS 10/11. 2 Strukturierte Analyse Beinhaltet keine unbekannten...

1

12.01.2010SA-SA/RT

SWT-ÜbungWS 10/11

2

Strukturierte Analyse

• Beinhaltet keine unbekannten Basiskonzepte• Neu: Art und Weise der Verwendung

• Bestandteile:

- Hierarchisch angeordnete DFDs

- Data Dictionary-Einträge

- Mini-Specs (Mini-Spezifikationen)

3

Bestandteile SA

• „Kontextdiagramm“ = oberstes DFD- Beschreibung der Beziehung zur Umwelt- genau 1 Prozess („0.“)- Keine Speicher- Mindestens 1 Schnittstelle

• DFD 0 – Verfeinerung des Kontextdiagrammes- Zerlegung von „0“ in Teilprozesse- Verfeinerung der Datenflüsse- Speicher

• DFD 1, DFD 2, DFD 1.1 ...- Verfeinerung von Prozessen zu

• Weiteren Diagrammen (|Prozesse| < 7) oder• MiniSpecs

4

Strukturierte Analyse

• Data Dictionary-Einträge- Alle Datenflüsse und Speicher- Zusammenhang zwischen Datenflüssen verschiedener

Ebenen- Namen aller Datenflüsse müssen

• Identisch zu 1 Ebene höher oder • Teilkomponenten eines „höheren“ Datenflusses (balancing)

sein.• MiniSpec

- EAV-Beschreibung- Pseudocode, Entscheidungsbaum, -tabelle

5

Entscheidungstabelle

Bedingungen Bedingungskombinationen

Tabellenname Namen der Regeln

Aktionsnamen Aktionszuordnungen

Quelle: Balzert

6

Entscheidungsbaum

Quelle: Balzert

7

Funktionsbaum

• konstruiert aus den hierarchischen DFDs• DFD-Ebenen abgebildet auf FB-Ebenen

8

SA/RT

Strukturierte Analyse, Real Time

• Hierarchische Flussdiagramme (Update: Kontrollflüsse)• Requirements Dictionary-Einträge (RDs, DD plus Kontrollflüsse)• Prozess-Spezifikationen (PSpecs)• Kontrollflußspezifikationen (CSpecs)• Zeitspezifikationen

9

Kontrollflüsse in Flussdiagrammen

• Steuern die Verarbeitung• Meist diskret und nehmen eine Anzahl bekannter Werte an• Dargestellt als gestrichelte Linien, im RD spezifiziert

Druckknopf 1löscheBetrag

Signal_1

Modelliert wird die Steuerung der Verarbeitung von Daten

EC-KarteprüfePIN

PIN

Datenfluß

Modelliert wird die Verarbeitung von Daten

10

CSpecs

• Durch Balkennotation im Flussdiagramm beschrieben

- Kontrollflusseingänge, Kontrollflussausgänge• ET / Zustandsautomaten

- ET:

11

Beispiel

• Modellierung eines Geldwechselautomatens

- Geld rein (100, 50, 20, 10, 5, 2, 1)

- Stückelung bestimmen

- Geld raus

- Abbruch

• Schritt 1: Kontextdiagramm• Schritt 2: Kontrollspezifikation, Flussdiagramm 0• Schritt 3: Requirements Dictionary• Schritt 4: CSpec

12

Beispiel

1. Kontextdiagramm

- Funktion „.0 Geld wechseln“

• Schnittstellen zur Umwelt

• Eingabe- und Ausgabeinformationsgruppen

Schnittstelle Datenfluss KontrollflussEingabeöffnung Geld eingegebenDisplay Betrag DisplayrefreshGeldausgabe Geld geliefert, Geld genommenAbbruchknopf Abbruch gedrücktWechselknopf Wechseln gedrücktBetreiber Anfrage_Stückelung, Stückelung

13

Beispiel

• Kontrollspezifikation

- „Inputschnittstellen“

• Eingabeöffnung

• Geldausgabe

• Wechselknopf

• Abbruchknopf

- „Outputschnittstellen“

• Geldausgabe

• Display

14

Beispiel

Schnittstelle Datenfluss KontrollflussEingabeöffnung Geld eingegebenDisplay Betrag DisplayrefreshGeldausgabe Geld geliefert, Geld genommenAbbruchknopf Abbruch gedrücktWechselknopf Wechseln gedrücktBetreiber Anfrage_Stückelung, Stückelung

Beispieleinträge im RDAbbruch gedrückt [Ja | Nein]Wechseln gedrückt [Ja | Nein]Displayrefresh [Betrag | Stückelung |

Abbruchmeldungen]Geld eingegeben [Ja | Nein]Geldfehler [Ja | Nein]Break [Ja | Nein]Geld geliefert [Ja | Nein]Geld genommen [Ja | Nein]...

15

Beispiel – Flussdiagramm 0

.4Geld

ausgeben

Geld eingegeben

Abbruch gedrückt

Geldgeliefert Geld

genommen

Display-refresh

.1Geld

prüfen

.2Wechselweg

suchenStückelungenStückelungs

-vorschlag

.3VorschlagStückelun

g anzeigen

.5Vorgangabbreche

n

Display-refresh

Wechselngedrückt

BetragsspeicherBetrag

Geld_Fehler

Anfrage

Break

Wechselweg

16

Beispiel

• Requirements Dictionary (Kontroll- und Datenflüsse)

Abbruch gedrückt [Ja | Nein]Wechseln gedrückt [Ja | Nein]Displayrefresh [Betrag | Stückelung | Abbruchmeldungen]Geld eingegeben [Ja | Nein]Geldfehler [Ja | Nein]Break [Ja | Nein]Geld geliefert [Ja | Nein]Geld genommen [Ja | Nein]Anfrage [Betrag]Betrag [100 | 50 | 20 | 10 | 5]Stückelungsvorschlag [(50 + 20 + 20 + 10) | (50 +20 +10 + 10 + 10) |

(50 +10 +10 +10 + 10 + 10) | *Eingabe 100* (20 + 20 + 10) | (20 + 10 + 10 + 10) | *Eingabe 50* (10 + 10) | (10 + 5 + 5) | *Eingabe 20* (5 + 5) | (5 + 2 + 2 + 1) | (5 + 2 + 1 + 1 + 1) | (5 + 1 + 1 + 1 + 1 + 1) | *Eingabe 10* (2 + 2 + 1)|(2 + 1 + 1 + 1)|(1 + 1 + 1 + 1 + 1)] *Eingabe 5*

17

Beispiel - CSpec

Abbruch gedrücktVerarbeitungabbrechen

Time OutVorgang abbrechen

Geldprüfen

Betragermitteln

Geld ist korrektErmittlung vorbereiten

Betrag ermitteltStückelung suchen

Stückelunganzeigen Wechseln gedr.

Ausgabe vorbereiten

Geldausgeben

Vorgangabbrechen

Wartezustand

Start Initialisierung

Geld entnommenAusgabe schließen

Abbruch gedr. Vorgang

abbrechen

Abbruch gedrücktVorgang

abbrechen

Geldzurückgeben

Geld_Fehler Vorgang abbrechen

Geld entnommenFehler anzeigen

Geld_FehlerVorgang

abbrechen

Geld eingegebenPrüfung vorbereiten

18

Zusammenfassung

Strukturierte Analyse, Real Time

• Hierarchische Flussdiagramme (Update: Kontrollflüsse)• Requirements Dictionary-Einträge (RDs, DD plus Kontrollflüsse)• Prozess-Spezifikationen (PSpecs)• Kontrollflußspezifikationen (CSpecs)• Zeitspezifikationen