25、软件风险管理与工作量估计研究综述

软件风险管理与工作量估计研究综述

1. DASD 风险因素分类

DASD 是一种融合了 ASD 和 DSD 原则的软件开发新方法。在 DASD 环境中,由于 ASD 和 DSD 原则的矛盾性,会产生许多风险因素。目前已报道的 DASD 相关风险可进一步分为以下几类:
|风险类别|说明|
| ---- | ---- |
|沟通风险|团队成员之间、与外部利益相关者之间的沟通不畅等问题|
|项目管理风险|项目计划、进度控制、资源分配等方面的问题|
|外部利益相关者风险|客户需求变更、供应商问题等|
|软件开发生命周期风险|需求分析、设计、编码、测试等阶段的风险|

然而,这些风险尚未根据敏捷用户故事进行分类,且已识别的风险也未与软件开发工具进行映射。将风险与软件开发工具映射,可提高风险管理过程的效率。

风险分类的重要性在于,及时识别和管理风险能降低项目失败的概率。有效的风险管理实践对软件项目的成功至关重要。

2. 软件工作量估计的系统文献综述
2.1 研究背景

自 20 世纪 60 年代以来,软件工程领域不断发展,但该领域的研究也受到了一些批评,因为其宣称的成果往往超出了实际研究范围。软件工作量估计(SEE)基于数据驱动的方法来估计任务执行和实施所需的时间,但数据往往是不完整、不清晰或有噪声的。

研究人员和从业者偶尔会探讨 SEE 面临的问题和挑战,但大部分研究集中在构建正式的 SEE 模型上。由于该领域的文献众多,学者们难以选择最佳的研究路径。

文献审查可以手动或自动进行。手动审查虽然能提供文献信息,但存在偏见,因为研究人员往往倾向于引用次数较高的研究。自然语言处理为从大量文本中提取意外模式和趋势提供了强大的方法,文本和程序分析是一种完全自动化的过程,它可以处理语料库、发现模式并赋予词汇语义意义。

2.2 研究方法

本研究基于 Kitchenham 的原始指导进行了全面的文献评估,旨在评估系统文献综述(SLR)。具体步骤如下:
- 研究问题
- RQ1:自 2010 年以来,SLR 活动的情况如何?
- RQ2:当前的研究主题有哪些?
- RQ3:在 SLR 研究中,哪些人处于领先地位?
- 搜索过程 :自 2010 年起,手动搜索了九种期刊和一些会议论文集。选择这些文章是因为它们是实证研究或文献的纯粹来源,并且之前曾被用于与软件工程相关的其他 SLR,特别是在工作量管理方面。
|来源|缩写|
| ---- | ---- |
|Information And and Software Technology|IST|
|International Journal of Intelligent Systems and Applications|IJISA|
|The Journal of Systems and Software|JSS|
|International Conference on Electrical, Electronics, and Optimization Techniques|EEOT|
|International Conference on Computer Science and Information Technology|CSIT|
|Computers and Electrical Engineering|CEE|
|Current Drug Metabolism|CDM|
|Computer Science Review|CSR|
|IEEE Symposium on High Performance Computer Architecture|HPCA|
- 纳入和排除标准
- 纳入 2010 年 1 月 1 日至 2021 年 1 月 1 日期间发表的同行评审文章,包括系统文献综述(SLR)和元分析(MA)。
- 排除文献分析不充分(没有明确的研究主题、搜索程序和数据提取过程)以及重复报告的文章。
|排除文章数量|备注|
| ---- | ---- |
|242|文献不充分和重复|
- 数据收集 :从每个研究中提取以下信息:
- 来源(期刊或会议)和参考文献。
- 研究类型(SLR、MA)、研究范围、研究趋势和与特定技术评估相关的问题、主要主题领域。
- 作者详细信息、机构信息和所在国家。
- 关键研究问题及其结果总结。
- 确定研究主题或问题。
- 质量评估。
- 是否包含基于实践的建议。
- SLR 中使用的主要研究数量。
- 数据分析 :将信息整理成表格,以展示:
- 每年发表的文献数量及其来源(与 RQ1 相关)。
- 每个关键主题的研究数量,如研究模式或技术问题(与 RQ2 相关)。
- SLR 研究的主题和范围(与 RQ2 相关)。
- 作者的隶属关系和机构(与 RQ3 相关)。
- 是否包含基于实践的建议。
- SLR 中使用的主要研究数量。

研究人员分工进行数据提取和验证,这种方法虽然不符合 Kitchenham 指南中的医学标准,但在实践中被证明是有效的。

2.3 研究结果

搜索过程共找到 19 篇文章,其中一篇是另一篇的精简版,因此实际有 18 篇独特的研究。此外,还通过联系学者和扫描研究实验室网站找到了另外两篇同行评审研究。

