Issue No. 05 - May (2001 vol. 34)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/2.920608
<p>The lack of a universally accepted definition of software engineering makes teaching the discipline a challenge. A textbook definition of the term might read something like this: "the body of methods, tools, and techniques intended to produce quality software." </p> <p>Rather than emphasizing quality alone, we could distinguish software engineering from programming by defining it as follows: "the development of possibly large systems intended for use in production environments, over a possibly long period, worked on by possibly many people, and possibly undergoing many changes." In this definition, "development" includes management, maintenance, validation, documentation, and so forth. </p> <p>Given the shortage of qualified personnel and the ongoing search for excellent developers, educational institutions must strive to train students who will, upon graduation, take their place in the top tier. By teaching them fundamental thought leavened with practical experience, these establishments can help prepare these students for a long-term professional growth that synchronizes smoothly with the discipline's progress-- for, while technology evolves, the concepts remain. </p>
B. Meyer, "Software Engineering in the Academy," in Computer, vol. 34, no. , pp. 28-35, 2001.