SWE4 Slide 1. Software-Engineering. Vorlesung 4 vom Sebastian Iwanowski FH Wedel

Ähnliche Dokumente
Software-Engineering

Wiederholung: Relationale Algebra

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Objektorientierte Datenbanken

SWE5 Slide 1. Software-Engineering. Vorlesung 5 vom Sebastian Iwanowski FH Wedel

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Grundlagen des relationalen l Modells

Grundlagen des relationalen Modells

Fortsetzung: Projektion Selektion. NULL Werte

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007

Grundlagen des relationalen Modells

HPI MOOC. n-äre Relationships. Rollen von Relationships. Konvertierung in binäre Relationships. Attribute an Relationships

Das relationale Modell

konzeptueller Entwurf mittels E/R-Modell einfache Funktionalitäten n-stellige Relationships (n>2) (siehe nächste zwei Folien) schwache Entities

Architektur eines DBMS Logische Optimierung

Studierende, die diese Vorlesung hören, haben sich auch für folgende Lehrveranstaltungen interessiert:

Grundlagen des relationalen Modells

Rückblick: Entity-Relationship-Modell

Wie definieren wir das Relationen-

Aufgabensammlung SQL SW4 1. Einfache Anfragen

Datenbanksysteme (1)

Datenbanksysteme SS 2009

Referentielle Integrität

Das relationale Modell

Referentielle Integrität

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Rückblick: Datenbankentwurf

Datenbankentwurf. VO Datenmodellierung. Katrin Seyr. Institut für Informationssysteme Technische Universität Wien.

Software-Engineering

SWE3 Slide 1. Software-Engineering. Vorlesung 3 vom Sebastian Iwanowski FH Wedel

Datenmodellierung. VU , WS 2016 Das relationale Modell. Nysret Musliu, Sebastian Skritek

Datenintegrität. Bisherige Integritätsbedingungen

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Termin 12: Datenbanksysteme (2) - Einführung in SQL

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Objektorientierte Datenbanken

Inhalt. 2.1 Datenbankentwurf. 2.2 Relationales Modell. 2.3 Relationale Entwurfstheorie. 2.4 Relationale Algebra. 2.5 Structured Query Language (SQL)

Wiederholung VU Datenmodellierung

Datenmodellierung VU Einführung SS 2016

Kapitel 3: Datenbanksysteme

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

Software-Engineering

Acknowledgments. Datenmodellierung. Übersicht. Das Relationale Modell: Begriffsklärung VU , WS Das relationale Modell

Inhaltsverzeichnis.

Das konzeptionelle Datenmodell

Klausur Software-Engineering SS 2005 Iwanowski

Entity-Relationship-Modell. Ein Studierender kann (oder muss) mehrere Vorlesungen hören. Eine Vorlesung wird i.a. von mehrerer Studierenden gehört.

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Relationale Abfragesprachen

Theorie zur Übung 8 Datenbanken

Methoden des Software Engineering

3. Das Relationale Datenmodell

Datenbanken: ER-Modell

Datenbanksysteme (2) Einführung in SQL

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Introduction to Data and Knowledge Engineering Übung 1: Entity Relationship Model

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

Teil II: OOP und JAVA (Vorlesung 9)

Einführung in Datenbanksysteme

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

Kurzeinführung in UML

Normalisierung I. Ziele

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Datenbanksysteme 2011

Software-Engineering

Relationale Anfragesprachen

ERM Modellierung Teil 2

Kapitel 8 Dr. Jérôme Kunegis. SQL Continued. WeST Institute for Web Science & Technologies

Kapitel 3: Entity-Relationship-Modell

Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück

Software-Engineering

Datenbanksysteme 2015

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Kapitel 1: Einführung 1.1 Datenbanken?

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 4 -

VO Datenmodellierung. Katrin Seyr

Datenbanken. Semantische Datenmodellierung:

Datenbanken Unit 3: Das relationale Modell

Aufgabe 1) Übung 4: 1.2

Datenbanksysteme 2015

