软件工程–什么是形式化方法?
从广义上讲,形式化方法是借助数学的方法来解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动。狭义的讲,形式化方法是运用形式化语言,进行形式化的规格描述、模型推理和验证的方法。
在软件工程领域,不同的人对于形式化的软件开发方法抱有不同的态度:一些人认为用形式化的方法开发软件会延缓软件开发的速度,提高软件开发的成本;也有一些人认为形式化方法能够替换传统的软件开发方法,运用形式化方法可以开发出更完美的软件。由此可看,形式化的方法在软件中还并未完全到让每一个软件开发者接受。
在开发软件时,描述具有较高的明确性、一致性会使得在软件开发过程中需求的描述和设计的描述变得可靠起来;若运用非形式化的方法开发软件时,出现了不明确或者是不一致的描述导致设计、编程的错误,将来便要付出较大的代价去修补这一错误,而若运用了形式化的方法,因为其明确性使得开发过程的不一致性较易于发现。但对于软件开发来说,形式化方法还有着许多未解决的问题,也因此形式化的方法在软件开发中还未成为主流的开发方式。