----- Original Message -----
From: "Jim Davis" <jpdavis_at_gorge.net>
To: <classiccmp_at_classiccmp.org>
Sent: Saturday, December 15, 2001 4:40 AM
Subject: Re: "Geeks" and licensing
> IMHO: All software development should be performed as such:
>
> 1) Requirements - what should it do, and not do. Spin this till
> everybody signs off.
> 2) Prelim design - Ok, a rough outline of the design, data
> structures and control/data flow defined here.
> 3) Detailed design - Define all the modules and their function,
> break it down.
> 4) Test plan - integrate testing into detailed design, make it unit
> testable. A unit is somthing that has input and output and side
> effects, like a function.
> 5) Finally, coding - build modules in parallel with test code.
> 6) Unit testing - verify that modules comply with detailed design.
> 7) Integration testing - hook it all together, make sure it works, apply
> test plan developed in step 4 for fully integrated aplication.
>
> Do 1-3 until marketing decides what they want,4-7 until you find no
> errors.
>
A couple of things have been left out.
(a) make certain that all deliverable code has NOTHING that's not
absolutely required: not a superfluous comment, not an extra semicolon.
(b) make certain that all comments in the source have been kept current with the
code as it changes. Too many times, v117.03 has comments left from rev 000.01.
(c) test the model before you write the code. Make certain that every
combination of inputs vs content produces predictable results, no matter how
"impossible" the combination may appear to be.
(d) fire anyone who passes on a document with any form of error in it, including
spelling, punctuation, etc. That's as good a marker as anything as to how well
they've done their job.
> For safety critical, you should /have to perform statement and decision
> coverage in
> step 6 and 7 and the detailed design should have a one-to-one
> corespondence
> with the detailed design document.
> Jim Davis.
>
> "Eric J. Korpela" wrote:
> >
> > > > I've also had to work alongside people who managed to scrape their way
into
> > > > a "programming" job without having "what it takes" to really write code
> > > > *and* solve problems. Don't get me wrong -- I have no degree and don't
> > > > think one's required to be a competent analyst/programmer/whatever.
> > > >
> > > > But . . .
> > > >
> > > > Should programmers be licensed? Sure makes me wonder . . .
> > >
> > > Ok, what does it take to really write code and solve programs?
> > > (Unlicensed programer/coder here ). Writing code is easy... writing the
> > > doc's that is another story. I tend to favor the hardware side, but they
> > > don't make TTL machines like the PDP-8E or transistor ones like the
> > > PDP8/S.
> >
> > I'm not sure if geeks should be licensed, but there are certainly instances
> > when their output should be monitored closely. Geeks who program voting
> > machines, for example. (I think that voting machine software should be
> > open source and available from the voting machine. Every other civilized
> > country gets by with pencil and paper and big bunches of people doing the
> > counting. I need to trust that an embedded systems programmer doesn't have
> > strong enough political beliefs that they would try to rig an election.
> > It gets even worse when you need to believe that people (read Microsoft)
> > coding the OS of the damn things don't have any interest in the outcome of
> > elections.)
> >
> > I'd also include Geeks who program any machine that could accidentally
> > kill someone (for example airplanes) and Geeks who code for billion
> > dollar space hardware.
> >
> > Eric
>
>
Received on Sat Dec 15 2001 - 09:46:37 GMT
This archive was generated by hypermail 2.3.0
: Fri Oct 10 2014 - 23:33:39 BST