Kapitel 12: Datenmodellierung mit ERM & UML

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

ER-Modell: Objekte und Klassen
Zur Rolle der Sprache bei der Modellierung von Datenbanken
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Assoziationen Verbindungen zwischen Objekten einer Klasse
Das Entity-Relationship-Modell
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Java: Objektorientierte Programmierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Themenschwerpunkte Übung 3:
Objektorientierte Konzepte und Notation in UML
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Relationaler Datenbankentwurf (I)
Modellierung komplexer Realität mit Objekten
Software-Technik: (fortgeschrittene) Klassendiagramme
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
DVG Klassen und Objekte
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Kapitel 2: Konzeptuelle Modellierung
Kapitel 9: Integritätssicherung
Kapitel 11: Relationale Entwurfstheorie
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Objekt-Definitionssprache ODL (1/24) Alle Elemente des Objektmodells können beschrieben.
UML-Klassendiagramm: Assoziationen (1)
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
Polymorphe Konsistenzbedingungen (1)
Aufgabe Aufgabe: Einflussfaktoren: ?
OO Analyse und Entwurf für Anwender
UML Begleitdokumentation des Projekts
Visualisierung objektrelationaler Datenbanken
Objektorientierte Modellierung
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
6. Vorlesung: Statische Konzepte
12. Vorlesung: Aktivitätsdiagramme
Schlüssel von Beziehung(styp)en (1|5)
Unified Modeling Language Repetition / Einführung zu UML
ODL-Spezifikation von Kunde
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Generalisierung/Spezialisierung Subtypisierung/Vererbung
Vorlesung #2 Datenbankentwurf
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
UML-Kurzüberblick Peter Brusten.
Vom Geschäftsprozess zum Quellcode
Datenbanksysteme für Hörer anderer Fachrichtungen
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Wenn alles so einfach wäre
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
UML-Klassendiagramm: Klassen
Objektorientierte (OO) Programmierung
Vorlesung #3 ER Modellierung
 Präsentation transkript:

Kapitel 12: Datenmodellierung mit ERM & UML 12.2 Entwurfsmethodologie 12.3 Abbildung ERM auf Relationenmodell 12.4 Datenmodellierung mit UML 12.5 Anforderungsanalyse und Entwurfsmethodologie Informationssysteme SS2004

Einordnung Ziel und Infrastruktur der Datenmodellierung: Beschreibung der für ein IS relevanten Informationszusammenhänge der realen Welt in einer hinreichend präzisen und konzisen Weise unter Verwendung von: einer „semantischen“ Modellierungssprache einer (i.d.R. informell-groben) Entwurfsmethodologie Sofwarewerkzeugen (DB-Design-Tools, Repositories) Grobe Vorgehensweise bei der Entwicklung von IS: Anforderungsanalyse Datenmodellierung (plus Funktions- und Prozessmodellierung,  Kapitel 13 sowie Vorlesungen über Softwaretechnik) Abbildung des „semantischen“ Datenmodells auf (relationale) DB-Schema Informationssysteme SS2004

12.1 Entities (Objekte) und Entity-Mengen Ein Entity ist ein durch Attribute beschriebenes Objekt der realen Welt. Gleichartige Entities werden zu einem Entity-Typ zusammengefasst. Entities desselben Typs bilden eine Entity-Menge. Eine minimale Attributmenge, die jedes Entity einer Entity-Menge eindeutig identifiziert, heißt Schlüssel(kandidat). PNr A1 Bez ... Attribute Entity Produkte Gewicht An Preis Informationssysteme SS2004

Relationships (Beziehungen, Assoziationen) Eine Relationship-Menge R zwischen Entity-Mengen E1, ..., En ist eine Teilmenge von E1  ...  En. Ein Element von <e1, ..., en> von R heißt Relationship zwischen den Entities e1, ..., en. Eine minimale Teilmenge der Schlüssel von E1, ..., En, die jede Relationship in R eindeutig identifiziert, heißt Schlüssel(kandidat). Entity 1 A1 An Attribute ... Entity 2 Relation- ship Produkte Vorrat Lager Lagerung PNr Lager- ort Studenten Note Prüfungs- fächer Prüfung MatrNr Bez Informationssysteme SS2004

