skript6

Werbung
Skript zur Vorlesung
Softwaretechnik
Folge 6
Analyse und Definition:
Basiskonzepte II
IT Kompaktkurs
Sommersemester 2001
Prof. Dr. Herbert Fischer
Fachhochschule Deggendorf
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1 Basiskonzepte für Analyse und Definition (Teil 2)
In diesem Kapitel werden wir weitere Basiskonzepte für Analyse und Entwurf kennenlernen und
zwar datenorientierte Konzepte – hier die Jackson-Diagramme, dann regelbasierte Basiskonzepte,
zu erwähnen wären Entscheidungstabellen und zuguterletzt beschäftigen wir uns mit
zustandsorientierten Konzepten, als da wären Petrinetze.
Weitere Basiskonzepte
• datenorientierte
• regelbasierte
• zustandsorientierte
Abbildung 1: Weitere Basiskonzepte
Prof. Dr. Herbert Fischer
Seite: 2
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
1.1
Skript
SS 2001
Überblick
Beginnen wir zunächst mit der Frage:
Braucht man denn in der Praxis so viele verschiedene Basiskonzepte ?
Das hängt eben vom Anwendungsbereich der Softwareentwicklung ab !
Ein Beispiel soll dies verdeutlichen:
Sie sollen ein Rabattsystem für eine Fluggesellschaft entwickeln.
Es werden Ihnen eine Vielzahl von Bedingungen
wie
 Alter
 Flugziel
 Aufenthaltsdauer
 Abflugtermin
genannt, welche einzeln oder in Kombination zu bestimmten Preisnachlässen
wie
 20%
 30%
 50%
 0%
führen.
Sie kennen ja nun schon einige Basiskonzepte für Analyse und Definition von Softwaresystemen.
Welches Konzept wäre für den fachlichen Entwurf geeignet ?
 Funktionsbäume ?
 Geschäftsprozesse ?
 Datenflußdiagramme ?
Was meinen Sie ?
Die Antwort auf diese Frage werden Sie am Ende dieses Kapitels mit Begründung geben können !
Prof. Dr. Herbert Fischer
Seite: 3
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
1.2
Skript
SS 2001
Datenorientierte Basiskonzepte
1.2.1 Entity Relationship Models (ERM)
Das bekannteste datenorientierte Basiskonzept sind sicherlich die ERMs (Entity Relationship
Models).
Im Bereich der Datenmodellierung wird dieses Basiskonzept sehr häufig eingesetzt.
An einem Beispiel soll dieses zentrale Konzept nochmals wiederholt werden.
Entity-Relationship-Diagramm
Datum
Kunde
aus
leiht
Kd.-Nr.
Bibl.
Name
Buch
Name
Adresse
Ort
Titel
ISBN
Abbildung 2: ERM
Erläuterung des Beispiels:
Es werden drei Datenobjekte (Kunde, Buch, Bibliothek) mit den jeweiligen Attributen und
Beziehungen (leiht, aus) in einem ERM dargestellt.
Sie werden noch ein weiteres datenorientiertes Basiskonzept vorstellen, welches die strukturierte
Vorgehensweise bei der Softwareentwicklung unterstützt, die JACKSON-Diagramme.
Prof. Dr. Herbert Fischer
Seite: 4
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.2.2 Jackson-Diagramme
Jackson-Diagramm bestehen nur aus 3 Grundstrukturen
 Sequenz
 Auswahl
 Wiederholung
Datenorientierte Basiskonzepte
JACKSON-Diagramm
• Grundstrukturen
• Sequenz
• Auswahl
• Wiederholung
• Unterstützung aller Kernphasen
Abbildung 3: Jackson-Diagramme
Diese drei Grundstrukturen können beliebig miteinander kombiniert werden.
Bei konsequenter Verwendung entsteht eine hochstrukturierte Analyse und Definition eines
geplanten Softwaresystems.
Ausserdem unterstützt dieses Basiskonzept die Kernphasen der Softwareentwicklung
 Analyse und Definition
 Entwurf
 Implementierung
