Productivity Enhancements Through Software Engineering Toolsv1 0_oct08
-
Upload
kasyapreddy -
Category
Documents
-
view
12 -
download
0
description
Transcript of Productivity Enhancements Through Software Engineering Toolsv1 0_oct08
Wipro confidential © Copyright 2007 Wipro Ltd
Productivity enhancements through Software Engineering
Tools
Speaker: Kumar MadhavanDesignation: Project ManagerDate: 29th October 2008E-Mail: [email protected]
Confidential © Copyright 2007 Wipro Ltd 2
Agenda
1 Background
2 Tools Used in SDLC
3 Conclusion
Wipro confidential © Copyright 2007 Wipro Ltd 3
Background
Confidential © Copyright 2007 Wipro Ltd 4
History1994: 16% of projects succeeded[1]
Average cost over run 180%
2004: 35% IT project being on time and within budget[2]
Average cost over run 43%
2007: 65% of IT Projects succeeded[3]
Effort < 200 person weeks
Nearly 70 percent of really big IT projects fail[4]
[1] – Standish Report 1994[2] – Standish Report 2004[3] - A rival report to CHAOS by Sauer, Gemino, and Horner Reich[4] - Royal Academy of Engineering
Confidential © Copyright 2007 Wipro Ltd 5
Agenda
Cost
Quality
ScheduleScope
Understand suitability of tools across SDLC
Identify appropriate tools for
Development,
Maintenance and
Service projects
Case Studies on Usage of Tools
Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 6
Tools
Requirements Management Tools Design Tools Unit Testing Tools System Testing Tools Performance Testing
ToolsRequisite ProCaliber RMDoors
Rational RoseER-WinPoseidonRose Real time
PurifyQuantifyPureCoverageBoundsCheckerJtestTrue TimeTrue coverageRational Test Real time
Rational RobotWinrunnerQuick Test ProfessionalSilk Test
Rational Load TestLoad runnerSilk Performer
SCM Tools
ClearCaseLT; Visual Source Safe; Starteam; CVS; Subversion
Test Management Tools
Rational Test Manager; Test Director; Star Team
Wipro confidential © Copyright 2007 Wipro Ltd 7
Requirements Management
Confidential © Copyright 2007 Wipro Ltd 8
Why Requirements Management?Requirements errors cost US businesses more than $30 billion peryear [4]
[4] - an article by Donald Firesmith for the Software Engineering Institute
Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 9
Requirement Tools Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Name of the Tool Supported Platform
URL
DOORS/DOORSrequireIT
Windows & Unix www.telelogic.com
Rational Requisite Pro
Windows www.rational.com
Vital Link Windows www.complianceautomation.com
Caliber RM Windows www.borland.com/caliber
RTM Windows & Unix www.chipware.com
Cradle REQ Unix www.threesl.com
RDT Windows www.igatech.com/rdt
Confidential © Copyright 2007 Wipro Ltd 10
Requirement Tools Criteria Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Features IntegrationClassification of RequirementsHierarchical Req. Relationship TraceabilityChange History Attributes Customizing the ToolRequirements MetricsTraceabilitySecurity
Project Management ToolsSCM ToolDesign ToolTesting Tools
TrainingLearning CurveAvailability of Templates
Confidential © Copyright 2007 Wipro Ltd 11
Requirements Management – Requisite Pro Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Creating RequirementsClassification of RequirementsLinking Requirements
Confidential © Copyright 2007 Wipro Ltd 12
Requirements Management – Attributes Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Default AttributesTracking of RequirementsAdding new Attributes
Confidential © Copyright 2007 Wipro Ltd 13
Requirements Management – Change Management Requirem
ents AnalysisD
esignCoding
Unit TestingFunctional Testing
SCM
View the changeswho, what,why, and when
“The team can keep up withthe requirements as they change and mature."
Confidential © Copyright 2007 Wipro Ltd 14
Requirements Management – Traceability Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
“It’s very easy to skip over requirements or make assumptions. RequisitePro drives us
to make sure we've covered everything.”
“With RequisitePro's suspect links, all team members can
immediately see changesthat are made…”
Confidential © Copyright 2007 Wipro Ltd 15
Requisite Pro Case Study – Usage in a Leading Telecom Customer in US Requirem
ents AnalysisD
esignCoding
Unit TestingFunctional Testing
SCM
Easy traceability from the Requirements phase to Acceptance phase.
Good in knowing whether client’s expectations are met.
For big project teams, this is very good.
RequisitePro guarantees success of a Project by giving teams the ability to manage all project requirements, facilitating team collaboration and communication.
Not even a single requirement missed at any stage.
Wipro confidential © Copyright 2007 Wipro Ltd 16
Design Tools
Confidential © Copyright 2007 Wipro Ltd 17
Why Design Tools? Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Tools help manage the visual design of the software system .Brings Consistency in understanding the design.Enforces the basic rules of design, based on the methodology chosen. (UML etc)Helps generate code templates from the design reducing the effort needed in coding.Tool helps reverse engineer code into design reducing re-documentation effort.HTML document generation for on-line document reviews.
Confidential © Copyright 2007 Wipro Ltd 18
Design Tools Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Tool Platform URL
Rational Rose Enterprise Unix/Win www.rational.com
MS Visio Windows www.microsoft.com
TogetherJ Unix/Win www.togethersoft.com
Describe Unix/Win www.embarcadero.com
Rhapsody Unix/Solaris www.ilogix.com
Posiedon Windows www.gentleware.com
UML Design Tools:
Database Design Tools:Erwin Windows www.ca.com
ER Studio Windows www.embarcadero.com
Confidential © Copyright 2007 Wipro Ltd 19
Design Tool Criteria Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Features FeaturesDiagram Support
Use Case DiagramsClass DiagramsSequence DiagramActivity DiagramCollaboration DiagramState DiagramComponent DiagramDeployment Diagrams
Round trip engineeringCode GenerationReverse EngineeringBasic Report Generation
Integration
Other FeaturesModel comparisonMulti UserPackagesPlatformXMI format.HTML documentation
Customisation
Project Management ToolsSCM ToolRequirements Management ToolsTesting Tools
Confidential © Copyright 2007 Wipro Ltd 20
Design Tool Criteria Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 21
Design Case Study – Usage in a Leading Financial Customer in UK Requirem
ents AnalysisD
esignCoding
Unit TestingFunctional Testing
SCM
Learning Effort – 3 Person Weeks
Usage Effort – 10 Person Weeks
Benefits
Code Generation: 35 Kloc of code was generated by tool out of total 110kloc i.e. 31.81% of automatic code generation.
Design Synchronisation: - Design and Code Intact
In general 4-8% of Code Generation is possible using Design Tools
Wipro confidential © Copyright 2007 Wipro Ltd 22
Code Generation Tools
Confidential © Copyright 2007 Wipro Ltd 23
Code Generation Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Automated building of high-level code
Tools range in size and complexity
Simple code parsers to fully featured class and tier builders
For Java and EJBs:interfaces, classes and beans from a description of the tables
Web Pages
For .NETASP.NET (web pages)
ADO.NET (DB connection classes) applications
Confidential © Copyright 2007 Wipro Ltd 24
Code Generation Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
1) The Design Patterns 2) The Domain Meta-Data3) The Domain Rules
Confidential © Copyright 2007 Wipro Ltd 25
MDA – Model Driven Architecture
Technology Pattern ExampleCreated a new technology pattern that creates a simple EJB modelContaining EJBSessionComponents with some predefined methods and tags.
Implementation Pattern ExampleCreates a simple utility class for Web components so that code is generated in addition to the other code generated for Web components.To get calendar control for data type in all the web pages
Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 26
Optimal J - Usage Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 27
Code Generation Case Study: A Leading Retail Giant in US Requirem
ents AnalysisD
esignCoding
Unit TestingFunctional Testing
SCM
Objective: To validate Usage of MDA
Technology: J2EE
Zero Touch Code for CRUD (Create, Read, Update and Delete) application
Presentation Tier – JSP
Middle Tier – EJB
Data Tier – SQL Scripts for Database
Wipro confidential © Copyright 2007 Wipro Ltd 28
Software Configuration Management
Confidential © Copyright 2007 Wipro Ltd 29
Why Software Configuration Management? Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Managing Parallel ReleasesGreater Drive towards reduction in Time to Market
Multi-Vendor handling different modules
Different Vendors handling different releases
Maintaining all the changes and archiving information for easy accessibility by the team is difficult to enforce in manual systemGeographically Diverse Team accessing Code
Risk of changes made by one team member being overwritten by another
Confidential © Copyright 2007 Wipro Ltd 30
Why Software Configuration Management? Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Name of the Tool Supported Platform
URL
MS – Visual Source Safe Windows www.microsoft.comPVCS Windows & Unix www.merant.comClearCase Windows & Unix www.ibm.comCVS Windows & Unix http://www.nongnu.or
g/cvsSubversion Windows & Unix http://subversion.tigris
.orgCVS for NT Windows http://www.cvsnt.org/
Confidential © Copyright 2007 Wipro Ltd 31
SCM Tool Criteria Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Basic featuresRepositoryCheck-in/check-outFile viewingLocking mechanismSecurity featuresRecreation of versions
Desirable FeaturesDifference reportingBranch & MergingVersion LabelingBuilding an applicationPromotion groupsAbility to compress files
Features FeaturesAdvanced Features
Event TriggersKeyword expansionWeb Interface
IntegrationProject Management ToolsRequirements Management ToolDesign ToolRequirements Management ToolsTesting Tools
Confidential © Copyright 2007 Wipro Ltd 32
SCM Case Study – A Leading Health Care Customer in USTeam Size: 50+
Duration: 20 Months
Code Base: Java & AS400
Correct Workspace reducing rework and errors
Owners identified for Shared Code
Dedicated group of functional consultants to define tree for clear replication of functionality.
Exclusive checkouts only! Making SCM well defined & disciplined
All release checklists made dynamic & kept under version controlfor correct relevance. No release compliant!
Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Wipro confidential © Copyright 2007 Wipro Ltd 33
Unit Testing Tools
Confidential © Copyright 2007 Wipro Ltd 34
Activities in CUT Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Coding Testing
Coding Standards
Review
Logic
Stubs & Drivers
Profiling
Bottle Necks
Memory Leaks
Code Coverage
Confidential © Copyright 2007 Wipro Ltd 35
Unit Testing Tool Criteria Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Features IntegrationCoding Standards
Best PracticesCreation and Customisation
Unit TestingTest Case CreationStub CreationCoverage AnalysisRegression Testing
Memory ProfilingPerformance AnalysisReports
Violation ReportsUnit Test ReportCoverage Analysis
Design ToolIntegrated Development EnvironmentSoftware Configuration Management
Confidential © Copyright 2007 Wipro Ltd 36
Static Analysis & Unit Testing - JTest Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 37
JTest Case Study: A Leading Retail Giant in US Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Code Base: 10 KLoc
Benefits:Time Saving
Reduced time for Test Case PreparationReduced time for Code Review for Coding Standards (90% reduction)Reduced time for Test Case Execution (80% reduction)
Better Coding Standard adheranceAccurate Reports
On Coding Standard ViolationTest Execution ReportCode Coverage andClass Metrics
Confidential © Copyright 2007 Wipro Ltd 38
Memory Profiling Tools Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Identification of leaksMemory FragmentationMemory Overuse Memory BottlenecksSees how much memory the application uses in response to particular user eventsAnalyse memory usage by function, call stack, and block size
Tool Platform supported URLJProbe Suite Windows/Solaris www.quest.comOptimizeIT Suite Windows/Solaris / Linux www.borland.com
Confidential © Copyright 2007 Wipro Ltd 39
JProbe Profile Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Pinpoints performance bottlenecks Analyzes performance
Zeros in on critical code
Specifies desired level of detail collection
Confidential © Copyright 2007 Wipro Ltd 40
JProbe CaseStudy – A Project in Enterprise Domain Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Platform: Java / J2EELearning Effort: 22 PHTool Usage Effort: 200 PH.
200+ memory leaks were found for the code base of 800KLOC Many Bottlenecks were found.Initial Coverage was 65% and 10% more errors were found due to increased coverage.Achieved Coverage of 94%Saved 90% of the effort to identify bugs
Wipro confidential © Copyright 2007 Wipro Ltd 41
Functional Testing Tools
Confidential © Copyright 2007 Wipro Ltd 42
Functionality Testing Tool Criteria Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Ease of UseTool CustomizationPlatform & Browser Support Test Language FeatureTest Control FeaturesSupport for Reusable libraryData Driven Test and Data GenerationGood Support for Verification/Check PointSupport for Running Batch Script
Features
IntegrationTest Management ToolsRequirements Management ToolChange Management ToolSCM Tool
Confidential © Copyright 2007 Wipro Ltd 43
Template Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Tool NameSupported Platforms URL
WinRunner Win95/98/NT/2000 www.merc-int.comSilkTest Win95/98/NT/2000 www.segue.comFunctional TesterPerformance Tester Win95/98/NT/2000 www.rational.comQA Run Win95/98/NT/2000 www.compuware.com
Confidential © Copyright 2007 Wipro Ltd 44
Rational Robot - Perspective Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Confidential © Copyright 2007 Wipro Ltd 45
Rational Robot Case Study – A Leading Gas Supplier in UK Requirem
ents AnalysisD
esignCoding
Unit TestingFunctional Testing
SCM
Test Cases: 70
Benefits
Cost Savings: Reduction in the testing team size from 8 to 5.
Reduction in Testing Cycle time
Higher error capture during testing
Ease in Transition
High resource retention
Higher Client Satisfaction
Wipro confidential © Copyright 2007 Wipro Ltd 46
Conclusion
Confidential © Copyright 2007 Wipro Ltd 47
Tools and Usage Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Tool Usage LeaversRequirements Management
RequirementsChange ControlImpact Analysis
QualityReduced Rework
Design Tool OOAD Code Generation andCode Synchronisation
Productivity ImprovementReduced Rework
Code Generation Tool
Code GenerationUnit Test Case Generation
Productivity ImprovementQuality Adherence to Standards
SCM Base Line Creation Configuration Management
Reduced errors
Unit Testing Code ReviewUnit TestingCoverage and Profiling
QualityProductivity
Functional Testing Integration TestingRegression Testing
Productivity ImprovementQuality
Confidential © Copyright 2007 Wipro Ltd 48
Benefits of Automation Requirements Analysis
Design
CodingUnit Testing
Functional TestingSCM
Controlled Project ExecutionReduces Manual WorkRepeatability in MinutesImproved Code QualityReports in Hand
Confidential © Copyright 2007 Wipro Ltd 49
Thank You