OOP - A Silver Bullet ?

725 views
637 views

Published on

This presentation discusses whether Object Oriented Programming is the Silver Bullet. It discusses how features of OOP can answer the essential problems of software design discussed by Dr. Fred Brooks in his article titled "No Silver Bullet".

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
725
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OOP - A Silver Bullet ?

  1. 1. OOP- A Silver Bullet ?
  2. 2. AGENDA  Overview of “No Silver Bullet”  Difficulties in Software Development  Potential Silver Bullets  Feature of Object Oriented Programming  Q & A
  3. 3. OVERVIEW  “No Silver Bullet : Essence and Accidents of Software Engineering” -- Dr. Fredrick Brooks  Monumental Software Disasters Denver International Airport Advanced Automation System (AAS) MasterNet system for Bank of America
  4. 4. ESSENTIAL DIFFICULTIES  Complexity  Changeability  Invisibility  Conformity “There must be simplified explanations of nature, because God is not capricious or arbitrary.” -- Einstein
  5. 5. POTENTIAL SILVER BULLETS  Object Oriented Programming  Requirements Refinement and Rapid Prototyping  Buy versus Build
  6. 6. OBJECT ORIENTED PROGRAMMING  Abstraction  Encapsulation  Inheritance I, Pencil – Leonard E. Read Some must watch while some must sleep – William Dement
  7. 7. REQUIREMENT REFINEMENT The Rock Problem Barriers to Elicitation The “Yes, But” Syndrome The “Undiscovered Ruins” Syndrome The “User and the Developer” Syndrome The “Analysis Paralysis” Syndrome
  8. 8. ROOT CAUSE OF PROJECT SUCCESS AND FALIURE 0 5 10 15 20 25 30 35 40 45 50 Requirements Specification Managing Customer Requirements Documentation Testing Project Management Coding Major Problem Minor Problem Never a Problem Software Development Problems (Data derived from ESPITI [1998])
  9. 9. Contd….. 0 10 20 30 40 50 60 70 80 90 1st Qtr 2nd Qtr 3rd Qtr 4th Qtr East West North Cost to repair a defect at different lifecycle phase (Data from Davis [1998])
  10. 10. SOLUTIONS  Rapid Prototyping One that simulates the important interfaces and performs the main functions of the intended system, while not necessarily being bound by the same hardware speed, size or cost constraints.  Incremental Development Grow, don’t build, software “Any software system should be grown by Incremental Development.” -- Harlan Mills in his book Software Productivity
  11. 11. BUY VERSUS BUILD Successful Projects: The project is completed on time and within the specified budget with all features and functions as originally specified. Challenged Projects: The project is completed and operational, but over-budget , over the time estimate and with fewer features and functions than originally specified. Failed Projects: The project is cancelled before completion.
  12. 12. PROJECT RESOLUTION HISTORY 16 27 26 28 31 40 28 23 53 33 46 49 0% 20% 40% 60% 80% 100% 1994 1996 1998 2000 Succeeded Failed Challenged Data derived from the CHAOS report [2000] by Standish Group
  13. 13. OVERRUNS AND DEFICIENCIES 202% 214% 182%178% 239% 230% 26% 35% 58% 0% 50% 100% 150% 200% 250% Large Medium Small Cost Overruns Time Overruns Content Deficiencies Data derived from the CHAOS report [2000] by Standish Group
  14. 14. SUCCESS BY PROJECT SIZE 33% 25% 15% 8% 55% 0% 0% 10% 20% 30% 40% 50% 60% Less than $750K $750K to $1.5M $1.5M to $3M $3M to $6M $6M to $10M Over $10M “Large projects are not just bigger small projects. They are completely different beasts” -- Barry Boehm
  15. 15. BUY OR BUILD ? Never Build. Always Buy. WHY ???  Quicker turnaround  Benefit of proven product  Long term maintenance and support available  Potentially Lower investment cost HOW ???  Acquire commercial software; Ready to use  Contract with a third party to build your system; Outsource  Strategic Alliance
  16. 16. THANK YOU QUESTIONS & ANSWERS

×