accelerate software development and deployment with ibm ... · accelerate software development and...

55
IBM Software Group ® Software Development Solutions Accelerate Software Development and Deployment with IBM Rational’s solution Alfred Tse Rational Brand Services Manager

Upload: vuthu

Post on 30-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

IBM Software Group

®

Software Development SolutionsAccelerate Software Development and Deployment

with IBM Rational’s solution

Alfred TseRational Brand Services Manager

IBM Software Group | Rational software

Published Software Engineering Leadership

IvarIvar JacobsonJacobson

Walker RoyceWalker Royce

Jim Jim RumbaughRumbaugh

Terry Terry QuatraniQuatrani

Nasser Nasser KettaniKettaniGrady Grady BoochBooch

Philippe Philippe KruchtenKruchten

Dean LeffingwellDean Leffingwell

Jim Jim ConallenConallen Murray CantorMurray Cantor

Magnus Magnus ChristersonChristerson

Maria EricssonMaria Ericsson

IBM Software Group | Rational software

Our Mission

To ensure the success of customers who depend on developing or deploying

software.

To ensure the success of customers who depend on developing or deploying

software.

IBM Software Group | Rational software

.

.

.

.

.

.

.

.

..

.

.

. .

.

. ..

..

.

.

.

.

.

“26% of software projects succeed.”Standish Group, CHAOS Report, 1999

“26% of software projects succeed.”Standish Group, CHAOS Report, 1999

The Good News…

IBM Software Group | Rational software

How IBM Rational helps customer to success?Tools

Unified Tools for the Project TeamTools

Unified Tools for the Project Team

Requirements ManagementVisual Modeling

Automated TestingChange Management

Requirements ManagementVisual Modeling

Automated TestingChange Management

Best PracticesProcess Made Practical

Best PracticesProcess Made Practical

Technical Support and Tools Application

Project ImplementationsEducation and Training

Technical Support and Tools Application

Project ImplementationsEducation and Training

Develop IterativelyManage Requirements

Use Component ArchitecturesModel Visually (UML)

Continuously Verify QualityControl Changes

Develop IterativelyManage Requirements

Use Component ArchitecturesModel Visually (UML)

Continuously Verify QualityControl Changes

ServicesAccelerated Implementation

ServicesAccelerated Implementation

Customer Success

Customer Success

IBM Software Group | Rational software

Software Development: A Team Sport

Project ManagementProject ManagementConfigurable ProcessConfigurable Process Reporting & Progress MeasurementReporting & Progress MeasurementRequirements ManagementRequirements Management

Defect & Change Tracking Defect & Change Tracking Software Configuration ManagementSoftware Configuration Management

Version Control Version Control

Functionality

Reliability

Performance

Test Management

Functionality

Reliability

Performance

Test Management

Requirements& Use Case Development

Business Modeling

Data Modeling

Requirements& Use Case Development

Business Modeling

Data Modeling

IDE

Visual Modeling,Design & Development

Component Testing

Runtime Analysis

IDE

Visual Modeling,Design & Development

Component Testing

Runtime Analysis

Automated TestingAutomated Testing

Requirements& AnalysisRequirements& Analysis

Visual Modeling& DevelopmentVisual Modeling& Development

IBM Software Group | Rational software

Why A Process?

Enable clear, consistent communicationHelp identify what resources are needed and when they are neededHelp team members understand their responsibilities and their relationship with other team membersHelps you focus on reducing risk and delivering value to your customersAssists project planning and cost estimationPromotes rapid feedback

IBM Software Group | Rational software

Introducing the RUP Platform

IBM Software Group | Rational software

Develop Iteratively: Rational Unified Process(RUP)

Initial design will likely be flawed with respect to its key requirementsLate discovery of designdefects results in costly over-runs and, in some cases, even project cancellationThe earlier in the lifecycle you can verify that you have dealt with a risk, the more accurate you can make your plans

