UML @ Classroom (eBook)

Eine Einführung in die objektorientierte Modellierung
eBook Download: PDF | EPUB
2012 | 1. Auflage
250 Seiten
dpunkt (Verlag)
978-3-86491-174-3 (ISBN)

Lese- und Medienproben

UML @ Classroom -  Martina Seidl,  Marion Brandsteidl,  Christian Huemer,  Gerti Kappel
Systemvoraussetzungen
Systemvoraussetzungen
19,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Dieses Lehrbuch vermittelt die Grundlagen der objektorientierten Modellierung anhand von UML und bietet eine kompakte Einführung in die fünf Diagramme Klassendiagramm, Anwendungsfalldiagramm, Zustandsdiagramm, Sequenzdiagramm und Aktivitätsdiagramm. Diese decken die wesentlichen Konzepte ab, die für die durchgängige objektorientierte Modellierung in einem kompletten Softwareentwicklungsprozess benötigt werden. Besonderer Wert wird auf die Verdeutlichung des Zusammenspiels unterschiedlicher Diagramme gelegt. Die präsentierten Konzepte werden anhand von illustrativen Beispielen erklärt.

Martina Seidl ist Assistenzprofessorin am Institut für formale Modelle und Verifikation der Johannes Kepler Universität Linz und Research Associate in der Business Informatics Group der TU Wien.. Marion Brandsteidl unterrichtet an der TU Wien seit 2007 zum Thema objektorientierte Modellierung. Als Senior Lecturer forscht sie nach neuen Lehrmethoden in diesem Bereich mit einem starken Fokus auf E-Learning. Christian Huemer ist außerordentlicher Universitätsprofessor in der Business Informatics Group der TU Wien und wissenschaftlicher Leiter des Research Studio Interorganisational Systems der Research Studios Austria Forschungsgesellschaft. Gerti Kappel ist seit 2001 Professorin für Wirtschaftsinformatik an der Technischen Universität Wien, wo sie die Arbeitsgruppe Business Informatics der Fakultät für Informatik leitet.

Martina Seidl ist Assistenzprofessorin am Institut für formale Modelle und Verifikation der Johannes Kepler Universität Linz und Research Associate in der Business Informatics Group der TU Wien.. Marion Brandsteidl unterrichtet an der TU Wien seit 2007 zum Thema objektorientierte Modellierung. Als Senior Lecturer forscht sie nach neuen Lehrmethoden in diesem Bereich mit einem starken Fokus auf E-Learning. Christian Huemer ist außerordentlicher Universitätsprofessor in der Business Informatics Group der TU Wien und wissenschaftlicher Leiter des Research Studio Interorganisational Systems der Research Studios Austria Forschungsgesellschaft. Gerti Kappel ist seit 2001 Professorin für Wirtschaftsinformatik an der Technischen Universität Wien, wo sie die Arbeitsgruppe Business Informatics der Fakultät für Informatik leitet.

