Rational Unified Process (RUP)

From apppm
(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
  
 
[[File:RUP.png|450px|right|thumb| The iterative model graph shows how the process is structured along two dimensions]]
 
[[File:RUP.png|450px|right|thumb| The iterative model graph shows how the process is structured along two dimensions]]
[[File:RUP_phases.png|450px|right|thumb| The iterative model graph shows how the process is structured along two dimensions]]
+
[[File:RUP_phases.png|550px|right|thumb| The iterative model graph shows how the process is structured along two dimensions]]
 
The best possible way to describe this rather complex methodology is through a 2 - dimensional graph.
 
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 first dimension (horizontal axis) represents the '''dynamic aspect''' of the process. It expresses '''time''' in terms of cycles, phases, iterations and finally milestones.  

Revision as of 16:56, 19 September 2015

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 iterative model graph shows how the process is structured along two dimensions
The iterative model graph shows how the process is structured along two dimensions

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

When developing software, the project team goes through a multi-step process, from establishing a system's requirements to designing, implementing and finally maintaining the software with new releases. This is the software life cycle. RUP delicately breaks the software life cycle down to four consecutive phases.

  • Inception phase
  • Elaboration phase
  • Construction phase
  • Transition phase

Depending on the project, each of these phases can consist of one to a number of iterations. An iteration is defined as a complete development loop, resulting in a new product release. All the phases include a well-defined milestone, in order to be completed. In the end of every phase, the development team can evaluate whether all the key goals have been achieved, all stakeholders have been considered and the actual expenditures correspond with the planned ones.

Inception Phase

Elaboration Phase

Construction

Transition Phase

Workflow

Disciplines

Business Modelling

Requirements

Analysis and Design

Implementation

Test

Deployment

Ten Essentials

Vision

Plan

Risks

Issues

Business Case

Architecture

Product

Evaluation

Change Requests

User Support

Best Practices

Develop Software iteratively

Manage requirements

Use component-based architectures

Visually model software

Continuously verify software quality

Control changes to software

Limitations

Conclusion

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox