Getting a Quick Start with RUP

Similar documents
Using the ICONIX Process Roadmap

UNIT-I Introduction of Object Oriented Modeling

Change Management Process on Database Level within RUP Framework

for TOGAF Practitioners Hands-on training to deliver an Architecture Project using the TOGAF Architecture Development Method

Business Architecture Implementation Workshop

Systems Analysis and Design in a Changing World, Fourth Edition

Integration With the Business Modeler

Designing Component-Based Architectures with Rational Rose RealTime

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

BDSA Introduction to OOAD. Jakob E. Bardram

OBJECT-ORIENTED DESIGN

Rational Software White paper

The UML Extension Mechanisms

Lecture 2: Software Engineering (a review)

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

The RUP: An Industry-wide Platform for Best Practices

Software Life-Cycle Models

Software Engineering

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

The Web Service Sample

White Paper. Rose PowerBuilder Link

CONFIGURING SAFE V4.0 IN THE IBM COLLABORATIVE LIFECYCLE MANAGEMENT

Requirements and Design Overview

Building a New Rational Web Site with Rational Suite

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Pattern for Structuring UML-Compatible Software Project Repositories

ICONIX Process: Use Case Driven Object Modeling. Copyright 2007 ICONIX Software Engineering, Inc. 1

Best Practices for Collecting User Requirements

An Integrated Approach to Documenting Requirements with the Rational Tool Suite

The Agile Unified Process (AUP)

System Analysis and Design

Next-Generation Standards Management with IHS Engineering Workbench

Unified Modeling Language (UML)

Software Engineering from a

Incremental development A.Y. 2018/2019

Deliver robust products at reduced cost by linking model-driven software testing to quality management.

Lecture 7: Software Processes. Refresher: Software Always Evolves

CIS 771: Software Specifications

7 Things ISVs Must Know About Virtualization

02291: System Integration

BPS Suite and the OCEG Capability Model. Mapping the OCEG Capability Model to the BPS Suite s product capability.

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

Oliopäivät Modelling Now and in the Future, with Acronyms or without = RSA

King County Housing Authority Delivers Multimedia Online Help with MadCap Doc-To-Help

Practical Model-Driven Development with the IBM Software Development Platform

Software Development Methodologies

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

INTEGRATING DESIGN RATIONALE WITH A PROCESS MODEL

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

Comparative analyses for the performance of Rational Rose and Visio in software engineering teaching

Object-Oriented Systems Development: Using the Unified Modeling Language

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

A number of optimizations are already in use by the majority of companies in industry, notably:

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

An Integrated Test Framework to Reduce Embedded Software Lifecycle Costs

Spemmet - A Tool for Modeling Software Processes with SPEM

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

To practice UCSD Usability Design

10 Steps to Building an Architecture for Space Surveillance Projects. Eric A. Barnhart, M.S.

Why you should design your data hub top-down vs. bottom-up

Software Project Management: A Unified Framework (paperback) (The Addison-Wesley Object Technology) By Walker Royce READ ONLINE

SWsoft ADVANCED VIRTUALIZATION AND WORKLOAD MANAGEMENT ON ITANIUM 2-BASED SERVERS

VO Software Engineering

Modeling XML Vocabularies with UML: Part I

Index. Add Diagram > Sequence Diagram command,

Combining UML and Z in a Software Process

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Migrating to Object Data Management

Object-Oriented Design

Mendeley Help Guide. What is Mendeley? Mendeley is freemium software which is available

Software Design and Implementation. Example Architecture KIWC

Rose/Architect: a tool to visualize architecture

Next Generation Backup: Better ways to deal with rapid data growth and aging tape infrastructures

S1 Informatic Engineering

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software

Module 3. Overview of TOGAF 9.1 Architecture Development Method (ADM)

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

The Essence of Node JavaScript on the Server Asynchronous Programming Module-driven Development Small Core, Vibrant Ecosystem The Frontend Backend

SOFTWARE ENGINEERING

Data Virtualization Implementation Methodology and Best Practices

INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2

TRANSITIONING PROJECTS TO A MODEL-BASED APPROACH

Object-Oriented Software Engineering Practical Software Development using UML and Java

Computer Science for Engineers

IBM Rational Rose XDE Developer

SOFTWARE ENGINEERING

Service Delivery Platforms and the Evolving Role of OSS by Doug Bellinger

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

History of object-oriented approaches

ebook library PAGE 1 HOW TO OPTIMIZE TRANSLATIONS AND ACCELERATE TIME TO MARKET

CISC 322 Software Architecture

index_ qxd 7/18/02 11:48 AM Page 259 Index

