290 ◾ Software Essentials
to protocols and verication are usually required in any secure system.
Security may be perceived as a functional requirement, particularly for
applications such as for banking and e-commerce. Nonetheless, for many
systems, security remains pure overhead.
Robustness characterizes the ability to withstand error and continue
processing. Robust soware does not crash in adverse conditions such
as erroneous data errors, invalid requests, peak capacity loads, and
malicious attacks. A system is said to be robust if very few errors cause
soware to abort or malfunction. Clearly, critical soware such as mon-
itoring soware, aviation soware, etc. must be robust. Less obvious,
however, is that robust soware is cost