Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Software Fundamentals. Collected Papers by David L. Parnas.

by clemburg (Curate)
on Sep 26, 2001 at 12:07 UTC ( #114759=bookreview: print w/ replies, xml ) Need Help??

Order Software Fundamentals. Collected Papers by David L. Parnas.

Item Description: A collection of classical papers in Software Engineering and Computer Science.

Review Synopsis: Truly classical papers bundled into an inspiring volume with focus on software engineering methods and ethics.

The book contains a collection of papers by David L. Parnas and colleagues.

Focus is on the following four areas:

  • Description and Specification: Parnas was one of the first to introduce formal definitions for what a specification is and what it should contain. Secondly, he advanced the state of the art in this field by introducing a new tabular notation for expressing complex logical predicates and functions. Parnas' ideas have been tested in the documentation of several large-scale industrial products, such as the software for the A-7 aircraft or the shutdown software for the Darlington nuclear power plant. A real gem in this section is a paper about a new, more pragmatic interpretation of classical logical predicates in partial functions that solves some problems with "undefined" expressions and the "unknown" truth value.
  • Software Design: Parnas is the author that introduced the notion of "Information Hiding" (a.k.a. Encapsulation, Data Hiding, ...) that is one of the foundations of modern software engineering. This principle is the focus of several classical papers in this section. Other topics in this section are a precise definition of "Abstract Types as Classes of Variables", a paper on the "Response to Undesired Events in Software Systems", comments on design reviews and a famous paper on "A Rational Design Process: How and Why to Fake It".
  • Concurrency and Scheduling: Some papers on famous problems in this difficult area. Probably not the reason to buy this book.
  • Commentary: Papers on general issues, most notably Parnas' comments on why SDI can't be built with a realistic expectation that it will work. Heavy focus on professional ethics and how to educate software engineers to work like engineers in the common sense of the word.

All in all, this was a buy-and-read-instantly book for me. I knew some of the papers, and more of them just by name. Reading the whole stuff definitely was an inspiring session, and has thoroughly convinced me that I have a responsibility to live up to as software developer. I hope the inspiration will turn into energy in practical life. The book has shown me that it is possible to do much more than I have done until now.

Comment on Software Fundamentals. Collected Papers by David L. Parnas.
Re: Software Fundamentals. Collected Papers by David L. Parnas.
by grinder (Bishop) on Sep 26, 2001 at 16:45 UTC

    A thoroughly stupendous book. I'm still working my way through it. It's exceptionally thought-provoking, which makes it a little heavy going. This is not something you read in an afternoon, not if you want to get the most out of it. The thing that most impressed me was that some of the papers were first written in the 70s, and yet they remain very, very relevant in today's computing world.

    I was going to key in the table of contents but when I realised that the ToC alone spans 11 pages I gave up. Hope is at hand, as it is also published on the web.

    If you are looking to buy it now (circa sep 2001), be aware that it is still only available in hardback. But buy it one way or another, and stand on the shoulders of a giant.

    --
    g r i n d e r
Re: Software Fundamentals. Collected Papers by David L. Parnas.
by princepawn (Parson) on Sep 26, 2001 at 22:48 UTC
    Commentary: Papers on general issues, most notably Parnas' comments on why SDI can't be built with a realistic expectation that it will work. Heavy focus on professional ethics and how to educate software engineers to work like engineers in the common sense of the word.
    What does "SDI" mean?
      SDI--Strategic Defense Initiative, aka Star Wars, aka Missile Defense.

      adamsj

      They laughed at Joan of Arc, but she went right ahead and built it. --Gracie Allen

Back to Reviews

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: bookreview [id://114759]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (7)
As of 2014-12-27 08:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (176 votes), past polls