Rational Unified Process (RUP)

Slides:



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

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Chapter 4: Inception is Not the Requirements Phase
GAI Proprietary Information
Rational Unified Process Software Engineering Lab. Summer 2006.
PRJ270: Essentials of Rational Unified Process
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Lifecycle Phases time InceptionElaborationConstruction Transition  Define the scope of the project and develop business case  Inception Define the scope.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
Page 1 R Risk-Driven and Iterative Development. Page 2 R Copyright © 1997 by Rational Software Corporation What the Iterative Life Cycle Is Not It is.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
The web application development process Basharat Mahmood, COMSATS Institute of Information Technology, Islamabad, Pakistan. 1.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
® IBM Software Group © 2006 IBM Corporation PRJ480 Mastering the Management of Iterative Development v2 Module 3: Phase Management - Inception.
George Blank University Lecturer. Iterative, Evolutionary, and Agile Introduction to the Rational Unified Process.
Principles of Object Technology Module 1: Principles of Modeling.
UML - Development Process 1 Software Development Process Using UML (2)
Rational Unified Process
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Unified Software Development Process (UP) Also known as software engineering process SEP describes how requirements are turned into software Defines who,
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
The Rational Unified Process
-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.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Object Oriented Design and Analysis Rational Unified Process.
Iterative Project Management Chapter 3.2 – The Unified Process Modified considerably by Instructor Class Discussions / Presentations.
Rational Unified Process , Introduction to UML. What is RUP? The Rational Unified Model is a software engineering process Both process and product Provides.
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
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,
RUP Fundamentals Instructor Notes
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.
RUP and Elaboration Phase Copyright, 2003 © Jerzy R. Nawrocki Requirements Engineering.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Project Initiation at The Regence Group 12/19/2015John Garrigues1.
The principles of an object oriented software development process Week 04 1.
Introduction to Rational Unified Process
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
Requirements Management Overview NIGMS Software Development.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Architecture Architecture represents different things from use cases –Use cases deal primarily with functional properties –Architecture deals.
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
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Software Development Framework
Iterative development and The Unified process
Iterative, Evolutionary, and Agile Rational Unified Process
The Web Application Development Process Models
UML: Unified modeling language
Introduction to Software Engineering
Object Oriented Analysis and Design
Rational Unified Process
Rational Unified Process (RUP)
Software engineering -1
Presentation transcript:

Rational Unified Process (RUP) Process Meta-model Inception & Elaboration These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic Initiative

Agenda Iterative Development with RUP Inception Phase & Objectives Elaboration Phase & Objectives Project and Iteration Planning

Rational Unified Process (RUP) Can iterations overlap? No. Our model is to show no overlap among iterations. In a large project, several teams may work in parallel on their portions of the iteration, but we do not consider these to be separate iterations. How many iterations should you have? It depends on many factors. Err on the side of too many iterations. Animation note: The callouts and black rectangle appear 2 seconds after the slide. This graphic illustrates how phases and iterations (the time dimension) relate to the development activities (the workflow dimension). The relative size of the color area indicates how much of the activity is performed in each phase/iteration. Each iteration involves activities from all workflows. The relative amount of work related to the workflows changes between iterations. For instance, during late Construction, the main work is related to Implementation and Test and very little work on Requirements is done. Note that requirements are not necessarily complete by the end of Elaboration. It is acceptable to delay the analysis and design of well-understood portions of the system until Construction because they are low in risk. RUP Core Workflows An Iterative Approach Guidance for activities and work products (artifacts) Process focus on architecture Use cases which drive design and implementation Models which abstract the system

Iterative Development and RUP Preliminary Iteration Architect. Devel. Transition Elaboration Construction Inception Inception: Understand what to build Vision, high-level requirements, business case Not detailed requirements Elaboration: Understand how to build it Baseline architecture, most requirements detailed Not detailed design Construction: Build the product Working product, system test complete Transition: Validate solution Stakeholder acceptance An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release.

