1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester...

40
1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus- Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik

Transcript of 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester...

Page 1: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

1

Vorlesung Softwaretechnik

Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich

(Wintersemester 2001/2002)

Universität LeipzigInstitut für Informatik

Page 2: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

2

1. Datenorientierte Sicht1. Entity-Relationship-Modell

1. Vergleich ER-Konzepte vs OO-Konzepte2. Schlüssel, Tabellen und Dateien3. Semantische Datenmodelle4. Unternehmensdatenmodelle und Weltmodelle

2. Modellierung multidimensionaler Datenstrukturen1. Data Warehouse, Data Marts, OLAP und

Hyperwürfel2. Modellierungsansätze3. Abbildung auf Tabellen

3. Data Dictionary4. Zusammenfassung

2. Algorithmisch- und regelbasierte Sicht

Inhalt

5. Die Definitionsphase – Datenorientierte Sicht

Page 3: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

3

1. Erläuterung der Begriffe Entität, Entitätstyp, Entitätsmenge, Beziehung, Beziehungstyp, Attribut und Schlüssel.

2. Kardinalitäten3. Konzepte Aggregation und Vererbung4. Unterschiede zwischen ER- und OO-Modell5. Begriffe Data Warehouse, Data Mart, Hyperwürfel, multidimensionale

Datenstruktur, OLAP und Data Mining6. Erstellen eines ER-Modells, einer Assoziationsmatrix für eine

gegebene Aufgabenstellung7. Erstellen eines Hyperwürfels und seiner Darstellung durch einen ER-

Modell8. Definition und hierarchische Anordnung von Datenstrukturen als Data-

Dictionary-Einträge

Lernziele

5.1. Die Definitionsphase – Datenorientierte Sicht

Page 4: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

4Basiskonzepte : Funktionale Sicht

5.1.1. Die Definitionsphase – ER-Modell

Entity-Relationship-Modell (ER-Modell)

• 1976 von P. Chen zur Datenmodellierung entwickelt• Ziel

o Beschreibung der permanent gespeicherten Daten und ihre Beziehungen untereinandero Die Analyse der Information erfolgt aus fachlogischer Sicht

• Ergebniso Konzeptionelles Modell, das gegen Veränderungen der Funktionalität weitgehend stabil isto Semantische Datenmodellierungo Erweiterung um Aggregation und Vererbung

Page 5: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

5Objekte,Klassen & Attribute

5.1.1.1. Die Definitionsphase – Vergleich: ER vs OO

UML ERM Notation/ Chen 76/

Notations-erweiterungen

Objekt

Klasse

Klassenextension(extent)

Attribut

Attributtyp

Stereotyp «Structure»

Verbindung (link)zwischen Objekten

Assoziation

Entität(entity)

kein Symbol

Entitätstyp(entity type)

Entitätsmenge(entity set)

Attribut

Wertebereich, Domäne, Werte-typen (domain, value-set)

Schlüsselattribut

Mehrwertiges Attribut(kann ein oder mehrereWerte aus dem Wertebereichannehmen)ZusammengesetztesAttribut

Beziehung(relationship)

Beziehungstyp,Assoziation(relationship type) Typ

Typ

einObjekt

Operation()

Klasse

Attribut

EntitätstypAttribut

Attribut

Attribut

Attribut

Attribut

Teil 1 Teil 2

:Klasse1 :Klasse2

Klasse1 Klasse2

Kardinalität

0..1

Kardinalität, Komplexität,Stelligkeit

MC-Notation Krähenfuß-Notation

*

1

1

M

1

C

MC

1

1..*keineUnterscheidungzwischen Mussund Kann

M M

Entitätstyp

Page 6: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

6Assoziationen

5.1.1.1. Die Definitionsphase – Vergleich: ER vs OO

UML ERM Notation/ Chen 76/

Notations-erweiterungen

Objekt

Klasse

Klassenextension(extent)

Attribut

Attributtyp

Stereotyp «Structure»

Verbindung (link)zwischen Objekten

Assoziation

Entität(entity)

kein Symbol

Entitätstyp(entity type)

Entitätsmenge(entity set)

Attribut

Wertebereich, Domäne, Werte-typen (domain, value-set)

Schlüsselattribut

Mehrwertiges Attribut(kann ein oder mehrereWerte aus dem Wertebereichannehmen)ZusammengesetztesAttribut

Beziehung(relationship)

Beziehungstyp,Assoziation(relationship type) Typ

Typ

einObjekt

Operation()

Klasse

Attribut

EntitätstypAttribut

Attribut

Attribut

Attribut

Attribut

Teil 1 Teil 2

:Klasse1 :Klasse2

Klasse1 Klasse2

Kardinalität

0..1

Kardinalität, Komplexität,Stelligkeit

MC-Notation Krähenfuß-Notation

*

1

1

M

1

C

MC

1

1..*keineUnterscheidungzwischen Mussund Kann

M M

Entitätstyp

Page 7: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

7Kardinalitäten

5.1.1.1. Die Definitionsphase – Vergleich: ER vs OO

A B

A B

A B

A B

A B

A B

A B

A B

A

A B

B

A B(0,1)

A B(1,1)

A B(0,n)

A B(0,n)

A B

A B

A B

A B

C

1

MC

M

A B1

A BM

1 MC

(0,m) (1,1)A B

