This book addresses the methodological treatment of UML/P, focusing on three core aspects of model-based software development: code generation, systematic testing of programs through model-based test case definitions, and evolutionary refactoring and transformation of models. It begins by detailing foundational concepts and techniques, followed by their application with UML/P, making the content accessible for transfer to other model-based approaches and languages. After an introductory chapter outlining the book's goals, an agile UML-based approach is presented, using UML/P for creating executable models, generating code, designing test cases, and planning iterative evolution through refactoring. A brief summary of UML/P is provided for completeness. Subsequent chapters delve into techniques for code generation, including the architecture of a code generator and the suitability of UML/P notations for test or product code. General concepts for software testing and specific features related to UML/P are discussed, along with test patterns for defining test cases, particularly for distributed and concurrent systems. The final chapters examine model and code transformation techniques, establishing a foundation for refactoring that preserves semantics. This book benefits practical software development, academic training in Software Engineering, and research in model-based software development, equipping practitioners, students, an
Bernhard Rumpe Livres






SOFSEM 2010. Theory and Practice of Computer Science
36th Conference
This book constitutes the refereed proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 2010, held in Špindleruv Mlýn, Czech Republic, in January 2009. The 53 revised full papers, presented together with 11 invited contributions, were carefully reviewed and selected from 134 submissions. SOFSEM 2010 was organized around the following four tracks: Foundations of computer science, principles of software construction, Data, knowledge, and intelligent systems and Web science.
This book presents a variant of UML that is especially suitable for agile development of high-quality software. It adjusts the language UML profile, called UML/P, for optimal assistance for the design, implementation, and agile evolution to facilitate its use especially in agile, yet model based development methods for data intensive or control driven systems. After a general introduction to UML and the choices made in the development of UML/P in Chapter 1, Chapter 2 includes a definition of the language elements of class diagrams and their forms of use as views and representations. Next, Chapter 3 introduces the design and semantic facets of the Object Constraint Language (OCL), which is conceptually improved and syntactically adjusted to Java for better comfort. Subsequently, Chapter 4 introduces object diagrams as an independent, exemplary notation in UML/P, and Chapter 5 offers a detailed introduction to UML/P Statecharts. Lastly, Chapter 6 presents a simplified form ofsequence diagrams for exemplary descriptions of object interactions. For completeness, appendixes A–C describe the full syntax of UML/P, and appendix D explains a sample application from the E-commerce domain, which is used in all chapters. This book is ideal for introductory courses for students and practitioners alike.
This reference manual for the language workbench MontiCore describes how to efficiently develop tools that deal with language processing. MontiCore allows to specify tooling for processing models of standard languages, such as UML or Java, as well as domain specific textual languages (DSLs). MontiCore provides infrastructure for processing many as well as heterogeneous models of different languages. MontiCore assists modeling in the large. With MontiCore these tools can to a large extent be generated. Furthermore, the generated part can flexibly be adapted by handcoded extensions. MontiCore assists reuse of tool components that have been developed independently by providing techniques for systematic reuse of language components by composing, extending or inheriting them. MontiCore assists an easy development and extension of languages.
Die Unified Modeling Language (UML) hat sich zur dominanten Modellierungssprache entwickelt. Als weiterer Trend ist zu beobachten, dass „agile“ Methoden immer breiter eingesetzt werden. Der Band bietet eine Einführung in die Entwicklungsmethodik, die UML mit Elementen agiler Methoden kombiniert. Im Tutorial wird beschrieben, wie UML eingesetzt wird. Dabei werden Klassen-, Objekt- und Sequenzdiagramme, Statecharts sowie die Object Constraint Language (OCL) anhand vieler Beispiele erläutert. Die 2. Auflage basiert auf UML 2.3 sowie der Java-Version 6.
Agile Modellierung mit UML
- 334pages
- 12 heures de lecture
Im wachsenden Portfolio von Entwicklungstechniken zeichnen sich zwei aktuelle Trends ab. Zum einen dominiert die UML als Modellierungssprache. Zum anderen werden "agile" Methoden in neuen Bereichen 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 Beziehung der UML zu 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 an Geschäftsprozesse dynamisch weiterentwickeln. Diese Methodik ist geeignet für Praktiker, die Modellierungstechniken professionell nutzen wollen.
Formale Methodik des Entwurfs verteilter objektorientierter Systeme
- 262pages
- 10 heures de lecture
