Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Concepts: Supporting Tools

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 ToolsDisciplineExamples of Rational tools
Requirements managementA requirements management tool used to capture, organize, prioritize, and trace all requirements.Requirements and Business ModelingRational RequisitePro
Visual modelingA 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 ModelingRational Rose
ProgrammingProgramming 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 TestRational Apex/Ada, Rational Apex/C++ (Java ready)
Automated testingIn 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 managementA configuration management tool can help you keep track of all artifacts 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 ManagementRational ClearCase
Change managementA 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 ManagementRational ClearQuest
Project managementTools for planning and tracking that support the project manager.Project management
DocumentationA 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 disciplinesRational SoDA/Microsoft® Word® and Rational SoDA/Adobe® Frame®
Web authoringTools 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 toolsTools 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