Jackson-Diagramme untersützten sowohl die datenorientierte als auch die algorithmische Sicht
(Kontrollstrukturen).
Sehen wir uns die Grundstrukturen der JACKSON-Diagramm genauer an !
Prof. Dr. Herbert Fischer
Seite: 5
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.2.2.1 Sequenz
Eine Sequenz besteht aus einer oder mehreren Komponenten, die genau einmal auftreten.
Beispiel:
ADRESSE besteht aus den Komponenten STRASSE, POSTLEITZAHL und ORT.
Zur Notation führen wir die Backus-Naur-Form (BNF) ein.
JACKSON-Diagramme I
Sequenz
Adresse
Straße
PLZ
Ort
BNF-Notation:
Adresse = Straße + PLZ + Ort
Abbildung 4: Jackson-Diagramme: Sequenz
Prof. Dr. Herbert Fischer
Seite: 6
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.2.2.2 Auswahl
Eine Auswahl besteht aus zwei oder mehreren Komponenten, von denen bei jedem Auftreten der
Auswahl genau eine ausgewählt wird
Beispiel:
FAMILIENSTAND besteht aus der Komponente LEDIG oder VERHEIRATET oder GESCHIEDEN
JACKSON-Diagramme II
Auswahl
Familienstand
ledig0
verheiratet0
geschieden0
BNF-Notation:
Familienstand = [ledig|verheiratet|geschieden]
Abbildung 5: Jackson-Diagramme: Auswahl
Prof. Dr. Herbert Fischer
Seite: 7
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.2.2.3 Wiederholung:
Eine Wiederholung besteht aus einer Komponente, die nicht, einmal oder mehrmals auftritt.
Beispiel:
KUNDENDATEI besteht aus vielen (Sonderfälle beachten !) KUNDEN.
JACKSON-Diagramme III
Wiederholung
Kundendatei
Kunden*
BNF-Notation:
Kundendatei = {Kunden}
Abbildung 6: Jackson-Diagramme: Wiederholung
Wann sollte man denn JACKSON-Diagramme einsetzen ?
Das ist immer dann sinnvoll, wenn die Daten im Vordergrund stehen.
Beispiele hierzu sind:
 Berichts- und Informationssysteme
 Datenbankanwendungen
 etc.
Prof. Dr. Herbert Fischer
Seite: 8
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
1.3
Skript
SS 2001
Regelbasierte Basiskonzepte
1.3.1 Definition einer Entscheidungstabelle
Entscheidungstabellen kann man immer dann empfehlen, wenn aufgrund eingetretener
Bedingungen Entscheidungen gefällt werden müssen.
Entscheidungstabellen eignen sich zur Darstellung einfacher und komplexer Entscheidungsfolgen.
Mithilfe von Entscheidungstabellen können Aktionen oder Handlungen, die von der Erfüllung oder
Nichterfüllung mehrerer Bedingungen abhängen, kompakt und übersichtlich definiert werden.
Eine Entscheidungstabelle besteht aus einem
 Bedingungsteil und einem
 Aktionsteil
