• No results found

Rational Unified Process – Part 2

N/A
N/A
Protected

Academic year: 2021

Share "Rational Unified Process – Part 2"

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 1 /26

Rational Unified Process – Part 2

Original slides modified for Original slides modified for

instructional purposes.

instructional purposes.

Originally designed by Rational Originally designed by Rational

Software Corporation

Software Corporation

(2)

Unified Software Practices v 5.0-D

/26 Chapter 2 Text

Introduction to Rational Unified Process - Continued

CONTINUE to read the RUP, third edition, especially chapters 3-6

I assume you have very carefully read chapters 1 and 2 at a minimum.

(3)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 3 /26

Inception

Inception ElaborationElaboration ConstructionConstruction TransitionTransition

Process Architecture - Lifecycle Phases

The Rational Unified Process has four phases:

The Rational Unified Process has four phases:

 Inception - Define the scope of project

• What is included; what is not;

• identify all actors and use cases;

• draft about 20% of essential use cases;

• High level identification.

• Lots of artifacts: Business Rules, Vision, desired Features, Domain Model, costs, schedule, Risk List, Business modeling, and more)

 Elaboration - Plan project, Specify features,

• Baseline Architecture;

• Have about 80% of essential requirements identified;

• Good grasp of requirements and architecture.

• Reduce risk.

• Most key analysis and design done. (often a couple of iterations…) time

(4)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 4 /26

Inception

Inception ElaborationElaboration ConstructionConstruction TransitionTransition

Process Architecture - Lifecycle Phases

The Rational Unified Process has four phases:

The Rational Unified Process has four phases:

 Construction - Build the product via several iterations;

up to beta release;

• Essentially more design, programming and unit test;

• iterations;

• assessment, …

• Several iterations – all time-boxed…

• Is product ready for beta testing, training, captured all functionality, etc.??

 Transition –

• Transition the product to end user community;

• end-user training and support;

• installation, etc.

• (Here again, lots of activities: clean up, plan next evolution?? etc.)

• Product deployed at end of Transition.

time

(5)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 5 /26

5

inc. elaboration construction transition

iteration phase

development cycle

release

A stable executable subset of the final product. The end of each iteration is a minor release.

increment The difference (delta) between the releases of 2

subsequent iterations.

final production release

At this point, the system is released for production use.

milestone An iteration end- point when some significant decision or evaluation

occurs.

UP Phases Overview – key elements within development.

(6)

Unified Software Practices v 5.0-D

/26

Number of Iterations?

 Amount of time spent in each varies; Amount of time spent in each varies;

sometimes 3-5 iterations in construction;

sometimes 3-5 iterations in construction;

 Inception – usually ‘none’ or one Inception – usually ‘none’ or one

 Elaboration – often two; may be more. Elaboration – often two; may be more.

Can be very complex.

Can be very complex.

 Most practitioners suggest six plus or Most practitioners suggest six plus or minus three iterations!

minus three iterations!

(7)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 7 /26

Inception

Inception ElaborationElaboration ConstructionConstruction TransitionTransition

Phase Boundaries Mark Major Milestones

Lifecycle Objective Milestone

Lifecycle Architecture

Milestone

Initial Operational Capability

Milestone

Product Release time

At each of the major milestones, the project is reviewed and a decision made as to whether to proceed with the project as planned, to abort the project, or to revise it.

The criteria used to make this decision vary by phase.

These are indeed MAJOR milestones!

Lots of evaluation criteria as we move from phase to phase… (next overhead.)

Note the titles of the Milestones.

(8)

Unified Software Practices v 5.0-D

/26

Major Milestones – Evaluation Criteria (at end of phase)

 I I nception phase nception phase (LCO – Life Cycle Objective Milestone (LCO – Life Cycle Objective Milestone ) ) include:

include:

 Stakeholder concurrence on scope definition and cost/schedule estimates;

 Business Model, business vision, and related business / domain related documents developed and verified.

 Requirements understanding as evidenced by the fidelity of the primary Use-Cases of new application; Very high level.

 Credibility of cost/schedule estimates, priorities, risks, and development process;

 Clear vision of project

 Depth and breadth of architectural prototype; High level.

 Perhaps some basic modeling… actual expenditures versus planned expenditures

 All stakeholders ‘on same page.’

 Go - No-go decision.

(9)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 9 /26

Major Milestones – Evaluation Criteria (at end of phase)

 Elaboration phase Elaboration phase (LCA (LCA Architecture Milestone Architecture Milestone ) include: ) include:

  Resolution of major risk elements;

  Adequate planning; reasonable estimates for project completion;

 Note: we really don’t have a ‘time projection’ until this milestone.

  A base line architecture established. (note title of milestone!)

  Around 80% of use cases captured, modeled, and understood.

 Stability of the product vision;

 Stakeholder acceptance of the product vision and project plan;

 Acceptable expenditure level.

(10)

Unified Software Practices v 5.0-D

/26

Major Milestones – Evaluation Criteria (at end of phase)

 Construction Construction phase phase (IOC – (IOC – Initial Operational Capability Initial Operational Capability Milestone

Milestone ) )

  stability and maturity of the product release (i.e., is it ready to be deployed? – ready to go into beta?);

  readiness of the stakeholders for the transition;

acceptable expenditure level.

 Note, again, title of milestone.

  Are we ready to ease into transitioning to the new application?

• alpha, beta testing

• training

• customer service

• transition plans established….

• configuration management?

(11)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 11/26

Major Milestones – Evaluation Criteria (at end of phase)

 Transition Transition phase phase , ( , ( Product Release Product Release ) - a decision is ) - a decision is made whether to release the product. This will be made whether to release the product. This will be

based primarily on the

based primarily on the level of user satisfaction level of user satisfaction achieved during the transition phase.

achieved during the transition phase.

Note: considerable testing takes place during Note: considerable testing takes place during

Transition.

Transition.

  Chance for remedial maintenance prior to Chance for remedial maintenance prior to release.

release.

 Often this milestone coincides with the initiation of another development cycle / evolution to improve or enhance the product. In many cases, this new

development cycle may already be underway.

 This phase also includes training, user documentation,

clean-up

(12)

Unified Software Practices v 5.0-D

/26

Iterations and Phases

 

An iteration is a distinct sequence of activities with an An iteration is a distinct sequence of activities with an established established plan and plan and evaluation criteriaevaluation criteria, resulting in an ‘executable, resulting in an ‘executable’ release’ release (internal or external) and

(internal or external) and assessmentassessment of the iteration of the iteration

Number of iterations per phase is variable. Number of iterations per phase is variable.

Each iteration can provides an ‘increment’ of business value as Each iteration can provides an ‘increment’ of business value as system evolves into a large system.

system evolves into a large system.

(I prefer the term ‘base-lining’ or ‘versioning’ vice executable release. ) (I prefer the term ‘base-lining’ or ‘versioning’ vice executable release. )

Preliminary Preliminary

Iteration Iteration

Architect.

Architect.

Iteration Iteration

Architect.

Architect.

Iteration Iteration

Devel.

Devel.

Iteration Iteration

Devel.

Devel.

Iteration Iteration

Devel.

Devel.

Iteration Iteration

Transition Transition Iteration Iteration

Transition Transition Iteration Iteration

Inception

InceptionElaborationElaboration ConstructionConstruction TransitionTransition

Minor Milestones: Releases

(13)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 13/26

Releases – Internal and External

 An internal release An internal release is is kept within kept within the development the development environment and (optionally) demonstrated to the environment and (optionally) demonstrated to the stakeholder community. (Depends on nature of

stakeholder community. (Depends on nature of iteration)

iteration)

 An external release An external release is provided to is provided to stakeholders (usually stakeholders (usually users) for installation in their own environment.

users) for installation in their own environment.

 May be for operational testing prior to Product Release,

 External releases are much more expensive (they External releases are much more expensive (they

require user documentation and technical support) and require user documentation and technical support) and normally occur only during the transition phase.