Vorwort 5
Inhaltsverzeichnis 9
1 Einleitung 11
1.1 Motivation 11
1.2 Modell 12
1.3 Objektorientierung 17
1.4 Aufbau des Buchs 20
2 Eine kurze Tour durch UML 21
2.1 Historische Entwicklung 21
2.2 Verwendung 25
2.3 Diagramme 26
3 Anwendungsfalldiagramm 33
3.1 Anwendungsfall 34
3.2 Akteur 36
3.3 Assoziation 37
3.4 Beziehungen zwischen Akteuren 39
3.5 Beziehungen zwischen Anwendungsfällen 41
3.6 Erstellung eines Anwendungsfalldiagramms 46
3.7 Zusammenfassung 59
4 Klassendiagramm 61
4.1 Objekt 62
4.2 Klasse 64
4.3 Assoziation 73
4.4 Assoziationsklasse 78
4.5 Aggregation 81
4.6 Generalisierung 83
4.7 Abstrakte Klasse vs. Schnittstelle 87
4.8 Datentypen 88
4.9 Erstellung eines Klassendiagramms 90
4.10 Codegenerierung 95
5 Zustandsdiagramm 101
5.1 Zustände und Zustandsübergänge 102
5.2 Arten von Zuständen 107
5.3 Arten von Zustandsübergängen 110
5.4 Arten von Ereignissen 111
5.5 Komplexe Zustände 114
5.6 Ereignisfolge 121
5.7 Zusammenfassung 124
6 Sequenzdiagramm 127
6.1 Interaktionspartner 129
6.2 Austausch von Nachrichten 130
6.3 Kombinierte Fragmente 136
6.4 Weitere Sprachelemente 148
6.5 Erstellung eines Sequenzdiagramms 156
6.6 Kommunikations-, Zeit- und Interaktionsübersichtsdiagramm 159
6.7 Zusammenfassung 162
7 Aktivitätsdiagramm 165
7.1 Aktivität 166
7.2 Aktion 168
7.3 Kontrollfluss 171
7.4 Objektfluss 180
7.5 Partition 183
7.6 Ausnahmebehandlung 186
7.7 Zusammenfassendes Beispiel 189
8 … und jetzt alle zusammen 195
8.1 Beispiel 1: Kaffeemaschine 195
8.2 Beispiel 2: Übungsabgabesystem 199
8.3 Beispiel 3: Datentyp Stack 208
8.4 Zusammenfassung 211
9 Weiterführende Themen 213
9.1 Strukturierung von Modellen 213
9.2 Das Metamodell von UML 217
9.3 Erweiterungsmechanismen von UML 219
9.4 Vom Modell zum Code 223
A UML-Begriffe auf Deutsch und Englisch 227
Literaturverzeichnis 237
Index 241
www.dpunkt.de 0

2 Eine kurze Tour durch UML


Bevor wir in den nächsten Kapiteln die wichtigsten Konzepte von UML kennenlernen, beschäftigen wir uns in diesem Kapitel mit den Hintergründen dieser Modellierungssprache. Dazu gehen wir darauf ein, wie UML entstanden ist und was es mit dem »U« für »unified« eigentlich auf sich hat. Dann gehen wir der Frage nach, wie UML selbst definiert ist, d. h., woher kommen die Regeln, die uns sagen, wie ein gültiges Modell in UML auszusehen hat? Und wofür wird UML überhaupt verwendet? Schließlich geben wir noch einen kurzen Überblick über die gesamten 14 Diagramme von UML in der aktuellen Version 2.3, die sich sowohl für Struktur- als auch für Verhaltensmodellierung einsetzen lassen.

2.1 Historische Entwicklung


Ursprünge der Objektorientierung Die Einführung von objektorientierten Konzepten in der Informatik geht auf Arbeiten der frühen 60er-Jahre des vergangenen Jahrhunderts zurück [Cap03]. Die ersten Ideen fanden in Systemen wie z.B. Sketchpad ihre Umsetzung, das einen neuen, grafischen Kommunikationsansatz zwischen Mensch und Computer darstellte [Kay93, Sut64].

SIMULA Die Programmiersprache SIMULA [Hol94] wird heutzutage als erste objektorientierte Programmiersprache angesehen. SIMULA wurde in erster Linie zur Entwicklung von Simulationssoftware eingesetzt und erfuhr noch einen verhältnismäßig geringen Verbreitungsgrad. Konzepte wie Klassen, Objekte, Vererbung und dynamisches Binden waren in SIMULA bereits realisiert [BDMN79].

Objektorientierte Programmiersprachen Dies war der Anfang einer Revolution in der Softwareentwicklung. Basierend auf dem objektorientierten Paradigma entstand in den darauffolgenden Jahrzehnten eine Vielzahl von Programmiersprachen [GJ97]. Darunter befanden sich Sprachen wie C++ [Str09], Eiffel [Mey88] und Smalltalk [Kay93], die bereits viele wichtige Konzepte moderner Programmiersprachen enthielten und die zum Teil heute noch eingesetzt werden.

Die Entstehung und Einführung der Objektorientierung als Methode im Software Engineering ist eng mit dem Aufkommen von objektorientierten Programmiersprachen verbunden. Objektorientierung gilt inzwischen als gut etablierter und erprobter Ansatz, um mit der Komplexität von Softwaresystemen umzugehen, und hat nicht nur in Programmiersprachen, sondern auch in anderen Bereichen wie z.B. bei Datenbanken oder der Beschreibung von Benutzerschnittstellen ihre Daseinsberechtigung gefunden.

