Cover image for Data structure and software development in an object - oriented domain
Title:
Data structure and software development in an object - oriented domain
Personal Author:
Edition:
Java ed.
Publication Information:
Upper Saddle River, NJ : Prentice hall, 2003
ISBN:
9780137879533
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010019215 QA76.64 T73 2003 Open Access Book Book
Searching...

On Order

Summary

Summary

This text provides students with a strong introduction to basic data structures, object-oriented analysis and design, and fundamental software design concepts and principles.


Author Notes

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.


Table of Contents

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 Mo