按照形式化的程度,可以把软件工程使用的方法划分成非形式化、半形式化和形式化3类。
所谓形式化方法,是描述系统性质的基于数学的技术。
用自然语言书写的系统规格说明书,可能存在矛盾、二义性、含糊性、不完整性及抽象层次混乱等问题。
数学最有用的一个性质是,它能够简洁准确地描述物理现象、对象或动作的结果,因此是理想的建模工具。数学特别适合于表示状态,也就是表示“做什么”。
应用形式化方法的准则
1.应该选用适当的表示方法。
2.应该形式化,但不要过分形式化。
3.应该估算成本。
4.应该有形式化方法顾问随时提供咨询。
5.不应该放弃传统的开发方法。
6.应该建立详尽的文档。
7.不应该放弃质量标准
8.不应该盲目依赖形式化方法:形式化方法并不能保证开发出的软件绝对正确,例如,无法用形式化方法证明从非形式化需求到形式化规格说明的转换是正确的,因此,必须有那个其他方法(例如,评审、测试)来验证软件正确性。
9.应该测试、测试再测试。
10.应该重用。