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
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
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
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
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
Top Related