Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Software Engineering. Programming versus Software Engineering Programming versus Software Engineering programming programming 1. The process.

Similar presentations


Presentation on theme: "Introduction to Software Engineering. Programming versus Software Engineering Programming versus Software Engineering programming programming 1. The process."— Presentation transcript:

1 Introduction to Software Engineering

2 Programming versus Software Engineering Programming versus Software Engineering programming 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) 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. 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) 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) 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.” “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.”

3 Other Definitions of Software Engineering “A systematic approach to the analysis, design, implementation and maintenance of software.” (The Free On-Line Dictionary of Computing) “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) “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 about designing and developing high-quality software.” (Shari Lawrence Pfleeger in Software Engineering -- The Production of Quality Software)

4 Software Engineering is Nothing New In 1945 George Polya Published a Book In 1945 George Polya Published a Book Called How to Solve It Outlining Four Called How to Solve It Outlining Four Steps in Problem Solving. Steps in Problem Solving. 1. Understand the Problem (Requirements Analysis) Analysis) 2. Devise a Plan (Software Design and Implementation Plan) Implementation Plan) 3. Carry out the Plan (Coding) 4. Look Back (Testing the Solution)

5 Development Costs Analysis by Capers Jones Analysis by Capers Jones

6 The Origin of Software Defects

7 Maintenance Costs

8 Development Schedules For Large Companies 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


Download ppt "Introduction to Software Engineering. Programming versus Software Engineering Programming versus Software Engineering programming programming 1. The process."

Similar presentations


Ads by Google