Risk Profile: Waterfall vs. Iterative DevelopmentRisk Profile: Waterfall vs. Iterative Development

IBM Software Group | Rational software

Iterative, Incremental Development

IBM Software Group | Rational software

Process Delivery Tools: Project Web Site

Graphical Graphical navigationnavigation

Index, Search, Getting Index, Search, Getting Started, Feedback, ..Started, Feedback, ..

HotlinksHotlinksto RDN, etcto RDN, etc

IBM Software Group | Rational software

Basic Structure of RUP:Key Concepts

IBM Software Group | Rational software

Community/Marketplace: Rational Developer Network

RUP Plug-In Exchange allows uploading and downloading of Plug-Ins

RUP Plug-In Exchange allows uploading and downloading of Plug-Ins

RUP Knowledge Center and Discussion Forum RUP Knowledge Center and Discussion Forum Provide Targeted Content and CommunityProvide Targeted Content and Community

WebWeb--based based training and training and

tutorials tutorials allows easy allows easy knowledge knowledge

transfer.transfer.

IBM Software Group | Rational software

Manage Requirements: RUP/Rational RequisiteProEnsure that you are building the system that the customer really wants

IBM Software Group | Rational software

Project Failure Factors

Standish Group, ‘00

Incomplete Requirements and SpecificationsIncomplete Requirements and Specifications

Unclear ObjectivesUnclear Objectives

Changing Requirements and SpecificationsChanging Requirements and Specifications

Lack of User InputLack of User Input

Lack of PlanningLack of Planning

IBM Software Group | Rational software

Problem

Solution Space

Problem Space

Needs

Features

Use Cases and Software

Requirements

Test Procedures Design User

Docs

The The Product Product To Be To Be BuiltBuilt

Traceability

Map of the Territory

IBM Software Group | Rational software

Recommended requirements documents

FeaturesFeatures

SoftwareSoftwareRequirementsRequirements

Functional Requirements Non-functional

(URPS, etc.) requirements

User Documentation Specifications

User Documentation Specifications

Design Specifications

Design Specifications

Test Specifications

Test Specifications

Supplementary Specifications

Supplementary Specifications

Vision DocumentVision Document

Use-Case ModelUse-Case Model

GlossaryGlossary

F= Functional, URPS= Usability, Reliability, Performance, Supportability

Business NeedsBusiness Needs

IBM Software Group | Rational software

Get Control of Your Requirements

Access the latest requirementsSecure, centralized repositoryOrganize and prioritize requirementsDynamic linking to a databaseKnow the status of your projectFiltering, sorting, and metrics

Leverage the Power of a Database and the Freedom of Word

Leverage the Power of a Database and the Freedom of Word

IBM Software Group | Rational software

The Power of a Database and the Freedom of WordThe Power of a Database and the Freedom of Word

Managing Requirements With RequisitePro

Microsoft WordMicrosoft Word

A familiar way to work

Contextual information

Extensive formatting

A familiar way to work

Contextual information

Extensive formatting

Security

Organization

Reporting and metrics

Security

Organization

Reporting and metrics

DatabaseDatabase

IBM Software Group | Rational software

Effectively Capture and Manage Requirements

Text remainsin context

Text remainsin context

Sort andqueryinformation

Sort andqueryinformation

IBM Software Group | Rational software

“It’s very easy to skip over requirements or make assumptions. RequisitePro drives us

to make sure we've covered everything.”

Linda Horne, Cygent

RequisitePro Shows the Impact of ChangeRequisitePro Shows the Impact of Change

“With RequisitePro's suspect links, my team members and I can immediately see changes

that are made…”

Jason Oliver, Kodak

IBM Software Group | Rational software

Distributed access over the Web

Distributed access over the Web

Access Requirements From Any Location

IBM Software Group | Rational software

V 1.2aV 1.2aV 1.2a V 1.2V 1.2V 1.2

Design :Typical Evolution of Software

portportport

bug fix A812bug fix A812bug fix A812

