- Lehrstuhl für Betriebliche Informationssysteme

Transcription

- Lehrstuhl für Betriebliche Informationssysteme
Institut für Informatik
Betriebliche Informationssysteme
Vorlesung Softwaretechnik
- Strukturierte Analyse / Real Time Analysis Prof. Dr.-Ing. habil. Klaus-Peter Fähnrich
Wintersemester 2009/2010
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite
1 1
SWT – SA/RT
Überblick LE 14
Institut für Informatik
Betriebliche Informationssysteme
LE 14: Strukturierte Analyse
•
•
•
•
•
•
•
•
Das Hierarchiekonzept
Das Kontextdiagramm
Verfeinerte
e e e te DFD
Data Dictionary -Einträge und Datenintegrität
Mini-Spezifikation
M th dik
Methodik
Qualitätssicherung
Wertung
LE 15: Strukturierte Analyse/Real Time Analysis
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 2
SWT – SA/RT
Lernziele
Institut für Informatik
Betriebliche Informationssysteme
1.
2.
3
3.
4.
Vor- und Nachteile der strukturierten Analyse
Basiskonzepte und ihre Kombination in SA
Zusammenhang zu ER-Modellen
ER Modellen und Funktionsbäumen
Erstellen eines vollständigen SA-Modell für eine gegebene
Problemstellung
5 Einzuhaltende Regeln und methodische Schritte bei der
5.
Erstellung eines SA-Modells
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 3
SWT – SA/RT
Definition
Institut für Informatik
Betriebliche Informationssysteme
• Die Strukturierte Analyse (SA) :
 Beschreibt eine Methodenklasse
 Wichtige
c t ge SA-Varianten:
S
a a te
°
°
°
°
Weinberg 1978: »Structured Analysis«
Gane/Sarson 1979: »Structured Systems Analysis«
McMenamin/Palmer 1984: »Essential Systems Analysis«
Yourdon 1989: »Modern Structured Analysis«
 SA ist Stand der Technik und Industriestandard
 SA nach DeMarco wird hier vorgestellt.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 4
SWT – SA/RT
Kombination von Basiskonzepten SA
Institut für Informatik
Betriebliche Informationssysteme
SA SA
(1979)
ET ((Entscheidungsg
tabelle)
Entscheidungsbäume
Funktionsu to s
baum
Datenflussate uss
diagramm
Data
ata
Dictionary
Funktionale
Hierarchie
Informationsfluss
Datenstrukturen
Legende:
A
A
Pseudo-Code
Kontrollstrukturen
B: A ist in B enthalten
B: A ist implizit in B enthalten
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 5
SWT – SA/RT
Aufbau
Institut für Informatik
Betriebliche Informationssysteme
• Hierarchisierung zur Steigerung der Übersichtlichkeit
• Datenflussdiagramme (DFD) werden hierarchisch verfeinert
• Kontextdiagramm steht als abstraktes DFD in der obersten
Hierarchieebene.
• Jeder Prozess wird in untergeordneten Diagrammen verfeinert.
• Ist keine Verfeinerung mehr möglich, wird eine textuelle
Mini-Spezifikation erstellt.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 6
SWT – SA/RT
Hierarchiekonzept
Institut für Informatik
Betriebliche Informationssysteme
• Kontextdiagramm
• Diagramm
ag a
0
• Diagramm 3
• MiniSpec 3.1
31
Prof. K.-P. Fähnrich (nach Balzert)
DD :
A = a 1 + (a 2 )
B = [b 1 | b 2 ]
a2 = x + y
Vorlesung: 9
Seite 7
SWT – SA/RT
Kontextdiagramm - Syntaxregeln
Institut für Informatik
Betriebliche Informationssysteme
• Beschreibt die Schnittstellen des Systems zur Umwelt
• Es nimmt im SA-Modell eine Sonderstellung ein, was Syntax und
S
Semantik
tik b
betrifft:
t ifft
 Enthält nur einen Prozess, der die Nummer 0 enthält 0.
und das Gesamtsystem repräsentiert .




Enthält mindestens eine Schnittstelle.
Zwischen den Schnittstellen gibt es keine Datenflüsse.
Enthält keinen Speicher.
Jede Schnittstelle ist i. A. nur einmal vorhanden
° Ausnahme:
A
h
Übersichtlichkeit
Üb
i htli hk it
D1
A
A
Prof. K.-P. Fähnrich (nach Balzert)
D2
D1
D2
Vorlesung: 9
Seite 8
SWT – SA/RT
Kontextdiagramm - semantische Regeln
Institut für Informatik
Betriebliche Informationssysteme
• Beschreibt Anwendungsbereich des zu modellierenden Systems
(problem domain).
• Zeigt Datenflüsse, die Systemgrenzen passieren.
• Ist die Zusammenfassung von Diagramm 0. (siehe Folie 7)
• 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
I f
Information
ti
angeben
b
• Wahl einer Schnittstelle abstrahiert von der konkreten Eingabe
oder Ausgabe.
 d.
d h.
h Tastatur
T t t und
dD
Drucker
k i.
i A.
A keine
k i
Schnittstelle.
S h itt t ll
D1E
S1
D1A
Schnitt stelle z ur
U
Umw
elt
l
P
0.
D 2E Eingabedatenfluss
S2
D 2 A Ausgabedatenfluss
Dat enfluss- Prozess, rep räsen tiert das
name
G
Gesam
tsystem, gekenn
k
zeichet
i h du
d rch
h 0.
0
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 9
SWT – SA/RT
Beispiel Kontextdiagramm
Institut für Informatik
Betriebliche Informationssysteme
Firma
Kundensachbearbeiter
Dozent
Anfrage
edaten
Firmenb
buchungsdaten
Mitteilungsschreib
ben
Rechnung
en
Urkunde
Kunde
Verwalte
Seminare
und Kunden
0.
Durchführungsbestätigung
Veranstaltungsbetreuer
Seminar
Sachbearbeiter
Kontextdiagramm der
Seminarorganisation
Prof. K.-P. Fähnrich (nach Balzert)
Buchhaltung
Vorlesung: 9
Seite 10
SWT – SA/RT
Abstraktion
•
•
•
•
•
Institut für Informatik
Betriebliche Informationssysteme
Datenflüsse auf angemessenem Abstraktionsniveau beschreiben
Zu detailliert: Dann unübersichtlich, überladen
Zu abstrakt: Dann nichtssagend
Richtschnur:
 Anhand des Kontextdiagramms müssen für einen Außenstehenden
die wesentlichen Informationen über die Umwelt erkennbar sein.
sein
 Namensgebung muss problembezogen sein.
 Alle Datenflüsse auf demselben Abstraktionsniveau.
Beispiel »Animation eines Roboter«:
 Da die Animation im Mittelpunkt steht, ist Grafikbildschirm eine
eigene Schnittstelle.
 Modelliert man auch die Ansteuerung eines Roboters,
Roboters kommt die
Schnittstelle Robotersteuerung hinzu.
Bediener des
Roboters
Kommandos
Roboter
Animieren
0.
Grafikbildschirm
Robotersteuerung
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 11
SWT – SA/RT
DFD 0 = Verfeinerung des Kontextdiagramms
Institut für Informatik
Betriebliche Informationssysteme
• 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).
D2E1
D1E1
P1
.1
D1A
D2E2
DP12
Speicher 1
Prof. K.-P. Fähnrich (nach Balzert)
D1E2
P2
.2
DD:
D1E = D1E1 + D1E2
D2E = (D2E1) + D2E2
D2A
Vorlesung: 9
Seite 12
SWT – SA/RT
DFD: Eigenschaften und Regeln
Institut für Informatik
Betriebliche Informationssysteme
Verfeinerte DFD‘s




Prozess 0 im Kontextdiagramm wird in Teilprozesse gegliedert
Darstellung erfolgt im Diagramm 0 (DFD 0).
Jeder Prozess wird fortlaufend nummeriert
nummeriert.
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.
Regeln für DFDs








Schnittstellen können nicht verfeinert werden.
Speicher können nicht verfeinert werden.
Speicher und Schnittstellen können aber auf allen Verfeinerungen unverändert
wiederholt werden.
A
Anzahl
hl der
d P
Prozesse auff einem
i
Diagramm
Di
soll
ll nicht
i ht größer
öß als
l 7 sein.
i
Abstraktionsniveau der Prozesse und Datenflüsse sollte gleich sein.
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 DFD 4