semantisch identische numerische Notation

MC-Notation

Alternativen bei Kardinalitätsangaben

MC vs numerische Notation

Page 8: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

8Schlüsseln

5.1.1.2. Die Definitionsphase – Schlüssel,Tabellen & Dateien

Schlüssel• Minimale, identifizierende Attributkombination• Schlüssel werden unterstrichen• Oft auch mehrere Schlüssel möglich

o Entitätsmenge: Stadto Attribute: PLZ, Staat, Einwohnerzahl, Vorwahlo Schlüssel: PLZ und Staat oder Vorwahl

• In einem solchen Fall wird stets ein Schlüssel als Primärschlüssel ausgezeichnet.• Ein Schlüssel K ist stets eine minimale, identifizierende Attributkombination

o Jede echte Obermenge von K ist ein Schlüsselkandidato Für Stadt ist {Staat, Vorwahl} Schlüsselkandidat

Vorwahl ist Schlüssel {PLZ, Staat} ist ebenfalls Schlüssel

o Minimal: Die eindeutige Identifizierbarkeit geht verloren, wenn ein Attribut entfernt wird.

Page 9: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

9Tabellen und Dateien

5.1.1.2. Die Definitionsphase – Schlüssel,Tabellen & Dateien

Entitäten• Entitätstypen mit ihren Entitäten lassen sich durch Tabellen darstellen

o Regel 1 Für jeden Entitätstyp wird ein Speicher bzw. eine Datei benötigt Jede Entität des entsprechenden Entitätstyps stellt einen Eintrag in diese Datei dar

o Regel 2: Sind 2 Entitätstypen A und B durch einen 1:1- oder M:1-Beziehungstyp verbunden, dann wird der Primärschlüssel von B als sogenannter Fremdschlüssel in A eingetragen, d.h. als zusätzliches Attribut.

o Regel 3 Sind 2 Entitätstypen A und B durch einen M:N-Beziehungstyp verbunden, dann wird für den Beziehungstyp eine eigene Datei angelegt Als Attribute werden die Schlüssel der Entitätstypen verwendet, die der Beziehungstyp verbindet Beide Schlüsselattribute zusammen bilden den Primärschlüssel dieser Tabelle

o Einem Beziehungstyp kann man ebenfalls Attribute zuordnen, wenn dies fachlich notwendig ist

Page 10: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

10Beispiel : Semantisches Modell für „Seminar-Organisation“

5.1.1.3. Die Definitionsphase – Semantische Modelle

is-a

C

MC

MC MC

1

MC

MC

1

MC M

M

MC

Person

Veranstal-tung

Kunde Dozent

SeminartypZahlungsverzug Firma

wirddurchgeführt

von

istzugeordnet

gehörtzu

istbeschäftigt

bei

inVerzug

bucht

Page 11: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

11Assoziationsmatrix und Bewertung der semantischen Datenmodelle

5.1.1.3. Die Definitionsphase – Semantische Modelle

• Zusammenhang mit Funktionsbäumeno Die in den Funktionsbäumen beschriebenen Funktionen benutzen die in ER-Diagrammen modellierten Datenstrukturen, um ihre Aufgabe zu erfülleno Eine Möglichkeit den Zusammenhang zwischen beiden Sichten herzustellen, ist die Erstellung einer Assoziationsmatrix.

• Bewertungo Vorteile

Im kaufmännischen Anwendungsbereich ist eine semantische Datenmodellierung ein absolutes Muss Auch in vielen technischen Bereichen ist die Komplexität der Daten so groß, dass ein semantisches Datenmodell erforderlich ist (Beispiel: Roboter-Modellierung) Voraussetzung für einen relationalen Datenbankentwurf.

o Nachteile Dynamische Aspekte können nicht dargestellt werden Erfordert ein höheres Abstraktionsniveau als die Konzepte zur Modellierung der funktionalen Sicht Semantische Datenmodelle können sehr umfangreich werden Es fehlt ein Verfeinerungsmechanismus um mehrere Abstraktionsebenen bilden zu können.

Page 12: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

12Definitionen und Zusammenhänge

5.1.1.4. Die Definitionsphase – Unternehmensdatenmodelle ...

• Probleme bei der Betrachtung nur eines Bereiches eines Unternehmens:o Mehrfachverwaltung der gleichen Datenbeständeo Brüche bei der Abwicklung von übergreifenden Geschäftsvorgängeno Inkompatible Informationsflüsse

•Zielo Aufstellung eines umfassendes Unternehmensdatenmodells.

•Unternehmensdatenmodello Soll die Informationsstrukturen und Geschäftsprozesse aller Bereiche eines Unternehmens unter Berücksichtigung der Schnittstellen zueinander in einheitlicher und ganzheitlicher Form darstellen

•Beschreibung von Unternehmensdatenmodelleno Semantische Datenmodelleo Je nach Abstraktionsebene und Verdichtungsgrad können Datenmodelle unterschiedlicher Ebenen definiert werden.

•Strategisches Datenmodello Enthält nur die wichtigsten Entitätstypen und Beziehungeno Enthält nur grundsätzliche Branchenunterschiedeo Umfasst in der Regel rund 20 bis 30 Entitätstypen und Beziehungen

•Nächste Abstraktionsebeneo Zeigt bereits unterschiedliche Strukturen innerhalb einer Branche

Page 13: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

13Grobstruktur eines Unternehmensdatenmodells

LeNr

LeNr

Datum

KNr LeNrDatum

KNrLNr

L.Geschäfts-

BeziehungenBeschaffungs-

Aufträge

K.Geschäfts-

BeziehungenKundenAufträge

IS-A

is-a

is-a

is-a

is-a

Ressourcen-belegung

Struktur

Lieferant Kunden

fremdbezogeneLeistungen

absetzbareLeistungen

eigenerstellteLeistungen

Werkstoff Mitarbeiter

Zeit

Betriebsmittel

KNr LeNr

Marktpartner

Leistungen

Produktions-faktoren

Fe rti-g un g s be sc h re i-

bu n g

Fertigungs-auftrag

Legende:

Generalisierungstyp

Assoziation, die gleichzeitigeine Entitätsmenge ist

Page 14: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

14Definitionen und Zusammenhänge

5.1.2.1. Die Definitionsphase –Data Warehouse, Data Marts,...

• Data Warehouseo Themenorientierte, integrierte, zeitabhängige, nichtflüchtige Datensammlung zur Unterstützung von Managemententscheidungen

• Data Marts o Stellen funktionsbereichs- oder personengruppenspezifische Extrakte aus der Data Warehouse-Datenbasis zur Verfügungo Sie erlauben dadurch dezentrale fachliche Sichten auf das zentrale Data Warehouse.

• OLAP (On-line Analytical Processing)o Beschreibt die Datenmodellierung in multidimensionalen Strukturen zur Datenanalyseo Bei multidimensionaler Aufbereitung können die Daten vom Benutzer schneller und aussagekräftiger zur Entscheidungsfindung analysiert werden

• Data Miningo Bezeichnet die automatische Suche nach unbekannten Zusammenhängen in großen Datenbeständeno In einem umfassenden Datenbestand werden eine Vielfalt von Zusammenhängen entdeckt, die dann noch bezüglich ihrer Aussagekraft und Relevanz interpretiert werden müssen.

( siehe Prof. Rahm, Datawarehousing)

Page 15: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

15Datencharakteristika der Architekturstufen

detaillierttagtäglichaktueller Werthohe Zugriffs-wahrscheinlichkeit

anwendungsorientiert

nur Lese-Zugriffmeist verdichtetzeitvariantintegriertfachorientiert

zusammenfassend

beschränktteils abgeleitetteils einfach

temporärad hocheuristischnicht wiederholend

OperativesSystem

Data Mart Kundensachbearbeiter

Name = Hans SchulzUmsatz = 6600,-

HistorischAktuell Periodisch Temporär

1.Q. 1999: 35000,-2.Q. 1999: 67000,-3.Q. 1999: 78000,-4.Q. 1999: 99000,-

Name = Hans SchulzUmsatz = 4200,-Datum = 1.7.99

Name = Hans SchulzUmsatz = 2000,-Datum = 1.3.99

Name = Hans SchulzUmsatz = 6600,-Datum = 1.12.99

Wie viele Kundenhaben seit dem1. Quartal 1999ihre Umsätze proQuartal um mehr als10% erhöht?

Data Warehouse

detaillierttagtäglichaktueller Werthohe Zugriffs-wahrscheinlichkeit

anwendungsorientiert

nur Lese-Zugriffmeist verdichtetzeitvariantintegriertfachorientiert

zusammenfassend

beschränktteils abgeleitetteils einfach

temporärad hocheuristischnicht wiederholend

OperativesSystem

Data Mart Kundensachbearbeiter

Name = Hans SchulzUmsatz = 6600,-

HistorischAktuell Periodisch Temporär

1.Q. 1999: 35000,-2.Q. 1999: 67000,-3.Q. 1999: 78000,-4.Q. 1999: 99000,-

Name = Hans SchulzUmsatz = 4200,-Datum = 1.7.99

Name = Hans SchulzUmsatz = 2000,-Datum = 1.3.99

Name = Hans SchulzUmsatz = 6600,-Datum = 1.12.99

Wie viele Kundenhaben seit dem1. Quartal 1999ihre Umsätze proQuartal um mehr als10% erhöht?

Data Warehouse

detaillierttagtäglichaktueller Werthohe Zugriffs-wahrscheinlichkeit

anwendungsorientiert

nur Lese-Zugriffmeist verdichtetzeitvariantintegriertfachorientiert

zusammenfassend

beschränktteils abgeleitetteils einfach

temporärad hocheuristischnicht wiederholend

OperativesSystem

Data Mart Kundensachbearbeiter

Name = Hans SchulzUmsatz = 6600,-

HistorischAktuell Periodisch Temporär

1.Q. 1999: 35000,-2.Q. 1999: 67000,-3.Q. 1999: 78000,-4.Q. 1999: 99000,-

Name = Hans SchulzUmsatz = 4200,-Datum = 1.7.99

Name = Hans SchulzUmsatz = 2000,-Datum = 1.3.99

Name = Hans SchulzUmsatz = 6600,-Datum = 1.12.99

Wie viele Kundenhaben seit dem1. Quartal 1999ihre Umsätze proQuartal um mehr als10% erhöht?

Data Warehouse

detaillierttagtäglichaktueller Werthohe Zugriffs-wahrscheinlichkeit

anwendungsorientiert

nur Lese-Zugriffmeist verdichtetzeitvariantintegriertfachorientiert

