UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller

Slides:



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

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Objektorientierte Datenbanken
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Seminar Rechtsinformatik
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Inhaltsübersicht
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Lösungen
Kann eine XML-Datenbank temporal sein? Universität zu Köln Hauptseminar: Datenbanken vs. Markup Dozent: Prof. Dr. Manfred Thaller Referentin: Cigdem Varol.
Objektorientierte Konzepte und Notation in UML
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Modellierung komplexer Realität mit Objekten
Software-Technik: (fortgeschrittene) Klassendiagramme
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Software-Engineering II
DVG Klassen und Objekte
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
UML-Klassendiagramm: Assoziationen (1)
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Software Engineering SS 2009
12. Vorlesung: Aktivitätsdiagramme
10. Vorlesung: Dynamische Konzepte
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Sequenzdiagramme (1) Festlegen des Inter-Objekt-Verhaltens (Interaktionsstruktur, Verantwortlichkeiten) Sequenzdiagramm ist temporal orientiert zeigt.
Unified Modeling Language Repetition / Einführung zu UML
Entwurfs- und Implementationsdiagramme
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
Wasserfallmodell und Einzelbegriffe
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Relationale Datenbanken
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Objektorientierung.
SWT-Übung WS 10/ Zusammenfassung.
Objektorientierte Modellierung mit UML
Die Unified Modeling Language UML
Klassen und Klassenstruktur
Unified Modeling Language UML
Anwendungsfalldiagramm
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Sichtbarkeit einschränken
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Tutorium Software-Engineering SS14 Florian Manghofer.
A nwendungsfalldiagramm. Ü berblick  Allgemein  Anwendungsfalldiagramm in Stichpunkten  Zusammenhang  Anwendungsbereich  Diagramm.
UML – Unified Modeling Language
 Präsentation transkript:

UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller Referentin: Sarah Burmann Datum : 14.01.2010

Was ist UML? UML = Unified Modeling Language standardisierte Modellierungssprache (durch die OMG) legt einen bestimmten Sprachumfang fest in dem festgehalten ist, welche Begriffe Teil der Sprache sind und was die einzelnen Begriffe bedeuten ist darauf ausgelegt Modelle zum besseren Verständnis zu erstellen Elemente der Sprache werden durch grafische Elemente dargestellt (z.B. Klasse =Rechteck) besitzt eine Grammatik durch die verschiedene Elemente logisch miteinander verknüpft werden können

Was ist UML? wurde zur Erstellung von Modellen in der Softwareentwicklung entwickelt Modell = Betrachtung eines Teilausschnitts; wichtige Aspekte werden herausgestellt, unwichtige vernachlässigt/weggelassen (information hiding) UML ermöglicht eine einfache/einfachere Beschreibung eines Originals mit dem Ziel, dass Original besser verstehen zu können

Was ist UML? UML definiert 13 Diagrammtypen Je nach Betrachtungsweise werden unterschiedliche UML-Elemente und unterschiedliche Regeln zum Zusammenstellen benötigt verhindert, dass alle Formen verwendet werden müssen UML unterscheidet zwischen Struktur- und Verhaltensdiagrammen Strukturdiagramme: werden verwendet, um die Struktur einer Software zu beschreiben (statisch) Klassendiagramme Verhaltensdiagramme: werden verwendet, um Abläufe zu erklären (dynamisch) Use cases

Vorteile von UML soll helfen, den Überblick zu behalten soll die Entwicklung aus unterschiedlichen Blickwinkeln beleuchten soll als Koordinationsinstrument ein Vorhaben vorantreiben als grafische Darstellung nicht nur für „Techniker“ gedacht/geeignet, sondern abteilungsübergreifend einsetzbar ist unabhängig von Programmiersprachen und Plattformen

Klassendiagramme Klassendiagramme sind die wichtigsten Strukturdiagramme der UML stellen die Zusammenhänge zwischen Klassen und/oder den Aufbau von Klassen dar statischer Diagrammtyp, da lediglich die Klassen mit ihren Methoden und Attributen sowie die statischen Verbindungen zwischen ihnen dargestellt werden

Klassendiagramme Zur Erinnerung: eine Klasse ist eine Zusammenfassung gleichartiger Objekte und definiert die Attribute und Methoden dieser Objekte. Alle Objekte (Instanzen) einer Klasse haben das gleiche Verhalten und die selben Attribute UML stellt Klassen durch Rechtecke dar Attribute und Operationen der Klasse werden jeweils durch eine horizontale Linie vom Klassennamen getrennt Attribute können näher beschrieben werden, z.B. durch ihren Typ oder Initialwert, müssen aber mindestens mit ihrem Namen dargestellt werden Operationen/Methoden können ebenfalls näher beschrieben werden (Parameter, Initialwerte) und müssen auch mindestens mit ihrem Namen dargestellt werden

Klassendiagramme Klassenname Attribute Methoden

Klassendiagramme UML ermöglicht die Einschränkung des Zugriffs auf Attribute und Methoden - private (privates Klassenmerkmal) + public (öffentliches Klassenmerkmal) # protected (geschützt) ~ package (Paket) die Definition von Attributen und Methoden erfolgt durch die folgende Notation AttributName : Datentyp MethodenName () : Datentyp

