Software Engineering

Software Engineering

Introduction

Software Engineering is often overlooked in computer science courses, however experienced programmers should know its value. As software projects increase in size, they likelihood of failure increases up to almost 50%.
Software engineering is hard becuase it is about managing complexity. Much of the incidental complexity can be removed using tools (such as high level languages,time sharing and integrated development environments) but the intrinsic complexity remains.
The following pages are intended to give an overview of this vast subject, and are mainly culled from lecture notes and classic papers.

Articles

  • sEng Home
  • Rates of Design Failures
  • The Software Life Cycle
  • Validation and Verification
  • The Waterfall Model
  • The Spiral Model
  • Brooks Law
  • Critical Software
  • Large Systems
  • Capability Maturity Model
  • Hazards
  • Documentation
  • Testing
  • Extreme Programming
  • Definitions