Klassendiagramm Verwandte Begriffe: class, Typ, Objektfabrik

Slides:



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

ER-Modell: Objekte und Klassen
der Universität Oldenburg
Objektorientierte Programmierung
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Dr. Andreas Winter Sommersemester 2007 Einführung in die Software-Entwicklung © Institut für Informatik Programmier-Richtlinien vgl. auch
Unter- und Oberklassen: Beispiel
Kapitel 4 Datenstrukturen
Objektorientierte Programmierung
Objektorientierte Programmierung Definition von Klassen
Objektorientierter Entwurf
Design - Enwurf Objekt/Klasse Attribut Operation Assoziationen
Sequenzdiagramm.
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
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
Java: Grundlagen der Objektorientierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/8 Klassifikationen Klassifikationen dienen dazu, Themen oder Objekte systematisch zu ordnen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/10
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/8 Thesauren In gewisser Weise bilden Thesauren (Singular Thesaurus, Plural auch Thesauri)
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
QBE in MS Access formulieren
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Objektorientierter Entwurf
Sebastian Grahn Sebastian Kühn
Software-Technik: (fortgeschrittene) Klassendiagramme
Programmieren mit JAVA
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.
UML Unified Modelling Language Dipl. -Inform
DVG Klassen und Objekte
Einführung in die Programmierung Klassendefinition und Objekte
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
OO Analyse und Entwurf für Anwender
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.
5. Vorlesung: Grundkonzepte Objekt-Orientierung
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Einführung in die Programmierung
Entwurfs- und Implementationsdiagramme
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
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.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Zustandsübergangsdiagramme (1)
Objektorientierung.
Klassen und Klassenstruktur
Programmiervorkurs WS 2014/15 Instanzmethoden
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Sichtbarkeit einschränken
Abstrakte Klassen und das Interface-Konzept
Objektorientierte Datenbanken
Tutorium Software-Engineering SS14 Florian Manghofer.
C++ FÜR cOMPUTERSPIELENTWICKLER
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
1. Die rekursive Datenstruktur Liste 1
Implementieren von Klassen
 Präsentation transkript:

Klassendiagramm Verwandte Begriffe: class, Typ, Objektfabrik UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/24 Klassendiagramm Verwandte Begriffe: class, Typ, Objektfabrik Definition Eine Klasse ist die Definition der Attribute, Operationen und der Semantik für eine Menge von Objekten. Alle Objekte einer Klasse entsprechen dieser Definition. Notation Klassen werden durch Rechtecke dargestellt, die entweder nur den Namen der Klasse (fettgedruckt) oder zusätzlich Attribute und Operationen tragen. Diese Rubriken werden durch horizontale Linien getrennt. Formell sind Klassennamen Substantive im Singular und werden groß geschrieben, in Ausnahmefällen auch im Plural.

Notationsbeispiele Klasse Klasse Klasse Attribut 1 Attribut 2 UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 2/24 Notationsbeispiele Klasse Klasse Klasse Attribut 1 Attribut 2 Operation 1 () Operation 2 () Klasse Klasse Attribut 1 Attribut 2 Option 1 () Option 2 () Klasse Attribut 1 Attribut 2 Operation 1 () Operation 2 ()

<<Stereotype>> Paket::Klasse {Eigenschaftswert} UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 3/24 Klassen In der obersten Rubrik (Klassenname) stehen oberhalb des Klassennamens in doppelt spitzen Klammern die Klassen-Stereotypen (z.B. Fachklasse) und unterhalb des Klassennamens in geschweiften Klammern die Eigenschaftswerte (z.B.:). Dem Klassennamen kann der Name eines Paketes vorangestellt werden. Wobei zwei Doppelpunkte Paketname und Klassenname trennen. <<Stereotype>> Paket::Klasse {Eigenschaftswert} attribut: Typ Initialwert {Zusicherung} operation (Parameter) {Zusicherung}

Kreis Klassenname Zusicherung radius (radius>0) Attributname UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 4/24 Klassenname Kreis radius (radius>0) mittelpunkt: Point=(10,10) Zusicherung Attributname Initialwert anzeigen () entfernen () setPosition (pos:Point) setRadius (neuerRadius) Attribut-Typ Operationen

Parametrisierbare Klassen UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 5/24 Parametrisierbare Klassen Verwandte Begriffe: Schablone, Klassenvorlage, generische Klasse Definition Eine parametrisierte Klasse ist eine mit generischen formalen Parametern versehene Schablone, die mit der gewöhnlichen Klasse erzeugt werden können. Die generischen Parameter dienen als Stellvertreter für tatsächliche Parameter. Notation Grundlagen, wie die normale Klasse, enthalten aber in der rechten oberen Ecke im gestrichelten Rahmen ein Rechteck.

