Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > Rational Application Developer (RAD) 7.0 > Introduction to Developing OO Applications using RAD 7.0 Training

Introduction to Developing OO Applications using RAD 7.0 Training

Course#: WA1783

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.

What you will learn

  After completing this course, the student should be able to:
  • 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

Audience

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

Prerequisites

 

Familiarity with software development in general is helpful.

Duration

  Five days.

Outline of WA1783 Introduction to Developing OO Applications using RAD 7.0 Training

1. Overview of OOAD

 
  • Topics
  • A Brief History of Object Oriented Languages
  • Tower of Hanoi
  • Objects
  • Objects Examples
  • Objects Identification and Attributes
  • Operations and Methods
  • Object Relationship
  • Encapsulation
  • Classes
  • Examples of Classes
  • Examples of Object Type Identification in UML
  • Inheritance
  • Example of Inheritance
  • Discovering Inheritance
  • Polymorphism
  • Example of Polymorphism
  • Object-Oriented Programming Languages
  • Topics
  • Development Process
  • The Rational Unified Process
  • Inception Phase
  • Elaboration Phase
  • Construction Phase
  • Transition Phase
  • Software Development Life Cycle with the RUP
  • Topics
  • What is UML?
  • History of UML
  • UML 2 Architecture
  • UML Infrastructure
  • UML Superstructure (or UML)
  • Object Constraint Language (OCL)
  • UML Diagram Interchange
  • Building Blocks of UML
  • Things in UML
  • Examples of UML Things
  • Relationships in UML
  • Examples of UML Relationships
  • Diagrams in UML
  • Classifier in UML
  • Examples of UML Classifiers
  • Common Mechanisms in UML
  • Common Mechanisms in UML cont
  • Examples of UML Extensibility
  • Advantages of UML
  • Summary
 

2. Requirements Workflow

 
  • Topics
  • Requirements Workflow
  • What Is A Requirement?
  • Requirements Gathering
  • What Is Requirements Management?
  • Requirements Management
  • Timing of Requirements Workflow
  • The Cost Of Requirement Errors
  • The Game Plan Towards Building Quality Software
  • Problem Analysis and Understanding User Needs
  • Problem Analysis Steps
  • Business Models
  • Gather Requirements
  • Interviewing
  • Requirements Workshop
  • Brainstorming
  • Brainstorming- Idea reduction
  • Storyboarding
  • Use Cases
  • Prototyping
  • Requirements and the Unified Process
  • Recall: Inception Phase
  • Example of Use Cases
  • Recall: Elaboration Phase
  • Example of a Use Case Diagram
  • Delivery
 

3. Use Case Analysis

 
  • Topics
  • Use Cases
  • Benefits of Use Cases
  • Classifying Use Cases
  • Levels of use cases
  • For use case modeling
  • Use Case Modeling
  • Use Case Modeling Steps
  • Step 1 - Scope
  • Lists used to manage scope In/out list
  • Step 2 - Actors
  • Actor Notation
  • Finding Actors
  • Finding Actors - continued
  • Step 3 - Goal List
  • Step 4 and 5 Finding Use Cases
  • Sections Of A Use Case
  • Documenting Use Cases
  • Use Case Notation
  • Action Sequence
  • Use Case Relationships
  • Time Schedule Application
  • Case Study
  • Case Study Time Schedule Management
  • Use Cases Time Schedule Management
  • UC01 Add a new appointment
  • Use Case Diagram
  • Time Schedule Use Case Diagram
 

4. Overview of Java

 
  • Objectives
  • History Of Java
  • Benefits Of Java
  • What Is Java?
  • What's This "Virtual Machine"?
  • Comparison to Other Languages
  • Java Programs
  • Basic Java Development Tools
  • Java Editions
  • Example - HelloWorld
  • Java Classes
  • Main Methods
  • Statements
  • Summary
 

5. Class Identification

 
  • Topics
  • Identifying Classes
  • Entity Class
  • Control Class
  • Boundary Class
  • A Good Class
  • A Good Class cont'd
  • Bad Classes
  • Finding Classes and their Relationships
  • Noun/verb Analysis
  • Noun/verb Analysis example
  • Refine
  • CRC Cards
  • What is a Responsibility?
  • What is a Collaboration?
  • Identifying Classes Using CRCs
  • CRC Cards An Example
  • Class Diagram
  • Class Notation in UML
  • The Name Compartment
  • The Attribute Compartment
  • The Operation Compartment
  • Translating CRC Cards to a Class Diagram
  • The Scheduling System
  • UC-01 Classes
  • The EmployeeInfo Class
  • Object Diagram
  • Object Notation in UML
  • Object Links and Messages
  • Message Notation
  • Link Types
  • Examples of Object Links
 

6. Class Relationship Analysis

 
  • Topics
  • UML Diagrams
  • Class Diagram
  • Object Diagram
  • Types of Class Relationships
  • Identifying Class Relationships
  • Examples of Relationships in UML
  • Class Association Relationship
  • Class Association Relationships in UML
  • Reading Class Associations
  • Multiplicity
  • Reading Multiplicity
  • Aggregation
  • Aggregation An Example
  • Composition
  • Composition An Example
  • Qualification
  • Qualification An Example
  • Association Class
  • Association Class An Example
  • Class Diagram Multiplicity and Ordering
  • Class Diagram Operations Compartment
  • Class Diagram Interface Notation
  • Class Diagram Combining Interface Notations
  • Class Diagram Object Relationships
  • Package Diagram
 

7. The Software Development Project Life Cycle Using RUP

 
  • Topics
  • Software Development Methodologies
  • Waterfall Development Methodology
  • Iterative Development Methodology
  • Iteration v.s. Waterfall Process
  • Low Ceremony/High Ceremony
  • Comparison of Some Software Methodologies
  • Spirit of RUP: Well-Defined Software Engineering
  • Two Dimensions of the RUP Process
  • Dynamic Dimension of RUP: Lifecycle Phases & Milestone
  • Static Dimension of RUP: Modeling Elements
  • Static Dimension of RUP: Disciplines
  • Typical RUP Roles
  • Spirit of RUP: Iterative & Risk-Driven Approach
  • The RUP Iteration
  • Spirit of RUP: Customizable and Configurable Process
  • Inception Phase
  • Inception Phase cont
  • Develop a Vision Document
  • Develop a Vision Document: An Example
  • Develop System Overview
  • Develop System Overview: An Example
  • Plan the Project and Analyze Risks
  • Plan the Project and Analyze Risks: An Example
  • Plan the Project and Analyze Risks: An Example cont
  • Elaboration Phase
  • Elaboration Phase cont
  • Develop Use Case and Domain Object Model
  • Develop Executable Architecture
  • Construction Phase
  • Construction Phase cont
  • Organize Teams Around Architecture
  • Example of Construction Iterations
  • Transition
  • Transition cont
  • Elaboration Phase cont
  • Examples of a RUP Development Lifecycle
  • Typical Time & Resource for a RUP Development Lifecycle
  • Multiple Development Lifecycles
 

8. Analysis Workflow

 
  • Topics
  • Analysis Workflow
  • Motivation
  • Analysis Deliverables
  • Good Analysis Characteristics
  • Analysis in the Rational Unified Process
  • Analysis Workflow Steps
  • Class Analysis
  • What is an Analysis Class?
  • Analysis Class Relationships
  • Use Case Analysis
  • Architectural Analysis
  • Packages
  • Package practicality
  • Post Analysis
 

9. Design Workflow

 
  • Topics
  • Analysis and Design
  • Design Time
  • Design in RUP
  • Design vs. Analysis Model
  • One Model Or Two?
  • Design Workflow
  • Design Classes
  • Design Class Refinement
  • Class Removal
  • Refining Relationships
  • Use Case Design
  • Construction
 

10. Java Tools in Eclipse

 
  • Objectives
  • Eclipse Platform
  • Eclipse Workspace
  • Perspectives, Views & Editors
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Problems View
  • Eclipse Preferences
  • Build and Validation
  • Code Completion, Templates and Snippets
  • Searching
  • Configure Compiler Class Path
  • JRE Switching
 

11. Basic Java Syntax

 
  • Objectives
  • Declaring And Initializing Variables
  • Keywords
  • Coding Tips Variables
  • Primitive Data Types
  • Logical - boolean
  • Textual - char and String
  • Integral - byte, short, int, long
  • Floating Point - float and double
  • Literal Values
  • Strings
  • Creating Strings
  • White Space
  • Comments
  • Coding Tips - Comments
  • Java Statements
  • Coding Tips - Statements
  • Scope of a Variable
  • System.out/System.in
  • Scanner Class
  • Summary
 