In der linken Spalte werden die Bedingungen und Aktionen benannt und rechts sind die Regeln
enthalten.
Die Regeln setzen sich aus den Bedingungsanzeigern (JA/NEIN) und den Aktionsanzeigern (X)
zusammen.
Die Aktionsanzeiger stellt dar, welche Aktionen bei den ausgewählten Bedingungen auszuführen
sind.
Regelbasierte Basiskonzepte
Entscheidungstabellen
Name der
Entscheidungstabelle
Regelnummern
wenn
Bedingungen
dann
Aktionen
Bedingungsanzeiger
Aktionsanzeiger
n Bedingungen  2n Regeln !
Abbildung 7: Definition einer Entscheidungstabelle
Bei n Bedingungen gibt es theoretisch 2n Regeln !
Prof. Dr. Herbert Fischer
Seite: 9
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
Am besten sehen wir uns hierzu ein praktisches Beispiel an !
Gehen wir hierzu in den Vertriebsbereich einer Firma und betrachten eine Entscheidungstabelle,
welche die „Bearbeitung von Kundenbestellungen“ definieren soll.
„Kundenbestellungen“
Beispiel
Bearbeitung
Kundenbestellung
Artikel lieferbar
Zahlungsverhalten Kunde i.O.
Per Zahlung liefern
Per Nachnahme liefern
Artikel nachbestellen
Tel. Zwischenbescheid
Schriftl. Zwischenbescheid
R1 R2 R3 R4
J
J
X
J
N
N
J
N
N
X
X
X
X
X
Abbildung 8: Entscheidungstabelle für Kundenbestellungen
Kann es bei diesem Beispiel noch weitere Regeln geben bzw. kann ich diese Entscheidungstabelle
nachträglich noch erweitern ?
Bei 2 Bedingungen kann es max. 4 Regeln geben !
Aber weitere Bedingungen oder Aktionen können Sie natürlich eintragen und ergänzen.
Prof. Dr. Herbert Fischer
Seite: 10
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
1.3.2 Schritte zum Aufbau einer Entscheidungstabelle
Ausgangssituation ist eine verbale Problembeschreibung
1. Ermittlung der Aktionen
2. Ermittlung der Bedingungen
3. Aufbau der Entscheidungstabelle (siehe Folie 8)
4. Eintragen aller Bedingungskombinationen (JA/NEIN)
Entscheidungstabelle
Schritte zur Erstellung
Ausgangssituation:
Verbale Problembeschreibung
1. Ermittlung der Aktionen
2. Ermittlung der Bedingungen
3. Aufbau der Entscheidungstabelle
4. Eintragen aller Bedingungskombinationen
5. Eintragen der Aktionsanzeiger
Abbildung 9: Schritte zur Entscheidungstabelle
Empfehlung: Entwurf einer vollständigen ET bei weniger als 5 Bedingungen
5. Eintragen der Aktionsanzeiger (jeweils ein „X“)
Vollständige Entscheidungstabellen können oft noch optimiert werden:
 Regeln können zusammengefasst werden
 Regeln können gestrichen werden (bei sinnlosen Aktionen !)
Entscheidungstabellen können hierarchisch strukturiert werden.
Prof. Dr. Herbert Fischer
Seite: 11
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
SS 2001
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.3.3 Praktisches Beispiel einer Entscheidungstabelle
Abschliessend noch ein praktisches Beispiel einer optimierten Entscheidungstabelle, welche in
einem Praxisprojekt mit einem CASE-Tool entwickelt worden ist.
„Karte lesen und prüfen“
Beispiel
Quelle: MID/INNOVATOR
Abbildung 10: Beispiel einer Entscheidungstabelle
Wann sollte man denn Entscheidungstabellen einsetzen ?
Immer wenn unsere Problemlösung in ein komplexes System von Bedingungen eingebettet ist:
Beispiele hierzu:
 Kalkulationsprogramme, wir hatten am Anfang dieser Sendung ein Rabattsystem für
Fluggesellschaften diskutiert !
 Simulation- und Spielprogramme
Prof. Dr. Herbert Fischer
Seite: 12
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
1.4
Skript
SS 2001
Zustandsorientierte Basiskonzepte
1.4.1 Überblick
Zustandsorientierte Basiskonzepte sind in der Softwareentwicklung immer dann gefragt, wenn wir
Software-Lösungen für dynamische Systeme brauchen.
Die Besonderheit der zustandsorientierten Basiskonzepte ist, daß diese auch
 nebenläufige Aktivitäten
 nichtdeterministische Vorgänge und den
 Vergangenheitsverlauf
Praktische Beispiele gibt es genügend !
 Verkehrssteuerung
 Fertigungs- und Montagesteuerung
 Transportsteuerung
 Automaten
1.4.2 Definition der Petrinetze
Wie kann man nun denn komplexe, dynamische Systeme definieren und darstellen ?
Zum Beispiel mit PETRINETZEN:
Zunächst müssen wir hierfür die Elemente eines Petrinetzes erläutern:
Ein Petrinetz ist ein gerichteter Graph mit
 Knoten
 mit Stellen für Zustände und
 Transitionen für Zustandsübergänge (Worel: was sind denn Transitionen?)
 Kanten
 für die gerichtete Verbindung zwischen Stellen und Transitionen und umgekehrt
 Marke
