Concept: Supporting Tools
A software-engineering process is much more effective if there are tools to support the performed activities. This concept page identifies some recommended tools, the disciplines in which the tools can be used, as well as some examples of tools that meet these needs.
Relationships
Related Elements
Main Description

A software-engineering process requires tools to support all activities in a system's lifecycle. An iterative development process puts special requirements on the tool set you use, such as better integration among tools, and round-trip engineering between models and code. You also need tools to automate documentation and, possibly, to automate tests that make regression testing easier. The Rational Unified Process (RUP) can be used with a variety of tools-from Rational or other vendors. However, Rational provides many well-integrated tools that efficiently support the RUP.

Below are listed the tools you will require, the disciplines in which they are used, and some examples of Rational tools that meet these needs.

Supporting Tools

Discipline

Examples of Rational tools

Requirements management

A requirements management tool used to capture, organize, prioritize, and trace all requirements.

Requirements and Business Modeling (if part of the process configuration) 

Rational RequisitePro

Visual modeling

A modeling tool used to develop the various models, such as use-case model and design model. The tool needs to have true round-trip engineering so you can forward-engineer and reverse-engineer code without overriding the changes you've made in the models or code since the last generation.

Requirements, Analysis & Design and Business Modeling (if part of the process configuration)

Rational Rose

Programming

Programming tools used to assist the developers, such as editors, compilers, debuggers, and so on. These should be integrated with the modeling environment and the test environment.

Implementation and Test

Rational Apex/Ada, Rational Apex/C++ (Java ready)

Automated testing

In an iterative development process, you test throughout the lifecycle. It's important that you use test tools to automate testing so that you can easily retest code (regression testing) to minimize resources and maximize quality. More specialized tools allow you to perform load testing.

Test

Rational Robot, Rational TestFactory, Rational PurifyPlus, Rational TestManager

Configuration management

A configuration management tool can help you keep track of all work products produced and their different versions. Models and code, in particular, need to be configuration-managed. Integration of coding environments, modeling tools, and configuration management tools is essential.

Configuration & Change Management

Rational ClearCase

Change management

A change management tool helps you manage change requests. A change management tool helps the project manager organize and prioritize the change requests. Change management is also used to track and follow-up change requests.

Configuration & Change Management

Rational ClearQuest

Project management

Tools for planning and tracking that support the project manager.

Project Management

Documentation

A documentation tool to support the project documentation. You need to extract information from the modeling tool and other sources, such as the code, to create documents that present the models. If you do not have automated document generation, you will most likely have documentation that diverts from your models or no documentation at all. A documentation tool must allow you to manually make changes in a document and to not override these changes when you regenerate the documentation.

All Disciplines 

Rational SoDA/Microsoft® Word®
,
Rational SoDA/Adobe® Frame®

Web authoring

Tools for developing web content, and managing web content. You need to design pages and author the content of the pages. You also need to manage the content of the web, manage hyperlinks, publishing the site, and so on.  Implementation  

Graphics tools

Tools to draw and edit images. Also tools to manipulate and convert images. Graphics are becoming even more important with web technology. Most web pages use more colors, font sizes and graphical layout elements than a typical client/server application.  Implementation