SOFTWARE ENGINEERING AND TRIZ (1) STRUCTURED PROGRAMMING REVIEWED WITH TRIZ
Introduction to Software Engineering. Programming versus Software Engineering Programming versus...
-
Upload
evelyn-watts -
Category
Documents
-
view
225 -
download
7
Transcript of Introduction to Software Engineering. Programming versus Software Engineering Programming versus...
Introduction to Introduction to Software EngineeringSoftware Engineering
Programming versus Programming versus Software EngineeringSoftware Engineering
programmingprogramming 1. The process of translating a problem from its 1. The process of translating a problem from its
physical environment into a language that a computer physical environment into a language that a computer can understand and obey. (can understand and obey. (Webster’s New World Webster’s New World Dictionary of Computer Terms)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 3. A pastime similar to banging one's head against a
wall, but with fewer opportunities for rewards. (2 and 3 wall, but with fewer opportunities for rewards. (2 and 3 fromfrom The New Hacker’s Dictionary) The New Hacker’s Dictionary)
software engineering software engineering (according to Fritz Bauer)(according to Fritz Bauer) “ “The establishment and use of sound engineering The establishment and use of sound engineering
principles in order to obtain economically software that principles in order to obtain economically software that is reliable and works efficiently on real machines.”is reliable and works efficiently on real machines.”
Other Definitions of Other Definitions of Software EngineeringSoftware Engineering ““A systematic approach to the analysis, A systematic approach to the analysis,
design, implementation and maintenance of design, implementation and maintenance of software.” (software.” (The Free On-Line Dictionary of The Free On-Line Dictionary of Computing)Computing)
““The systematic application of tools and The systematic application of tools and techniques in the development of computer-techniques in the development of computer-based applications.” (Sue Conger in based applications.” (Sue Conger in The New The New Software Engineering)Software Engineering)
““Software Engineering is about designing and Software Engineering is about designing and developing high-quality software.” (Shari developing high-quality software.” (Shari Lawrence Pfleeger in Lawrence Pfleeger in Software Engineering -- Software Engineering -- The Production of Quality Software)The Production of Quality Software)
Software Engineering Software Engineering is Nothing Newis Nothing New
In 1945 George Polya Published a Book In 1945 George Polya Published a Book Called Called How to Solve ItHow to Solve It Outlining Four Outlining Four Steps in Problem Solving.Steps in Problem Solving.
1. Understand the Problem (Requirements 1. Understand the Problem (Requirements
Analysis)Analysis)
2. Devise a Plan (Software Design and 2. Devise a Plan (Software Design and
Implementation Plan)Implementation Plan)
3. Carry out the Plan (Coding)3. Carry out the Plan (Coding)
4. Look Back (Testing the Solution)4. Look Back (Testing the Solution)
Development CostsDevelopment Costs Analysis by Capers JonesAnalysis by Capers Jones
0 10 20 30 40
Education
QA
Design
Clerical
Planning
Integration
Coding
Meetings
Paperwork
Defect Rem.
The Origin of Software The Origin of Software DefectsDefects
IBM Corp.
TRW Corp.
Mitre Corp.
Nippon Electric
Design Errors 45% 60% 64% 60%
Coding Errors 25% 40% 36% 40%
Bad Fixes 20%
Doc. Errors 5%
Admin. Errors 5%
Maintenance CostsMaintenance Costs
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1970 1980 1990 2000
All Other Costs
Maintenance Cost
Development Development SchedulesSchedules For Large CompaniesFor Large Companies
– 30% of software projects are canceled 30% of software projects are canceled before completionbefore completion
– 62% experience significant cost /schedule 62% experience significant cost /schedule overruns and/or offer fewer features than overruns and/or offer fewer features than originally specifiedoriginally specified
– Less than 9% finish on time, within Less than 9% finish on time, within budget, and satisfy user needsbudget, and satisfy user needs
– The mode is to finish over a year late and The mode is to finish over a year late and cost almost twice original estimatescost almost twice original estimates