• No results found

Introduction to Rational Unified Process - Continued

N/A
N/A
Protected

Academic year: 2021

Share "Introduction to Rational Unified Process - Continued"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

Chapter 2 Text

Introduction to Rational Unified Process - Continued

Be certain to CONTINIE to read the RUP, third edition, especially chapters 3-6

(2)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 2

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; (Business Rules, Vision, domain model, costs, schedule, risk lists…)

Elaboration - Plan project, specify features, baseline architecture; have about

80% of essential requirements; Good grasp of requirements and architecture. Most key analysis and design done. (often a couple of iterations…)

Construction - Build the product via several iterations; up to beta release; Essentially programming and unit test…Several

iterations…

Transition - Transition the product into end user community;

end-user training and support; installation, etc. (clean up, etc.)

 Amount of time spent in each varies; sometimes 3-5 iterations Amount of time spent in each varies; sometimes 3-5 iterations in construction; for a simple project – one iteration in

in construction; for a simple project – one iteration in

elaboration; Can be very complex. Most practitioners suggest elaboration; Can be very complex. Most practitioners suggest

six plus or minus three iterations!

six plus or minus three iterations!

time

(3)

Inception

Inception Elaboration Elaboration Construction Construction Transition Transition

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

(4)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 4

Major Milestones

 The evaluation criteria for the I The evaluation criteria for the I nception phase nception phase (LCO – Life (LCO – Life Cycle Objective Milestone) include:

Cycle Objective Milestone) include:

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

 requirements understanding as evidenced by the fidelity of the primary Use-Cases; credibility of cost/schedule estimates, priorities, risks, and development process; clear vision

 depth and breadth of architectural prototype; actual expenditures versus planned expenditures

 The evaluation criteria for the The evaluation criteria for the Elaboration phase Elaboration phase (LC (LC Architecture Milestone) include:

Architecture Milestone) include:

 stability of the product vision and architecture;

 resolution of major risk elements;

 adequate planning and reasonable estimates for project completion;

 stakeholder acceptance of the product vision and project plan;

 acceptable expenditure level.

 Around 80% of use cases captured and understood.

(5)

Major Milestones

 The evaluation criteria for the The evaluation criteria for the Construction Construction phase phase (IOC – (IOC – Initial Operational Capability Milestone) include:

Initial Operational Capability Milestone) include:

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

 At the end of the At the end of the Transition Transition phase phase , a decision is made , a decision is made

whether to release the product. This will be based primarily whether to release the product. This will be based primarily on the

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

transition phase.

 Often this milestone coincides with the initiation of another development cycle to improve or enhance the product. In many cases, this new development cycle by already be underway.

 This phase also includes training, user documentation, clean-

up…

(6)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 6

Iterations and Phases

An An iteration iteration is a distinct sequence of activities with is a distinct sequence of activities with

an an established plan established plan and and evaluation criteria evaluation criteria , resulting in , resulting in an executable release (internal or external) and an executable release (internal or external) and

assessment of the iteration assessment of the iteration

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

Each iteration can result in an executable release where Each iteration can result in an executable release where the system evolves into a large system the system evolves into a large system

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

Inception Elaboration Elaboration Construction Construction Transition Transition

Minor Milestones: Releases

(7)

Releases – Internal and External

 An An internal release internal release is is kept within kept within the the

development environment and (optionally) development environment and (optionally) demonstrated to the stakeholder community.

demonstrated to the stakeholder community.

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

(usually users) for installation in their own environment.

environment.

 External releases External releases are much more expensive are much more expensive

(they require user documentation and technical (they require user documentation and technical support) and normally occur only during the

support) and normally occur only during the transition phase.

transition phase.

 The end of an iteration marks a The end of an iteration marks a minor minor milestone.

milestone.

 Major assessment occurs here, naturally.

(8)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 8

Major Disciplines Produce Models

Analysis &

Analysis &

Design Design

Implementation Model

ModelTest realized by

implemented by

verified by

Requirements Requirements

Implementation Implementation

Test Test

Use-Case Model

Design Model

Business Business Modeling

Modeling

Business

Use-Case Model Business Object Model

The RUP is a model-driven approach; Several models are needed to fully describe the system.

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

(9)

Major Models

 The The Business Model Business Model is a model of what the business processes is a model of what the business processes are and the business environment. (Very Important!!)

are and the business environment. (Very Important!!)

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

 The The Use-Case Model Use-Case Model is model of what the system is supposed is model of what the system is supposed to do and the system environment.

to do and the system environment.

 Create Use Case diagrams and supporting documentation

 The Analysis and The Analysis and Design Model Design Model is an object model describing is an object model describing the realization of Use-Cases the realization of Use-Cases . It serves as an . It serves as an abstraction abstraction of the of the implementation model and its source code.

implementation model and its source code.

 Create analysis and design classes, interaction diagrams…

architecture resolved.

 The The Implementation Model Implementation Model is a collection of components, and is a collection of components, and the implementation subsystems that contain them.

the implementation subsystems that contain them.

 Primarily programming – realizing the design model; unit testing.

 The The Test Model encompasses all of the test cases and Test Model encompasses all of the test cases and

procedures required to test the system. (test scripts; test procedures required to test the system. (test scripts; test suites, etc.)

suites, etc.)

(10)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 10

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

(11)

Process Notation – Figures used in the RUP

Role

Activity

Artifact

Describe a Use-Case