bug fix A790bug fix A790bug fix A790

1.0 Architecture1.0 Architecture1.0 Architecture

IBM Software Group | Rational software

V 1.2aV 1.2aV 1.2a

Leads to Application Failure

1.0 Archit1.0 1.0 ArchitArchit

portportport

bug fix A812bug fix A812bug fix A812

bug fix A790bug fix A790bug fix A790

V 1.2V 1.2V 1.2

cturectureee

IBM Software Group | Rational software

Use Component Architectures: RUP/Rational Rose/XDE

The key to success is to create architectures that are:

Resilient

Component-based

IBM Software Group | Rational software

Model Visually: RUP/Rational Rose/XDE

Visual Modeling allows you to build it rightthe first time:

Understand the user’s requirementsValidate that design meets needsView the user interface, business logic and data separatelySeparate business domains as appropriateVisualize all dependenciesValidate performance before coding begins

IBM Software Group | Rational software

Multiple Systems

ReusableComponents

Visual Modeling Promotes Reuse

IBM Software Group | Rational software

UMLUML

Raise the Level of Abstraction: UML

Software Assessments, Benchmarks and Best Practices, Capers Jones, 2000Software Assessments, Benchmarks and Best Practices, Capers Jones, 2000

Fortran 77Fortran 77

Language EvolutionLanguage Evolution1960s1960s 1970s1970s 1980s1980s 1990s1990s 2000s2000s

11

55

1010

2020

AssemblyAssemblyMacro AssemblyMacro Assembly

CCFORTRANFORTRANCOBOLCOBOLPascalPascal PL1PL1

Expr

essi

vene

ssof

Lan

guag

e Ex

pres

sive

ness

of L

angu

age

Ada95Ada95C++C++Ada83Ada83

Visual Basic 5.0Visual Basic 5.0Visual

C++Visual C++

JavaJava

PERLPERL

BasicBasicFortran 95Fortran 95

Language Technology

R&D

Language Technology

R&D

IBM Software Group | Rational software

Visual Modeling with Unified Modeling Language

ActivityDiagrams

Models

Dynamic Diagrams

Static Diagrams

Multiple viewsPrecise syntax and semantics

SequenceDiagrams

CollaborationDiagrams

StatechartDiagrams

DeploymentDiagrams

ComponentDiagrams

ObjectDiagrams

ClassDiagrams

Use-CaseDiagrams

IBM Software Group | Rational software

Visual Modeling Using UML Diagrams

Actor A

Use Case 1

Use Case 2

Actor B

user : Clerk

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repositorydocument : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFile ( )

3: create ( )

6: fillDocument ( )

4: create ( )

8: fillFile ( )

Window95

¹®¼-°ü¸®Å¬¶óÀ̾ðÆ®.EXE

WindowsNT

¹®¼-°ü¸® ¿£Áø.EXE

WindowsNT

Windows95

Solaris

ÀÀ¿ë¼-¹ö.EXE

AlphaUNIX

IBM Mainframe

µ¥ÀÌŸº£À̽º¼-¹ö

Windows95

¹®¼-°ü¸® ¾ÖÇø´Document

FileManager

GraphicFile

File

Repository DocumentList

FileList

usermainWnd fileMgr :

FileMgrrepositorydocument :

DocumentgFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

ƯÁ¤¹®¼-¿¡ ´ëÇÑ º̧ ±â¸¦»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼-ÀÇ Á¤º̧ ¸¦ ÇØ´ç ¹®¼-°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È-¸é °´Ã¼´Â ÀоîµéÀΰ´Ã¼µé¿¡ ´ëÇØ À̸§º°·ÎÁ¤·ÄÀ» ½ÃÄÑ È-¸é¿¡º¸¿©ÁØ´Ù.

Forward and Reverse Engineering

TargetSystem

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close fileUse Case 3

Use-casediagram Class diagram

Collaboration diagram

Sequence diagram

