Eiffel is a language created expressly for object-oriented programming. This text offers coverage of the most recent version of Eiffel. It features syntax and semantics, style guides, analysis and design notes, design patterns, validation and testing, descriptions and comparisons of libraries and compilers available on the market, object-oriented design philosophy, an Eiffel resource guide and contact details. Three extensive case studies show Eiffel in action in the MIS world, the embedded systems/telecommuncations world, and the numeric world.
Table of Contents:
Preface.
Acknowledgments.
1. The Software Engineering Context.
Introduction.
The Object-Oriented Approach.
Eiffel: An Object-Oriented Language for Software Engineering.
I.LANGUAGE ELEMENTS.
2. Basic Language Elements of Eiffel.
The Eiffel Notion of Systems.
Class = Module = Type.
Definition of Entity Declaration.
Statements.
Routines: Procedures and Functions.
Example: Sorting Data with Eiffel.
3. Object-Oriented Elements.
Working with Modules.
Genericity.
Inheritance.
Feature Adaptation.
Polymorphism and Dynamic Binding.
Deferred Classes.
Genericity and Inheritance.
Case Study: The KWIC System.
4. The Eiffel Environments.
System Assemby and Configuration.
Assertion Monitoring.
Overview of the Eiffel Standard Library.
Interfacing with Other Languages.
Garbage Collection.
5. Advanced Language Elements.
Exception Handling.
Repeated Inheritance.
Assignment Attempt.
Other Issues of Typing.
Parallelism.
II.BUILDING SOFTWARE SYSTEMS WITH EIFFEL.
6. Building Software Systems with Eiffel.
Object-Oriented Methodology.
Case Study: An SMDS Server.
SMDS: Object-Oriented Analysis.
Eiffel and Object-Oriented Design.
SMDS: Object-Oriented Design.
Implementation.
7. From Implementation to Delivery.
Verification and Validation.
Unit Testing of Eiffel Classes.
Integration Testing.
SMDS Server Acceptance Testing.
The OMT/Eiffel Approach.
8. Building Libraries: The Case of Data Structure Libraries.
Library Design.
The EiffelBase Library.
The TowerEiffel Booch Components.
The SiG Library.
9. Building a Parallel Linear Algebra Library with Eiffel.
Introduction.
Encapsulating Distribution.
Replicated and Distributed Matrices.
Dealing with Multiple Representations.
Making Parallel Libraries Efficient.
Conclusion.
III. APPENDIXES.
Appendix A. Glossary.
RTT Measurements Using Ping.
Protocol Stack Measurements.
Latency and Bandwidth.
Appendix B. Lexical and Syntactic Elements.
Manifest Constants.
Reserved Words.
Syntax Diagrams.
Appendix C. Eiffel Contact List.
Eiffel Vendors.
Eiffel Forums.
Getting More Information about this Book.
Bibliography.
Index. 0201633817T04062001