Abstract
This talk considers some of the roles that requirements engineering plays in computer system development, with particular emphasis on systems with critical requirements such as security, reliability, safety, and survivability. The RISKS archives are littered with cases attributable to requirements problems that propagate throughout development, from which many lessons need to be learned. Various possible remedies are discussed.