Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vorlesung Softwaretechnik Prof. Dr.-Ing.habil. Dipl.Math. Klaus-Peter Fähnrich (Wintersemester 2001/2002) Universität Leipzig Institut für Informatik."—  Präsentation transkript:

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

2 2 1.Datenorientierte Sicht 1.Entity-Relationship-Modell 1.Vergleich ER-Konzepte vs OO-Konzepte 2.Schlüssel, Tabellen und Dateien 3.Semantische Datenmodelle 4.Unternehmensdatenmodelle und Weltmodelle 2.Modellierung multidimensionaler Datenstrukturen 1.Data Warehouse, Data Marts, OLAP und Hyperwürfel 2.Modellierungsansätze 3.Abbildung auf Tabellen 3.Data Dictionary 4.Zusammenfassung 2.Algorithmisch- und regelbasierte Sicht Inhalt 5. Die Definitionsphase – Datenorientierte Sicht

3 3 1.Erläuterung der Begriffe Entität, Entitätstyp, Entitätsmenge, Beziehung, Beziehungstyp, Attribut und Schlüssel. 2.Kardinalitäten 3.Konzepte Aggregation und Vererbung 4.Unterschiede zwischen ER- und OO-Modell 5.Begriffe Data Warehouse, Data Mart, Hyperwürfel, multidimensionale Datenstruktur, OLAP und Data Mining 6.Erstellen eines ER-Modells, einer Assoziationsmatrix für eine gegebene Aufgabenstellung 7.Erstellen eines Hyperwürfels und seiner Darstellung durch einen ER- Modell 8.Definition und hierarchische Anordnung von Datenstrukturen als Data-Dictionary-Einträge Lernziele 5.1. Die Definitionsphase – Datenorientierte Sicht

4 4 Basiskonzepte : Funktionale Sicht 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 untereinander o Die Analyse der Information erfolgt aus fachlogischer Sicht Ergebnis o Konzeptionelles Modell, das gegen Veränderungen der Funktionalität weitgehend stabil ist o Semantische Datenmodellierung o Erweiterung um Aggregation und Vererbung

5 5 Objekte,Klassen & Attribute Die Definitionsphase – Vergleich: ER vs OO

6 6 Assoziationen Die Definitionsphase – Vergleich: ER vs OO

7 7 Kardinalitäten Die Definitionsphase – Vergleich: ER vs OO Alternativen bei Kardinalitätsangaben MC vs numerische Notation

8 8 Schlüsseln 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: Stadt o Attribute: PLZ, Staat, Einwohnerzahl, Vorwahl o 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üsselkandidat o 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.

9 9 Tabellen und Dateien 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

10 10 Beispiel : Semantisches Modell für Seminar-Organisation Die Definitionsphase – Semantische Modelle

11 11 Assoziationsmatrix und Bewertung der semantischen Datenmodelle Die Definitionsphase – Semantische Modelle Zusammenhang mit Funktionsbäumen o Die in den Funktionsbäumen beschriebenen Funktionen benutzen die in ER-Diagrammen modellierten Datenstrukturen, um ihre Aufgabe zu erfüllen o Eine Möglichkeit den Zusammenhang zwischen beiden Sichten herzustellen, ist die Erstellung einer Assoziationsmatrix. Bewertung o 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.

12 12 Definitionen und Zusammenhänge Die Definitionsphase – Unternehmensdatenmodelle... Probleme bei der Betrachtung nur eines Bereiches eines Unternehmens: o Mehrfachverwaltung der gleichen Datenbestände o Brüche bei der Abwicklung von übergreifenden Geschäftsvorgängen o Inkompatible Informationsflüsse Ziel o Aufstellung eines umfassendes Unternehmensdatenmodells. Unternehmensdatenmodell o Soll die Informationsstrukturen und Geschäftsprozesse aller Bereiche eines Unternehmens unter Berücksichtigung der Schnittstellen zueinander in einheitlicher und ganzheitlicher Form darstellen Beschreibung von Unternehmensdatenmodellen o Semantische Datenmodelle o Je nach Abstraktionsebene und Verdichtungsgrad können Datenmodelle unterschiedlicher Ebenen definiert werden. Strategisches Datenmodell o Enthält nur die wichtigsten Entitätstypen und Beziehungen o Enthält nur grundsätzliche Branchenunterschiede o Umfasst in der Regel rund 20 bis 30 Entitätstypen und Beziehungen Nächste Abstraktionsebene o Zeigt bereits unterschiedliche Strukturen innerhalb einer Branche

13 13 Grobstruktur eines Unternehmensdatenmodells

14 14 Definitionen und Zusammenhänge Die Definitionsphase – Data Warehouse, Data Marts,... Data Warehouse o 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ügung o Sie erlauben dadurch dezentrale fachliche Sichten auf das zentrale Data Warehouse. OLAP (On-line Analytical Processing) o Beschreibt die Datenmodellierung in multidimensionalen Strukturen zur Datenanalyse o Bei multidimensionaler Aufbereitung k ö nnen die Daten vom Benutzer schneller und aussagekr ä ftiger zur Entscheidungsfindung analysiert werden Data Mining o Bezeichnet die automatische Suche nach unbekannten Zusammenh ä ngen in gro ß en Datenbest ä nden o 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)

15 15 Datencharakteristika der Architekturstufen

16 16 OLAP Die Definitionsphase – Multidimensionale Datenstrukt. OLAP-Systeme sollen... o Fachabteilungen die Möglichkeit geben, schnelle, interaktive und komplexe Analysen durchzuführen o die gesammelten Daten aus möglichst vielen verschiedenen Perspektiven zeigen o die Analyseergebnisse in akzeptabler Zeit bereitstellen Hyperwürfel o Quantitative Kennzahlen werden in mehrdimensionalen Datencontainern angeordnet.

