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?
************************************************************************
* 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
*************************************************************************

Reply via email to