Rup

36
Rational Unified Process Rational Unified Process Preeti Mishra Course Incharge

Transcript of Rup

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!