Software Engineering Principles.
Abstract:
This is the notebook from the updated edition of the well-received course originated by the Naval Research Laboratory NRL and taught annually for the past five years. It is a two-week technical course for DoD personnel managing a software project or designing software. The purpose of the course is to improve the participants ability to evaluate software requirements, specifications, design, correctness, and maintainability. Its purpose is not to transform the participant into an expert software designer. The course concentrates on technical problems of software design. It introduces generally accepted design practices, as well as software design research that may result in practical design practices in the near future. Topics covered include program families, information-hiding modules, hierarchical structures, abstract interfaces, formal specifications, responses to undesired events, documentation, and cooperating sequential processes. Author