今天我开始读《软件构架实践》的第四章的内容,本章讲述质量属性是软件设计师最常追求的目标。由于这些质量属性的定义是重叠的,因此我们选择一般场景进行刻画。本章的重点是理解如何表示希望该构架为系统提供质量属性。

  第四章一开始就说明了功能性的概念,即指系统能够完成所期望工作的能力,且功能性和质量属性是正交的。通俗的来说,这就像是在盖房子的时候,设计者、电工等工作人员相互协作一样。而功能性在很大程度上独立于结构,当质量属性很重要时,软件架构会限制各结构的功能分配。

  接下来,书上又分析了3类质量属性:系统的质量属性、受构架影响的商业属性,比如说上市时间、与构架本身相关的一些质量属性,比如说概念完整性,他们会间接影响其他质量属性,如可修改性。我们之所以讨论系统的质量属性,目的有两个:确定质量属性团体所使用的概念;提供一个为该属性生成一般场景的方法。可用性所关注的方面包括:如何检测系统故障,系统故障发生的拼度,出现故障时可能会发生的情况,允许系统有多长时间非正常运行,什么时候可以安全地出现故障,如何防止故障发生以及发生故障时要求进行的哪种通知。

   文章还表明了刺激源的重要性,刺激源是某个生成该刺激的实体,包括人、计算机系统或者其他激励器,因为不同的刺激源可能要求做出不同的响应。在一个安全性场景中,会用不同的方式对待来自一个可信源的请求和一个来自不可信源的请求。清楚了解响应值是非常重要的,因为这样可以明确质量属性需求,所以响应度量也是场景的一部分。

posted on 2017-02-05 15:11  憧憧  阅读(143)  评论(0编辑  收藏  举报