Warteschlange <PKW> UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 6/24 i:Element Warteschlange Wartezimmer <<bind>>(Patient) anfügen() entnehmen() Stau <<bind>>(PKW) Alternativ Warteschlange <PKW>

Abstrakte Klassen Verwandter Begriff: Virtuelle Klasse Definition UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 7/24 Abstrakte Klassen Verwandter Begriff: Virtuelle Klasse Definition Von einer abstrakten Klasse werden niemals Exemplare erzeugt; sie ist bewusst unvollständig und bildet somit die Basis für weitere Unterklassen, die dann ihrerseits Exemplare haben können. Abstrakte Klassen repräsentieren häufig einen Allgemeinbegriff, einen Oberbegriff für eine Menge konkreter Begriffe. Beispiel: <Fahrzeug> Fahrrad, PKW, LKW, Bahn usw. Notation Wie Klasse mit Eigenschaftswert abstrakt. Für handschriftliche Aufzeichnungen reicht die Bezeichnung {A} aus.

Geometrische Figur Abstrakte Klasse Figurenform Diskriminator Dreieck UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 8/24 Geometrische Figur Abstrakte Klasse Figurenform Diskriminator Dreieck Kreis Rechteck Person {1} Jurist. Person Natürl. Person

Schnittstellenklasse UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 9/24 Schnittstellenklasse Verwandte Begriffe: Interface class Definition Schnittstellenklassen sind abstrakte Klassen (genauer Typen), die ausschließlich abstrakte Operationen ausführen. Schnittstellenklassen können andere Klassen erweitern. Notation Wie gewöhnliche Klasse, aber mit dem Stereotyp <<interface>>. Sie besitzen keine Attribute, sondern nur Operationen.

String <<interface>> sortierbar isEqual(Object):Boolean UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 10/24 String <<interface>> sortierbar isEqual(Object):Boolean isGreater5(Object):Boolean isEqual(String):Boolean isGreater(String):Boolean length():integer Alternativ: „Lolli Schnittstelle“ Interface A <<use>> Nutzer 1 Anbieter <<use>> Interface B Nutzer 2 <<use>> <<interface>> Interface C <<use>> <<use>> Interface C

Objekt Verwandte Begriffe: Exemplar, Instanz Definition UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 11/24 Objekt Verwandte Begriffe: Exemplar, Instanz Definition Ein Objekt ist eine im laufenden System konkret vorhandene und agierende Einheit. Jedes Objekt ist ein Exemplar seiner Klasse. Ein Objekt enthält durch Attribute repräsentierte Informationen, deren Struktur in der Klasse definierte Nachrichten empfangen. Das durch Nachrichten definierte Verhalten gilt für alle Objekte gleichermaßen, ebenso die Struktur ihrer Attribute. Die Werte der Attribute sind jedoch für jedes Objekt individuell.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 12/24 Notation Objekte werden durch Rechtecke dargestellt, die entweder nur ihren Namen tragen oder zusätzlich den Namen ihrer Klasse oder auch die Werte bestimmter oder aller Attribute. Werden Attributwerte angegeben, wird das Rechteck horizontal aufgeteilt. Zur Unterscheidung von der Klassennotation wird der Objektname unterstrichen. Zusätzlich beginnt der Objektname mit einem Kleinbuchstaben.

Notation Objekt object:Klasse objekt :Klasse /Rolle:Klasse UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 13/24 Notation Objekt object:Klasse objekt :Klasse /Rolle:Klasse attribut=wert Objekt Klasse <<instance of>> objekt Für eine Menge gleichartiger Objekte kann vereinfacht ein so genanntes Multiobjekt notiert werden. Multiobjekt Multiobjekt * Multiobjekt Multiobjekt * Beispiel Exemplarname ein Kreis:Kreis Klassenname radius = 25 mittelpunkt = (10,10) Attributnamen Attributwerte

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 14/24 Attribut Verwandte Begriffe: attribute, Variable, Instanzvariable, Datenelement Definition Ein Attribut ist ein (Daten-) Element, das in jedem Objekt einer Klasse gleichermaßen enthalten ist und von jedem Objekt mit einem individuellen Wert repräsentiert wird. Im Gegensatz zu Objekten haben Attribute außerhalb des Objekts, von dem sie ein Teil sind, keine eigene Identität. Attribute sind vollständig unter der Kontrolle der Objekte, von denen sie ein Teil sind. Über Zusicherungen kann der Wertebereich eines Attributwertes eingeschränkt werden (gegebenheitsabhängig). Mit der Angabe von Eigenschaftswerten können besondere Eigenschaften beschrieben werden. (Bsp. Read only)