Wie wir bereits bei der Definition des Modellbegriffs in Abschnitt 1.2 festgestellt haben, sind Softwaresysteme Abstraktionen, also stark vereinfachte Darstellungen, die es zum Ziel haben, Probleme der realen Welt maschinenunterstützt zu lösen. Um die reale Welt adäquat zu beschreiben, sind herkömmliche prozedurale Programmiersprachen nicht unbedingt das einfachste Mittel, da die konzeptionellen Unterschiede zwischen einer natürlichen Problembeschreibung und der praktischen Umsetzung als Programm groß sind. Mit der objektorientierten Programmierung, deren Programmierkonzepte sich an der realen Welt orientieren, versuchte man, bessere und vor allem besser wartbare Programme zu entwickeln [Cap03].

Die Objektorientierung ist über die Jahre zum wichtigsten Softwareentwicklungsparadigma geworden, was sich heute in objektorientierten Programmiersprachen wie Java [Mös11] oder C# [Mös09] und objektorientierten Modellierungssprachen wie UML widerspiegelt. Doch bis zum heutigen State-of-the-Art der Softwareentwicklung war es ein langer, kurvenreicher Weg.

Ada
Methode von Booch
In den 80er-Jahren erfuhr die Programmiersprache Ada, die vom amerikanischen Verteidigungsministerium entwickelt und propagiert wurde, aufgrund ihrer mächtigen Konzepte und effizienten Compiler starke Popularität [IBFW86]. Ada bot schon damals Unterstützung für abstrakte Datentypen in Form von Packages und Unterstützung von Nebenläufigkeit in Form von Tasks. Packages erlaubten die Trennung von Spezifikation und Implementierung und die Erweiterung der Sprache um Objekte und um Klassen von Objekten. Ada unterschied sich damit grundlegend von anderen strukturierten Sprachen wie Fortran und Cobol. Um nun Ada-Programme leichter entwickeln zu können, wurde der Ruf nach objektorientierten Analyse- und Entwurfsmethoden laut. Diese Modellierungsmethoden wurden aufgrund der weiten Verbreitung von Ada und durch den Druck des amerikanischen Verteidigungsministeriums speziell auf die Charakteristika von Ada ausgerichtet. Grady Booch war einer der ersten Forscher, der Arbeiten zu dem objektorientierten Entwurf von Ada-Programmen veröffentlichte [Boo86].

OMT-Ansatz von Rumbaugh
OOSE-Ansatz von Jacobson
Mit der Zeit entstand eine Vielzahl von weiteren objektorientierten Modellierungsmethoden (siehe [Cap03, KS96] für einen detaillierten Überblick). Die Modellierungsmethoden hatten meist entweder einen starken Bezug zu Programmiersprachen wie die Methode von Booch oder einen starken Bezug zur Datenmodellierung wie OMT (Object Modeling Technique) von James Rumbaugh [RBP+91]. OMT unterstützte die Entwicklung komplexer Objekte im Sinne einer objektorientierten Erweiterung des Entity-Relationship-Modells [Che76], das für die Beschreibung von Datenbanken eingeführt worden war. Davon unabhängig führte Ivar Jacobson seinen Ansatz Object-Oriented Software Engineering (OOSE) ein, der ursprünglich zur Beschreibung von Telekommunikationssystemen entwickelt worden war [JCJO92]. OOSE stellte die Modellierung und die Simulation von Vorgängen der realen Welt in den Mittelpunkt.

Zeit des Methodenkriegs In den 80er- und frühen 90er-Jahren des vergangenen Jahrhunderts wurde die Modellierungswelt von einer Vielzahl verschiedener Modellierungssprachen überflutet. Um die auftretenden Kompatibilitätsprobleme in den Griff zu bekommen, war erheblicher Aufwand notwendig. Die Modelle von verschiedenen Projektpartnern waren oft nicht kompatibel und die Wiederverwendbarkeit in anderen Projekten war nicht gegeben. Erschöpfende Diskussionen über unterschiedliche Notationen waren die Folge, die von den eigentlichen Modellierungsproblemen ablenkten. Da immer wieder neue Modellierungssprachen auftauchten, war nicht klar, in welche investiert werden sollte und welche nur einen kurzlebigen Trend darstellten. Setzte sich eine Sprache nicht durch, waren sämtliche Investitionen, die für die Etablierung einer Sprache innerhalb eines Projekts oder eines Unternehmens getätigt worden waren, weitgehend verloren. Diese Zeit der zahlreichen, oft nur in Details unterschiedlichen Ansätze wird rückblickend auch als Methodenkrieg bezeichnet.

