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