You are here

Obsessions Shift – Drupal to UML. DrupML?

    I’ve been doing quite a bit of reading on UML since the start of this semester. Since I started working at GG, I knew I had to learn it. Working in industry made me realize how important documentation is in software development. UML is a way to graphically represent software using the different types of diagrams and with arrows and boxes. But UML isn’t only for software. One could model their business process using UML and realize what parts of their business operations are missing. In a business process, UML can act as a contract for everyone in the business to follow. If there is a situation that comes up that isn’t modeled in the business process, then it can be adjusted according with input from the stakeholders (people it effects). It can model other things as well, but I thought those 2 were the ones that affected me the most.

    So what’s with the obsession shift? Well, I don’t know if I would call it a shift. Drupal is still a huge passion of mine, but there’s only so much I can do with it. If I start working at a serious software development house, I need to know how to model software using UML, especially if I want to stay out of the development dungeons. I realized that to be a Business Systems Analyst, or a Software Engineer, or even a Software Architect, one has to be able to model the system requirement (Analyst), abstract the major objects in the system (Architect), and fill in the blanks to make it all work(Engineer). After reading a few chapters in different UML textbooks, I realized that UML is the de facto method of doing all 3. But the part that really sold me was that some UML modelling tools allowed a modeller to export some code! When you’re developing UML diagrams to that allow a modeller to design, test, and deploy a piece of software, it’s called Model Driven Architecture (or MDA). I see this as a huge benefit to developing software using UML.

    Why did I pick NOW to actually focus on UML? Because I was ignorant! I saw smart people like Rob Carter, Stelian Coros, and Owen Lawson developing code in their mind and throwing it into a system that worked right away. I envied their abilities as coders to be able to develop logical working code for assignments in minutes without any sort of diagrams or documentation. We learned UML in our software engineering course, but nothing that was very intense. We did some Use Case Diagrams for our Requirements Document, then did some Component Diagrams for Design Document, but the lectures we had for UML were a total of 3 (or a weeks worth) lectures. I didn’t realize how important it was until I started working at GG and said to myself “there’s got to be an easier way!” When I remembered the 2 weeks of UML that I learned 3 years ago, I decided to do some research. I found out IBM bought the company that hired the 3 guys (3 amigos) that developed UML. All I have to say is that if it’s good enough for IBM, it’s good enough for me!

    So where do I go from here? I looked up some resources that I thought would help me in my conquests to becoming a UML guru. After trying a few books out, I realized that the most appropriate book was “UML for Dummies”. The other books I read were either too slow to get into it (UML for mere Mortals) or too difficult to read (Developing Software with UML). I found some eBooks online and the UML for Dummies was the one that stood about the most to me. The eBooks I found came in a package of UML and MDA eBooks, so when I’m doing reading majority of them, I’ll be as much of a guru as the authors are.

    That leaves me with one very important decision to make. What will be my UML modelling tool of choice? Just like many developers are religious about there editors, UML modellers are religious about their modelling tools. Visual Paradigm is one that I’ve been checking out and I realized it very pretty and usable, BUT the free version doesn’t have code generation. That was a big reason why I needed a UML tool. I’ll keep looking around, but if anyone has any suggestions, please let me know what’s good AND free (or cheap).

    I wonder if there’s any way I can combine both my passion for Drupal and my insatiable desire for UML. I guess when I start developing modules for Drupal, I’ll be able to use UML to model them. Now, is there anyway I can find the UML Diagrams for Drupal?


The Riff blog seems to be the home of drupal UML .. I am also interested in drupal and UML but alas a novice at both.

Hello Jason,

I was looking for Drupal UML and that's how I landed on your blog.

I hope you're still into Drupal and UML, here's a nice challenge for you if you're still interested since 2006.

I would like you to join me on this project.
I'm looking for more Drupal developers to join, participate and share ideas about the best architecture before we start.

I look forward to your reply,