Component diagram

Statechartdiagram

GrpFile

read( )open( )create( )fillFile( )

rep

Repository

name : char * = 0

readDoc( )readFile( )

(from Persistence)

FileMgr

fetchDoc( )sortByName( )

DocumentList

add( )delete( )

Document

name : intdocid : intnumField : int

get( )open( )close( )read( )sortFileList( )create( )fillDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read() fill the code..

Deployment diagram

IBM Software Group | Rational software

One Model: Improves Team CommunicationBusiness Modeling

Data ModelingData Modeling

Web Modeling

Application ModelingApplication Modeling

One language – One tool – One teamOne language – One tool – One team

IBM Software Group | Rational software

Continuously Verify Quality: RUP/Rational Robot/PurifyPlus

Earlier detection and repairIdentifying and resolving problems earlier result in more realistic and reliable development schedules

Use Test Automation as much as possible on multiple dimensions:

Functionalities, Reliabilities and Performance

Analyze& DesignAnalyze& Design

Develop& Test

Develop& Test

System Test

System Test

Solution Test & Deploy

Solution Test & Deploy

Model& Specify

Model& Specify

COST of defect removal

COST of defect removal

Iterative ProcessIterative Process

Most problems currently found here

Most problems currently found hereIt is more productive

to find problems earlierIt is more productive

to find problems earlier

IBM Software Group | Rational software

√√

The importance of complete testing: Hidden bugs

√√

xx

√√

√√

xx

√√

fix

change

change

change

fix

Build 1 Build 2 Build 3Design

√√

√√

Build 4

Pass Fail

7 0

Results

Test Total:

IBM Software Group | Rational software

√√

xx

√√

√√

xx

√√√√

√√

fix

change

change

change

fix

Build 1 Build 2 Build 3 Build 4

Perception

Pass Fail

7 0

Results

Reality 5 2

√√ But it used to work...

Design

√√

√√

√√

The importance of complete testing: Hidden bugs

IBM Software Group | Rational software

xx

xx√√

xx

√√

√√

fix

change

change

Build 1 Build 2

√√

fix √√

xx

√√

Build 3

√√

√√

Design

√√

√√

Build 4

√√

√√

√√

√√

√√

fix

change

fix

Results

Perception

Pass Fail

7 0

Reality 7 0

The importance of complete testing: Hidden bugs

IBM Software Group | Rational software

The challenge of manual testing with short test cycles

Build 1

Manual testing

Rerun the first tests and...

Time

Tests

IBM Software Group | Rational software

Build 1 Build 2 Build 3, 4, 5, 6, 7, 8 Build 9 Build 10

Manual testing can’t keep pace!

Manual testing

...take more time

...the new tests...

Time

Tests

The challenge of manual testing with short test cycles

IBM Software Group | Rational software

Functional Testing 101

Consider the process of regression testing

Consider the process of regression testing

Requirements change and...Requirements change and...

Video Clip

OK

Find

Run Instrumented

Scripts

Record actionsRecord actions

Insert validationInsert validation

Define test caseDefine test case

Edit script (optional)Edit script (optional) Report DefectsReport Defects

ViewResultsView

Results

IterateIterate

IBM Software Group | Rational software

Robust, Reliable Tests Needed

Objects can change in:AppearanceContent

Video Clip

OK

Find

ReportDefectsReportDefects

ViewResultsView

Results

IterateIterate

Object-Oriented Recording® makes test scripts robustWhen applications changeAcross configurations

…the system under test changes…the system under test changes

LocationTiming

Run Instrumented Scripts

Run Instrumented Scripts

IBM Software Group | Rational software

Double-click Fail to get drill-down detailsDouble-click Fail to get drill-down details

Test Evaluation: Investigating Failures

Data compare and text descriptionData compare and text description

IBM Software Group | Rational software

What Is Load Testing?The process of exercising an application by emulating actual users with a load generation tool

LocalServerLocalServer

HostHost

