I guess no one would argue for decomposing use cases, that is just wrong. However sometimes it is necessary to specify use cases, which are on lower, more technical level, like for example authetication and authorization, which give the actor value, but are further from his business needs. Cockburn argues for levels when needed and explains how to move use cases from/to different levels and how to determine the right level. On the other hand, e.g. Bittner argues against use case levels, although he uses subflows, requires the vision documents which contain information about the purpose of the system in the business, much like use cases on the higher level, and at the end of his book mentions, that at least two levels are needed most of the time. My questionis, do you find use case levels necessary, helpful or unwanted? What are the reasons? Am I misssing some important arguments?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
I recommend against levels. The use cases are most useful when they describe what the user wants to accomplish, not the technical details of how to they do things. Making the use cases specific to methods will constrain your choices on how to implement solutions. In your example, the use case should be "check the balance of his account", not "the user can log on with SSL".
That said, make the exception when your requirements contract does have highly specific technical constraints. If your client demands SSL, make the SSL use case.