Introduction of RUP - The Rational Unified Process

Similar documents
Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Software Development Methodologies. CSC 440: Software Engineering Slide #1

SUSE Unified Delivery Process

Sistemi ICT per il Business Networking

The Unified Software Development Process

Rational Unified Process

Development Process Bennett, McRobb and Farmer 1

SEI Architecture Techniques complementary to the RUP Stuart Kerrigan, Richard van Schelven Principal Engineers Data Networks

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

03. Perspective Process Models

The software process

Object-Oriented and Classical Software Engineering

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Chapter 3 Software Process Model

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

Note 10: Software Process

RUP and XP Part II: Valuing Differences

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Development Environment Definition

A New Divide & Conquer Software Process Model

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM

Unifying Systems and Software Teams: A Holistic Approach to Systems Development

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

Software Life Cycle. Main Topics. Introduction

2/14/2013. Software Engineering. Session 3 Sub-Topic. 1 Strategy Alignment Elicitation Methodology. Dr. Jean-Claude Franchitti

Analyze, Design, and Develop Applications

The Top Thrill Dragster

Project Plan. CxOne Guide

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Quality Management of Software and Systems: Processes and QM

Service Identification: BPM and SOA Handshake

Oracle Cloud Blueprint and Roadmap Service. 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Software Reviews Since Acquisition Reform Architecture-Driven Considerations

Accelerating Your DevOps Journey

Chapter 1 Systems Development in an Organization Context

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Expand application range with respect to consider the whole system. Consider state of the art and adapt actual regulations and standards

Software Lifecycle Models

Umeå University Department of Computing Science SE UMEÅ SWEDEN

Chapter. Redesigning The Organization With Information Systems

Global Information Systems: Development Frameworks. Prof. Dr. Jan M. Pawlowski Autumn 2013

Information Systems Development

Objective (c.f., p.58)

Chapter 1 Software Process

The Ten Essentials of RUP

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Processes and Life- Cycles. Kristian Sandahl

Introduction to Software Engineering

Coverage Analysis and Improvement of the Role Definitions of the Bombardier Software Engineering Process

Inception. Describe the vision and business case for this project. Determine if the enterprise should build or buy the necessary system.

Software Engineering II - Exercise

Successful Service Virtualization

Software System Integration. Chapter 8 Software testing 1

3 PART THREE: WORK PLAN AND IV&V METHODOLOGY (SECTION 5.3.3)

Copyright Software Engineering Competence Center

[Name] [ ID] [Contact Number]

Standards Harmonization Process for Health IT

TOWARDS DEFINING SOFTWARE DEVELOPMENT PROCESSES IN DO-178B WITH OPENUP

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Joined-up Requirements: Business Goals to System Tests

IBM Rational Systems Strategy

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Pertemuan 2. Software Engineering: The Process

Software Development Life Cycle:

LIFE-CYCLE MODELS AND PROCESS. Software Engineering 1/9/2008. CHAPTER 1, 2, and 3. Stephen R. Schach

Command and Control Software Development Lessons Learned. Lt Col Michael D. Sarchet Deputy Director, Space Systems Command and Control Division

Actionable enterprise architecture management

MANAGING REQUIREMENTS IN BUSINESS PROCESS MANAGEMENT SUITE PROJECTS

Object-Oriented & Classical Soft Engineering

Practical Process Improvement: the Journey and Benefits

In Pursuit of Agility -

TECHNICAL REVIEWS AND AUDITS


vramanujam Page 1 5/22/2014 TESTING MANUAL VARUN RAMANUJAM

IBM Rational Systems Developer, Version 7.0

Waterfall model is the earliest SDLC approach that was used for software development.

UPGRADE CONSIDERATIONS Appian Platform

Sample Company. Risk Assessment and Mitigation Plan

Enterprise Architecture: an ideal discipline for use in Supply Chain Management

Software development activities

REQUIREMENT DRIVEN TESTING. Test Strategy for. Project name. Prepared by <author name> [Pick the date]

Planning an Iterative Project

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

MSO Lecture 2. Wouter Swierstra (adapted by HP) September 14, 2017

Enterprise Software Performance Engineering

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

TOGAF 9.1 in Pictures

Agile Architecture And Design

Requirements Engineering and Software Architecture Project Description

Using the Rational Unified Process for Small Projects: Expanding Upon extreme Programming

Title: Leveraging Oracle Identity Manager (OIM) to Improve Costs and Control. An Oracle White Paper March 2009

Business Architecture Fundamentals

SOA Governance is For Life, Not Just a Strategy

ICS 52: Introduction to Software Engineering

PORTFOLIO MANAGEMENT Thomas Zimmermann, Solutions Director, Software AG, May 03, 2017

