Hi!
Thanx for contributing to this. I got some ideas. This in an extremely
challenging thing to do.
We have applied meta model approach and we have also several levels of use
cases: generic use cases describing common behavior and product specific
use cases describing product specific extension to the general ones.
Here's another one:
We have activity diagrams illustrating the flow in the use cases for both
generic and product specific use cases. What is a good way to map the
product specific activity diagrams to generic activity diagrams so that the
product specific use the common functionality but also show the extension.
Add all activities to these diagrams or only the extensions? How could we
refer to the common ones from the extensions? Especially if the extensions
are somewhere between the steps of the common steps? We don't want to have
the generic stuff redrawn and yet it should show common steps of the
generic use cases. How do you do this with the use case description
documents and also in the activity diagrams?
Any ideas?
Kristian
David Glaser
<[EMAIL PROTECTED]> To: [EMAIL PROTECTED]
cc: [EMAIL PROTECTED]
20.01.2003 16:06 Subject: Re: (ROSE) Use cases and
highly configurable systems
Kristian,
What you want to do is not easy because you are dealing with two levels of
decision logic: one level to determine the features and the other level to
determine the flow within the feature set. I have found very few people
who can deal with this sort of complexity and these folks are worth their
weight in gold.
I have tried various techniques (I write model driven architectures for a
living) to describe what is going on within a system and I have yet to come
up with a satisfactory solution.
If the system is simple, the two levels can be combined into one level and
from there you can do your use cases and state machines. However, as soon
as you add a new process you have to go back and redo the use cases and
state machines.
If your system is large and/or you want to add processes, you should
probably take a two-tier model approach. That is, you use a model and a
meta-model. Using a chemical plant as an example, your meta-model would be
things like valves, reactors, pipes, ... and how they can
inter-connect. The model of a particular chemical plant would be instances
of the objects in the meta-model based on the inter-connection rules. This
technique works well but requires a lot of though and the development of
the meta-model objects is the real hard part. It is difficult to envision
all of the possible requirements and all of the possible models. I find
that my meta-models evolve over time. You start with a small set of
objects and interconnection rules - make sure you understand them VERY
well. Then look at adding in more objects and interconnection rules.
Note that with this sort of model driven architecture, the implementation
of the system can be broken down into an early or late binding
approach. The early binding approach involves a code synthesis tool that
traverses the meta-model and produces code that implements the
meta-model. The late binding approach uses an engine that interprets the
meta-model.
I hope this helps.
-David Glaser
At 03:03 PM 1/20/2003 +0200, you wrote:
>Hello all!
>
>Anyone, experience or ideas about the following case.
>
>We are modeling a new release of a product family. Previously the
>functionality described in the use cases was designed and implemented as
>such. With this new release a high degree of configurability has come into
>the picture so that business designers can use a specific tool to create
>and configure the business processes using what we call process
components.
>These can be added, removed or changed. Some of them are mandatory, some
>optional. In some cases the order of steps in the flow can be changed. The
>software should be able to function and these processes should go the way
>the system has been configured.
>
>So the question is, with systems that almost everything can be
>configurable, what would be the ideal approach to describe the use cases?
>
>Here are some ideas:
>
>- Describe with use cases how the configuration is done (well, this is
>obvious)
>
>- Describe with use cases how the functionality will be after
configuration
>has been done (end user functionality)? The difficulty is that the
>possiblities are numerous because the processes are designed and
>configured, not implemented as a part of the product.
>
>- We thought of identifying examples of most likely end user functionality
>and model these as use cases? But these would be only configuration
>examples.
>
>- Processes are product specific and also products are created from
product
>components and highly configurable as the processes. How to map these with
>the processes and also identify simililarities between processes of
>different products.
>
>We have modeled the product structure and process structure so that they
>are very modular.
>
>Any thoughts?
This message is for the designated recipient only and may contain
privileged, proprietary, or otherwise private information. If you have
received it in error, please notify the sender immediately and delete the
original. Any other use of the email by you is prohibited.
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
* Only plain-text messages are supported.
* HTML or Rich-Text messages may be rejected.
*
* Post or Reply to: [EMAIL PROTECTED]
* 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
*************************************************************************