normally occur only during the transition phase.

 Remember, Remember,

 ends of an iteration marks a minor milestone.

 end of a phase marks a major milestone.

(14)

Unified Software Practices v 5.0-D

/26

:Major Disciplines (Activities) Produce Models:

Analysis &

Analysis &

Design Design

Implementation Model

ModelTest realized by

implemented by

verified by

Requirements Requirements

Implementation Implementation

TestTest

Use-Case Model

Design Model

Business Business Modeling

Modeling Business

Use-Case Model Business Object Model

The RUP is a model-driven

approach; Models are needed to fully describe the application from viewpoints of different

stakeholders.

The business itself; generally larger than the application domain of project…,

Business Vision, Business Rules, Domain Model…

In more detail:

(15)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 15/26

Major Models

 The The Business Model Business Model

 A model of what the business processes are and the business environment.

 (Very Important!!)

 What is the application domain?

 It can be used to generate requirements on supporting information systems.

 The The Use-Case Model Use-Case Model

 A model of what the application is supposed to do and its environment. (functional requirements)

  Create Use Case diagrams and Use Case Narratives

(Specification)

(16)

Unified Software Practices v 5.0-D

/26

Major Models

 The Analysis and Design Model may be considered The Analysis and Design Model may be considered an object model that

an object model that realizes realizes the Use-Cases. the Use-Cases.

 Serves as abstraction of the implementation model and its source code.

 Create analysis and design classes and interaction diagrams

 Architecture-centric.

 The Implementation Model The Implementation Model

 A collection of components, and the

implementation subsystems that contain them.

 Primarily programming – realizing the design model;

unit testing and more.

(17)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 17/26

Major Models

 The Test Model The Test Model

 encompasses all of the test cases and procedures required to test the system.

(test plans; test scripts; test suites, etc.)

 Development team verification; user

validation

(18)

Unified Software Practices v 5.0-D

/26

Bringing It All Together: The Iterative Model

Project Management Environment Business Modeling

Implementation Test Analysis & Design

Preliminary

Iteration(s) Iter.

#1

Phases Core Process Disciplines

Iterations

Core Supporting Disciplines

Iter.

#2 Iter.

#n Iter.

#n+1 Iter.

#n+2 Iter.

#m Iter.

#m+1

Deployment

Configuration & Change Mgmt Requirements

Elaboration Transition

Inception Construction

Disciplines group

activities logically

In an iteration, you walk

through all disciplines.

Relative amount of color shows level of

activity in each

iteration

Development Team Focus

(19)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 19/26

 The Unified Modeling Language (UML) is The Unified Modeling Language (UML) is a language for specifying, visualizing,

a language for specifying, visualizing, constructing, and documenting the

constructing, and documenting the

artifacts of a software-intensive system artifacts of a software-intensive system

 A software development process defines A software development process defines Who Who is doing is doing What, When What, When and and How How in in

building a software product building a software product

 The Rational Unified Process has four The Rational Unified Process has four phases:

phases: Inception, Elaboration, Inception, Elaboration, Construction and Transition

Construction and Transition

 Each phase ends at a major milestone Each phase ends at a major milestone and contains one or more iterations

and contains one or more iterations

 An An iteration iteration is a distinct sequence of is a distinct sequence of activities with an established plan and activities with an established plan and

evaluation criteria, resulting in an evaluation criteria, resulting in an

executable release executable release

Summary these last two sets of

slides: (1 of 2)

(20)

Unified Software Practices v 5.0-D

/26

Summary (cont.):

 A A discipline discipline groups related activities groups related activities together

together

Rational Team Concert Rational Team Concert is a framework is a framework

within which the development activities are within which the development activities are defined and executed

defined and executed

 RTC can be used to manage agile planning, process definition, defect tracking, build

management, and reporting.

 Users can use the software to track and

manage the relationships between artifacts

and promote best practices for development

and gather project information.

References

Related documents