Inception: Know What to Build Prepare vision document and initial business case Include risk assessment and resource estimate Develop high-level project requirements Initial scenarios and domain models (10-20% complete) Manage project scope Reduce risk by identifying all key requirements Acknowledge that requirements will change Manage change, use iterative process Inception Elaboration Construction Transition

Objectives with Inception 1. Understand what to build Vision: who wants the system, it’s value, and it’s scope Project: Vision document with needs, features, and scope 2. Identify key requirements Critical use cases and non-functional requirements Project: You will create a Use Case catalog with priorities 3. Determine at least one potential solution Identify candidate architecture Project: Your team will identify a prototype to start on 4. Understand costs, schedule and risk Business case, Software Development Plan, and Risk List Project: Will create versions of these (Status reports, SW Dev Plan) 5. Understand what process to follow and tools to use RUP configuration, development case, and customized tools Project: Discuss with faculty mentor and industry sponsor

Elaboration: Know How to Build It Detail reqs as necessary (~80% complete) Less essential reqs may not be fully fleshed out Produce an executable & stable architecture Define/code/test major component interfaces Identify dependencies on external components Key components will be partially implemented Roughly 10-20% of code is implemented. Drive architecture with key use cases 20% of use cases drive 80% of the architecture Design, code & test key scenarios for use cases Verify architectural qualities Reliability (Stress), Scalability & Perf (Load) test Continuously assess business case, risk profile and development plan Inception Elaboration Construction Transition

Objectives with Elaboration 1. Get a more detailed understanding of requirements Move from 20% to 80% of requirements captured Project: Yes you will do this 2. Design, implement, validate and baseline the architecture Make critical design decisions; buy vs. build, patterns, .. Baseline a skeleton structure of your system Perform initial load and performance test Project: You will do the 1st bullet, maybe some of the 2nd 3. Mitigate risks, produce more accurate schedule & cost estimates You know what to build, and have less risk = accurate schedule Project: You will write a Software Development Plan for the Spring, and assess risk continuously 4. Fine-tune and deploy development environment Harvest experiences from Inception Rollout development environment Project: Understanding deployment is an issue often overlooked!

Obj. 1: Get a Detailed Understanding of Reqs By end of elaboration Detail ~80% of use cases Produce storyboards of visually oriented use cases (at least mock-up) Walk through use cases with stakeholders For use case with partial implementations—demo Detail non-functional requirements (all that have an impact on arch!) Time box! You will never be done, you can fix issues in later iterations What is not done Use cases with no or very limited associated risk (If you have done one “print” use case, do you need to do more?) Use cases that are expected to be volatile, and have little impact on end solution or stakeholder satisfaction

Objective 2: Design, Implement, Validate and Baseline the Architecture The most important building blocks of the systems Build, buy, or reuse? Interaction between these building blocks to provide key scenarios Required to verify the architecture Run-time architecture Processes, threads, nodes, … Architectural patterns Dealing with persistence, inter- process communication, recovery, authentication, garbage collection, … Test framework allowing testing of key capabilities Performance, scalability, reliability, load, protocols, and other key non-functional requirements

Obj. 3: Mitigate Essential Risks, & Produce More Accurate Schedule & Cost Estimates Most key risks addressed Technical risks by implementing and testing the architecture Business risks by implementing and testing key functionality Team- and tool-oriented risks by having the team going through the full software lifecycle implementing real code, using the tools at hand Schedule & cost estimates can be radically improved as we: Have mitigated key risks Understand a vast majority of the requirements Understand which building blocks needs to be implemented and tested Understand which building blocks can be acquired, and to what cost Understand how effective our team is

Objective 4: Fine-tune & Deploy Dev Env Fine-tune your development case based on the experiences so far Do customizations and improvements of the tool environment as required Make it easy for all team members to find and use reusable assets, including the architectural patterns you developed in Elaboration Do training of your team and deploy tools

Elaboration Summary How do the objectives map to your project? Complete the SRS - write & review (33%) Complete a prototype & review (33%) Produce a SW Development Plan for the Spring, including architecture recommendations (16%) Fine-tune the environment (16%)