zusammenfassend

beschränktteils abgeleitetteils einfach

temporärad hocheuristischnicht wiederholend

OperativesSystem

Data Mart Kundensachbearbeiter

Name = Hans SchulzUmsatz = 6600,-

HistorischAktuell Periodisch Temporär

1.Q. 1999: 35000,-2.Q. 1999: 67000,-3.Q. 1999: 78000,-4.Q. 1999: 99000,-

Name = Hans SchulzUmsatz = 4200,-Datum = 1.7.99

Name = Hans SchulzUmsatz = 2000,-Datum = 1.3.99

Name = Hans SchulzUmsatz = 6600,-Datum = 1.12.99

Wie viele Kundenhaben seit dem1. Quartal 1999ihre Umsätze proQuartal um mehr als10% erhöht?

Data Warehouse

Page 16: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

16OLAP

5.1.2. Die Definitionsphase – Multidimensionale Datenstrukt.

• OLAP-Systeme sollen...o Fachabteilungen die Möglichkeit geben, schnelle, interaktive und komplexe Analysen durchzuführeno die gesammelten Daten aus möglichst vielen verschiedenen Perspektiven zeigeno die Analyseergebnisse in akzeptabler Zeit bereitstellen

• Hyperwürfelo Quantitative Kennzahlen werden in mehrdimensionalen Datencontainern angeordnet.

y

xVeranstaltungsort (Markt)

Seminartyp(Produkt)

OOA

OOD

Java

C++

M DO K S

Kennzahl, Variablehier: Anzahl Veranstaltungen

Dimensionen

Zeit

Page 17: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

17Definitionen und Regeln

5.1.3. Die Definitionsphase – Data Dictionary

• Verzeichnis, das Informationen über die Struktur von Daten, Ihre Eigenschaften sowie ihre Verwendung enthält.• Wird zur Konsistenzüberwachung eines Datenbestandes benötigt• Erstellungsregeln

o Definition der Daten: top-downo Ende der Verfeinerung, wenn ein Abstraktionsniveau erreicht ist, das für die Definitionsphase ausreichto Wiederholungs- und Optionsklammern (Backus-Naur-Form) möglichst weit oben in der Hierarchie.o Zirkuläre Definitionen sind nicht erlaubto Alias-Namen sind erlaubt (für Sonderfälle)o Problembezogene Namen wähleno Bereits definierte Datenstrukturen wiederverwendeno Nicht versuchen, Semantik durch Syntax auszudrückeno Auswahl besteht aus mind. 2 Alternativen

•Vorteil : Aufbau und Verfeinerung von Datenstrukturen lassen sich formal und kompakt ähnlich wie in modernen Programmiersprachen beschreiben•Nachteil : Da es sich um keine grafische Darstellung handelt, ist die Lesbarkeit eingeschränkt ( siehe Prof. Brewka, Digitale Informationsverarbeitung )

Page 18: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

18Zusammenfassung (1)

5.1.4. Die Definitionsphase – Zusammenfassung

• Das ER-Modell erlaubt die Modellierung von permanent zu speichernden Datenstrukturen und ihren Beziehungen zueinander. Entitäten (entities) werden zu Entitätstypen (entity types) zusammengefasst. Gleichrangige, fachliche Zusammenhänge zwischen Entitäten werden durch Beziehungen (Assoziationen, relationships) beschrieben, die zu Beziehungstypen (relation types) zusammengefasst werden. Durch Rollen wird angegeben, welche Funktion eine Entität in der Beziehung spielt. Die Eigenschaften von Entitäten und Beziehungen werden durch Attribute beschrieben. Jede Entität muss durch einen eindeutigen Schlüssel identifizierbar sein. Der Komplexitäts-grad einer Assoziation wird durch die Kardinalität angegeben (Muss- oder Kann-Beziehung,variable oder feste Obergrenze). Eine rekursive Beziehung liegt vor, wenn ein Entitätstyp mit sich selbst in Beziehung steht. Das Ergebnis einer ER-Modellierung bezeichnet man als konzeptionelles Modell.• Entitätstypen und Beziehungstypen können auf Tabellen abgebildet werden. Die Entitäten werden als Zeilen in die Tabellen eingetragen. Alle Entitäten einer Tabelle bilden eine Entitätsmenge (entity set).• Vereinfacht lässt sich sagen, dass ein Klassendiagramm ohne Operationen und Botschaften einem ER-Modell entspricht. Allerdings müssen in einem ER-Modell Schlüssel-Attribute für jeden Entitätstyp ergänzt werden.

Page 19: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

19Zusammenfassung (2)

5.1.4. Die Definitionsphase – Zusammenfassung

• Während sich die ER-Konzepte gut dazu eignen, operativ genutzte Datenbestände zu modellieren, werden für Analysen auf Datenbestände multidimensionale Datenstrukturen in Form von Hyperwürfeln modelliert. Mit OLAP-Operationen kann der Benutzer in den Hyperwürfeln navigieren. Data Mining weist den Benutzer auf unbekannte Zusammenhänge hin. Die Datenbestände werden aus operativen Datenbestände in Data Warehouses importiert. Data Marts stellen Ausschnitte aus Data Warehouses für spezielle Themenbereiche zur Verfügung.

