UML @ Classroom
eBook - ePub

UML @ Classroom

Eine Einführung in die objektorientierte Modellierung

  1. 250 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

UML @ Classroom

Eine Einführung in die objektorientierte Modellierung

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

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.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu UML @ Classroom von Martina Seidl, Marion Brandsteidl, Christian Huemer, Gerti Kappel im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatique & Développement de logiciels. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Verlag
dpunkt
Jahr
2012
ISBN
9783864911750

1 Einleitung

Unified Modeling Language (UML) Die Unified Modeling Language (UML) bildet eine Vereinigung der Best Practices von Modellierungstechniken, die sich über Jahre hinweg etablieren konnten. UML erlaubt es, die unterschiedlichsten Aspekte eines Softwaresystems (z.B. Anforderungen, Datenstrukturen, Daten- und Informationsflüsse) innerhalb eines Rahmenwerks auf einheitliche Weise mittels objektorientierter Konzepte darzustellen. Bevor wir uns in die Tiefen von UML vorwagen, erläutern wir in diesem Kapitel zunächst kurz, warum Modellieren aus der Softwareentwicklung nicht mehr wegzudenken ist. Dafür gehen wir der Frage nach, was ein Modell ist und wofür Modelle gebraucht werden. Wir wiederholen kurz grundlegende Konzepte der Objektorientierung, bevor wir einen Überblick über den weiteren Aufbau des Buchs geben.

1.1 Motivation

Stellen Sie sich vor, Sie möchten ein Softwaresystem entwickeln, das ein Kunde bei Ihnen in Auftrag gegeben hat. Eine der ersten Herausforderungen, mit der Sie konfrontiert werden, ist das Klären der Fragen, was der Kunde eigentlich genau will und ob Sie die genauen Anforderungen des Kunden an das zukünftige System korrekt erfasst haben. Schon von diesem ersten Schritt hängt das Gelingen oder das Scheitern Ihres Projekts ab. Sofort stellt sich die Frage, wie Sie mit Ihrem Kunden kommunizieren. Natürliche Sprache stellt hierbei nicht unbedingt die erste Wahl dar, da diese unpräzise und mehrdeutig ist. Missverständnisse können sehr leicht auftreten, und die Gefahr ist sehr groß, dass Leute mit unterschiedlichen Hintergründen (z.B. Informatiker und Betriebswirt) aneinander vorbeireden, was fatale Folgen haben kann.
Was Sie jetzt benötigen, ist die Möglichkeit, ein Modell für Ihre Software zu erstellen, das die wesentlichen Aspekte in einer möglichst einfachen und eindeutigen Notation hervorhebt, aber von irrelevanten Details abstrahiert, genauso wie es bei Modellen in der Architektur, wie z.B. den Bauplänen, passiert. Zum Beispiel enthält ein Bauplan für ein Gebäude zwar Informationen, wie der Grundriss des zu bauenden Hauses auszusehen hat, die zu verwendenden Baustoffe werden hier aber nicht angegeben, da sie im Moment keinerlei Bedeutung haben und den Plan unnötig aufblasen würden. Genauso finden wir hier keinerlei Informationen, wie die elektrischen Leitungen zu verlegen sind. Hierfür wird ein eigener Plan erstellt, um nicht zu viele Informationen auf einmal darzustellen. Auch in der Informatik ist es wie in der Architektur wichtig, dass Leute mit unterschiedlichen Hintergründen (z.B. Architekt und Bauherr) das Modell lesen, interpretieren und umsetzen können.
Modellierungssprache
Domänenspezifische Modellierungssprache
Universelle Modellierungssprache
Genau für solche Szenarien wurden Modellierungssprachen entwickelt, die klar definierte Regeln zur strukturierten Beschreibung eines Systems aufweisen. Solche Sprachen können textuell (z.B. eine Programmiersprache wie Java) oder visuell sein (z.B. eine Sprache, die miteinander verbindbare Symbole für Transistoren, Dioden etc. zur Verfügung stellt). Modellierungssprachen können speziell für eine bestimmte Domäne, z.B. für die Beschreibung von Webanwendungen, bestimmt sein. Diese domänenspezifischen Modellierungssprachen geben Möglichkeiten und Richtlinien zur Problemlösung in einem bestimmten Bereich vor, können dafür aber auch stark einschränkend sein. Oder Modellierungssprachen sind universell einsetzbar. Die Sprache UML, die wir in diesem Buch betrachten, gehört der Kategorie der universell einsetzbaren Sprachen an. Anhand von UML lernen wir die wichtigsten Konzepte der objektorientierten Modellierung kennen.
Objektorientierte Modellierung Objektorientierte Modellierung ist eine Form der Modellierung, die dem objektorientierten Paradigma gehorcht. In den nachfolgenden zwei Unterkapiteln gehen wir auf den Modellbegriff und die wesentlichen objektorientierten Konzepte kurz ein, um uns dann der objektorientierten Modellierung mit UML widmen zu können.

1.2 Modell

