Rational Unified Process

Slides:



Advertisements
Similar presentations
Testing Workflow Purpose
Advertisements

Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Static Structure: Process Description
Rational Unified Process Software Engineering Lab. Summer 2006.
PRJ270: Essentials of Rational Unified Process
Rational Unified Process
SE 470 Software Development Processes James Nowotarski 21 April 2003.
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
SwE 313 Introduction to Rational Unified Process (RUP)
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
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Rational Unified Process – Part 2
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
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.
Principles of Object Technology Module 1: Principles of Modeling.
Rational Unified Process
UML - Development Process 1 Software Development Process Using UML (2)
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Rational Suite and CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
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
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Identify steps for understanding and solving the
11 Rational Unified Process. 22 Agenda Part I: Introduction Part II: Disciplines & Workflows Part III: Phases & Iterations Part IV: Configuring RUP Part.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Object Oriented Design and Analysis Rational Unified Process.
Chapter – 9 Checkpoints of the process
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
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)
RUP Fundamentals Instructor Notes
Rational Unified Process Fundamentals Module 3: Disciplines I.
Rational Unified Process (RUP) Process Meta-model Inception Phase These notes adopted and slightly modified from “RUP Made Easy”, provided by the IBM Academic.
J. Scott Hawker p. 1Some material © Rational Corp. Rational Unified Process Overview See and use the RUP Browser on lab machines.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Rational Unified Process (RUP)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
Unified Software Practices v D Copyright  1998 Rational Software, all rights reserved 1 Practice 5: Verify Software Quality Control Changes Develop.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
Rational Unified Process. Rational Unified Process (RUP) Introduction Phases Core Workflows Best Practices Tools.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Iterative development and The Unified process
The Web Application Development Process Models
1.Introduction to Rational Unified Process (RUP)
Introduction to Software Engineering
Rational Worldwide Software Symposium
Rational Unified Process
Chapter 2 – Software Processes
Rational Worldwide Software Symposium
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Rational Worldwide Software Symposium
Presentation transcript:

Rational Unified Process by Amir Ranjbar aranj@mehr.sharif.edu

Rational Unified Process (RUP) Introduction Phases Core Workflows Best Practices Tools The Rational Unified Process™ (RUP) is a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. This e-coach makes process practical by providing prescriptive guidelines, templates and examples for all critical e-development activities. RUP is a customizable framework, which can easily be adapted to work the way you work. It is tightly integrated with Rational tools, allowing development teams to gain the full benefits of the Unified Modeling Language™ (UML), software automation, and other industry best practices. TOOL MENTORS:Oddly enough, they’re all Rational software products...

Team-Unifying Approach The RUP unifies a software team by providing a common view of the development process and a shared vision of a common goal Increased Team Productivity knowledge base of all processes view of how to develop software modeling language Rational provides many tools Designer / Developer Analyst Tester Architect Tool Specialist Release Engineer Project Management The RUP offers: A Team-Unifying Approach The Rational Unified Process unifies the entire software development team and enhances team communication by providing each team member with one knowledge base, one modeling language and one view of how to develop software. Everybody is involved; their roles and activities are well documented and are publishable over an intranet… Re-iterate the HHGTTG and the Tower of Babel...

Rational Unified Process (RUP) time content Preliminary Iteration(s) Iter. #1 Phases Iterations Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Elaboration Transition Inception Construction Business Modeling Implementation Test Analysis & Design Process Workflows Deployment Requirements Inception Defines the scope of the project. A business plan is often created to determine whether resources should be committed or not. The model is 20% complete. Elaboration Plan project, specify features, baseline architecture. Requirements are firmed up, we’re now 80% complete. A detailed cost/resource estimation can be drawn up. Construction Build the product. Several iterations. Transition Move the product into and end user environment. Training, installation and support. An iteration is a distinct sequence of activities based on an established plan and evaluation criteria, resulting in an executable release (internal or external) A workflow shows all the activities you might go through to produce a particular set of artifacts – more later. Supporting Workflows Configuration & Change Mgmt Project Management Environment

Rational Unified Process (RUP) Introduction Phases Core Workflows Best Practices Tools The Rational Unified Process™ (RUP) is a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. This e-coach makes process practical by providing prescriptive guidelines, templates and examples for all critical e-development activities. RUP is a customizable framework, which can easily be adapted to work the way you work. It is tightly integrated with Rational tools, allowing development teams to gain the full benefits of the Unified Modeling Language™ (UML), software automation, and other industry best practices. TOOL MENTORS:Oddly enough, they’re all Rational software products...

