# Getting Started

This section introduces Together DOORSIntegration and explains the basic concepts you should understand before you use it:

## What is Together DOORSIntegration?

DOORS is a powerful tool typically used to manage the requirements and use case scenarios for large software development projects.

Together® is a multi-platform middleware system that incorporates UML-compliant OO modeling (analysis and design) functionality. The implementation source code is the repository for the model, and Together keeps the visual model in sync with the source code at all times.

Together DOORSIntegration enables data exchange between DOORS and Together that in turn enables requirements traceability. This means that you can link requirements to the CASE model. And because of Together's unique architecture, it also means that you can establish a direct link from any requirement to the source code that implements it, or vice versa.

### Basic Capabilities

Here is a summary of the functionality of Together DOORSIntegration:

- Establish traceability between your requirements and your software design, thereby improving your development project management.

- Assess how requirement changes will impact your model.

- Identify requirements that are not implemented in the model.

- Find model elements for which there are no requirements.

- Find out which requirements are associated with a specific model element, and vice versa.

- See the source code that implements a requirement, and vice versa, via the synchronized visual model in Together.

- Prove that your design meets your clients' or stakeholders' requirements.

## About the "surrogate module"

With Together DOORSIntegration you can export model elements in a Together model (referred to as a project) to a DOORS project. Elements from Class and Use Case diagrams are currently supported.

Together DOORSIntegration creates a DOORS formal module, called a surrogate module. The surrogate module stores data from the Together model, and enables you to link the requirements in DOORS to the model elements in Together... and via Together, to the implementation source code.

The surrogate module has the same name as the Together project. (Together projects are described by a project file with a .tpr extension.) For each modeling element you export, Together DOORSIntegration creates an object in the DOORS surrogate module. The new object has the following DOORS attributes:

DOORS Attribute | Value
Object Text | The name of the modeling element in the Together project
Together type | The type of the element in the Together project. Currently-supported elements are: class, use case, actor,
Deleted in Together | This attribute is used to keep track of whether the element has been deleted from the Together project. When you first export an element to DOORS, this value defaults to False. If you subsequently delete the element from the Together project, it is reset to True the next time you update the data in DOORS. This enables you to tell what the element was linked to (see “Keeping surrogate modules current” ).
Together ID | A unique identifier assigned by the Together DOORSIntegration export module to the element in the Together project.
Together stereotype | The stereotype of the modeling element in the Together project.
Together Doc | Doc comments associated with the modeling element in the Together project. Export of comments is optional.

### Objects in the surrogate module

The objects in the surrogate module are organized in a hierarchy based on the type of element (See figure below). All use cases are grouped under the UseCase heading, classes are grouped under Class, and so forth. Once you have exported a class from Together to DOORS, you can also export its members (if you add new ones, for example). Each operation and attribute is represented in DOORS as a child of the class object, as shown in the figure.

## How traceability works

A surrogate module is just like any other DOORS formal module... you can link objects to objects in other modules, create your own views, and exploit the full power of DOORS' traceability tools.

With Together DOORSIntegration, you can apply standard DOORS traceability functions to model elements in a Together project. For example, you can use impact analysis to find out which requirements are affected by a specific model element or elements in your Together project, or you can see which requirements are not linked to any model elements in your Together project.

The following picture illustrates that Together DOORSIntegration module acts like a bridge between the model expressed in a Together project, and the DOORS project.

As you can see, you use Together to create a surrogate module in DOORS. You can then establish two-way navigation between the two systems. New model elements added in Together, such as the use case shown above, can be exported to update the surrogate module in the linked DOORS project.

## Keeping surrogate modules current

As you develop or change your model in Together, you should regularly export the changes you make in your Together project back to the surrogate module in DOORS so that the surrogate module stays up to date. This "synchronization" is quite easy to do... you simply run Together's Synchronize module in Doors module from the Together Explorer (see “Updating the surrogate module” ).

If you delete one or more model elements from the Together project, the Deleted in Together attribute of the corresponding DOORS object(s) is set to True the next time you update the surrogate module. That way, you will be able to use DOORS to identify the requirements that were linked to the deleted element(s) and take appropriate action, such as linking such "orphan" requirements back to valid model elements.

### Updating the DOORS modules

As you work on your model in Together, you should regularly send the changes back to the surrogate module in DOORS to keep it up to date (see “Updating the surrogate module” ).

To begin using Together DOORSIntegration, see Using Together DOORSIntegration: What you should do first.