Please See ISBN 0470128712 for 3rd Edition
The emphasis throughout this book is on problem modeling using fundamental software engineering principles and concepts. Although Java is introduced and used throughout the text, this is not a text about Java. Rather, Java is used as a tool to present the concepts. The UML is used, very informally, for denoting objects, object relationships, and system dynamics. --This text refers to the Paperback edition.
Table of Contents:
Chap 0 Introduction to object-oriented software
Chap 1 Data abstraction: introductory concepts Chap 2 Defining a simple class Chap 3 Designing interacting classes Chap 4 Conditions Chap 5 Programming by contract Cahp 6 Testing Chap 7 Building a text-based user interface: iteration and composition Chap 8 Putting a system together Chap 9 Interfaces Chap 10 Inheritance Chap 11 Modeling with abstraction Chap 12 Lists Chap 13 Implementing lists: array implementations Chap 14 Implementing lists: linked implementations Chap 15 Sorting and searching Chap 16 Failures and exceptions Chap 17 Stream i/o Chap 18 Building a graphical user interface Chap 19 Integrating user interface and model: the Model-View-Controller pattern Chap 20 Recursion Chap 21 Organizing list implementations Supplement A Systems and software Supplement B Programming errors Supplement C Applets