Zur eindeutigen Kennzeichnung wird vor jeden Prozess die DFD-Nummer gesetzt
° Prozess
P
4.3.1:
4 3 1 1.
1 Prozess
P
im
i Diagramm
Di
4.3
43

Die Nummernsystematik wird i. A. vom eingesetzten CASE-Werkzeug verwaltet.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 13
SWT – SA/RT
DFD 0: Verwalte Seminare und Kunden der
Seminarorganisation
Auskünfte
Firmenbuchungsdaten
Mitteilungsschreiben
Rechnung
Auskünfte
Buchungsdaten
Mitteilungsschreiben
Rechnung
Institut für Informatik
Betriebliche Informationssysteme
.5
Verwalte
Firmen
Anfragedaten
Anfragen
Infos an
Dozenten
Dozentendaten
.1
Verwalte
Dozenten
.4
Verwalte
Kunden
Rechnungsdatensätze
.6
Lese
Rechnungsd
daten
Prof. K.-P. Fähnrich (nach Balzert)
DFD 2
Datenbasis
Seminare und Kunden
.3
ZahlungsVerzüge
einzahlen
hl
.2
Verwalte
Seminare
Urkunden
Teilnehmerliste
Seminaranfragen
Seminardaten
Seminarauskünfte
Vorlesung: 9
Seite 14
SWT – SA/RT
DFD 2: Verwalte Seminare in der Seminarorganisation
Sem i n artyp d aten
.1
erfas se
än d ere
lö sc h e
Se min arty p en
.2
er fas se,,
än d e re, lö s ch e
Sem in ar veran s tal tu n g en
Sem in ar an fr ag ed aten
Se min arau s kü n f te
Institut für Informatik
Betriebliche Informationssysteme
.3
sto rn iere
b z w. b e stätig e
Sem in ar verver
an staltu n g en
.4
er stel le
Tei ln ehm erl is te
Da tenb a sis
Sem inare u nd K u n d en
.6
b ean tw o r te
Sem in aran fr ag en
Prof. K.-P. Fähnrich (nach Balzert)
Ve ran staltun g s Nr
.5
ers telle
Urk u nd e n
Vorlesung: 9
Seite 15
SWT – SA/RT
Data Dictionary-Einträge und Datenintegrität I
Institut für Informatik
Betriebliche Informationssysteme
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.
definiert
 Jeder Speicher trägt einen Namen.
 Jeder Speichername ist im Data Dictionary definiert.
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 (Verwalte Kunden) wurden Datenflüsse verfeinert, dies muss im
Data Dictionary festgehalten werden:
A f
Anfragedaten
d t
= P
Personaldaten
ld t
+ (Firmendaten)
(Fi
d t )
Buchungsdaten = Anmeldedaten + Abmeldedaten
 Sind die Datenflussnamen in mehreren DFDs identisch, dann handelt es
sich um die gleichen Datenflüsse.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 16
SWT – SA/RT
Data Dictionary-Einträge und Datenintegrität II
•
•
•
Institut für Informatik
Betriebliche Informationssysteme
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).
(balancing)
Vorteile ausbalancierter Datenmodelle:
 Einarbeitung in das System wird erleichtert, da nach dem
Kontextdiagramm keine neuen Datenflüsse hinzukommen.
 Stellt man auf tieferer Ebene einen fehlenden Datenfluss fest, dann kann
er neu eingezeichnet werden.
° Kann man den neuen Datenfluss als Teil eines bestehenden identifizieren,
braucht nur der DD-Eintrag ergänzt zu werden.
° Ist dies aus fachlicher Sicht nicht sinnvoll, dann muss auf allen übergeordneten
Diagrammen der neue Datenfluss nachträglich eingezeichnet werden.
•
SA-Hierarchiekonzept ist ein Makromechanismus
 Alle Datenflussdiagramme müssen innerhalb der Hierarchie ineinander
substituierbar sein (durch balancing sichergestellt).
 Es gibt keinen Schutzmechanismus