Testing. CxOne Standard

PART 1: INTRODUCTION. Purpose of the BIZBOK Guide. What is Business Architecture?

Transcription:

Introduction of RUP - The Rational Unified Process Jong-Hoon Lee Dependable Software Laboratory Konkuk University

References Textbook: The Rational Unified Process Made Easy A Practitioner s Guide to the RUP - Per Kroll, Philippe Kruchten, Grady Booch White Paper: Rational Unified Process - TP026B 11/01, IBM Best Practices for Software Development Teams

Contents What is the RUP (Rational Unified Process)? The Inception Phase The Elaboration Phase The Construction Phase The Transition Phase

Introduction of the Rational Unified Process What is the RUP?

What is the RUP? The RUP is A software development approach that is iterative, architecture-centric, and use-case driven A well-defined and well-structured software engineering process A process product that provides you with a customizable process framework for software engineering RUP The Iterative Development The Well-Defined Software Engineering Process A Customizable Process Product

What is the RUP? The RUP uses iterative approach The RUP uses an iterative approach that is a sequence of incremental steps or iterations - It accommodates changing requirements - Integration is not one big bang at the end of a project - Risks are usually discovered or addressed during early integrations - Management has a means of making tactical changes to the product - Defects can be found and corrected over several iterations - It is a better use of project personnel - Team members learn along the way - The development process itself is improved and refined along the way RUP The Iterative Development The Well-Defined Software Engineering Process A Customizable Process Product

What is the RUP? Requirements Business Modeling Analysis & Design Initial Planning Planning Configuration & Change Management Environment Implementation Test Evaluation Deployment

What is the RUP? The RUP is a well-defined software engineering process Modeling - It creates and maintain models, and effectively use the UML (Unified Modeling Language) - It comprised of two structures or dimensions: Dynamic and Static Dynamic Structure - It deals with the lifecycle or time dimension of a project - It comprised of Inception, Elaboration Construction and Transition phases - Dynamic aspects: cycles, phases, iterations, and milestones Static Structure - It describes how process elements are logically grouped into workflows - Static aspects: activities, disciplines, artifacts, and roles RUP The Iterative Development The Well-Defined Software Engineering Process A Customizable Process Product

What is the RUP? Dynamic Structure Phases - Inception - Elaboration - Construction - Transition Iterations Etc. Static Structure Disciplines - Business modeling - Requirements - Analysis & Design - Etc.

What is the RUP? Dynamic Structure: The lifecycle of a RUP project going through: The Inception Phase - Establish a good understanding of what system to build The Elaboration Phase - Take care of many of the most technically difficult tasks, and address major technical risks The Construction Phase - Do most of the implementation as you move from an executable architecture to the first operational version of your system The Transition Phase - Ensure that software addresses the needs of its users

What is the RUP? Static Structure: The process describes who is doing what, how, and when Roles The who - It is like a hat that an individual (or group) wears during a project Activities The how - It is a unit of work that an individual in that role may be asked to perform Artifacts The what - It is a piece of information that is produced, modified, or used by a process Workflows The when - It is a process to describe meaningful sequence of activities that produce some valuable result and show interactions between roles

What is the RUP?

What is the RUP?

What is the RUP? The RUP is a customizable process product You can configure the RUP product to support small or large teams and disciplined or less formal approaches to development - Best practices - Process delivery tools - Configuration tools - Process authoring tools - Community/Marketplace RUP The Iterative Development The Well-Defined Software Engineering Process A Customizable Process Product

What is the RUP?

What is the RUP? Essential principles of the RUP: Attack major risks early and continuously or they will attack you Ensure that you deliver value to your customer Stay focused on executable software Accommodate change early in the project Baseline an executable architecture early on Build your system with components Work together as one team Make quality a way of life, not an afterthought

Introduction of the Rational Unified Process The Inception Phase

The Inception Phase Objectives of the inception phase: Understand what to build* Identify key system functionality* Determine at least one possible solution* Understand the costs, schedule, and risks associated with the project Decide what process to follow and what tools to use

The Inception Phase Objective 1: Understand what to build Produce a vision document Generate a Mile-wide, inch-deep description - Identify and briefly describes actors - Identify and briefly describe use cases - Identify and describe how each actor will interact with the system Hold a workshop or brainstorming session Detail key actors and use cases

The Inception Phase Objective 2: Identify key system functionality The functionality is the core of the application, or it exercises key interfaces of the system The functionality must be delivered The functionality covers an area of the architecture that is not covered by any other critical use cases

The Inception Phase Objective 3: Determine at least one possible solution Make sure that there is at least one potential architecture that will allow you to build the system with a sensible amount of risk and at reasonable cost

