Seidl / Brandsteidl / Huemer | UML @ Classroom | E-Book | sack.de
E-Book

E-Book, Deutsch, 250 Seiten

Seidl / Brandsteidl / Huemer UML @ Classroom

Eine Einführung in die objektorientierte Modellierung
1. Auflage 2012
ISBN: 978-3-86491-174-3
Verlag: dpunkt
Format: PDF
Kopierschutz: 1 - PDF Watermark

Eine Einführung in die objektorientierte Modellierung

E-Book, Deutsch, 250 Seiten

ISBN: 978-3-86491-174-3
Verlag: dpunkt
Format: PDF
Kopierschutz: 1 - PDF Watermark



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.
Seidl / Brandsteidl / Huemer UML @ Classroom jetzt bestellen!

Weitere Infos & Material


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


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

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

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.

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 und Unterstützung von Nebenläufigkeit in Form von . 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 veröffentlichte [Boo86].

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

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

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

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.

Das Resultat ihrer Anstrengungen war die (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 (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 (OCL) [Obj10a] eingesetzt. In darauffolgenden Versionen wurden neben der Überarbeitung gewisser Sprachkonzepte Mechanismen zur Austauschbarkeit von Modellen in der Form des (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....


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.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.