ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Objects and Systems - Principled Design with C++ and Java
Bernard P Zeigler
0 387 94781 7
Brian Bramer
object oriented; engineering; modelling languages
Appeared in:
The subtitle of this book isPrincipled design with implementations in C++ and Java. It presents a semi-formal introduction to OO software design and application programming.

It does not teach programming (it assumes the reader is competent in C++) or design (as a book on UML would do) but attempts to bridge the gap between design and implementation. In particular it makes use of a semi- formal behaviour specification language based on state-transition concepts. For example, it starts with the state diagram of a simple binary counter and then implements it in C and C++; to show the problems of non-OO approach and how this can be overcome. The object behaviour specification language is then described and an abstract model of a list specified (the important of abstract models is emphasised so that a model can be proved correct independent of implementation). Serial and parallel implementations are then described. The book continues with this semi-formal approach, formulating primitives to build up a hierarchy of containers. The concept of ensemble methods (which treat all items in a container as a group) is discussed and how effective they can be in parallel processing implementations. The main implementation language is C++ with a final chapter using Java (of particular interest is the use of threads which enable the implementation of ensemble methods in a parallel/distributed environment).

Not the usual programming/design book! Well worth considering for a second level software-engineering module (following a first level programming module) which could then be followed by a third level module on formal methods.