ObjektName: KlassenName Klassendiagramme Exkurs Objekte: Objekte sind Exemplare einer Klasse mit einer bestimmten Anzahl von Attributen, deren Struktur in der Klasse des Objekts definiert sind Objekte werden in UML ebenfalls durch Rechtecke dargestellt der Objektname muss unterstrichen werden und ggfs. die zugehörige Klasse, durch einen Doppelpunkt getrennt, angegeben werden ObjektName ObjektName: KlassenName Name der Klasse kann weggelassen werden, wenn die Klasse des Objekts aus dem Zusammenhang deutlich erkennbar ist, oder wenn die Klasse unbekannt ist Standard-Angabe eines Objekts

Klassendiagramme Beziehungen von Klassen können in Klassendiagrammen unterschiedlich dargestellt werden Gewöhnliche Assoziation: Klasse A kann auf Klasse B zugreifen (Navigierbarkeit) Komposition: Klasse C ist abhängig von Klasse D und kann ohne diese nicht existieren Vererbung: Klasse F ist Kind von Klasse E und erbt alle Eigenschaften und Methoden dieser Klasse

Klassendiagramme eine Verfeinerung der Assoziationen lässt sich durch das Einfügen von Multiplizitäten an den navigierbaren Enden erreichen Eine Multiplizität gibt an, ob es sich zwischen zwei Klassen um eine 1:1, 1:n oder n:m Beziehung handelt 1:1 = jedes Objekt einer Klasse steht mit genau einem Objekt einer anderen Klasse in Verbindung 1:n = ein Objekt einer Klasse hat Zugriff auf mehrere Objekte einer anderen Klasse n:m = Objekte beider Klassen haben Zugriff auf mehrere Objekte der anderen Klasse keine Angabe bedeutet immer, dass eine 1:1 Beziehung besteht 1:n Beziehungen werden durch setzen eines * am navigierbaren Ende dargestellt n:m Beziehungen werden durch das setzen einer Zahl angegeben (Unter- und Obergrenze können durch setzen zweier Punkte angegeben werden (0..2))

Klassendiagramme Ein Objekt der Klasse A kann auf mehrere Objekte der Klasse B zugreifen Ein Objekt der Klasse C hat Zugriff auf kein oder genau ein Objekt der Klasse D

Klassendiagramme Ein Beispiel: Dargestellt werden soll ein Einkaufsvorgang in einem Onlineshop

Use-Case-Diagramme dt. Anwendungsfall-Diagramm dynamisches Diagramm der Kategorie Verhaltensdiagramme wird zur Spezifikation der Anforderungen an ein System eingesetzt stellt die Beziehungen und Abhängigkeiten zwischen Anwendungsfällen und Akteuren dar Ziel ist, zu zeigen was mit einem Softwaresystem (welches noch nicht existiert) erreicht werden soll Wichtig ist das WAS nicht das WIE

Use-Case-Diagramme grundlegende Begriffe eines Use-Case-Diagramms sind: Akteur, System, Use Case (Anwendungsfall), Assoziation, Beziehungen (inculde, extend) Use Case (Anwendungsfall): beschreibt eine bestimmte Menge von Aktionen, die durch schrittweise Ausführung ein bestimmtes Verhalten formen Darstellungsform eines Use Case System: zu entwickelnde Software (realisiert das Verhalten, das durch die Use Cases beschrieben wird) Darstellungsform eines Systems UseCaseName SystemName

Use-Case-Diagramme Akteur: stellt den Anwender dar. Er interagiert mit dem System und befindet sich immer außerhalb des Systems Darstellungsform eines Akteurs Assoziationen: Verbindungslinien, die Zusammenhänge zwischen Elementen an den Enden der Verbindungslinie darstellen Es gibt zwei Arten von Verbindungslinien 1. eine durchgezogene Linie stellt eine Assoziation zwischen Akteur und Use Case dar (Akteur wendet Use Case an) Name

<<include>> Use-Case-Diagramme 2. ein gestrichelter Pfeil stellt eine Assoziation zwischen zwei Use Cases dar Da es zwei Arten der Assoziation zwischen Use Cases gibt, werden Schlüsselwörter zur eindeutigen Benennung eingesetzt <<include>>-Beziehung: beschreibt, dass ein Use Case A das Verhalten eines Use Case B importiert Wenn Use Case A ausgeführt wird, wird von diesem Use Case ausgehend Use Case B gestartet. include-Beziehungen sind nicht optional, sondern werden immer ausgeführt Kundendaten ändern Berechtigung prüfen <<include>> Use Case B Use Case A

<<extend>> Use-Case-Diagramme <<extend>>-Beziehung: gibt an, dass der Use Case von dem die Linie ausgeht möglicherweise den anderen Use Case erweitert Der erste Use Case wird nur dann ausgeführt, wenn bestimmte Bedingungen im zweiten Use Case wahr sind extension points: Beschriftung CD beschriften Musik CD erstellen <<extend>>

Use-Case-Diagramme