An Engineering Context for Software Engineering

Abstract

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 2008
Accession Number
ADA488989

Entities

People

  • Richard D. Riehle

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Biomedical
  • Cyber
  • Space
  • Weapons Technologies

DTIC Thesaurus Topics

  • Agile Software Development
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Engineers
  • High Level Languages
  • Industrial Engineering
  • Mechanical Engineering
  • Operating Systems
  • Operations Research
  • Programming Languages
  • Reliability
  • Software Design
  • Software Development
  • Software Metrics
  • Systems Engineering

Fields of Study

  • Computer science
  • Engineering

Readers

  • Educational Psychology
  • Software Engineering.
  • Strategic Security Studies