Object-Oriented Software Development Using Java focuses on developing skills in designing software-particularly in writing well-designed, medium-sized object-oriented programs. It provides a broad and coherent coverage of object-oriented technology, including object-oriented modeling using the Unified Modeling Language (UML), object-oriented design using Design Patterns, and object-oriented programming using Java.
With the popularity of C++ and Java, program design has become as important to individual commercial programmers as it has been to programmers developing immense government-sponsored software projects. Designed for a course on object-oriented design at the Junior-, Senior-, and Graduate-level, Object-Oriented Software Development in Java prepares students for the industry's move toward object-oriented languages by introducing design concepts early and then moving on to Java.
- Features an applied focus, which develops software design skills, particularly skills in writing medium-sized, well-designed object-oriented programs.
- Discusses topics of interest for both academia and industry, such as graphical user interfaces, concurrent programming, and distributed computing.
- Provides a balanced view of object-oriented software development from different perspectives: academia and industry, theory and practice.
New to this Edition
- Three times the number of design patterns using Java.
- More exercises included at the end of chapters and new end-of-chapter section with projects.
- Introduces new section on testing, revisited through the programming samples in the book.
- Introduces a new section on the iterative software development process, revisited by program examples.
- Additional chapter for expanded coverage on UML.
- Advanced features of Java; RMI, JDBC, COBRA.
- Examples updates to JDK1.4.
- New Case Study: E-Bookstore.
Table of Contents
1. Object-Oriented Software Development.
The Challenges of Software Development.
An Engineering Perspective.
Iterative Development Processes: RUP and XP.2. Object-Oriented Modeling Using UML.
Principles and Concepts.
Modeling Relationships and Structures.
Modeling Dynamic Behaviors.
Modeling Requirements with Use Cases.
Case Study: An E-Bookstore.3. Introduction to Java.
An Overview of Java 2 Platform.
The Java Run-Time Architecture.
Getting Started with Java.4. Elements of Java.
Variables and Types.
A Simple Animation Applet.5. Classes and Inheritance.
Overloading Methods and Constructors.
Extending and Implementing Interfaces.
Hiding Fields and Class Methods.
Applications - Animation Applets.6. From Building Blocks to Projects.
Contracts and Invariants.
The Canonical Form of Classes.
Project Build.7. Design by Abstraction.
Desinging Generic Componenets.
Design Case Study - Animation of Sorting Algorithms.8. Object-Oriented Application Frameworks.
The Collections Framework.
The Graphical User Interface Framework.
The Input/Output Framework.9. Design Case Study: A Drawing Pad.
Iteration 1: A Simple Scribble Pad.
Iteration 2: Menus, Options, and Files.
Iteration 3: Refactoring.
Iteration 4: Adding Shapes and Tools.
Iteration 5: More Drawing Tools.
Iteration 6: The Text Tool.10. More Design Patterns.
Type-Safe Enumeration Type.
Structural Patterns.11. Concurrent Programming.
Thread Safety and Liveness.
Design Case Study.12. Distributed Computing.
Remote Method Invocation.
Java Database Connectivity (JDBC).
Common Object Request Broker Architecture (CORBA).