Laurie,
Bruno is right. If you need to show some heirarchy in terms of use cases, the package structure is the way to go. In fact I was reading something either by Scott Ambler on this today.
Heres a couple of hints I find successful.
1. The first step is just to make a list of all the use cases, but ... dont bother trying to make sure the list is totally complete, just fairly comprehensive and dont analyse each one as you go just give it a name.
2. (mentally) Group the obvious together.
3. Pick a
significant group and
a) pick the
main use case in the group
b) describe its outcomes...
by way of example of this, an online travel booking system may have main "groups" like "book travel", "cancel travel", "frequent flyer registration" containing use cases like "Book Domestic Flight", "Book International Flight", .... "Register FF Profile", "Update FF Profile" etc etc.
Lets pick a target - in "book travel" pick "Book Domestic Flight".
The outcomes are :
CRS booking entry made
CRS inventory updated
CRS financial record created
CRS ticketting record created
(easy so far, but what about)
ticket email sent to user
user nominated credit card account debitted
(or even...)
Frequent Flyer pro-forma profile created
booking miles creditted to FF miles on proforma.
Now look at the other use cases in the group, are the outcomes the same or similar enough to cast doubt as to whether they are real use cases... N.B. EXCEPTION CASES ARE NOT USE CASES... perhaps they are scenarios, duplicates or just plain mistakes.
Kill those ones off now. get them out of the model, they will only confuse things later (or at least add unnecessary effort all the way through the project).
Even after 4 or so years of using UML I still find that the inital list of use cases suspected for a project can be culled to a significant fraction by this approach. Alright, I'll admit that a couple of times I've had to add one or two culls back in at a later stage but this was trivial compared to attempting to create massive, detailed, heirarchies of use cases that had little value at the end of the day.
The UML cognoscienti (can't call 'em gurus any more or TK may take offense

) "say" only put a dozen or more use cases on diagram. What they "mean" is that humans can't cope with more than about that level of complexity in a visual model. This is like the old Powerpoint maxim of only putting 3-5-or-7 dot points on a slide. If there are more than 12 significant use cases in a system then there are more than 12 significant use cases in a system. Communication of those use cases is easier if we split the diagrams up.
Now here's something to consider. Sometimes I'll split them up by a perfectly logical and valid structural concept - say user group for example. Other times I'll split them by some obscure, technocrafty, arcane, weird pseudo concept (I cant give you an example or I would have to kill you).
Why? Purely because of the reason I drew the diagram - to communicate with a specific audience about a specific aspect of the system anaylsis or design. Each audience requires a different view of the use cases, and often a different grouping.
If you try and create complex formal heirarchical arrangements of your use case models you will constrain yourself in creating these communication-level diagrams on the fly and you will cripple effective use of UML.
HTH
Bruce
p.s. Sorry guys - I've inadvertently let the inner circle secret that UML is a communication tool out again...