° Namen müssen global eindeutig sein.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 17
SWT – SA/RT
Darstellungsmöglichkeiten von Datenflüssen
Symbolik
A
Institut für Informatik
Betriebliche Informationssysteme
Erklärung
A fließt von links nach rechts
A
A wird in beide Zweige kopiert
B
A
C
A
B
C
A
X YZ
X,Y,Z
Kurzform für:
X
Y
Z
A teilt sich in die Komponenten B und C.
Impliziert, dass A keine weiteren Komponenten hat.
DD: A=B+C
A entsteht aus den Komponenten B und C.
Impliziert, dass A keine weiteren Komponenten hat.
DD: A=B+C
A fließt beide Wege entlang des Pfeils (meistens bei schreibendem
und lesendem Speicherzugriff)
X, Y und
X
d Z fli
fließen
ß
getrennt
t
t entlang
tl
d
des Pf
Pfeils
il ((von Werkzeugen
W k
i.A. nicht unterstützt)
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 18
SWT – SA/RT
Substituierte Hierarchie
Institut für Informatik
Betriebliche Informationssysteme
A
C
1
a1
C
2
a2
a3
x
y
3.1
3
i2
i1
3.3
Ebene 0
Eb
Ebene 1
b2
B
Speicher
b1
3.2
4
a4
Ebene 2
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 19
SWT – SA/RT
Mini-Spezifikationen
•
Institut für Informatik
Betriebliche Informationssysteme
•
•
Jeder Prozess, der nicht weiter verfeinert wird, muss durch eine MiniSpec
beschrieben werden.
p muss beschreiben,, wie die Eingaben
g
in die Ausgaben
g
Jede MiniSpec
transformiert werden.
Eine MiniSpec darf keine Implementierungsvorschriften enthalten.
MiniSpecs können Pseudocode, ET oder Entscheidungsbäume sein.
•
Beispiel: MiniSpec von Prozess 4.3.3 der »Seminarorganisation«
•
Stornierungsdaten
Mitt il
Mitteilung
S
Seminar
i
storniert
t
i t
.3
verwalte
Stornierungen
stornierte Rechnungsdaten
stornierte Rechnung
Scheckgutschrift
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
eintragen.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 20
SWT – SA/RT
Methodik
Institut für Informatik
Betriebliche Informationssysteme
Schnittstellen
1. Festlegung der Schnittstellen zur Umwelt.
2. Identifizierung aller Eingabe- und
Ausgabedatenflüsse von den Schnittstellen zum
Prozess 0.
0 Vorläufige Datenflussnamen wählen.
wählen
Datenflüsse
a
3. Prozesse und Funktionen ermitteln, die Eingaben
in Ausgaben transformieren
transformieren. Vorläufige
Prozessnamen wählen!
Aufteilung
in Prozesse
4 Anzahl und Art der Speicher ermitteln,
4.
ermitteln evtl.
evtl ER
ERModell erstellen
Speicher,
u.U.ER-Modell
U ER M d ll
5 Verfeinern der ermittelten Datenflüsse und
5.
b
1
2
3
Datenflüsse
verfeinern
6. Zuordnung zu Prozessen und speichern der
Datenflüsse und Speicher im DD
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 21
SWT – SA/RT
Methodik
Institut für Informatik
Betriebliche Informationssysteme
7. Überarbeiten des Modells. Dabei ist zu beachten:
 Initialisierung und Terminierung ignorieren
 Kontrollflüsse entfernen
 Triviale Fehlermeldungen weglassen
 Sorgfältige und eindeutige Namenswahl der Datenflüsse.
Evtl. neue Strukturierung des Systems
 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
9.
fü alle nicht weiter
eite verfeinerten
e feine ten Prozesse
P o esse erstellen
e stellen
10.Verfeinerung beenden, wenn jeder Prozess überschaubar ist. Nicht
unnötig tief verfeinern!
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 22
SWT – SA/RT
Hinweise zur Methodik
Institut für Informatik
Betriebliche Informationssysteme
• 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.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 23
SWT – SA/RT
Qualitätssicherung
Institut für Informatik
Betriebliche Informationssysteme
• Vielfältige Analysen zur Qualitätssicherung können durchgeführt
werden.
• Jedes der Basiskonzepte kann separat überprüft werden.
• Syntax
S t
wird
i d durch
d
h CASE-Werkzeuge
CASE W k
geprüft.
üft
• Semantik kann mit einer Checkliste überprüft werden.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 24
SWT – SA/RT
Bewertung der Strukturierten Analyse
Institut für Informatik
Betriebliche Informationssysteme
• Vorteile
 Geschickte Kombination bewährter Basiskonzepte
 Durch
D ch hierarchisch
hie a chisch gegliede
gegliederte
te DFD Verbesserung
Ve besse ng der
de
Übersichtlichkeit
 Viele analytische QS-Möglichkeiten durch Quervergleiche der in
den Basiskonzepten beschriebenen Aspekte
 Leicht erlernbar
 Erlaubt eine top-down-Einarbeitung in ein System
 Guter Zusammenhang zu ER-Modellen
ER Modellen über Speicher herstellbar.
herstellbar
• Nachteile
 Schnittstellen
S h itt t ll
können
kö
nicht
i ht verfeinert
f i
t werden
d
° Bei umfangreichen Schnittstellen gibt es dann Darstellungsprobleme
 Speicher können nicht verfeinert werden
° A
Ausweg: Globale
Gl b l D
Datenbasis
b i verwenden,
d
V
Verfeinerung
f i
durch
d
h ein
i ERER
Modell beschreiben
 Es entsteht ein Strukturbruch, wenn ein SA-Modell in einen
datenabstraktionsorientierten Entwurf transformiert werden soll.
soll
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 25
SWT – SA/RT
Zusammenfassung
Institut für Informatik
Betriebliche Informationssysteme
Die Strukturierte Analyse (SA, structured analysis) besteht aus
einem Hierarchiemodell, das die einzelnen DFD als Baum
anordnet.
d t W
Wurzell des
d Baumes
B
ist
i t das
d Kontextdiagramm.
K t tdi
Blätt
Blätter
des Baumes sind DFD, die nicht weiter verfeinert werden können.
Prozesse dieser DFD werden durch Mini-Spezifikationen
(MiniSpecs) beschrieben. Innerhalb eines SA-Modells, d. h. von
der Baumwurzel bis zu den Baumblättern, muss die
Datenintegrität
g
((balancing)
g) sichergestellt
g
sein,, d. h.,, die DFD
müssen zwischen Kind- und Elterndiagramm ausbalanciert sein.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 26
SWT – SA/RT
Literatur
Institut für Informatik
Betriebliche Informationssysteme
• Balzert H., Lehrbuch der Softwaretechnik, 2. Auflage, Spektrum
Akademischer Verlag,Heidelberg, 2000.
• DeMarco T. Structured Analysis and System Specification,
Yourdon Press, Englewood Cliffs, 1978
• Gane C., Sarson T., Stuctured Systems Analysis: Tools and
Techniques,
q
, Prentice-Hall,, Englewood
g
Cliffs,, 1979
• McMenamin S. M., Palemer J. F., Essential Systems Analysis,
Yourdon Press,
Press Englewood Cliffs,
Cliffs 1984
• Weinberg V., Structured Analysis, Yourdon Press, Englewood
Cliffs 1978
Cliffs,
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 27
SWT – SA/RT
Überblick LE 15
Institut für Informatik
Betriebliche Informationssysteme
LE 14: Strukturierte Analyse
LE 15: Strukturierte Analyse/Real Time Analysis




Vergleich
e g e c SA
S und
u d SA/RT
S /
Datenflüsse vs. Kontrollflüsse
Zeitspezifikation
W t
Wertung
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 28
SWT – SA/RT
SA/RT und seine Basiskonzepte
Institut für Informatik
Betriebliche Informationssysteme
RT
RT
1987
1987
ET (Entscheidungss
du gs
tabelle)
SA
1979
Entscheidungsbäume)
Datenflussfluss
diagramm
Data
Dictionary
ER
(Entity Re
Relationship)
PseudoCode
Zustandsautomaten
Informationsfl
fluss
Datenstrukturen
k
Entitätstypen
& Beziehungen
i h
Kontrollstrukturen
k
Endlicher
Automat
Legende:
A
A
B: A ist in B enthalten
B: A ist implizit in B enthalten
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 29
SWT – SA/RT
Vergleich SA und SA/RT
•
•
•
•
Institut für Informatik
Betriebliche Informationssysteme
Defizite der Strukturierten Analyse
 Strukturierte Analyse verzichtet bewusst auf die Beschreibung der
