Feeds

Sequence diagramming that's fit for purpose

Illustrate your point

The Power of One eBook: Top reasons to choose HP BladeSystem

Book extract, part 4 In this, the final part of our series of experts from Use Case Driven Object Modeling with UML: Theory and Practice Matt Stephens and Doug Rosenberg show you how to draw lean, purposeful sequence diagrams that are driven from the use cases and preliminary design.

As before, this chapter opens with the following "you are here" diagram of the ICONIX Process, showing in red the area about to be covered.

Iconix Process sequence diagram

Mapping sequence and behavior

All the steps in the process so far have been preparing the use cases for the detailed design activity. By this time, your use case text should be complete, correct, detailed, and explicit. In short, your use cases should be in a state where you can create a detailed design from them.

If you figure that preliminary design is all about object discovery, then detailed design is, by contrast, about behavior allocation - that is, allocating the software functions you've identified into the set of classes you discovered during preliminary design.

When you draw sequence diagrams, you're taking another sweep through the preliminary design, adding in detail. You use sequence diagrams to drive the detailed design. We advocate drawing your sequence diagrams in a minimal style.

Here is our final 10-point checklist for successful sequence diagramming. As with all our lists, pay attention because there will be questions:

Top 10 sequence diagramming guidelines

10. Clean up the static model before proceeding to the next step

9. "Prefactor" your design on sequence diagrams before coding

8. Review your class diagrams frequently while you're assigning operations to classes, to make sure all the operations are on the appropriate classes

7. Assign operations to classes while drawing messages. Most visual modeling tools support this capability

6. Don't spend too much time worrying about focus of control

5. Make sure your use case text maps to the messages being passed on the sequence diagram. Try to line up the text and message arrows.

4. Use the sequence diagram to show how the behavior of the use case is accomplished by the objects

3. Start your sequence diagram from the boundary classes, entity classes, actors, and use case text that result from robustness analysis

2. Do a sequence diagram for every use case, with both basic and alternate courses on the same diagram

1. Understand why you're drawing a sequence diagram, to get the most out of it

Reducing security risks from open source software

More from The Register

next story
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Mozilla fixes CRITICAL security holes in Firefox, urges v31 upgrade
Misc memory hazards 'could be exploited' - and guess what, one's a Javascript vuln
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
Apple: We'll unleash OS X Yosemite beta on the MASSES on 24 July
Starting today, regular fanbois will be guinea pigs, it tells Reg
HIDDEN packet sniffer spy tech in MILLIONS of iPhones, iPads – expert
Don't panic though – Apple's backdoor is not wide open to all, guru tells us
prev story

Whitepapers

Top three mobile application threats
Prevent sensitive data leakage over insecure channels or stolen mobile devices.
Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Boost IT visibility and business value
How building a great service catalog relieves pressure points and demonstrates the value of IT service management.
Designing a Defense for Mobile Applications
Learn about the various considerations for defending mobile applications - from the application architecture itself to the myriad testing technologies.
Build a business case: developing custom apps
Learn how to maximize the value of custom applications by accelerating and simplifying their development.