Sparx Systems Forum

Enterprise Architect => Uml Process => Topic started by: han on December 13, 2006, 09:37:48 am

Title: How should I describe the behaviour of a system?
Post by: han on December 13, 2006, 09:37:48 am
Hi all,

I am pretty new to modelling with EA, but I like the tool so far. I use it only as an upper CASE tool, so only do design a system. Not for code generation or what.

I have been looking at the example model, and started from what i saw there. Now I have abstract classes defined in a design model, and I have a bunch of usecases.
Currently, I am going to specify the user interface. This will result in a set of screens, with associations to usecases.

What I am looking for is a way to describe the operations,    that describe how the system actually behaves. I could associate these operations to the buttons etc. on the screen. I do not feel that these operations should all be operations of the classes.
Also, I need a neat way to specify what attributes are used in those operations.

I cannot see how these things are done in the example model. Any suggestions are appreciated.


Title: Re: How should I describe the behaviour of a syste
Post by: «Midnight» on December 13, 2006, 09:58:12 am

There's a lot of ways to go about this. Depending on who you're listening to, each way has the advantage of being better than all the others.  :D Let's see if I can start you off in a useful direction.

Take some time to look through this forum (all sections) for some really good advice on this. There are quite a few members who've got some really good approaches. They have spent the time and effort to either leverage EA to support use cases or adapt to EA tp their approaches (or both).

Chime if folks!

That said, as a starting point remember that you an associate quite a lot of different diagrams (for example) with a use case. Once you've drilled the use cases down to a comfortable level, consider making (some of) the lowest level cases composite elements. To do this right-click the use case in question and from the context menu select Advanced | Composite Element.

This will create a new use case diagram and diagram 'below' and owned by the composite. Go to the 'inner' diagram and from the EA main menu choose Diagram | Change Diagram Type. You can now make this a sequence or activity (or whatever) diagram. This gives you a powerful paradigm for description of the inner workings of a component. It also allows you to impose considerable semantic rigor, if that is your intent.

The advantage (and occasionally the curse) of this method is that there is a visual cue on the composite element, and double clicking will take you to the inner diagram.

You can also associate additional inner diagrams with a use case (and several other elements) by right-clicking the element and choosing Add from the context menu. Depending on the element type there may be one or more diagram types that you can add (there are five for use cases). These diagrams will not be visually cued or linked by double clicking, but they are still associated with the owning element. [You can probably use the trick above to include diagrams other than the types offered. Think twice about this though, since the set offered usually makes good sense.]

This whole approach is very good for (for example) providing a model of some scenarios. Depending on the type and level of use case an appropriately named activity or sequence diagram (or both) could help explain a scenario; this can be a real help when you run into a scenario that starts getting too wordy.

HTH, David
Title: Re: How should I describe the behavior of a system
Post by: jeshaw2 on December 13, 2006, 02:56:48 pm
You say your using GUI screens with buttons, etc.  This crys out for event/response modeling.  Give state machine diagrams serious consideration.  Use activity diagrams to flush out the details of event processing and state transition operations that are outlined in the state machines.  That way you can break down large amounts of activity into manageable chunks.  In addition, you can then not only specify what the behaviors are, but also under what conditions they occur.

This is the best way to do it  ;D
Title: Re: How should I describe the behaviour of a syste
Post by: han on December 14, 2006, 02:26:54 am
Hi again,

Thanks for the replies. Specially the feature that David mentioned was new for me. It opens up several interesting options. I am going to play around with this, and see what happens.

Thanks for the inspiration!! :)