以下是部分作者的研究发现:
|作者|研究发现|
| ---- | ---- |
|Sumeet Kaur Sehra|确定了十二个核心研究领域和六十个研究趋势,并将检测到的研究趋势与核心研究领域进行了语义匹配,总结了 SEE 的研究趋势,有助于识别未来研究领域|
|Przemysław Pospieszny|旨在通过基于研究结果和行业最佳实践提供有效的机器学习部署和维护方法,弥合当前研究结果与组织实施之间的差距|
|Usharani K|调查了十五篇期刊文章,涉及软件工作量估计算法和预测算法,讨论了如何评估这些方法以及改进的方向,还探讨了有效的数据预处理方法|
|Ahmed BaniMustafa|建议使用三种机器学习技术(朴素贝叶斯、逻辑回归和随机森林)对预处理后的 COCOMO NASA 基准数据进行预测,并使用分类准确率、精确率、召回率和 AUC 评估模型,将估计结果与 COCOMO 估计进行比较|
|Muhammad Ilyas Azeem|发现长方法、功能分解、上帝类和意大利面条代码等问题在文献中得到了充分考虑,支持向量机和决策树是检测代码异味最常用的机器学习方法|
|Neelamdhab Padhy|建议的研究可能对下一代计算系统至关重要,特别是在软件可重用性、生存能力、可靠性、老化预测和稳定性以及软件质量保证方面|
|Natalie Stephenson|调查了机器学习方法在药物发现领域的现状,并讨论了其未来应用的潜力|
|P. Suresh Kumar|回顾了用于工作量估计的不同人工神经网络(ANN),发现使用 ANN 预测软件工作量比传统方法(如功能点、用例方法和 COCOMO)更准确|

研究还找出了在系统文献综述特别是在使用机器学习进行工作量估计领域占主导地位的前 10 名研究人员和前 10 名出版物,并展示了 2010 年至 2021 年 1 月期间按年份的出版物数量的图形表示。

通过对 DASD 风险因素分类和软件工作量估计的系统文献综述的研究,我们可以看到在软件开发过程中,风险管理和工作量估计都是至关重要的环节。未来的研究可以进一步探索如何更好地进行风险分类和映射,以及如何提高软件工作量估计的准确性。

3. 研究总结与展望

从上述研究可以看出,DASD 风险因素分类和软件工作量估计的系统文献综述都具有重要意义。在 DASD 方面,虽然已对风险因素进行了分类,但仍需根据敏捷用户故事进行更细致的分类,并将风险与软件开发工具进行映射,以提高风险管理效率。在软件工作量估计方面,系统文献综述为我们了解当前研究趋势和方法提供了全面的视角,但仍存在一些问题有待解决。

3.1 研究总结
  • DASD 风险因素分类 :目前已识别的 DASD 风险因素包括沟通风险、项目管理风险、外部利益相关者风险和软件开发生命周期风险等。然而,这些分类缺乏基于敏捷用户故事的视角,且未与软件开发工具建立联系。
  • 软件工作量估计的系统文献综述 :通过对相关文献的系统回顾,我们发现研究主题涵盖了最新研究趋势、技术评估和组织实施等多个方面。不同作者采用了不同的方法和技术进行软件工作量估计,如机器学习算法、人工神经网络等。
3.2 未来研究方向

为了进一步推动软件开发领域的发展,未来的研究可以从以下几个方面展开:
- DASD 风险分类优化 :基于敏捷用户故事对 DASD 风险因素进行更细致的分类,并建立风险与软件开发工具的映射关系,以提高风险管理的针对性和有效性。
- 软件工作量估计方法改进 :探索更准确、可靠的软件工作量估计方法,结合多种机器学习算法和技术,提高估计的精度和稳定性。
- 跨领域研究 :将软件开发与其他领域(如人工智能、大数据等)相结合,探索新的研究方向和应用场景。

3.3 研究建议

为了实现上述研究目标,我们提出以下建议:
- 加强合作与交流 :研究人员之间应加强合作与交流,分享研究成果和经验,共同推动软件开发领域的发展。
- 关注实践应用 :研究应紧密结合实际应用,注重解决实际问题,提高研究的实用性和价值。
- 培养专业人才 :加强软件开发领域的人才培养,提高研究人员的专业素质和创新能力。

4. 总结

本文对 DASD 风险因素分类和软件工作量估计的系统文献综述进行了全面的介绍和分析。通过对相关研究的总结和展望,我们认识到在软件开发过程中,风险管理和工作量估计是至关重要的环节。未来的研究应致力于优化风险分类、改进工作量估计方法,并加强跨领域研究,以推动软件开发领域的不断发展。

以下是研究过程的 mermaid 流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(确定研究问题):::process --> B(搜索文献):::process
    B --> C(筛选文献):::process
    C --> D(数据提取):::process
    D --> E(数据分析):::process
    E --> F(得出结论):::process
    F --> G(提出建议):::process

通过以上研究和分析,我们希望能够为软件开发领域的研究人员和从业者提供有益的参考和启示,促进软件开发行业的健康发展。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值