软件工程——第4章形式化说明技术(非重点)

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!

文章目录

1.软件工程方法划分成哪三类?并各自举例

2.形式化方法的定义?

3.非形式化的方法的缺点?

4.形式化方法的优点?

5.应用形式化方法的准则?

6.在什么情况下应该使用形式化说明技术?

章末小结


1.软件工程方法划分成哪三类?并各自举例

  1. 非形式化:用自然语言描述需求规格说明
  2. 半形式化:用数据流图或ER图建立模型
  3. 形式化:利用有穷状态机表达规格说明

2.形式化方法的定义?

        所谓形式化方法,是描述系统性质的基于数学的技术,即:一种方法如果有坚实的数学基础,那么它就是形式化的。

3.非形式化的方法的缺点?

  1. 用自然语言书写的系统规格说明书,可能存在相互冲突的陈述
  2. 用非形式化的方法可能会出现二义性和含糊性
  3. 非形式化的方法可能使系统规格说明存在不完整性
  4. 用自然语言书写的说明书会出现抽象层次混乱,使读者很难理解系统的整体功能结构

4.形式化方法的优点?

  1.  它能简洁准确地描述物理现象、对象或动作的结果,是理想的建模工具
  2. 可以在不同的软件工程活动之间平滑地过渡
  3. 形式化方法提供了高层确认的手段,可用数学方法证明

5.应用形式化方法的准则?

  1.  应该选用适当的表示方法
  2. 应该形式化,但不要过分形式化
  3. 不应该放弃传统的开发方法
  4. 应该建立详尽的文档
  5. 不应该放弃质量标准

6.在什么情况下应该使用形式化说明技术?

        当在使用非形式化的方法描述时,存在矛盾、二义性、含糊性、不完整性和抽象层次混乱等问题时,需采用形式化的说明技术。

章末小结

        基于数学的形式化现格说明技术,目前还没有在软件产业界广泛应用,但是,与欠形式化的方法比较起来,它确实有实质性的优点;形式化的规格说明可以用数学方法研究、验证(例如一个正确的程序可以被证明满足其规格说明,两个规格说明可以被证明是等价的,规格说明中存在的某些形式的不完整性和不一致性可以被 自动地检测出来)。此外,形式化的规格说明消除了二义性,而且它鼓励软件开发者在软件工程过程的早期阶段使用更严格的方法,从而可以减少差错。
        当然,形式化方法也有缺点:大多数形式化的规格说明主要关注于系统的功能和数据,而问题的时序、控制和行为等方面的需求却更难于表示。此外,形式化方法比欠形式化方法更难学习,不仅在培训阶段要花大量的投资,而且对某些软件工程师来说,它代表了一种“文化冲击”。

        有穷状态机、Petri网和Z语言是3种典型的形式化方法。把形式化方法和欠形式化方法有机地结合起来,使它们取长补短,应该能获得更理想的效果。

下一章:软件工程——第5章总体设计知识点整理

 反反复复,扎扎实实;念念不忘,必有回响!

猜你喜欢

转载自blog.csdn.net/qq_52487066/article/details/131343094