• Aufgrund der besonderen Anforderungen an Data Warehouses eignet sich die ER-Modellierung nur bedingt für Hyperwürfel. OO-Ansätze befinden sich im Forschungsstadium.

• Eine präzise Definition von Datenstrukturen wird durch Data Dictionary-Einträge (DD) ermöglicht. DD-Einträge verwenden dabei eine textuelle, modifizierte Backus-Naur-Form zur Definition.

• Im Gegensatz zu ER- und OO-Modellen wird mit DD-Einträgen die Feinstruktur eines Attributs beschrieben, nicht aber der Zusammenhang zwischen Entitätstypen und Klassen.

Page 20: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

20

1. Datenorientierte Sicht2. Algorithmisch und Regelbasierte Sicht

1. Kontrollstrukturen1. Sequenz, Auswahl, Wiederholung und Aufruf2. Strukturierte Programmierung

2. Entscheidungstabellen und Entscheidungsbäume1. Erstellung einer Entscheidungstabelle2. Darstellungsformen3. Entscheidungstabellen-Verbunde4. Erweiterte Entscheidungstabellen5. Eintreffer- und Mehrtreffer-

Entscheidungstabellen3. Zusammenfassung

Inhalt

5.2. Die Definitionsphase – Algorithmische und Regelbasierte Sicht

Page 21: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

21

1. Syntax und Semantik linearer Kontrollstrukturen

2. Syntax und Semantik von Entscheidungstabellen

3. Schachtelung linearer Kontrollstrukturen

4. Anwendung gegebener Kontrollstrukturen

5. Erstellen von Kontrollstruktur und Entscheidungstabelle für eine gegebene Problemstellung

Lernziele

5.2. Die Definitionsphase – Algorithmische und Regelbasierte Sicht

Page 22: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

22

• Syntax und Semantik linearer Kontrollstrukturen

• Syntax und Semantik von Entscheidungstabellen

• Schachtelung linearer Kontrollstrukturen

• Anwendung gegebener Kontrollstrukturen

• Erstellen von Kontrollstruktur und Entscheidungstabelle für eine gegebene Problemstellung

Lernziele

5.2.1. Die Definitionsphase – Kontrollstrukturen

Page 23: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

23

• Dienen dazu den Ablauf eines Algorithmus zu steuern.• Gute Kontrollstrukturen

o Ermöglichen problemangepasste und natürlichförmige Beschreibung von Problemlösungen

o Erlauben die Wiederspiegelung der Problemstruktur im Algorithmuso Sollten leicht lesbar und verständlich seino Erlauben eine leichte Zuordnung zwischen statischem

Algorithmustext und dynamischem Algorithmuszustando Decken mit minimalen, orthogonalen Konzepten ein breites

Anwendungsspektrum abo Erleichtern Korrektheitsbeweise von Algorithmen.

• 4 semantisch unterschiedliche Kontrollstrukturen:o Sequenzo Auswahlo Wiederholungo Anwendung anderer Algorithmen

• 3 verschiedene Notationen:o Struktogramm-Notationo Pseudo-Code-Notationo Programmablaufplan-Notation.

Definition und Eigenschaften

5.2.1.1. Die Definitionsphase – Sequenz, Auswahl, ...

Page 24: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

24Sequenz

PAP

Erläuterung

Einfache Anweisungenwerden durch Recht-ecke dargestellt, diewiederum durch Ablauf-linien verbundenwerden.

allgemeinSequenz

Anweisung2

Anweisung1

Anweisung3

Ein beliebig großgewähltes Viereckwird nach jeder An-weisung mit einerhorizontalen Linieabgeschlossen.

Strukto-gramm

Anweisung1

Anweisung2

Anweisung3

Pseudocode(Java)

Die einzelnen An-weisungen werdendurch Semikolon (;)voneinandergetrennt.

Anweisung1;

Anweisung2;

Anweisung3;

Page 25: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

25Auswahl

Auswahl(ein- und zweiseitig)

allgemein Erläuterung

PAP Semantik analog zumPseudocode. Bei der ein-seitigen Auswahl entfällt dasRechteck mit Nein-Anwei-sungen.

Ist der Ausdruck wahr, dannwerden die Ja-Anweisungen,sonst die Nein-Anweisungenausgeführt.

Strukto-gramm

Semantik analog zum Strukto-gramm. Bei der einseitigen Aus-wahl fehlt »else Anweisung«.Das Ergebnis des Ausdrucksmuß vom Typ boolean sein.Anstelle von Anweisung;kann auch ein Blockstehen: {Anweisungen;}

if (Ausdruck)Ja-Anweisung;

elseNein-Anweisung;

Anweisung(en);

AusdruckWahr Falsch

Nein-Anweisung(bei einseitigerAuswahl leer)

Ja-Anweisung

Anweisung(en)

Ausdruck

Wahr Falsch

Ja-Anw. Nein-Anw.

Pseudocode(Java)

Page 26: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

26Mehrfachauswahl

Struktogramm

ErläuterungallgemeinMehrfachauswahl

/ Nassi, Shneiderman 73/ /DIN 66261/

Ausdruck

Fall 2

Fall 3

Anweisung(en)

Anw.1

Ausnahme-Anweisun-gen

default

Fall 1

Anw.2 Anw.

3

Ausdruck

Fall 2 Fall 3

Anweisung(en)

Anw.1

Ausnahme-Anweisun-gen

defaultFall 1

