Introduction to Rational Unified Process
-
Upload
deacon-cline -
Category
Documents
-
view
91 -
download
3
description
Transcript of Introduction to Rational Unified Process
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 1 R
Introduction to Rational Unified Process
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 2 R
Objectives: Rational Unified Process
Describe the Describe the Unified Modeling Language (UML)Unified Modeling Language (UML) Define what a Define what a software development processsoftware development process is is Describe the Describe the Rational Unified ProcessRational Unified Process Explain the four Explain the four phasesphases of the Rational Unified Process and of the Rational Unified Process and
their associated milestonestheir associated milestones Define Define iterations iterations and their relation to phases and their relation to phases Explain the relations between: Explain the relations between:
Models and workflows Phases, iterations, and workflows
Define Define artifactartifact, , workerworker, and, and activityactivity State the importance of automated tool supportState the importance of automated tool support
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 3 R
Team-Based Development
Modeling Language
Building a System - A Language Is Not Enough
Process
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 4 R
What Is the UML?
The Unified Modeling Language (UML) is a language forThe Unified Modeling Language (UML) is a language for• Specifying• Visualizing• Constructing• Documenting
the artifacts of a software-intensive systemthe artifacts of a software-intensive system
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 5 R
UML History
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 6 R
Inputs to UML
Fusion
Operation descriptions,Message numbering
Meyer
Before and after conditions
Harel
State charts
Wirfs-Brock
Responsibilities
Embley
Singleton classes, High-level view
Odell
Classification
Shlaer - Mellor
Object Lifecycles
Gamma, et.al
Frameworks, patterns,notes
Booch
JacobsonRumbaugh
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 7 R
The UML Provides Standardized Diagrams
DeploymentDiagram
DeploymentDiagram
Use CaseDiagrams
Use CaseDiagramsUse Case
Diagrams
Use CaseDiagramsUse Case
Diagrams
Use CaseDiagrams
ScenarioDiagrams
ScenarioDiagramsScenario
Diagrams
ScenarioDiagramsSequence
Diagrams
SequenceDiagrams
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsState
Diagrams
StateDiagrams
ComponentDiagrams
ComponentDiagramsComponent
Diagrams
ComponentDiagramsComponentDiagrams
ComponentDiagrams
Model
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsObject
Diagrams
ObjectDiagrams
ScenarioDiagrams
ScenarioDiagramsScenario
Diagrams
ScenarioDiagramsCollaboration
Diagrams
CollaborationDiagrams
Use CaseDiagrams
Use CaseDiagramsUse Case
Diagrams
Use CaseDiagramsActivity
Diagrams
ActivityDiagrams
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsClass
Diagrams
ClassDiagrams
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 8 R
A Sample UML Diagram: Use Cases
A University Course Registration SystemA University Course Registration System
Submit Grades
Professor
View Report Card
Select Courses to Teach
Student
Course Catalog
Register for Courses Maintain Student Information
Maintain Professor InformationRegistrar
Billing SystemClose Registration
Login
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 9 R
A Sample UML Diagram: Classes
A University Course Registration SystemA University Course Registration System
MainForm
// select maintain schedule()
<<boundary>> MaintainScheduleForm
+ // open()+ // select 4 primary and 2 alternate offerings()
<<boundary>>
1 0..11
CourseCatalogSystem
// get course offerings()
<<boundary>>1 0..*
RegistrationController
// add courses to schedule()// get course offerings ()
<<control>>
1
1
Schedule
// create with offerings()
<<entity>>
1
0..1
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 10 R
UML Diagrams Are Key System Artifacts
Actor A
Use Case 1
Use Case 2
Actor B
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFile
9: sortByName ( )
L1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
GrpFile
read( )open( )create( )fillFile( )
rep
Repository
name : char * = 0
readDoc( )readFile( )
(from Persistence)
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() fill the code..
UI
MFC
RogueWave
global
DocumentApp
Persistence Window95
¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®.EXE
WindowsNT
¹®¼ °ü¸® ¿£Áø.EXE
WindowsNT
Windows95
Solaris
ÀÀ¿ë¼ ¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼ ¹ö
Windows95
¹®¼ °ü¸® ¾ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö
Document
FileManager
GraphicFileFile
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 ( )
ƯÁ¤¹®¼ ¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.
Customernameaddr
withdraw()fetch()send()
receive()
<<entity>>
Forward Engineering(Code Generation)and
Reverse Engineering
Executable System
User InterfaceDefinition
Domain Expert
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Use Case 3
Source Code edit, compile, debug, link
Use-Case Diagram
Class Diagram
Collaboration Diagram
Sequence Diagram
Component Diagram
State Diagram
Package Diagram
Deployment DiagramClass
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 11 R
New or changed
requirements
New or changed
system
Software EngineeringProcess
What Is a Process?
A process defines A process defines WhoWho is doing is doing WhatWhat, , WhenWhen and and How How to to reach a certain goal. In software engineering the goal is to reach a certain goal. In software engineering the goal is to build a software product or to enhance an existing onebuild a software product or to enhance an existing one
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 12 R
An Effective Process ...
Provides guidelines for efficient development of quality Provides guidelines for efficient development of quality softwaresoftware
Reduces risk and increases predictability Reduces risk and increases predictability Captures and presents best practicesCaptures and presents best practices
Learn from other’s experiences Mentor on your desktop Extension of training material
Promotes common vision and culturePromotes common vision and culture Provides roadmap for applying toolsProvides roadmap for applying tools Delivers information on-line, at your finger tipsDelivers information on-line, at your finger tips
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 13 R
Rational Unified Process Delivers Best Practices
Rational Unified Process describes how to effectively Rational Unified Process describes how to effectively implement the six best practices for software developmentimplement the six best practices for software development
Control ChangesControl Changes
Manage RequirementsManage Requirements
Use Use ComponentComponent
ArchitecturesArchitectures
DevelopDevelopIterativelyIteratively
Model Model VisuallyVisually
VerifyVerifyQualityQuality
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 14 R
Rational Unified Process Is Use-Case Driven
Withdraw Money
Client
An An actoractor is someone or is someone or something outside the something outside the system that interacts system that interacts with the systemwith the system
A A use caseuse case is a sequence is a sequence of actions a system of actions a system performs that yields an performs that yields an observable result of observable result of value to a particular value to a particular actoractor
Check Balance
Use Cases for a Cash Machine
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 15 R
Use Cases Include a Flow of Events
Flow of events for the Withdraw Money Use CaseFlow of events for the Withdraw Money Use Case1. The use case begins when the client inserts her ATM card.
The system reads and validates information on the card.2. The system prompts for the PIN. The system validates the
PIN.3. The system asks which operation the client wishes to perform.
The client selects “Cash withdrawal.”4. The system requests the amount. The client enters the
amount.5. The system requests the account type. The client selects
checking or savings.6. The system communicates with the ATM network . . .
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 16 R
Benefits of a Use-Case Driven Process
Use cases are concise, simple, and understandable by a Use cases are concise, simple, and understandable by a wide range of stakeholderswide range of stakeholders End users, developers and acquirers understand functional
requirements of the system Use cases drive numerous activities in the process:Use cases drive numerous activities in the process:
Creation and validation of the design model Definition of test cases and procedures of the test model Planning of iterations Creation of user documentation System deployment
Use cases help synchronize the content of different modelsUse cases help synchronize the content of different models
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 17 R
Rational Unified Process Is Architecture-Centric
Architecture is the focus of the elaboration phaseArchitecture is the focus of the elaboration phase Building, validating, and baselining the architecture constitute
the primary objective of elaboration The Architectural Prototype validates the architecture and The Architectural Prototype validates the architecture and
serves as the baseline for the rest of developmentserves as the baseline for the rest of development The Software Architecture Description is the primary artifact The Software Architecture Description is the primary artifact
that documents the architecture chosenthat documents the architecture chosen Other artifacts derive from architecture:Other artifacts derive from architecture:
Design guidelines including use of patterns and idioms Product structure Team structure
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 18 R
Representing Architecture: The 4+1 View Model
Process View
Deployment View
Logical View
Implementation View
Programmers Software management
PerformanceScalabilityThroughput
System IntegratorsSystem topology
Delivery, installationcommunication
System Engineering
Use-Case View
Structure
Analysts/Designers End-user
Functionality
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 19 R
Benefits of an Architecture-Centric Process
Architecture lets you gain and retain intellectual control over Architecture lets you gain and retain intellectual control over a project, to manage its complexity, and to maintain system a project, to manage its complexity, and to maintain system integrityintegrity
Architecture provides an effective basis for large-scale reuseArchitecture provides an effective basis for large-scale reuse Architecture provides a basis for project managementArchitecture provides a basis for project management Architecture facilitates component-based developmentArchitecture facilitates component-based development
A component fulfills a clear function in the context of a well-defined architecture
A component conforms to and provides the physical realization of a set of interfaces
Components exist relative to a given architecture
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 20 R
InceptionInception 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 Elaboration - Plan project, specify features, baseline
architecture Construction - Build the product Transition - Transition the product into end user community
time
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 21 R
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Phase Boundaries Mark Major Milestones
Lifecycle Objective Milestone
Lifecycle Architecture
Milestone
Initial Operational Capability Milestone
Product Release
time
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 22 R
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 established plan and evaluation criteria, resulting in an executable release (internal or external)an executable release (internal or external)
PreliminaryPreliminaryIterationIteration
Architect.Architect.IterationIteration
Architect.Architect.IterationIteration
Devel. Devel. IterationIteration
Devel. Devel. IterationIteration
Devel. Devel. IterationIteration
TransitionTransitionIterationIteration
TransitionTransitionIterationIteration
InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition
Minor Milestones: Releases
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 23 R
Major Workflows Produce Models
Analysis & Analysis & DesignDesign
DesignModel
ImplementationModel
TestModel
realized by
implemented by
verified by
RequirementsRequirements
ImplementationImplementation
TestTest
Use-CaseModel
BusinessBusinessModelingModeling
Business Model
supported by
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 24 R
Bringing It All Together: The Iterative Model
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary Iteration(s)
Iter.#1
PhasesProcess 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
Workflows group activities logically
In an iteration, you walk through all workflows
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 25 R
Requirements Workflow
U se-C ase Specifier
R equirem entsR eview er
U ser-In terfaceD esigner
C apture a C om m on
Vocabulary
F ind Actors and U se C ases
R eviewR equirem ents
S tructure the U se-C ase M odel
U ser-In terfacePrototyp ing
D eta il a U se C ase
E lic it S takeholder N eeds
M anage D ependencies
Arch itectP rioritize
U se C ases
D evelopVision
U ser-In terfaceM odeling
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 26 R
Analysis & Design Workflow
Architect
D esigner
A rch itectura lAnalysis
A rchitectureR eview er
R eview theD esign
R eview theArch itecture
U se-C aseAnalysis
A rch itectura lD esign
D escribeC oncurrency
D escribeD istribution
D atabaseD esigner
C lassD esign
Subsystem D esign
U se-C ase D esign
D atabaseD esign
D esignR eview er
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 27 R
Implementation Workflow
In tegrateSystem
Architect
System In tegrator
Im plem enter
Code R eviewer
Im plem ent C lasses
Perform Unit Test
S tructure theIm plem entation M odel
IntegrateSubsystem
Review C ode
Fix a Defect
P lan System Integration
P lan Subsystem Integration
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 28 R
Test Workflow
D esign Test
Im plem entTest
Test D esigner
Integration Tester
System Tester
Evaluate Test
Execute IntegrationTest
Execute System Test
D esigner
D esign Test C lasses and Packages
Im plem enterIm plem ent Test C om ponents
and Subsystem s
P lanTest
Perform anceTester
Execute Perform ance Test
Unified Software Practices v 5.0Copyright 1998 Rational Software, all rights reserved 29 R
The The Unified Modeling Language (UML)Unified Modeling Language (UML) is a language for is a language for specifying, visualizing, constructing, and documenting specifying, visualizing, constructing, and documenting the artifacts of a software-intensive systemthe artifacts of a software-intensive system
A software development process defines A software development process defines WhoWho is doing is doing What, When What, When andand How How in building a software product in building a software product
The Rational Unified Process has four phases: The Rational Unified Process has four phases: Inception, Elaboration, Construction and TransitionInception, Elaboration, Construction and Transition
Each phase ends at a major milestone and contains one Each phase ends at a major milestone and contains one or more iterationsor more iterations
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 releaseexecutable release
Summary: Rational Unified Process