Skip to main content

2011 | Buch

Modellierung mit UML

Sprache, Konzepte und Methodik

verfasst von: Bernhard Rumpe

Verlag: Springer Berlin Heidelberg

Buchreihe : Xpert.press

insite
SUCHEN

Über dieses Buch

Im wachsenden Portfolio von Entwicklungstechniken zeichnen sich zwei wichtige Trends ab. Zum einen dominiert die UML als Modellierungssprache. Zum anderen werden agile Methoden in mittlerweile sehr vielen Softwareentwicklungen eingesetzt. Dieses Buch stellt Konzepte einer Entwicklungsmethodik vor, die UML mit Elementen agiler Methoden kombiniert. Dabei werden ausgehend von den Klassen-, Objekt-, Sequenzdiagrammen, Statecharts und der OCL die Umsetzung nach Java und dem Testframework JUnit diskutiert, sowie Techniken zur Entwicklung von Testfällen und der evolutionären Weiterentwicklung von Entwürfen mit Refactoring-Regeln vorgestellt. Der im Buch beschriebene Ansatz eignet sich besonders für den Einsatz in Anwendungsdomänen, in denen hohe Qualität, Flexibilität und Erweiterbarkeit der Systeme erwartet wird, und sich Anforderungen dynamisch und noch während der Erstellung des Produkts weiterentwickeln. Diese Methodik ist geeignet für Praktiker, die Modellierungstechniken professionell nutzen wollen.

Unter http://www.se-rwth.de/mbse ist weiterführendes Material zu finden. Die zweite Auflage ist durchgehend überarbeitet und basiert auf UML 2.3 und der Java-Version 6.

Inhaltsverzeichnis

