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
|
|
|