1 12.01.2010 SA-SA/RT SWT-Übung WS 10/11. 2 Strukturierte Analyse Beinhaltet keine unbekannten...
-
Upload
annaleisa-bogenschutz -
Category
Documents
-
view
108 -
download
4
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