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 - Paolo F Cantoni

Pages: 1 ... 351 352 [353] 354 355 ... 395
Uml Process / Business Process Modelling Patterns
« on: August 18, 2005, 03:59:16 pm »
There's been some discussion in the forum regarding patterns for Business Process Modelling.

One problem is that there are essential differences between Business Process activities and System related activities, particularly in the area of Workflow Modelling.

The following paper (passed on to me by a colleague) Pattern-based Analysis of UML Activity Diagrams has some very interesting analyses of the differences between UML and YAWL (Yet Another Workflow Language) a formalism for workflow specifications.

The paper discusses how certain standard workflow patterns are (or are not) supported in UML.  It also discusses Workflow Data Patterns which are described in more detail in the second paper.

I commend both papers to anyone interested in Business Process Modelling.


Uml Process / Re: Views of class and tables
« on: August 18, 2005, 03:06:45 pm »
Hi jercoli,

If you intend to use EA's inbuilt methods to generate the tables and code, then you'll need two classes (actually three).  

Why three?  Well, a coding class (in a language like C++) represents one platform and the table represents another platform (DDL).

While they derive from the same thing, they themselves contain different metadata about the original which is platform independent. These code and database classes are thus specific to their platform.

EA provides a mechanism to keep these three classes in synchronization.  It's called the MDA-style transform.  This is intended, principally, to transform a PIM (platform independent model) to one (or more) PSMs (platform specific models).  Type MDA into the Help system to see the MDA-Style Transforms topic.  This will explain the details.  MDA stands for Model Driven Architecture.


Uml Process / Method Constraints - Major SNAFU?
« on: August 17, 2005, 11:56:54 pm »
Classes can have constraints.
Open constraint tab, you can set the expression, add some documentation, set the type (user extensible)  8) 8)
Attributes can have constraints.
Just like Classes - in fact, the dialog looks very similar (but not identical - the status is missing - but that's OK, that's in line with EA's view that attributes can't have status - weird, but consistently wrong)  8)

So there I am, writing the code to emit the attribute metadata.  Done that.
Now I need to write the code to emit the method metadata...

Clone the attribute code, change the names from attribute to method and see how far we get...

Error: method does not have property Constraint. ???

Sure enough!  The UI shows, not a clone of the Constraint tab but two tabs, "Pre" and "Post".  OK, time to send a bug report to Sparx (about minor inconsistency), but should be usable in the mean time...

Look in the Pre tab... There's a type dropdown... Why?  Oh... Maybe they are letting me get access to my additional constraint types (the user extensible ones above)!

Press dropdown - a list of Requirement types appear ??? ???

Consistency, Consistency, Consistency! TM      [size=16]PLEASE![/size]

I put a question mark on the topic since there may be some rationale for this user interface, but I can't find it.  Can anyone enlighten me?


Uml Process / Re: Metafiles, Metafiles wherefore art thou Metafi
« on: August 16, 2005, 01:21:36 pm »
Yes. Funny quite often. But once you get used to it and see the advantages of EA you overlook these things ;)
Well, actually you don't overlook them (at least I don't)  you use it in spite of them, because the payback is there.

However, it does NOT improve the user experience.

I was taught a very valuable lesson nearly 15 years ago...  For my sins I became a professional services manager with a world wide Database vendor.  I did the "royal tour" of the customer base to be introduced to them.  One chap, said: "I've had a bad experience with O***** Professional Services in the past, but that was some time ago.  You seem like you know what you're doing.  I might use you guys again.  However, every day I turn on this terminal, I'm hit in the face by a bug I reported over three years ago!  How do you think that makes me feel about O*****?"

With Services, you can always try again!  With product - Who's name is on the box?  What's the user experience?

Since then, fixing bugs has always been my top priority...  The best way to fix them is NOT to put them there in the first place... :)


By the way, as far as I can tell, UI at Sparx stands for Unique Interface...  ;D

Uml Process / Re: Reverting an image...
« on: May 06, 2005, 02:15:05 am »
The diagram objects built into EA are drawn; they are not metafiles.

