Chapter 15: Engineering Foundations

Revision as of 18:33, 28 August 2015 by Daniel Robbins (Talk | contribs) (Created page with "{{TOC}} {{Acronyms|{{Acronym|name=CAD|description=Computer-Aided Design}} {{Acronym|name=CMMI|description=Capability Maturity Model Integration}} {{Acronym|name=pdf|descriptio...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Computer-Aided Design
Capability Maturity Model Integration
Probability Density Function
Probability Mass Function
Root Cause Analysis
Software Development Life Cycle

IEEE defines engineering as “the application of a systematic, disciplined, quantifiable approach to structures, machines, products, systems or processes” [1]. This chapter outlines some of the engineering foundational skills and techniques that are useful for a software engineer. The focus is on topics that support other KAs while minimizing duplication of subjects covered elsewhere in this document.

As the theory and practice of software engineering matures, it is increasingly apparent that software engineering is an engineering discipline that is based on knowledge and skills common to all engineering disciplines. This Engineering Foundations knowledge area (KA) is concerned with the engineering foundations that apply to software engineering and other engineering disciplines. Topics in this KA include empirical methods and experimental techniques; statistical analysis; measurement; engineering design; modeling, prototyping, and simulation; standards; and root cause analysis. Application of this knowledge, as appropriate, will allow software engineers to develop and maintain software more efficiently and effectively. Completing their engineering work efficiently and effectively is a goal of all engineers in all engineering disciplines.

Figure 15.1: Breakdown of Topics for the Engineering Foundations KA
Breakdown of Topics for the Engineering Foundations

The breakdown of topics for the Engineering Foundations KA is shown in Figure 15.1.