An Engineering Context for Software Engineering
NAVAL POSTGRADUATE SCHOOL MONTEREY CA
Pagination or Media Count:
New engineering disciplines are emerging in the late Twentieth and early Twenty-first Century. One such emerging discipline is software engineering. The engineering community at large has long harbored a sense of skepticism about the validity of the term software engineering. During most of the fifty-plus years of software practice, that skepticism was probably justified. Professional education of software developers often fell short of the standard expected for conventional engineers software practice seemed to be a hit or miss approach and the available knowledge, tools, and language designs were not sufficiently mature to support an engineering model for software practice. Much progress has occurred in recent years, due to improved tools and languages along with a better ways of reasoning about and designing software products. This progress has contributed to the increase in success in the way software is developed and managed. However, even with a growing number of software successes, there are still enough horror-stories to reinforce the skepticism of the larger engineering community. Those skeptics continue to ask the reasonable question, Where is the engineering in software engineering The primary contribution of this dissertation is to establish a foundation for answering the question at the end of the previous paragraph. Another contribution is a foundation for answering that same question for other emerging engineering disciplines. We call this foundation a context. The context is derived from a study of conventional engineering, a review of contemporary software practices, recent advances in software engineering and computer science, and analysis of the relationships between those four concerns. This engineering context for software engineering includes two chapters on the topic of engineering.
- Computer Programming and Software