HostHost

Controller/Master

Controller/Master

RemoteNetworkRemoteNetwork

IBM Software Group | Rational software

How Is Performance Testing Done?

Bob $1.34 VisaMary $27.00 MCAnn $21.00 AmEx

Bob $1.34 VisaMary $27.00 MCAnn $21.00 AmEx

Order Single Item 5% of usersOrder “Pick of Day” 35% of usersSearch for CD’s 60% of users

Order Single Item 5% of usersOrder “Pick of Day” 35% of usersSearch for CD’s 60% of users

Virtual Users

Virtual Users

Capture conversation between a typical single user and the server

Automatically generate varied data for a multi-user test

Create a suite of user activities (tests)

Run the schedule to execute a multi-user test, increasing the number of “virtual”users to find the breaking points

Web ServerWeb Server

Web ServerWeb Server

Web Browser

Web Browser

IBM Software Group | Rational software

Managing change and complexity: The solution

QualityProduct

Software Artifact

Management

New Vendor Software

New Features Requested

Defects Reported

Customer “Specials”

Defectand

Change Tracking

Software configuration management

IBM Software Group | Rational software

Control Changes: Activities and Artifacts

Bug 98Bug 98Bug 98

Add promotion calculation

Add promotion Add promotion calculationcalculation

Bug 179Bug 179Bug 179

New GUI button

New GUI New GUI buttonbutton

New platformNew platformNew platform

New web designNew web designNew web design

Bug 849Bug 849Bug 849

Bug 527Bug 527Bug 527

Bug 251Bug 251Bug 251

New customer transaction

New customer New customer transactiontransaction

Bug 348Bug 348Bug 348

People work on activities People work on activities (i.e., change requests) (i.e., change requests)

Artifacts integrated Artifacts integrated in baselinesin baselines

How do you How do you close the loop?close the loop?

Activities result in Activities result in artifactsartifacts

(i.e., code modules)(i.e., code modules)

IBM Software Group | Rational software

Parallel Development

33

00

rel1_bugfixrel1_bugfix

Rel2Rel2 66

55

44

11

\\mainmain

00

22Rel1Rel1

33

22

11

00

rel2_integrationrel2_integrationdb_updatedb_update

00

00

win98_portwin98_port22

11

33

22

11

33

11

22Rel1.1Rel1.1

Flexible branching• Automatic• Unlimited

Flexible branchingFlexible branching•• AutomaticAutomatic•• UnlimitedUnlimited

Automatic mergingAutomatic mergingAutomatic merging

Intuitive namingIntuitive namingIntuitive naming

Merge Manager exposes conflicts when they occurMerge Manager exposes Merge Manager exposes conflicts when they occurconflicts when they occur

IBM Software Group | Rational software

ClearCase Build ManagementProvides 100% reproducibility

Complete Audit trail: • Who• What• How• WhenAutomatic bill of materials

Understanding differences between builds• Compare one build with another• Determine which files have changed

IBM Software Group | Rational software

Change TrackingPostponedPostponed

AssignedAssignedAction:assign

Action:open

Action:resolve

Action:validate

SubmittedSubmitted OpenedOpened

DuplicatedDuplicated

ResolvedResolved ClosedClosed

Action:duplicate

StateState

State

State State

• State is a placeholder.• Action institutes rules such as state transition.

State

Action:unduplicate

Action:postpone

Action:close

Action:reject

Action:assign

State

Action:duplicate

Action:postpone

IBM Software Group | Rational software

Distribution Chart

To view chart details, left click on the area you are interested in.

Result set grid.

IBM Software Group | Rational software

Trend Chart

IBM Software Group | Rational software

Rational’s SCM solution: For the whole team

Requirements

Rational ClearCaseRational ClearQuest

1. Define Promo2. Define GUI3. Add Use Case

Requirement Document

1. Test Promo2. Verify Bug 4673. Test GUI applet

Delete items

Cancel OrderSpecial Promo

