What
is the Rational Unified Process?
The Rational Unified Process is a Software Engineering Process. It provides a
disciplined approach to assigning tasks and responsibilities within a development
organization. Its goal is to ensure the production of high-quality software that meets the
needs of its end users, within a predictable schedule and budget. The Rational Unified
Process captures many of the best practices in modern software development in a form that
can be tailorable for a wide range of projects and organizations.
The Rational Unified Process is an iterative process. Given today's
sophisticated software systems, it is not possible to sequentially first define the entire
problem, design the entire solution, build the software, and finally test the product. An
iterative approach is required that allows an increasing understanding of the problem
through successive refinements, and to incrementally grow an effective solution over
multiple iterations. This approach gives better flexibility in accommodating new
requirements or tactical changes in business objectives, and allows the project to identify
and resolve risks earlier.
The Rational Unified Process is a controlled process. This iterative
approach is only possible however through very careful requirements management,
and change control to ensure at every point in time a common
understanding of the expected functionality, the expected level of quality, and to allow a
better control of the associated costs and schedules.
Activities of the Rational Unified Process create and maintain models.
Rather than focusing on producing large amounts of paper documents, the Rational Unified
Process emphasizes the development and maintenance of models - semantically rich
representations of the software system under development.
The Rational Unified Process focuses on early development and baselining of a robust
software architecture, which facilitates parallel development, minimizes
rework, increases reusability and maintainability. This architecture is used to plan and
manage the development around the use of software components.
Development activities of the Rational Unified Process are driven by use cases.
The notion of use cases, and scenarios drive the process flow from business modeling and
requirements through testing, and provides coherent and traceable threads through both the
development and the delivered system.
The Rational Unified Process supports object-oriented techniques.
Several of the models are object-oriented models, based on the concepts of objects,
classes, and associations between them. These models, like many other technical artifacts,
use the Unified Modeling Language (UML) as the common notation.
The Rational Unified Process supports component-based software development.
Components are nontrivial modules, subsystems that fulfill a clear function, and that can
be assembled in a well-defined architecture, either ad hoc, or some component
infrastructure such as the Internet, CORBA, COM/DCOM, for which an industry of reusable
components is emerging.
The Rational Unified Process is a configurable process. No single
process is suitable for all software development. The Rational Unified Process fits small
development teams, as well as large development organizations. The Rational Unified
Process is founded on a simple and clear process architecture that provides commonality
across a family of processes, and yet can be varied to accommodate different situations.
It contains guidance on how to configure the process to suit the needs of a given
organization.
The Rational Unified Process encourages objective on-going quality control.
Quality assessment is built into the process, in all activities, involving all
participants, using objective measurements and criteria, and not treated as an
afterthought, or a separate activity performed by a separate group.
The Rational Unified Process is supported by tools that automate large
parts of the process. They are used to create and maintain the various artifacts - models
in particular - of the software engineering process: visual modeling, programming,
testing, and so on. They are invaluable in supporting all the bookkeeping associated with
the change management, as well as the configuration management that accompanies each
iteration.
Back to the top 
|