To remove an applied metafile from an object, you need to apply a null one: Ctrl+Shift+W then select nothing (clicking to the right of the second column will clear the selection) and press OK.


I understood that the first point is the case, that's why I asked if anybody had metafiles instead...  :D

As to the second...  Real intuitive!  ???


Uml Process / Unselecting (or reverting) an alternate image
« on: May 05, 2005, 09:06:04 pm »

So I added an alternate image... But, horror, I attached it to the wrong shape! :(

How do I revert to the default? representation?

help and menus give no clue... ???


Uml Process / Re: Metafiles, Metafiles wherefore art thou Metafi
« on: May 05, 2005, 08:51:54 pm »
Quote to get you started



Thanks Neil,

Although they are very interesting and potentially useful, they're not what I was after (in this post).  I realise now I should have been a bit more specific...

I'm after images that look like UML elements. Say like the Component image etc.


Uml Process / Metafiles, Metafiles wherefore art thou Metafiles?
« on: May 05, 2005, 02:34:53 am »

Anybody have any stereotype metafiles they'd be willing to share with the user group?

Save re-inventing the wheel... and improve consistency! :D


BTW: on the local Australian ABC "Inventors" TV programme last night someone did produce a re-invented wheel! ;D

Uml Process / Re: Use Case Scenarios
« on: August 15, 2005, 01:06:47 am »
(* Are some superlatives more better than others? )
To paraphrase Georgie boy...

All superlatives are equal, but some are more equal than others...

Profound non? ;D


But seriously... Great advice bruce!

Uml Process / Re: Use Case Scenarios
« on: August 15, 2005, 12:35:12 am »
Well SB,

Since I first uttered the "World Model" idea, I guess I should talk about it.  I think, however, that it would be best done in another thread.

I think the question you are asking is: Are there any predefined templates or methodologies that can be used to create a world model?

Well, mine are not as well formed as they should be and have evolved over twenty years.  However, with the new approach I have of emitting them from the model, I will want to better define them so I'd be happy to discuss with you and others.

If you are asking what is a world model and how does it contribute to the creation of good requirements, that's another question.

Could I ask that you start a new thread (or threads) with specific questions in the titles and we can take it from there...

For example, a thread might be What's a "World Model" and how can it help?


Uml Process / Re: Use Case Scenarios
« on: August 12, 2005, 05:15:28 pm »
You're right, he does.

Anyway, while I haven't had the pleasure of meeting him, I'd definitely recommend "Software for Use" as an excellent resource for anyone who needs to develop UIs from use cases.

Also, look into Goal Directed User Interface Design...

In both techniques the emphasis is NOT on what widgets do I use, but what is the user trying to do?


Uml Process / Re: Use Case Scenarios
« on: August 11, 2005, 04:49:45 pm »
Actually, you're both wrong. Three domain experts will have seven different views of the domain on any given day.  ;)

Back to nifsmith's post, I have seen the kind of scenario he's talking about used by a couple of authors. It might have been "Software for Use", by Constantine and Lockwood, but I couldn't swear to that. In any case, that form of scenario is intended to help business users visualize how the system will work in practice by supplying concrete details. I think it was called a "usage scenario", and it's not supposed to include all of the complexity of the use case.

The other kind of use case scenario is as Thomas describes.
Larry Constantine uses "Essential Use Cases".  About seven years or so ago he was a Professor at Sydney University of Technology (I think) and I went to a few of his talks.  I think they are very good.  Also some of his approaches to UI design are excellent (EA could learn from it).


Uml Process / Re: Use Case Scenarios
« on: August 09, 2005, 06:35:21 pm »
Actually there are 9.

 ;D ;D ;D

Ah  bruce... you've (correctly) added the ones that change over time...

But seriously, and this is particularly for those who are new to this lark.  We can (and do) debate about which is the best methodological, epistemological, syntactical and other 'ical approaches to the problem of creating a system that works (once you define what works means... ;D).

But as bruce has so cognently reminded us, it really comes down to asking the right people the right questions at the right time and understanding the import of what they say  - even if they don't!

So are there any tricks of the trade?  Well, in my view, yes!

From my tag line and signature (and my postings herein), you'll see I stress the importance of consistency.  Whenever you find an inconsistency - investigate it until you have restored a suitable (you'll have to be the judge of that) degree of consistency.