The Inception Phase The outcome of the inception phase: A vision document A initial use-case model (10 20%) complete An initial project glossary An initial business case, which includes business context, success criteria, and financial forecast An initial risk assessment A project plan, showing phases and iterations A business model, if necessary One or several prototypes

The Inception Phase Lifecycle objective milestone Stakeholder concurrence on scope definition and cost/schedule estimates Requirements understanding as evidenced by the fidelity of the primary use cases Credibility of the cost/schedule estimates, priorities, risks, and development process Depth and breadth of any architectural prototype that was developed Actual expenditures versus planned expenditures The project may be cancelled or considerably re-thought

Introduction of the Rational Unified Process The Elaboration Phase

The Elaboration Phase Objectives of the elaboration phase Get a more detailed understanding of the requirements Design, implement, validate, and baseline the architecture* Mitigate essential risks, and produce more accurate schedule and cost estimates Refine the development case and put the development environment in place

The Elaboration Phase Objective 2: Design, implement, validate, and baseline the architecture Architecture: Defining subsystems, key components, and their interfaces Use architecturally significant use cases to drive the architecture

The Elaboration Phase Objective 2: Design, implement, validate, and baseline the architecture(cont d) Design critical use cases Consolidate and package identified classes Ensure architectural coverage

The Elaboration Phase Objective 2: Design, implement, validate, and baseline the architecture (Still cont d..) Design databases Outline concurrency, processes, threads, and physical distribution Identify architectural mechanisms Implement critical scenarios Integrate components Test critical scenarios

The Elaboration Phase The outcome of the elaboration phase: A use-case model (at least 80%), all use cases and actors have been identified, and most use-case descriptions have been developed Supplementary requirements capturing the non functional requirements and any requirements that are not associated with a specific use case A software architecture description An executable architectural prototype A revised risk list and a revised business case A development plan for the overall project, including the coarse-grained project plan, showing iteration and evaluation criteria for each iteration An updated development case specifying the process to be used A preliminary user manual

The Elaboration Phase Lifecycle architecture milestone Is the vision of the product stable? Is the architecture stable? Does the executable demonstration show the major risk elements have been addressed and credibly resolved? Is the plan for the construction phase sufficiently detailed and accurate? And it is backed up with a credible basis of estimates? Do all stakeholders agree that the current vision can be achieved if the current plan is executed to develop the complete system, in the context of the current architecture? Is the actual resource expenditure versus planned expenditure acceptable? The project may be aborted or considerably re-thought

Introduction of the Rational Unified Process The Construction Phase

The Construction Phase Objectives of the construction phase Minimize development costs and achieve some degree of parallelism in the work of the development teams Iteratively develop a complete product that is ready to transition to its user community

The Construction Phase Objective 1: Minimize development costs and achieve some degree of parallelism Organize around architecture Configuration management - Integration planning for frequent build Enforce the architecture Ensure continual progress

The Construction Phase Objective 2: Iteratively development a complete product that is ready to transition to its user community Describe the remaining use cases and other requirements Fill in the design Design the database Implement and unit-test code Do integration and system testing Prepare deployment - Early deployments and feedback loops - Prepare for beta deployment - Prepare for final deployment

The Construction Phase The outcome of the Construction phase: The software product integrated on the adequate platforms The user manuals A description of the current release

The Construction Phase Initial operational capability milestone Is this product release stable and mature enough to be deployed in the user community? Are all stakeholders ready for the transition into the user community? Are the actual resource expenditures versus planned expenditures still acceptable? Transition may have to be postponed by one release

Introduction of the Rational Unified Process The Transition Phase

The Transition Phase Objectives of the transition phase: Beta test to validate that user expectation are met* Train users and maintainers to achieve user self-reliability Prepare deployment site and covert operational databases Prepare for launch-packaging, production and marketing roll-out; release to distribution and sales forces; field personnel training Achieve stakeholder concurrence that deployment baselines are complete and consistent with the evaluation criteria of the vision Improve future project performance through lessons learned*

The Transition Phase Objective 1: Beta test to validate that user expectation are met Capturing, analyzing, and implementing change requests Transition testing - Continued test design and implementation - Regression testing - Acceptance testing (may not require additional test development) - Validate build stability - Test and evaluate - Achieve your test objectives, or in RUP parlance, achieve an acceptable mission - Improve test assets Patch releases and additional beta releases

The Transition Phase Objective 5: Achieve stakeholder concurrence that deployment is complete Product acceptance Test - Formal acceptance testing - Informal acceptance testing - Beta testing

The Transition Phase Product release milestone Is the user satisfied? Are the actual resources expenditures versus planned expenditures still acceptable?

The Transition Phase Evolution cycles If the objectives were not met, you should start another development cycle There is an often overlap between two development cycles, transition phase and Inception phase