Skip to main content

Agile Modeling with UML

Code Generation, Testing, Refactoring

  • Textbook
  • © 2017

Overview

  • Addresses three core topics in model-based software development: code generation, testing, and refactoring of software
  • Clearly distinguishes between concepts and techniques on one hand, and their implementation in UML/P on the other
  • Mainly intended for practitioners and students, helping them learn the scientific basics of model-based software development for industrial code production
  • Includes supplementary material: sn.pub/extras

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 89.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (11 chapters)

Keywords

About this book

This book focuses on the methodological treatment of UML/P and addresses three core topics of model-based software development: code generation, the systematic testing of programs using a model-based definition of test cases, and the evolutionary refactoring and transformation of models. For each of these topics, it first details the foundational concepts and techniques, and then presents their application with UML/P. This separation between basic principles and applications makes the content more accessible and allows the reader to transfer this knowledge directly to other model-based approaches and languages.


After an introduction to the book and its primary goals in Chapter 1, Chapter 2 outlines an agile UML-based approach using UML/P as the primary development language for creating executable models, generating code from the models, designing test cases, and planning iterative evolution through refactoring. In the interest of completeness, Chapter 3provides a brief summary of UML/P, which is used throughout the book. Next, Chapters 4 and 5 discuss core techniques for code generation, addressing the architecture of a code generator and methods for controlling it, as well as the suitability of UML/P notations for test or product code.  Chapters 6 and 7 then discuss general concepts for testing software as well as the special features which arise due to the use of UML/P. Chapter 8 details test patterns to show how to use UML/P diagrams to define test cases and emphasizes in particular the use of functional tests for distributed and concurrent software systems. In closing, Chapters 9 and 10 examine techniques for transforming models and code and thus provide a solid foundation for refactoring as a type of transformation that preserves semantics.


Overall, this book will be of great benefit for practical software development, for academic training in the field of Software Engineering, and for research in thearea of model-based software development. Practitioners will learn how to use modern model-based techniques to improve the production of code and thus significantly increase quality. Students will find both important scientific basics as well as direct applications of the techniques presented. And last but not least, the book will offer scientists a comprehensive overview of the current state of development in the three core topics it covers.


Reviews

“This book, the second volume of the series, presents agile modeling with UML with a focus on code generation, testing, and refactoring. … Overall, the book is well structured and easy to follow. … This book provides excellent teaching material, and can be recommended for students and lecturers; in addition, experienced developers working on agile projects can use it as a guideline and to read about best practices.” (Computing Reviews, August, 2017) 

Authors and Affiliations

  • Software Engineering, RWTH Aachen University, Aachen, Germany

    Bernhard Rumpe

About the author

​Bernhard Rumpe teaches at the RWTH Aachen University the use of agile, model-based development on the basis of UML. His research interests include models, modeling languages, DSLs, as well as their construction, analytical and generative use in development of products. With a number of publications, he has contributed to the standardization of UML and to a better use within development processes. He is author and editor of 21 books and Editor-in-Chief of the international Springer Journal on Software and Systems Modeling (SoSyM).

Bibliographic Information

  • Book Title: Agile Modeling with UML

  • Book Subtitle: Code Generation, Testing, Refactoring

  • Authors: Bernhard Rumpe

  • DOI: https://doi.org/10.1007/978-3-319-58862-9

  • Publisher: Springer Cham

  • eBook Packages: Computer Science, Computer Science (R0)

  • Copyright Information: Springer International Publishing AG 2017

  • Hardcover ISBN: 978-3-319-58861-2Published: 04 May 2017

  • Softcover ISBN: 978-3-319-86494-5Published: 25 July 2018

  • eBook ISBN: 978-3-319-58862-9Published: 26 April 2017

  • Edition Number: 1

  • Number of Pages: XIII, 388

  • Number of Illustrations: 75 b/w illustrations, 101 illustrations in colour

  • Topics: Software Engineering, Software Management, Management of Computing and Information Systems

Publish with us