Entity oder Relationship ? (Varianten 1 und 2) Kunden BestNr Produkte Bestellungen KNr PNr Datum Menge Status ... Variante 1 Kunden BestNr Produkte Bestellungen KNr PNr Datum Menge Status ... hat- bestellt ist- Variante 2 Informationssysteme SS2004

Entity oder Relationship ? (Variante 3) Kunden BestNr Produkte Bestellungen KNr PNr Menge Status ... Kalender- tage Datum Variante 3 Informationssysteme SS2004

Kardinalitätsbedingungen für Relationships (1) als Integritätsbedingung: minimale und maximale Kardinalität eines Entities der Entity-Menge E in einer Relationship-Menge R Kunden Produkte hat-bestellt Bestellungen Maschinen Lager ist-bestellt Fertigung Lagerung (1,*) (1,1) (0,*) Informationssysteme SS2004

Kardinalitätsbedingungen für Relationships (2) Kunden Bestellungen Maschinen Lager Produkte Informationssysteme SS2004

Typen von Kardinalitätsbedingungen (1) M:N-Relationship E1 E2 R (0,*) oder (1,*) 1:N-Relationship E1 E2 R (0,*) oder (1,*) (0,1) oder (1,1) N:1-Relationship E1 E2 R (0,1) oder (1,1) (0,*) oder (1,*) Informationssysteme SS2004

Typen von Kardinalitätsbedingungen (2) 1:1-Relationship E1 E2 R (0,1) oder (1,1) Optionale Rolle von E1 in R E1 E2 R (0,beliebig) beliebig Verpflichtende Rolle von E1 in R E1 E2 R (1,beliebig) beliebig Informationssysteme SS2004

Rekursive Relationships Relationships auf einer Menge erfordern Rollennamen Angestellte ist-Chef-von Vorge- setzter Unter- gebener (0,1) (0,*) Personen Ehe Mann Frau Informationssysteme SS2004

Ternäre Relationships: Beispiel 1 Kunden Stückzahl Produkte Verkauf Händler (1,*) (0,*) Achtung: Ternäre (und höherstellige) Relationships sind nicht immer zerlegbar in mehrere binäre Relationships Informationssysteme SS2004

Ternäre Relationships: Beispiel 2 Kunden Bank- konten hat-Konto Zweig- stellen (1,*) (0,*) Kunden Bank- konten hat-Konto Zweig- stellen (1,*) (0,*) Betreuung Konto- führung Informationssysteme SS2004

Schwache Entities und Relationships Bestellungen Bestell- posten bein- haltet Kunden (1,*) (1,1) Produkte hat- bestellt ist- Menge LfdNr BestNr Datum (0,*) 1:N-Beziehung mit abhängigen „Kindern“ Angestellte Kinder hat (0,*) (1,1) Vorname PersNr Name Gehalt Gebtag Informationssysteme SS2004

Aggregation Zusammengesetzte Entities oder Relationships ( ERM-Erweiterungen wie z.B. SERM, siehe z.B. Aris Toolset) Arbeiter Maschinen Bedienung (1,*) Fertigung Produkte (0,*) Informationssysteme SS2004

Generalisierung (ISA-Relationships) 1:1-Beziehung zwischen E (Superklasse) und F (Subklasse) mit F  E und Vererbung der E-Attribute an F Kunden KNr Saldo Lieferanten Angestellte PersNr Gehalt Personen Name Adresse TelNr Motor- fahrzeuge Wasser- Fahrzeuge Bez AnzPers Motorboote Tiefgang Leistung Informationssysteme SS2004

12.2 Entwurfsmethodologie (grob) Analyse des Informationsbedarfs Festlegung von Entity-Mengen mit ihren Attributen Festlegung von Primärschlüsseln Bildung von Generalisierungsbeziehungen Festlegung von Relationship-Mengen Spezifikation von Kardinalitätsbedingungen und ggf. weiteren Integritätsbedingungen Informationssysteme SS2004

