Carnegie Mellon University

Electrical and Computer Engineering

College of Engineering

Course Information

18-657SV: Decision Analysis and Engineering Economics for Software Engineers




Engineering software systems entails continuously making resource and technical decisions at multiple levels subject to different sources of uncertainty, cost-benefit tradeoffs, historical data, and flexibility demands. This course will develop quantitative and modeling skills for economics-based and decision-theoretic reasoning in software engineering through a repertoire of techniques from several fields. Special consideration will be given to reasoning under uncertainty and empirical approaches to tackle a variety of software engineering decision-making problems, including technology, architecture, design, product, and process decisions. The analysis techniques covered will be illustrated through domain-specific examples. Analysis techniques that will be covered include Monte Carlo Simulation, Net Present Value, Expected Value of Information, Decision Tree Analysis, Real Options Theory, Utility Theory, and Analytic Hierarchy Process. Basic data analysis concepts, including descriptives, linear regression, correlation, and hypothesis testing will be explained and used. Examples and fully-developed case studies will illustrate how these techniques can be combined to best leverage their strengths. The course has a practical focus, but includes coverage of the necessary background theories. Orientation is distinctly quantitative. Knowledge of basic probability is required.

Prerequisites: 36217 and 18-652RW or 18-652SA or 18-652SB

Last Modified: 2023-09-22 4:47PM

Semesters offered:

  • Spring 2023
  • Spring 2022
  • Spring 2021
  • Spring 2020
  • Spring 2019
  • Spring 2018
  • Spring 2017
  • Spring 2016