RUP Overview Presentation 07-14-2006[1]
-
Upload
johnekadiri -
Category
Documents
-
view
225 -
download
0
Transcript of RUP Overview Presentation 07-14-2006[1]
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
1/27
IBM Software Group
2003 IBM Corporation
Rational Unified Process: A Best
Practices Approach
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
2/27
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Best Practices of Software EngineeringBest Practices of Software Engineering
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
3/27
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Practice 1: Develop IterativelyPractice 1: Develop Iteratively
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
4/27
Waterfall Development CharacteristicsWaterfall Development Characteristics
Delays confirmation ofcritical risk resolution
Measures progress by
assessing work-productsthat are poor predictors oftime-to-completion
Delays and aggregatesintegration and testing
Precludes early
deployment Frequently results in major
unplanned iterations
Delays confirmation ofcritical risk resolution
Measures progress by
assessing work-productsthat are poor predictors oftime-to-completion
Delays and aggregatesintegration and testing
Precludes early
deployment Frequently results in major
unplanned iterations
Code and unit test
Design
Subsystem integration
System test
Waterfall ProcessRequirements
analysis
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
5/27
Iterative Development Produces an ExecutableIterative Development Produces an Executable
InitialPlanning
Planning
Requirements
Analysis & Design
Implementation
Deployment
Test
Evaluation
ManagementEnvironment
Each iterationresults in anexecutable release
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
6/27
Project Schedule
Reduce Scrap/Rework: Use an Iterative ProcessReduce Scrap/Rework: Use an Iterative Process
Prototypes Architecture Functional Product
Releases Release
Prototypes Architecture Functional Product
Releases Release
100%
WaterfallProject ProfileWaterfallProject Profile
IterativeProject Profile
IterativeProject Profile
DevelopmentProgress(% coded)
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
7/27
Practice 2: Manage RequirementsPractice 2: Manage Requirements
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
8/27
Requirements ManagementRequirements Management
Making sure you
solve the right problem
build the right systemby taking a systematic approach to
eliciting
organizingdocumenting
managing
the changing requirements of a software application.
Making sure you
solve the right problem
build the right systemby taking a systematic approach to
eliciting
organizingdocumenting
managing
the changing requirements of a software application.
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
9/27
Problem
SolutionSpace
ProblemSpace
Needs
Features
SoftwareRequirements
Test ScriptsDesign User
Docs
TheThe
ProductProduct
to Beto Be
BuiltBuilt
Tra
ceability
Map of the TerritoryMap of the Territory
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
10/27
Practice 3: Use Component ArchitecturesPractice 3: Use Component Architectures
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
11/27
Resilient Component-Based ArchitecturesResilient Component-Based Architectures
Resilient Meets current and future requirements
Improves extensibility
Enables reuse
Encapsulates system dependencies
Component-based Reuse or customize components
Select from commercially available components
Evolve existing software incrementally
Resilient Meets current and future requirements
Improves extensibility
Enables reuse
Encapsulates system dependencies
Component-based Reuse or customize components
Select from commercially available components
Evolve existing software incrementally
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
12/27
Practice 4: Model Visually (UML)Practice 4: Model Visually (UML)
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
13/27
Common Language for Process and DesignCommon Language for Process and Design
The UML is a common language for Visualizing
Specifying
Constructing
Documenting
RUP is a common language for Process
Roles
Activities
Workflows
Iterations
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
14/27
Visual Modeling Using UML DiagramsVisual Modeling Using UML Diagrams
Actor A
Use Case 1
Use Case 2
Actor B
user : Clerk
mainWnd: MainWnd
fileMgr: FileMgr
repository : Repositorydocument : Document
gFile: GrpFile
9: sortByName( )
L1: Docview request( )
2: fetchDoc()
5: readDoc( )
7: readFile( )
3: create( )
6: fillDocument( )
4: create( )
8: fillFile( )
Window95
-.EXE
WindowsNT
- .EXE
WindowsNT
Windows95
Solaris
-.EXE
AlphaUNIX
IBMMainframe
-
Windows95
- Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
user
mainWnd f il eMgr :FileMgr
repositorydocument :Document
gFile
1:Doc view request( )
2:fetchDoc( )
3:create( )
4:create( )
5:readDoc( )
6:fillDocument( )
7:readFile( )
8:fillFile( )
9:sortByName( )
- .
-- - .
- -.
Forward and
ReverseEngineering
TargetSystem
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX] /flag OFF
add file
close file
close fileUse Case 3
Use-Case
DiagramClass Diagram
Collaboration
Diagram
SequenceDiagram
ComponentDiagram
Statechart
Diagram
GrpFile
read( )open( )create()fillFile( )
rep
Repository
name:char *= 0
readDoc( )readFile( )
(fromPersistence)
FileMgr
fetchDoc()sortByName( )
DocumentList
add( )delete( )
Document
name:intdocid:intnumField:int
get( )open( )close( )read( )sortFileList( )
create()fillDocument( )
fList
1
FileList
add( )delete( )
1
File
read( )
read()fillthecode..
DeploymentDiagram
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
15/27
Practice 5: Continuously Verify QualityPractice 5: Continuously Verify Quality
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
ContinuouslyVerify Quality
Manage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
ContinuouslyVerify Quality
Manage Change
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
16/27
Continuously Verify Your Softwares QualityContinuously Verify Your Softwares Quality
CostCost
TransitionConstructionElaborationInception
Software problems are100 to 1000 times more costly
to find and repair after deployment
Software problems are100 to 1000 times more costly
to find and repair after deployment
Cost to Repair Software
Cost of Lost Opportunities
Cost of Lost Customers
Cost to Repair Software
Cost of Lost Opportunities
Cost of Lost Customers
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
17/27
Testing Dimensions of QualityTesting Dimensions of Quality
ReliabilityReliability
Test the application
behaves consistently andpredictably.
Test the application
behaves consistently andpredictably.
PerformancePerformance Test online response
under average and peakloading
Test online responseunder average and peakloading
FunctionalityFunctionality Test the accurate
workings of eachusage scenario
Test the accurateworkings of eachusage scenario
UsabilityUsability
Test application from theperspective of
convenience to end-user.
Test application from theperspective of
convenience to end-user.
SupportabilitySupportability
Test the ability to maintainand support application
under production use
Test the ability to maintainand support application
under production use
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
18/27
UML Model
andImplementation
Tests
Iteration 1Iteration 1
Test Suite 1Test Suite 1
Iteration 2Iteration 2
Test Suite 2Test Suite 2
Iteration 4Iteration 4
Test Suite 4Test Suite 4
Iteration 3Iteration 3
Test Suite 3Test Suite 3
Test Each IterationTest Each Iteration
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
19/27
Practice 6: Manage ChangePractice 6: Manage Change
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
20/27
The Configuration and Change Management (CCM)
Cube
e on gura on an ange anagemen
Cube
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
21/27
Build 3Build 3
Build 2Build 2 Build 1Build 1
TestersTesters
DevelopersDevelopers IntegratorIntegrator
Eliminate Errors:Automate Change ManagementEliminate Errors:Automate Change Management
AnalystAnalyst Project ManagerProject Manager
Bug 98Bug 98Bug 98
Add promotioncalculation
Add promotionAdd promotioncalculationcalculation
Bug 179Bug 179Bug 179
New GUIbutton
New GUINew GUIbuttonbutton
New platformNew platformNew platform
New web designNew web designNew web design
Bug 849Bug 849Bug 849
Bug 527Bug 527Bug 527
Bug 251Bug 251Bug 251
New customertransaction
New customerNew customertransactiontransaction
Bug 348Bug 348Bug 348
Why did theWhy did thebuild break?build break?
Of course IOf course I
didnt forgetdidnt forgeta file...a file...
Did requirementDid requirement462 make it into462 make it intothis release ?this release ?
How manyHow manyseverity 1 bugsseverity 1 bugsare left?are left?
Is bug 873 fixed inIs bug 873 fixed in
this build?this build?
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
22/27
Best Practices Reinforce Each OtherBest Practices Reinforce Each Other
Validates architecturaldecisions early on
Addresses complexity ofdesign/implementation incrementally
Measures quality early and often
Evolves baselines incrementally
Ensures users involvedas requirements evolve
Best PracticesBest Practices
Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change
Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
23/27
Trace Symptoms to Root CausesTrace Symptoms to Root Causes
Needs not metRequirements churn
Modules dont fit
Hard to maintain
Late discovery
Poor quality
Poor performance
Colliding developers
Build-and-release
Insufficient requirementsAmbiguous communications
Brittle architectures
Overwhelming complexity
Undetected inconsistencies
Poor testing
Subjective assessment
Waterfall development
Uncontrolled change
Insufficient automation
Symptoms Root Causes Best Practices
Ambiguous communications
Undetected inconsistencies
Ambiguous communications
Undetected inconsistencies
Develop Iteratively
Manage Requirements
Use Component Architectures
Model Visually (UML)
Continuously Verify Quality
Manage Change
Model Visually (UML)
Continuously Verify Quality
Model Visually (UML)
Continuously Verify Quality
Modules dont fitModules dont fit
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
24/27
100%100%
ModernProject Profile
ModernProject Profile
Project ScheduleProject Schedule
ConventionalProject ProfileConventionalProject Profile
DevelopmentProgress
(% Coded)
DevelopmentProgress
(% Coded)
The Impact of Improving Software EconomicsThe Impact of Improving Software Economics
TargetProject Profile
TargetProject Profile
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
25/27
Best PracticesProcess Made Practical
Best PracticesProcess Made Practical
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Develop Iteratively
Manage Requirements
Use ComponentArchitectures
Model Visually (UML)
Continuously Verify QualityManage Change
Best Practices of Software EngineeringBest Practices of Software Engineering
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
26/27
RUP Organization Along TimeRUP Organization Along Time
Time
Organization by phases helps minimize the risks of resource allocation.
-
8/13/2019 RUP Overview Presentation 07-14-2006[1]
27/27
Rational Unified ProcessRational Unified Process
WBI ModelerWBI Modeler
Rational Requisite ProRational Requisite ProRational Software ModelerRational Software Modeler
Rational Application DeveloperRational Application Developer
Tivoli Configuration ManagerTivoli Configuration Manager
Rational Performance, Functional, Manual TesterRational Performance, Functional, Manual Tester
RationalRational ClearCaseClearCase, ClearQuest, ClearQuest
Rational Team Unifying PlatformRational Team Unifying Platform
Eclipse, OSEclipse, OS