Phases in the Process The Rational Unified Process has four phases: Major Milestones Inception Elaboration Construction Transition time The Rational Unified Process has four phases: Inception - Define the scope of project Elaboration - Plan project, specify features, baseline architecture Construction - Build the product Transition - Transition the product into end user community

Inception phase Establishing the project's software scope and boundary conditions, including an operational vision, acceptance criteria and what is intended to be in the product and what is not. Discriminating the critical use cases of the system, the primary scenarios of operation that will drive the major design tradeoffs. Exhibiting, and maybe demonstrating, at least one candidate architecture against some of the primary scenarios. Estimating the overall cost and schedule for the entire project (and more detailed estimates for the elaboration phase that will immediately follow). Estimating potential risks (the sources of unpredictability) Preparing the supporting environment for the project.

Elaboration phase Defining, validating and baselining the architecture as rapidly as practical. Refining the Vision, based on new information obtained during the phase, establishing a solid understanding of the most critical use cases that drive the architectural and planning decisions. Creating and baselining detailed iteration plans for the construction phase. Refining the development case and putting in place the development environment, including the process, tools and automation support required to support the construction team. Refining the architecture and selecting components. Potential components are evaluated and the make/buy/reuse decisions sufficiently understood to determine the construction phase cost and schedule with confidence. The selected architectural components are integrated and assessed against the primary scenarios.

Construction phase Resource management, control and process optimization Complete component development and testing against the defined evaluation criteria Assessment of product releases against acceptance criteria for the vision.

Transition phase Executing deployment plans. Finalizing end-user support material. Testing the deliverable product at the development site. Creating a product release. Getting user feedback. Fine-tuning the product based on feedback. Making the product available to end users.

Rational Unified Process (RUP) Introduction Phases Core Workflows Best Practices Tools The Rational Unified Process™ (RUP) is a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. This e-coach makes process practical by providing prescriptive guidelines, templates and examples for all critical e-development activities. RUP is a customizable framework, which can easily be adapted to work the way you work. It is tightly integrated with Rational tools, allowing development teams to gain the full benefits of the Unified Modeling Language™ (UML), software automation, and other industry best practices. TOOL MENTORS:Oddly enough, they’re all Rational software products...

What is a workflow? A set of activities that is performed by the various roles in a project Describes a meaningful sequence of activities that produce a useful result (an artifact) Shows interaction between roles

Workflow Detail: Prepare Environment for Project

Workflows - 3 key elements Three key elements of each workflows: Artifacts Roles Activities

Artifacts A piece of information that: Is produced, modified, or used by a process Defines an area of responsibility Is subject to version control. An artifact can be a model, a model element, or a document. A document can enclose other documents.

Roles Represent a role that an individual may play on the project Responsible for producing artifacts Distinct from actors

Activities Tasks performed by people representing particular roles in order to produce artifacts

Brief summary of process workflows Business Modelling Requirements Analysis & Design Implementation Test Deployment

Business Modelling Understand structure & dynamics of organization in which system is to be deployed Understand current problems in the target organization & identify improvement potential Ensure customers, end users & developers have common understanding of target organisation Derive system requirements to support target organisation

Analysis & Design Transform requirements into a design of the system Evolve a robust architecture for the system Adapt design to match the implementation environment, designing it for performance

Implementation Define organization of the code, in terms of implementation subsystems organized in layers Implement classes & objects in terms of components Test developed components as units Integrate results into an executable system

Test Verify interaction between objects Verify proper integration of all components of the software Verify that all requirements have been correctly implemented Identify & ensure defects are addressed prior to deployment

Deployment Provide custom installation Provide shrink wrap product offering Provide software over internet

Brief summary of supporting workflows Configuration & Change Management Project Management Environment

Configuration & Change Management Supports development methods Maintains product integrity Ensures completeness & correctness of configured product Provides stable environment within which to develop product Restricts changes to artifacts based on project policies Provides an audit trail on why, when & by whom any artifact was changed

Project Management A framework for managing software-intensive projects Practical guidelines for planning, staffing, executing & monitoring projects A framework for managing risk

Environment Design, implement and manage the project’s required technical environments Define the technical architectures for the development, system validation, testing & staging/release management environments When possible, standard architectural models for given types of platforms should be utilized when defining the production environment

Bringing It All Together... In an iteration, you walk through all workflows Phases Process Workflows Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration & Change Mgmt Project Management Environment Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Iterations

