Particularly Microsoft Visio. I know that the product itself is a great product. And I know it does exactly what it is said to do.
My struggle with the application at the moment centers around the fact that everything you could possibly want out of a UML diagramming tool is present in Visio. Except the UML stuff.
That is something that Microsoft feels is better left to the professional version of Visio. Which means that after much wailing and gnashing of teeth I am still stuck with a product that I cannot use to do what my client needs me to do. Crap.
Sometimes Microsoft makes me want to hit them in the face. The open source alternatives that I have used for just about everything have never made me jump through the hoops that M$ does. Why can’t they just buy Yahoo! already and fold so the world can be a better place?
I am faced with a learning experience. An experience that includes drawings, diagrams, UML and, unfortunately, Microsoft. I am a huge proponent of learning. However I am teh sux0r when it comes to drawing. And I am a savage Microsoft hater.
So it seems only natural that I would be totally against the concept of learning something that I suck at within the context of a Microsoft application environment. But I have some amount of motivation to do this. See, I have a client that is a recovering engineer and relies heavily on visual aids for planning, structure and architecture. His tool of choice for handling diagramming is Microsoft Visio.
Now I am not one to tell anyone how to do anything. If you want to work in a Microsoft environment that is between you and your capacity to handle the frustration of working with any software from Microsoft. But I was assured that Visio was outside the norm for Microsoft in that it was originally developed by a company that was eventually bought by Microsoft for the purpose of their Visio application.
So I am confident that this learning experience will not be nearly as bad as I thought it was originally going to be. I sure hope that I am right about this.
A few months ago I got entrenched in a massive UML learning exercise to facilitate communication between a client of mine and I. Until then I had only somewhat ran across UML and though I knew about it I did not know it enough to say I knew it.
I wish I could say that I know a lot more now, but the truth of it is I don’t. I know more, that is for certain. But I do not know as much as I want to know. So you can imagine my haste to jump onto the ERD bandwagon when my client asked me for a database schema drawing a few days ago.
Entity Relationship Diagrams are a bit funny in how they are made and understood. They are fairly simple for the most part and are usually very easy to understand. But they can also be a little daunting because there are a few different ways that they can be drawn (though my understanding of ERD is rather limited so I might be totally incorrect in this statement).
That said I have set out to draw me some ERDs for a somewhat complex database schema. And you know what? There isn’t a tool out there that is worth a crap. To be fair, I have not tried Microsoft Visio yet because I am waiting for my boss to spring for it for me at work. I did look at MySQL Workbench and that sucked, allowing you to make rather pretty pictures but not allowing you to really do anything with a live database unless you want to export the database and import it as a schema.
I looked at DBDesigner and that was just crap from to jump. I didn’t even bother to install it because of the crazy dependencies it has. So I was left with the only logical choice left that did not include a full internet scan of products that cost $5000 and work only on Microsoft Flagship OS Vista(ke) - Dia.
Dia has been a friend of mine for some time now. Since I had to learn UML and I have been spending most of my days on either a Fedora or Ubuntu machine I needed something that would work on Linux. Dia does. I also needed something that was ported to Windows so my client could use it. Dia does that too. There is only one thing that Dia does not really do. ERDs. Crap.
All things considered the UML interface is adequate for creating pretty convincing ERDs in Dia. I am not thrilled about having to use a UML interface to create ERD elements, but it does work. And nothing else works even close to it for the price. So I am stuck with Dia at the moment. Or until my boss springs for me to get Vision. Which is a whole different can of crap to contend with since it is a Windows only app and I am trying to get as far away from Windows as MySQL Workbench has moved from common sense.