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.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||