Download presentation
Presentation is loading. Please wait.
Published byDavid Gilbert Modified over 8 years ago
1
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman
2
Need for a process ? Need an approach for: Building Deploying Maintaining UP : example process (in this course)
3
The Unified Process The Unified Process has emerged as a popular and effective software development process. In particular, the Rational Unified Process, as modified at Rational Software, is widely practiced and adopted by industry.
4
Why UP? Think and Design with Objects Apply UML Use Design Patterns Apply to Agile approaches (XP, scrum) Incremental requirements analysis Use cases
5
Phases in RUP ( developed by Rational Corporation) RUP is divided into four phases: 1. Inception 2. Elaboration 3. Construction 4. Transition
6
Rational Unified Process Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations within phases Supporting Workflows Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction
7
Most Important Concept in UP The critical idea in the Rational Unified Process is Iterative, Incremental development. Iterative Development is successively enlarging and refining a system through multiple iterations, using feedback and adaptation.
8
The Most Important Concept Each iteration will include requirements, analysis, design, and implementation. Iterations are timeboxed. Incremental : system grows over time
9
Example: Building a House Incremental: Start with a modest house, keep adding rooms and upgrades to it. Iterative: On each iteration, the house is re-designed and built a new.
10
Each iteration involves : Choosing small subset of requirements. Quick design, implementation and testing User quickly see partial system Rapid, early feedback ( ex: usability tests from users) Yes, that´s exactly what I asked for …………. I try it, what I really want is something slightely different… Modify and Adapt understanding of the requirements or design, then involve the user again Ex: Course registration system !! Iterations
12
Each phase has iterations, each having the purpose of producing a demonstrable piece of software. The duration of iteration may vary from two weeks or less up to six months. InceptionElaborationConstructionTransition Iterations The iterations and the phases Iterations
13
Each phase can be further broken down into iterations UP phases
14
Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations within phases Supporting Workflows Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction time
15
Another approach : Waterfall Model Requirements Design Implementation Test All or most of the requirements are defined before development begins
16
Big-Bang Model Developer receives problem statement (what should the system). Developer works in isolation for some extended time period. Developer delivers result. Developer hopes client is satisfied.
17
Why Not Waterfall? Requirements are not stable/unchanging. The market changes—constantly. The technology changes. The goals of the stakeholders change.
18
Less project failure Early rather than late mitigation high risks Early visible progress Early feedback, user engagement, adaptation and refinements of requirements Better understanding through iterations Managed complexity Benefits to iterative developement
19
Unified Process best practices Get high risk and high value first Constant user feedback and engagement Early cohesive core architecture Test early. Apply use cases where needed. Do some visual modeling with UML. Manage change requests and configuration
20
Inception : Approximate vision. Business case. Scope. (we model the system not the business) Vague estimates. Ask yourself : is the system feasible ? Should we go on or stop? Elaboration Refined vision Iterative implementation of core architecture High risks issues are mitigated Most requirements are identified !! More realistic estimates UP phases
21
Construction Iterative impelmentation of the low risks,easier parts Preparation for deployement Transition Beta Tests Deployment UP phases
22
UP : Iterative ? UP : Incremental ? Advantages of Iterative, incremental process ? Iteration ? UP phases ? Activities in each phase? What to remember
23
Remember this Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations within phases Supporting Workflows Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction
24
Remember this
25
Any Questions ?
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.