Presentation is loading. Please wait.

Presentation is loading. Please wait.

Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.

Similar presentations


Presentation on theme: "Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman."— Presentation transcript:

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

11

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 ?


Download ppt "Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman."

Similar presentations


Ads by Google