This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
bon:start [2016/07/07 18:35] marina |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | =====BON===== | ||
- | |||
- | [[http://www.bon-method.com/index_normal.htm|BON]] - Business Object Notation. The BON method for analysis and design of object-oriented software is a means of extending the higher-level concepts of the Eiffel programming language into the realm of analysis and design aided by a graphical notation akin to but different from UML. | ||
- | |||
- | BON provides a textual and graphical notation for modelling the static and dynamic structure of OO software: | ||
- | |||
- | * BON has strong support for providing precise specifications of re-usable, industrial strength components via Design by Contract (preconditions, postconditions and class invariants), which includes subcontracting via the inheritance relationship. See example below. | ||
- | * It supports a seamless method for turning software construction from specification to implementation into a single continuous process. | ||
- | * It supports reversibility which is the ability to go back from implementation to specification. | ||
- | |||
- | BON is described in depth in the book //Seamless Object-Oriented Software Architecture//, Prentice Hall, 1994, by Kim Waldén and Jean-Marc Nerson. The textbook is now out of print but available from the BON website as a [[https://wiki.eecs.yorku.ca/project/eiffel/_media/bon:bon-book.pdf|pdf]]. | ||
- | |||
- | The graphical shapes of BON can be drawn using Microsoft Office Visio (available on Windows workstations in the Prism Lab or for your Laptop via Dreamspark). | ||
- | |||
- | * Using the [[https://wiki.eecs.yorku.ca/project/eiffel/_media/bon:bon-stencil.zip|BON Visio Stencil]] (**Visio 2013 and later**), we can draw BON class and dynamic diagrams. A [[https://wiki.eecs.yorku.ca/project/eiffel/_media/bon:bon-visio.pdf|BON/Visio manual]] is available describing how to use Visio for the BON diagrams. | ||
- | * This is the [[https://wiki.eecs.yorku.ca/project/eiffel/_media/bon:bon-visio-stencil-original.zip|]] for **Visio2010**. | ||
- | |||
- | Here is an example of a contracted class CITIZEN using the BON notation: | ||
- | |||
- | {{:bon:bon_diagram.png?200|}} | ||
- | |||
- | ===BON Predicate Logic=== | ||
- | |||
- | In BON diagrams, use mathematical notation to express contracts. See the BON textbook for more examples. | ||
- | |||
- | {{:bon:bon-predicate-logic2..png?200|}} | ||
- | |||
- | |||
- | {{:bon:bon-predicate-logic1.png?200|}} | ||
- | |||