Design ImplementRequirements

1. Fix Bug 6712. Special Promo3. Fix Bug 829

1. Special Promo2. Add copyright3. Update price

hello.cfoo.c

Rose models

Code Content

To Do List To Do ListTo Do List To Do List

Test Scripts

Organize project activities

Order Online Project Test

Project Manager

IBM Software Group | Rational software

Control Changes: Unify Activities and Artifacts

ArtifactsArtifacts

ActivitiesActivities

ActivityActivityActivityActivity

ActivityActivity

Team members perform activitiesTeam members Team members perform activitiesperform activities

Artifacts generated throughout the

development lifecycle

Artifacts generated Artifacts generated throughout the throughout the

development lifecycledevelopment lifecycle

IBM Software Group | Rational software

Change SetSpecial PromoSpecial Promo

a.htmla.html V5V5

c.xmlc.xml V3V3

b.jpgb.jpg V8V8

Rational ClearQuestControl Changes: RUP/Rational ClearCase/ClearQuest

Unify activities and artifacts

Manages activities

To Do Lists

Workflow

Manages activities

To Do Lists

Workflow

Rational ClearCase

Manages artifacts

Versioning: code, models, XML, HTML

Parallel development

Manages artifacts

Versioning: code, models, XML, HTML

Parallel development

ClearQuest: Organized ActivitiesRequest Priority OwnerSpecial Promo 1 TerryBug 527 2 SandyAdd GUI button 2 Kim

Request Priority OwnerSpecial Promo 1 TerryBug 527 2 SandyAdd GUI button 2 Kim

IBM Software Group | Rational software

Software Development: A Team Sport

Project ManagementProject ManagementConfigurable ProcessConfigurable Process Reporting & Progress MeasurementReporting & Progress MeasurementRequirements ManagementRequirements Management

Defect & Change Tracking Defect & Change Tracking Software Configuration ManagementSoftware Configuration Management

Version Control Version Control

Functionality

Reliability

Performance

Test Management

Functionality

Reliability

Performance

Test Management

Requirements& Use Case Development

Business Modeling

Data Modeling

Requirements& Use Case Development

Business Modeling

Data Modeling

IDE

Visual Modeling,Design & Development

Component Testing

Runtime Analysis

IDE

Visual Modeling,Design & Development

Component Testing

Runtime Analysis

Automated TestingAutomated Testing

Requirements& AnalysisRequirements& Analysis

Visual Modeling& DevelopmentVisual Modeling& Development

IBM Software Group | Rational software

Rational Suite Overview

DM = Data Modeler Edition E = Enterprise Edition RT = RealTime Edition*Rational Purify, Quantify, and PureCoverage*Rational Purify, Quantify, and PureCoverage

AnalystStudioAnalystStudio EnterpriseEnterpriseTestStudioTestStudioDevelopmentStudioDevelopmentStudio

RTRT WINWIN UNIXUNIX

Rational Suite Team Unifying PlatformProject ManagementRational Unified ProcessRational RequisiteProRational ProjectConsoleRational TestManagerRational SoDASoftware Configuration ManagementRational ClearQuestRational ClearCase LT

Project ManagementRational Unified ProcessRational RequisiteProRational ProjectConsoleRational TestManagerRational SoDASoftware Configuration ManagementRational ClearQuestRational ClearCase LT

AnalystAnalyst DeveloperDeveloper TesterTester

Rational XDERational RoseRational PurifyPlus*Rational RobotRational Process Workbench

Rational XDERational RoseRational PurifyPlus*Rational RobotRational Process Workbench

DMDM RTRT EE EE

All RolesAll Roles

EE

IBM Software Group | Rational software

The “Simplicity of One”

1 Package

1 CD

1 Install

1 License

1 Support vehicle

1 Upgrade / release cycle

1 Company

1 Package

1 CD

1 Install

1 License

1 Support vehicle

1 Upgrade / release cycle

1 Company