Consulting Training Blog Careers About Us Contact Us

Complete OO Applications with Java for Procedural Developers Training

Course ID: WAS1220
Duration: 5 Days

Upcoming Classes

Sorry, nothing scheduled right now. Click the Get Notified button below to be alerted when a class is scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


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.


Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • Use Windows Notepad together with Sun's Software Development Kit (SDK), write, compile, and execute a simple Java program
  • Use 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¬†


Familiarity with software development in general is helpful.

Course Outline

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
  • Problem Analysis and User Needs
  • Requirements Workshop
  • UML and Requirements Capture

Use Case Analysis

  • Use Cases and Actors
  • Use Cases Relationships
  • Use Case Diagram
  • Case study

Introduction to Java

  • History of Java
  • Goals of Java
  • Java Virtual Machine
  • Garbage Collection
  • Source File Layout

Class Identification

  • Class categories: entity, boundary, control
  • Noun/verb analysis
  • CRC cards
  • Class diagrams
  • Object diagrams

Class Relationship Analysis

  • Class association
  • Aggregation
  • Composition
  • Qualification
  • Association Classes


  • 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

  • Analysis In the Rational Unified Process
  • Class Analysis
  • Use Case Realizations
  • Analysis Packages
  • Post Analysis

Design Workflow

  • Design in RUP
  • Design vs. Analysis
  • Refining Classes and Relationships
  • Refining Use Cases

Java Basics

  • 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

  • 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


  • Declaring Arrays
  • Creating Arrays
  • Accessing Arrays
  • Initializing Arrays
  • Multidimensional Arrays
  • Copying Arrays


  • 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

  • Inner Classes/Nested Classes
  • Abstract Classes
  • Interfaces


  • 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

Stream I/O

  • File I/O
  • The File Class
  • Input Stream
  • Output Stream
  • DataInputStream and DataOutputStream
  • DataInputStream Methods
  • DataOutputStream Methods
  • FileInputStream and FileOutputStream
  • FileInputStream Methods
  • FileOutputStream Methods
  • Reader and Writer

Free Resources from Intertech

Complete Guide to Becoming a Full Stack Developer

Free Book Chapter: Spring Web

Introduction to Groovy Whitepaper