Rational Unified Process (RUP) Introduction Phases Core Workflows Best Practices Tools The Rational Unified Process™ (RUP) is a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. This e-coach makes process practical by providing prescriptive guidelines, templates and examples for all critical e-development activities. RUP is a customizable framework, which can easily be adapted to work the way you work. It is tightly integrated with Rational tools, allowing development teams to gain the full benefits of the Unified Modeling Language™ (UML), software automation, and other industry best practices. TOOL MENTORS:Oddly enough, they’re all Rational software products...

Rational Unified Process Describes the effective implementation of key “Best Practices” Manage Requirements Use Component Architectures Develop Iteratively Verify Quality Model Visually Control Changes

1. Manage Your Requirements Elicit, organize, and document required functionality and constraints Track and document tradeoffs and decisions Business requirements are easily captured and communicated through use cases Use cases are important planning instruments Use-Case Model Implementation Model Test Model verifies realization influenced by Design Model

2. Develop Software Iteratively An initial design will likely be flawed with respect to its key requirements Late-phase discovery of design defects results in costly over-runs and/or project cancellation Initial Planning Requirements Analysis & Design Implementation Test Deployment Evaluation Management Environment

Waterfall Development Subsystem Testing System Testing Code & Unit Design Requirements Analysis T I M E

Waterfall Development: Risk vs. Time Subsystem Testing System Code & Unit Design Requirements Analysis

Risk Profile of an Iterative Development Waterfall Inception Elaboration Risk Construction Transition Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration Post- deployment Time

Iterative Development Characteristics Critical risks are resolved before making large investments Initial iterations enable early user feedback Testing and integration are continuous Objective milestones provide short-term focus Progress is measured by assessing implementations Partial implementations can be deployed

3. Employ Component-based Architecture Design, implement and test your architecture up-front! A systematic approach to define a “good” architecture Resilient to change by using well-defined interfaces By using and reverse engineering components Derived from top rank use cases System- software Middleware Business- specific Application- Component-based Architecture with layers

4. Model Software Visually Aiding understanding of complex systems Exploring and comparing design alternatives at a low cost Forming a foundation for implementation Capturing requirements precisely Communicating decisions unambiguously Code Classes Sub Systems Visual Modeling raises the level of abstraction

5. Verify Software Quality Create tests for each key scenario to ensure that all requirements are properly implemented Unacceptable application performance hurts as much as unacceptable reliability Verify software reliability - memory leaks, bottle necks Test every iteration - automate test! Development Deployment Cost Software problems are 100 to 1000 times more costly to find and repair after deployment

6. Control Changes to Software Control, track and monitor changes to enable iterative development Establish secure workspaces for each developer Provide isolation from changes made in other workspaces Control all software artifacts - models, code, docs, etc. Automate integration and build management ALERT REPORT Parallel Development Workspace Management CM is more than just check-in and check-out Process Integration Build Management

Summary: Best Practices of Software Engineering The result is software that is On Time On Budget Meets Users Needs Analyst Performance Engineer Best Practices Develop Iteratively Manage Requirements Model Visually Use Component Architectures Verify Quality Control Change Developer Tester Project Manager Release Engineer

Rational Unified Process (RUP) Introduction Phases Core Workflows Best Practices Tools The Rational Unified Process™ (RUP) is a Web-enabled software engineering process that enhances team productivity and delivers software best practices to all team members. This e-coach makes process practical by providing prescriptive guidelines, templates and examples for all critical e-development activities. RUP is a customizable framework, which can easily be adapted to work the way you work. It is tightly integrated with Rational tools, allowing development teams to gain the full benefits of the Unified Modeling Language™ (UML), software automation, and other industry best practices. TOOL MENTORS:Oddly enough, they’re all Rational software products...

Tools The success of process adoption is significantly improved by the use of appropriate supporting tools. Tool Mentors provide detailed descriptions of how to perform specific process activities or steps, or produce a particular artifact or report, using one or more tools.

Tools Rational Unified Process RUP Builder Rational Process Workbench Rational Administrator Rational Suite AnalystStudio Rational ClearCase Rational ClearQuest Rational ProjectConsole Rational PurifyPlus Rational QualityArchitect

Tools Rational RequisitePro Rational Robot Rational Rose Rational Rose RealTime Rational SoDA Rational TestManager Rational Test RealTime Rational TestFactory Rational XDE Developer - Java Platform Edition Rational XDE Developer - .NET Edition