[ home > services > Rational Software Curriculums > RationalTraining::OOAD-Supplementary ]

 

DEV475-Mastering Object-Oriented Analysis and Design with UML 2.0 using IBM Rational Software Architect v6.0 for J2EE development

Supplementary Training Curriculum Notes

Course Code : RD601-DEV475
Skill Level : Intermediate to Advanced
Duration : 5 Days
Delivery Type : Classroom with Hands-on labs exercises

Course Description

Mastering Object-Oriented Analysis and Design with Unified Modeling Language (OOAD/UML) 2.0 presents the concepts, techniques and process to effectively build the software architecture. The standard curriculum from IBM stops at the concepts of modeling without much details in the practical approach in a development environment. We, however, extends beyond the course curriculum prescription by showing the techniques to model the application development in the J2EE development environment using IBM Rational Software Architect version 6.0 (RSA).

This makes the training course an intensive hands-on workshop in which the instructor will supply a "step-by-step" printed supplementary exercises to guide the participants in building the model and transforming the models into Java source codes. The exercises cover the basics of modeling, which includes the new UML 2.0 notations. The modeling techniques are demonstrated using the given templates from the RSA. The instructor will demonstrate how to model the Persistency JDBC Mechanisms version 1.4 using the Datasource factory objects.

For participants familiar with IBM Rational Rose, using RSA to model your software architecture is a great leap forward. This is especially valuable if you are targeting the J2EE development using the latest technology in JSP, Servlet, Struts, JSF and the Datasource connection. All of these, together with the IBM WebSphere Application Server (WAS) version 6.0 Integrated Testing Environment, are available in the IBM RSA version 6.0.

 

Learning Experience

Using the RSA, students will be developing a complete set of models based on the standard UML version 2.0. The architecture is based on a set of "given" requirements provided to you during the training. Instructor will provide a "step-by-step" supplementary exercises to guide students to work with the requirements, and model the requirements using RSA. In this process, students will learn the followings:

  • Object-Oriented Concepts. Design principles, such as Abstraction, Hierarchy, Polymorphisms and Modularity will be introduced. The concepts cover the structural elements that make up the overal Object-Oriented concepts. The concepts and structural elements usage will be shown and represented by the UML notations.
  • Use Case modeling. Introduces Requirement Management and how documents are structured from the high-level requirements to the low-level requirements. Students will be introduced to Use Case Requirement Document which details the step-by-step description of the flow of events. The requirement forms the basis of the architecture which is also known as "Use Case Driven Architecture".
  • Architecture analysis and design. Software architecture analysis forms the structure needed to support the system complexity as new functionalities are added in an iterative development process. Architecture design provides the building blocks taking into the Object Oriented design principles consideration to create a resilient and robust system architecture.
  • Use Case analysis and design. In a use case driven architecture, use cases provide the behaviors for the building blocks, and how the building blocks are grouped into appropriate level of details. In Use Case analysis, participants learn how to model a high-level sequence diagram using appropriate analysis classes (boundary, control and entity). In Use Case design, analysis classes are grouped according to the functionality, which provides the foundation for the impelementation.
  • Persistency JDBC Mechanisms and Patterns. Use cases are further refined to include mechanisms for back-end database access. In a typcial J2EE development, architect must determine the front-end interactions (responding to users´ requests) using the current web technology; and at the same time, determine the best approach for the back-end database connection. Architect must set the ground-rule for the interactions between the front-end and the back-end using standard mechanisms and patterns
  • IBM Rational Software Architect ver.6.0. Learn to use RSA staring from the modeling perspective all the way to the Enterprise Application and Dynamic Web perspectives. RSA is a powerful tool for the transformation of the model elements into Java codes. You will be learning the coding techniques to complement the coding transformation, and using the facilities / features to speed up the coding process which will update the model continuously.

 

Learning Objectives

