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,

Slides:



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

Basic SDLC Models.
Prescriptive Process models
Software process life cycles CSE 432: Object-Oriented Software Engineering.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Systems Analysis and Design in a Changing World, 6th Edition
CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
Introduction to UML: Structural &Use Case Modeling
Object-Oriented Analysis and Design
Software Life Cycles ECE 417/617: Elements of Software Engineering
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Object-oriented Analysis and Design
Iterative development and The Unified process
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CHAPTER 17 Building Software to Support an Agile Organization
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
Software Development Life Cycle (SDLC)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Transforming Organizations
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha.
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Software Processes Naveed Arshad Assistant Professor LUMS
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 4 프로세스 모델 Process Models
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
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.
Rational Unified Process (RUP)
Software Engineering Process Models Models for Guiding the Development of Software.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Unified Process Software Development Darren Roback/Ravali Kallem CMIS Fall 2009.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
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. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Approaches to Systems Development
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Object-oriented Analysis and Design
Software Development.
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Unified Process Source & Courtesy: Jing Zou.
Lecture Software Process Definition and Management Chapter 2: Prescriptive Process Models Dr. Jürgen Münch Fall
Approaches to Systems Development
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
COMP 350: Object Oriented Analysis and Design Lecture 2
Software process life cycles
Process Models Coming up: Prescriptive Models.
Software engineering -1
Presentation transcript:

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, and be able to track progress  The waterfall life cycle is supposed to be very linear Complete each task before starting the next – requirements, design, code, test

Iterative versus Waterfall  The iterative life cycle breaks down the requirements into stages or subsets Then development focuses on completely developing one stage, releasing it, then adding the next stage  Also called evolutionary or incremental development

Iterative Development  This helps get critical functionality to the customer much faster  Iterative development also makes it clear sooner if something’s wrong  Note: the spiral life cycle is a different animal; it’s used for resolution of critical risks and combines the features of the prototyping model and the waterfall model.

Time Boxing  A technique to help stay focused during development is to schedule using time boxing  Short periods of time (e.g. 1-4 weeks) are allocated for each iteration; this makes it clearer if your development time expectations are unrealistic

Time Boxing  To help keep on schedule, some techniques might help Automated regression tests, such as using JUnit or WinRunner Continuous integration, using an automated build process with automated testing to do daily (or more frequent) testing These are also advocated by Extreme Programming (XP)XP

Predictive vs. Adaptive Planning  Predictive planning for a project develops a plan, and measures progress against meeting that plan  Adaptive planning creates a plan, but uses it mostly to assess the impact of changes on the overall schedule

Agile Processes  Agile processes, such as Extreme Programming, generally: Agile processes Are very adaptive in nature Use time boxing Use UML as a sketching tool  Agile processes are ‘lightweight’ – they have little documentation and few control points

Rational Unified Process (RUP) Developed by “three amigos” at Rational Software (IBM)  Grady Booch, Ivar Jacobson, and Jim Rumbaugh  Unified Modeling Language (UML) is a set of graphical and linguistic notations for modeling systems, not a process or method  The three amigos also developed Rational Unified Process (RUP)  You don’t have to use RUP to use UML  Interestingly different from the traditional waterfall model Highly iterative and incremental process  Software product is not released in one big bang at end of project  Instead, developed and released in pieces (prototypes, partial releases, beta, etc.)

Rational Unified Process (RUP)RUP  System is defined by use cases A “use case” is a major way of using the system, or a major type of functionality  High level planning needs to Define what are the major use cases and in what order they will be done Estimate development time for each use case (as in “time boxing”)

RUP Iterative Development  Each iteration implements one or more use cases Includes the entire life cycle (requirements analysis, design, implementation, and testing) Results in some clearly defined end product Is planned with a fixed time to completion

Lifecycle Phases Inception – “Daydream” Elaboration – “Design/Details” Construction – “Do it” Transition – “Deploy it” Phases are not the classical requirements/ design/coding/implementation processes Phases iterate over many cycles

Inception  Elaboration  …  During inception, establish business rationale and scope for project Business case: how much it will cost and how much it will bring in? Scope: try to get sense of size of the project and whether it’s doable Creates a vision and scope document at a high level of abstraction  In elaboration, collect more detailed requirements and do high-level analysis and design Inception gives you the go-ahead to start a project, elaboration determines the risks  Requirement risks: big danger is that you may build the wrong system  Technological risks: can the technology actually do the job? will the pieces fit together?  Skills risks: can you get the staff and expertise you need?  Political risks: can political forces get in the way? Develop use cases, non-functional requirements & domain model

…  Construction  Transition  Construction builds production-quality software in many increments, tested and integrated, each satisfying a subset of the requirements of the project Delivery may be to external, early users, or purely internal Planning is crucial: use cases and other UML documents  Transition activities include beta testing, performance tuning (optimization) and user training No new functionality unless it’s small and essential Bug fixes are OK