软考-架构师-第六章-开发方法 第七节 形式化方法 (读书笔记)

版权声明:本文为博主原创文章,如需转载请在文章中注明“转载”并在文章开头附上本博客链接。 https://blog.csdn.net/soslinken/article/details/84825954

#版权声明
主要针对希赛出版的架构师考试教程《系统架构设计师教程(第4版)》,作者“希赛教育软考学院”。完成相关的读书笔记以便后期自查,仅供个人学习使用,不得用于任何商业用途。

第七节 形式化方法

形式化方法是指采用严格的数学方法,使用形式化规约语言来精确定义软件系统。非形式化的开发方法是通过自然语言、图形或表格描述软件系统的行为和特性,然后基于这些描述进行设计和开发,而形式化开发则是基于数学的方式描述、开发和验证系统。

形式化方法包括形式化描述和基于形式化描述的形式化验证两部分内容。

  • 形式化描述又称之为形式化规约,就是用形式化语言进行描绘,建立软件需求和特性,即解决软件“做什么”的问题。形式化描述,相对于自然语言描述,形式化描述是精确的、可验证的,避免了模糊性与二义性,消除需求中相互矛盾的地方,避免需求定义人员和开发人员对需求的理解偏差。
    • 通过建立计算模型来描述系统的行为特性
    • 通过定义系统必须满足的一些属性来描述系统
  • 形式化验证指的是验证已有的程序是否满足形式化描述的定义。

形式化描述可以通过计算机技术进行自动处理,进行一致性的检查和证明,提高需求分析的效率和质量。通过形式化描述,需求分析的质量大大提高,很多自然语言描述无法避免的缺陷在需求分析阶段就会被发现,并得到解决,从而降低后期开发和维护的成本,并提升软件的质量和可靠性。

在一些要求高可靠性的关键应用上,采用形式化开发方法可以保证软件系统的可靠性。如巴黎地铁 14 号线和 Roissy 机场穿梭车的自动控制系统。这两个系统中的部分程序使用了形式化方法进行开发,并取得了很好的效果,如表 6-1 所示。

img

表 6-1 中的 ADA 代码行数表示运用形式化方法开发的软件系统规模,这些代码是形式化方法自动生成的,开发人员并不需要直接修改这些代码。

猜你喜欢

转载自blog.csdn.net/soslinken/article/details/84825954
今日推荐