Object Management Group (OMG) Um dieser unzulänglichen Situation ein Ende zu setzen, rief 1996 die Object Management Group (OMG) [Obj], das wichtigste Standardisierungsgremium für objektorientierte Softwareentwicklung, zur Spezifikation eines einheitlichen Modellierungsstandards auf.

Drei Amigos Bereits im Jahr 1995 vereinten die Wissenschaftler Grady Booch, Ivar Jacobson und James Rumbaugh auf der OOPSLA-Konferenz (das Akronym OOPSLA steht für Object-Oriented Programming, Systems, Languages, and Applications) ihre Ideen und Ansätze. Seit damals werden Booch, Jacobson und Rumbaugh oft auch als die »drei Amigos« bezeichnet. Dabei steckten sie sich folgende Ziele [BM99]:

♦ Verwendung von objektorientierten Konzepten zur Repräsentation von kompletten Systemen und nicht nur einem Teil der Software;

♦ Herstellung einer expliziten Bindung zwischen Modellierungskonzepten und ausführbarem Programmcode;

♦ Berücksichtigung von Skalierungsfaktoren, die in komplexen und kritischen Systemen inhärent sind;

♦ Erstellung einer Modellierungssprache, die sowohl maschinenverarbeitbar als auch für Menschen lesbar ist.

Unified Modeling Language (UML)
Metamodell
Object Constraint Language (OCL)
XML Metadata Interchange Format (XMI)
Das Resultat ihrer Anstrengungen war die Unified Modeling Language (UML), die 1997 in der Version 1.0 auf den OMG-Aufruf eingereicht wurde. Eine Vielzahl von ehemaligen Konkurrenten beteiligte sich an der Erstellung von Version 1.1, die schließlich 1998 erschien. Hierbei bestand eines der Hauptziele in einer konsistenten Formulierung des Sprachkerns von UML, der in dem sogenannten Metamodell (siehe Kap. 9) festgehalten ist. Das Metamodell legt fest, welche Elemente die Sprache UML zur Verfügung stellt und wie diese korrekt zu verwenden sind. Zu diesem Zweck wurde zusätzlich die auf Prädikatenlogik basierende Object Constraint Language (OCL) [Obj10a] eingesetzt. In darauffolgenden Versionen wurden neben der Überarbeitung gewisser Sprachkonzepte Mechanismen zur Austauschbarkeit von Modellen in der Form des XML Metadata Interchange Format (XMI) [Obj07] und Mechanismen für die Generierung von Programmcode eingeführt. Neben diesen eher kleinen Änderungen wurde bereits im Jahr 2000 von der OMG ein Erneuerungsprozess von UML initiiert, der schließlich zur Verabschiedung des Sprachstandards UML 2.0 im Jahr 2005 führte....

Erscheint lt. Verlag 19.10.2012
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Software Entwicklung
Schlagworte Informationssysteme • objektorientierte Modellierung • Objektorientierte Softwareentwicklung • Objektorientierte Softwareentwicklung; Objektorientierte Modellierung; UML; Informationssysteme • UML
ISBN-10 3-86491-174-5 / 3864911745
ISBN-13 978-3-86491-174-3 / 9783864911743
Haben Sie eine Frage zum Produkt?
Wie bewerten Sie den Artikel?
Bitte geben Sie Ihre Bewertung ein:
Bitte geben Sie Daten ein:
PDFPDF (Wasserzeichen)
Größe: 26,2 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

EPUBEPUB (Wasserzeichen)
Größe: 24,4 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Jürgen Sieben

eBook Download (2023)
Rheinwerk Computing (Verlag)
89,90
Eine kompakte Einführung

von Brendan Burns; Joe Beda; Kelsey Hightower; Lachlan Evenson

eBook Download (2023)
dpunkt (Verlag)
31,99
Grundlagen, Menschen, Prozesse, Techniken

von Jochen Ludewig; Horst Lichter

eBook Download (2023)
dpunkt (Verlag)
39,99