• entries
109
175
• views
116870

405 views

# Time to come back...

I don't have much time these days. After this Linux-based project, I have been hijacked by my boss in order to work on a software architecture project. It is rather refreshing to go back to UML and OO methodologies. Unfortunately, this is only a 3 month job and... it takes place in Paris - this is 800 km from my flat :( Anyway, the project is interesting, and while I'm in my hotel room, I can't do much but gaming/programming/reading (TV is so stupid...). I only have a crappy internet access (via my cell phone, a 9,6 kbit/s line. Ouch) so I can't really 'waste' my time on gamedev :)

Concerning UML, I also tried different softwares - in order to evaluate them. The best I found is Objecteering/UML - it is a bit expensive (3000EUR) but contains everything I need, from doc generation to requirement management via C++ code generation/reverse engineering. I Also tried Sparx System's Entreprise Architect, which is very good - and far less expensive ! - but it lacks some features I want (maybe I didn't see them, but spending 3 days to evaluate a $300 program is rather stupid when these 3 days costs nearly$1500...). Borland's Together and Embarcadero's Describe are also good modeling softwares (well, Together Architect is, but Describe's graphics are poor and its use is rather unintuitive).

There is a free Objecteering/UML edition (for personnal use). It works under Win32 and Linux. Good to know. You can download it here. It is the software I use to draw the nifty graphs below :)

But let's continue our main story.

# ... to our design

The last entry I wrote about the design of a 2D graphic engine is dated from 2005, february the 10th. It is rather old, and I believe I should refresh your mind about our goal and our current state.

First, our apparent goal is to design a 2D graphic engine. Such an engine is rather simple, with little functionalities, so our main goal is not to really design it but to see the design process in action. I try to give you hints and informations about how to correctly design a software.

# What we've done so far

We defined two packages:

.

The sys packages contains our system classes - I will clear this in a subsequent post.

The engine package is the one we are studying. It contains the following classes:

We didn't describe the class with load of details for the moment. I just emphasized the creation/destruction of the engine (here is a simple sequence diagram which shows it in action)

... and the drawing operation (which is rather simple).

# Conclusion

And now it's time to go to bed :)

Regards,

## 1 Comment

http://www.gentleware.com/index.php is quite good too.

## Create an account

Register a new account