Initialisierung
g und Terminierung
g eines Systems
y
 Zeitanforderungen können in SA nicht festgelegt werden
Realtime-Analysis erweitert Strukturierte Analyse so, dass ...
 ereignisgesteuerte Systeme mit
 Zeitanforderungen und
 komplexen Prozessaktivierungen
 modelliert werden können.
SA/RT ist
 Industriestandard.
 Erste Werkzeuge waren schon ein Jahr nach Vorstellung der Methode (1987)
verfügbar.
Echtzeitbegriff in SA/RT
 Es ist nur die Festlegung externer Zeitanforderungen möglich
° Diese werden keiner Analyse unterzogen
° Sie werden nur dokumentiert
 Zeitanforderungen
g
müssen keine Echtzeitanforderungen
g
sein
 Prinzipiell können auch kommerzielle Anwendungssysteme modelliert werden.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 30
SWT – SA/RT
Datenflüsse vs. Kontrollflüsse
•
Institut für Informatik
Betriebliche Informationssysteme
Datenflüsse (aus Strukturierter Analyse)
 Werden in den Prozessen verarbeitet bzw. transformiert.
 Werden als durchgezogene Linien dargestellt.
dargestellt
 Elementare Datenflüsse sind meistens kontinuierliche Signale.
 Kontinuierliches Signal kann einen beliebigen Wert innerhalb eines
