:-/ Lightning strike !!!
I have (over the last day been fighting with sort of exactly the same thing. I am currently exploring use case generalization as a solution. If I have any joy I'll ley you know.
Basically, my scenario is that I have a set of very similar use cases in two directions - they differ only in the business object they work on, their behaviour is the "same" and similarly, they have differing relationships with both actors and other use cases (as extensions). The approach I'm attempting is to create "template" cases containing the bhaviour and constaints and "template" usecase "instances" for the behaviour diagrams.
Thus repairProduct and repairProduct_OnSite have the same behavioral constraints, so I dont want them in two places either. So, I use repairProduct as the generalization and add a third useCase repairProduct_RTB (specializing reparProduct) and add a generalization from repairProduct_OnSite to repairProduct. This seems to work OK conceptually, I have not yet worked it through to the final concusion, which is to generate everything down to and including the testcases for the system. I'll let you know...
The other dimension is a bit trickier to describe and relates to the Hamlet thread (
http://www.sparxsystems.com.au/cgi-bin/yabb/YaBB.pl?board=UMLPRO;action=display;num=1174402057). The invocation of usecaseX has crosscutting concerns with a subset "A" of the systemwide use cases, similarly usecaseY crosscuts a different, maybe intersecting subset "B" of the use cases. There is specific behaviour that must be exhibited by any and all of the usecases in "A" and likewise specific behaviour for the "B" subset.
What I'm tryig to do is to simplify the model (and lower the effort) by specifying another set of template use cases, one for the "A" behaviour and one for the "B" - and have the use cases inherit the relevant behaviours depenfing on their (multiple) parentage. Note this is a bit different from using <<includes>> as what I'm trying to do is NOT have to include and maintain the <<includes>> relationships throughout this ever-growing model. So once I define a usecase as being an "A" or a "B" or both I dont need to worry about the includes anymore..... or so I hope.
I'll be watching closely, let us know how you go.
bruce