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

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler.
National Association for Regulatory Administration September 13, 2011 IT’s NOT Like Building a House Mark Parker (800)
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Arlow and Neustadt ch.21 What is the unified process? People are more important than any process. Good people with a good process will outperform good.
RUP/UP Software Development Method Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Object-Oriented Analysis and Design
SYSC System Analysis and Design
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Object-oriented Analysis and Design
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
COMP 350: Object Oriented Analysis and Design Lecture 2
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
George Blank University Lecturer. Iterative, Evolutionary, and Agile Introduction to the Rational Unified Process.
Principles of Object Technology Module 1: Principles of Modeling.
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
IS0514 Lecture - Week 2 Best Practice Development Methodology.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
RUP Fundamentals - Instructor Notes
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
NJIT Iterative, Evolutionary, and Agile Chapter 2 Applying UML and Patterns Craig Larman.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 7 Applying UML and Patterns Craig Larman
Jan 7, A UP project organizes the work and iterations across four major phases: – Inception -- approximate vision, business case, scope, vague estimates.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
CSE 436—Software Development Models Ron K. Cytron 10 October 2005.
The Rational Unified Process 1 EECS810: Software Engineering.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Rational Unified Process  “de facto standard”, framework.
Unified Process Software Development Darren Roback/Ravali Kallem CMIS Fall 2009.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Software Development Framework
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Object-oriented Analysis and Design
Process 4 Hours.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Iterative, Evolutionary, and Agile Rational Unified Process
TIM 58 More on Chapter 1: Introduction to Systems Analysis and Design
The Web Application Development Process Models
Iterative and Agile Development
Unified Process Source & Courtesy: Jing Zou.
UNIFIED PROCESS.
Unified Process (UP).
Requirements and the Software Lifecycle
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Object Oriented Analysis and Design
Rational Unified Process (RUP)
Software engineering -1
CSCI 360: Software Architecture & Design
Presentation transcript:

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

Need for a process ? Need an approach for: Building Deploying Maintaining UP : example process (in this course)

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.

Why UP? Think and Design with Objects Apply UML Use Design Patterns Apply to Agile approaches (XP, scrum) Incremental requirements analysis Use cases

Phases in RUP ( developed by Rational Corporation) RUP is divided into four phases: 1. Inception 2. Elaboration 3. Construction 4. Transition

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

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.

The Most Important Concept Each iteration will include requirements, analysis, design, and implementation. Iterations are timeboxed. Incremental : system grows over time

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.

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

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

Each phase can be further broken down into iterations UP phases

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

Another approach : Waterfall Model Requirements Design Implementation Test All or most of the requirements are defined before development begins

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.

Why Not Waterfall? Requirements are not stable/unchanging. The market changes—constantly. The technology changes. The goals of the stakeholders change.

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

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

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

Construction Iterative impelmentation of the low risks,easier parts Preparation for deployement Transition Beta Tests Deployment UP phases

UP : Iterative ? UP : Incremental ? Advantages of Iterative, incremental process ? Iteration ? UP phases ? Activities in each phase? What to remember

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

Remember this

Any Questions ?