Wertebereichs annehmen
° Beispiel: 0..250 km/h
•
 Ein Datenfluss kann auch ein diskretes Signal sein, wenn es selbst
verarbeitet wird.
Kontrollflüsse (neu in Realtime Analysis)
 Steuern die Verarbeitung
 Werden als gestrichelte Linien dargestellt
 Sind immer diskrete Signale
° Nehmen eine endliche Anzahl bekannter Werte an
– Beispiel: Druckknopf = [ gedrückt | nicht gedrückt ]
 Werden wie Datenflüsse im DD definiert (aber als Kontrollflüsse
gekennzeichnet)
° DD heißt dann Requirements Dictionary (RD)
 Unterscheidung zwischen Kontroll- und Datenflüssen oft schwierig.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 31
SWT – SA/RT
Flussdiagramm
Institut für Informatik
Betriebliche Informationssysteme
• Flussdiagramm (FD):
 Enthält sowohl Daten- als auch Kontrollflüsse
Beispiel:
Kontrollfluß
Pr ozeß K
1E
S1
D1A
Schnittstelle z ur
Umw elt
Datenflußname
P
0.
K2A Kontrollflußname
K2E
S2
D2E
Datenfl uß
FD0 = Verfeinerung des Kontextdiagramms
K1E
K2E
D 2E1
DP12
P1
P2
.1
.2
D 2E2
Speicher 1
Prof. K.-P. Fähnrich (nach Balzert)
RD:
D2E = D2E1 + D2E2
K1E
K2A
D1A
K2E
K2A
Balk en,,
ver weist auf CSpec
Vorlesung: 9
Seite 32
SWT – SA/RT
RT-Kontextdiagramm – Beispiel: Digitaluhr
Dru ckck
kn op f_2
Dru ckDr
ck
kn op f_1
Batt erie
Prof. K.-P. Fähnrich (nach Balzert)
Institut für Informatik
Betriebliche Informationssysteme
.0
st el le
Uh r
Uhrend isp l ay
Vorlesung: 9
Seite 33
SWT – SA/RT
Flussdiagramm 0 (FD0) Beispiel: Digitaluhr
.3
ak
k tualisiere
t li i
Zeit
.1
1
Zeit
auf 0
stellen
Anzeige
.4
Stunden
blinken
.2
Normalzei t
anz eigen
.5
Stunde
um 1
erhöhen
Zeit
.9
Sek unde
auf 0
stellen
.8
Sek unden
b linken
Prof. K.-P. Fähnrich (nach Balzert)
Institut für Informatik
Betriebliche Informationssysteme
.7
Minuten
um 1
erhöhen
.6
Minuten
blink en
Vorlesung: 9
Seite 34
SWT – SA/RT
Requirements Dictionary
Institut für Informatik
Betriebliche Informationssysteme
• RD (Kontrollflüsse blau) - Beispiel Digitaluhr
Knopf 1
Knopf 2
Start
Anzeige
Blinkende Anzeige
Zeit
aktuelle Stunden
erhoehte Stunden
aktuelle Minuten
erhoehte Minuten
aktuelle Sekunden
Nullsekunde
Stunden
Minuten
Sekunden
blinkende Stunden
blinkende Minuten
blinkende Sekunden
= [gedrückt | nicht gedrückt]
= [gedrückt | nicht gedrückt]
= [Strom vorhanden | Strom nicht vorhanden]
= Stunden + Minuten + Sekunden
= [blinkende Stunden | blinkende Minuten | blinkende Sekunden]
= Stunden + Minuten + Sekunden
= Stunden
= Stunden
= Minuten
= Minuten
= Sekunden
= Sekunden
= 0 .. 23
= 0 .. 59
= 0 .. 59
= 0 .. 23
= 0 .. 59
= 0 .. 59
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 35
SWT – SA/RT
Kontrollspezifikationen
Institut für Informatik
Betriebliche Informationssysteme
• Ermöglicht es über Entscheidungstabellen und/oder
Zustandsautomaten, Prozesse eines Flussdiagramms zu aktivieren
und zu deaktivieren.
deaktivieren
• Jedem Flussdiagramm kann eine Kontrollspezifikation (CSpec)
zugeordnet werden:
 Enthält Entscheidungstabellen und/oder
 Zustandsautomaten
