Agile Modeling with UML Code Generation, Testing, Refactoring /

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...

Full description

Bibliographic Details
Main Author: Rumpe, Bernhard (Author)
Corporate Author: SpringerLink (Online service)
Format: Electronic eBook
Language:English
Published: Cham : Springer International Publishing : Imprint: Springer, 2017.
Subjects:
Online Access:Full Text via HEAL-Link
LEADER 04285nam a22004455i 4500
001 978-3-319-58862-9
003 DE-He213
005 20171011142219.0
007 cr nn 008mamaa
008 170426s2017 gw | s |||| 0|eng d
020 |a 9783319588629  |9 978-3-319-58862-9 
024 7 |a 10.1007/978-3-319-58862-9  |2 doi 
040 |d GrThAP 
050 4 |a QA76.758 
072 7 |a UMZ  |2 bicssc 
072 7 |a COM051230  |2 bisacsh 
082 0 4 |a 005.1  |2 23 
100 1 |a Rumpe, Bernhard.  |e author. 
245 1 0 |a Agile Modeling with UML  |h [electronic resource] :  |b Code Generation, Testing, Refactoring /  |c by Bernhard Rumpe. 
264 1 |a Cham :  |b Springer International Publishing :  |b Imprint: Springer,  |c 2017. 
300 |a XIII, 388 p. 176 illus., 101 illus. in color.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a 1 Introduction -- 2 Agile and UML-Based Methodology -- 3 Compact Overview of UML/P -- 4 Principles of Code Generation -- 5 Transformations for Code Generation -- 6 Principles of Testing with Models -- 7 Model-Based Tests -- 8 Design Patterns for Testing -- 9 Refactoring as a Model Transformation -- 10 Refactoring of Models -- 11 Summary, Further Reading and Outlook. 
520 |a 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 3 provides 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 the area 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. 
650 0 |a Computer science. 
650 0 |a Management information systems. 
650 0 |a Software engineering. 
650 1 4 |a Computer Science. 
650 2 4 |a Software Engineering. 
650 2 4 |a Software Management. 
650 2 4 |a Management of Computing and Information Systems. 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9783319588612 
856 4 0 |u http://dx.doi.org/10.1007/978-3-319-58862-9  |z Full Text via HEAL-Link 
912 |a ZDB-2-SCS 
950 |a Computer Science (Springer-11645)