Short

Don’t use Activities on an Activity Diagram

Purpose

Model useful and UML compliant Activity Diagrams

Detail

UML Activity Diagrams are often used to depict a certain flow of events. One of the reasons Activity Diagrams are so popular is because they are very similar to flow charts, something all of us know from long before UML even existed.

So lots of people start out enthusiastically to draw Activity Diagrams.

Lets say that we are modelling the checkout at a cash register of a store.… Read more

Following these 5 rules will make your UML diagrams easier to understand, cleaner, and more consistent.

Although that has no effect on the actual model, it will improve the communication with the stakeholders.

Rule 1: Less is more

Large diagrams containing heaps of elements actually convey less information then small focussed diagrams.
When reading such a large diagram your audience will not know what to focus on, and since there’s too much on there to actually pay attention to all elements, they will quickly give up trying altogether.… Read more

Short

Use Associations for Classes and Attributes for DataTypes

Purpose

Make an informed choice between Attributes and Associations when modeling a relation between two Classifiers.

Details

When modeling the structure of your system there are basically two ways to express a structural relationship between two Classifiers. You could use an Association between the two Classifiers, or you could create an Attribute owned by one Classifier with it’s type set to the other Classifier.

Both ways, Association or Attribute are pretty much equivalent.… Read more

Purpose

Model the implementation of your operations with a single sequence diagram for each operation.

Details

Most UML models I’ve seen in my career contain classes with attributes and operations. An Operation is a specification of a behavioral feature. Adding an operation to a class means that you are specifying that your class will respond to a specific request by executing a certain behavior.

So the operation defines the details of the request to be sent to the class (such as name, parameters…), but it doesn’t specify the details of what needs to happen when the operation is called.… Read more

What makes a UML Composition different from an Aggregation or a regular Association?

The concepts of Association, Aggregation and Composition exist in UML since the first published versions, but the exact meaning of these concepts, especially the Aggregation still leads to heated debates among UML experts.

But before we go into the details, let’s have a look at how these concepts are defined in UML. I guess every UML user is familiar with the graphical notation, but how do these concepts look like in the UML (v 2.5) meta model?… Read more

There seem to be a lot of misconceptions about UML in the industry, but one of the most persistent is that UML is all about diagrams.

I’ve heard/read phrases like “UML is a collection of diagrams”, and even the Wikipedia page about UML mostly talks about the different diagrams rather then the actual elements and their structure.

Well let me tell you, UML is NOT about diagrams.

Even OMG thinks so as diagrams are hardly defined in the UML superstructure specification.… Read more