Teil III Basiskonzepte - wi1.uni- · PDF fileSichten FB DFD DD ERD KD Interaktion Kontrollstr. ET EA Petri-Netz 3.1 Sichten • die gebräuchlichen SE-Methoden betrachten System aus

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