[comp.lang.forth] Pressman's ``Software Engineering''.

DAVID@PENNDRLS.BITNET (12/06/88)

Well, I'm finally a little out from under my current project, and have
time to submit to FIGI-L/COMP.LANGUAGES.FORTH (is that right?) again.

First of all, thanks, Fraser, for the reference to the Pressman
software engineering book (I was the one who asked).  Very interesting.

To recap:

   Software Engineering: A Practitioner's Approach (2nd Edition)
   McGraw Hill Series in Software Engineering and Technology
   Roger Pressman
   ISBN 0-07-050783-X     LC QA76.6.p73 1987

which Fraser recommended to those of us advocating Leo Brody's
``Thinking Forth''.  Fraser said that Pressman's book, unlike Brody's,
was not oriented to a specific language, and was therefore a better
base for thinking about program design independent of language.

(Someone around here must think the book is good; our library catalog
lists the book as ``missing'', i.e.: stolen.  So I had to get it through
inter-library loan.  Which meant I couldn't keep it as long as I'm used
to keeping books, which means I didn't get all the way through it.
I'll try to keep that in mind as I comment on it.)

First of all, if you want to learn to design better programs, I would
have to recommend reading Brody's book first, especially if you are a
FORTH programmer.  Simply put, Brody's book is far more readable.

Before anyone gets upset, this is not to take anything away from the
Pressman book.  I would continue the above recommendation by saying,
go find a copy of the Pressman book to *buy* (not get from the library,
that is), because you will want it on your reference shelf.  It is,
first and foremost (at least to my eyes) a relatively complete
discussion of the software engineering process, starting from the
early systems definition phase (and that includes concerns other than
software), and outlining deliverables, goals, and checkpoints throughout
the design process.  However, be prepared to spend some time reading,
rereading, and thinking about what's in the book; it is rather densly
packed.  (I think I need one of those summary books they publish for
the English majors for this one :-).

Now that my head is swimming with visions of specification documents
and object oriented problem decomposition (which I still can't do
except for the obvious stuff), I think a need another book, called
``Software Engineering:  A Practitioner's *Handbook*''.  That is,
some recipes, heuristics, what have you, for *doing* program
decomposition, illustrated with lots of examples, and especially some
hard examples (not hard = large and complex, but hard conceptually,
i.e.: the objects are not obvious at first glance).

Well, I've drifted rather far from FORTH itself here (though I have
begun to apply my FORTH/``Starting FORTH'' derived programming style to
my projects in other languages, and it seems to be working), so I'll go
away now.  Is there another BITNET and/or Arpa discussion group for
software engineering or program design I could join to discuss more
on this subject?  (I don't think I can get usenet news directly.)

-- R. David Murray    (DAVID@PENNDRLS.BITNET, DAVID@PENNDRLS.UPENN.EDU)