Introducing formality into the software development process: experience with a software project course
Robin A. Nicholl
Abstract
Robin A. Nicholl
Abstract
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.>
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.>
Key concepts: Formality, Software engineering, Computer science, Software development, Software development process, Personal software process, Formal methods, Process (computing)