CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady...

Post on 14-Dec-2015

227 views 1 download

Tags:

Transcript of CS4272-1 Rational Unified Process zThe Unified Software Development Process by Ivar Jacobson, Grady...

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

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

CS427 2-3

Best Practices:

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

CS427 2-4

Develop Iteratively

Waterfall Requirements High level design Low level design Implementation Testing

Iterative development – all activities at the same time

CS427 2-5

Components of RUP

Artifacts - what(things people make)

Roles - who(roles people play)

Activities - how(things people do)

Workflows - when

CS427 2-6

Artifacts

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

CS427 2-7

Roles

Project managerArchitectSystem analystUse-case specifierDesignerImplementorTesterCM manager

CS427 2-8

Activities

Plan subsystem integrationImplement classesFix a defectPerform a unit testReview codeIntegrate subsystem

CS427 2-9

Workflows

Project management Business modelingRequirementsAnalysis and designImplementation

CS427 2-10

Workflows

TestConfiguration and change

managementDeploymentEnvironment

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

CS427 2-12

Iterations

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

ElaborationInception Construction Transition

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

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?

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

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

CS427 2-17

ManagerArchitect (technical lead)Business experts

(systems analysis, use case specifier)Developers

(designer, developer, tester, CMM manager)

CS427 2-18

Summary of RUP

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

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!

CS427 2-20

Keys to good software

Good peopleUnderstand the problemUnderstand the solutionEnough timeGood 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/