Teil 2: Objektorientierte deduktive Datenbanken (DOOD)

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken. SQL Teil 2. Dr. Jérôme Kunegis Wintersemester 2013/14


Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

Informations-, Daten- und Wissensmanagement

Software-Engineering

Übungen Softwaretechnik I

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Objektrelationale Datenbanken

7. Analyse-Phase: Datenmodellierung Software Engineering

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

Web Science & Technologies University of Koblenz Landau, Germany. Grundlagen der Datenbanken SQL. Dr. Gerd Gröner Wintersemester 2013/14

Kapitel 4: Konzeptueller Datenbankentwurf

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Transkript:

SWE4 Slide Software-Engineering Vorlesung 4 vom 08..2004 Sebastian Iwanowski FH Wedel

SWE4 Slide 2 Software-Engineering Vorlesungsthemen:. Überblick über das Thema und die Vorlesung 2. Grundlegende Prinzipien 3. Softwareplanung 4. Systemanalyse 5. Aufwandsabschätzung 6. Systementwurf 7. UML 8. ARIS 9. Qualitätsmanagement 0.Projektmanagement

SWE4 Slide 3 Systemanalyse: Prozessorientierte Sicht Zusammenfassung der Systemanalyse aus prozessorientierter Sicht: Strukturierte Analyse (SA) (Tom demarco, 978) Bestandteile: Datenflussdiagramme (hierarchisch verschachtelt) Data Dictionaries Darstellung von Kontrollflüssen (nicht genormt) Verwendung von Entscheidungsbäumen und -tabellen Erweiterung der Strukturierten Analyse: Real Time Analysis (SA/RT) (Derek Hatley, 987) Erweiterte Beschreibungsmöglichkeiten aus ereignisorientierter Sicht

SWE4 Slide 4 Systemanalyse: Prozessorientierte Sicht Ereignisorientierte Sichtweise: Ereignis Prozess Ereignis Die ereignisorientierte Sichtweise wird in dem Kapitel zu ARIS besprochen.

SWE4 Slide 5 Systemanalyse: Datenorientierte Sicht Entity-Relationship-Modellierung (ERM): (Chen 976) Entitäten Entitäten sind die zu unterscheidenden Einheiten des Systemmodells. Entitäten werden durch Attribute beschrieben. Die Attribute haben bestimmte Wertebereiche. Ein Entitätstyp fasst Entitäten mit gleichen Attributen zu einer Menge von gleichartigen Entitäten zusammen. Innerhalb eines Entitätstyps ist jede Entität durch Schlüsselattribute (häufig nur ein Schlüsselattribut) eindeutig bestimmt.

SWE4 Slide 6 Entity-Relationship-Modell MatrNr VorlNr Student Vorlesung SWS Semester Titel Zwischen den Entitäten bestehen Beziehungen PersNr Rang Assistent Professor Raum Fachgebiet PersNr

SWE4 Slide 7 Entity-Relationship-Modell Beziehungen (Relationships) zwischen Entitäten: Entitäten desselben Typs haben gleichartige Beziehungen Assoziationen zwischen Entitätstypen: Assoziationen verbinden zwei oder mehr Entitätstypen Assoziationen sind nicht gerichtet. Assoziationen haben eindeutige n. Assoziationen können Attribute haben. Assoziationen können von Entitäten aus spezifisch bezeichnet werden.

SWE4 Slide 8 MatrNr Semester Entity-Relationship-Modell (mit entitätsspezifischen Bezeichnungen der Assoziationen) Student hört Hörer Voraussetzung Vorgänger wirdgehört wirdgeprüft wird abgefragt Vorlesung Nachfolger wird gelesen VorlNr SWS Titel Note Prüfung Lesung PersNr Assistent Boss Arbeit prüft beschäftigt Professor liest Rang Raum Fachgebiet PersNr

