UML for Rednecks
Ok, I made you look. Around the workplace, my UML diagrams have been called Redneck UML, Ghetto UML and my personal favorite, U Bonix. In this article I’ll discuss the benefits of using UML even when you suck at it.
Why Should I Model?
I hear this question asked a lot and I think that it deserves a good answer. Perhaps people asked Frank LLoyd Wright “Are you going to doodle all day?”. I’m kidding here of course. Everyone knows that when embarking on a long, involved construction project requiring vision and determination, it is essential to be able to view the problem visually from a variety of view points. Oh, you’re building software? We just wing it around here. It is amazing that I have worked on many projects that cost more than the average American home and had no blue prints, yet even the cheapest homes were build using a set of drawings.
UML for the sake of UML really doesn’t add any value to the project. It is important to consider how UML or something like it can improve your communication with your work mates or clients and put these things to use in your projects.
Some Good Reasons to Model
There are many good reasons to model. Below is a partial list of the benefits of adding modeling to your development process.
- It allows you to zoom out and see how your imagined widgets might interact in a project.
- It allows you to zoom in and really map out what an entity might do.
- It allows you to concentrate on the business process you are modeling without worrying about how to actually design the application for a specific platform.
- It allows you to design the application by modeling your approach to a specific platform.
- It allows you to get involved with Model Driven Architecture by creating models and transforms that will build applications.
- It makes great marching orders for new people and employees.
- It improves your literacy in the industry of your choice. If you don’t learn to read and write UML, you’re going to be illiterate within the context of some projects. It is fairly easy to tell when people can’t read.
Getting Started
It’s easy to get started with modeling. There are some great free tools out there. I highly recommend anything built on Eclipse and ECore. Top Case D is my current favorite because it is ready to go with one simple download. I’ll be discussing Top Case in detail in other articles.
Sometimes it’s hard to accept that we aren’t going to be very good at something and this prevents us from getting started. This is a trap. I encourage you to make some terrible and terribly useful diagrams using pen and paper or a diagramming tool. The next time you start a small project, kick around your ideas for a solution with a low detail class diagram and get a feel for the process. The great thing about some of the tools is that they allow you to use a source repository for your model and even attach documents to model entities. It’s a great way to get organized and stay that way.
Conclusion
You will find that the more you create simplified snapshots in your own redneck dialect of UML, the more you will want to improve and formalize your understanding of the language. You should have heard my thick, southern cracker accent when I was a child. Hearing David Bowie made me want to learn proper English. UML is a language and the more you speak, the better you will get.
I understand that I haven’t given you concrete instructions on how to create a proper class diagram. Something tells me that you have seen plenty of examples of how to do this and still haven’t made the leap. I will be doing some tutorial videos on the topic in the future, but please don’t wait on me. I can recommend a pretty good book on the topic for a beginner. Check out UML a Beginner’s Guide by Jason T. Roff.
Draw baby draw!
Did you like this? If so, please bookmark it, about it, and subscribe to the blog RSS feed.