According to the benefits of applying crowdsourcing requirements engineering and requirements reuse in software development respectively, investigating how to reuse unstructured and informal crowdsourcing requirements directly in order to improve the productivity and quality of software products so as to satisfy the development of software industry, turns to be necessary, urgent, as well as challenging. So, in this project, we are dedicated to looking into requirements management and analysis techniques for reusing requirements as well as other software artifacts in crowdsourcing requirements engineering. Specifically, we want to design a framework for reusing crowdsourcing requirements, to classify and prioritize crowdsourcing requirements by integrating natural language processing (e.g., syntactic parsing and event extraction) and deep learning (e.g., neural network language model and attention mechanism) techniques, and to mine other reusable software artifacts accurately based on the analysis of crowdsourcing requirements. The ultimately deliverable of this project will be an integrated platform of crowdsourcing requirements management and analysis that supports crowdsourcing requirements elicitation, classification, prioritization, and similarity measurement, as well as supporting connecting requirements with other software artifacts. Besides, the modules of the platform would be easy to change and expend. Eventually, by using this platform in new software projects, we want to collect initial requirements as fast as possible, reuse historical requirements as many as possible, and mine all reusable software artifacts as early and accurately as possible. This will improve the productivity and quality of software in reality.
基于众包需求工程和需求复用技术对软件开发的促进作用,研究如何复用通过众包方式获取的非结构化、非正式的软件需求,以进一步解决软件开发效率和质量不能满足软件产业发展客观需要的现实问题,具有一定的必要性、紧迫性和挑战性。本项目拟研究众包需求工程中以需求复用为目标的需求管理和分析技术,并支持其它软件资产的复用。具体包括:设计众包需求复用的技术框架;结合自然语言处理(句法分析和事件抽取等)和深度学习(神经网络语言模型和注意力机制等)技术,对众包需求文本进行分类和优先级排序;基于众包需求分析结果,实现准确查找其它可复用软件资产的方案。形成易修改、易扩展的众包需求管理和分析平台,解决众包需求的获取、关联其它软件资产、分类、优先级排序和相似性度量等问题。最终,在新的软件项目中,基于该平台实现快速获取初始需求、全面复用历史需求、尽早和准确挖掘其它可复用软件资产的目标,真实有效地提升软件开发效率和质量。
如何不断提高软件开发效率和质量,提升软件产业的工业化水平,是软件工程领域的一个重要问题。随着软件规模的不断增长,加之软件需求的多样性、数字环境的复杂性、软件固有的复杂性、一致性、易变性和不可见性等因素的影响,软件的开发效率和质量仍无法满足软件产业发展的客观需要。因此,软件复用和众包软件工程近年来颇受关注。软件复用的出发点是充分利用以往应用系统开发中积累的知识和经验;众包软件工程强调在软件开发的各个阶段充分利用集体智慧。 复用与众包的目标都是快速、高质量完成软件开发任务。本项目的研究目标是合理结合两者,通过众包获取的新信息更快更准地查找可复用的历史信息,以提升软件开发效率和质量。基于该目标,本项目主要完成的工作包括:(1)探究了关联软件开发过程中产生的各种制品的方案并形成了一套软件制品关联管理系统,能够从收集用户需求开始逐步关联各类软件制品,包括需求与软件设计制品(如架构图、类图等)的关联、设计制品与代码的关联;(2)设计了多种基于深度学习技术的软件需求、特征请求分类方法和特征请求接受预测方法,将需求分类与特征请求接受预测的准确率分别提升到77%和83%,并发表了高质量学术研究论文;(3)基于开源软件仓库分别为“基于项目描述的相似软件项目检索”和“基于用户需求的相似软件项目检索”研究构造了数据集,其中基于项目描述的数据集共有17个类别的24,896个开源软件件项目(测试集为2000个项目),基于用户需求的数据集包括100个Python开源项目(其中用户需求共332,697条),设计并实现了相应的算法,并发表了高质量学术研究论文。通过软件制品关联系统手动关联制品时,需求与设计制品的关联逻辑和设计制品与实现制品的关联逻辑是不同的,这对实现自动构建软件制品关联具有借鉴和指导意义。需求分类、接受预测的效果提升为未来进一步研究相关算法指明了探索方向。相似软件项目检索的研究验证了可复用制品的可获取性,为具体如何复用相关制品提供了研究基础。
{{i.achievement_title}}
数据更新时间:2023-05-31
环境类邻避设施对北京市住宅价格影响研究--以大型垃圾处理设施为例
基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例
栓接U肋钢箱梁考虑对接偏差的疲劳性能及改进方法研究
敏感性水利工程社会稳定风险演化SD模型
基于协同表示的图嵌入鉴别分析在人脸识别中的应用
面向用户的软件工程需求分析方法及工具研究
面向特征的协同式需求建模和复用技术研究
面向软件众包协同资源的信任管理和评估方法研究
面向agent的需求工程