230 likes | 372 Views
Rational Suite of Tools Overview Michel Izygon - Jim Helm. Software Development Process Root Problems. Ad hoc requirements management Ambigous and imprecise communication Brittle Architecture Undetected inconsistencies in requirements, design and implementation Insufficient Testing
E N D
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
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
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
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
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:
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
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
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)
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
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
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
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
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
Purify • Tool supporting Testing/Reliability Diagnostics • Locate hard to find run-time errors • Start using as soon as code is written • Languages: C, C++,
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
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
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
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)
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
SoDA • Tool supporting Automatic Documentation Generation • Used during the entire Lfecycle • Helps keep documentation up-to-date • Tight Integration with Requisite Pro, ClearQuest, Rose
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
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