Designing Objects: What are Static and Dynamic Modeling? - UML

There are two kinds of object models: dynamic and static. Dynamic models, such as UML interaction diagrams (sequence diagrams or communication diagrams), help design the logic, the behavior of the code or the method bodies. They tend to be the more interesting, difficult, important diagrams to create. Static models, such as UML class diagrams, help design the definition of packages, class names, attributes, and method signatures (but not method bodies).

Static and dynamic UML diagrams for object modeling

Static and dynamic UML diagrams for object modeling

There's a relationship between static and dynamic modeling and the agile modeling practice of create models in parallel: Spend a short period of time on interaction diagrams (dynamics), then switch to a wall of related class diagrams (statics).

Dynamic Object Modeling

People new to UML tend to think that the important diagram is the static - view class diagram, but in fact, most of the challenging, interesting, useful design work happens while drawing the UML dynamic - view interaction diagrams. It's during dynamic object modeling (such as drawing sequence diagrams) that "the rubber hits the road" in terms of really thinking through the exact details of what objects need to exist and how they collaborate via messages and methods. Therefore, this book starts by introducing dynamic object modeling with interaction diagrams.

Note that it's especially during dynamic modeling that we apply responsibility - driven designand the GRASPprinciples. The subsequent chapters focus on these key topics of the book - and key skills in 00 design.

Static Object Modeling

The most common static object modeling is with UML class diagrams. After first covering dynamic modeling with interaction diagrams, I introduce the details.

Note, though, that if the developers are applying the agile modeling practice of Create several models in parallel, they will be drawing both interaction and class diagrams concurrently.

The Importance of Object Design Skill over UML Notation Skill

The following chapters explore detailed object design while applying UML diagrams. It's been said before, but is important to stress: What's important is knowing how to think and design in objects, and apply object design best - practice patterns, which is a very different and much more valuable skill than knowing UML notation.

While drawing a UML object diagram, we need to answer key questions: What are the responsibilities of the object? Who does it collaborate with? What design patterns should be applied? Far more important than knowing the difference between UML 1.4 and 2.0 notation! Therefore, the emphasis of the following chapters is on these principles and patterns in object design.

Object Design Skill vs. UML Notation Skill

Drawing UML is a reflection of making decisions about the design.

The object design skills are what matter, not knowing how to draw UML. Fundamental object design requires knowledge of:

  • principles of responsibility assignment
  • design patterns

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd Protection Status

UML Topics