Software engineers are facing the often formidable challenges of simultaneously dealing with open, rapid change, uncertainty, but they also have opportunities to make significant contributions that will make a difference for the better. Taking initiative to deal with the changes in the implementation of software process improvement has been an outstanding puzzle to the software engineering community. In this research, the relationships between changes and software processes are explored. Especially, because the imperative software requirements change has been the driving force in software process improvement, this research aims to establish an approach to software process improvement based on requirement changes. Specifically, historical process data and collective intelligence data are collected first to be filtered and analyzed for extracting software requirements change modes and obtaining requirements change evidences for new/changed requirements. A potential problem using these predictions of software requirements change is their sensitivity and influence involved in driving the software process improvement. Our goal is to present improvement recommendation through cost benefit analysis and equalization analysis of microcosmic economics. On this basis, establish the software process improvement baseline. When implementing software process improvement collect the related improvement process data and product data and evaluate the improvement. According to the evaluation results, package the experiences of the process improvements to present reusable models and specifications. These models and specifications can be useful for software engineers to control and optimize for next software process improvement. Requirements change-driven software process improvement is a systematic approach for adapting the changes of external environment and improving software quality.
面向当今软件开发和演化环境的开放、动态以及难控的特点,主动应对变化对软件过程实施改进是当前软件工程领域国内外的关注重点,本项目拟研究动态环境下变化与过程的关系,针对“易变性”特征尤为突出的软件需求,研究需求变更驱动的软件过程改进。首先,收集软件过程历史数据和群体智慧数据,基于数据整理和分析结果,寻找需求变更模式,形成需求变更预测证据;然后,分析需求变更源的变更敏感性及其对软件过程实体的影响状况,并利用微观经济学的成本效益分析和均衡分析方法,提出需求变更驱动的软件过程改进推荐方法;最后,基于推荐结果建立软件过程改进基线,实施软件过程改进并收集相关过程和产品数据,进行过程改进评估,依据过程改进评估结果总结过程改进经验,凝练可重用的模型和规范,推动软件过程的持续优化改进,形成需求变更驱动软件过程改进的系统性方法,以适应不断变化的外部环境,在持续改进过程中保持和提升软件质量。
21世纪,软件工程面临着快速变化带来的强有力挑战,当软件项目处于这样一种动态环境中时,软件过程通常难以按照预定义的模型来执行,必须及时调整和改进过程。然而,在动态环境下有效实施软件过程改进,则需要研究过程与变更之间的关系,在软件过程中,任何实体发生变更,都可能导致其他相关实体的变更。找出过程变更因素,预测并分析变更影响,对过程改进实施持续推荐,不仅对软件开发和演化有促进作用,还可以提高软件项目的成功率和可预测性。本项目通过分析变化与过程的关系,针对“易变性”特征尤为突出的软件需求,研究需求变更驱动的软件过程改进。通过项目执行,项目组取得三个方面的重要研究结果:1)在开源社区,对具有代表性的110个软件集进行群体智慧数据的收集,完成数据的按需约简后实现需求变更预测工作,需求变更预测工作分两部分完成,第一部分根据需求变更请求报告的特征,预测其在下一个版本中得到关闭的可能性;第二部分根据需求变更间复杂的影响与依赖关系构建变更关联网络,通过检测和识别网络中的重要变更,预测变更优先级。2)基于软件需求变更关联网络,提出需求变更技术债务概念,研究软件需求变更所导致的技术债务,支持需求变更请求的优先级排序和软件过程改进推荐。另外,由于非功能需求的变更会引发更大规模的软件变更,因此,开展了对非功能需求变更的研究工作,提出软件非功能需求变更权衡代价分析方法。3)根据软件非功能需求变更,提出演化环境下,引入活动变更,改进软件过程的方法。另外,根据需求变更源与过程改进实体间的复杂相关关系,使用系统动力学方法仿真分析软件需求变更与软件过程和软件质量的反馈机制,提出软件过程改进推荐,并通过仿真评估改进推荐,把过程改进的经验包装成可重用的模型。项目研究过程中,通过案例实证研究、专家评估以及产业界合作,优化所有理论研究成果,形成需求变更驱动软件过程改进的系统性方法。
{{i.achievement_title}}
数据更新时间:2023-05-31
论大数据环境对情报学发展的影响
空气电晕放电发展过程的特征发射光谱分析与放电识别
资源型地区产业结构调整对水资源利用效率影响的实证分析—来自中国10个资源型省份的经验证据
多源数据驱动CNN-GRU模型的公交客流量分类预测
混采地震数据高效高精度分离处理方法研究进展
响应需求变更的设计过程演化机制与动态调控方法研究
数据驱动的软件非功能需求知识获取与服务研究
知识驱动的软件需求和体系结构文档的归档方法研究
需求变更\系统演化环境下的特征化需求模型的代码综合方法