SWE4 Slide 9 Entity-Relationship-Modell Kardinalitäten für Assoziationen Kardinalitäten geben für jeden an einer Assoziation beteiligten Entitätstyp an, wieviele Entititäten dieses Typs an der Assoziation beteiligt sein dürfen (müssen), wenn die Entitäten auf der anderen Seite der Assoziation fest gewählt sind. Kardinalität bedeutet: genau eine Kardinalität 3 bedeutet: genau 3 Kardinalität n bedeutet: mehrere (mindestens eine) Kardinalität m bedeutet: mehrere (mindestens eine), aber nicht notwendig genauso viele wie auf der anderen Seite (wenn dort n steht) Kardinalität 2..5 bedeutet: zwischen 2 und 5 Kardinalität 0.. bedeutet: eine oder gar keine

SWE4 Slide 0 Entity-Relationship-Modell (mit Kardinalitäten) Voraussetzung MatrNr Student n Hörer m n m Vorlesung VorlNr SWS Semester n m n Titel Note Prüfung Lesung PersNr Assistent n Arbeit Professor Rang Raum Fachgebiet PersNr

Entity-Relationship-Modell MC-Notation für Kardinalitäten: C bedeutet: ist optional M bedeutet: können mehrere sein (aus Balzert, S. 225 ff.) SWE4 Slide

Entity-Relationship-Modell Wichtiges Anwendungsgebiet für ERM: Modellierung für Datenbanken Ein ER-Modell kann also auch für den Systementwurf eingesetzt werden! Methode zur Umwandlung eines ER-Modells in ein relationales Datenbankmodell: Aus den Entitätstypen werden Tabellen (mit den Attributen und n:-assoziationen als Spalten und den Entitäten als Zeilen) Aus den m:n-assoziationen werden Tabellen (mit den Attributen und Entitätstypen als Spalten und den konkreten Beziehungen zwischen den Entitäten als Zeilen) Achtung: ER-Modell Relationales Modell SWE4 Slide 2

SWE4 Slide 3 Das relationale Modell zum ER-Modell des Bsp.: Raum Rang PersNr 226 C4 Sokrates 225 7 C4 Kant 237 36 C4 Curie 236 309 C3 Augustinus 234 52 C3 Popper 233 30 C3 Kopernikus 227 232 C4 Russel 226 Professor Semester MatrNr 8 Xenokrates 24002 2 Feuerbach 29555 2 Theophrastos 2920 3 Carnap 2806 6 Schopenhauer 27550 8 Aristoxenos 26830 0 Fichte 2620 2 Jonas 25403 Student 237 4 Die 3 Kritiken 4630 234 2 Glaube und Wissen 5022 233 2 Der Wiener Kreis 5259 wirdgelesen SWS Titel VorlNr 237 4 Grundzüge 500 226 2 Bioethik 526 226 3 Wissenschaftstheorie 5052 225 4 Logik 4052 225 2 Mäeutik 5049 226 3 Erkenntnistheorie 5043 225 4 Ethik 504 Vorlesung Nachfolger Vorgänger 504 500 5259 5052 5052 504 5052 5043 526 504 5049 500 5043 500 Voraussetzung 526 2806 5022 25403 5022 29555 5049 2920 504 2920 VorlNr MatrNr 500 2620 500 2920 5259 2806 5052 2806 504 2806 4052 27550 500 27550 Hörer Boss Fachgebiet PerslNr 225 Ideenlehre Platon 3002 226 Gott und Natur Spinoza 3007 227 Keplersche Gesetze Newton 3006 227 Planetenbewegung Rhetikus 3005 226 Sprachtheorie Wittgenstein 3004 225 Syllogistik Aristoteles 3003 Assistent Note PersNr VorlNr MatrNr 226 500 2806 2 237 4630 27550 2 225 504 25403 Prüfung

SWE4 Slide 4 Systemanalyse: Datenorientierte Sicht Was fehlt bei ER-Modellen? keine explizite Kennzeichnung und Unterscheidung von hierarchischer und modularer Zerlegung keine klare Unterscheidung zwischen Entität und Beziehung keine klare Abgrenzung der Entitäten voneinander Lösung: Objektorientierte Modellierung Vererbung als Mittel hierarchischer Zerlegung Kapselung der Objekte (Entitäten): Zugriff von außen nur über Methoden weitere Kennzeichnungen und Unterscheidungen (nur in UML-Notation)

