Managing Your Flash Project with UML
Realizing your Inner Geek
For years I have planned and quoted many Flash applications for my job as a Flash Developer. A few months ago I was planning one of these guys. I was mapping out flowcharts and diagrams with great detail and actually enjoying it. What? I never enjoyed this stage of a project. I’m more about preparing assets and getting my hands dirty in ActionScript bliss. What’s going on here?
Oh that’s right, I’m using UML to plan this project. “Oh UML, you bring out my geekiness like no other. But I like it.”
What is this UML talk?
UML, Unified Modeling Language, is a standardized general-purpose modeling language in the field of software engineering. Say what? In other words, it’s a way to lay out your project visually so you can better plan and structure your project. If you’ve ever created a flowchart to show the different sections of a website or application, then you have used a form of UML. But it goes well beyond simple flowcharts. It’s useful during all stages of a project from laying out the sections of a site, to the inner workings of ActionScript classes and their methods and properties.
Lets see it
Below is an ActionScript class named 'Monster'. We show the properties and the methods that are contained in this class.The minus and plus signs are to show whether they are private (-) or public (+).
Below is a more mapped out example including packages and how classes relate to each other through inheritance.
Visually laying out your classes like this allows you to move things around and organize your project's structure. You can clearly see how things are grouped together which makes it easy to break up work between your developer team.
This is only breaking the surface. UML is an actual language with an entire set of standards and a ton of different types of diagrams. It's up to you how far you dip your project management feet into the UML pool. Use as much or as little of it as you need for your specific project. Even if you don't follow all the rules of UML, it will still be useful for planning. Whatever makes sense to you and your team. Here are a bunch of links that we have found to be helpful.
- SmartDraw tutorial
- Learning UML 2.0 (book)
- Object-Oriented Project Management with UML (book)
- UML 2.0 in Action (book)
Show me the tools
There are a bunch of different software packages out there to assist with creating. Below are some of the many available. We found the free ones to work just fine for our needs. Some can get pretty expensive but tend to be geared for working on huge applications with a team of hundreds or more. So if you are developing rocket systems for NASA, I would recommend buying one of the leading products. But for the rest of us, we'll stick with the simple free stuff.