• Zusammenhang zwischen CSpec und Flussdiagramm:
 Wird durch eine Balkennotation (bar) im FD beschrieben
 Kontrollflüsse, die Eingangsgrößen für eine CSpec sind, werden
mit der Pfeilspitze zum Balken gezeichnet
 Kontrollflüsse, die eine CSpec verlassen, führen vom Balken
weg.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 36
SWT – SA/RT
Kontrollspezifikationen – Beispiel: Digitaluhr
Institut für Informatik
Betriebliche Informationssysteme
• Nach Einlegen der Batterie:
 Zeitspeicher soll mit der Zeit 0 initialisiert werden, d.h. zuerst
muss der
d Prozess
P
„Zeit
Z it auff 0 stellen“
t ll “ aktiviert
kti i t werden.
d
• Ist die 0 im Speicher eingetragen, dann kann der Prozess
„Normalzeit anzeigen“ aktiviert werden.
• Wird Knopf 1 gedrückt, erfolgt ein Übergang in der Zustand
„Stunden stellen“
• Die Kontrollspezifikation (CSpec 0) besteht aus einem
Zustandsautomat und einer ET.
ET
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 37
SWT – SA/RT
Zustandsautomat von CSpec 0
Prof. K.-P. Fähnrich (nach Balzert)
Institut für Informatik
Betriebliche Informationssysteme
Vorlesung: 9
Seite 38
SWT – SA/RT
Entscheidungstabelle von CSpec 0
Institut für Informatik
Betriebliche Informationssysteme
• Prozessaktivierungstabelle
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 39
SWT – SA/RT
Zeitspezifikation
•
Institut für Informatik
Betriebliche Informationssysteme
Zeitanforderungen
 Spezifikation von externen Zeitanforderungen
 Beziehen sich auf die Signale der Schnittstellen
 Zwei Arten von Zeitspezifikationen:
° Wiederholungszyklen
– Für externe,
externe elementare Ausgabesignale
– Wiederholungszyklen werden im Requirement Dictionary durch das
Attribut Rate festgelegt
° Eingabe-Ausgabe-Antwortzeiten
– Legen den erlaubten Antwortzeitbereich für jedes Eingabeereignis und das
resultierende Ausgabeereignis fest
•
Regeln für Zeitspezifikationstabelle
 Eingabeereignisse treten außerhalb des Systems ein
 Ausgabeereignisse sind Aktionen, die vom System ausgeführt werden
Ein- und Ausgabeereignisse sind im Requirements Dictionary definiert
 Ein
 Es darf kein Signal oder Wert in der Zeitspezifikationstabelle erscheinen,
das nicht im Requirements Dictionary enthalten ist
 Jedes externe Signal,
Signal das im RD aufgeführt ist,
ist sollte in der
Zeitspezifikationstabelle erscheinen, selbst wenn die Zeit unkritisch ist.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 40
SWT – SA/RT
Zeitspezifikation – Beispiel Digitaluhr
•
Institut für Informatik
Betriebliche Informationssysteme
Wiederholungszyklen
 Für externe, elementare Ausgabesignale
 Wiederholungszyklen werden im Requirements Dictionary durch das
