BON: The analysis and design method for reliability, reusability and reversibility

BON, or Business Object Notation, is a both a method and a graphical notation that is used by EiffelStudio to more effectively create a system of object-oriented analysis and design.

Overview

The BON method for analysis and design of object-oriented software was developed as a means of extending the higher-level concepts of the Eiffel programming language.

Many people who are attracted by the power and practicality of the concepts start with BON as their first step towards modern, systematic, reusable O-O software construction.

Where did BON come from?

The original designer of BON was Jean-Marc Nerson of SOL (Paris); the design was completed with the collaboration of Kim Waldén of Enea Data (Stockholm). Dr. Waldén and Dr. Nerson are the coauthors of the definitive book on BON: Seamless Object-Oriented Software Architecture (Prentice Hall).

BON and EiffelCase

A particular attraction of BON is the availability of the supporting tool: EiffelCase (which is integrated into EiffelStudio), perhaps the most sophisticated analysis and design workbench on the market.

Directly interfaced with the other tools of the Eiffel Software environment, EiffelCase supports generation of new system architectures as well as reverse engineering of existing systems, however large and complex. The true power of EiffelCase is the ability to model a project and then be able to reuse that model (which is written in Plain-English syntax). Unlike other modeling tools, It empowers developers to use the same system architecture to guide a new project, thus greatly cutting project time and cost.

Bon provides easy to read, drag and drop bubbles.

 

The three key features

The three key features of the BON method are: seamlessness, reversibility and software contracting:

  • Seamlessness is the principle of using a consistent set of concepts and notations throughout the lifecycle, avoiding the impedance mismatches of traditional approaches.
     
  • Reversibility guarantees that changes made at any step in the process, even as late as detailed implementation or maintenance, can be reflected all the way back to the earlier steps, including analysis, so as to guarantee the consistency of the entire project baseline.
     
  • Software contracting, an idea also fundamental in the Eiffel language, views the construction of a software system as a succession of precise contracts between its modules, to guarantee reliability and consistency.