17 17 Definitionen und Regeln 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-down o Ende der Verfeinerung, wenn ein Abstraktionsniveau erreicht ist, das für die Definitionsphase ausreicht o Wiederholungs- und Optionsklammern (Backus-Naur-Form) möglichst weit oben in der Hierarchie. o Zirkuläre Definitionen sind nicht erlaubt o Alias-Namen sind erlaubt (für Sonderfälle) o Problembezogene Namen wählen o Bereits definierte Datenstrukturen wiederverwenden o Nicht versuchen, Semantik durch Syntax auszudrücken o 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 )

18 18 Zusammenfassung (1) 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.

19 19 Zusammenfassung (2) 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.

20 20 1.Datenorientierte Sicht 2.Algorithmisch und Regelbasierte Sicht 1.Kontrollstrukturen 1.Sequenz, Auswahl, Wiederholung und Aufruf 2.Strukturierte Programmierung 2.Entscheidungstabellen und Entscheidungsbäume 1.Erstellung einer Entscheidungstabelle 2.Darstellungsformen 3.Entscheidungstabellen-Verbunde 4.Erweiterte Entscheidungstabellen 5.Eintreffer- und Mehrtreffer- Entscheidungstabellen 3.Zusammenfassung Inhalt 5.2. Die Definitionsphase – Algorithmische und Regelbasierte Sicht

21 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

22 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 Die Definitionsphase – Kontrollstrukturen

23 23 Dienen dazu den Ablauf eines Algorithmus zu steuern. Gute Kontrollstrukturen oErmöglichen problemangepasste und natürlichförmige Beschreibung von Problemlösungen oErlauben die Wiederspiegelung der Problemstruktur im Algorithmus oSollten leicht lesbar und verständlich sein oErlauben eine leichte Zuordnung zwischen statischem Algorithmustext und dynamischem Algorithmuszustand oDecken mit minimalen, orthogonalen Konzepten ein breites Anwendungsspektrum ab oErleichtern Korrektheitsbeweise von Algorithmen. 4 semantisch unterschiedliche Kontrollstrukturen: oSequenz oAuswahl oWiederholung oAnwendung anderer Algorithmen 3 verschiedene Notationen: oStruktogramm-Notation oPseudo-Code-Notation oProgrammablaufplan-Notation. Definition und Eigenschaften Die Definitionsphase – Sequenz, Auswahl,...

24 24 Sequenz

25 25 Auswahl

26 26 Mehrfachauswahl

27 27 Wiederholung

28 28 Wiederholung

29 29 Wiederholung

30 30 Definitionen und Zusammenhänge Die Definitionsphase – Strukturierte Programmierg Gemeinsames Kennzeichen der vorgestellten Kontrollstrukturen o Besitzen genau einen Ein- und einen Ausgang o 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 Kontrollstrukturen o Dijkstra subsummierte unter diesem Begriff verschiedene methodische Ansätze, die die Programmzuverlässigkeit verbessern o 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 Anforderungen o 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

31 31 Definitionen und Zusammenhänge Die Definitionsphase – Strukturierte Programmierung Struktogramme oOptimale grafische Darstellung von linearen Kontrollstrukturen oDer verfügbare Platz ermöglicht die Wahl aussagekräftiger Namen Programmablaufplan oFür grundlegende Kontrollstrukturen gibt es keine eigenen Symbole oVorgenommene Erweiterungen entsprechen nicht der ursprünglichen Intention oInsgesamt bieten PAPs dem Benutzer zu große Freiheiten Vorteile: Lineare Kontrollstrukturen oVereinheitlichung der Programmierstile, d.h. Standardisierung der Kontrollflüsse oÜbersichtliche, gut lesbare Anweisungsteile oLeichte Überprüfbarkeit der Termination oFür gleichartige Probleme entstehen gleichartige Kontrollfluss-Strukturen oStatische Überprüfung der Korrektheit möglich oAuswirkungen jeder Kontrollstruktur übersehbar Methodik: oFolgende Reihenfolge einhalten: 1.Immer zuerst die Kontrollstrukturen entwerfen 2.Erst dann die elementaren Anweisungen überlegen.

32 32 Beispiel : Struktogramm für die Seminarorganistaion

33 33 Definitionen und Zusammenhänge 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 Schritte oErmittlung der Aktionen oErmittlung der Bedingungen oEintrag der Bedingungen und Aktionen in die ET oEintrag aller Bedingungskombinationen oEintrag der Aktionsanzeiger. Struktur einer Entscheidungs- tabelle

34 34 Horizontale Anordnung der Regeln Die Definitionsphase – Alternative Darstellungsform

35 35 Entscheidungsbaum

36 36 Verknüpfung von ETn 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. Sequenz Verzweigung Schleife Schachtelung

37 37 Definition und Beispiel 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.

38 38 Mehrtreffertabellen 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 sind 4.Ü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

39 39 Vorteile Die Definitionsphase – Ein- und Mehrtreffer-Tabellen Vorteile oErlauben eine übersichtliche und kompakte Darstellung von Aktionen, die von mehreren Bedingungen abhängig sind oETn können auf verschiedene Eigenschaften hin überprüft und optimiert werden oWerkzeuge unterstützen die Erstellung, Analyse und Optimierung von Etn oImplementierungsphase: Werkzeuge generieren den fertigen Quellcode oDefinitionsphase: Abarbeitungsreihenfolge wird nicht festgelegt Freiheitsspielräume bleiben erhalten, die bei Kontrollstrukturen nicht mehr vorhanden sind.

40 40 Zusammenfassung 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.


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

Ähnliche Präsentationen


Google-Anzeigen