Skip to main content
main-content

Über dieses Buch

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

Inhaltsverzeichnis

Frontmatter

Chapter 1. Introduction

Abstract
The introductory chapter gives an overview of the goals of the book, describes notational conventions, and places the UML/P profile in context of the UML standard. Furthermore, it introduces core terminology, sich as modelling, MBSE, AMDA and agile modeling with UML.
Bernhard Rumpe

Chapter 2. Class Diagrams

Abstract
Class diagrams form the architectural backbone of many system modeling processes. Hence, this chapter introduces class diagrams defined in UML/P with the core elements class, attribute, method, association, and composition. The section about views and representations discusses forms of use for class diagrams. Furthermore, it is shown how modeling concepts are adapted for project-specific demands using stereotypes and tags.
Bernhard Rumpe

Chapter 3. Object Constraint Language

Abstract
The Object Constraint Language (OCL) is a property-orientated modeling language that is used to model invariants as well as pre- and postconditions of methods. In this book, an extended variant of OCL called OCL/P, which is adjusted to Java, is introduced. After giving an overview of OCL, the logic used and the concepts for modeling container data structures and functions in OCL are described. Considerations regarding the expressiveness of OCL conclude this chapter.
Bernhard Rumpe

Chapter 4. Object Diagrams

Abstract
In UML/P, object diagrams take on the role of modeling structures on an exemplary basis. Thus, they are particularly suitable for depicting statically unchangeable structures in otherwise dynamic object-oriented systems or special situations that, e.g., are used as post- or preconditions in tests. In this chapter, we introduce object diagrams and discuss their methodical use. The integration with OCL results in a “logic for object diagrams.”
Bernhard Rumpe

Chapter 5. Statecharts

Abstract
Statecharts are an advancement of finite automata for the description of object behavior. Each complex system has steering and controlling parts that can bemodeled with Statecharts. The Statechart variant introduced here uses OCL as the constraint language and Java instructions as actions. In the first two sections, fundamental properties of Statecharts are discussed. The next three sections introduce Statecharts as a description technique. We discuss the usage of Statecharts in the context of other UML diagrams to complete the introduction of Statecharts.
Bernhard Rumpe

Chapter 6. Sequence Diagrams

Abstract
A sequence diagram represents an exemplary snippet of a software system’s process. It models the occurring interactions and activities and can be extended by OCL expressions. This chapter introduces a simplified version of sequence diagrams which are suitable especially for the modeling of tests.
Bernhard Rumpe

Chapter 7. Further Reading

Abstract
For those readers who are interested in additional insights, we recommend to look at our additional literature that describes the theoretical underpinning, as well as the application of these concepts in specific domains, and newer forms of use.
Bernhard Rumpe

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise