Data Structures and Software Development in an Object Oriented Domain, Eiffel Edition
Pearson (Verlag)
978-0-13-787946-5 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
For CS2/CS7 Data Structures courses. Also appropriate for first- and second-year Object Oriented Design courses where instructors also want to re-enforce data structures from an object-oriented perspective.
Using a unique parallel-coverage approach, this text 1) presents the fundamentals of data structures from arrays and lists to balanced trees, graphs, and files (including their design, use, implementation, and analysis); and 2) gives an introduction to object-oriented software engineering using UML (including the context diagram, use cases, sequence diagrams, architectural and detailed design, implementation, and testing). It can be used (a) to mostly present data structures with little software engineering, (b) to present both topics in parallel, or (c) to review data structures from an object-oriented perspective and then concentrate on software engineering at the first or second year level. The text uses Eiffel as the implementation language, an object-oriented language particularly well-suited to the clean presentation of data structures and software engineering concepts. Two case studies are included to illustrate the steps followed in an object-oriented development process for the analysis and design of non-trivial systems.
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.
Erscheint lt. Verlag | 22.3.2001 |
---|---|
Sprache | englisch |
Maße | 215 x 261 mm |
Gewicht | 2127 g |
Themenwelt | Informatik ► Software Entwicklung ► Objektorientierung |
Informatik ► Theorie / Studium ► Algorithmen | |
ISBN-10 | 0-13-787946-6 / 0137879466 |
ISBN-13 | 978-0-13-787946-5 / 9780137879465 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich