RUP: Rational Unified Process

Profile picture for user devraj

Rational Unified Process (RUP) is an iterative software development process from Rational Software Corporation, a division of IBM since 2003.

The Rational Unified Process is based on a few fundamental ideas, such as the phases of development and the building blocks, which define who, what, when, and how development will take place. 

Rational Unified Process is a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. 

RUP building blocks

The main building blocks, or content elements, are the following:

Roles (who): A role defines a set of related skills, competencies and responsibilities.
Work products (what): A work product represents something resulting from a task, including all the documents and models produced while working through the process.
Tasks (how): A task describes a unit of work assigned to a Role that provides a meaningful result. The tasks are categorised into 9 disciplines:

Six "engineering disciplines"

1. Business modelling
2. Requirements
3. Analysis and design
4. Implementation
5. Test
6. Deployment

Three supporting disciplines

7. Configuration and change management
8. Project management
9. Environment

RUP project life-cycle phases

Based on UML, RUP organises the development of software into four phases, each consisting of one or more executable iterations of the software at that stage of development.

1. Inception: In this stage, the project's business case is stated and the team decides if the project is worth doing or if it is even possible and what resources will be needed.
2. Elaboration: In this stage, the developers take a closer look at the project to determine its architecture foundation and to evaluate the architecture in relation to the project.
3. Construction: The project is developed and completed. The software is designed, written, and tested.
4. Transition: The software is released to the public. Final adjustments or updates are made based on feedback from end users.