Monday, August 01, 2005

Use Case Granularity

Craig Larman weighs in on how granular use cases should be:

"A common error in identifying use cases is to represent individual steps, operations, or transactions as use cases. For example, in [a] point-of-sale terminal domain, one may (inappropriately) define a use case called 'Printing the Receipt' when in fact the printing operation is merely a step in the much larger use case process, 'Buy Items'.

A use case is a relatively large end-to-end process description that typically includes many steps or transactions; it is not normally an individual step or activity in a process.

It is possible to break down activities or portions of a use case into sub-use cases (called 'abstract use cases') - even down to individual steps - but this is not the norm . . . ."

- Craig Larman's Applying UML and Patterns, page 53

No comments :