Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Software development using Eiffel
Wiener R. (ed), Prentice-Hall, Inc., Upper Saddle River, NJ, 1995. Type: Book (9780131006867)
Date Reviewed: Oct 1 1996

The latest version of the Eiffel programming language is presented here and is used to construct safe and robust object-oriented software systems. Eiffel [1] is a good tool for engineering high-quality, reliable software products. The author uses the Booch ’94 method to demonstrate analysis and design in Eiffel.

The book is logically divided into two parts. The first part (chapters 1 to 7) presents the major features of Eiffel using many different (though well-known) examples. The second part (chapters 8 to 11) shows Eiffel in action through four case studies based on the Booch ’94 method of object-oriented analysis and design. The first three examples display the power of Eiffel in analysis, design, and implementation, and the last describes an unusual Eiffel application, a combinatorial optimization problem.

Chapter 1, “The Flavor of Eiffel,” shows the major features of the language. Chapter 2, “Classes and Objects,” illustrates various components of Eiffel classes. Chapter 3, “Correct Programs,” presents the assertion-handling facilities of Eiffel. Chapter 4, “Generic Container Classes,” introduces constrained and unconstrained “genericity” and the construction of reusable software components. Chapter 5, “Inheritance in Eiffel,” illustrates different possibilities of inheritance in Eiffel, while chapter 6, “Polymorphism and Conformance,” discusses late binding. In chapter 7, “C++ && Eiffel or is it C++ & Eiffel or is it C++ and Eiffel?: A Clash of Cultures,” the author compares C++ and Eiffel. This chapter, however, avoids (quite deliberately) a direct answer to the unposed questions Which language is better? and Why Eiffel and not C++? Chapter 8, “Object-oriented Analysis and Design,” introduces the Booch ’94 method. Using this method, the author presents the supermarket checkout line simulation. The goal of the example is to illustrate some simply structured steps associated with object-oriented analysis and design. Chapter 9, “An Ecological Simulation,” shows the use of Eiffel in the analysis and design of a robust software structure with the Booch ’94 method. The goal here is to define a specification for a natural system (an ocean) of moderate complexity with its own complete and unambiguous set of rules. This example showcases more of Eiffel’s powerful capabilities. Chapter 10, “A Game of Strategies and Investment,” illustrates the use of late binding. The game (a variant of Monopoly) provides more complex solutions and another look at the process of object-oriented analysis, design, and implementation. Chapter 11, “Simulated Annealing,” shows the use of Eiffel in the application of the object model to an heuristic algorithm.

Each chapter ends with an appropriate summary or concluding remarks, and a list of references. Unfortunately, there is no complete reference list at the end of the book, though a useful index is provided.

More than half of the book is devoted to the Eiffel language, while the rest deals with software development. However, the first part of the book alone is not sufficient for learning the Eiffel language, and it could be shortened in favor of the second part; this would make the book more useful.

The book contains many Eiffel programs, and the author has chosen not to follow the standard Eiffel style of code writing. It is my opinion that the code is slightly less readable that way.

Many in the computing community will find this work useful, including software development professionals, programmers, computer scientists, educators, and students. Readers are expected to be familiar with concepts of object-oriented methodology and to have experience with object-oriented programming, especially in C++. Some knowledge of the Eiffel language is a prerequisite as well. The book is especially good for C++ programmers. It gives them the opportunity to examine a compelling alternative for implementing object-oriented software products.

Reviewer:  M. Ivanović Review #: CR119233 (9610-0775)
1) Meyer, B. Eiffel--the language. Prentice-Hall, Englewood Cliffs, NJ, 1992.
Bookmark and Share
  Featured Reviewer  
 
Eiffel (D.3.2 ... )
 
 
Design (D.2.10 )
 
 
General (D.2.0 )
 
 
Object-Oriented Programming (D.1.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Eiffel": Date
Eiffel: the language
Meyer B., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780132479257)
Jun 1 1993
Eiffel
Switzer R., Prentice-Hall, Inc., Upper Saddle River, NJ, 1993. Type: Book (9780131059092)
Dec 1 1994
Object-oriented programming in Eiffel
Thomas P., Weedon R. (ed), Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, 1995. Type: Book (9780201593877)
Jan 1 1997
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy