Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - AndyJ

Pages: 1 ... 18 19 [20] 21 22
Uml Process / How would you model this?
« on: June 15, 2011, 09:29:11 am »
Hi team, I'm scratching my head over this one, and wondering if I'm trying to push UML a bit too far...

My team is modelling current "As Is" business processes, and in support of this activity, we're producing detailed domain models (class diagrams) showing low level details of information that is currently being collected and disseminated.

In many cases we've used enumerations to record the literal values that are currently collected...

Here's the stumbling block.

We have one concept that is currently represented by a table with approx 100 rows. We want to include the literal values from this table into the modelling effort.

Different classes of users are allowed to see different sets of values.
Different classes of users are allowed to select different sets of values.
Some values are historic and can be viewed, but cannot be selected or added...

I've had a look at the UML table class, but this seems to be limited to a fairly high level description of the columns of a table.

Is enumeration still the appropriate method to model this kind of information?

We want the literal values to be visible to our business users during this modelling process, as it is an important feed in to modelling the business rules...

All suggestions will be gratefully received.


Uml Process / Re: Structure scenarios
« on: February 07, 2011, 01:45:49 pm »
As far as I can tell the scenarios are just the basic flow, and alternative flows, written as you would normally write them for a use case.

However, we have not been successful with the structured scenario editor, because of the problem that you mentioned... an alternative flow cannot be launched from an alternative flow.

This forces the author to use "extend" use cases in circumstances where this is not appropriate.

The overall effect is to force use cases into "functional decomposition" which seriously impairs the effectiveness of use cases.


Short term, we're using the unstructured approach, hoping that this limitation will be lifted soon. (I've sent in a feature request).

The structured scenario editor does have some good advantages like:

* being able to mark text up as a hyperlink to other objects in the model (particularly classes on the domain model)

* automatic generation of activity diagrams that show the logic of the use case.

Hopefully that's some help for your thinking.

Uml Process / Re: Modelling Software Services - HOWTO?
« on: September 09, 2010, 03:27:58 pm »
Thanks people,

I've reverse-engineered the code that is involved, and can see why this looks to be complex to model!!!

It remains to be seen if I can model it in a meaningful (and useful) way with a suitable level of abstraction...

Uml Process / Modelling Software Services - HOWTO?
« on: September 07, 2010, 11:22:35 am »
Hi team,

I'm floundering in the documentation a little, and struggling to model some required "services"...

To use a simple service as an example, I'm trying to show:

1. The Mainframe that the service is running on (Component? Node?)
2. The Port that the service listens to.
3. The acceptable input (in this case OrgUnitCode)
4. The possible returns: (valid|invalid) and if invalid an error message.

I'm looking at "Interfaces" in this tutorial:

But am struggling to achieve what is shown there... Can anyone point me to a step-by-step explanation, or provide the steps that are used to achieve that diagram example?


Uml Process / Use Cases, Alt Flows and Exceptions
« on: June 28, 2010, 01:41:17 pm »

I'm trying to recreate a set of Use Cases in the Structured Scenario editor.

I have a typical scenario within an alternative flow "Add Person/s" where I would expect two different scenarios:

1. Person exists on the system already and the details are confirmed or updated.

2. Person does not exist on the system already and all details are manually added.

The steps a quite different depending on case 1 or 2 within this alternative flow.

Add Person is not sufficiently interesting to be its own Use Case.

Several of the steps within the alternative flow would usually have exceptions that are minor variations outside of the happy path...

All of these make me wonder why an alternative flow cannot itself branch to an alternative flow and exception flow.

Are others wondering about the practicality of this restriction?

I'm looking at the specifics to see if any of the alternative flows can be rolled up into the basic flow, but this has the potential to create a really ugly, exceptionally long basic flow.

Purely out of interest...

Have you tried looking with different browsers?

The developers have put their heads together and have come to the conclusion that they'd like this to work.

Feature request coming up.


We were expecting the classes to be present (they are)

And associations to be present between the association class, and each of the associated classes... (this part didn't happen).

I suspect that Simon is on the money here, the XSD generator just didn't notice (i.e. probably isn't checking) that a class is an association class.


Thanks Simon.

I'm off to confer with the Dev.

One of my developers, has just generated an XSD from a class diagram.

He's scratching his head about association classes.  Associations are being rendered, but association classes are appearing as classes, with no relationship to any other class.

Is this working as intended?

Here's an example from a simple class diagram:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="">
      <xs:element name="Class1" type="Class1"/>
      <xs:complexType name="Class1">
                  <xs:element name="Class2" type="Class2" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Class2" type="Class2"/>
      <xs:complexType name="Class2">
      <xs:element name="Freddo" type="Freddo"/>
      <xs:complexType name="Freddo">
                  <xs:element name="chocolate" type="xs:int" minOccurs="1" maxOccurs="1"/>
      <xs:element name="Class3" type="Class3"/>
      <xs:complexType name="Class3">
      <xs:element name="Class4" type="Class4"/>
      <xs:complexType name="Class4">
                  <xs:element name="Class3" type="Class3" minOccurs="1" maxOccurs="1"/>

Automation Interface, Add-Ins and Tools / Re: Element sub-compartments
« on: November 14, 2014, 11:22:12 am »
I see, (I think).

Normally I display those as separate things. ie:

Attribute Name:Attribute Name.

The second part of the name is the "type".

In this case the "type" is an enumerated list.

The enumeration can be displayed on the same diagram and associated to the class (or not) as you see fit.



i.e. something like this:

Automation Interface, Add-Ins and Tools / Re: Element sub-compartments
« on: November 14, 2014, 11:13:42 am »
OK I'm confused.

You know you can display the "tagged values" compartment?

"Feature and Compartment Visibility"

"Show Element Compartments"

Put a tick in the "Tagged Values" box.

So, you can show tagged values on something that isn't controlled by a shape script, and you can show tagged values on something that IS controlled by a shape script.

What's missing?

Automation Interface, Add-Ins and Tools / Re: Element sub-compartments
« on: November 14, 2014, 08:55:51 am »
The usual method is to define something new with a stereotype and an associated shape script.

This one draws a small, blue person, and includes a tagged value below it:

shape main
      // Blue Person by Andy J;
      fixedAspectRatio = "true";
      setfillcolor(0,192,255); // (R,G,B)
      ellipse(70,-15,90,20);  // (x1,y1,x2,y2)
      rectangle(60,25,100,75);// (x1,y1,x2,y2)
      println(" ");
      println(" ");
      println(" ");
      println(" ");
      println(" ");
      println("#TAG:Stakeholder Type#");

Ooops, missing the "in the project browser" bit.

You could store your new value as an "alias" of the element name, and then configure your diagrams to show "alias".

I use this functionality to record logical and database names of elements, and flip the view according to the audience.


Pages: 1 ... 18 19 [20] 21 22