System
Softwaresystem
Modelle erlauben eine effiziente und elegante Beschreibung von Systemen. Ein System ist eine Gesamtheit von Elementen, die so aufeinander bezogen sind und in einer Weise wechselseitig wirken, dass sie als eine aufgaben-, sinn- oder zweckgebundene Einheit angesehen werden können und sich in dieser Hinsicht gegenüber der sie umgebenden Umwelt abgrenzen [Wik11]. Beispiele für Systeme sind materielle Dinge wie Autos oder Flugzeuge, ökologische Umgebungen wie Seen und Wälder, aber auch Organisationseinheiten wie eine Universität. Im Bereich der Informatik sind wir speziell an Softwaresystemen und damit einhergehend an Modellen interessiert, die Softwaresysteme beschreiben.
Abstraktion Softwaresysteme selbst basieren auf Abstraktionen, die eine maschinenverarbeitbare Form von Sachverhalten der Realität darstellen. Unter Abstraktion versteht man in diesem Zusammenhang eine Verallgemeinerung, das Absehen vom Besonderen und Einzelnen, das Loslösen vom Dinglichen. Abstraktion ist das Gegenteil von Konkretisierung. Unter Abstrahieren versteht man dementsprechend das Abgehen vom Konkreten, das Herausheben des Wesentlichen aus dem Zufälligen, das Erkennen gleicher Merkmale [Bal09].
Wahl von Abstraktionsmittel Bei der Erstellung von Softwaresystemen ist die Wahl geeigneter Abstraktionsmittel einerseits für die Umsetzung, andererseits aber auch für deren spätere Benutzung extrem wichtig. Wählt man die richtigen Abstraktionsmittel, so geht das Programmieren leicht von der Hand. Die einzelnen Teile haben dann einfache und kleine Schnittstellen. Neue Funktionalität kann ohne größere Reorganisation eingeführt werden. Wählt man die falschen Abstraktionsmittel, so ergeben sich bei der Umsetzung eine Vielzahl von bösen Überraschungen: Die Schnittstellen werden schwerfällig und Änderungen sind nur mühsam einzupflegen. Nur durch geeignete Abstraktionsmittel ist es möglich, mit der ständig steigenden Komplexität von modernen Softwaresystemen umzugehen [Jac11]. Gerade die Modellierung kann hier wertvolle Dienste leisten.
Um ein besseres Verständnis für den Modellbegriff zu entwickeln, werden nachfolgend weitverbreitete und allgemein anerkannte Definitionen des Modellbegriffs sowie die Eigenschaften, die ein gutes Modell aufweisen soll, vorgestellt.
Modellbegriff Der Begriff Modell spielt nicht nur in der Informatik, sondern auch in vielen anderen wissenschaftlichen Disziplinen (Mathematik, Philosophie, Psychologie, Wirtschaftswissenschaften etc.) eine bedeutende Rolle. Abgeleitet von dem lateinischen Wort »modulus«, das einen Maßstab in der Architektur bezeichnet, wurde in Italien während der Renaissance das Wort »modello« für ein Anschauungsobjekt verwendet, anhand dessen Auftraggeber Form und Gestaltung eines geplanten Gebäudes vorgeführt bekamen sowie konstruktive und architektonische Fragestellungen geklärt wurden [FHR08]. Über die nachfolgenden Jahrhunderte fand der Begriff »Modell« Einzug in diverse Wissenschaftszweige, und zwar zur vereinfachenden Beschreibung von komplexen Sachverhalten aus der Realität.
Definition von H. Stachowiak 1973 schlug Herbert Stachowiak einen Modellbegriff vor, der durch drei Merkmale gekennzeichnet ist [Sta73]:
1. Abbildung. Ein Modell ist immer ein Abbild von etwas, eine Repräsentation natürlicher oder künstlicher Originale, die selbst wieder Modelle sein können.
2. Verkürzung. Ein Modell erfasst nicht alle Attribute des Originals, sondern nur diejenigen, die dem Modellierer bzw. dem Benutzer des Modells relevant erscheinen.
3. Pragmatismus. Pragmatismus bedeutet so viel wie Orientierung am Nützlichen. Die Zuordnung eines Modells zum Original wird durch die Fragen Für wen?, Warum? und Wozu? getroffen. Ein Modell wird vom Modellierer bzw. von seinem Benutzer innerhalb einer bestimmten Zeitspanne und zu einem bestimmten Zweck anstelle eines Originals eingesetzt. Das Modell wird somit interpretiert.
Modelle unterstützen eine auf das Wesentliche reduzierte Darstellung eines Systems, um seine Komplexität auf handhabbare Teilaspekte zu verringern. Ein System wird üblicherweise nicht durch eine einzige Sicht beschrieben, sondern durch eine Vielzahl von Sichten, die zusammen ein einheitliches Gesamtbild ergeben. So kann sich eine Sicht auf die Beschreibung der involvierten Objekte und ihre Beziehungen zueinander beziehen, eine andere Sicht hingegen kann die Beschreibung des Verhaltens einer Gruppe von Objekten beinhalten oder die Interaktionen zwischen unterschiedlichen Objekten darstellen.
Eigenschaften von Modellen Modelle müssen sorgfältig und wohlbedacht erstellt werden. Nach Bran Selic [Sel03] bestimmen folgende fünf Charakteristika die Qualität eines Modells:
Abstraktion. Ein Modell ist immer eine reduzierte Darstellung des Systems, das es abbildet. Indem für eine Sicht irrelevante Details versteckt oder entfernt werden, ist es für den Benutzer leichter, die Essenz des Ganzen zu erfassen.
Verständlichkeit. Es ist unzureichend, sich zur Erhöhung der Verständlichkeit auf das Weglassen irrelevanter Details zu beschränken. Vielmehr noch ist es wichtig, dass die verbleibenden Elemente in einer möglichst intuitiven Form, z.B. in einer grafischen Notation, dargestellt sind. Die Verständlichkeit ergibt sich direkt aus der Ausdrucksstärke der Modellierungssprache. Ausdrucksstärke kann als die Fähigkeit definiert werden, einen komplexen Sachverhalt mit so wenig Information wie möglich darzustellen. Auf diese Weise reduziert ein gutes Modell den intellektuellen Aufwand, der notwendig ist, um den abgebildeten Sachverhalt zu verstehen. Zum Beispiel sind typische Programmiersprachen nicht besonders ausdrucksstark für den menschlichen Leser, da sehr viel Aufwand notwendig ist, um den Inhalt des Programms zu verstehen.
Genauigkeit. Ein Modell muss eine möglichst realitätsgetreue Abbildung der relevanten, d.h. der nicht wegabstrahierten Eigenschaften des modellierten Systems ermöglichen.
Vorhersagewert. Durch ein Modell muss es möglich sein, interessante, aber nicht offensichtliche Eigenschaften des modellierten Systems vorherzusagen. Dies kann entweder durch Simulation oder durch Analyse formaler Eigenschaften passieren.
Verhältnismäßigkeit. Die Erstellung des Modells muss billiger sein als die Erstellung des modellierten Systems.
Deskriptives Modell
Präskriptives Modell
Modelle können für unterschiedliche Zwecke eingesetzt werden. So unterscheiden wir zwischen deskriptiven und präskriptiven Modellen [FHR08]. Deskriptive Modelle beschreiben das Element der Wirklichkeit, um einen gewissen Aspekt leichter verständlich zu machen. Zum Beispiel beschreibt ein Stadtplan eine Stadt derart, dass eine ortsunkundige Person Routen innerhalb dieser Stadt leichter finden kann. Präskriptive Modelle hingegen dienen dazu, eine Bauanleitung zur Erstellung eines zu entwickelnden Systems zu bieten.
Ausführbarer Code als Modell In diesem Buch betrachten wir, wie die unterschiedlichen Aspekte eines Softwaresystems mithilfe einer Modellierungssprache, der Unified Modeling Language, modelliert werden können, sodass daraus ausführbarer Code manuell oder (teil-)automatisch abgeleitet bzw. eine leicht verständliche Dokumentation erstellt werden kann. Übrigens stellt auch der ausführbare Code, der in einer beliebigen Programmiersprache wie z.B. Java entwickelt wurde, wiederum ein Modell dar. Dieses Modell repräsentiert die zu lösende Problemstellung und ist für die Ausführung auf Computer optimiert. Zusammengefasst gibt es für Modelle folgende drei Verwendungsarten [Fow03b]:
♦ Modelle als Skizze
♦ Modelle als Blaupause
♦ Modelle als ausführbare Programme
Modelle als Skizze Modelle werden als Skizze verwendet, um gewisse Aspekte eines Systems auf einfache Weise zu kommunizieren. Hierbei geht es nicht um eine vollständige Abbildung des Systems. Vielmehr zeichnen sich Skizzen durch ihre Selektivität aus, indem sie auf das für die Lösung eines Problems Wesentliche reduziert sind. Oft werden durch die Skizze alternative Lösungsansätze sichtbar, die dann im Entwicklerteam diskutiert werden. Modelle dienen also auch als Diskussionsgrundlage für Mitglieder eines Teams.
Modelle als Blaupause Im Gegensatz zum Einsatz von Modellen als Skizze spielt Vollständigkeit eine große...

Inhaltsverzeichnis

  1. Cover
  2. Titel
  3. Impressum
  4. Vorwort
  5. Inhaltsverzeichnis
  6. 1 Einleitung
  7. 2 Eine kurze Tour durch UML
  8. 3 Anwendungsfalldiagramm
  9. 4 Klassendiagramm
  10. 5 Zustandsdiagramm
  11. 6 Sequenzdiagramm
  12. 7 Aktivitätsdiagramm
  13. 8 ... und jetzt alle zusammen
  14. 9 Weiterführende Themen
  15. A UML-Begriffe auf Deutsch und Englisch
  16. Literaturverzeichnis
  17. Index