Beispiel Flugbuchungssystem Es sollen die Informationszusammenhänge für ein Flugbuchungssystem einer Fluggesellschaft modelliert werden. Flüge werden durch eine Flugnummer identifiziert, die für Flüge am selben Tag eindeutig ist. Passagiere können einen Flug reservieren, was durch eine Reservationsnummer bestätigt wird. Eine Reservation wird zu einer festen Buchung, indem man ein Ticket käuft. Bei der Reservation oder später können Passagiere auch eine Sitzplatzreservierung vornehmen. Für Teilnehmer des Vielfliegerprogramms ist die gesamte mit der Fluggesellschaft geflogene Kilometerzahl von Bedeutung. Flüge fliegen von einem bestimmten Flugsteig ab. Passagiere müssen vor dem Abflug eine Check-in-Prozedur durchlaufen. Dabei können sie auch Gepäckstücke aufgeben. Informationssysteme SS2004

Simples ERM für Flugbuchungssystem Passagiere mit Reservation Passagiere Flüge Flugsteige Gepäckstücke fliegt-ab FSNr Flug Nr Datum Abflugzeit Ankunftszeit GNr Gewicht Check-in TicketNr bein- haltet ResNr kmStand Gebuchte Passagiere VFNr Vielflieger Adresse Name SitzNr Sitze sitzt-auf Reservation Buchung verfügt-über (0,*) (1,1) (1,*) (0,1) Informationssysteme SS2004

12.3 Abbildung ERM auf Relationenschema (1) Regel 1: Jede Entity-Menge bildet eine Relation E A1 An ... E (A1, ..., An) Regel 2: M:N-Relationships bilden eigene Relationen E1 A1 An E2 R ... K1 K2 (0,*) oder (1,*) R (K1, K2, A1, ..., An) Informationssysteme SS2004

12.3 Abbildung ERM auf Relationenschema (2) Regel 3: N:1-, 1:N- und 1:1-Relationships können in eine Entity-Relation integriert werden E1 A1 An E2 R ... K1 K2 (0,1) oder (1,1) (0,*) (1,*) E1 (K1, ..., A1, ..., An, K2) E2 (K2, ...) Regel 4: Eine schwache Entity-Menge bildet eine eigene Relation E S R ... (1,*) (1,1) E (A1, ..., An) S (A1, B1, ..., Bm) A1 An B1 Bm Informationssysteme SS2004

12.3 Abbildung ERM auf Relationenschema (3) Regel 5: Generalisierung und Spezialisierung bilden jeweils eigene Relationen F B1 Bm ... E (A1, ..., An) F (A1, B1, ..., Bm) E A1 An F (A1, ..., An, B1, ..., Bm) wobei E nur Tupel enthält für Entities aus E - F Informationssysteme SS2004

Abbildung für Flugbuchungs-Beispiel Flüge (FlugNr, Datum, Abflugzeit, Ankunftszeit, FSNr) Flugsteige (FSNr) Sitze (FlugNr, Datum, SitzNr) PassagiereMitReservation (ResNr, Name, Adresse, FlugNr, Datum, SitzNr, TicketNr) GebuchtePassagiere (TicketNr, Name, Adresse) Buchungen (TicketNr, FlugNr, Datum) Vielflieger (VFNr, Name, Adresse, kmStand) Gepäckstücke (GNr, Gewicht) Check-In (FlugNr, Datum, TicketNr, GNr) Informationssysteme SS2004

12.4 Datenmodellierung mit UML UML (Unified Modeling Language) ist der Industriestandard zur objektorientierten Anforderungsanalyse, Modellierung, Spezifikation und Dokumentation von Daten und Programmen Gegenüber der Datenmodellierung mit ERM kann man mit UML sowohl statische als auch dynamische Aspekte eines IS beschreiben; insbesondere werden unterstützt: Objektaggregationen Funktionen auf Objekten (Methoden) Interaktionen zwischen Objekten und ganze (Geschäfts-) Prozesse ( Kapitel 11) UML zielt auf das ganze Spektrum von der informellen Kommunikation mit Anwendern bis hin zur Programmdokumentation. Dazu wird eine Vielfalt an Diagrammtypen angeboten, deren formale Semantik jedoch nicht immer klar ist. Informationssysteme SS2004