The Great TOGAF Scavenger Hunt. Enterprise Architecture Using TOGAF 9 Course Preparation Guide

CSC Advanced Object Oriented Programming, Spring Overview

Objectives. Object-Oriented Analysis and Design with the Unified Process 2

Evaluation of Commercial Web Engineering Processes

xiii A. Hayden Lindsey IBM Distinguished Engineer and Director, Studio Tools Foreword

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Transcription:

Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite sure how to begin the process of tailoring it. At the same time, realworld schedule pressures often lead to an immediate need to get started with requirements analysis and design for a project. This often leads to a dilemma: "we want to get the process tailored correctly before starting a project, but we need to start the project now". At the same time, many organizations seek a streamlined process that can immediately accommodate small to medium-sized projects but can be scaled up for larger development efforts. ICONIX has been teaching such a streamlined approach for several years. The ICONIX Process is described in detail in two books: Use Case Driven Object Modeling with UML - A Practical Approach and Applying Use Case Driven Object Modeling with UML -- an Annotated E- Commerce Example, both by Doug Rosenberg and Kendall Scott, and in a multimedia CDROM entitled Mastering UML with Rational Rose and the ICONIX Process. At the beginning of 2002, ICONIX set out to build a plug-in that carried the minimalist, use-case driven, streamlined philosophy into the RUP environment. We did so with the following goals: Directly support the ICONIX Process as described in the books and literature. Help projects avoid Analysis Paralysis by adopting a minimal yet sufficient subset of UML. Install quickly and easily into RUP to allow for rapid "out of the box" deployment. Focus on "Requirements" and "Analysis and Design" disciplines/workflows. Allow for future expansion - for example driving use cases forward into test cases. Support an iterative and incremental delivery strategy without dictating the increment size or timing of an iteration.

Provide a "quickstart" roadmap into the tailored process so that the user has a starting point for initiating requirements, analysis, and design work rapidly. Why provide a pre-tailored instance of RUP? The Rational Unified Process provides a customizable and extensible platform for best practices. This allows project leaders to select from a wide assortment of process components, enabling them to choose the component that best suits the needs of their project, with a goal of achieving more predictable results by unifying project teams with common processes that improve communication and create a common understanding of all activities, roles, and artifacts. RUP provides a comprehensive repository of best practices for large, small, and medium projects, covering all aspects of the development lifecycle. In short, the entire known theoretical universe of software development is in there, somewhere. But, in many organizations, the wealth and diversity of process options can create significant issues, because only a very tiny fraction of the development community is able to take full advantage of the options available inside the RUP. Stated another way, RUP is a process framework, not a process, and thus requires tailoring. But many organizations lack the expertise (and the time) to perform extensive process tailoring. ICONIX Process is, above all else, a practical approach to software development. One of the central principles that we try to follow is that the difference between theory and practice is that, in theory there is no difference between theory and practice, but in practice, there is. So we might describe the theory vs. practice aspects of using the RUP as follows: In theory, it s a good idea to have a custom-tailored software process for your organization and your project, but in practice, the need for tailoring can be in conflict with the need to get projects moving right away. Many organizations can t afford the time overhead of process tailoring because external business pressures often dictate project schedules. Many organizations will accrue significant benefits, having a simple, easy-tofollow, use case driven process already pre-tailored out of the box. These organizations, driven by project schedules dictated by real-world business requirements, would like to get a quick start with RUP. The ICONIX QuickStart Plug-In for RUP is a ready-made solution to this problem. ICONIX Process finding a simple path through the complexities of software development

While starting from common roots with RUP and UML, ICONIX Process has evolved over the past 10 years as a minimalist approach to development, based on focusing in on the practical aspects of use case driven analysis and design. That is, focusing on the key question of How do we get from use cases to code. ICONIX focused its efforts in this particular area because it has been our experience that this is where many projects get stuck and fall into analysis paralysis. In 1995, ICONIX produced a 2 CDROM set entitled A Unified Object Modeling Approach which pre-dated UML, and was based around the original Booch, Rumbaugh, and Jacobson methods. After the UML standard was developed, ICONIX Process was documented in book form in Use Case Driven Object Modeling A Practical Approach by Doug Rosenberg and Kendall Scott (Addison-Wesley, 1999). This popular book has over 22,000 copies in print. It provides practical guidance on how to drive object models from use cases, and includes Top 10 Errors lists for key areas within ICONIX Process. Over the past several years, ICONIX has conducted hundreds of JumpStart training workshops, where the ICONIX Process is applied to a company s real project, thus giving the project a jump start on their UML/Rose modeling. During the dot-com boom, demand arose for a generic e-commerce example, in the form of an Internet Bookstore model. This model was then documented, in book form, as a workbook that showed common student mistakes in modeling, and the mistakes corrected. After adding 3 chapters on reviews (Requirements Review, Preliminary Design Review, Critical Design Review) this was published in book form as Applying Use Case Driven Object Modeling An Annotated e- Commerce Example (Addison-Wesley, 2001). The original Unified Object Modeling Approach CDs were re-incarnated as Mastering UML with Rational Rose and the ICONIX Process (originally Inside the ICONIX Process) during 2001, as well. The ICONIX Process Roadmap

