Rational Unified Process (RUP)
The Rational Unified Process (RUP) is an iterative, software development methodology, firstly introduced by the Rational Software Corporation which was acquired by IBM in 2003. RUP is a disciplined approach to assign tasks within a development organization and software project teams. It was developed to ensure the production of high quality software by providing the development team with a set of guidelines, templates and tool mentors, for all the critical life-cycle activities within a project. This cluster of objects, form a knowledge base that is shared between all project team members. As a result, no matter what each member is working with (e.g testing, designing, managing), they all share a common language and view on how to develop software. Consequently, team productivity is boosted, in order to deliver software that can meet and exceed the needs and expectations of end-users, strictly following a predictable budget and schedule. RUP is the most popular and extensively documented refinement of the Unified Process, an iterative and incremental software development process framework. Other worth mentioning forms are the OpenUP and Agile Unified Process.
Maybe Mention UML !!!
Contents |
Process Overview
The best possible way to describe this rather complex methodology is through a 2 - dimensional graph.
- The first dimension (horizontal axis) represents the dynamic aspect of the process. It expresses time in terms of cycles, phases, iterations and finally milestones.
- The second dimension (vertical axis) represents the static aspect of the process. It expresses workflows in terms of 6 core and 3 supporting disciplines (more on that on "Disciplines" section).
The Phases
The software lifecycle is the course of life of a software product, which moves through a multistep process from analysis of the system requirements through design, implementation, maintenance and new releases. RUP breaks the software lifecycle down into cycles, each cycle working on a new generation or release of the product. This cycle is then broken into four sequential phases, namely, 1. Inception phase 2. Elaboration phase 3. Construction phase 4. Transition phase Each phase consists of one or more iterations, depending on the kind of project. An iteration is a complete development loop resulting in an executable product release. A phase is completed with a well-defined milestone, as shown in Figure 3-2, to evaluate whether the goals have been achieved, all stakeholders are being considered and the actual expenditures correspond with the planned expenditures.