Eingabestellen:
 Stellen, von denen Kanten zu einer Transition gehen
Ausgabestellen:
 Stellen, zu denen von einer Transition aus Kanten führen
Mit den Marken wird das dynamische Verhalten des Systems definiert.
Prof. Dr. Herbert Fischer
Seite: 13
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
Zustandsorientierte Basiskonzepte
Elemente und Notation der Petrinetze
Gerichteter Graph mit
• Knoten
• Stellen für Zustände
• Transitionen für Zustandsübergänge
• Kanten
• zwischen Stellen und Transitionen
• zwischen Transitionen und Stellen
• Marken
Stelle
mit
Marke
Kante
Transition
Stelle
ohne
Marke
Abbildung 11: Elemente und Notation der Petrinetze
Prof. Dr. Herbert Fischer
Seite: 14
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.4.3 Regeln für Aufbau und Nutzung von Petrinetzen
Folgende Regeln gilt es zu beachten:
Regel 1:
 Eine Transition kann schalten (oder feuern), wenn jede Eingabestelle einer Transition
eine Marke enthält
Regel 2:
 Schaltet eine Transition, dann wird aus jeder Eingabestelle eine Marke entfernt und zu jeder
Ausgabestelle eine Marke hinzugefügt.
Petrinetze
Regeln
Regel 1:
• Eine Transition kann schalten (oder feuern),
wenn jede Eingabestelle einer Transition
eine Marke enthält
Regel 2:
• Schaltet eine Transition, dann wird aus jeder
Eingabestelle eine Marke entfernt und zu jeder
Ausgabestelle eine Marke hinzugefügt
Abbildung 12: Regeln für Petrinetze
Dazu sollten wir uns ein Beispiel ansehen !
Prof. Dr. Herbert Fischer
Seite: 15
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
1.4.4 Beispiel einer Petrinetz-Anwendung
Sehen wir uns ein Beispiel aus der Montagesteuerung an.
Situationsbeschreibung:
Wir sollen zwei Montageplätze von einem Roboter be- und entladen lassen.
Die Steuerung dieses Systems soll analysiert und definiert, später entworfen und realisiert werden.
Sehen wir uns hierzu das Petrinetz an !
Wir können die Dynamik dieses Montagesystems auch simulieren !
Roboterzelle I
Quelle: Visual Object Net ++
Abbildung 13: Roboterzelle als Petrinetz (Ausgangszustand)
Prof. Dr. Herbert Fischer
Seite: 16
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
Skript
SS 2001
Nach dem feuern einiger Transition stellt sich der Zustand der Roboterzelle folgendermassen dar:
Roboterzelle II
Quelle: Visual Object Net ++
Abbildung 14: Roboterzelle als Petrinetz (Folgezustand)
Prof. Dr. Herbert Fischer
Seite: 17
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
IT-Kompaktkurs Softwaretechnik, Folge 6
1.5
Skript
SS 2001
Aufgaben
1.5.1 Jackson-Diagramm
Definieren Sie die angegebenen Datenstruktur (Kundenbestellung) in der Jackson-DiagrammNotation !
1.5.2 Entscheidungstabelle
Bei einem Großhändler soll das Bestellwesen neu organisiert werden:
 jede Lagerentnahme wird sofort erfasst
 Artikel, die eine vorgegebene Bestellgrenze unterschreiten, werden täglich zu Geschäftsschluß
nachbestellt.
 Artikel, die bei einer Entnahme einen Bestand ausweisen, der weniger als 10% über der
Bestellgrenze liegt, werden nachbestellt, wenn für den betreffenden Tag eine Bestellung bei
demselben Lieferanten ansteht.
Stellen Sie die Entscheidungsregeln in Form einer Entscheidungstabelle zusammen.
1.5.3 Petrinetz
Konstruieren Sie ein Petrinetz und verteilen Sie zu Beginn die Marken so, dass nach 2
Schaltvorgängen eine Verklemmung (dead-lock) auftritt.
Prof. Dr. Herbert Fischer
Seite: 18
Stand: 14.05.16, Datei: 68624607
FH Deggendorf, Studiengang Wirtschaftsinformatik
Herunterladen