Buscar

UnifiedProcess

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

The Unified Software Process:The Unified Software Process:
Best Practices for Software Development TeamsBest Practices for Software Development Teams
General Information
�� Joel Pech, Software Engineering Specialist on Joel Pech, Software Engineering Specialist on 
Rational Software field team for IARational Software field team for IA--KSKS--NE & KC, MO NE & KC, MO 
jpechjpech@rational.com, 319@rational.com, 319--228228--87818781
�� Unified Software Development Process, Unified Software Development Process, 
by by Ivar Ivar Jacobson, Jacobson, Grady Booch Grady Booch and Jim and Jim RumbaughRumbaugh
Addison Wesley, 1999Addison Wesley, 1999
�� Rational Unified ProcessRational Unified Process
Our product that puts a unified software process on Our product that puts a unified software process on 
each desktop (some graphics for today’s talk are each desktop (some graphics for today’s talk are 
from this product).from this product).
Agenda
�� Why Rational Software focuses on processWhy Rational Software focuses on process
�� What is the problemWhat is the problem
�� 6 fundamental Best 6 fundamental Best PractticesPracttices
�� Structure of the Unified Software ProcessStructure of the Unified Software Process
�� The Rational Unified Process productThe Rational Unified Process product
Rational’s Mission
Ensuring the success of customers
who depend on
developing or deploying software
Reality
“Only 26% of software 
projects succeed.”
Standish Group, CHAOS Report, 1998
“Only 26% of software 
projects succeed.”
Standish Group, CHAOS Report, 1998
The Rules Have Changed
Enterprise IT
ISV
Technical/Embedded
Enterprise IT
ISV
Technical/Embedded
Release frequencyRelease frequency
ComplexityComplexityCost of failureCost of failure
IndividualsIndividuals
The Challenge
Software 
development is a 
team sport ...
Software Software 
development is a development is a 
team sport ...sport ...
and, yet most tools 
are for ...
and, yet most tools and, yet most tools 
are for ...are for ...
The Answer: Elevate the Solution
Individuals
Improve individual productivity
Individuals
Improve individual productivity
TeamsTeams
Improve cross-functional 
team productivity
Improve cross-functional 
team productivity
Rational Elevates the Solution
Individuals
Improve individual productivity
Individuals
Improve individual productivity
OrganizationsOrganizations
Improve multi-team proficiencyImprove multi-team proficiency
TeamsTeams
Improve cross-functional 
team productivity
Improve cross-functional 
team productivity
ProcessProcessProcessProductsProductsProducts
SkillsSkillsSkills
ProductsProductsProducts
SkillsSkillsSkillsSkillsSkillsSkills
Rational Unifies Software Teams
Technical Support & 
Tools Application
Technical Support & Technical Support & 
Tools ApplicationTools Application
Project 
Implementations
Project Project 
ImplementationsImplementations
Education 
and Training
Education Education 
and Trainingand Training
ServicesServices
Customer SuccessCustomer Success
Develop Develop 
IterativelyIteratively
Manage Manage 
RequirementsRequirements
Use Use 
Component Component 
ArchitecturesArchitectures
Model VisuallyModel Visually
(UML)(UML)
Verify QualityVerify Quality
Control Control 
ChangesChanges
Best
Practices
Best
Practices
S
o
f
t
w
a
r
e
 
E
n
g
i
n
e
e
r
i
n
g
 
 
L
e
a
d
e
r
s
h
i
p
S
o
f
t
w
a
r
e
 
