Most ebook files are in PDF format, so you can easily read them using various software such as Foxit Reader or directly on the Google Chrome browser.
Some ebook files are released by publishers in other formats such as .awz, .mobi, .epub, .fb2, etc. You may need to install specific software to read these formats on mobile/PC, such as Calibre.
Please read the tutorial at this link. https://ebooknice.com/page/post?id=faq
We offer FREE conversion to the popular formats you request; however, this may take some time. Therefore, right after payment, please email us, and we will try to provide the service as quickly as possible.
For some exceptional file formats or broken links (if any), please refrain from opening any disputes. Instead, email us first, and we will try to assist within a maximum of 6 hours.
EbookNice Team
Status:
Available4.6
12 reviewsISBN 10: 0201737337
ISBN 13: 9780201737332
Author: Xiaoping Jia
A comprehensive Java-based guide to mastering object‑oriented design and development. Jia starts with UML modeling, then moves into Java programming, and culminates with design patterns and framework design, making it ideal for mid-to-advanced Java developers and software engineering students
Chapter 1: Object-Oriented Software Development
The Challenges of Software Development
An Engineering Perspective
Software Development Activities
Software Development Processes
Desirable Qualities of Software Systems
Is Software Development an Engineering Process?
Object Orientation
Modeling the Real World
Evolution of Programming Models
A Brief History
Iterative Development Processes
Object-Oriented Development Activities
Rational Unified Process
Extreme Programming
Chapter Summary
Further Readings
Exercises
Chapter 2: Object-Oriented Modeling Using UML
Principles and Concepts
Objects and Classes
Principles
Modeling Relationships and Structures
Inheritance
Association
Aggregation and Composition
Dependency
Modeling Dynamic Behavior
Sequence Diagram
State Diagram
Modeling Requirements with Use Cases
Terms and Concepts
Use Case Diagrams
Case Study: An E-Bookstore
Conceptualization
Use Cases
Object Models
Chapter Summary
Further Readings
Exercises
Chapter 3: Introduction to Java
An Overview of the Java 2 Platform
The Java Run-Time Architecture
Program Execution Models
Java Virtual Machine
Getting Started with Java
A Simple Java Application
A Java Applet
Common Problems and Solutions
Chapter Summary
Further Readings
Exercises
Chapter 4: Elements of Java
Lexical Elements
Character Set
Identifiers
Primitive Types and Literals
Operators and Expressions
Variables and Types
Variable Declarations
Type Compatibility and Conversion
Reference Types
Arrays
Statements
Expression Statements
Statement Blocks
Local Variable Declarations
The return Statement
Selection Statements
Loop Statements
The break and continue Statements
Class Declarations
Syntax of Class Declarations
Creating and Initializing Objects
Accessing Fields and Methods
Method Invocation and Parameter Passing
Class (Static) Fields and Methods
Object Reference this
Interfaces and Abstract Classes
Strings
Wrapper Classes
Packages
Using Packages
Partitioning the Name Space
Packages and the Directory Structure
Organization of the Java Class Library
Exceptions
Sources of Exceptions
Hierarchy of Exceptions
Throwing Exceptions
Catching and Handling Exceptions
A Simple Animation Applet
Chapter Summary
Exercises
Project
Chapter 5: Classes and Inheritance
Overloading Methods and Constructors
Extending Classes
Constructors of Extended Classes
Subtypes and Polymorphism
Overriding Methods
Extending and Implementing Interfaces
Subtypes Revisited
Single Versus Multiple Inheritance
Name Collisions among Interfaces
Marker Interfaces
Hiding Fields and Class Methods
Applications – Animation Applets
Parameters of Applets
An Idiom for Animation Applets
Double-Buffered Animation
Reading Files in Applets
Common Problems and Solutions
Chapter Summary
Exercises
Projects
Chapter 6: From Building Blocks to Projects
Design and Implementation of Classes
Public and Helper Classes
Class Members
Design Guidelines
Documenting the Source Code
Contracts and Invariants
Contracts of Methods
Invariants of Classes
Assertions
Design by Contract
The Canonical Form of Classes
No-Argument Constructor
Object Equality
Hash Code of Objects
Cloning Objects
String Representation of Objects
Serialization
Unit Testing
Simple Unit Testing
JUnit – A Unit-Testing Tool
Testing Coverage Criteria
Project Build
Ant – A Build Tool
Chapter Summary
Further Readings
Exercises
Chapter 7: Design by Abstraction
Design Patterns
Singleton
Designing Generic Components
Refactoring
Template Method
Generalizing
Strategy
Abstract Coupling
Enumerating Elements
Iterator
Design Case Study – Animation of Sorting Algorithms
The Initial Implementation
Separating Algorithms
Factory
Separating Display Strategies
Chapter Summary
Further Readings
Exercises
Project
Chapter 8: Object-Oriented Application Frameworks
Application Frameworks
Characteristics
Design Requirements
Specific Frameworks Considered
The Collections Framework
Abstract Collections
Interfaces of Collections
Implementations of Collections
Iterators of Collections
Ordering and Sorting
The Graphical User Interface Framework – AWT and Swing
The GUI Components
Composite
Layout Managers
Handling Events
Frames and Dialogs
The Input/Output Framework
Byte Streams
Decorator
Character Streams
Random Access Files
Chapter Summary
Further Reading
Exercises
Projects
Chapter 9: Design Case Study – A Drawing Pad
Planning
Iteration 1: A Simple Scribble Pad
The Scribbling Canvas and Its Listener
The Application
Iteration 2: Menus, Options, and Files
Strokes
The Scribble Canvas
The Canvas Listener
The Application
Choosing Colors
Iteration 3: Refactoring
The Shapes
The Tools
Extending Components
Iteration 4: Adding Shapes and Tools
The Shapes
The Toolkit
State
A Concrete Tool – TwoEndsTool
Extending Components
Factory Method
Iteration 5: More Drawing Tools
Filled Shapes
Drawing Filled Shapes
The Application
Iteration 6: The Text Tool
The Text Shape
The Keyboard Input Tool
The Font Option Menu
Chapter Summary
Further Readings
Project
Chapter 10: More Design Patterns
Type-Safe Enumeration Types
A Simple Maze Game
Enumeration Types
Unordered Type-Safe Enumeration Idiom
Ordered Type-Safe Enumeration Idiom
Creational Design Patterns
A Simple Design of the Maze Game
Abstract Factory
Factory Method
Prototype
Builder
Behavioral Patterns
Command
Supporting Undo
Structural Patterns
Adapter
Composite
Chapter Summary
Further Readings
Chapter 11: Concurrent Programming
Threads
Creation of Threads
Controlling Threads
Thread Safety and Liveness
Synchronization
Cooperation Among Threads
Liveness Failures
Design Case Study – Tic-Tac-Toe Game
The Game Board
The Game
The Players
Idiom: Taking Turns
Chapter Summary
Further Reading
Exercises
Projects
Chapter 12: Distributed Computing
Socket-Based Communication
Server and Client Sockets
Servers and Clients Using Sockets
Design Case Study – Stock Quotes I
Remote Method Invocation
The Architecture
Using RMI
Design Case Study – Stock Quotes II
Java Database Connectivity
Common Object Request Broker Architecture
Chapter Summary
Further Readings
Exercises
Projects
model in object oriented software engineering
object-oriented software engineering
object-oriented software design
object-oriented software engineering pdf
object-oriented software design in c++ pdf
Tags: Xiaoping Jia, Object oriented, software development, using Java