Hi there!

I am designing three different applications which will share certain 
design- and implementation aspects. My question is: how should I organize 
my Rose model. Here are the details:

The three applications share one database, plus they have an own db for 
the application specific and UI data. The UI is written in Java, and the 
base classes are shared between the different applications. Two of the 
applications partly share each other's UI and functionality, and their 
data reside in the same two databases. The third application does not 
depend on any of the other two.

The best way to start everything, I suppose, is to create one .mdl file 
for each project. The relational model for the shared part (i.e. the 
common data for all three applications) is best saved as a read-only 
controlled unit, which can be imported to the three application-specific 
models, and I really don't think there will be any problems, as long as I 
am modeling the structure of the applications. But how should I go ahead 
with the use cases?

There are a bunch of shared use cases which practically do more or less 
the same thing, but all with slightly different outcome, and in a slightly 
different way.

Say there's a use case called "Add user". A user can be added from all 
three applications, but the actual amount and kind of data created will 
vary slightly depending on the application. So what I *think* would be ok 
is to have a shared use case called "Add user", which on a general 
application-independent level explains what adding a user is all about. No 
implementation details would be mentioned, and for each application I 
would have a <<use-case realization>>-use case in the logical view which 
describes the application-specific behavior. There would be a dependency 
drawn between the uc and its ucr, and the original general use case would 
be imported as a unit to the models which need it.

Given this is the way to do it, What, in your experience, is the most 
convenient way to set up a project like this? Should I have:

- one .mdl containing 
 - shared use cases (saved as a controlled unit)
 - shared relational model (saved as controlled unit)
 - shared data model (...)
 - shared whatever is needed to be shared

- plus, for each application:
  - one .mdl, containing
    - imported shared .cats (use cases, relational model, ...)
    - any application specific 

Or someother configuration?

Do I actually need the use case/use case realization-pairs, or should I 
just skip the realization, and model the use cases directly in the 
application specific models' use case views, as detailed as needed? I also 
want to maintain traceability from a use case to the final code, and given 
that the code is shared, it would kind of make sense to be able to trace 
the path from one shared use case to all of its implementations. 

Comments appreciated,


        Kim Johnsson
************************************************************************
* 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
*
*************************************************************************

Reply via email to