ICONIX Process uses a graphical roadmap to help developers find a path through the various lifecycle phases. This roadmap diagram appears on the first page of every chapter of Use Case Driven Object Modeling. A slightly more detailed version of this diagram appears as the process roadmap diagram within QuickStart, thus providing the 20,000+ readers of Use Case Driven Object Modeling with a familiar map from which they can navigate the RUP disciplines and workflows. For those RUP users who are not familiar with ICONIX Process, the availability of the books and multimedia tutorials will make it easy to follow the streamlined process embodied in QuickStart. QuickStart contains links to all of these resources. The process roadmap diagram is a clickable map within the context of a QuickStart/RUP installation, and the icons and arrows on the diagram hyperlink to online versions of Top 10 lists from the book, and in selected cases the icons link to video clips from the ICONIX multimedia tutorials that explain key transitions between lifecycle phases. As a RUP Plug-In, QuickStart is integrated into the RUP tree browser and RUP pages completely. All of the ICONIX tailored portions of RUP, as well as the remaining, untailored portions can be accessed via the tree browser as well.

Goals for QuickStart When we set out to build the QuickStart plugin, we had a number of goals in mind: Directly support the ICONIX Process as described in the books and literature. We wanted QuickStart to allow people to work within a RUP/Rational Suite environment and enjoy all the benefits of the comprehensive set of tools and process knowledge available in that environment, yet at the same time, be able to pick up a copy of Use Case Driven Object Modeling and get to work right away. Help projects avoid Analysis Paralysis by adopting a minimal yet sufficient subset of UML. ICONIX Process has been field tested and refined over hundreds of projects and nearly ten years of experience in applying it. It reliably avoids analysis paralysis while allowing projects to due true use case driven development using a core subset of UML. Again, we wanted to bring our experience in getting projects moving quickly and keeping them moving forward without getting stuck into the RUP environment. Install quickly and easily into RUP to allow for rapid "out of the box" deployment. Rational provides tools which make it possible to build a plug-in which installs into the RUP and creates a tailored process instance. Our goal was to do a clean implementation that followed all the rules and maximized compatibility with Rational Suite, without causing installation headaches for users. Focus on "Requirements" and "Analysis and Design" disciplines/workflows. Getting from requirements through analysis and design, and into code is the core expertise that ICONIX has to offer. We ve found that when projects are able to do a good job with these disciplines, that they generally have few problems at the implementation level. So it was natural for QuickStart to do the majority of its process tailoring within those disciplines. Allow for future expansion - for example driving use cases forward into test cases.

ICONIX has been researching the problem of driving test cases from use cases for several years. Some of this work has been done in collaboration with Rational see the upcoming TestGen reference project on the Rational Developer Network for details. In the interest of getting QuickStart completed quickly, and for compatibility with the existing books, we elected to not include this in the first release of the QuickStart plugin, but rather to save it for a future release. Contact the authors (doug@iconixsw.com, jeff@iconixsw.com) directly if you d like more information on Use Case Driven Testing. Support an iterative and incremental delivery strategy without dictating the increment size or timing of an iteration. The steps within the ICONIX Process work with an incremental delivery strategy without dictating the increment size: that is, use cases are written for those scenarios that will be implemented in the current incremental build. Provide a "quickstart" roadmap into the tailored process so that the user has a starting point for initiating requirements, analysis, and design work rapidly. ICONIX Process uses a graphical roadmap of activities within the use case driven object modeling process. This diagram has been enhanced and has been implemented as a clickable map within QuickStart. This roadmap provides an overview of the tailored process and links to the disciplines, roles, artifacts, and guidelines in the process. The roadmap points the project team to a jumpstart set of activities that are used to get the project going quickly. Details of the process tailoring QuickStart creates a development case of RUP 2002 with pre-configured streamlined versions of the Business Modeling, Requirements, and Analysis and Design disciplines. The majority of the ICONIX Process tailoring is in the Elaboration Phase. The Elaboration Phase is sub-divided into three sub-phases that roughly correspond to the Requirements Discipline and the Analysis and Design Discipline as performed in the RUP Elaboration Phase. (Note: The ICONIX Process does distinguish between the name of a discipline and a phase. This is largely semantics, since the ICONIX process presumes all phases/disciplines are incremental and iterative as necessary.) The Requirements and Analysis and Design Disciplines have been tailored rather extensively to streamline these disciplines down to their essential core. Each major artifact from the Requirements and Analysis and Design Disciplines, as well as the major requirements and design reviews, have additional guidelines in