12. Operations and Making Decisions

 
  • Objectives
  • Operator Categories
  • Special Situations
  • Binary Operators
  • Integer Division
  • Numeric Promotion
  • Type Conversion Of Primitive Types
  • Unary Operators
  • Relational Operators
  • Logical Operators
  • Bitwise Operators
  • Bitwise Examples
  • Shift Operators
  • Overflow And Underflow
  • Assignment Operators
  • Ternary Operator
  • Calculation Errors
  • Operator Precedence
  • Precedence Examples
  • Combining Strings
  • Coding Tips - Operators
  • Control Flow Statements
  • 'if' Statement
  • 'if else' Statement
  • Nested Statements
  • "Short Circuited" Operators
  • Coding Tips - if & if-else
  • Summary
 

13. Using Classes and Objects

 
  • Objectives
  • Objects, Instances, And Classes
  • What Are Classes?
  • Working With Classes And Objects
  • Instantiation
  • Instance Methods
  • Object References
  • String Operations
  • The Math Class
  • Summary
 

14. Writing Classes

 
  • Objectives
  • Why Define Your Own Classes?
  • Encapsulation
  • Elements Of A Class
  • Defining Classes
  • Coding Tips - Class Definitions
  • Fields
  • Defining Fields
  • Coding Tips - Fields
  • Methods
  • Defining Methods
  • Passing Parameters
  • Overloading Methods
  • Coding Tips - Methods
  • Local Variables vs. Instance Variables
  • Example - Defining a Class
  • Example - Fields
  • Example - Defining a Method
  • Example - Calling a Method
  • Summary
 

15. Controlling Code Access and Code Organization

 
  • Objectives
  • Controlling Access
  • Data Hiding
  • Encapsulation
  • JavaBeans
  • Packages
  • Problems Solved With Packages
  • Naming Packages
  • Declaring Packages In Classes
  • Package Access
  • Example - Access Modifiers
  • Import Statement
  • Using Classes From Packages
  • Coding Tips - Import Statements
  • Correlation To File Structure
  • Class Path
  • Java Core Packages
  • Java API Documentation
  • Summary
 

16. Constructors and Class Members

 
  • Objectives
  • Constructors
  • Multiple Constructors
  • Defining Constructors
  • Default Constructor
  • Example - Calling Constructors
  • 'this' Keyword
  • Using 'this' to Call a Constructor
  • Using 'this' to Set a Field
  • Class Members
  • Examples Of Class Members
  • Comparison With Instance Members
  • Use Of Class Variables
  • Static Class Methods
  • Use Of Class Methods
  • Main Method And Command Line Arguments
  • Declaring Constants
  • Coding Tips - Class Members
  • Useful Standard Class Members
  • Initialization Blocks
  • Static Initialization Blocks
  • Summary
 

17. Advanced Control Structures

 
  • Objectives
  • 'switch' Statement
  • Example - switch
  • Switch "Fall Through"
  • 'for' Loop
  • Example - for
  • 'while' Loop
  • Example - while
  • 'do while' Loop
  • Example - do while
  • Break Statement
  • Example - break
  • Labeled Statements
  • Example - Labeled break
  • Continue Statement
  • Example - continue
  • Example - Labeled continue
  • Coding Tips - Control Structures
  • Summary
 

18. Arrays

 
  • Objectives
  • Arrays
  • Declaring Arrays
  • Populating Arrays
  • Accessing Arrays
  • Array Length
  • Coding Tips - Arrays
  • Array References
  • Multidimensional Arrays
  • Arrays Of Arrays
  • Copying Arrays
  • For-Each loop
  • Variable Arguments
  • Variable Arguments Example
  • Summary
 

19. Inheritance

 
  • Objectives
  • Inheritance Is
  • Inheritance Examples
  • Declaring Inheritance
  • Inheritance Hierarchy
  • Access Modifiers Revisited
  • Inherited Members
  • Instances Of A Subclass
  • Example Of Inheritance
  • Role In Reuse
  • The super Keyword
  • Example - super Keyword
  • Problems with Constructors
  • Limiting Subclasses
  • 'set' Methods in Constructors
  • The Object Class
  • Summary
 

20. Exceptions

 
  • Objectives
  • What is an Exception
  • Benefits
  • The Exception Class
  • How to Work With Exceptions
  • Example Exception Handling
  • The try-catch-finally Statement
  • Flow of Program Control
  • Exception Hierarchy
  • Checked Exceptions
  • Unchecked Exceptions
  • Coding Tips - Exception Types
  • Catching Multiple Exceptions
  • Specifying Thrown Exceptions
  • Rethrowing Exceptions
  • Chaining Exceptions
  • Creating your Own Exception
  • Assertions
  • Assertion Example
  • Including the Message
  • Using Assertions
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course
Other Details

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.