-nikhil bhatia 28 th october 2009. what is rup? central elements of rup project lifecycle phases six...

23
-Nikhil Bhatia 28 th October 2009

Upload: quentin-norton

Post on 27-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

-Nikhil Bhatia28th October 2009

Page 2: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

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

Page 3: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 4: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 5: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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.

Page 6: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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 modelsWithin each iteration, the tasks are categorized into nine disciplines: six engineering disciplines and three supporting disciplines

Page 7: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

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

Page 8: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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.

Page 9: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 10: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 11: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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.

Page 12: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 13: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 14: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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.

Page 15: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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.

Page 16: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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.

Page 17: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines
Page 18: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

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

Page 19: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

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

Page 20: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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

Page 21: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

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

• The Six Engineering Disciplines• Three supporting disciplines• Common Problems solved by RUP

Page 22: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines

• 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/library/content/03July/1000/1251/1251_bestpractices_TP026B.pdf

Page 23: -Nikhil Bhatia 28 th October 2009. What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines