Tool Mentor: Identifying Design Elements Using Rational XDE Developer
This tool mentor describes how to perform Identifying Design Elements with Rational XDE Developer.
Tool: Rational XDE Developer
Relationships
Related Elements
Main Description

Overview 

This tool mentor supports Identifying Design Elements with Rational XDE Developer - Java Platform Edition.  

Architecturally significant design elements may be documented in a separate Logical View, that is maintained as design elements are identified. See Rational XDE Model Structure Guidelines.

Identify Events and Signals

The characteristics of events should be captured as needed to drive the identification of the design elements that handle them. This information can be captured informally, such as in a separate document, rather than as part of a Rational XDE model.

Asynchronous communication events can be modeled as signals to express the data that they carry, or to express relationships between signals, such as a generalization relationship. The following substeps describe how to model signals:

  1. Create class diagrams as needed. See helpbook iconAdding Diagrams .
  2. Add signals. See helpbook iconAdding Shapes to Diagrams .
  3. Add a brief description to each design element. See helpbook iconDocumenting Model Elements .
  4. Add generalization relationships between signals, if applicable. See helpbook iconAdding Generalization Relationships .

For more information about class diagrams, see helpbook iconWorking with Class Diagrams . For more information about signals, see helpbook iconSignals .

Identify Classes, Active Classes and Subsystems

Design elements are generally created in the following three ways:

  • modeling (by adding to a class diagram)
  • expanding a pattern
  • coding and reverse engineering

These approaches are explained in the sections that follow.

Expanding a Pattern

You can use design patterns to identify design elements. Reference: helpbook iconImplementing Design Patterns

Identify candidate patterns that may be useful. Refer to the following topics in the Rational XDE online Help:

  • helpbook iconApplying the Gang of Four Sample Patterns
  • helpbook iconStore and Retrieve Patterns
  • helpbook iconPattern Libraries
  • helpbook iconImport Patterns from RAS Assets
  • helpbook iconImport and Export Pattern Libraries
  • helpbook iconApply Patterns

Modeling

Create class diagrams in the Design Model to capture design elements. If you decide to maintain the analysis classes, then you may want to establish traceability dependencies to the analysis classes.

  1. Create class diagrams as needed. See helpbook iconAdding Diagrams .
  2. Add subsystems and classes. See helpbook iconAdding Shapes to Diagrams .
  3. Add a brief description to each design element. See helpbook iconDocumenting Model Elements .
  4. (optional) Add traceability to analysis classes. See helpbook iconAdding Abstraction Relationships .
  5. Organize the design elements into packages. See helpbook iconGrouping Model Elements in Packages . Also refer to the white paper Rational XDE Model Structure Guidelines.

For more information about class diagrams, see helpbook iconWorking with Class Diagrams .

For more information about Java modeling, see the following topics in the Rational XDE online Help:

  • helpbook iconUnderstanding Java Modeling
  • helpbook iconModeling Java Elements
  • helpbook iconModeling JavaBeans
  • helpbook iconModeling EJBs
  • helpbook iconModeling EJB Properties
  • helpbook iconModeling Servlets
  • helpbook iconModeling JavaServer Pages
  • helpbook iconDeveloping HTML Documents

Coding and Reverse Engineering

Another approach is to sketch out the design in code form, reverse engineer it to create a skeletal implementation model, and then drag and drop these classes onto diagrams in the Design Model. Once you have made the decision that a design class will map to an implementation-specific class, this approach has the following advantages:

  • As an optional alternative, a code editor can be used to sketch out interfaces, methods, and attributes using reverse engineering to reflect these elements in the model.
  • Existing code assets can be reverse engineered and contribute to the Design Model.
  • Selected elements can be prototyped to validate a complex concept, while using round-trip engineering to keep those prototypes consistent with the Design Model.

EJBs can be created using J2EE patterns in Rational XDE. Refer to the following topics in the Rational XDE online Help:

To See

Create EJBs

helpbook iconEJB Creation

Create a BMP Entity Bean

helpbook iconCreating BMP Entity Beans

Create a CMP 1.1 Entity Bean

helpbook iconCreating CMP 1.1 Entity Beans

Create a CMP 2.0 Entity Bean

helpbook iconCreating CMP 2.0 Entity Beans

Specify an EJB Primary Key

helpbook iconAdding Primary Keys to Entity Beans

Add a Field to a CMP Entity Bean

helpbook iconAdding Container-Managed Fields to Entity Beans

Create a Stateful Session Bean

helpbook iconCreating Stateful Session Beans

Create a Stateless Session Bean

helpbook iconCreating Stateless Session Beans

Create a Message-Driven Bean

helpbook iconCreating Message-Driven Beans

Create an EJB from an Existing Java Class

helpbook iconCreating EJBs from Existing Classes

Create an EJB's Deployment Descriptor (Without Deploying It)

helpbook iconCreating EJB Deployment Descriptors

For more information, refer to the following topics in Rational XDE online Help:

  • helpbook iconWorking with Class Diagrams
  • helpbook iconModeling Java and Web Applications
  • helpbook iconModeling Java Elements
  • helpbook iconModeling EJBs

Identify Subsystem Interfaces

The following steps apply to large-granularity subsystems (larger than individual EJBs):

  1. For each subsystem, identify a set of candidate interfaces. Add interfaces to an existing class diagram, or create new class diagrams as needed. (See helpbook iconAdding Shapes to Diagrams .)  Make certain that you use the Java tab of the toolbox, rather than the UML toolbox, to add Java-specific elements. 
  2. Add interface dependencies. See helpbook iconAdding Dependency Relationships .
  3. Map subsystems to interfaces by adding a realization relationship from the subsystem to the interface. See helpbook iconAdding Realization Relationships .
  4. Document the interface, including required behavior. See helpbook iconDocumenting Model Elements .
  5. Add methods to the interface. See helpbook iconAdding Operations to Classifiers .
  6. Add a description to each operation. See helpbook iconDocumenting Model Elements .
  7. Add parameters to each method. See helpbook iconAdding Parameters to Operations .
  8. Organize the interfaces into packages. See helpbook iconGrouping Model Elements in Packages .

For EJBs, the following steps apply:

  1. EJB interfaces are generated when the EJB is created, so no separate creation of EJB interfaces is required.
  2. Add interface dependencies. See helpbook iconAdding Dependency Relationships .
  3. Add methods to the interfaces. See helpbook iconAdding Methods to an EJB .
  4. Add a description to each operation. See helpbook iconDocumenting Model Elements .
  5. Add parameters to each operation. See helpbook iconAdding Parameters to Operations .

Identify Capsule Protocols if applicable

Capsule and protocol modeling is not supported by Rational XDE.