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
- Input Stream
- Output Stream
- 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
|
|