Chapter 2
The Unified Process
Chapter objectives
What is Unified Process? UP and RUP UP axioms
Iterations and increments
UP structure UP phases
What is UP?
It is a software development process (or methodology) A software development process defines the who, what, when and how of developing software UP is a process from the authors of UML UP is not standardized by OMG
UP goes back to 1967 and the Ericsson approach
Jacobson is the main contributor to its development
UP evolution
UP and RUP
UP is an open source methodology from authors of UML RUP (Rational Unified Process) is a commercial version of UP from IBM
It supplies all of the standards and tools not included in UP
Come with a rich web-based environment and extend UP Our textbook describes UP
Instantiating UP for your project
Software projects tend to be different Instantiation process involves definition of:
In-house standards
Document templates
Tools
Databases
Modifications
UP axioms
Requirements and risk driven Architecture-centric Iterative and incremental
UP an iterative and incremental process
Iteration
Break down a large SW project into smaller chunks (mini projects)
Completion of each mini project is an iteration
Each iteration contains all phases of a SW development project
Each iteration creates a baseline
Internal or external release
The difference between two consecutive iterations is an increment
Iteration Workflows
Requirements
Analysis
Design Implementation Test
UP Structure
UP Phases and Workflows
UP Phases: Inception
Goals:
Establish feasibility
Create a business case Capture essential requirements
Identify risks
Focus
Requirements and analysis
Milestone
Life Cycle Objectives
UP Phases: Elaboration
Goals:
Create architectural baseline Refine risk assessment Define quality attributes Create use cases Create a detailed plan of construction phase Resource planning
Requirements Analysis Design Implementation Test
Focus
UP Phases: Elaboration (contd)
Milestone
Life Cycle Architecture
UP Phases: Construction
Goals
Evolve the executable architectural baseline into a complete working system
Focus
Implementation workflow Testing
Milestone
Initial Operational Capability
UP Phases: Transition
Goals
Correct defects Prepare user sites Tailor software to operate at the user site Deal with unforeseen problems Create user manuals Provide user consultancy Conduct a post-project review
Focus
Implementation and testing
Milestone
Product release