Page 300 -
P. 300
The activities of RUP are based around the idea of highly iterative development. After an
initial planning phase, the software project enters a cycle of iterations, each of which
results in an executable release. Each of the iterations contains distinct activities for plan-
ning, requirements specification, analysis and design, implementation, testing, and stake-
holder evaluation. The advantage of iteration is that it allows the project team to identify
and correct misunderstandings early on in the project, keep the stakeholders up-to-date
with deliverables to help them gauge the progress of the project, and distribute the
project’s workload more evenly over the course of the project.
RUP includes a disciplined approach to requirements management that is based on the
idea of managing changes. The requirements in RUP are similar to those in Chapter 6.
They include use cases as well as functional and nonfunctional requirements. RUP incor-
porates software design using the Unified Modeling Language (UML), a visual modeling
system for graphically representing the use cases, class model, object interactions, and
components of the software.
One core element of RUP is the continuous assessment of the quality of the system. The
testing activities involve creating test cases based on the functionality introduced in each
iteration. By incorporating testing activities in each iteration, RUP allows the team to iden-
tify defects early, and to continuously assess the health of the product. RUP also has a
clear change control system to ensure that every change is evaluated; measurements of
the rate of software changes are used to assess the status of the project.
One thing that makes RUP unique is that it is a product in addition to a process. RUP is
available from Rational Software, a subsidiary of IBM. An organization licenses RUP from
Rational Software, which keeps the software up to date and provides regular updates to
the process and its documentation.
There are many software packages that go along with RUP. Requirements and use cases
are stored, managed, traced, and edited using the RequisitePro software. Rational Rose, a
UML editing tool, is used to capture and visually model the software architecture. Other
products are used for configuration management (ClearCase), change request manage-
ment (ClearQuest), test case management (TestManager), performance testing (Perfor-
manceStudio), test automation (Rational Robot), and tools to support other areas of the
software process. Each of these products is also available separately, and RUP can be
implemented without these tools. Many organizations license RUP as a complete process
engineering suite. RUP was also built to be adaptable to the needs of individual organiza-
tions; Rational Process Workbench is a tool for customizing and extending RUP to meet
your organization’s needs.
The support tools in RUP are a strong feature. However, they also present a significant pit-
fall. Some project managers feel that they can simply buy their way out of a software pro-
cess problem by buying RUP and distributing it to the team. But while some problems can
292 CHAPTER TWELVE