rup

36
Rational Unified Process Rational Unified Process Preeti Mishra Course Incharge

Upload: preeti-mishra

Post on 17-Jul-2015

94 views

Category:

Software


3 download

TRANSCRIPT

Rational Unified ProcessRational Unified Process

Preeti MishraCourse Incharge

Designer Analyst Tester

Architect

Tool

Specialist

Developer

Project Management

CS427 2-3

Rational Unified Process (RUP)

• Iterative• Incremental• Object oriented (OO)• Commercial, popular• Developed by Rational Software, now

IBM

Best practices in RUP

• Develop software iteratively• Manage requirements• Use component-based architectures• Visually model software• Verify software quality• Control changes to software

4

CS427 2-5

Components of RUP

• Artifacts – what– Things people make

• Roles – who– Roles people take

• Activities – how– Tasks people do

• Workflows – when– Order of steps people follow

Artifact

– Artifacts are either final or intermediate work products that are produced and used during a project.

– Artifacts are used to capture and convey project information.

– An artifact can be any of the following:• A document, such as Business Case or Software Architecture

Document• A model, such as the Use-Case Model or the Design Model• A model element; that is, an element within a model, such as a

class, or a subsystem

CS427 2-7

Artifacts

• Vision statement• Iteration plan• Use-case model (UML)• Software architecture document (UML)• Design model (UML)• Component• Integration build plan• …

CS427 2-8

Roles

• Project manager• Architect• Systems analyst• Use-case specifier• Designer• Implementer• Tester• Configuration and change manager• …

CS427 2-9

Kinds of roles

• Manager• Architect (technical lead)• Business experts

– Systems analyst, use case specifier• Developers

– Designer, developer, tester, CM manager

CS427 2-10

Activities

• Plan subsystem integration• Implement classes• Fix a defect• Perform a unit test• Review code• Integrate subsystem• …

What is a workflow?

• A set of activities that is performed by the various roles in a project

• Describes a meaningful sequence of activities that produce a useful result (an artifact)

• Shows interaction between roles

CS427 2-12

Workflows

• Project management • Business modeling• Requirements• Analysis and design• Implementation• Test• Configuration and change management• Deployment• Environment

CS427 2-13

Implementation workflow

A r c h i t e c t

S y s t e m I n t e g r a t o r

I m p l e m e n t o r

C o d e r e v i e w e r

P l a n S y s t e mI n t e g r a t i o n

D e f i n eO r g a n i z a t i o n

o f S u b s y s t e m

P l a nS u b s y s t e mI n t e g r a t i o n

I m p l e m e n tC l a s s e s

F i x a d e f e c t

P e r f o r m U n i tT e s t

R e v i e w c o d e

I n t e g r a t es u b s y s t e m

I n t e g r a t es y s t e m

CS427 2-14

Four phases• Inception

– Get the idea, initial planning• Elaboration

– Create the architecture – Build skeleton system– Detailed planning

• Construction– Build the rest of the system

• Transition

Inception Goals

• Establishing the project's software scope and boundary conditions, including:– an operational vision– acceptance criteria– what is intended to be in the product – what is not.

• Discriminating – the critical use cases of the system– the primary scenarios of operation that will drive the major

design trade-offs.

Inception Goals (Cont.)

• Estimating – the overall cost – and schedule for the entire project – and more detailed estimates for the

elaboration phase that will immediately follow• Estimating potential risks (the sources of

unpredictability) • Preparing the supporting environment for

the project.

Inception Essential Activities

• Formulating the scope of the project. • Planning and preparing a business

case. • Synthesizing a candidate

architecture.• Preparing the environment for the

project.• …

Inception Artifacts

• Vision: The project's core requirements, key features, and main constraints are documented. Stakeholders …

• Glossary: defines important terms used by the project. • Business Case: provides the necessary information

from a business standpoint to determine whether or not this project is worth investing in.

• Software Development Plan: all information required to manage the project. (Risk, time and durations, needed tools, changes, documentations)

• Use-case model: a model of the system's intended functions and its environment, and serves as a contract between the customer and the developers.

