HomePractices Page 13 - Five-Step UML: OOAD for Short Attention Spans - Design, Repeat
Summary - Practices
This article continues our introduction to the concepts of Five-Step UML, working from beginning to end. It introduces UML notation and goes into great detail. This article covers the final two steps of a five-step process. It is from chapter 2 of UML Applied A .NET Perspective, written by Martin L. Shoemaker (Apress, 2004; ISBN: 1590590872).
In this chapter, we’ve worked through a complete iteration of each step in Five-Step UML. Along the way, I showed the new UML notation that you’ve needed at each stage of the process. The UML we’ve used in this chapter is by no means the complete language, but an exhaustive tutorial in the entirety of UML16 is not the aim of this book.
The UML notation that we’ve focused on in this chapter has been
Use Case Diagrams, with actors, use cases, and domain objects.
Activity Diagrams, with initial states, activity states, and terminal states, all joined together by transitions, branches, merges, joins, and forks. We also looked at how to assign different activities in an Activity Diagram into swimlanes.
Component Diagrams, with components, interfaces, realizations, and dependencies.
Class Diagrams, with classes divided up to include information on attributes and operations, and the connections between classes defined by associations and dependences.
From this point forward, I’ll assume you understand UML well enough to understand any diagram that I’ll draw, introducing any new notation as we come across it. If you’re still not comfortable with UML, I recommend that you do some more Five-Step exercises, and solve problems with your team. Practice with UML won’t make you perfect, because “perfect” is an unattainable goal; but practice is certainly the best way to learn. Remember, you don’t need to learn everything immediately. Like any language, you’ll pick more of it up as you use it, and become proficient more quickly with some parts of the language than others.
As you worked through the exercises in Five-Step UML, you should have got a taste of the power of UML. You’ve seen how you can apply a straightforward development process of define, refine, assign, and design, repeating it at different scopes in your system. Continue to practice this simple OOAD approach until you feel comfortable deriving classes and components and nodes and ultimately code, all from user requirements. At this stage, you aren’t defining these elements in enough detail to lead to implementation. Instead, you’re simply learning to think in UML.
16. For an exhaustive tutorial, I recommend Martin Fowler and Kendall Scott, UML Distilled, Second Edition (Addison-Wesley, 1999), followed by James Rumbaugh, Ivar Jacobson, and Grady Booch, The Unified Modeling Language Reference Manual (Addison-Wesley, 1999).
In Part Two, I’ll drill down into Five-Step UML in more detail, dedicating a chapter to each step of the process as we work through the design of the KMS in depth. Along the way, you’ll see more details of the UML notation that will allow you to very precisely design your system.
Before we delve further into Five-Step UML, however, let’s take a break and have a look at some general modeling advice. The set of pragmatic guidelines presented in the next chapter are not only applicable to the Five-Step process described in this book, but also to modeling in general.