RUP

advertisement
Unified Process
An Introduction
Presented by Jing Zou
May 9, 2003
1
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
2
Preface
Good Start  Unified Process (UP) is a de facto standard
development process within the object-oriented and
component-based software communities.
Product  Rational Unified Process (RUP)
More Needed  Enterprise Unified Process (EUP) is a
software process that reflects the full lifecycle of
software-based systems.
3
Reasons for UP
1) Software becomes more complex and is updated fast
2) Software developers uses methods
that are as old as 25 years ago.
3) Development process is diverse
4
Precursor of UP
Set of activities to transform a user’s requirements into a software.
User’s
Requirement Software development
Process (diversity)
Software
System
UP
5
What does UP do?
1)
2)
3)
4)
Provides guidance to the order of team’s activities
Integrates team’s work and individual’s work
Specifies artifacts
Offers criteria for monitoring and measuring
6
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
7
History of UP 1
8
History of UP 2
9
About authors
Ivar Jacobson
James Rumbaugh
Grady Booch
10
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
11
3 Key Aspects of UP
1) Use-case driven
2) Architecture-centric
3) Iterative and incremental
12
I. Use-Case Driven
Use-Case driven means:
Development process proceeds through a
series of workflows that derive from use cases.
13
 3 Terminologies
Users: someone or something that interact with system.
Use Case: interaction between users and system,---what is the
system supposed to do for each user?
Use Case Model: collection of use cases; description of
complete functionality
14
 Initiate AND bind
1) Tool for specifying requirements
2) Driving design
3) Source for testing
15
II. Architecture-Centric
Architecture is the view of the whole design with key
Characteristics and without too many details
 Only 5-10% use cases
 growth with use case in parallel (structure and function)
16
 Simplified Process
1) Rough outline (use case independent)
2) Subset of the identified use cases (5-10%)
3) More use cases specified, more architecture discovered
17
 Use case & Architecture
Use case
drive
influence
System architecture
18
III. Iterative and Incremental ??
Iteration: Steps in the workflow (mini-project)
 Create a design for relevant use cases
 Implement with components
 Required iteration in logical order for economy
Increments: Growth in the product (might not be additive)
19
 Benefits to controlled iteration
1)
2)
3)
4)
Reduce the cost risk to the expenditures on a single increment
Reduce the risk of delayed product delivery (find the risks earlier)
Speed up the tempo of the whole development effort
Easier to adapt to the requirement modification
20
Relationship of 3 concepts
USE CASE
define
Goals
drive
drive
influence
ITERATION
guide
ARCHITECTURE
21
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
22
Lifecycle of UP
• Each cycle concludes with a product release to customers.
• Each cycle consists of 4 phases:
1) Inception
2) Elaboration
3) Construction
4) Transition
23
Phases within the cycle
X-abscissa
24
End of a Cycle
At the end, a software product is releasable
Finished product includes
1) requirements
2) use cases
3) nonfunctional requirements
4) test cases
5) artifacts modeled by the UML
25
For New Cycle
For every new cycle, we need
•
•
•
•
•
•
•
Use-case model
Analysis model
Design model
Implementation Model
Deployment model
Test model
Representation of the architecture
26
Phases within the cycle
X-abscissa
27
Phase I --> Inception
• Develop a good idea into a vision of the
end product
• Business case for the product is presented
-Establish goals
-Build business case
-Identify essential system requirement
-Initiate risk management(cost, time, political environment )
28
Phase II --> Elaboration
Here, architecture is expressed as a view of different models
- Develop architecture
- Capture functional requirements as use cases
- Identify non-functional requirements
- Plan the construction
- Continue risk management
29
Phase III --> Construction
Muscle built : software added to the architecture
- Build the System
- Maintain architectural integrity
(Architecture is stable but might has minor changes)
- Iterative, Incremental
-However, is it sufficient to take early delivery?
30
Phase IV --> Transition
Products move to beta release.
Trial
Defects and deficiencies are reported.
Corrections and improvements
- Final testing( system, acceptance, beta )
- Training customer personnel
- Documentation, installation and consultation
- Perform postmortem review
31
Modeling Disciplines of UP
Business Modeling: Model the business context, the scope,
of the system.
Requirement:
Engineer the requirements for the project,
Analysis and Design:Evolve a robust architecture for the system
Enterprise Management: Encompasses activities that are outside
of the scope of a single project,
32
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
33
RUP and UP
UP is more of a philosophy of how to
run development projects
RUP is Rational commercial product
34
Rational Corporate Introduction
Background Introduction
Products Introduction:
1) Requirements & analysis
Rational Suite® AnalystStudio
2) Visual modeling & development
Rational Suite® DevelopmentStudio
3)Automated Testing
Rational Suite® TestStudio®
4)Project Management
Rational Unified Process®
5)Configurable Process
RUP
35
UML and RUP
UML: international standard for object-oriented modeling.
RUP uses UML to prepare blueprints of the software
How to build a use case diagram?
“…We are making inroads into many corporations today,
and it's our goal to get there. We don't think it would be an
easy thing to make the Unified Process a standard;…
And I think that everyone that looks at the Rational Unified Proce
convinced this is the way they've got to do it….”
36
Successful Cases
1.
2.
3.
4.
ARINC, Inc.
Lawrence Livermore National Laboratory
Smith and Barney
IBM
37
RUP view I
38
RUP view II
Arrow Diagram
39
Build Web Solutions with RUP
40
1)
2)
3)
4)
5)
6)
Requirement
Creative Design Brief
Navigation Map
Creative Design Comps (prototype the user interface)
Web Design Elements
…
41
42
RUP Demos
http://www.rational.com/demos/viewlets/rup/rup_platform/
RUP_Platform_viewlet.html
Show demo 1-8
Show demo 23-30
43
RUP strengths
Strength of RUP:
1) Based on sound SwE principles
2) Mechanisms that provide management visibility into the
development process
3) HTML-based description of the RUP
44
RUP weaknesses
Weaknesses of RUP:
1)
2)
3)
4)
Only developing process, not the entire software process
Not supporting multi-system infrastructure development efforts
Iterative nature foreign to experienced developers
Tool-driven approach, not sufficient for complex system
45
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
46
Extend RUP to EUP
1) Add processes for operation, support, and maintenance.
2) Add support for the management of a portfolio of projects
47
The Lifecycle for the EUP
48
Tailored RUP
49
Augmented lifecycle for the EUP
50
Milestones & Phase
Each phase terminates in a milestone
(significant point in development)
Purposes:
• Make decision to move on
• Enable management/developers to monitor work process
• Keep track of time and effort
51
Phase V --> Production
Keep software in production until it is
1) Replaced with a new version
2) Retired and removed from the production
(note: no iteration)
52
Phase VI --> Retirement
Remove system from production because:
1) No longer needed
2) Being replaced
Activities:
1) Comprehensive analysis
2) Redesign and rework of other existing systems
3) Transformation of existing legacy data
4) Archival of data
5) Configuration management of the removed software
6) System integration testing of the remaining system
53
Outline
•
•
•
•
•
•
•
UP INTRODUCTION(what and why)
UP HISTORY
THREE KEY ASPECTS
LIFECYCLE OF UP
RUP
EUP
CONCLUSION
54
Conclusion
6 Best Practices
•
•
•
•
•
•
Iterative Software Deployment
Manage Requirements
Component-based architecture
Visually model software
Quality Control
Configuration Management
55
• RUP is component based.
• RUP uses visual modeling standard UML and rely on 3 aspects
• Establishes a framework that integrates all different facets
such as workflows, risk mitigation, quality control and etc.
• Developers can build different models
56
Download