Sie sind hier
E-Book

UML @ Classroom

Eine Einführung in die objektorientierte Modellierung

AutorChristian Huemer, Gerti Kappel, Marion Brandsteidl, Martina Seidl
Verlagdpunkt
Erscheinungsjahr2012
Seitenanzahl250 Seiten
ISBN9783864911743
FormatePUB/PDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis24,90 EUR
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.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

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....

Blick ins Buch

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

dental:spiegel

dental:spiegel

dental:spiegel - Das Magazin für das erfolgreiche Praxisteam. Der dental:spiegel gehört zu den Top 5 der reichweitenstärksten Fachzeitschriften für Zahnärzte in Deutschland (laut LA-DENT 2011 ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

dima

dima

Bau und Einsatz von Werkzeugmaschinen für spangebende und spanlose sowie abtragende und umformende Fertigungsverfahren. dima - die maschine - bietet als Fachzeitschrift die Kommunikationsplattform ...