If you can't read please download the document
Upload
trinhkhue
View
217
Download
2
Embed Size (px)
Citation preview
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Teil III
Basiskonzepte
76
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
3.1 Sichten
die gebruchlichen SE-Methoden betrachten Systemaus einer oder mehreren der folgenden Sichten:
Daten Funktionen Dynamik Benutzeroberflche
in den einzelnen Phasen des Software-Lebenszyklus werden eine
Reihe von Basistechniken und Diagrammen verwendet
77
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Sichten
GrafikEditor Regeln Kontroll strukturen
Benutzeroberflche:
PetriNetz Zustandsautomat Kontrollstrukturen
SA/RT
DFD Funktionsbaum
SA
OOA
Data Dictionary JacksonDiagramm
Maskengenerator
KlassenDiagramm
KlassenDiagramm(z.T.)
Aktivittssdiagramm Interaktionsdiagramm
Dynamik:
System
Funktionen:
Daten: ERDiagramm
78
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Zuordnung zu Sichten
Funktionale Sicht: Aspekt: Funktionale Hierarchie
Funktionsbaum
Aspekt: Informationsfluss
Datenflussdiagramm (DFD)
Datenorientierte Sicht: Aspekt: Datenstrukturen
Data Dictionary (DD) Syntaxdiagramm
Aspekt: Beziehungen zwischen Entitten
Entity-Relationship-Diagramm (ER) Klassendiagramm
79
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Zuordnung zu Sichten (Fortsetzung)
Algorithmische Sicht: Kontrollstrukturen
Pseudocode Struktogramm Flussdiagramm
wenn-dann-Beziehungen Regeln Entscheidungstabelle (ET)
Zustandsorientierte Sicht: Zustandsautomat Petri-Netz Interaktionsdiagramm Aktivittsdiagramm
80
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Zuordnung zu Phasen
viele Basistechniken werden in mehreren Phasen verwendet
Entwurf
Definition
Implementierung
Funktionsbaum
Zustandsautomat
Interaktionsdiagramm
Entscheidungstabelle
Regeln
Pseudocode
ERDiagramm
Petrinetz
DFD
Data Dictionary
Klassendiagramm
Struktogramm
Flussdiagramm
81
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
3.2 Funktionsbaum
eine Funktion transformiert Eingaben in Ausgaben (kein Zustand!)
ein Funktionsbaum beschreibt eine Hierarchie (bzgl.
gegenseitiger Verwendung) von Teilfunktionen
Beispiel: verwalte Seminareund Kunden
verwalteKunden
verwalteKundenstamm
verwalteFirmenstamm
beantworteAnfragen
buche Veranstaltungen
erfasseKundenstamm
erfasseFirmenstamm
erfasseAnmeldungen
Kundenstamm FirmenstammerfasseStornieruungen
aktualisiere aktualisiere
82
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
3.3 Datenflussdiagramm (DFD)
graphische Darstellung des Datenflusses
Knoten:
Funktion: beschrifteter Kreis Speicher: von zwei horizontalen Linien eingeschlossener Name Schnittstelle zur Umwelt: beschriftetes Rechteck
(benannte) gerichtete Kanten reprsentieren Datenflsse
Eigenschaften von DFDs
leicht erstellbar
gut lesbar (auch fr Kunden)
83
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Beispiel: Datenflussdiagramm
verwalte
Kundenstamm
daten /F10/
Kundendatei /D10/ Firmendatei /D20/Kunde
Kunden
sach
bearbeiter
beantworte
Anfragen
/F240/
verwalte
Firmenstamm
daten /F15/
Personaldaten
Firmenkurzname
Mitteilungen
Firmnen
kurz
name
Firmen
daten
Anfragen
Ausknfte
84
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Syntaktische Einschrnkungen von DFDs
mindestens eine Schnittstelle
jede Kante beginnt oder endet in Funktion
aus jeder Funktion fhrt mindestens eine Kante heraus
unbenannte Kanten nur zu/von Speicher;
sie transportieren den gesamten Speicherinhalt
85
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Semantische Einschrnkungen
kein Kontrollfluss (keine Entscheidungen, Schleifen),
keine Initialisierung / Terminierung
eine Schnittstelle steht fr eine Folge gleichartiger Ein-/Ausgaben
Schnittstelle gibt ursprngliche Datenquelle/senke an
Bsp.: Kundendaten von Kunden, nicht von Sachbearbeiter
von konkreten E/A-Medien (Drucker, Tastatur) wird abstrahiert
Datenflussname ist Substantiv (mit Adjektiv)
Funktionsname ist Verb mit Objekt
Bsp.: verwalte Kundendaten
mglichst aussagekrftige Namen verwenden
Bsp.: Personalnr. statt Daten
86
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
3.4 Data Dictionary (DD)
Darstellung der Struktur von Daten (z.B. eines Datenflusses) in
(E)BNF (d.h. (Erweiterter) Backus-Naur-Form)
quivalente Darstellung durch Syntaxdiagramme (in SE selten)
geg.: Menge von Terminalen (= Namen atomarer Daten)
und Menge N von Nichtterminalen (= Namen zusammengesetzter Daten)
EBNF-Regel hat die Form: A = E wobei A N, E EBNF-AusdruckEBNF-Ausdruck E hat eine der Formen:
E ::= a mit a atomare DatenE ::= [E1| . . . |En] AlternativeE ::= E1 + E2 ungeordnete Sequenz
E ::= {E1} Wiederholung
wobei Ei EBNF-Ausdruck (i), n 2
87
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Kurzschreibweisen
m{E}n = m bis n-malige Wiederholung von Emit m, n Nat , m n
(E) = 0{E}1
Beispiel:
Kundendatei = {Kundeneintrag}
Kundeneintrag = PersonalNr + Name + Adresse
+ (Geburtsdatum) + (Funktion) + Umsatz
Name = Anrede + (Titel) + Vorname + Nachname
Adresse = [Strasse + HausNr | Postfach] + PLZ + Ort
88
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Richtlinien zur Erstellung von Data Dictionaries
Top-down-Vorgehen
Klammern mglichst weit obenA = B + {C} besser als A = B + CC = D + E C = {D + E}
aussagekrftige Namen verwenden
Semantik nicht durch Syntax simulieren; besser: Kommentar
89
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
3.5 Entity-Relationship-Diagramm
zur graphischen Beschreibung von permanent gespeicherten
Daten und ihren Beziehungen zueinander
Entitt: individuelles Objekt mit Eigenschaften (Attributen)
genauer Aufbau der Attribute z.B. in DD
Entittsmenge: Menge von Entitten mit gleichen Attributen
Schlssel: minimale identifizierende Attributmenge
90
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
ER-Diagramm: Syntax
ungerichteter Graph mit Knoten:
Entittsmenge ( Rechteck) (Kategorie, Klasse) Beziehung ( Raute): Relation zwischen Entittsmengen Attribut ( abgerundetes Rechteck); bei Grobdarstellung
weglassen Kante:
zwischen Entittsmenge und Beziehung ggfs. beschriftet mit Kardinalitt zwischen Entittsmenge oder Beziehung und Attribut
spezielle Beziehungen:
is-a: Generalisierung ( Dreieck)Attribute werden von Eltern-Entittsmenge geerbt
part-of: Aggregation91
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Beispiel: ER-Diagramm
Person
isa
Kunde bucht Seminarveranstaltung von
in Verzugbei zu
Firma Seminartyp
1 MC
MC C 1
MC
MC MC MC
MC
Dozent
M
M
ist
zugeornetZahlungs
verzug
durchgefhrt
beschftigt gehrt
92
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
3.6 Klassendiagramm
graphische Veranschaulichung von Objekten, Klassen und ihren
Beziehungen
wichtigstes Diagramm in UML
fr jede Klasse: Name, Attribute, Methoden
Knoten:
Rechteck fr Objekt Rechteck fr Klasse
Kante:
Kante mit offener Pfeilspitze von Unterklasse zu Oberklasse Kante zwischen Klassen, deren Objekte Nachrichten austauschen
93
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Beispiel: Klasse Kreis
Kreis
Mittelpunkt
Radius
Anzahl
verschieben
vergrern
Durchschnittsgre ermitteln
94
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Richtlinien (1)
triviale Operationen wie z.B.
Create: Erzeugen eines Objektes Delete: Lschen eines Objektes SetAttribute: Setzen eines Attributwerts GetAtrribute: Lesen eines Attributwerts
sind implizit vorhanden und brauchen im Diagramm nicht
eingetragen zu werden
Klassenattribute und Klassenmethoden werden unterstrichen
95
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Richtlinien (2)
beachte: in typischen OO-Programmiersprachen wei jedes
Objekt, zu welcher Klasse es gehrt, aber nicht umgekehrt
der Einfachheit halber wird bei OOA oft angenommen,
dass jede Klasse ihre Instanzen kennt
die hierzu notwendige Objektverwaltung muss (z.B. mit
Klassenattributen und Klassenmethoden) ausprogrammiert
werden
96
Sichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz
Beispiel: Klassendiagramm
mAssoziation
Rolle
n
Klasse
Vererbung
Objekt
Rolle
Klassenname bzw.
NameEinerAbstraktenKlasse