Introduction<br /><ul><li>The Rational Unified Process (RUP) is an iterative software development process framework.
Created by the Rational Software Corporation, a division of IBM since 2003.
RUP is not a single concrete prescriptive process, but rather an adaptable process framework.
Tailored by the development organizations that will select the elements of the process that are appropriate for their needs.</li></li></ul><li>Overview <br /><ul><li>Stands for Rational Unified Process Framework
Provide processes that support object-oriented analysis, design development for new J2EE efforts based on industry standard UML
Well supported by industry leading Rational tools (Rose, RequisitePro)</li></li></ul><li>RUP : A Software Engineering Process<br /><ul><li>Well-defined and well-documented software development process is key to the success of software projects.
CMM (Capability Maturity Model) by the Software Engineering Institute (SEI) has become a beacon.
Theoretical know-how fails to materialize in practice.
Sometimes, there is no process know-how at all.</li></ul>Result : Chaos, Failure, Loss<br /><ul><li>The RUP can help!</li></ul>A mature, rigorous, and flexible software engineering process.<br />
RUP : A Process Product<br />"Software processes are software, too”<br />Software like characteristics of RUP :<br />Designed and documented using the Unified Modeling Language (UML).<br />Delivered online using Web technology<br />Software upgrades are released by Rational Software<br />Modular and in electronic form, it can be tailored<br />Integrated with the many software development tools<br />
RUP : Architecture<br />One development cycle is divided into four consecutive phases.<br /> <br />Inception phase <br />Elaboration phase <br />Construction phase <br />Transition phase <br />Each phase is concluded with a well-defined milestone<br />Each phase has a specific purpose.<br />
RUP : Architecture<br />Inception phase <br />A vision document<br />An initial use-case model <br />An initial project glossary <br />An initial business case<br />An initial risk assessment<br />A project plan, showing phases and iterations.<br />A business model<br />Project milestone: The Lifecycle Objectives Milestone<br />
RUP : Architecture<br />Elaboration phase<br />A use-case model (at least 80% complete)<br />Supplementary requirements (non functional requirements)<br />A Software Architecture Description. <br />An executable architectural prototype. <br />A revised risk list and a revised business case. <br />A development plan for the overall project<br />An updated development case specifying the process to be used. <br />A preliminary user manual (optional). <br />Project milestone: The Lifecycle Architecture Milestone<br />
RUP : Architecture<br />Construction Phase<br />The software product integrated on the adequate platforms. <br />The user manuals. <br />A description of the current release. <br />Project Milestone : Initial Operational Capability<br />
RUP : Architecture<br />Transition Phase<br />“Beta testing” to validate the new system against user expectations <br />Parallel operation with a legacy system that it is replacing <br />conversion of operational databases <br />Training of users and maintainers <br />Roll-out the product to the marketing, distribution, and sales teams<br />Project milestone: The Product Release Milestone <br />
Iterative Approach<br /> <br />Compared to the traditional waterfall process, the iterative process has the following advantages:<br /> <br /><ul><li>Risks are mitigated earlier
Systems integrators</li></li></ul><li> References:<br />Rational Unified Process 2000, Rational Software, Cupertino, CA (2000) http://www.rational.com/rup<br /> Philippe Kruchten, The Rational Unified Process -- An Introduction, 2nd ed., Addison-Wesley-Longman, Reading, MA (2000).<br />http://www.ayeshakhanna.com/2006/10/rational_unified_process.html<br />