Transcript PPTX
RUP/UP Software
Development Method
Hoang Huu Hanh, Hue University
hanh-at-hueuni.edu.vn
Contents
Summary of Rational Unified Process
RUP Structures and Roles
Project Management Systems and
Procedures in RUP
RUP and different types of software
projects
2
RUP. Some History Behind
The need in software development
process
What is a software development process
History of RUP
RUP and UP
3
Summary of RUP
Use-case driven
Architecture-oriented
Iterative and Incremental
4
Use-case driven
What is a use-case?
Use-case driven principle:
Requirements
Analysis
Design
Implementation
Testing
5
Architecture Oriented
Architecture Grows from Use-Cases.
Steps to build architecture:
Draft version not related to use-cases
Use-cases that correspond to the system key
functionalities
The built architecture serves as a base for
subsequent development of other use-cases
6
Iterative and Incremental
Big project is split in many mini-projects
called iterations
Each iteration increments the overall
project result
7
Guidelines for Planning Iterations
Iteration should deal with the group of usecases which increases the usefulness of
the product over time.
The most serious risks are handled by
earlier iterations
8
Advantages of Iterative Process
Financial risks are limited to one iteration only
The risks of late product delivery are reduced.
Iterations speeds up the overall development
process as short and clear plan is more
preferable for efficient work
Facilitates requirements elicitation
9
Project Life-Cycle in RUP
All iterations are organized into 4 phases:
Inception
Elaboration
Construction
Transition
Milestones are used to evaluate the
project progress
10
RUP Structures – elements
Entities that make up RUP (Kruchten)
Worker:
the who
Activities: the how
Artifacts: the what
Workflows: the when
The above are predefined
Relations predefined
All together define process framework
11
RUP Elements - workers
Responsibilities of:
Individual
or
Number of individuals
Behavior determined by activities
Responsible for artifacts
12
RUP Elements - activities
Create result (artifacts)
Take from a few hours to a few days
Activity can be applied many times to the
same artifact
Basic steps of activity
Thinking
Performing
Reviewing
13
RUP Elements - artifacts
Main pieces of the project
Produced, modified and used during
activities
Fall into following sets:
Management
(ex: software development plan)
Requirements (ex: specifications)
Design (ex: design model)
Implementation (ex: source code)
Deployment (ex: training material)
14
RUP Elements – workflows
“A workflow is a sequence of activities that
produces a result of observable value”.
Grouped in categories
Core
Workflow
details
Iteration plans
15
RUP Elements – workflows cont.
16
RUP Elements – additional
Guidelines
Templates
Tool mentors
Concepts
17
Roles in RUP
Each artifact has worker assigned to it
All workers are defined (fixed)
Behavior determied by workflow the artifact
belongs to
18
Roles in RUP - examples
Project management workflow
Project
manager
Project reviewer
Requirements workflow
System
analyst
Use-case specifier
User-interface designer
Requirements reviewer
19
Project Management Systems and
Procedures in RUP
Project planning
Project control
Risk management
Project evaluation
20
RUP project planning
Phase plan
Iteration plan
Planning supporting tool
21
RUP project control
Project indicators
Change control
management (CCM)
22
RUP risk management
Risk-driven approach :
Risk
List
Use-case Survey
Development Case
23
RUP project evaluation
Iteration close-out
Phase close-out
Transition phase close-out
24
RUP and different types of software
projects
25
RUP Process for Commercial
Software
High number of iterations
Extensive testing
A
lot of test-cases
Regression testing
Remember to keep a balance between
quality assurance and time to market
26
RUP for Contract Software
High number of iterations
Focus more on requirements elicitation in
the beginning
Active
prototyping
User involvement
Focus more on testing in the end
27
RUP for In-house Software
Very close to waterfall model
Small
number of iteration
Good testing is preferred
28
Conclusion - Advantages of RUP
architecture brings us overall understanding of
the big and complex system
early risk handling
easier requirements change management
high level of reuse
project teams learn easier because the project is
broken down into small manageable parts
better quality assurance
Extensive CASE tool support
29
Conclusion – Disadvantages of
RUP
Very broad and complex
You have to customize it to start really
using it
Demands big initial efforts and
investments
30
Waterfall model
C o m m u n ic a t io n
p ro je c t in it ia t io n
re q u ire m e n t g a t h e rin g
Planning
es tima ting
sc he duling
track ing
M o d e lin g
a n a ly s is
d e s ig n
C o n st r u c t io n
c ode
t es t
D e p lo y m e n t
d e liv e ry
s u p po rt
f eedback
31
Questions?
32