形式化方法以严格的数学化和机械化方法为基础来规约、构建和验证计算系统,是改善和确保计算系统质量的重要方法,其模型、技术和工具已延生成为计算思维的重要载体。
形式化方法的好处:
从广义角度,形式化方法是软件开发过程中分析、设计及实现的系统工程方法。狭义地,形式化方法是软件规格和验证的方法。
形式化开发方法的一些争议或缺陷主要体现在:
(1) 形式化方法中所包含的数学理论,限制了大多数程序设计人员的学习和使用;
(2) 认为采用形式化方法会延误项目开发周期、增加开发费用;
(3) 许多流行的形式化方法对于较小规模的项目是有效的,但却很难应用于一些大型系统;
(4) 形式化方法不能确保开发出完全正确的软件;
(5) 缺乏对软件生命周期内各个阶段提供全面支持的形式化方法;
等。