Use-Case Package Use-Case

responsible for

Use-Case Specifier

A unit of work a worker may be asked to perform

A piece of

information that is produced, modified, or used by a process A role that may be

played by an

individual or a team in the development organization

Could be source code, documents, class, risks

Smallest piece of work that is relevant workload divided by activities needed.

Defines the behavior and responsibilities of an individual or a group working as a team.

In the RUP, a Worker is more of a

‘role’ that defines

how individuals

(12)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 12

Resource

Paul Mary Joe Sylvia Stefan

Workers Are Used for Resource Planning

Each individual in the project is

assigned to one or several workers Worker

Designer

Use-Case Specifier System Analyst

Implementer Architect

Activities

Define Operations Detail a Use-Case

Find Actors and Use-Cases Perform Unit Tests

Identify Design Mechanisms

A worker may wear several hats.

All in same day…

Some Roles are accomplished by

teams. Often the case…

(13)

Business Modeling Workflow – the Organization

Find Business Actors and Use Cases Business-Process

Analyst

Structure the Business Use-Case

Model Capture a

Common

Vocabulary Business Model

Reviewer

Review the Business Use-Case Model Detail a

Business Use Case

Business Designer

Review the Business Object Model Detail a

Business Entity Find Business Workers

and Entities

Detail a Business Worker

Purpose: to understand the structure and dynamics of the organization;

To ensure customers, end-users, and developers understand the organization;

To derive requirements on systems to support the organization;

(14)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 14

Requirements Workflow

Use-Case Specifier

Requirements Reviewer

User-Interface Designer

Capture a Common Vocabulary

Find Actors and Use Cases

Review Requirements Structure the

Use-Case Model

User-Interface Prototyping Detail a

Use Case Elicit Stakeholder

Needs

Manage Dependencies

Architect

Prioritize Use Cases Develop

Vision

User-Interface Modeling

Purpose: To come to agreement with customers and users on what the system should do.

To give developers a better under- standing of the requirements of the system.

This is not the business model

(15)

Analysis & Design Workflow

Architect

Designer

Architectural Analysis

Architecture Reviewer

Review the Design Review the Architecture

Use-Case Analysis

Architectural

Design Describe

Concurrency Describe Distribution

Class Design Subsystem Design

Use-Case Design

Database

Design Reviewer

Purpose: to transform the requirements into a design of the system to be.

To derive a robust architecture for the system To adapt the design to match the implementation environment,

designing it for

performance

(16)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 16

Implementation Workflow

Integrate System Architect

System Integrator

Implementer

Code Reviewer

Implement Classes

Perform Unit Test Structure the

Implementation Model

Integrate Subsystem

Review Code Fix a Defect

Plan System Integration

Plan Subsystem Integration

To design the organization of the code in terms of implementation subsystems organized in layers.

To implement classes and objects in terms of components, (source, binaries, executables, others) To test the components as units; integrate the results into an executable system.

(Programmer)

(17)

Project Management Workflow – Very Important!!!

Develop Business

Case

Project Manager

Develop Project

Plan

Revisit Risk List Staff

Project

Evaluate Iteration Execute

Iteration Plan

Develop Iteration

Plan Identify

Risks

To provide a framework for managing software intensive projects

To provide a practical guidelines for planning, staffing, executing, and monitoring projects To provide a framework for managing risk

Project Manager is responsible for developing the following artifacts:

The Software Development Plan (includes Risks list, Project Plan, and Measurement plan

(18)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 19

Guidelines, Mentors, and Templates

 Guidelines are the rules, recommendations, and heuristics Guidelines are the rules, recommendations, and heuristics that support activities

that support activities

 For example, modeling and programming guidelines

 Tool mentors Tool mentors explain how to use a specific tool to perform explain how to use a specific tool to perform an activity or steps in an activity

an activity or steps in an activity

 For example, building a design model using Rational Rose

 Templates Templates are predefined artifacts are predefined artifacts

 For example, a Rational SoDA template for a Use-Case Report

 Guidelines, tool mentors and templates make it easier to Guidelines, tool mentors and templates make it easier to apply the process correctly and consistently

apply the process correctly and consistently

 While we have focused mainly on the overall While we have focused mainly on the overall framework framework of of the Rational Unified Process, i.e., the phases and

the Rational Unified Process, i.e., the phases and

disciplines, the process provides much more technical and disciplines, the process provides much more technical and detailed guidance for the developer.

detailed guidance for the developer.

 Guidelines, tool mentors and templates are used by Guidelines, tool mentors and templates are used by

developers on a daily basis to accomplish their technical developers on a daily basis to accomplish their technical tasks.

tasks.

(19)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 21

 The The Unified Modeling Language (UML) Unified Modeling Language (UML) is 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

Summary: Rational Unified

Process

(20)

Unified Software Practices v 5.0-D

Copyright  1998 Rational Software, all rights reserved 22

Summary (cont.): Rational Unified Process

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

together

 Each workflow is exercised during an Each workflow is exercised during an iteration

iteration and results in a model that is and results in a model that is incrementally produced

incrementally produced

 An An artifact artifact is a piece of information that is is a piece of information that is produced, modified, or used by a process

produced, modified, or used by a process

 A A worker worker is a is a role role that may be played by that may be played by an individual or a team in the development an individual or a team in the development

organization organization

 An An activity activity is a unit of work a worker may is a unit of work a worker may be asked to perform

be asked to perform

References

Related documents