Participants are expected to understand the step-by-step processes to building a resilient and robust architecture. At the end of the course, participants will be able to construct an architecture from a set of use case specification documents. The "step-by-step" supplementary exercises, together with the given source codes (Java Helper Classes) will provide a foundation for the participant to start working on a new assignment J2EE project using the Object Oriented Analysis and Design process with RAS. Other objectives include the followings:

  • Learn to build a use-case driven architecture starting from reading the textual requirements; modeling the requirements using the sequence diagram; communication and the association of classes.
  • Use UML 2.0 for the sequence and communication diagrams; class diagrams and the associations; component, deployment and activity diagrams.
  • Use the templates provided by RSA (for Use Case, Analysis, and Enterprise IT Design Model) to create the architecture which is targeted for the J2EE development environment.
  • Describe the Persistency JDBC mechanisms (initialize, read, update, insert, delete) that utilizes DataSource connection.
  • Master the RSA for your development environment, which includes all of the perspectives (Modeling, Java, Web, J2EE) and views (such as Wizards, Views, Code Editor, etc.) for a complete J2EE development.

 

Topics Covered

Topics Exercises
About This Course
Best Practices of Software Development
Concepts of Object Orientation
Familiarity with RSA:
  Modeling Perspective
  Create a new workspace
  Preferences
  Views
Requirements
Modeling the Requirements using RSA:
  Create UML Project
  Create a new Use Case Model
  Create Use Cases and Actors
  Modeling the Use Cases and Actors
Overview of Analysis & Design
Architectural Analysis
Creating the Architecture using RSA:
  Create a new Analysis Model
  Define Key Abstractions
  Define the Architecture Layers
  Create Functional Areas
Use Case Analysis
Modeling the Use Case:
  Realizing the Use Cases
  Modeling the interactions, using:
  Sequence Diagram
  Communication Diagram
  Participants Diagram
  Overview Diagram
Describe Design Elements
Identify Design Elements:
  Create Enterprise IT Design Model
  Identify Classes and Subsystems
  Analysis Class Filtering and Merging
  Specify Attributes and the Types
  Identify Subsystem Interfaces
Describe Design Mechanisms
Implementation Model for the Design Mechanisms:
  Create Supporting Packages and Classes
  Create the Sequence and Communication Diagrams
  Create RDBMS ­ JDBC Participant Diagram
Implementing the Mechanisms ­ Servlet
  Create a New Java Project
  Configure Transformation
  UML to Java Transformation
Create Enterprise Application Project
  Transforming LoginForm to Servlet
  Servlet and Servlet Mapping
  Testing the Servlet
Describe Runtime Architecture
Create a Deployment Model:
  Deployment Configuration for Production and Test
  Specify the J2EE Artifacts for Deployment
Use Case Design
Use Case Model Refinement:
  Create a Proxy Class
  Import Java Helper Classes
  Use Case Refinements ­ Sequence Diagram
  Use Case Refinements ­ Class Diagram
Implementing the Persistency ­ JDBC Mechanism:
  Persistency JDBC Initialization
  Persistency JDBC findById (Read)
  Updating the Persistency ­ JDBC Mechanism Class Diagram
  Completing the Servlet and JSP
Subsystem Design
Modeling Convention for Subsystems:
  Subsystem Definition and Documentation
  Interface Realization
  Subsystem and Dependencies
Class Design
Participants Diagram Refinements:
  Attributes, Operations and Signatures
  Attributes and Operations Scope
  Create a New State Machine Diagram
  Activity Diagram
Database Design
Using Database Facility in RSA:
  Create a New Database Project
  Create a New Connection to the Database
  View Database Tables
  Create a New Database Schema
  Populate Database Tables
  Create IDEF1X Diagram

 

Suggested For

If you are a developer wanting to learn software architecture, this course is definitely for you. As a matter of fact, anyone with a programming background (with Java experience preferably), will be able to get the most out of this course. However, Java programming experience may be obatained by running the exercises provided by: The Java Tutorials - http://java.sun.com/docs/books/tutorial/

Understanding of the J2EE technology is not mandatory. But, if you would like to get yourself familiar with the J2EE technology, work on some of the tutorials provided by: The Java EE Tutorial - http://java.sun.com/javaee/5/docs/tutorial/doc/