Wednesday, September 24, 2008

Software Engineering in Colleges

The study and practice of software engineering is influenced both by its roots in computer science and its emergence as an engineering discipline. A significant amount of current software engineering research is conducted within the context of computer science and computing departments or colleges. Similarly, software engineering degree programs are being developed by such academic units as well as within engineering colleges.

Thus, the discipline of software engineering can be seen as an engineering field with a stronger connection to its underlying computer science discipline than the more traditional engineering fields. In the process of constructing this volume, particular attention has been paid to incorporating the practices of engineering into the development of software, so as to distinguish this curriculum from computer science curricula. To prepare for the more detailed development of these ideas, this section examines the engineering methodology and how it applies to software development.

We must also point out that although there are strong similarities between software engineering and more traditional engineering, there are also some differences (not necessarily to the detriment of software engineering):

  • Foundations are primarily in computer science, not in natural sciences.
  • The focus is on discrete rather than continuous mathematics.
  • The concentration is on abstract/logical entities instead of concrete/physical artifacts.
  • There is no “manufacturing” phase in the traditional sense.
  • Software “maintenance” primarily refers to continued development, or evolution, and not to conventional wear and tear.

No comments: