What is RUP Central Elements of RUP Project

  • Slides: 23
Download presentation

 • • • What is RUP? Central Elements of RUP Project Lifecycle Phases

• • • What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines Common Problems solved by RUP

 • The Rational Unified Process (RUP) is an iterative software development process framework

• The Rational Unified Process (RUP) is an iterative software development process framework created by Rational Software Corporation • RUP is not a single concrete process, but rather an adaptable process framework intended to be tailored by development organizations and software teams. • It states that its heart is about successful software development

 • RUP provides a disciplined approach to assigning tasks and responsibly within a

• RUP provides a disciplined approach to assigning tasks and responsibly within a development organization. • Its goal is to ensure the production of a high quality software that meets the need of its end user within a predictable schedule and budget • RUP provides each team with member with the guidelines, templates and tool mentors necessary for the entire team to take advantage of the available resources

 • An underlying set of philosophies and practices for successful software development. These

• An underlying set of philosophies and practices for successful software development. These core practices and philosophies are the foundation of RUP. • A process model and associated content library. The RUP model and content library define the base RUP software engineering framework to create process configurations • The underlying process definition language. The process meta model provides a language of process definition elements for describing software engineering processes.

 • RUP is based on a set of building blocks or content elements

• RUP is based on a set of building blocks or content elements that describe what need to be produced and necessary skills required to achieve a goal. The content elements are: • Roles (who): A set of related skills and responsibility • Task (How): A unit of work assigned to a Role • Work Product(What): Result of a task including documents and models Within each iteration, the tasks are categorized into nine disciplines: six engineering disciplines and three supporting disciplines

 • • The RUP has determined a project lifecycle consisting of four phases.

• • The RUP has determined a project lifecycle consisting of four phases. These phases allow the process to be presented as a waterfall project on a high level. These phases are: Inception Phase Elaboration Phase Construction Phase Transition Phase

 • Business case including business context, success factors and financial forecast established. •

• Business case including business context, success factors and financial forecast established. • To complement business case, use case model, project plan, initial risk assessment and project description generated. • These checked against various criteria • If project doesn’t pass this milestone (Lifecycle Objective Milestone) it is either cancelled or phase is repeated. • Primary objective: scope system properly to validate initial cost and budget.

 • Analysis of the project is made during this phase and the architecture

• Analysis of the project is made during this phase and the architecture of the project gets its basic form • Following criteria must be met to pass Lifecycle Architecture Milestone: • • Use case model 80% complete Description of software architecture Revised business case and risk list Development plan for the overall project • If project doesn’t pass milestone, it can still be redesigned or cancelled

 • Beginning of high risk operations where changes made are much more difficult

• Beginning of high risk operations where changes made are much more difficult and detrimental • Main focus to development of components and other features of the system being designed • Bulk of the coding takes place in this phase • Several iterations may be released to make use cases more manageable • End of phase produces first external software release marked by Initial Operational Capability Milestone

 • Primary objective to transition from development to production • End users, beta

• Primary objective to transition from development to production • End users, beta testers and maintainers are trained to validate end user expectations • Product checked against the quality level set during Inception Phase. • Once all objectives are met, the entire development cycle ends.

 • Business Modeling Discipline: As organizations become more IT dependant, developers need to

• Business Modeling Discipline: As organizations become more IT dependant, developers need to know how applications they create fit in the business space. Business Modeling aims to establish a better understanding and communications channel between business and software engineering. • Requirement Discipline: This explains how to transform stakeholder requests into work product requirements that demonstrate the scope of system being built

 • Analysis and Design Discipline: Shows how system is realized. Aim to build

• Analysis and Design Discipline: Shows how system is realized. Aim to build a system that performs all tasks and can be changed easily. The design model also acts as a ‘blueprint’ of how source code is structured. • Implementation Discipline: Purpose of implementation is to define organization of system in terms of subsystems , to implement all classes and objects in terms of component, to test developed components as units and to integrate individual systems into executable systems

 • Test Disciplines: The purpose of this discipline is to verify interaction between

• Test Disciplines: The purpose of this discipline is to verify interaction between objects and components, verify that all requirements have been met, to identify and address all defects. • Deployment Discipline: The purpose of this is to successfully produce product releases and then deliver the software to its end users. All the deployment activities are centered around the transition phase.

 • Environment Discipline: This discipline focuses on the activities necessary to configure the

• Environment Discipline: This discipline focuses on the activities necessary to configure the process for a project. The purpose is to provide a software development organization with the available environment and tools that support the development team. • Configuration and Change management Discipline: Deals with three specific areas which are configuration management, change request management and Status and measurement management.

 • Project Management Discipline: This discipline focuses mainly on the Risk Management •

• Project Management Discipline: This discipline focuses mainly on the Risk Management • This discipline occurs at two levels. The first level is called the Phase plan which focuses on the entire project with a series of fine grained Iteration plans. • RUP doesn’t attempt to cover all aspects of project management such as Managing people, budget, contracts etc.

There are many problems that this process solution and toolset can solve. Some of

There are many problems that this process solution and toolset can solve. Some of the more frequent problems are: • Multiple software development processes and Development Tools • Complex software development • No time for end users • Selling ideas to Executive Management • Creating awareness and excitement

The best software practices according to RUP: • • • Develop software iteratively Manage

The best software practices according to RUP: • • • Develop software iteratively Manage requirements Employ a component based architecture Visually model software Continually verify software quality Control all changes to software

 • Rational Unified Process (RUP) is an iterative software development process framework created

• Rational Unified Process (RUP) is an iterative software development process framework created by Rational Software Corporation • The Central Elements of RUP – Underlying set of Philosophies – A Process Model and associated library – The underlying process definition language • Various Building Blocks of RUP

 • Project Lifecycle Phases – – Inception Phase Elaborate Phase Construction Phase Transition

• Project Lifecycle Phases – – Inception Phase Elaborate Phase Construction Phase Transition Phase • The Six Engineering Disciplines • Three supporting disciplines • Common Problems solved by RUP

 • Barnes, J. (2008). Implementing the IBM Rational Unified Process and Solutions. New

• Barnes, J. (2008). Implementing the IBM Rational Unified Process and Solutions. New Jersey: IBM Press. • Rational. (2005, July 23). Rational Unified Process: Best Practices for Software development Teams. Retrieved October 26, 2009, from IBM: http: //www. ibm. com/developerworks/rational/libr ary/content/03 July/1000/1251_bestpractice s_TP 026 B. pdf