Cover image for Data structures and software development in an object-oriented domain
Title:
Data structures and software development in an object-oriented domain
Personal Author:
Edition:
Eiffel ed.
Publication Information:
Upper Saddle River, NJ : Prentice Hall, 2001
ISBN:
9780137879465
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000005178029 QA76.64 T73 2001 Open Access Book Advance Management
Searching...

On Order

Summary

Summary

Being a parent and being a manager have a lot in common. Both involve long hours and a daunting list of responsibilities. Both require clear communication skills and a good sense of humor. In this unique look at the modern workplace, Ian Durston, a successful project manager and happy father of three, uses his experience raising children to shed light on the perennial challenges of management. Issues such as leadership, motivation, performance, team building, and change are explored not only through the author's experience as a manager, but, more importantly, through the rituals every parent must go through in raising his or her child. Getting his son to sleep while on vacation becomes a lesson in flexibility on the job; dealing with tantrums at home provides insight into the role of assertiveness at work; and watching his youngest begin to walk is used as an example of the trial-and-error method and the importance of failure as a learning tool.


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 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
Inherit