Great Deals on Used Textbooks & New Textbooks!               
My Account | Help Desk | Market Place Shopping Cart
Free shipping. Click here for details.
No items in cart.
Total: $0.00
Textbooks Sell Textbooks Books Supplies Medical Books College Apparel Movies Clearance
Search  Advanced >>
Related Topics: Computers >> Programming >> General
Program Development in Java: Abstraction, Specification, and Object-Oriented Design,9780201657685
Other versions by this Author
We Buy This Book Back!

Program Development in Java: Abstraction, Specification, and Object-Oriented Design


Edition: 1st
Author(s): Liskov, Barbara; Guttag, John
ISBN10:  0201657686
ISBN13:  9780201657685
Format:  Hardcover
Pub. Date:  1/1/2001
Publisher(s): Addison-Wesley Professional

Buy in Bulk
Send to a friend
New Price  $54.59
List Price $69.99
eVIP Price  $51.87
New Copy:  Currently Available, Usually Ships in 24-48 Hours
add remove
eBook Price $62.68
What is an eBook?
Add eBook to Cart
Electronic Copy: Will be Delivered Electronically
Marketplace Price $42.63
List Price $69.99 Available in the eCampus Marketplace
Take 90 Days to Pay on $250 or more
with Quick, Easy, Secure
Subject to credit approval.
SummaryTable of Contents
Discusses how to build production-quality programs that are reliable, easy to maintain, and quick to modify. Emphasizes modular program construction, how to get the modules right and how to organize a program as a collection of modules. DLC: Java (Computer program language).
Preface xv
Acknowledgments xix
Introduction
1(14)
Decomposition and Abstraction
2(2)
Abstraction
4(8)
Abstraction by Parameterization
7(1)
Abstraction by Specification
8(2)
Kinds of Abstractions
10(2)
The Remainder of the Book
12(3)
Exercises
13(2)
Understanding Objects in Java
15(24)
Program Structure
15(2)
Packages
17(1)
Objects and Variables
18(6)
Mutability
21(1)
Method Call Semantics
22(2)
Type Checking
24(5)
Type Hierarchy
24(3)
Conversions and Overloading
27(2)
Dispatching
29(1)
Types
30(2)
Primitive Object Types
30(1)
Vectors
31(1)
Stream Input/Output
32(1)
Java Applications
33(6)
Exercises
35(4)
Procedural Abstraction
39(18)
The Benefits of Abstraction
40(2)
Specifications
42(1)
Specifications of Procedural Abstractions
43(4)
Implementing Procedures
47(3)
Designing Procedural Abstractions
50(5)
Summary
55(2)
Exercises
56(1)
Exceptions
57(20)
Specifications
59(2)
The Java Exception Mechanism
61(6)
Exception Types
61(1)
Defining Exception Types
62(2)
Throwing Exceptions
64(1)
Handling Exceptions
65(1)
Coping with Unchecked Exceptions
66(1)
Programming with Exceptions
67(1)
Reflecting and Masking
67(1)
Design Issues
68(4)
When to Use Exceptions
70(1)
Checked versus Unchecked Exceptions
70(2)
Defensive Programming
72(2)
Summary
74(3)
Exercises
75(2)
Data Abstraction
77(48)
Specifications for Data Abstractions
79(6)
Specification of IntSet
80(3)
The Poly Abstraction
83(2)
Using Data Abstractions
85(1)
Implementing Data Abstractions
86(8)
Implementing Data Abstractions in Java
87(1)
Implementation of IntSet
87(2)
Implementation of Poly
89(1)
Records
90(4)
Additional Methods
94(5)
Aids to Understanding Implementations
99(9)
The Abstraction Function
99(3)
The Representation Invariant
102(3)
Implementing the Abstraction Function and Rep Invariant
105(2)
Discussion
107(1)
Properties of Data Abstraction Implementations
108(4)
Benevolent Side Effects
108(3)
Exposing the Rep
111(1)
Reasoning about Data Abstractions
112(4)
Preserving the Rep Invariant
113(1)
Reasoning about Operations
114(1)
Reasoning at the Abstract Level
115(1)
Design Issues
116(4)
Mutability
116(1)
Operation Categories
117(1)
Adequacy
118(2)
Locality and Modifiability
120(1)
Summary
121(4)
Exercises
121(4)
Iteration Abstraction
125(22)
Iteration in Java
128(2)
Specifying Iterators
130(2)
Using Iterators
132(2)
Implementing Iterators
134(3)
Rep Invariants and Abstraction Functions for Generators
137(1)
Ordered Lists
138(5)
Design Issues
143(1)
Summary
144(3)
Exercises
144(3)
Type Hierarchy
147(42)
Assignment and Dispatching
149(3)
Assignment
149(1)
Dispatching
150(2)
Defining a Type Hierarchy
152(1)
Defining Hierarchies in Java
152(2)
A Simple Example
154(7)
Exception Types
161(1)
Abstract Classes
161(5)
Interfaces
166(1)
Multiple Implementations
167(7)
Lists
168(3)
Polynomials
171(3)
The Meaning of Subtypes
174(9)
The Methods Rule
176(3)
The Properties Rule
179(3)
Equality
182(1)
Discussion of Type Hierarchy
183(1)
Summary
184(5)
Exercises
186(3)
Polymorphic Abstractions
189(18)
Polymorphic Data Abstractions
190(3)
Using Polymorphic Data Abstractions
193(1)
Equality Revisited
193(2)
Additional Methods
195(3)
More Flexibility
198(4)
Polymorphic Procedures
202(1)
Summary
202(5)
Exercises
204(3)
Specifications
207(14)
Specifications and Specificand Sets
207(1)
Some Criteria for Specifications
208(7)
Restrictiveness
208(3)
Generality
211(1)
Clarity
212(3)
Why Specifications?
215(2)
Summary
217(4)
Exercises
219(2)
Testing and Debugging
221(34)
Testing
222(8)
Black-Box Testing
223(4)
Glass-Box Testing
227(3)
Testing Procedures
230(1)
Testing Iterators
231(1)
Testing Data Abstractions
232(3)
Testing Polymorphic Abstractions
235(1)
Testing a Type Hierarchy
235(2)
Unit and Integration Testing
237(2)
Tools for Testing
239(3)
Debugging
242(7)
Defensive Programming
249(2)
Summary
251(4)
Exercises
252(3)
Requirements Analysis
255(16)
The Software Life Cycle
255(4)
Requirements Analysis Overview
259(5)
The Stock Tracker
264(5)
Summary
269(2)
Exercises
270(1)
Requirements Specifications
271(30)
Data Models
272(10)
Subsets
273(1)
Relations
274(4)
Textual Information
278(4)
Requirements Specifications
282(4)
Requirements Specification for Stock Tracker
286(5)
The Data Model
286(3)
Stock Tracker Specification
289(2)
Requirements Specification for a Search Engine
291(7)
Summary
298(3)
Exercises
298(3)
Design
301(46)
An Overview of the Design Process
301(3)
The Design Notebook
304(6)
The Introductory Section
304(4)
The Abstraction Sections
308(2)
The Structure of Interactive Programs
310(5)
Starting the Design
315(8)
Discussion of the Method
323(1)
Continuing the Design
324(2)
The Query Abstraction
326(6)
The WordTable Abstraction
332(1)
Finishing Up
333(1)
Interaction between FP and UI
334(2)
Module Dependency Diagrams versus Data Models
336(2)
Review and Discussion
338(5)
Inventing Helpers
339(1)
Specifying Helpers
340(1)
Continuing the Design
341(1)
The Design Notebook
342(1)
Top-Down Design
343(1)
Summary
344(3)
Exercises
345(2)
Between Design and Implementation
347(22)
Evaluating a Design
347(13)
Correctness and Performance
348(5)
Structure
353(7)
Ordering the Program Development Process
360(6)
Summary
366(3)
Exercises
367(2)
Design Patterns
369(40)
Hiding Object Creation
371(4)
Neat Hacks
375(10)
Flyweights
375(3)
Singletons
378(4)
The State Pattern
382(3)
The Bridge Pattern
385(1)
Procedures Should Be Objects Too
386(4)
Composites
390(9)
Traversing the Tree
393(6)
The Power of Indirection
399(3)
Publish/Subscribe
402(4)
Abstracting Control
403(3)
Summary
406(3)
Exercises
407(2)
Glossary 409(18)
Index 427

Related Study Guides
Java 2 Laminated Reference Guide
Java 2 Laminated Reference Guide
Retail Price: $5.95
Our Price: $4.64
 
Check Out These Items!
eCampus.com Pink Backpack eCampus.com Pink Backpack
Retail Price $28.95
Our Price $10.00
eCampus.com T-Shirt eCampus.com T-Shirt
Retail Price $14.99
Our Price $2.00
eCampus.com 4GB USB Drive eCampus.com 4GB USB Drive
Retail Price $32.95
Our Price $25.00
  Buy Textbooks
  Sell Textbooks
  College Apparel
  Shop by School
  Virtual Bookstores
  Order Status
  Shipping Rates
  Return Policy
  Marketplace Info
  F.A.S.T.
  Contact Us
  Privacy Policy
  Legal Notices
  Site Security
  Employment
  Help Desk
  eCampus Blog
  Affiliate Program
  Bulk Orders
  College Marketing
HACKER SAFE certified sites prevent over 99.9% of hacker crime.
eCampus.com blog follow eCampus.com on twitter find eCampus.com on facebook RSS Need Help? eService@ecampus.com   Copyright© 1999-2008     
.