Hi there,
Below I present the way I currently structure complex use case models. I also present some drawbacks of my current approach and a new approach (which I'm intending to adopt). I would be glad to hear your comments on both approaches below. Sorry if this is not the most appropriate forum to discuss this. My apologies also for the long message. Thanks in advance, Ricardo Giacomin. ---- CURRENT: I use packages to structure complex use case models. I usually include an overview use case diagram which depicts the coupling degree of my model, as a colection of dependency relationships among packages. In this view, I also include the participation of actors, showing their relationships with packages (I use dependency relationship for this purpose). This is interesting given that I normally use actor interests while decomposing (packaging) my use case models. I use ReqPro as my requirements repository. The hierarchy of requirements in my Rose model is mapped to the corresponding hierarchy of requirements in ReqPro. I mean, I define a requirement (of type use case) for each package in my use case model and create a child requirement (also of type use case) for each use case in that package. I associate each use case in the model with the corresponding requirement in ReqPro. DRAWBACKS: The only relationship between an actor and a package available in Rose is dependency. Unfortunately, the semantics of a dependency between an actor and a package is not precise (is it defined in UML spec?). I normally consider that an actor depends on a use case package if she instantiates "some" use case within that package. Moreover, a package depends on an actor if "some" use case in the package is associated with the actor (with the association towards the actor). It is not possible to tie a package in the use case model with the corresponding requirement in ReqPro. ReqPro allows one to associate a requirement with a use case in Rose model, but does not allow the association of a requirement with a package of use cases. Since there is not an explicit hierarchy of requirements (use cases) in Rose model (instead, the hierarchy is suggested by the package hierarchy), it is not possible to inherit from "parent" use cases. In other words, there is a hierachy but inheritance is not possible. SUGGESTION: Be explicit as for the requirements hierarchy. I mean, there will always be a generic use case corresponding to the entire system you are modeling (some can call this use case the system context diagram). This use case will be specialized by several use cases, each corresponding to the otherwise first-level packages. Each first-level use case will even further be specialized by the second-level use cases, and so on. The leaves on this tree would be the "real" use cases. Notice that this suggestion does not assume a top-down decomposition approach or the absence of packages. There is at least 4 benefits of such approach: 1) substitutability property of generalization relationship allows the production of simpler diagrams 2) the overview diagram is semantically more precise, since it includes association among actors and use cases, which has precise semantics 3) we will always be able to associate higher level requirements in ReqPro to higher level use cases in Rose. 4) we will be able to associate non-functional requirements to use cases of any level, including the use case corresponding to the entire system The only problem I see in this approach is that a package and its corresponding use case are not semantically equivalent constructs. The package physically contains (through composition) its use cases whereas the generic use case is specialized by its children use cases. ************************************************************************ * Rose Forum is a public venue for ideas and discussions. * For technical support, visit http://www.rational.com/support * * Admin.Subscription Requests: [EMAIL PROTECTED] * Archive of messages: http://www.rational.com/support/usergroups/rose/rose_forum.jsp * Other Requests: [EMAIL PROTECTED] * * To unsubscribe from the list, please send email * * To: [EMAIL PROTECTED] * Subject:<BLANK> * Body: unsubscribe rose_forum * *************************************************************************