Anw.2

Anw.3

PAP

Pseudocode(Java)

switch (Ausdruck){ case konstanterAusdruck1: Anweisung(en); break; case konstanterAusdruck2: Anweisung(en); break; ... default: Anweisung;}Anweisung(en);

Der Ausdruck dientals Selektor zum Aus-wählen der einzelnenFälle. Ist ein ent-sprechender Fall nichtaufgeführt, wird dieAnweisung hinterdefault ausgeführt.

Fall 1 Fall 2 Fall 3 others

Auswahl =

Anw.1 Anw.2 Anw.3 Anw.4

Page 27: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

27Wiederholung

Wiederholung

PAP

Erläuterung

analogStruktogramm

AW = AnfangswertSW = SchrittweiteEW = Endwert

Wiederholung mitAbfrage vor jedemWiederholungsdurchlauf

allgemein

Anweisung

Schleife 1Ausdruck

EndeSchleife 1

Anweisung

Schleife 2

AusdruckEnde

Schleife 2

Schleife 3AW= 1SW = 1EW = 10

Anweisung

EndeSchleife 3

Strukto-gramm

Wiederholung mitfester Wiederholungs-zahl (Zählschleife,Laufanweisung)

Wiederholung mitAbfrage nach jedemWiederholungsdurchlauf

Pseudocode(Java)

while (Ausdruck){ Wiederholungsanweisungen;}Anweisung(en);

do{ Wiederholungsanweisungen;}while (Ausdruck);Anweisung(en);

for (Startausdruck, Endeausdruck, Schrittweite){ Wiederholungsanweisungen;}Anweisung(en);

Wiederholung mitAbfrage vor jedemWiederholungsdurchlauf

Wiederholung mitfester Wiederholungs-zahl (Zählschleife,Laufanweisung)

Wiederholung mitAbfrage nach jedemWiederholungsdurchlauf

Ausdruck

Wiederholungsanweisung(en)

Anweisung(en)

Wiederholungsanweisung(en)

Ausdruck

Anweisung(en)

Wiederholungsanweisung(en)

Anweisung(en)

for (Startausdruck, Endeausdruck, Schrittweite)

Page 28: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

28Wiederholung

Wiederholung

PAP

Erläuterung

analogStruktogramm

AW = AnfangswertSW = SchrittweiteEW = Endwert

Wiederholung mitAbfrage vor jedemWiederholungsdurchlauf

allgemein

Anweisung

Schleife 1Ausdruck

EndeSchleife 1

Anweisung

Schleife 2

AusdruckEnde

Schleife 2

Schleife 3AW= 1SW = 1EW = 10

Anweisung

EndeSchleife 3

Strukto-gramm

Wiederholung mitfester Wiederholungs-zahl (Zählschleife,Laufanweisung)

Wiederholung mitAbfrage nach jedemWiederholungsdurchlauf

Pseudocode(Java)

while (Ausdruck){ Wiederholungsanweisungen;}Anweisung(en);

do{ Wiederholungsanweisungen;}while (Ausdruck);Anweisung(en);

for (Startausdruck, Endeausdruck, Schrittweite){ Wiederholungsanweisungen;}Anweisung(en);

Wiederholung mitAbfrage vor jedemWiederholungsdurchlauf

Wiederholung mitfester Wiederholungs-zahl (Zählschleife,Laufanweisung)

Wiederholung mitAbfrage nach jedemWiederholungsdurchlauf

Ausdruck

Wiederholungsanweisung(en)

Anweisung(en)

Wiederholungsanweisung(en)

Ausdruck

Anweisung(en)

Wiederholungsanweisung(en)

Anweisung(en)

for (Startausdruck, Endeausdruck, Schrittweite)

Page 29: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

29Wiederholung

Wiederholung

PAP

Erläuterung

analogStruktogramm

AW = AnfangswertSW = SchrittweiteEW = Endwert

Wiederholung mitAbfrage vor jedemWiederholungsdurchlauf

allgemein

Anweisung

Schleife 1Ausdruck

EndeSchleife 1

Anweisung

Schleife 2

AusdruckEnde

Schleife 2

Schleife 3AW= 1SW = 1EW = 10

Anweisung

EndeSchleife 3

Strukto-gramm

Wiederholung mitfester Wiederholungs-zahl (Zählschleife,Laufanweisung)

Wiederholung mitAbfrage nach jedemWiederholungsdurchlauf

Pseudocode(Java)

while (Ausdruck)

{ Wiederholungsanweisungen;

}Anweisung(en);

do

{ Wiederholungsanweisungen;

}while (Ausdruck);Anweisung(en);

for (Startausdruck, Endeausdruck, Schrittweite){ Wiederholungsanweisungen;

}Anweisung(en);

Wiederholung mitAbfrage vor jedemWiederholungsdurchlauf

Wiederholung mitfester Wiederholungs-zahl (Zählschleife,Laufanweisung)

Wiederholung mitAbfrage nach jedemWiederholungsdurchlauf

Ausdruck

Wiederholungsanweisung(en)

Anweisung(en)

Wiederholungsanweisung(en)

Ausdruck

Anweisung(en)

Wiederholungsanweisung(en)

Anweisung(en)

for (Startausdruck, Endeausdruck, Schrittweite)

Page 30: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

30Definitionen und Zusammenhänge