E
n
g
i
n
e
e
r
i
n
g
 
 
L
e
a
d
e
r
s
h
i
p
Requirements 
Management
Visual 
Modeling
Automated 
Testing
Change 
Management
Requirements Requirements 
ManagementManagement
Visual Visual 
ModelingModeling
Automated Automated 
TestingTesting
Change Change 
ManagementManagement
ToolsTools
Pr
od
uc
t L
ea
de
rsh
ip
Pr
od
uc
t L
ea
de
rsh
ip
Agenda
�� Why Rational Software focuses on processWhy Rational Software focuses on process
�� What is the problemWhat is the problem
�� 6 fundamental Best 6 fundamental Best PractticesPracttices
�� Structure of the Unified Software ProcessStructure of the Unified Software Process
�� The Rational Unified Process productThe Rational Unified Process product
The Business Problem
Software:Software:
�� Increasingly Increasingly 
more criticalmore critical
�� Needs to be Needs to be 
delivered fasterdelivered faster
�� Needs to be Needs to be 
higher qualityhigher quality
But...
“We estimate “We estimate 
only 26% of only 26% of 
software projects software projects 
will succeed.”will succeed.”
StandishStandish GroupGroup
CHAOS ReportCHAOS Report
19981998
Rational’s Unique Approach
Customer SuccessCustomer Success
ToolsTools
Requirements 
Management
Visual 
Modeling
Automated 
Testing
Change 
Management
Requirements Requirements 
ManagementManagement
Visual Visual 
ModelingModeling
Automated Automated 
TestingTesting
Change Change 
ManagementManagement
ServicesServices
Customer Customer 
SupportSupport
Tool Tool 
TrainingTraining
Project Project 
ImplementationImplementation
Expert Expert 
ConsultingConsulting
Best Practices Best Practices 
EducationEducation
Develop Develop 
IterativelyIteratively
Manage Manage 
RequirementsRequirements
Use Use 
Component Component 
Architectures Architectures 
Model Visually Model Visually 
(UML)(UML)
Verify QualityVerify Quality
Control Control 
Changes Changes 
Best
Practices
Best
Practices
Software Development is a Job for Teams
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Developer
Tester
Challenges
• Larger teams
• Specialization
• Distribution
• Rapid technology 
change
The Problem...
�� Most software projects use Most software projects use 
no wellno well--defined process. defined process. 
Instead team members Instead team members 
(re(re--)invent process as they )invent process as they 
gogo
??
??
??
??
??
??
??
� If process is used, different 
functional teams use 
normally inconsistent 
processes and modeling 
languages
�� If process is used, different If process is used, different 
functional teams use functional teams use 
normally inconsistent normally inconsistent 
processes and modeling processes and modeling 
languageslanguages
Analysis processAnalysis process
Requirements bookRequirements book
Test processTest process
Design bookDesign book
�� Processes are not linked Processes are not linked 
properly to tools, or are not properly to tools, or are not 
properly automatedproperly automated
ToolToolProcessProcess ??
Agenda
�� Why Rational Software focuses on processWhy Rational Software focuses on process
�� What is the problemWhat is the problem
�� 6 fundamental Best 6 fundamental Best PractticesPracttices
�� Structure of the Unified Software ProcessStructure of the Unified Software Process
�� The Rational Unified Process productThe Rational Unified Process product
Develop Develop 
IterativelyIteratively
Manage Manage 
RequirementsRequirements
Use Use 
Component Component 
Architectures Architectures 
Model Visually Model Visually 
(UML)(UML)
Verify QualityVerify Quality
Control Control 
Changes Changes 
Best
Practices
Best
Practices
6 Fundamental Best Practices
Capturing experiences fromCapturing experiences from
1,000s of projects1,000s of projects
Best Practices Enable High-Performance Teams
Project
Manager
Performance
Engineer
Release
Engineer
AnalystDeveloper
Tester
Result
• More Successful 
projects
Best
Practices
Best
Practices
Develop IterativelyDevelop Iteratively
Manage Manage 
RequirementsRequirements
Model VisuallyModel Visually
Use Component Use Component 
ArchitecturesArchitectures
Verify QualityVerify Quality
Control Control 
ChangeChange
The time and money spent implementing a 
faulty design are not recoverable
Practice 1: Develop Software Iteratively
�� An initial design will likely be flawed with respect to An initial design will likely be flawed with respect to 
its key requirementsits key requirements
�� LateLate--phase discovery of design defects results in phase discovery of design defects results in 
costly overcostly over--runs and/or project cancellation runs and/or project cancellation 
Waterfall Development
T I M E
Subsystem 
Testing
System Testing
Code & Unit 
Testing
Design
Requirements 
Analysis
Waterfall Development: Risk vs. Time
R
I
S
K
T I M E
Subsystem 
Testing
System Testing
Code & Unit 
Testing
Design
Requirements 
Analysis
Iterative Development
InitialInitial
PlanningPlanning
PlanningPlanning
RequirementsRequirements
Analysis & DesignAnalysis & Design
ImplementationImplementation
TestTest
DeploymentDeployment
EvaluationEvaluation
ManagementManagement
EnvironmentEnvironment
Each iteration 
results in an 
executable release
Risk Profile of an Iterative Development
TransitionTransition
RiskRisk
InceptionInception
ElaborationElaboration
ConstructionConstruction
PreliminaryPreliminary
IterationIteration
Architect.Architect.
IterationIteration
Architect.Architect.
IterationIteration
Devel. Devel. 
IterationIteration
Devel. Devel. 
IterationIteration
Devel. Devel. 
IterationIteration
TransitionTransition
IterationIteration
TransitionTransition
IterationIteration
PostPost--
deploymentdeployment
WaterfallWaterfall
TimeTime
Staffing
Iterative Development Characteristics
� Use Case Driven
� Risk Driven
� Architecture Centric
Iterative Development Advantages
� Critical risks are resolved before making large 
investments 
� Initial iterations enable early user feedback 
� Testing and integration are continuous 
� Objective milestones provide short-term focus
� Progress is measured by assessing 
implementations
� Partial implementations can be deployed
Practice 2: Manage Requirements
�� Elicit, organize, and document required functionality and Elicit, organize, and document required functionality and 
constraintsconstraints
�� Track changes and document tradeoffs and decisions Track changes and document tradeoffs and decisions 
�� Business requirements are easily captured and Business requirements are easily captured and 
communicated through use casescommunicated through use cases
�� Use cases are important planning instrumentsUse cases are important planning instruments
Design Model
Implementation Model Test Model
verifiesrealization influenced by
Use Cases drives 
the work from 
analysis through 
test
Use-Case Model
Catch Requirements Errors Early
Elicit stakeholder
needsAnalyze 
the problem
Gain agreement with the
customer
Model system-user 
interaction
Establish a baseline and
change control process
Use an iterative
approach
Maintain traceability and 
control of evolving 
requirements
Practice 3: Use Component Architectures
� Design, implement and test your architecture up-front!
� A systematic approach to define a “good” architecture
� resilient to change by using well-defined interfaces
� by using and reverse engineering components
� derived from top rank use cases
� intuitively understandable
�� Design, implement and test your architecture upDesign, implement and test your architecture up--front!front!
�� A systematic approach to define a “good” architectureA systematic approach to define a “good” architecture
�� resilient to change by using wellresilient to change by using well--defined interfacesdefined interfaces
�� by using and reverse engineering componentsby using and reverse engineering components
�� derived from top rank use casesderived from top rank use cases
�� intuitively understandableintuitively understandable
SystemSystem--
softwaresoftware
MiddlewareMiddleware
BusinessBusiness--
specificspecific
ApplicationApplication--
specificspecific
Component-based 
Architecture with 
layers
Resilient, Component-Based Architectures 
�� ResilientResilient
�Meet current and future requirements
� Improve extensibility
� Enable reuse
� Encapsulate system dependencies
�� ComponentComponent--basedbased
� Reuse or customization of components 
� Select from commercially-available components
� Incremental evolution of existing software
Visual modeling improves our ability
to manage complexity
Video Clip
OK
Find
Practice 4: Visually Model Software
�� Capture structure and behavior of architectures and Capture structure and behavior of architectures and 
componentscomponents
�� Show how the elements fit togetherShow how the elements fit together
�� Hide or expose details as Hide or expose details as 
appropriateappropriate
�� Maintain consistency Maintain consistency 
between design and implementationbetween design and implementation
�� Promote unambiguous communicationPromote unambiguous communication
What Is the Unified Modeling Language?
� The UML is a language for
� visualizing
� specifying
� constructing
� documenting
the artifacts of a software-intensive system
Visual Modeling Using UML Diagrams
Actor A
Use Case 1
Use Case 2
Actor B 
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repository
document : Document
gFile : GrpFile
9: sortByName ( )
L1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
Window95
¹®¼-°ü¸® 
Ŭ¶óÀ̾ðÆ®.EXE
Windows
NT
¹®¼-°ü¸® ¿£Áø.EXE
Windows
NT
Windows95
Solaris
ÀÀ¿ë¼-¹ö.EXE
Alpha
UNIX
IBM 
Mainframe
µ¥ÀÌŸº£À̽º¼- ¹ö
Windows95
¹®¼-°ü¸® ¾ÖÇø´Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
user
mainWnd fileMgr : 
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 
Reverse 
Engineering
Target
System
Openning
Writing
Reading Closing
add file [ numberOffile==MAX ] / 
flag OFF
add file
close file
close fileUse Case 3
Use case
diagram Class diagram
Collaboration 
diagram
Sequence 
diagram
Component 
diagram
Statechart
diagram
Deployment 
diagram
GrpFile
read( )
open( )
create( )
fillFile( )
rep
Repository
name : char * = 0
readDoc( )
readFile( )
(from Persistence)
FileMgr
fetchDoc( )
sortByName( )
DocumentList
add( )
delete( )
Document
name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )
fList
1
FileList
add( )
delete( )
1
File
read( )
read() fill the 
code..
Practice 5: Verify Software Quality
�� Create tests for each key scenario to ensure that all Create tests for each key scenario to ensure that all 
requirements are properly implementedrequirements are properly implemented
�� Verify software reliabilityVerify software reliability -- memory leaks, bottle necksmemory leaks, bottle necks
�� Unacceptable application performance hurts as much Unacceptable application performance hurts as much 
as missing functionality and unacceptable reliabilityas missing functionality and unacceptable reliability
�� Test every iteration Test every iteration -- automate test!automate test!
Development Deployment
Cost
Software problems
are 100 to 1000 times
more costly to find
and repair after 
deployment
Testing in an Iterative Environment 
Fu
nc
tio
na
lit
y
Fu
nc
tio
na
lit
y Iteration 2Iteration 2
Test Suite 2Test Suite 2
Iteration 3Iteration 3
Test Suite 3Test Suite 3
Iteration 4Iteration 4
Test Suite 4Test Suite 4Test Suite 1Test Suite 1
Iteration 1Iteration 1
A
ut
om
at
ed
A
ut
om
at
ed
Te
st
s
Te
st
s
Practice 6: Control Changes to Software
Change Request Management
Configuration Management
Measurement
Configuration Management Concepts
�� Decompose the architecture into Decompose the architecture into subsystems subsystems 
�� Assign subsystems to a Assign subsystems to a teamteam
�� Establish Establish secure workspacessecure workspaces for each developerfor each developer
� Provide isolation from changes made in other workspaces 
� Control all software artifacts - models, code, docs, etc.
�� Establish an Establish an integrationintegration workspaceworkspace
�� Establish an enforceable Establish an enforceable change controlchange control mechanismmechanism
�� Release a Release a tested baselinetested baseline at the completion of each at the completion of each 
iterationiteration
Change requests come from 
many sources throughout the 
product lifecycle
Change Request Management Concepts
Require. 
& Use 
Cases
Tests
Vision
Change 
Request
System
New Feature
New Requirement
Fix Bug
Approved Decisions
Change Control
Process
Customer and
End-User Inputs
Marketing
Developer inputs
Testers inputs
Code
Measurement
Priority 1
Defects
Day
0
1
2
3
4
5
6
7
8
9
10
11 12 13 14 15 16 17 18 19 20
Closures per day 
Discovery per day
Divergi
ng?
Conver
ging?
Objective measurements provide meaningful 
project status information
Best Practices Reinforce Each Other
DevelopDevelop
IterativelyIteratively
Manage Manage 
RequirementsRequirements
Control ChangesControl Changes
Verify QualityVerify Quality
Use Component Use Component 
ArchitecturesArchitectures
Model Visually Model Visually 
(UML)(UML)
Best
Practices
Best
Practices
Validates architectural 
decisions early on
Addresses complexity of 
design/implementation incrementally
Measures quality early and often
Evolves baselines incrementally
Ensures users involved 
as requirements evolve
Summary: Best Practices of Software Engineering
�� The result is software that isThe result is software that is
�On Time
�On Budget 
�Meets Users Needs
Project
Manager
Performance
Engineer
Release
Engineer
Analyst
Developer
TesterBestPractices
Best
Practices
Develop IterativelyDevelop Iteratively
Manage Manage 
RequirementsRequirements
Model VisuallyModel Visually
Use Component Use Component 
ArchitecturesArchitectures
Verify QualityVerify Quality
Control Control 
ChangeChange
Agenda
�� Why Rational Software focuses on processWhy Rational Software focuses on process
�� What is the problemWhat is the problem
�� 6 fundamental Best 6 fundamental Best PractticesPracttices
�� Structure of the Unified Software ProcessStructure of the Unified Software Process
�� The Rational Unified Process productThe Rational Unified Process product
History
Objectory 
Process 3.8
Rational
Approach
Rational Objectory 
Process 4.0 12/1996
Rational Objectory 
Process 4.1
10/1997
SQA
Process
Requirements
College
UML 0.8
Rational Unified 
Process 5.1
Configuration
& change Mgmt
1998
1995
Business
Engineering
Data Engineering
Objectory
UI design
Performance
testing
UML 1.1
OMT
Booch
Rational Unified 
Process 5.5
UML 1.3Project management
Real-time
ROOM
1999
Example artifacts
Java programming guidelines
E-development roadmap
Project Web site template
Signifies a role
that may be 
played by an 
individual or a 
team of 
individuals in 
the 
development 
organization
Worker
Use-Case 
Specifier
Process Notation
Activity
Describes a piece of 
work a worker may 
be asked to 
perform.
Describe a 
Use Case
Signifies a piece of 
information that is 
produced, modified, or 
used by a process
Artifact
Use-Case 
Package
Use Case
responsible for
Workers Are Used for Resource Planning
Res ource Worker Activitie s
Paul
Mary
Joe
Sylvia
Stefan
Designer
Use-Case Specifier
Use-Case Designer
DesignReviewer
Architect
Define Operations
...
Describe a Use Case
...
Distribute Behavior
...
ReviewUse-Case Model
...
Define Use-Case View
Define LogicalViiew
...
Each individual in the 
project is assigned to 
one or several workers
Process Architecture
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary 
Iteration(s)
Iter.
#1
Phases
Process Workflows
Iterations
Supporting Workflows
Iter.
#2
Iter.
#n
Iter.
#n+1
Iter.
#n+2
Iter.
#m
Iter.
#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Time
Content
Phases in the Process
The Unified Software Process has four phases:The Unified Software Process has four phases:
�� Inception Inception -- Define the scope of projectDefine the scope of project
�� Elaboration Elaboration -- Plan project, specify features, baseline Plan project, specify features, baseline 
architecture architecture 
�� Construction Construction -- Build the productBuild the product
�� Transition Transition -- Transition the product into end user communityTransition the product into end user community
time
Inception Elaboration Construction Transition
Major Major 
MilestonesMilestones
Inception Phase
�� PurposePurpose
•• To establish the business case for a new system or for To establish the business case for a new system or for 
a major update of an existing systema major update of an existing system
•• To specify the project scopeTo specify the project scope
�� OutcomeOutcome
•• A general vision of the project’s requirements, i.e., the A general vision of the project’s requirements, i.e., the 
core requirementscore requirements
–– Initial useInitial use--case model and domain model (10case model and domain model (10--20% 20% 
complete) complete) 
•• An initial business case, including:An initial business case, including:
–– Success criteria (e.g., revenue projection)Success criteria (e.g., revenue projection)
–– An initial risk assessmentAn initial risk assessment
–– An estimate of resources requiredAn estimate of resources required
�� Milestone: Lifecycle ObjectivesMilestone: Lifecycle Objectives
Elaboration Phase
�� PurposePurpose
•• To analyze the problem domainTo analyze the problem domain
•• To establish a sound architectural foundationTo establish a sound architectural foundation
•• To address the highest risk elements of the projectTo address the highest risk elements of the project
•• To develop a comprehensive plan showing how the project To develop a comprehensive plan showing how the project 
will be completedwill be completed
�� OutcomeOutcome
•• UseUse--case and domain model 80% completecase and domain model 80% complete
•• An executable architectureand accompanying An executable architecture and accompanying 
documentationdocumentation
•• A revised business case,A revised business case, inclincl. revised risk assessment. revised risk assessment
•• A development plan for the overall projectA development plan for the overall project
�� Milestone: Lifecycle ArchitectureMilestone: Lifecycle Architecture
Construction Phase
� Purpose
• To incrementally develop a complete software product 
which is ready to transition into the user community
� Products
• A complete use-case and design model
• Executable releases of increasing functionality
• User documentation
• Deployment documentation
• Evaluation criteria for each iteration
• Release descriptions, including quality assurance 
results
• Updated development plan
� Milestone: Initial Operational Capability
Transition Phase
�� PurposePurpose
•• To transition the software product into the user To transition the software product into the user 
communitycommunity
�� ProductsProducts
•• Executable releasesExecutable releases
•• Updated system modelsUpdated system models
•• Evaluation criteria for each iterationEvaluation criteria for each iteration
•• Release descriptions, including quality assurance Release descriptions, including quality assurance 
resultsresults
•• Updated user manualsUpdated user manuals
•• Updated deployment documentationUpdated deployment documentation
•• “Post“Post--mortemmortem” analysis of project performance ” analysis of project performance 
�� Milestone: Product ReleaseMilestone: Product Release
Iterations and Phases
An An iterationiteration is a distinct sequence of activities with an is a distinct sequence of activities with an 
established plan and evaluation criteria, resulting in an established plan and evaluation criteria, resulting in an 
executable release (internal or external).executable release (internal or external).
PreliminaryPreliminary
IterationIteration
Architect.Architect.
IterationIteration
Architect.Architect.
IterationIteration
Devel. Devel. 
IterationIteration
Devel. Devel. 
IterationIteration
Devel. Devel. 
IterationIteration
TransitionTransition
IterationIteration
TransitionTransition
IterationIteration
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Releases
Iteration Assessment
Iteration N+1 PlanIteration N+1 Plan
•• CostCost
•• ScheduleSchedule
•• ContentContent
•• Compare iteration actual cost, Compare iteration actual cost, 
schedule, and content with iteration schedule, and content with iteration 
planplan
•• Determine rework (if any) to be doneDetermine rework (if any) to be done
•• Assign to future iteration(s)Assign to future iteration(s)
•• Determine what risks have been Determine what risks have been 
eliminated, reduced, or newly eliminated, reduced, or newly 
identified in this iterationidentified in this iteration
•• Update project planUpdate project plan
•• Prepare detailed plan for next Prepare detailed plan for next 
iterationiteration
•• Use revised risk list and select Use revised risk list and select 
appropriate scenariosappropriate scenarios
Iteration N AssessmentIteration N Assessment
Iteration N Cost andIteration N Cost and
ScheduleSchedule ActualsActuals Revised Risk ListRevised Risk List
Quality AssessmentQuality Assessment
for Iteration Nfor Iteration N
•• Test ResultsTest Results
•• Defect DensityDefect Density
•• Architecture Architecture 
StabilityStability
•• Other metricsOther metrics
Revised Project PlanRevised Project Plan
•• Total CostTotal Cost
•• OverallOverall
ScheduleSchedule
•• Scope/ContentScope/Content
Each major workflow describes 
how to create and maintain a 
particular model
Models and Workflows
Design
Model
Implementation
Model
Test
Model
realized by
implemented by
Requirements
Workflow
Analysis Design
Workflow
Implementation
Workflow
Test Workflow
Use-Case
Model
Business
Modeling
Business Model
verified by
Bringing It All Together...
Phases
Process Workflows
Iterations
Supporting Workflows
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary 
Iteration(s)
Iter.
#1
Iter.
#2
Iter.
#n
Iter.
#n+1
Iter.
#n+2
Iter.
#m
Iter.
#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
Workflows
group 
activities 
logically
In an iteration, 
you walk through 
all workflows
Example of a Workflow
Agenda
�� Why Rational Software focuses on processWhy Rational Software focuses on process
�� What is the problemWhat is the problem
�� 6 fundamental Best 6 fundamental Best PractticesPracttices
�� Structure of the Unified Software ProcessStructure of the Unified Software Process
�� The Rational Unified Process productThe Rational Unified Process product
Process Made Practical
�� RoleRole--based activity supportbased activity support
�� Accessible, easy to use, webAccessible, easy to use, web--enabledenabled
�� Automated by toolsAutomated by tools
�� ee--coach integrated with toolscoach integrated with tools
�� Configurable and customizableConfigurable and customizable
Process Delivery In the Past….
�� Thick binder on every developers shelfThick binder on every developers shelf
�� ….collecting dust…….collecting dust…
�� hard to understand, hard to use, seen as driving hard to understand, hard to use, seen as driving 
overheadoverhead
Role-based Activity Support
�� ValueValue--add to each team memberadd to each team member
�� Detailed handsDetailed hands--on guidelineson guidelines
�� ProductivityProductivity--enhancing document templatesenhancing document templates
�� NonNon--intrusiveintrusive
Signifies a role
that may be 
played by an 
individual or a 
team of 
individuals in 
the 
development 
organization
Worker
UseUse--Case Case 
SpecifierSpecifier
Activity
Describes a piece of 
work a worker may 
be asked to 
perform.
Describe a 
Use Case
Signifies a piece of 
information that is 
produced, modified, or 
used by a process
Artifact
UseUse--Case Case 
PackagePackage
Use CaseUse Case
responsible forresponsible for
Easy to Use
�� Interactive knowledge base accessible from toolsInteractive knowledge base accessible from tools
�� WebWeb--enabled with powerful graphical navigationenabled with powerful graphical navigation
�� Search engine, index...Search engine, index...
Searchable Searchable 
Accessible Accessible 
NavigableNavigable
Easy to useEasy to use
Automated by Tools
Tool mentors
Report generation scripts
Stereotype icons
Tool mentors
Test templates
Tool mentors 
Requirement templates
Tool mentors
Document templates
VB Design
guidelines
Tool mentors
CM guidelines
Change management 
guidelines
Tool mentors
Ada, C++ Prog.
guidelines Tool mentorsRoseRoseRose
SoDASoDA
ClearQuestClearQuestClearQuest
RobotRobotRobot
ClearCaseClearCaseClearCase
ApexApexApex
Microsoft 
Visual Studio
Microsoft Microsoft 
Visual StudioVisual Studio
Purify
Quantify
PureCoverage
PurifyPurify
QuantifyQuantify
PureCoveragePureCoverage
RequisiteProRequisiteProRequisitePro
e-coach - Tool Mentor
Set Up the Implementation Model 
Create an Integration and Build Workspace 
Create Private Workspace 
Check Out and Check In 
Configuration Items 
Promote Configuration Items 
Baseline the Project 
Release Subsystem(s)
Baseline the Project 
Tool Mentor Topics - Using ClearCase to...
e-coach - Extended Help
Context sensitive 
process 
guidance from 
tools
Questions?
�� Please feel free to contact me at Please feel free to contact me atjpechjpech@rational.com or 319@rational.com or 319--228228--87818781
�� www.rational.comwww.rational.com
�� IBM Application Framework for eIBM Application Framework for e--businessbusiness
� www.ibm.com/ebusiness
�� Microsoft Windows DNAMicrosoft Windows DNA
� www.microsoft.com/dna

Outros materiais