110 likes | 633 Views
Introduction to Software Engineering. Programming versus Software Engineering. programming 1. The process of translating a problem from its physical environment into a language that a computer can understand and obey. ( Webster’s New World Dictionary of Computer Terms)
E N D
Programming versus Software Engineering • programming • 1. The process of translating a problem from its physical environment into a language that a computer can understand and obey. (Webster’s New World Dictionary of Computer Terms) • 2. The art of debugging a blank sheet of paper. • 3. A pastime similar to banging one's head against a wall, but with fewer opportunities for rewards. (2 and 3 from The New Hacker’s Dictionary) • software engineering (according to Fritz Bauer) “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.”
Other Definitions of Software Engineering • “A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing) • “The systematic application of tools and techniques in the development of computer-based applications.” (Sue Conger in The New Software Engineering) • “Software Engineering is about designing and developing high-quality software.” (Shari Lawrence Pfleeger in Software Engineering -- The Production of Quality Software)
Software Engineering is Nothing New In 1945 George Polya Published a Book Called How to Solve It Outlining Four Steps in Problem Solving. 1. Understand the Problem (Requirements Analysis) 2. Devise a Plan (Software Design and Implementation Plan) 3. Carry out the Plan (Coding) 4. Look Back (Testing the Solution)
Development Costs • Analysis by Capers Jones
Development Schedules • For Large Companies • 30% of software projects are canceled before completion • 62% experience significant cost /schedule overruns and/or offer fewer features than originally specified • Less than 9% finish on time, within budget, and satisfy user needs • The mode is to finish over a year late and cost almost twice original estimates