Baylor > ECS > Computer Science > Undergraduate > Software Engineering Track > Why Software Engineering?
Why Software Engineering?

"Since the dawn of computing in the 1940s, the applications and uses of computers have grown at a staggering rate. Software plays a central role in almost all aspects of daily life: in government, banking and finance, education, transportation, entertainment, medicine, agriculture, and law. The number, size, and application domains of computer programs have grown dramatically; as a result, hundreds of billions are being spent on software development, and the livelihood and lives of most people depend on the effectiveness of this development. Software products have helped us to be more efficient and productive. They make us more effective problem solvers, and they provide us with an environment for work and play that is often safer, more flexible, and less confining. Despite these successes, there are serious problems in the cost, timeliness, and quality of many software products. The reasons for these problems are many and include the following:

  • Software products are among the most complex of man-made systems, and software by its very nature has intrinsic, essential properties (e.g., complexity, invisibility, and changeability) that are not easily addressed [Brooks 95].
  • Programming techniques and processes that worked effectively for an individual or a small team to develop modest-sized programs do not scale-up well to the development of large, complex systems (i.e., systems with millions of lines of code, requiring years of work, by hundreds of software developers).
  • The pace of change in computer and software technology drives the demand for new and evolved software products. This situation has created customer expectations and competitive forces that strain our ability to produce quality of software within acceptable development schedules."

-Excerpt from [IEEE 04]

References

[IEEE 04]
"Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering", The Joint Task force on Computing Curricula, IEEE Computer Society and The Association of Computing Machinery, August 23, 2004, p 5.

[Brooks 95]
Brooks, F.P., The Mythical Man-Month, Essays on Software Engineering, Anniversary Edition, Addison-Wesley, 1995.