Feeds

Model use cases that work

Think succinct

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

Book extract, part 2 In the first extract from their book Use Case Driven Object Modeling with UML: Theory and Practice, Reg Dev regular and Agile Iconoclast Matt Stephens and his colleague Doug Rosenberg introduced you to domain modeling.

In this, the second of four installments, the duo show you how to write useful use cases so the design, work estimates and tests flow logically out of each use case.

With an initial domain model in place, it's time to begin writing use cases – highlighted in red in the ICONIX Process map below.

Use case iconix process

Putting the use case model on the map

Use cases give you a structured way of capturing the behavioral requirements of a system, so that you can reasonably create a design from them. They help you to answer the fundamental questions of what are the users of the system trying to do and what is the user experience. A surprising amount of what your software does is dictated by the way in which users must interact with it.

Top 10 use case modeling guidelines

The principles discussed in this chapter can be summed up as a list of guidelines. These guidelines, in turn, can be summed up in a single sentence: describe system usage in the context of the object model.

In practical terms, this means you need to reference domain classes that participate in the use case, and you need to name your screens and other boundary objects explicitly in the use-case text. Otherwise, your behavior requirements will be completely disconnected from your object model, and - surprise - you won't be able to drive designs from the use cases.

Here, then, is this chapter's 10-point checklist for successful use case modeling. As with our list last time, pay attention because we shall be asking questions:

10. Reference boundary classes (like screens) by name

9. Reference domain classes by name

8. Write your use cases using a noun-verb-noun sentence structure

7. Write the use case in the context of the object model

6. Remember that your use case is really a runtime behavior specification

5. Use GUI prototypes and screen mock ups

4. Write your use case using an event/response flow, describing both sides of the user/system dialog

3. Write your use cases in active voice

2. Organize your use cases with actors and use case diagrams

1. Follow the two-paragraph rule, and don't pad out the use case with presentation details

The Essential Guide to IT Transformation

More from The Register

next story
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
Leaked Windows Phone 8.1 Update specs tease details of Nokia's next mobes
New screen sizes, dual SIMs, voice over LTE, and more
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
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
prev story

Whitepapers

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.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Application security programs and practises
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Securing Web Applications Made Simple and Scalable
Learn how automated security testing can provide a simple and scalable way to protect your web applications.