ORG, GEN Re:arf2 [djg12]

David Garfield david@davgar.arlington.va.us
Sat, 27 Mar 1993 17:27:40 EST


On 27 Mar 93 12:57:50 +0100, "Andreas Arff" <ANDREASA@dhhalden.no> wrote:
> More news about the organization.
...
> Current status:
> Dennis has done some work (I mean coding) regarding
> 1) the Kernel
> 2) Idea testing the kernel with a muckettymuck C++program
> 3) Written drivers for com and parallel ports (don't know how finished they
>     are, or if it is just old stuff)
...
> Arff

It really sounds to me like you are saying that now that discussion of
the general design is diminishing that it is time to begin coding.

Please,

        NNN      NNN      OOOOOOOO      !!!
        NNNN     NNN     OOOOOOOOOO     !!!
        NNNNN    NNN    OOO      OOO    !!!
        NNNNNN   NNN    OOO      OOO    !!!
        NNN NNN  NNN    OOO      OOO    !!!
        NNN  NNN NNN    OOO      OOO    !!!
        NNN   NNNNNN    OOO      OOO    !!!
        NNN    NNNNN    OOO      OOO       
        NNN     NNNN     OOOOOOOOOO     !!!
        NNN      NNN      OOOOOOOO      !!!

The design phases are:

        1) requirements
        2) general design
        3) detailed design
        4) coding
        5) testing

Now I will admit, phase 1 is done.  Our requirement is for a "Multi-
tasking Object oriented Operating SystEm" (thus MOOSE).  But we
haven't yet managed to finish the general design, so we should at most  
be doing some preliminary work on the detailed design and coding
experiments that are considered, in the long term, junk; but WE AREN'T
READY TO CODE.

If I seem a bit intense about this, it is because I have seen what
happens to a large project if there is appropriate design before
coding begins.  In this case, I would expect that if we start coding
now, we will in not less than two years have something that can be
compared unfavorably with Windows 3.0, and that isn't good.

I will admit that I, and probably most good programmers, have skipped
both the general and detailed designs on numerous occasions, but that
is for small projects of not more than two people and relatively short
duration.  Lets not make the mistake of thinking it works for large
projects!  IT DOESN'T!  At least not unless you plan to do it over.

======

I would say that what we need to do now is determine:
   1) What the kernel will do and what the rest will do.
   2) How messages will be sent to objects.  (This has been called
      ROI.  PLEASE don't think that means it is seperate from the
      kernel.)
This more or less defines the kernel.

Then we get then detailed design:
   1) What are the classes?  Most of the class hierarchy?
   2) What are the common methods?
   and about 10 times more stuff, most of which probably won't be
      obvious until we get there.... (or even into coding....)

AFTER that we code.

-- 
David Garfield/2250 Clarendon Blvd/Arlington, VA 22201   (703)522-9416
Email: david%davgar@uunet.uu.net or garfield@snoopy.sra.com