Frontmatter
1. Einführung
Zusammenfassung
Die Softwaretechnik hat sich in den letzten Jahren zu einer wirkungsvollen Ingenieursdisziplin entwickelt. Aufgrund der kontinuierlich anwachsenden Komplexität ihrer Aufgabenstellungen und Diversität der Anwendungsdomänen konnte ein Portfolio von Softwareentwicklungstechniken gebildet werden, das für jede Anwendungsdomäne, Kritikalität und Komplexität des zu entwickelnden Systems eine weitgehend maßgeschneiderte Auswahl an geeigneten Vorgehensweisen und Konzepten bietet. Techniken für Projekt-, Konfigurations-, Varianten- und Qualitätsmanagement, Software Produktlinien, Vorgehensmodelle, Spezifikationstechniken, Analyse- und Entwurfsmuster und „Best Practices” für spezielle Aufgabenstellungen sind nur einige der Elemente dieses Portfolios.
Bernhard Rumpe
2. Klassendiagramme
Zusammenfassung
Klassendiagramme bilden das architekturelle Rückgrat vieler Systemmodellierungen. Deshalb werden in diesem Kapitel die in der UML/P definierten Klassendiagrammemit den Kernelementen Klasse Attribut Methode Assoziation und Komposition eingef ührt. Im Abschnitt über Sichten und Repräsentationen werden Einsatzvarianten von Klassendiagrammen diskutiert. Es wird außerdem gezeigt, wie mit Stereotypen und Merkmalen Modellierungskonzepte f ür projektspezifische Problemstellungen angepasst werden.
Bernhard Rumpe
3. Object Constraint Language
Zusammenfassung
Die Object Constraint Language (OCL) ist eine eigenschaftsorientierte Modellierungssprache, die eingesetzt wird, um Invarianten sowie Vor- und Nachbedingungen von Methoden zu modellieren. Die in diesem Buch vorgestellte Version OCL/P ist eine an Java angepasste und erweiterte Variante des OCL-Standards. Nach einer Übersicht über die OCL werden die in der OCL eingesetzte Logik, die Konzepte zur Modellierung von Container- Datenstrukturen und von Funktionen in der OCL behandelt. Betrachtungen zur Ausdrucksmächtigkeit der OCL schließen das Kapitel ab.
Bernhard Rumpe
4. Objektdiagramme
Zusammenfassung
Objektdiagramme haben in der UML/P die Rolle, Strukturen auf exemplarischer Basis zu modellieren. Sie sind daher besonders geeignet, statisch unveränderliche Strukturen in dynamischen objektorientierten Systemen oder spezielle Situationen darzustellen, die etwa als Vor- oder Nachbedingung bei Tests verwendet werden. In diesem Kapitel werden Objektdiagramme eingeführt und ihr methodischer Einsatz diskutiert. Die Integration mit der OCL führt zu einer „Logik für Objektdiagramme”.
Bernhard Rumpe
5. Statecharts
Zusammenfassung
Statecharts sind eine Weiterentwicklung der endlichen Automaten zur Beschreibung von Objektverhalten. Jedes komplexere System besitzt steuernde und kontrollierende Anteile, die mit Statecharts modelliert werden können. Die hier vorgestellte Variante der Statecharts nutzt die OCL als Bedingungssprache und Java-Anweisungen als Aktionen. In den ersten beiden Abschnitten werden grundsätzliche Eigenschaften von Statecharts diskutiert. Die darauf folgenden drei Abschnitte führen die Statecharts als Beschreibungstechnik ein. Eine Diskussion der Anwendung von Statecharts im Kontext anderer UML-Diagramme rundet die Einf ührung der Statecharts ab.
Bernhard Rumpe
6. Sequenzdiagramme
Zusammenfassung
Ein Sequenzdiagramm stellt einen exemplarischen Ausschnitt aus dem Ablauf eines Softwaresystems dar. Es modelliert die dabei auftretenden Interaktionen und Aktivitäten und kann um OCL-Bedingungen erweitert werden. Dieses Kapitel stellt eine vereinfachte Version von Sequenzdiagrammen vor die sich insbesondere für die Modellierung von Tests eignet.
Bernhard Rumpe
A. Sprachdarstellung durch Syntaxklassendiagramme
Zusammenfassung
Sprachen werden zur Darstellung und zur Kommunikation von Information eingesetzt. Es gibt viele verschiedene Sprachformen. Dazu gehören textuelle, diagrammatische, visuelle oder durch Töne übertragene Sprachen. Allen Sprachen aber ist der Aufbau auf Basis eines Vokabulars von Grundelementen gemeinsam. Die meist auch Zeichen genannten Grundelemente werden gemäß den in einer Grammatik zusammengefassten Regeln zu sinnvollen und komplexeren Aussagen gruppiert. Sowohl in der Linguistik als auch der Informatikwird deshalb eine Sprache normalerweise als die Menge der wohlgeformten Sätze verstanden, die zu dieser Sprache gehören [HU90]. Auf dieser Erkenntnis basiert eine elegante und gut ausgearbeitete Theorie zur Darstellung von textuellen Sprachen, die sich in der Chomsky-Hierarchie manifestiert und mit der erweiterten Backus-Naur-Form (EBNF) eine praktische Form der Nutzung gefunden hat. EBNF und verwandte Ansätzewerden heute zur Darstellung von Programmiersprachen wie zum Beispiel Java [GJSB05] eingesetzt. Auch die XML [McL01] und die darin enthaltene Definitionssprache für XML-Dokumente basiert im Wesentlichen auf diesen Konzepten.
Bernhard Rumpe
B. Java
Zusammenfassung
Die bei einer Softwareentwicklung verwendete Programmiersprache hat wesentlichen Einfluss auf die Effektivität der Entwickler sowie die Qualität, Kosten, Weiterentwickelbarkeit und Wartbarkeit des Produkts. Die in dieser Arbeit vorgestellte Methodik UML/P verwendet als Zielsprache Java. Für eine gute Integration mit der Modellierungssprache UML/P werden daher bei der Definition von UML/P soweit wie möglich Elemente aus der Java- Grammatik verwendet. Deshalb wird in diesem Abschnitt die in [GJSB05] definierte Referenzgrammatik für die Sprache Java 6 in EBNF-Form übertragen.
Bernhard Rumpe
C. Die Syntax der UML/P
Zusammenfassung
Für eine detaillierte Diskussion und für die Einführung von Techniken zum Einsatz einer Sprache ist eine saubere Beschreibung der Sprache und ihrer Bedeutung unabdingbar. Wie in [HR00, HR04] diskutiert, ist die gewünschte Präzision der Semantik einer Sprache auch abhängig von der Leserschaft. Weil gegenüber dem UML-Standard einige Modifikationen an der Syntax vorgenommenwurden, ist es notwendig, die syntaktische Form der UML/P-Diagramme noch einmal präzise festzulegen. Dazu wird das im Anhang A eingeführte Verfahren zur Darstellung kombinierter graphischer und textueller Sprachen verwendet
Bernhard Rumpe
D. Anwendungsbeispiel: Internet-basiertes Auktionssystem
Zusammenfassung
Mit der enormen Verbreitung und hohen Verfügbarkeit des Internets haben kommerzielle Anwendungen eine enorme wirtschaftliche und kulturelle Bedeutung erfahren. Viele dieser Anwendungen werden unter dem Sammelbegriff E-Commerce zusammen gefasst.
Bernhard Rumpe
Backmatter
Metadaten
Titel
Modellierung mit UML
verfasst von
Bernhard Rumpe
Copyright-Jahr
2011
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-22413-3
Print ISBN
978-3-642-22412-6
DOI
https://doi.org/10.1007/978-3-642-22413-3

Neuer Inhalt