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.
|