TBD C ourse Description Complex software systems must satisfy not only requirements about functionality but also requirements about other critical properties such as reliability, security, safety, survivability, and context of use. Achieving these properties draws on the limited resources available for system development, and designers must often trade off one property against another. The degree to which each property matters can vary from one project to another. Indeed, the overall level of confidence you need in a system may vary from one project to another.
Engineering design consists of making tasteful and appropriate choices.
We will examine critical properties of systems, including reliability, security, safety, and context of use. We will consider design and analysis techniques such as risk analysis, hazard analysis, error recovery, usability analysis, and associated design processes. O bjectives Engineering Software for Critical System Properties aims to develop an appreciation of the issues that arise in pragmatic large-scale software construction and some skill in addressing these issues. This page is part of the site for course 15-839B, Engineering Software for Critical System Properties, taught by Shawn Butler , Rob DeLine , and Mary Shaw in the Computer Science Department , School of Computer Science at Carnegie Mellon University . All material copyright 1999 by the authors.