the form of Top 10 Errors lists. The Business Modeling discipline has been completely subsumed into the Requirements Disicipline with the incorporation of the Domain Model into the latter. Here s an example Top 10 List from Use Case Driven Object Modeling, which is available from QuickStart/RUP: The Top 10 Sequence Diagramming Errors 10. Don t do a sequence diagram for each use case. 9. Don t put the use case text on the sequence diagram. 8. Don t identify all of the necessary objects first, on a robustness diagram. 7. Don t provide a visual trace between the use case text and the message arrows. 6. Don t show plumbing; instead, keep your sequence diagram at a high level of abstractions. 5. Turn your sequence diagram into a flowchart instead of using it to allocate behavior among objects. 4. Don t focus on interesting methods (real software behavior), as opposed to getters and setters. 3. Don t think carefully about the origins of the message arrows (or, which object is in control at any given time). 2. Don t follow basic principles of responsibility-driven OOD when allocating behavior by drawing message arrows. 1. Don t update your static model as you go by building local class diagrams for each package of use cases. QuickStart provides discipline activity flows and details, guidelines, and templates for creating the Domain Model (normally in the RUP Business Modeling Discipline, but incorporated into Requirements Analysis within QuickStart), the Use-Case Model, the Robustness (Analysis) Model, and the Design Model (interactions, subsystems, packages, classes, and interfaces). The plug-in provides activity details and guidelines for the Requirements Review, the Preliminary Design Review, and the Critical Design Review. Finally, a streamlined template for Use Case Specifications is provided in both html and word template formats.

How was the RUP tailoring accomplished? Prior to RUP 2002, the only way to tailor RUP was to directly edit the RUP html pages, templates, guidelines, and concepts. It was also possible to edit the tree browser files. This tailoring process was documented in the Process Engineer section of the RUP. Unfortunately, this tailoring process was somewhat difficult and created a maintenance issue when a new version of RUP is published. With RUP 2002, Rational provided a more comprehensive and automated tailoring vehicle, via the Rational Process Workbench and the RUP Builder tool. Using the RPW (a Rational Rose add-in), the Process Engineer can use UML to visually model the process in terms of its objects (process, discipline, workflow detail, activity, artifact, role) and associations (responsibility, participant, aggregation). ICONIX used the RPW to model the tailored RUP/ICONIX Process for QuickStart. Each of these process model objects can also have associated external content documents (guidelines, templates, and roadmaps ) in a separate but linked library. The tailored documents (Top 10 Guidelines, RoadMap, Use Case Specification Template) were incorporated in this fashion, and linked into the model with RPW. Next, we created implementation components for realizing these objects and associations, and then published the tailored process to a distribution file for RUP Builder, again using RPW. This file, called a RUP Builder Configuration File (.cfu) was tested using RUP Builder to ensure that the published RUP web site is correctly tailored. The plug-in is delivered as a RUP Builder Configuration File (.cfu), plus an associated ReadMeFirst.html file, in a zip archive. These files are all the Process Engineer needs to deploy QuickStart into an existing RUP installation. Using the RUP Builder tool installed with RUP or with Rational Suite, the.cfu file is loaded into a RUP Builder repository, where it can be published as a fully tailored web site in the user s location of choice. Users can have both standard (untailored) RUP and RUP with QuickStart installed on the same machine. Conclusion The question of how much process is needed for an organization or a project has been the subject of much debate for a long period of time. Some organizations opt for more formality and rigor, while others aim for a more minimal approach in order to maximize agility. While sharing common roots with RUP, ICONIX has targeted minimal yet sufficient as a defining philosophy for the last decade, and has done so with a strong focus on being pragmatic; that is, favoring practical solutions over theoretically elegant ones.

Fortunately for the industry, Rational has developed the RUP as a configurable process framework, and has recently provided new tools which help to realize the potential of RUP s configurability. ICONIX has leveraged these tools and fully integrated our proven, time-tested, minimalist, use case driven approach into the RUP environment with the QuickStart plugin. We hope and believe that the availability of QuickStart will make it easier for organizations to get started using RUP, and to avoid analysis paralysis along the way; in short, to become more agile without sacrificing the industrial strength, rigorous practice benefits that come with RUP.