Overview of OOAD
Object-Oriented concepts
Object
Object relationships
Encapsulation
Class
Inheritance
Polymorphism
The Unified Object-Oriented Software Development Process
Unified Modeling Language and Rational Rose
Requirements Workflow
Requirements Workflow
Requirements
Problem Analysis and User Needs
Requirements Workshop
UML and Requirements Capture
Use Case Analysis
Use Case Analysis
Use Cases and Actors
Use Cases Relationships
Use Case Diagram
Case study
Introduction to Java
Overview
History of Java
Goals of Java
Java Virtual Machine
Garbage Collection
Hello World Example
Source File Layout
Class Identification
Class identification
Class categories: entity, boundary, control
Noun/verb analysis
CRC cards
Class diagrams
Object diagrams
Class Relationship Analysis
Class relationship analysis
Class association
Aggregation
Composition
Qualification
Association Classes
RUP
Software Development Methodologies
Waterfall v.s. Iterative
Low Ceremony v.s. High Ceremony
The Spirit of the Rational Unified Process
The Life Cycle of Projects Using the Rational
Unified Process
Analysis Workflow
The Analysis Workflow
Analysis In the Rational Unified Process
Class Analysis
Use Case Realizations
Analysis Packages
Post Analysis
Design Workflow
Design Workflow
Design in RUP
Design vs. Analysis
Design Workflow
Refining Classes and Relationships
Refining Use Cases
Java Basics
Overview
Comments
Semicolon and White Spaces
Blocks
Keywords
Primitive Data Types
Identifier
Variables
Literals
Arithmetic Operators
Bitwise Operator
Assignment Operators
Miscellaneous Operators
Scope of a Variable
Arrays
Multidimensional Arrays
Reading from the Keyboard
Branching and Looping
Overview
Conditions
The if Statement
The if . . . else Statement
Logical Operators and if...else Statement
The switch Statement
The while Statement
The do . . . while Statement
The for loop
Break and Continue
Arrays
Arrays
Declaring Arrays
Creating Arrays
Accessing Arrays
Initializing Arrays
Multidimensional Arrays
Copying Arrays
Objects
Overview
Object-Oriented Programming
Methods
Overloading
Creating an Instance of a Class
Constructors
Inheritance
The super Keyword
The this Keyword
Overriding
Using == vs. equals()
The toString() Method
Static Initializers
Access Modifiers
Creating Constructors/Methods
Advanced Class Concepts
Overview
Inner Classes/Nested Classes
Abstract Classes
Interfaces
Exceptions
Overview
What is an Exception?
Benefits
How to work with exception
The try . . . catch . . . finally Statement
Flow of Program Control
Checked Exceptions
Unchecked Exceptions
Catching Multiple Exceptions
Rethrowing Exceptions
Exception thrown by a Method
The Exception Class
Creating your Own Exceptions
Stream I/O
Overview
File I/O
The File Class
Methods
Example
Input Stream
Methods
Output Stream
Methods
DataInputStream and DataOutputStream
DataInputStream Methods
DataOutputStream Methods
FileInputStream and FileOutputStream
FileInputStream Methods
FileOutputStream Methods
FileInputStream/DataOutputStream Example
FileInputStream/DatInputStream Example
Reader and Writer
Why Use Readers and Writers
Example