5.2.1.2. Die Definitionsphase –Strukturierte Programmierg

• Gemeinsames Kennzeichen der vorgestellten Kontrollstruktureno Besitzen genau einen Ein- und einen Ausgango Zwischen dem Eingang und dem Ausgang gilt das Lokalitätsprinzip

Der Kontrollfluss verlässt den durch Eingang und Ausgang definierten Kontrollflussbereich nicht Makroskopisch betrachtet verläuft der Kontrollfluss linear durch einen Algorithmus, daher: „lineare Kontrollstrukturen“

• Strukturiertes Programmieren i.e.S.o Verwendung ausschließlich linearer Kontrollstruktureno Dijkstra subsummierte unter diesem Begriff verschiedene methodische Ansätze, die die Programmzuverlässigkeit verbesserno Weiterentwicklung dieser Ansätze führte zu oft weit auseinander-liegenden Definitionen des Begriffs „Strukturierte Programmierung“.

• Sprung („goto-Anweisung“)o Verstößt gegen die aufgestellten Anforderungeno Verwischt den semantischen Unterschied zwischen einer Auswahl und einer Wiederholung

• n + 1/2-Schleife• Innerhalb des Wiederholungsteils können ein oder mehrere Unterbrechungen oder Aussprünge programmiert werden

Page 31: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

31Definitionen und Zusammenhänge

5.2.1.2. Die Definitionsphase – Strukturierte Programmierung

• Struktogrammeo Optimale grafische Darstellung von linearen Kontrollstruktureno Der verfügbare Platz ermöglicht die Wahl aussagekräftiger Namen

• Programmablaufplano Für grundlegende Kontrollstrukturen gibt es keine eigenen Symboleo Vorgenommene Erweiterungen entsprechen nicht der ursprünglichen

Intentiono Insgesamt bieten PAPs dem Benutzer zu große Freiheiten

• Vorteile: Lineare Kontrollstruktureno Vereinheitlichung der Programmierstile, d.h. Standardisierung der

Kontrollflüsseo Übersichtliche, gut lesbare Anweisungsteileo Leichte Überprüfbarkeit der Terminationo Für gleichartige Probleme entstehen gleichartige Kontrollfluss-Struktureno Statische Überprüfung der Korrektheit möglicho Auswirkungen jeder Kontrollstruktur übersehbar

• Methodik: o Folgende Reihenfolge einhalten:

1. Immer zuerst die Kontrollstrukturen entwerfen2. Erst dann die elementaren Anweisungen überlegen.

Page 32: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

32Beispiel : Struktogramm für die Seminarorganistaion

Funktion

ja nein

ja

neinja

neinjanein

Ersterfassung

Änderung

Löschung

Erfassen der Firmendaten;Prüfen, ob Firma bereits vor-handen durch Vergleich desneuen Firmennamens mit denvorhandenen Firmennamen inder Firmendatei

Firma=neu?

Vergabe einesFirmenkurz-namens;

Firmeneintraganzeigen undüberprüfen

neuenFirmen-eintragin derFirmen-datei vor-nehmen

GeändertenFirmen-eintrag inFirmen-dateieintragen

Firmeneintrag anhand desFirmenkurznamens aus derFirmendatei lesen undanzeigen

Änderungenvorgenom-

men?

GeändertenFirmeneintragin Firmendateieintragen

Prüfen, ob esKundeneinträge in derKundendatei gibt, die denFirmennamen enthalten

Kundeneinträge enthaltenFirmenkurz-

name?

Hinweis,dass erstalle ent-sprech-endenKunden-einträgegeändertwerdenmüssen

Firmenein-trag anhanddes Firmen-kurznamensaus der Fir-mendateilesen, an-zeigen undnach Bestä-tigunglöschen

Änderungenvorgenom-

men?

Page 33: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

33Definitionen und Zusammenhänge

5.2.2.2. Die Definitionsphase – Alternative Darstellungsformen

• Entscheidungstabellen (ET) : Vorzunehmende Aktionen oder Handlungen, die von der Erfüllung oder Nichterfüllung mehrerer Bedingungen abhängen, können kompakt und übersichtlich definiert werden

• 5 Schritteo Ermittlung der Aktioneno Ermittlung der Bedingungeno Eintrag der Bedingungen und Aktionen in die ETo Eintrag aller Bedingungskombinationen o Eintrag der Aktionsanzeiger.

wenn

dann

Bedingungen

Aktionen

Bedingungsanzeiger

Aktionsanzeiger

Name der ET Regelnummern

Struktur einer Entscheidungs-tabelle

Page 34: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

34Horizontale Anordnung der Regeln

5.2.2.2. Die Definitionsphase – Alternative Darstellungsform

Kreditgren-ze über-schritten

Zahlungs-verhalteneinwandfrei

Überschrei-tungsbetrag< 500,- ?

Scheckeinlösen

Schecknichteinlösen

neue Kon-ditionenvorlegen

unlogisch

J

JJ X

N X X

NJ X

N X

N

JJ X

N X

NJ X

N X

Page 35: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

35Entscheidungsbaum

Scheckeinlösen

Scheckeinlösen,neue Konditionenverlegen

Schecknicht einlösen

Schecknicht einlösen

Scheckeinlösen

unlogisch

Scheckeinlösen

unlogisch

Überschreitungs-betrag < 500,-

Überschreitungs-betrag ³ 500,-

