1 / 12

Introduction to Software Engineering

Introduction to Software Engineering. Computer Science and Engineering 470. The study of systematic and effective processes and technologies for supporting software development and maintenance activities. What is Software Engineering ???. Improve quality Reduce cost.

Télécharger la présentation

Introduction to Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Software Engineering Computer Science and Engineering 470

  2. The study of systematic and effective processes and technologies for supporting software development and maintenance activities What is Software Engineering ??? • Improve quality • Reduce cost

  3. Historical Perspective • 1940s: computers invented • 1950s: assembly language, Fortran • 1960s: COBOL, ALGOL, PL/1, operating systems 1969: First conference on S/W Eng • 1970s: multi-user systems, databases, structured programming

  4. Historical Perspective (cont.) • 1980s: networking, personal computing, embedded systems, parallel architectures • 1990s: information superhighway, distributed systems, OO • 2000s: virtual reality, voice recognition, video conferencing, global computing, ...

  5. Hardware Costs vs Software Costs(% of overall costs) s/w costs h/w costs

  6. Why is software so expensive? • Hardware has made great advances • But, software has made great advances ... • Do the least understood tasks in software • When task is simple & understood, encode it in hardware • Demand more and more of software

  7. Size of programs continues to grow • Trivial: 1 month, 1 programmer, 500 LOC, Intro programming assignments • Very small: 4 months, 1 programmer, 2000 LOC Course project • Small: 2 years, 3 programmers, 50K LOC Nuclear power plant, pace maker • Medium: 3 years, 10s of programmers, 100K LOC Optimizing compiler

  8. Size of programs continues to grow • Large: 5 years, 100s of programmers, 1M LOC MS Word, Excel • Very large: 10 years, 1000s of programmers, 10M LOC Air traffic control, Telecommunications, space shuttle

  9. Goals of this Course • Expose you to some of the problems typically encountered in s/w eng • Expose you to some of the techniques that have been found to be effective • Requires more rigor • Often appears “obvious” • (but only after being learned)

  10. What’s the problem? • Software cannot be built fast enough to keep up with • H/W advances • Rising expectations • Feature explosion • Increasing need for high reliability software

  11. What’s the problem? • Software is difficult to maintain “aging software” • Difficult to estimate software costs and schedules • Too many projects fail • Arianne Missile • Denver Airport Baggage System

  12. Why is software engineering needed? • To predict time, effort, and cost • To improve software quality • To improve maintainability • To meet increasing demand • To lower software costs • To successfully build large, complex software systems

More Related