需求一直在变化,直到它们不再变化。

主要观点:探讨正式方法在系统需求不断变化时的作用及相关问题,以水的相变作隐喻说明软件系统的阶段变化及引入新 bug 的情况,强调正式方法可用于检查新系统是否满足现有客户需求。
关键信息:

  • 对“为何写测试”的错误回应,指出测试易而正式方法难,需求变化时正式方法成本高且正确性高未必值得。
  • 软件系统存在类似物理相变的情况,不同架构或设计在处理不同负载等情况下会发生变化,且可能引入新 bug。
  • 以同步和异步更新为例说明不同系统模型及客户需求,正式方法可用于规范和检查新系统是否满足现有需求。
    重要细节:
  • 提到系统需求变化时,花费大量时间证明设计有效但交付产品却不符合客户需求是无意义的。
  • 介绍水的相变过程及能量变化,类比软件系统的阶段变化。
  • 给出同步和异步更新的简单玩具模型及相关客户需求属性。
  • 说明正式方法可用于自动检查新系统满足现有属性,并可自动生成测试套件,但需求不断变化时可能不值得投资。
  • 提及相关书籍及订阅信息。
阅读 11
0 条评论