
Agile Modellierung mit UML : Codegenerierung, Testfälle, Refactoring
by Rumpe, BernhardRent Textbook
Rent Digital
New Textbook
We're Sorry
Sold Out
Used Textbook
We're Sorry
Sold Out
Summary
Table of Contents
Einführung | p. 1 |
Ziele und Inhalte von Band 1 | p. 2 |
Ergänzende Ziele dieses Buchs | p. 4 |
Überblick | p. 6 |
Notationelle Konventionen | p. 7 |
Kompakte Übersicht zur UML/P | p. 9 |
Klassendiagramme | p. 10 |
Klassen und Vererbung | p. 10 |
Assoziationen | p. 11 |
Repräsentation und Stereotypen | p. 14 |
Object Constraint Language | p. 15 |
Übersicht über OCL/P | p. 15 |
Die OCL-Logik | p. 18 |
Container-Datenstrukturen | p. 19 |
Funktionen in OCL | p. 26 |
Objektdiagramme | p. 28 |
Einführung in Obbektdiagramme | p. 29 |
Komposition | p. 30 |
Bedeutung eines Objektdiagramms | p. 31 |
Logik der Objektdiagramme | p. 32 |
Statecharts | p. 33 |
Eigenschaften von Statecharts | p. 33 |
Darstellung von Statecharts | p. 37 |
Sequenzdiagramme | p. 44 |
Prinzipien der Codegenerierung | p. 49 |
Konzepte der Codegenerierung | p. 52 |
Konstruktive Interpretation von Modellen | p. 54 |
Testsversus Implementierung | p. 56 |
Tests und Implementierung aus dem gleichen Modell | p. 59 |
Technikender Codegenerierung | p. 60 |
Plattformabhängige Codegenerierung | p. 60 |
Funktionalität und Flexibilität | p. 63 |
Steuerung der Codegenerierung | p. 67 |
Semantik der Codegenerierung | p. 68 |
Parametrisierung eines Werkzeugs | p. 71 |
Implementierung von Werkzeugen | p. 71 |
Darstellung von Skripttransformationen | p. 73 |
Transformationen für die Codegenerierung | p. 77 |
Übersetzungvon Klassendiagrammen | p. 78 |
Attribute | p. 78 |
Methoden | p. 82 |
Assoziationen | p. 85 |
Qualifizierte Assoziation | p. 90 |
Komposition | p. 93 |
Klassen | p. 95 |
Obbekterzeugung | p. 98 |
Übersetzung von Objektdiagrammen | p. 102 |
Konstruktiv eingesetzte Objektdiagramme | p. 102 |
Beispieleiner konstruktiven Codegenerierung | p. 104 |
Als Prädikate eingesetzte Objektdiagramme | p. 106 |
Objektdiagramm beschreibt Strukturmodifikation | p. 109 |
Objektdiagramme und OCL | p. 112 |
Codegenerierung aus OCL | p. 112 |
OCL-Aussage als Prädikat | p. 113 |
OCL-Logik | p. 115 |
OCL-Typen | p. 117 |
Typen als Extension | p. 119 |
Navigation und Flattening | p. 120 |
Quantoren und Spezialoperatoren | p. 121 |
Methodenspezifikation | p. 122 |
Vererbung von Methodenspezifikationen | p. 125 |
Ausführung von Statecharts | p. 125 |
Methoden-Statecharts | p. 127 |
Umsetzung der Zustände | p. 128 |
Umsetzung der Transitionen | p. 132 |
Übersetzung von Sequenzdiagrammen | p. 136 |
Sequenzdiagramm als Testtreiber | p. 136 |
Sequenzdiagramm als Prädikat | p. 138 |
Zusammenfassung zur Codegenerierung | p. 140 |
Grundlagen des Testens | p. 143 |
Einführung in die Testproblematik | p. 144 |
Testbegriffe | p. 145 |
Ziele der Testaktivität | p. 147 |
Fehlerkategorien | p. 149 |
Begriffsbestimmung für Testverfahren | p. 150 |
Suche geeigneter Testdaten | p. 152 |
Sprachspezifische Fehlerquellen | p. 153 |
UML/P als Test- und Implementierungssprache | p. 155 |
Eine Notation für die Testfalldefinition | p. 158 |
Definition von Testfällen | p. 161 |
Operative Umsetzung eines Testfalls | p. 161 |
Vergleich der Testergebnisse | p. 163 |
Werkzeuge JUnit und VUnit | p. 166 |
Modellbasierte Tests | p. 171 |
Testdaten und Sollergebnis mit Objektdiagrammen | p. 172 |
Invarianten als Codeinstrumentierungen | p. 175 |
Methodenspezifikationen | p. 177 |
Methodenspezifikationen als Codeinstrumentierung | p. 177 |
Methodenspezifikationen zur Testfallbestimmung | p. 178 |
Testfalldefinition mit Methodenspezifikationen | p. 181 |
Sequenzdiagramme | p. 182 |
Trigger | p. 183 |
Vollständigkeit und Matching | p. 185 |
Nicht-kausale Sequenzdiagramme | p. 186 |
Mehrere Sequenzdiagramme in einem Test | p. 186 |
Mehrere Trigger im Sequenzdiagramm | p. 187 |
Interaktionsmuster | p. 188 |
Statecharts | p. 189 |
Ausführbare Statecharts | p. 190 |
Statechart als Ablaufbeschreibung | p. 192 |
Testverfahren für Statecharts | p. 194 |
Überdeckungsmetriken | p. 196 |
Transitionstests statt Testsequenzen | p. 199 |
Weiterführende Ansätze | p. 200 |
Zusammenfassung und offene Punktebeim Testen | p. 201 |
Testmuster im Einsatz | p. 207 |
Dummies | p. 210 |
Dummies für Schichten der Architektur | p. 211 |
Dummies mit Gedächtnis | p. 212 |
Sequenzdiagramm statt Gedächtnis | p. 214 |
Abfangen von Seiteneffekten | p. 215 |
Testbare Programme gestalten | p. 215 |
Statische Variablen und Methoden | p. 216 |
Seiteneffekte in Konstruktoren | p. 219 |
Objekterzeugung | p. 219 |
Vorgefertigte Frameworks und Komponenten | p. 220 |
Behandlung der Zeit | p. 222 |
Simulationder Zeit im Dummy | p. 224 |
Variable Zeiteinstellung im Sequenzdiagramm | p. 224 |
Muster zur Simulation von Zeit | p. 227 |
Timer | p. 228 |
Nebenläufigkeit mit Threads | p. 229 |
Eigenes Scheduling | p. 230 |
Sequenzdiagramm als Scheduling-Modell | p. 231 |
Behandlung von Threads | p. 232 |
Muster für die Behandlung von Threads | p. 234 |
Probleme der erzwungenen Sequentialisierung | p. 235 |
Verteilung und Kommunikation | p. 237 |
Simulation der Verteilung | p. 237 |
Simulation von Singletons | p. 239 |
OCL-Bedingungen über mehrere Lokationen | p. 241 |
Kommunikation simuliert verteilter Prozesse | p. 242 |
Muster für Verteilung und Kommunikation | p. 244 |
Zusammenfassung | p. 245 |
Refactoring als Modelltransformation | p. 247 |
Einführende Beispiele für Transformationen | p. 248 |
Methodik des Refactoring | p. 253 |
Technische und methodische Voraussetzungen für Refactoring | p. 253 |
Qualitát des Designs | p. 255 |
Refactoring, Evolution und Wiederverwendung | p. 256 |
Theorie der Modelltransformationen | p. 258 |
Modelltransformationen | p. 258 |
Semantik einer Modelltransformation | p. 259 |
Beobachtungsbegriff | p. 266 |
Transformationsregeln | p. 270 |
Korrektheit von Transformationsregeln | p. 272 |
Ansatze der transformationellen Softwareentwicklung | p. 274 |
Refactoring von Modellen | p. 277 |
Quellen für UML/P-Refactoring-Regeln | p. 278 |
Definition und Darstellung von Refactoring-Regeln | p. 280 |
Refactoring in Java/P | p. 282 |
Refactoring von Klassendiagrammen | p. 288 |
Refactoring in der OCL | p. 294 |
Einführung von Testmustern als Refactoring | p. 296 |
Additive Methode für Datenstrukturwechsel | p. 299 |
Vorgehensweise für den Datenstrukturwechsel | p. 299 |
Beispiel: Darstellung von Geldbeträgen | p. 302 |
Beispiel: Einführung des Chairs im Auktionssystem | p. 306 |
Zusammenfassungder Refactoring-Techniken | p. 314 |
Zusammenfassung und Ausblick | p. 317 |
Literatur | p. 321 |
Index | p. 331 |
Table of Contents provided by Publisher. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.