One testbed for examining formal methods is a software project course. The author describes how the software process model used for such a course is now at the point where students are required to adopt an entirely formal approach to the development of their software projects. This software process model also strictly separates the responsibility for building a software system from the responsibility for specifying it; a separation that is facilitated by the use of formal notation to achieve precise communication. The author describes this software development process and assesses it both from an engineering and from an educational perspective. He also identifies areas where the effectiveness of formal methods must be further increased.
展开▼