Überschreitungs-betrag < 500,-

Überschreitungs-betrag ³ 500,-

Überschreitungs-betrag < 500,-

Überschreitungs-betrag ³ 500,-

Überschreitungs-betrag < 500,-

Überschreitungs-betrag ³ 500,-

Zahlungsverhalteneinwandfrei

Zahlungsverhaltennicht einwandfrei

Zahlungsverhalteneinwandfrei

Zahlungsverhaltennicht einwandfrei

Kreditgrenzeüberschritten

Kreditgrenze nichtüberschritten

Scheck-Einlösung

Page 36: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

36Verknüpfung von ETn

5.2.2.3. Die Definitionsphase – ET-Verbunde

• Bei mehr als 5 Bedingungen können vollständige ETn nicht mehr aufgestellt werden

• Mögliche Verknüpfungsformen sind Sequenz, Verzweigung, Schleife und Schachtelung.

ET 1

ET 2

ET 1

ET 2 ET 3 ET 4

ET 1

…ET 2

ET 1

……

……

ET 4

ET 3

……

……

oder

Sequenz

Verzweigung

Schleife

Schachtelung

Page 37: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

37Definition und Beispiel

5.2.2.3. Die Definitionsphase – Erweiterte ETn

• Weitere Möglichkeit Entscheidungstabellen mit vielen Bedingungen kompakt darzustellen

• Besteht aus erweiterten Bedingungen und Aktionszeigern• Anstelle von J,N,- und X kann ein beliebiger Text im Anzeigerteil verwendet

werden.

ET: SoftWAir R1 R2 R3 R4 R5 R6

Alter >=18 >=18 >=18 >=18 >=2 u.<18 <2

Flugziel Miami N.Y. Miami Miami - -

Aufenthalt >=6 Tage J - N - - -

Abflug zw. 21. u. 30.12. N - - J - -

Preisnachlaß in % 20 0 0 0 30 100

Page 38: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

38Mehrtreffertabellen

5.2.2.3. Die Definitionsphase – Ein- und Mehrtreffer-Tabellen

Mehrtreffertabellen• Nicht-disjunkte Bedingungsanzeigerteile sind erlaubt.• Zwischen den Regeln können 4 verschiedene Beziehungstypen bestehen:

1. Gleichheit (Identität)• Sind die Bedingungsanzeiger zweier Regeln gleich, dann sind die

Regeln in Abhängigkeit von den Aktionsanzeigern entweder redundant, widersprüchlich oder zusammenfassbar

2. Ausschluss (Exklusion)• Ein gegenseitiger Ausschluss zweier Regeln liegt vor, wenn sie in

mindestens einer Bedingungszeile unterschiedliche Bedingungsanzeiger haben

3. Einschluss (Inklusion)• Liegt vor, wenn mindestens ein Bedingungsanzeiger B1 von R1 auch in

R2 enthalten ist und alle übrigen Bedingungen gleich sind4. Überschneidung (Intersektion).

• mindestens ein Bedingungsanzeiger B1 von R1 auch in R2 und ein weiterer Bedingungsanzeiger B2 von R2 auch in R1 enthalten ist und alle übrigen Bedingungsanzeiger gleich sind

Page 39: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

39Vorteile

5.2.2.3. Die Definitionsphase – Ein- und Mehrtreffer-Tabellen

• Vorteileo Erlauben eine übersichtliche und kompakte Darstellung von Aktionen, die

von mehreren Bedingungen abhängig sindo ETn können auf verschiedene Eigenschaften hin überprüft und optimiert

werdeno Werkzeuge unterstützen die Erstellung, Analyse und Optimierung von Etno Implementierungsphase:

Werkzeuge generieren den fertigen Quellcodeo Definitionsphase:

Abarbeitungsreihenfolge wird nicht festgelegt Freiheitsspielräume bleiben erhalten, die bei Kontrollstrukturen nicht

mehr vorhanden sind.

Page 40: 1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik.

40Zusammenfassung

5.2.3. Die Definitionsphase – Zusammenfassung

• Kontrollstrukturen legen innerhalb eines Algorithmus fest, in welcher Reihenfolge, ob und wie oft Anweisungen ausgeführt werden sollen. Die strukturierte Programmierung erlaubt nur lineare Kontrollstrukturen. Es lassen sich 4 verschiedene Typen unterscheiden : die Sequenz, die Auswahl, die Wiederholung und der Aufruf. Alle Typen lassen sich beliebig miteinander kombinieren und ineinander schachteln.

• 1 textuelle Darstellungsform (Pseudo-Code) und 2 grafische (Strukto-gramme und PAP).

• Entscheidungstabellen erlauben eine tabellarische oder grafische Darstellung (Entscheidungsbäume) von durchzuführenden Aktionen in Abhängigkeit von Bedingungen.

• Tritt zu einer zeit genau eine Bedingungskonstellation auf, dann handelt es sich um eine Eintreffer-Tabelle.

• Begrenzte Entscheidungstabelle liegt vor, wenn als Bedingungsanzeiger nur J,N und – ,und als Aktionszeiger nur X verwendet werden.

• Erfordert eine Problembeschreibung eine Kombination von Entscheidungs-tabellen (möglich sind Sequenz, Verzweigung, Schleife und Schachtelung), dann geschieht dies durch einen Entscheidungstabellen-Verbund.