Elaboration Goals (Cont.)

• To produce an evolutionary prototype• Verify baseline architecture

– Demonstrate that the architecture will support requirements of the system at a reasonable cost and time.

• To establish a supporting environment.

Elaboration Activities

• Defining, validating the baseline architecture.

• Refining the Vision.• Creating detail of iteration plans for the

construction phase. • Refining the development case and putting in

place the development environment• Refining the architecture and selecting

components.

Elaboration Artifacts

• Software Architecture Document: provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system.

• Prototypes: One or more executable architectural prototypes have been created to explore critical functionality and architecturally significant scenarios.

• Design model: an object model describing the realization of use cases, and serves as an abstraction of the implementation model and its source code.

• Data model: a subset of the implementation model which describes the logical and physical representation of persistent data in the system.

• Testing Mechanisms and refining previous Iteration’s artifacts.

Construction Goals

• Completing the analysis, design, development and testing of all required functionality.

• Achieving useful versions (alpha, beta, and other test releases)

• Achieving adequate quality as rapidly as practical • To decide if the software, the sites, and the users

are all ready for the application to be deployed. • Minimizing development costs by optimizing

resources and avoiding unnecessary scrap and rework.

• To achieve some degree of parallelism in the work of development teams. 

Construction Activities

• Resource management, control and process optimization

• Complete component development and testing against the defined evaluation criteria

• Assessment of product releases against acceptance criteria for the vision.

Construction Artifacts

• The System: The executable system itself, ready to begin "beta" testing.

• Training materials: the material that is used in training programs or courses to assist the end-users with product use, operation and/or maintenance.

• Testing results and refining previous Iteration’s artifacts.

Transition Goals

• Beta testing to validate the new system against user expectations

• Beta testing and parallel operation relative to a legacy system that it's replacing

• Training of users and maintainers • Roll-out to the marketing, distribution and

sales forces • Tuning activities such as bug fixing,

enhancement for performance and usability

Transition Goals (Cont.)

• Achieving user self-supportability • Achieving stakeholder concurrence

that deployment baselines are complete

Transition Activities

• Executing deployment plans • Finalizing end-user support material • Testing the deliverable product at the

development site • Creating a product release • Getting user feedback • Fine-tuning the product based on feedback • Making the product available to end users

Transition Artifacts

• Product.• Release Notes: identify changes and known bugs in a

version of a build or deployment unit that has been made available for use.

• Installation Artifacts: refer to the software and documented instructions required to install the product.

• End-User Support Material: Materials that assist the end-user in learning, using, operating and maintaining the product.

• Testing results and refining previous Iteration’s artifacts.

CS427 2-29

Iterations

Preliminary It. Iter. 1 Iter. 2 Iter. 3 Iter. 7 Iter. 8 Iter. 9

ElaborationInception Construction Transition

Rational Unified Process (RUP)

Project ManagementEnvironment

Supporting WorkflowsConfiguration & Change Mgmt

Business Modeling

Implementation

Test

Analysis & Design

Process Workflows

Deployment

Requirements

Preliminary Iteration(s)

Iter.#1

Phases

Iterations

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Elaboration TransitionInception Construction

time

con

ten

t

CS427 2-32

Iteration plan

• What are we going to do this iteration?

• Who is going to do it?• What order are we going to do it?• Do we have enough resources?

CS427 2-33

An iteration workflow

• Each iteration uses some of the standard workflows– Requirements, design, implementation,

test• Workflows can run in parallel• Early iterations

– Much project management– Much business modeling– Little implementation

CS427 2-34

Architecture

• Describes components and connections

• Component is system/subsystem• Architect responsible for

architecture• Developers responsible for

components• Elaboration phase writes code for

the architecture

CS427 2-35

Summary of RUP principles

• Develop software iteratively• Manage requirements• Use component-based architectures• Visually model software• Verify software quality• Control changes to software

CS427 2-36

RUP is a framework

• Complicated process• Framework - you are not expected to

do everything• Don’t focus so much on the process

that you forget the product!