Proposal to Simplify the UML

In accordance with the expression on the concall today that we should
not incorporate excessive detail into the UML, I would like to propose
the following guidelines (which I am perfectly willing to admit are
phrased loosely):

1 - Cardinalities should be omitted unless they are really obvious (and
contribute to understanding the sense of what is going on -- often where
there is a "1")  or where they are really non-trivial and we have
discussed and agreed on them (as one hopes will happen with the number
of receivers or paths).

2 - We adopt a convention, for the purposes of this document only and
documented prominently (since it is nonstandard), that "*" means "0 or
more OR 1 or more, we are not specifying which".  When we really know
which we mean and want to make a point of it, we always use "0,.." or
"1,..".

There are two reasons for this.  To avoid:

1 - Endless fruitless arguments about arcane issues (like whether a
message exists if it has not been read ... does a sender exist if he has
not sent ... does a ... uh, SLAP! ... gotta stop ...)

2 - The possibility of people down the line saying things like: 
   A:"The WSA DEMANDS that if a spec will allow a FOO it must in all
cases tell you how to have a BAR"; 
   B:"The WSA DEMANDS that the spec MUST be capable of having a MEAL
without a BARF".  
Well, maybe in the latter case it's reasonable, but surely you see what
I'm talking about.  Both cases are, in fact, silly if we never really
thought about how FOO's and MEAL's relate to BAR's and BARF's.

Let's keep the detail down to things we really mean.

Received on Thursday, 12 June 2003 21:02:07 UTC