In my experience, there are levels of inconsistency that are markers for where and when to look:
Multiplicity of associations:
Business model says one-to-many world model says many-to-many.
Business model says binary association, world model says n-ary.
Business model says requires n attributes will generate a unique domain key, system model indicates you'll need n+x attributes to achieve identity.

I'll let others add some more if they wish.  The key point I want to re-iterate is that by creating all three models at (about) the same time and trying to keep them in synchronization you stand the best chance of getting to the bottom of the "truth".

Finally, if the model fails "first principles" then it's most likely wrong...

Here endeth the lesson...

(It must be all these bendictine monks... ;D)

Uml Process / Re: Use Case Scenarios
« on: August 09, 2005, 03:07:12 am »
Ah... Grasshopper,

Yes, there exists a Business Model and System Model but both must exist in a World Model...

When one has contemplated the World Model one can come to the conclusion that most management and domain experts have some knowledge of their own area, but precious little outside it.  Also, get three domain experts in a room and you'll have 5 views...

Consequently it is not possible for them to correctly describe their needs and requirements in the context of the world.

My experience has been to:
1) Model the world (to get everyone to agree what they see out of the window)
2) Check the business view (what I call business imperialism) against the model and help the business folks adjust their distorted view to reality.
3) Check the system view against the refactored business view.

As Ilja is saying (I think) - ALL of these models need to be developed simultaneously - since what appears to be OK in one will be "found out" in another.

Keeping them all in synchronisation is the key...

In the case of the world model, after a while you don't need to recreate this from scratch since it doesn't change that much.  I have some models that haven't changed much over ten years.

I can empathise with bruce's experiences.  Often times, I've viewed my role as a conceptual modeller not so much as doing things, but of stopping others doing the wrong things.

In my experience most projects and systems fail not due to technological issues, but ill formed requirements and failure to consider the ultimate user well.  See bruce's excellent examples.

Management is always trying to keep things simple - but only end up making things simplistic - note carefully the difference in those two words.  Many people can't tell the difference and use simplistic to mean simple.

Rather, listen to the Einsteinian dictum:  "Keep things as simple as possible - but no simpler!"

You need a good world model to do it right.  From my experience, the triple model (there it goes again bruce! ;D) is the only mechanism that works...

Model, Model, Model TM


Sorry for the diatribe, but I'm currently taking a few days off at New Norcia - Australia's only monastic town... and the contemplative nature of the place must have got to me...
BTW: this is coming up on a satellite uplink and response is pretty good!

Uml Process / Re: Use Case Scenarios
« on: August 07, 2005, 08:31:29 pm »
More seriously, "purchase groceries" completes at the check out.  The remainder of the grocery chain enterprise architecture may include inventory. purchasing, marketing, rostering, accounting, tax etc etc etc systems.  If we are designing a solution to the Saturday morning check out queue problem all of these systems may safely be ignored.  So as you say, the system boundary is important.  I will even expand that to the business system boundary is equally important.

Thanx, bruce,
I'm still trying to ensure I understand correctly...
"Purchase groceries" is a UseCase for the queueing system (since all the other systems can be ignored).  
Since the system is a queueing system, does the UseCase actually start when I enter the queue?
Primary actor is me, first contact with system is entering the queue, last contact with system is receiving receipt?
Or is "purchase groceries" only that segment of a larger UseCase (exit store) that corresponds to arriving at checkout, unloading groceries, tallying costs, paying and receiving receipt?

I think that it is necessary to determine what the system IS, before defining UseCases for it.  In other words, a UseCase has no meaning on its own, only within the context of the system it is referring to.  As a consequence of what a UseCase is, it is necessary for a UseCase to be "complete" for the primary actor to have an initial contact with the system and a final contact with the system (effectively the entry and exit points).

I believe that making sure you can locate these points can be very useful in analysing the UseCase.  What say you?


Pages: 1 ... 351 352 [353] 354 355 ... 395