csci 4931 - tool overview 1 rational suite of tools overview michel izygon - jim helm
TRANSCRIPT
CSCI 4931 - Tool Overview 2
Software Development Process Root Problems
• Ad hoc requirements management
• Ambigous and imprecise communication
• Brittle Architecture
• Undetected inconsistencies in requirements, design and implementation
• Insufficient Testing
• Subjective Project Status Assessment
• Failure to attack risks
• Uncontrolled change propagation
• Insufficient automation
CSCI 4931 - Tool Overview 3
Rational Unified Process
• Software Engineering Process covering entire life cycle
• Provides disciplined approach to assigning tasks and responsibilities within team
• Process Product developed and maintained by Rational
• Process Framework which can be adapted to project specific needs
• Unified Process is a framework based mostly on Objectory
• Captures current Best Practices
• Tools Support• Use-Case Driven, Architecture-Centric, Iterative,
Incremental
CSCI 4931 - Tool Overview 4
Tools: What & Why • Any computer-based tools which attempt to support some
aspect(s) of the software life-cycle• Becomes more necessary as projects become more complex• Help team members work together
central repository of artifacts produced
coordinate workers activities
implement process
give visibility to project status• Automate some developers tasks
initially compilers and linkers, then editors, then debuggers, ...
computer better than human for certain tedious tasks
CSCI 4931 - Tool Overview 5
Tools Integration• Cooperation of tools to support (some aspect of)
software development process. • Set of integrated tools forms an integrated software
engineering environment (ISEE). • Implies that tools can:
communicate
share data
present information to the user in a coherent fashion
CSCI 4931 - Tool Overview 6
Tools Overview• Multiple Categories covering different Workflows
Project Management: ClearQuest, SoDA
Business Modeling: Requisite Pro, Rose
Requirements: Requisite Pro
Analysis and Design: Rose
Implementation: Rose, Purify, Quantify
Testing: Test Factory, PureCoverage, Robot
Configuration Management: ClearCase
Deployment:
Environment:
Iteration:
CSCI 4931 - Tool Overview 7
Requisite Pro
• Tool covering Requirements Management• Used for Requirement Workflow• Common Problems with Requirements
Management
can’t track changes
difficult to write
feature creep
not well organized• Document Centric and Database Centric
CSCI 4931 - Tool Overview 8
Requisite Pro Key Concepts• Organizes Requirements in Repository• Project is a requirements database and its related documents• Documents can be product requirements, system requirements
software and hardware specifications, user requirements, quality assurance
• Version Control lets you trace change by archiving projects• User personal catalog, includes all projects relevant to a given
user• Multiple workspaces where distinct but interrelated work is done• Multiple Views present information such as Status or Priority
about Project, Document, or Requirements in graphics/ tables/outline tree
• Searching Capability • Archiving through CM Tool• Integrated with MS Word and MS Project• Complete Requirements Traceability
CSCI 4931 - Tool Overview 9
ClearQuest
• Tool covering Change Request Management• Used for Project Management and over entire
lifecycle • Addresses the single largest cost factor in
software development: CHANGE• Help an Organization manage change and track
product defects over the entire life cycle• Change Requests on any artifact created during
the software development effort.• CR tracked from input to disposition through the
different states (submitted, assigned, opened, resolved, verified, postponed)
CSCI 4931 - Tool Overview 10
ClearQuest Key Features
• Workflow completely customizable• Enable integration with existing source control and
testing software • Comprehensive Reporting capability gives entire
visibility on project quality status with trends, aging and distribtion plots
• Web interface enables easy input of Change Request from remote team members
• Workers receive email notification of CRs states• Associate Change Requests with evolving software
development artifacts, across multiple products, versions, platforms and releases
• Scale up for Large Scale Development effort
CSCI 4931 - Tool Overview 11
Rose• Tool supporting Visual Modeling• Used mainly during Business Modeling,
Requirements, Analysis and Design• Implements the Unified Modeling Language (UML)
notation• Help an Organization communicate architectural
decisions by cpaturing graphically the structure and interrelationships of the system
• Models are developed and managed over the entire lifecycle
• Main market share of UML tools
CSCI 4931 - Tool Overview 12
Rose Key Features
• Covers (almost) the entire set of UML notation (Use Cases, Class, Subsystems, Interfaces, Deployment Model, Collaboration Diagrams, Sequence Diagrams) using subtools
• Team support through private/public workspaces • Round trip engineering: Forward/Reverse
engineering• Multi language (C++, Java, VB, PB, Ada, …)• Integrated with MS Visual Studio, ClearCase
CSCI 4931 - Tool Overview 13
Rational TestFactory
• Tool covering Testing• Used for Testing Workflow• Automates software test script generation and
execution• Apply to VB• For PB other tool named Robot can be used
CSCI 4931 - Tool Overview 14
Rational Test Factory Key Features
• Automatically creates scripts with extensive coverage
• Tracks executed ans unexecuted code• Generates Regression Test Suites• Simplifies maintenance of tests assets• Enables test suites to run in batch mode• Simulate user action sequences to increase test
validity
CSCI 4931 - Tool Overview 15
Purify
• Tool supporting Testing/Reliability Diagnostics• Locate hard to find run-time errors• Start using as soon as code is written• Languages: C, C++,
CSCI 4931 - Tool Overview 16
Purify Key Features
• Detect following types of errors:
array bounds errrors
accesses through dangling pointer
uninitialized memory read
memory allocation errors
memory leaks• Provide filtering and detail level customization• GUI and command line interface• Integrated with ClearQuest
CSCI 4931 - Tool Overview 17
Visual Quantify
• Tool supporting Testing/Performance Profiling• Help developer/quality engineer fine tune the
application performance• Enable developer to make program run faster• Should be used as soon as code is written• Tight integration with MS Studio, ClearQuest
CSCI 4931 - Tool Overview 18
Quantify Key Features• Measures performance for following type of
components:
C, C++ code, exes, dll, OLE/ActiveX controls, COM objects, VB, Java, …
• Represents graphically the Call Graph of the application• Identify the most expensive functions in a program• Enable developer to explore program structure at any
level of detail• Provide quantitative data on:
number of time function called
time spent in each function executed• Let the user play what-if scenarios• Monitors threads
CSCI 4931 - Tool Overview 19
Pure Coverage
• Tool covering Testing• Used for Testing Workflow to perform code
coverage analysis during application execution• Identify unexercised lines of code in a test run• Target code: C++, VB, Java, dll, exes, OLE,
ActiveX controls, COM, Excel, Word• Instruments the code (inserts additional code)
CSCI 4931 - Tool Overview 20
Pure Coverage Key Features
• Displays which Function, Procedure, Method not called, which one called once
• Reports number of lines of code missed and hit• Modify Test run to cover missed lines• Integrated with MS Studio, VB, ClearQuest• Tests are rerun after modification
CSCI 4931 - Tool Overview 21
SoDA
• Tool supporting Automatic Documentation Generation
• Used during the entire Lfecycle • Helps keep documentation up-to-date• Tight Integration with Requisite Pro, ClearQuest,
Rose
CSCI 4931 - Tool Overview 22
SoDA Key Features
• Extract Information from different sources/application databases (Rose, Requisite Pro, ClearQuest, Rational TestFactory)
• Customization of Templates• Enables addition of free text• Intelligent Document Merging: update document
according to sources changes
CSCI 4931 - Tool Overview 23
ClearCase / Key Features• Used for Configuration Managment • Comprehensive software version control and
configuration management system• Access to files through Views• Data Repository is made of Versioned Object Bases
(VOB)• Files and Directories are Elements contained in VOBs• Files are associated with Views though configuration
specs or rules• Allow developer to easily compare or merge versions of
elements • Complete traceability of who did what to which
element, when, where and why• Integrated with MS Visual Studio