质量属性-可修改性

2018-01-20  本文已影响0人  程序猿胖子

定义

可修改性是有关变更的成本问题。它提出了两个关注点:

  1. 可以修改什么(制品)?
    可以修改系统的任何方面 ,最常见的就是系统计算的功能、系统存在平台(硬件、操作系统和中间件等 )、系统运行的环境(它必须与之互操作的系统,它用于与其他部分进行通信的协议,等等)、系统所展示的质量属性(其性能、可靠性、甚至包括将来的可修改性)以及其容量(所支持的用户数量、同时发生的操作的数量,等等)。

  2. 何时进行变更以及由谁进行变量(环境)?
    最常见的就是修改源代码。也就是说,开发人员必须修改代码,对修改后的代码进行测试,然后将其部署在新版中。然而,现在不仅仅是何时变更的问题,而且还有由谁进行变量的问题。

可修改性战术

局部化修改

防止连锁反应

依赖性

  1. 语法

    • 数据
      要使B正确编译(或执行),由A产生并由B使用的数据类型(或格式)必须与B所假定的数据的类型(或格式)一致。
    • 服务
      要使B正确编译和执行,由A提供并且由B调用的服务的签名必须与B假定的一致。
  2. 语义

    • 数据
      要使B正确执行,由A产生并由B使用的数据的语义必须与B的假定一致。
    • 服务
      要使B正确执行,由A产生并由B使用的服务的语义必须与B的假定一致。
  3. 顺序

    • 数据
      要使B正确执行,它必须以一个固定的顺序接收由A产生的数据。
    • 控制
      要使B正确执行,A必须在一定时间限制内执行。
  4. A的一个接口的身份
    A可以有多个接口。要使B正确编码和执行,该接口的身份必须与B假定的一致。

  5. A的位置(运行时)
    要使B正确执行,A的运行时位置必须与B的假定一致。

  6. A提供的服务/数据的质量
    要使B正确执行,涉及A所提供的数据或服务的质量的一些属性必须与B假定一致。如:某个特定的传感器所提供的数据必须有一定的准确性,以使B的算法能够正常运行。

  7. A的存在
    要使B正常执行,A必须存在。

  8. A的资源行为
    要使B正常执行,A的资源行为必须与B的假定一致。这可以是A的资源使用(A使用与B相同的内存)或资源拥有(B保留了A认为属于它的资源)。

依赖性战术

推迟绑定时间

我们的可修改性场景包括通过减少需要修改的模块的数量不能满足的两个元素--部署时间以及允许非开发人员进行修改。推迟绑定时间支持这两个场景,可以在各个时间把决策绑定到执行系统中。在运行时绑定意味着系统已经为该绑定做好了准备,并且完成了所有的测试和分配步骤。

总结

可修改性.png
上一篇 下一篇

猜你喜欢

热点阅读