adonthell-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Adonthell-devel] Source Code reorganisation


From: Kai Sterker
Subject: Re: [Adonthell-devel] Source Code reorganisation
Date: Sun, 09 Dec 2001 19:28:06 +0100 (CET)

On 09 Dec 2001 18:04:51 +0100 Alexandre Courbot wrote
 
> Why not separating the map stuff and future other stuff (like fights)?
> If we put everything in a data module it may turn messy.

Sure. As I said, it might be neccesary to divide some modules even further.


>> That would possibly be best. But as I said, we should get a pretty good
>> idea first what modules we'll have. Doing a complete design of the
>> framework before wildly moving stuff around might save a lot of work in
>> the long run. I can have a look at my Software Engineering papers and see
>> which of the methods in there suit us. I remember that there were a few
>> dealing with modeling modules and their interactions. 
> 
> That's a pretty good idea.

Okay. I don't have the stuff here, so it'll be probably tuesday before I
can post something definite.

One thing I remember pretty well, but I am not sure whether it will fit in
our situation: DFD's (Data Flow Diagram) after Yourdan/DeMarco. As the
name suggests, it mainly concentrates on the data flow and input/output
transformation between different modules. However, it came to my mind as
it starts at a very high level and gets more and more detailed.

Basically you start on level 0 with a context diagram, which shows The
Program(tm) and it's in- and outputs. Something like

                                           Map-data
      +------+  Commands    ---------     Map-updates  +-----------+
      | User |----------->/ Adonthell \<---------------| Adonthell |
      +------+<-----------\  Client   /--------------->|  Server   |
                   Map      ---------      Commands    +-----------+

That's far from complete, but ASCII is pretty unfit for complex diagrams ;).

Anyway, on level 1 you start to break the program into 3 - 7 modules with
the data flow between them. At this point data stores get introduced. They
represent persistent data (kept in files or a database). 

Each of the modules you get on level 1 are divided again (and again and
..) unless stuff is detailed enough. There are some rules of thumb when 
to quit, but I cannot remember them right now ;).

The main emphasis lies on the data flow and transformation, but by 
modelling that you also get a good idea of the modules you'll need and 
how they interact.

I did a search for online references of those DFD's, but I haven't
found anything useful.


Anyway, I'll give this a closer look next week.

Kai





reply via email to

[Prev in Thread] Current Thread [Next in Thread]