Terms and Conditions:
Jean-Marc Nerson wrote:You may download and copy the text at will, but as soon as some part is extracted and presented out of context of the complete book, there must always be a clearly visible reference to the book and its authors, and also a pointer to the website www.bon-method.com (since the printed book is no longer available) so that any reader of the partial content can quickly find the original full text. The text of this provision must also be included in any such presentation.
This book shows how a consistent set of object-oriented abstractions can be applied throughout the entire software construction process, based on three major ideas: seamlessness, reversibility, and contracting.
, as in the first word of the title, follows from the observation that the similarities between the tasks to be carried out at the various steps of a project far outweigh their inevitable differences, making it possible to obtain a continuous process that facilitates communication between the various actors involved, ensures a direct mapping between a problem and its software solution, and results in a high level of quality for the final product.
means that the seamless procedure must work in both directions: if one modifies a system that has already reached the implementation phase - a frequent case in practice - it must be possible to reflect the modification back to the higher levels of design, specification, and analysis.
The contract model
was introduced to a wider audience as early as 1988 by Bertrand Meyer
in his introductory book Object-Oriented Software Construction (OOSC)
, which quickly became, and still is, the standard reference on basic object-oriented concepts. In a sense, this book is a continuation of OOSC, carrying some of its software engineering ideas to their logical conclusion in the area of analysis and design. The result is a method called BON (Business Object Notation
) which contains a set of concepts and corresponding notations to support object-oriented modeling centered around the three principles of seamlessness, reversibility, and software contracting.
The book is intended for software professionals as well as for students at the graduate and undergraduate levels. This book can be read by anyone who has acquired a general understanding of the problems of software engineering, and who has some inclination for abstract thinking.