Data Structures and Software Development in an Object Oriented Domain, Java Edition - Jean-Paul Tremblay, Grant A. Cheston

Data Structures and Software Development in an Object Oriented Domain, Java Edition

Buch | Hardcover
1200 Seiten
2002
Pearson (Verlag)
978-0-13-787953-3 (ISBN)
97,25 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
For one- or two-term Sophomore level courses in Data Structures and Software Design, this text provides an introduction to basic data structures, object-oriented analysis and design, and fundamental software design concepts and principles. It begins with the basic data structures and algorithms, with their Java implementation and analysis.
For one- or two-term Sophomore/Junior level courses in Data Structures and Software Design.

This text provides students with a strong introduction to basic data structures, object-oriented analysis and design, and fundamental software design concepts and principles. The authors begin with the traditional basic data structures and algorithms, with their Java implementation and analysis. Then, employing UML notation, a ten step process is given to design a large software system, including a case study designing a simple bank system. In the remainder of the book, intermediate-level data structures and software design techniques are given.

Jean-Paul Tremblay received the Ph.D. degree in Computer Science from Case Institute of Technology. He is currently a professor in the Department of Computer Science at the University of Saskatchewan. Professor Tremblay has co-authored several books in the McGraw-Hill Science Series and is also a co-author of Logic and Discrete Mathematics: A Computer Science Perspective, published by Prentice Hall. His research interests currently focus on CASE systems and automated software diagram layout tools. Grant A. Cheston received the Ph.D. degree in Computer Science from the University of Toronto. He is currently a professor in the Computer Science Department at the University of Saskatchewan. Professor Cheston's research interests are in the graph algorithms area.

1. State of Software Development.


Introduction. Software Development Process. Assessing Software Quality. Principles of Software Design. Approaches to Software Design. Concluding Remarks.



2. Java Basics.


Introduction. Comments and White Space. Naming Conventions. Data Types. Literals and Constants. Operators. Basic Statements. Methods. Class Declaration. Java System. Objects. Inheritance. Argument Passing. Repairing Program Faults. I/O to Text Files. Java Virtual Machine. Graphical User I/O. Concluding Remarks.



3. Objects and Classes.


Introduction. Models and Modeling. Objects. Classes and Instances. Relationships to Describe Class Interactions. Concluding Remarks.



4. Arrays and Strings.


An Array Application and Analysis of the Problem. Arrays in Java. Problem Solution. Storage Structure, Assignment and Equality for Reference Types. Strings. StringBuffer Class. Concluding Remarks. New Java Constructs.



5. Array Algorithms and Their Analysis.


Algorithm Analysis. Searching. Sorting. Introduction to Object Comparison, Interfaces, and the Object Class. Array Dictionaries. Concluding Remarks. New Java Constructs.



6. Abstract Data Types and Their Implementation.


Introduction. Data Types. Specifying Abstract Data Types. Specifying and Implementing ADTs in Java. Assertion Checking and Exceptions. Visibility of Classes and Class Members. Introduction to Design by Contract. Concluding Remarks. New Java Constructs.



7. List Fundamentals.


A Simple List Application. List Abstract Data Type. Implementations. Examples of Linked Operations. Ordered Simple List. List Variations. Concluding Remarks. New Java Constructs.



8. Advanced List Concepts and the Uos Data Structure Library.


List Tools. Library of Dictionaries and List Data Structures. Applications. Polymorphism and Heterogeneous Lists. Concluding Remarks. New Java Constructs.



9. Stacks.


Introduction. Stack ADT. Implementations. Applications. Concluding Remarks.



10. Recursion.


Recursive Definitions from Mathematics. Recursive Methods. Developing and Verifying Recursive Methods. Timing Analysis for Simple Recursive Methods. Recursive List Methods. Concluding Remarks. New Java Constructs.



11. Queues and Priority Queues.


Queues. Priority Queues. Application: Discrete Simulation. Concluding Remarks. New Java Constructs.



12. 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. New Java Constructs.



13. Trees.


Introduction and Applications. Binary Tree Abstract Data Type. Binary Trees. General Trees. Applications. Concluding Remarks.



14. Elementary Problem Modeling and System Design.


Introduction. Modeling Static System Structure. Modeling System Behavior. Analysis and Architectural Design of a Student Registration System. Concluding Remarks.



15. 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.



16. 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.



17. Bags, Sets, and Dictionaries.


Introduction. Bit Vector Implementation. Hash Tables. Specialized Search Trees. Better Priority Queues. Concluding Remarks.



18 Sorting.


Introduction. Review of Basic Sorts. Recursive Merge Sort. Quicksort. Use of Recurrence Relations for Time Requirements. Heap Sort. Radix Sort. Address Calculation Sort. Concluding Remarks.



19. Graphs.


Introduction and Examples 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.



20. Files.


Introduction. External Storage Devices. Definitions and Concepts. Persistent Storage Support in Java. Sequential Files. Direct Files. Indexed Sequential Files. B-Tree Files. Multiple-Key Access. Concluding Remarks.



Appendix A. Java Tutorial.


Java Syntax Charts. Comments and White Space. Names. Data Types. Expressions. Primaries. Statements. Methods. Classes. Interfaces. Packages and Access Modifiers. Input/Output. Exception Handling. Multi-Threading. Miscellaneous.



Appendix B. Analysis of Java Data Structures.


Appendix C. Math Primer.


Summation Notation. Logarithms. Cross Product and Function Notation. Mathematical Induction. Further Techniques for Recurrence Relations.



Bibliography.

Erscheint lt. Verlag 21.10.2002
Sprache englisch
Maße 213 x 261 mm
Gewicht 2309 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Informatik Software Entwicklung Objektorientierung
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-13-787953-9 / 0137879539
ISBN-13 978-0-13-787953-3 / 9780137879533
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90