Download presentation
Presentation is loading. Please wait.
Published byRoger Gray Modified over 8 years ago
1
A Copper Bullet for Software Quality Improvement Michael Blaha Computer (IEEE), Volume: 37 No. 2, Feb. 2004
2
Copper Bullets Fred Brooks ‘no silver bullet’ – no single action that the computing community can take to radically improve software quality Copper bullets – lesser actions that improve quality over time
3
Software Engineering = copper bullet Large and complex software makes benefits of SE less noticeable Unprecedented number of project failures >>> NEED MORE COPPER BULLETS
4
Proposal Use database reverse engineering to measure the quality of software Flawed database Other quality issues Sound database Good overall quality
5
Why needed? Companies examine software based on –Cost –Functionality –User Interface –Vendor Stability Nothing to measure intrinsic quality
6
Evaluation Database reverse engineering will measure the quality of the product Time spent is trivial compared to cost of product and cost of implementation Benefits are immediate and far reaching
7
Copper Bullet Effect Evaluation pressures vendors to improve Improvement means upgrading practices Technical merit >= Marketing savvy Better products More sales, better prices Lesser products Less sales, future ? Aggregate vendor quality better for entire software community
8
How is database reverse engineering done? Reverse engineering starts at the end and works backward to deduce the requirements Most large products have databases Vendors more willing to provide database structure than code Vendors are asked for design and model
9
More How-to Logic Reverse engineering is not new, not unethical In this case, used for evaluation, not to expose secrets Non-disclosure agreement Reverse engineering not practical for copying product by companies looking to buy product
10
Additional Benefits Get past assumptions and sales claims Get deeper understanding of the product Better communication with the vendor Use software more effectively Clearly answer “What is the vendor selling?”
11
Grading Scale
12
About Grading Adopted scale in 1992 Business leaders understand the grade Supported by technical details Details can be reviewed
13
History Began doing reverse database engineering since 1992 www.modelsoftcorp.com First time was an experiment –Perplexed by experience with vendor product –Vendor was large and credible –Sales pitch good –Vendor understood business requirements
14
History Decided to look at the database –Found its poor quality was root of problems Decided to look at other product databases Determined it should be routinely performed
15
Results of 11 years of grades Varied vendors, in house products, and team evaluators Many applications have flawed databases –Anonymous address fields –Use sequence number to resolve 1 to many relationship –Overloaded foreign keys –Propagated identity –Linked tables by human inspection rather than referential integrity
16
Results of 11 years of grades Design average improved 1.7 to 2.2 Model average improved 1.9 to 2.2 In house product vs vendor product similar
17
Causes for Low Averages Developers do not appreciate modeling Abstraction most difficult part of modeling Need to teach the art and thought processes behind modeling
18
Conclusion Database quality is good indicator of application quality Business leaders like the help in evaluating vendors/software Database reverse engineering should be routinely practiced The ripple effect is a copper bullet
19
The Copper Bullet Effect Reward excellent vendors, penalize sloppy ones As vendors improve, then through transfer of personnel, in house developers will improve Universities will see the need to teach database courses better Overall software quality will improve Copper bullet effect of entire software community
20
Dr. Michael Blaha Dr. Blaha - doctoral degree from Washington University in St. Louis, Missouri alumnus of the GE R&D Center in Schenectady, New York. areas of interest are modeling, database design, object- oriented technology, and reverse engineering. authored a number of papers and three books an independent consultant and trainer in the areas of modeling, database design, and reverse engineering. a partner of Modelsoft Consulting Corp.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.