Download - CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

Transcript
Page 1: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-1

Rational Unified Process

The Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh

The Rational Unified Process: An Introduction, by Philippe Kruchten

The Rational Unified Process Made Easy, by Per Kroll and Philippe Kruchten

Page 2: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-2

SEI Capability Maturity Model

1. Initial - anything goes2. Repeatable - SCM, QA, planning,

tracking, requirements3. Defined - process defined and

followed4. Managed - measure and act on it5. Optimizing - keep improving process

Page 3: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-3

Best Practices:

Develop software iteratively Manage requirementsUse component-based architecturesVisually model software Verify software quality Control changes to software

Page 4: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-4

Develop Iteratively

Waterfall Requirements High level design Low level design Implementation Testing

Iterative development – all activities at the same time

Page 5: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-5

Components of RUP

Artifacts - what(things people make)

Roles - who(roles people play)

Activities - how(things people do)

Workflows - when

Page 6: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-6

Artifacts

Vision statementIteration planUse-case model (UML)Software architecture document (UML)Design model (UML)ComponentIntegration build plan

Page 7: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-7

Roles

Project managerArchitectSystem analystUse-case specifierDesignerImplementorTesterCM manager

Page 8: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-8

Activities

Plan subsystem integrationImplement classesFix a defectPerform a unit testReview codeIntegrate subsystem

Page 9: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-9

Workflows

Project management Business modelingRequirementsAnalysis and designImplementation

Page 10: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-10

Workflows

TestConfiguration and change

managementDeploymentEnvironment

Page 11: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-11

Implementation Workflow

Architect

System Integrator

Im plem entor

Code reviewer

P lan SystemIntegration

DefineO rganizationof Subsystem

PlanSubsystemIntegration

Im plem entC lasses

Fix a defect

Perform UnitTest

Review code

Integratesubsystem

Integratesystem

Page 12: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-12

Iterations

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

ElaborationInception Construction Transition

Page 13: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-13

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

Page 14: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-14

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?

Page 15: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-15

An iteration workflow

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

Workflows can run in parallelEarly iterations

Much project management Much business modeling Little implentation

Page 16: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-16

Architecture

Describes components and how they are connected.

Component is system/subsystemArchitect responsible for architectureDevelopers responsible for

componentsElaboration phase writes code for the

architecture

Page 17: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-17

ManagerArchitect (technical lead)Business experts

(systems analysis, use case specifier)Developers

(designer, developer, tester, CMM manager)

Page 18: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-18

Summary of RUP

Develop software iteratively Manage requirementsUse component-based architecturesVisually model software Verify software quality Control changes to software

Page 19: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-19

Summary of RUP

Complicated processFramework - you are not expected to

do everythingDon’t focus so much on the process

that you forget the product!

Page 20: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-20

Keys to good software

Good peopleUnderstand the problemUnderstand the solutionEnough timeGood process

Page 21: CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady Booch, and James Rumbaugh zThe Rational Unified Process:

CS427 2-21

eXtreme Programming

Spend two hours reading “Extreme Programming Explained” or reading

http://c2.com/cgi/ wiki?ExtremeProgrammingRoadmap

http://c2.com/cgi/ wiki?ExtremeProgrammingSummary

http://www.xProgramming.com/and http://www.extremeprogramming.org/