WA1220 Introduction to Developing OO Applications with Java for Procedural Developers Training and Courseware Course Outline

1. 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
2. Requirements Workflow
  • Requirements Workflow
  • Requirements
  • Problem Analysis and User Needs
  • Requirements Workshop
  • UML and Requirements Capture
3. Use Case Analysis
  • Use Case Analysis
  • Use Cases and Actors.
  • Use Cases Relationships.
  • Use Case Diagram.
  • Case study.
4. Introduction to Java
  • Overview
  • History of Java
  • Goals of Java
  • Java Virtual Machine
  • Garbage Collection
  • Hello World Example
  • Source File Layout
5. Class Identification
  • Class identification
  • Class categories: entity, boundary, control
  • Noun/verb analysis
  • CRC cards
  • Class diagrams
  • Object diagrams
6. Class Relationship Analysis
  • Class relationship analysis
  • Class association
  • Aggregation
  • Composition
  • Qualification
  • Association Classes
7. 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
8. Analysis Workflow
  • The Analysis Workflow
  • Analysis In the Rational Unified Process
  • Class Analysis
  • Use Case Realizations
  • Analysis Packages
  • Post Analysis
9. Design Workflow
  • Design Workflow
  • Design in RUP
  • Design vs. Analysis
  • Design Workflow
  • Refining Classes and Relationships
  • Refining Use Cases
10. 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
11. 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
12. Arrays
  • Arrays
  • Declaring Arrays
  • Creating Arrays
  • Accessing Arrays
  • Initializing Arrays
  • Multidimensional Arrays
  • Copying Arrays
13. 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
14. Advanced Class Concepts
  • Overview
  • Inner Classes/Nested Classes
  • Abstract Classes
  • Interfaces
15. Exceptions
  • Overview
  • What is 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
16. 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