软硬件综合系统软件需求建模及可靠性综合试验、分析、评价技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第4章 软件缺陷模式及软件需求缺陷模式

模式这一概念最早出现在建筑领域,Christopher Alexander在The Timeless Way of Building中明确提出,每个模式描述一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心,这样我们就能一次又一次地使用该方案而不必做重复劳动。Alexander对术语“模式”的定义是:每个模式是一条由三部分组成的规则,它表示出一个特定环境、一个问题和一个解决方案之间的关系。这是模式的通用化定义,该定义指出了模式概念的核心是模式的三要素。Alexander使用模式这一概念来解决建筑领域中的一些问题,随后模式在构造复杂系统时的重要性逐渐在其他领域中得到认可。人们通常认为,模式是针对复杂系统中重复出现的问题而提出的。专家在解决问题时,通常先考虑以前解决过的相似问题,重用其解法的精华,这个不断被引用的解法就是通常说的模式。

本章借助模式概念,在软件缺陷概念的基础上给出软件缺陷模式的定义及分类,并对软件缺陷模式的产生进行深入研究。软件缺陷模式使用软件缺陷的正交属性对软件缺陷进行刻画,并通过以下特点解决件缺陷研究的不足问题:第一,可对软件生命周期各阶段模式类型分别进行描述,并且模式类型具有可剪裁的灵活性;第二,可基于软件缺陷的正交属性进行软件度量;第三,可采用软件缺陷模式的某些属性指导软件审查和测试。软件缺陷的正交属性源于ODC,ODC由IBM于1992年提出。ODC通过给每个缺陷添加一些额外的属性,利用对这些属性的归纳和分析来反映产品设计、代码质量、测试水平各方面的问题,从而得到一些办法来对工作进行改进。例如,对于测试团队,通过ODC可以知道测试工作是否变得更加复杂;每个测试阶段是否利用了足够多的触发条件来发现缺陷;退出当前测试阶段有什么风险;哪个测试阶段做得好,哪个测试阶段需要改进等。对于开发团队,利用ODC可以知道产品设计和代码质量情况。采用ODC方法可以提高用户满意度,减少产品投入市场后的维护费用。ODC的工作流程分为四部分:缺陷分类,校验已被分类的缺陷,评估数据,以及采取行动来改进工作。

由于软件生命周期首个阶段——需求工程阶段的工作完成质量对最终软件产品质量影响极大,因此本章进一步给出软件需求缺陷模式的定义及分类,进而分析需求工程阶段软件缺陷模式的产生机理,同时重点关注其场景的产生。借助模式概念,将对软件需求缺陷的刻画集中到其核心维度——场景、缺陷和解决方案上来,使之成为更加立体的概念影像,赋予软件需求缺陷新的内涵,这也使得其研究方法极大地区别于传统研究方法,将更有利于软件需求缺陷的发现和修正。基于历史数据和测试经验,不仅能在需求抽取阶段获取包含较少缺陷的需求,对需求分析产生指导作用,还能为需求缺陷探测和消除提供一定的参考。软件需求缺陷模式可看作经验总结,而经验在直接性方面是完美流动的。这种直接经验为日后的反思提供了直接动力。进一步来讲,由于对将来经验的预见在某些方面取决于过去已被经历的事物,因此对软件需求缺陷模式的研究是开放性的、动态变化的。