Varianten Sichtbarkeit UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 15/24 Varianten Abgeleitete Attribute  werden innerhalb eines Objektes automatisch berechnet Klassenattribute  Programmiersprachenunabhängig, Attribute außerhalb eines Objektes, aber alle Objekte einer Klasse können darauf zugreifen Sichtbarkeit Public  für alle sichtbar und benutzbar Protected  Klasse selbst, Unterklassen und als „friend“ deklarierte Klassen haben Zugriff Privat  nur die Klasse selbst und die als „friend“ deklarierten Klassen haben Zugriff („friend“ ist ein C++ bekannter Mechanismus, mit dem eine Klasse ausgewählten anderen Klassen Zugriffsrechte gewähren kann.)

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 16/24 Operationen Verwandte Begriffe: Methode, Service, Prozedur, Routine, Funktion, Botschaft, Nachricht (Message), Dienstleistung Definition Operationen sind Dienstleistungen, die von einem Objekt angefordert werden können. Sie werden beschrieben durch ihre Signatur (Operationsname, Parameter). Eine Methode implementiert eine Operation, die eine Sequenz von Anweisungen ist. Eine Nachricht überbringt einem Objekt die Information darüber, welche Aktivität von ihm erwartet wird und fordert es so zur Ausführung einer Operation auf. Eine Operation trägt innerhalb einer Klassendefinition eine eindeutige Signatur, die sich aus dem Namen eventuell vorhandener Parameter (Argumente) und/oder vorhandener Rückgabewerte (Funktionsergebnis) ergibt. Operationen können Zusicherungen und Eigenschaftswerte n haben.

Anforderung Verwandte Begriffe: requirement, Forderung Definition UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 17/24 Anforderung Verwandte Begriffe: requirement, Forderung Definition Anforderungen sind Aussagen über zu erbringende Leistungen. Durch sie wird der Funktions- und Leistungsumfang eines Produktes beispielsweise der zu erstellenden Software beschrieben. Anforderungen beschreiben nicht nur die Funktionalität eines Systems (Was soll erstellt werden?), sondern auch auf welche Art (mit welcher Qualität?) das Verhalten für den Nutzer bereitgestellt wird. Anforderungen sollten für alle Projektbeteiligten eindeutig vollständig und widerspruchsfrei umsetzbar und testbar verständlich formuliert sein.

Zusicherung (Einschränkung) UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 18/24 Zusicherung (Einschränkung) Verwandte Begriffe: constraint, assertion, Einschränkung, Integritätsregel, Bedingung, Eigenschaftswert, Stereotyp, Invariante Definition Eine Zusicherung ist ein Ausdruck, der die möglichen Inhalte, Zustände oder die Semantik eines Modellelementes einschränkt und der stets erfüllt sein muss. Zusicherungen in boolscher Form werden „assertions“ genannt. Object Constraint Language ist eine einfache formale Sprache, mit der UML-Modellen weitere Semantik hinzugefügt werden kann, die mit den übrigen UML-Elementen nicht oder nur umständlich ausgedrückt werden kann.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 19/24 Eigenschaftswert Verwandte Begriffe: proberty string, tagged value, Merkmal, Charakteristikum, Zusicherung Definition Eigenschaftswerte sind benutzerdefinierte, sprach- und werkzeugspezifische Schlüsselwort-Wert-Paare, die die Semantik einzelner Modellelemente um spezielle charakteristische Eigenschaften erweitern.

Subsystem, Paket, Komponente UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 20/24 Subsystem, Paket, Komponente Verwandter Begriff: gegenseitig Definitionen Subsystem: Teil eines Gesamtsystems, das nach außen durch eine Schnittstelle definiert ist und das die Struktur und die Zusammenarbeit seiner Einzelteile versteckt. Pakete: sind Ansammlungen von Modellelementen beliebigen Typs, mit denen das Gesamtmodell in kleinere überschaubarere Einheiten gliedert. Ein Paket definiert deinen Namensraum, d.h. innerhalb eines Paketes müssen die Namen der enthaltenen Elemente eindeutig sein. Jedes Modellelement kann in anderen Paketen referenziert werden, gehört aber zu genau einem (Heimat-)Paket. Pakete können wiederum Pakete beinhalten. Das alleroberste Paket beinhaltet das gesamte System.

UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 21/24 Komponente: Ist eine ausführbare und zur prinzipiellen Austauschbarkeit vorgesehene Softwareeinheit mit definierten Schnittstellen und eigener Identität.

<<subsystem>> UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 22/24 Notation, Subsystem, Paket, Komponente Subsystem <<subsystem>> Subsystem Subsystem Paket Vertrag Sach- versicherung Lebens- versicherung

Partner Vertrag Sach- versicherung Lebens- versicherung UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 23/24 Partner Vertrag Sach- versicherung Lebens- versicherung

Notation Komponente Schnittstelle 1 Komponente Schnittstelle 2 UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 24/24 Notation Komponente Komponente Schnittstelle 1 Schnittstelle 2 Komponente Laufzeitobjekt