SWE4 Slide 5 Das UML-Modell zum ER-Modell des Bsp.: Attribute Methoden Studenten +M atrn r : int + : String +Semester : int +Notenschnitt() : float +SummeW ochenstunden() : short +wirdgeprüft +P rüfling +hört +Hörer.. Rollenname Assoziationsname Hörer hören + Vorgänger +Nachfolger Vorlesungen +VorlNr : int +Titel : String +S W S : int +AnzH örer() : int +DurchfallQuote() : float voraussetzen Voraussetzung + wirdgelesen Prüfungen +Note : Decimal +Datum : Date +verschieben() + Prüfungsstoff + Prüfer +Prüfer +Prüfungsstoff gelesenvon Lesung Unterscheide: Assistenten +Fachgebiet : String +Gehalt() : short Attribute von Methoden Rollen von Assoziationen + Prüfer arbeitenfür Arbeit Angestellte +Boss Professoren +Rang : String +Notenschnitt() : float +Gehalt() : short +Lehrstundenzahl() : short +PersNr : int + : String gerichtete von ungerichtete Assoziationen +Gehalt() : short (erst bei Systementwurf relevant) +Dozent

SWE4 Slide 6 Das Konzept der Vererbung am Beispiel: (in ERM-Notation) Person is-a Generalisierung Spezialisierung Student Angestellter PersNr MatrNr is-a Fachgebiet Assistent Professor Rang Raum

SWE4 Slide 7 Einbau der Vererbung in das bisherige Bsp.: (in ERM-Notation) Voraussetzung MatrNr VorlNr Student Hörer Vorlesung SWS Semester Titel Note Prüfung Lesung PersNr Rang Person is-a Fachgebiet Assistent Arbeit is-a Professor Raum Angestellter PersNr PersNr Wie sieht die Vererbung in UML aus?

SWE4 Slide 8 UML-Notation für Beziehungen Komposition

SWE4 Slide 9 Das Beispiel mit Vererbung in UML-Notation (nur eine Hierarchiestufe) Studenten +M atrn r : int + : String +Semester : int +Notenschnitt() : float +SummeW ochenstunden() : short +wirdgeprüft +P rüfling +hört +Hörer.. Hörer hören + Vorgänger +Nachfolger Vorlesungen +VorlNr : int +Titel : String +S W S : int +AnzH örer() : int +DurchfallQuote() : float voraussetzen Voraussetzung + wirdgelesen Prüfungen +Note : Decimal +Datum : Date +verschieben() + Prüfungsstoff + Prüfer +Prüfer +Prüfungsstoff gelesenvon Lesung Assistenten +Fachgebiet : String +Gehalt() : short + Prüfer arbeitenfür Arbeit +Boss Professoren +Rang : String +Notenschnitt() : float +Gehalt() : short +Lehrstundenzahl() : short +Dozent Angestellte +PersNr : int + : String +Gehalt() : short

SWE4 Slide 20 UML-Notation für Beziehungen Was bedeuten diese beiden Pfeile? Komposition Aggregation: Zerlegung eines Objekts in seine Bestandteile Aggregationen in ERM-Notation: part-of Komposition: Zerlegung eines Objekts in Bestandteile, die selbständig gar nicht existieren können

SWE4 Slide 2 Bsp. für Aggregation Auto Attribute Boot Attribute Methoden Methoden Motor Attribute Methoden

SWE4 Slide 22 Bsp. für Komposition Studenten +MatrNr : int + : String +Semester : int +Notenschnitt() : float +SummeWochenstunden() : short +Prüfling absolviert... +Prüfer Prüfungen +Note : Decimal +Datum : Date +verschieben() +Prüfungsstoff...

Zum Abschluss: Übung für ERM-Notation ) Geben Sie die Kardinalitäten in anderer Notation an: (aus Balzert ) 2) Was bedeuten die folgenden Elemente: Rechteck Raute Dreieck Kante Kreis Entity-Schlüssel SWE4 Slide 23

Beim nächsten Mal: Zusammenfassung der Systemanalyse Aufwandsabschätzung SWE4 Slide 24