Attribut Rate festgelegt
Stunden
Minuten
Sekunden
= 0..23
= 0..59
= 0
0..59
59
Rate: Alle 100 msec
Rate: Alle 100 msec
Rate: Alle 100 msec
• Eingabe-Ausgabe-Antwortzeiten
 Legen den erlaubten Antwortzeitbereich für jedes Eingabeereignis
und das resultierende Ausgabeereignis fest
 Zeitspezifikationstabelle
Eingabesignal
Ereignis
Ausgabesignal
Ereignis
Antwortzeit
Knopf1
gedrückt blinkende Stunden
Zahl anzeigen
<100 msec
Knopf1
p
gedrückt blinkende Minuten
g
Zahl anzeigen
g
<100 msec
Knopf1
gedrückt blinkende Sekunden
Zahl anzeigen
<100 msec
Knopf2
gedrückt blinkende Stunden
Zahl anzeigen
<200 msec
Knopf2
gedrückt blinkende Minuten
Zahl anzeigen
<200 msec
Knopf2
gedrückt blinkende Sekunden
Zahl anzeigen
<200 msec.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 41
SWT – SA/RT
Bewertung von SA/RT
Institut für Informatik
Betriebliche Informationssysteme
•
Vorteile
 Gut geeignet zur Modellierung ereignisgesteuerter Systeme
 Komplexe Steuerungszusammenhänge können beschrieben werden
 Zur Zeit keine vergleichbare bessere Methode zur Modellierung dieser
Anwendungsklasse verfügbar
 Gute Werkzeugunterstützung
•
Nachteile
 Schwieriger
S h i i
als
l St
Strukturierte
kt i t A
Analyse
l
zu erlernen
l
und
d zu verstehen
t h
 Wird leicht unübersichtlich, da eine CSpec aus mehreren Seiten
bestehen kann.
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 42
SWT – SA/RT
Zusammenfassung
Institut für Informatik
Betriebliche Informationssysteme
Real-Time Analysis (RT) erweitert SA um die Möglichkeit, Prozesse
zu aktivieren und zu deaktivieren. Außerdem können
Zeitspezifikationen beschrieben werden. Um dies zu ermöglichen,
gibt es neben den Datenflüssen auch Kontrollflüsse, die Ereignisse
repräsentieren. DFD werden zu Flussdiagrammen verallgemeinert, die
zusätzlich Kontrollflüsse enthalten können. Die Prozess-Steuerung der
Prozesse die sich auf einem Flussdiagramm befinden
Prozesse,
befinden, erfolgt durch
einen zugeordnete Kontrollflussspezifikation (Cspec). Die in der
Kontrollflussspezifikation verwendeten Ein
Ein- und Ausgabensignale
werden durch eine Balken-Notation (bar) im zugeordneten
Flussdiagramm aufgeführt. Elementare Prozesse werden durch eine
Prozess-Spezifikation (PSpec) beschrieben (anderer Name für MiniSpezifikationen). Alle Flüsse und Speicher werden im Requirements
Dictionary (RD) definiert (anderer Name für Data Dictionary).
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 43
SWT – SA/RT
Literatur
Institut für Informatik
Betriebliche Informationssysteme
• Balzert H., Lehrbuch der Softwaretechnik, 2. Auflage, Spektrum
Akademischer Verlag,Heidelberg, 2000.
• Hatley D. J., Pirbhai I. A. , Strategies for real-time system
specification, Dorset House Publishing, New York, 1987
• Ward P. T., Mellor S. J., Structured Development for Real-Time
y
, Volume 1: Introduction and Tools,, Yourdon Press,, 1985
Systems,
• Ward P. T., Mellor S. J., Structured Development for Real-Time
Systems Volume 2: Essential Modelling Techniques,
Systems,
Techniques Yourdon
Press, 1985
• Wa
Ward
d P.
P T
T., Mello
Mellor S
S. J.,
J Structured
St ct ed Development
De elopment for
fo Real-Time
Real Time
Systems, Volume 3: Implementation Modelling Techniques,
Yourdon Press, 1986
Prof. K.-P. Fähnrich (nach Balzert)
Vorlesung: 9
Seite 44