1. State of Software Development.
Introduction. Software Development Process. Assessing Software
Quality. Principles of Software Design. Approaches to Software
Design. Concluding Remarks.
2. Eiffel Basics.
Introduction. Comments and White Space. Naming Conventions. Data
Types. Operations. Basic Instructions. Functions and Procedures.
Class Declaration. Eiffel System. Objects. Inheritance. Argument
Passing. Preparing Program Faults. I/O to Text Files. Concluding
Remarks.
3. Objects and Classes.
Introduction. Models and Modeling. Objects. Classes and Instances.
Relationships to Describe Class Interactions. Concluding
Remarks.
4. Arrays and Algorithm Analysis.
An Array Application and Analysis of the Problem. Arrays in Eiffel.
Problem Solution. Storage Structure, Assignment, and Copying for
Reference Types. Dynamic Arrays. Algorithm Analysis. Computer
Science Applications. Concluding Remarks. New Eiffel
Constructs.
5. Abstract Data Types and Their Implementation.
Introduction. Data Types. Specifying Abstract Data Types.
Implementation of ADTs in Eiffel. Concluding Remarks. New Eiffel
Constructs.
6. Lists.
A List Application. List Abstract Data Type. Implementations.
Examples of Linked List Operations. List Variations. List Tools.
Design by Contract and Inheritance. Library of List Data
Structures. Applications. Polymorphism and Heterogeneous Lists.
Concluding Remarks. New Eiffel Constructs.
7. Dispensers: Stacks, Queues, and Priority Queues.
Stacks. Recursion. Queues. Priority Queues. Concluding Remarks. New
Eiffel Constructs.
8. Object-Oriented Development: An Example.
Introduction. Object-Oriented Development Life Cycle. Various
Stakeholders in Software Development. An Object-Oriented
Development Approach. A Simplified Banking Example. Design Caveat.
Seamless Software Development. Benefits of the Object Model.
Concluding Remarks.
9. Trees.
Introduction and Applications. Binary Tree Abstract Data Type.
Binary Trees. General Trees. Applications. Mathematical Induction.
Concluding Remarks. New Eiffel Constructs.
10. Elementary Problem Modeling and System Design.
Introduction. Modeling Static System Structure. Modeling System
Behavior. Using a Layered Architecture in System Design. Analysis
and Architectural Design of a Student Registration System.
Concluding Remarks.
11. Principles of Software Design.
Introduction. Design By Contract. Exception Handling. Class Design.
Building Inheritance taxonomies. Coupling and Cohesion in
Object-Oriented Software. Using Patterns in Software Design.
Subsystem Design. Detailed Design of a Student Registration System.
Concluding Remarks.
12. Software Testing.
Fundamentals of Software Testing. Human Testing. Black Box Testing.
White Box (Program-Based)Testing. Object-Oriented Testing. Locating
and Repairing Dynamic Faults. Concluding Remarks.
13. Bags, Sets, and Dictionaries.
Introduction. Bit Vector Implementation. Hash Tables. Specialized
Search Trees. Better Priority Queues. Concluding Remarks.
14. Sorting.
Introduction. Review of Basic Sorts. Merge Sort. Quicksort. Use of
Recurrence Relations for Time Requirements. Heap Sort. Radix Sort.
Address-Calculation Sort. Concluding Remarks.
15. Graphs.
Introduction and Examples of Graph Modeling. Basic Definitions of
Graph Modeling. Basic Definitions of Graph Theory. Graph ADT.
Paths, Reachability, and Connectedness. Graph Representations.
Computing Paths from a Matrix Representation of Graphs. Traversals
of Undirected Graphs. Applications. Concluding Remarks.
16. Files.
Introduction. External Storage Devices. Definitions and Concepts.
Persistent Storage Support in Eiffel. Sequential Files. Direct
Files. Indexed Sequential Files. B-Tree Files. Multiple-Key Access.
Concluding Remarks.
A. Eiffel Appendix.
Eiffel Syntax Charts. Names. Data Types. Operators and Operations
of Built-in Types. Instructions. Routines. Details of Routine
Declaration. Class Declaration. Inheritance. Input/Output.
Assertions. Typing. Clusters. Exceptions. Random Numbers. Eiffel
System.
B. Math Primer.
Summation Notation. Logarithms. Cross Product and Function
Notation.
Bibliography.
Index.
Ask a Question About this Product More... |