I love Microsoft Visio 2003. Since my work involves drawing a lot of diagrams, I use it a lot, and I think it’s far superior (in usability and functionality) to its competitors.
However, there is something very wrong with it. Create a UML diagram. Create a couple of classes and draw an association between them. Edit the association properties and give it a meaningful name and a “name reading direction”. The association should appear as a line labelled with its name and a little black arrow pointing in the right direction. If you can’t see this, you need to right click the association, click Shape Display Options and check the Name checkbox. You’ll see the name and the little arrow now.
Well, Visio calls this little arrow a “reading direction”. This name suggests that Visio applies this property to the appearance on the diagram on the page rather than the semantics of the diagram. Look at this: click on one of the classes you’ve created and drag it to the other side of the second class. The arrow keeps pointing in the same direction! Which is nonsense, because the layout of the classes on the page has changed.
If the arrow were a “association direction” rather than a “reading direction”, it would have the proper semantics. If you define classes Person and Chair and link them using the SitsOn association, you want the arrow to point from Person towards Chair all the time, regardless of whether Person is to right or to the left of Chair on the page. Visio doesn’t do this.
As far as I know, this is the only case in which Visio is worse than UML.
Microsoft, please, fix this ASAP!