Skip to main content
QUICK REVIEW

[论文解读] A Complexity measure based on Requirement Engineering Document

Ashish Sharma, Dharmender Singh Kushwaha|arXiv (Cornell University)|Jun 14, 2010
Cognitive Computing and Networks参考文献 3被引用 28
一句话总结

本文提出一种基于需求的软件复杂度度量方法,该方法源自符合IEEE标准的软件需求规格说明书(SRS),可在编码实现前实现对软件复杂度的早期估算。通过使用结构化和文本度量分析SRS文档,该方法提供了一种成本效益高的、编码前的评估方式,其与既有的基于代码的度量指标具有良好的相关性,有助于减少开发浪费并提升质量预测能力。

ABSTRACT

Research shows, that the major issue in development of quality software is precise estimation. Further this estimation depends upon the degree of intricacy inherent in the software i.e. complexity. This paper attempts to empirically demonstrate the proposed complexity which is based on IEEE Requirement Engineering document. It is said that a high quality SRS is pre requisite for high quality software. Requirement Engineering document (SRS) is a specification for a particular software product, program or set of program that performs some certain functions for a specific environment. The various complexity measure given so far are based on Code and Cognitive metrics value of software, which are code based. So these metrics provide no leverage to the developer of the code. Considering the shortcoming of code based approaches, the proposed approach identifies complexity of software immediately after freezing the requirement in SDLC process. The proposed complexity measure compares well with established complexity measures. Finally the trend can be validated with the result of proposed measure. Ultimately, Requirement based complexity measure can be used to understand the complexity of proposed software much before the actual implementation of design thus saving on cost and manpower wastage.

研究动机与目标

  • 为解决软件开发早期阶段缺乏复杂度估算的问题,特别是实现前的复杂度估算问题。
  • 克服基于代码的复杂度度量指标仅在设计后才可获取的局限性。
  • 建立一个基于IEEE标准定义的SRS文档的、可度量且经过实证验证的复杂度指数。
  • 使软件团队能够在需求阶段预测项目工作量、风险和质量。
  • 通过实证比较,将所提出的度量方法与既有的复杂度度量指标进行验证。

提出的方法

  • 该方法从SRS文档中提取结构化和文本特征,如需求数量、用例数量以及自然语言复杂度指标。
  • 采用加权评分模型,结合需求数量、功能复杂度和模糊性指标,推导出综合复杂度得分。
  • 以IEEE SRS标准为基准,确保需求分析的一致性和完整性。
  • 将所提出的度量方法与传统的基于代码的复杂度度量指标(如圈复杂度、认知复杂度)进行比较,使用一组基准软件项目进行验证。
  • 通过统计方法评估基于需求的度量与已知的基于代码的复杂度度量之间的相关性。
  • 在多个项目中迭代应用该方法,以评估趋势的一致性和可靠性。

实验结果

研究问题

  • RQ1能否在编写任何代码之前,从SRS文档中可靠地推导出软件复杂度度量?
  • RQ2基于需求的复杂度度量与既有的基于代码的复杂度度量相比表现如何?
  • RQ3所提出的度量是否与实际实现的复杂度及项目工作量相关?
  • RQ4所提出的度量是否有助于在需求阶段识别高风险或高工作量的组件?
  • RQ5所提出的度量在不同软件项目中是否具有稳定性和可重复性?

主要发现

  • 所提出的基于需求的复杂度度量与既有的基于代码的复杂度度量具有强相关性,验证了其可靠性。
  • 该度量可实现对复杂模块的早期识别,使团队能够主动分配资源并规划测试策略。
  • 该方法减少了对后期代码分析的依赖,从而降低了成本和工作量超支的风险。
  • 该方法在多个项目中表现出一致的趋势,表明其具有稳定性和可重复性。
  • 从SRS中推导出的复杂度得分与功能复杂度及需求表述中的模糊性相关,突出了关键风险区域。
  • 研究证实,高质量的SRS文档可带来更准确的复杂度估算,进一步强调了SRS质量在早期规划中的重要性。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。