Beispiel eines Klassendiagramms Bestellung BestNr: Integer BestDatum: Date Status: String ... + Bestellen (in KNr): Integer + Stornieren (in BestNr, in KNr) + Frachtkosten ( ): Money + Rechnungssume ( ): Money Kunde KNr: Integer Name: String Rabatt: Integer Produkt PNr: Integer Bez: String Preis: Money + Nachbestellen ( ) Eilbestellung Kurierdienst: String + Extraspesen ( ): Money Bestellposten LfdNr: Integer Menge: Integer + Hinzufügen (in PNr) + Teilbetrag ( ): Money 1..1 0..* 1..* Informationssysteme SS2004

Klassen und Objekte class name attribute:type = initial value operation (arg list): return type Klasse (Objekttyp, Komponente) Attribute Methoden mit in-, out- und inout-Parametern +: public, -: private, #: protected constraints Konsistenzbedingungen, Vor- und Nachbedingungen (constraints) in Textform object name: class name Objekt (Instanz einer Klasse) class name Parametrisierte Klasse (Template Class) z.B. List <T> T Informationssysteme SS2004

Assoziationen (Relationships) class A Assoziation / Relationship (assocations) zwischen Klassen mit Rollennamen und Kardinalitäten (min..max) und ggf. der Option ordered class B role A role B multip- licity A licity B class A Beziehungsklasse (assocation class): entspricht den ERM-Relationships mit eigenen Attributen class B association class class A class B Abhängigkeit (dependeny) der Klasse A von Klasse B (z.B. Server-API-Klasse B und Client-Klasse A) Informationssysteme SS2004

Aggregationen und Kompositionen class A part class B Aggregation (aggregation) mit shared objects (Sonderfall der Assoziation) Komposition (composition) mit non-shared objects Informationssysteme SS2004

Generalisierungen superclass subclass 1 subclass 2 discriminator Generalisierungshierarchie (generalization) abstract (interface) class implementation Beziehung zwischen Schnittstelle (ADT) und Implementierung (Sonderfall der Generalisierung / Spezialisierung) Informationssysteme SS2004

Weitere Diagrammtypen in UML ·   Paket-Diagramme (Package Diagrams) als vergröberte Sicht auf große Klassendiagramme, ·   Anwendungsfall-Diagramme (Use-Case Diagrams) zur groben Darstellung der Beziehung zwischen Benutzern und Funktionen, ·  Interaktionsdiagramme (Sequence Diagrams) zur Darstellung der Methodenaufrufe zwischen Objektklassen, ·   Zustandsübergangsdiagramme (State-Transition Diagrams) zur Darstellung des Verhaltens von Objekten in Anwendungsabläufen, ·   Aktivitätsdiagrame (Activity Diagrams) zur Darstellung des Kontroll- und Datenflusses zwischen Objekten. Informationssysteme SS2004

Paketdiagramme package name 1 class A Paketdiagramm name 2 (package diagram) class B class C package name 1 name 2 Informationssysteme SS2004

Anwendungsfalldiagramme (use-case diagram): Zusammenhang zwischen Benutzern bzw. Rollen und Funktionen / Ereignissen Actor 1 (z.B. Lager- disponent) Nach- bestellen Bestellung Stornieren Eil- bestellung Actor 2 (z.B. Kunde) Informationssysteme SS2004

Interaktionsdiagramme an object a new object a third  create request reply delete Interaktionsdiagramm (sequence diagram): Nachrichtenfluss zwischen Objekten (bzw. Threads) self call Informationssysteme SS2004

12.5 Objektorientierte Analyse- und Entwurfsmethodologie z.B. OMT (Object Modeling Technique): strukturelle Modellierung der Datenobjekte Dynamikmodellierung Funktionsmodellierung mit iterativen Verfeinerungen Softwarewerkzeuge (z.B. Rational Rose) begleiten diesen Entwurfsprozess. Informationssysteme SS2004