Introduction to Developing OO Applications with Java for Procedural Developers
Overview

Learn the key object technology concepts together with the current trends, tools, and techniques to support developing Java applications. Learn not only the object technology concepts, but also the fundamentals of the Java language itself, to write and organize classes to create a simple, but usable application. In our hands-on labs, take a case study from paper to product. Learn to use the Unified Modeling Language (UML) to model a business' problem domain. Take the case study through the stages of analysis and design to finally implement a simple Java program based on the study.

Audience

This is a basic course for Information Technology (IT) architects, designers, and developers.

Prerequisites

Familiarity with software development in general is helpful.

Learning Objectives

After completing this course, the student should be able to:

  • Using Windows Notepad together with Sun's Software Development Kit (SDK), write, compile, and execute a simple Java program
  • Using WebSphere Studio Application Developer, write, compile, and execute a simple Java program
  • Describe the incremental and iterative process for developing applications using object technology, and how it differs from traditional approaches, such as Waterfall, to application development
  • Explain the concept of encapsulation and how it applies to data and function
  • Understand messages as they relate to objects
  • Describe how objects send messages to one another
  • Describe the purpose of a class
  • Document a class using the UML by correctly building three-part boxes
  • Understand how encapsulation works with objects
  • Understand the difference between messages and methods
  • Identify actors within a problem domain
  • Differentiate between primary and secondary actors
  • Create a Use Case from a business problem domain description
  • Associate actors with Use Cases
  • Understand simple techniques to identify classes of objects in the system
  • Understand what makes a good object
  • Allocate behavior to objects based on the business
  • Understand the purpose of performing dynamic modeling in analysis
  • Develop a UML sequence diagram for a Use Case
  • Develop a UML class diagram for a Use Case
  • Understand class attributes and relationships that exist between objects and classes
  • Understand the difference between an analysis class diagram and a design class diagram
  • Understand the options for designing an association
  • Use primitive data types in a Java program
  • Use the commonly used operators in a Java program
  • Instantiate objects from classes
  • Send messages to objects
  • Receive return values from sent messages
  • Use the main features of the string and vector classes
  • Create your own class
  • Create and use instance variables and methods
  • Create and use class methods and variables
  • Create constructors
  • Create accessors and mutators
  • Understand Java's object model
  • Know why and how to create and use an abstract class
  • Know why and how to create and use an interface
  • Create subclasses that override methods of their superclass
  • Understand the use of super() and super.
  • Do basic Input/Output (I/O) operations needed to read files
  • Handle an I/O exception in code
  • Understand how to organize classes in packages to restrict access to class members
Course duration

5 Days

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

Contact Information
WINTRAC INC. - the one stop shopping center for IT training.
16523 S.W. McGwire Ct. Beaverton OR -97007
Phone: (503) 259-0312
Fax: 707-598-2268
Email: sales@wintrac.com

Send mail to webmaster@wintrac.com with questions or comments about this web site.
Copyright © 2002 Wintrac Inc.