
290 CHAPTER 10 Testing and Quality Assurance
■
They are not usually applicable to all aspects of software develop-
ment. For example, they would be very hard to apply to user-inter-
face design.
In spite of their drawbacks, formal methods are useful and have been
applied with success to some special real-world problems in industries such
as aerospace or federal government. Learning formal methods can give
much useful insight to a software engineer, and they can be applied to par-
ticular modules that need extremely high reliability. Even if specifications
are not completely formal, the mental discipline of formal methods can be
extremely useful. They can ...