CN111475137A - 一种软件开发需求预测的方法、系统及设备 - Google Patents

一种软件开发需求预测的方法、系统及设备 Download PDF

Info

Publication number
CN111475137A
CN111475137A CN202010305742.0A CN202010305742A CN111475137A CN 111475137 A CN111475137 A CN 111475137A CN 202010305742 A CN202010305742 A CN 202010305742A CN 111475137 A CN111475137 A CN 111475137A
Authority
CN
China
Prior art keywords
prediction
software development
training
project
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010305742.0A
Other languages
English (en)
Inventor
刘飞香
刘丹
许昌加
粟国权
蔡鸥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Railway Construction Heavy Industry Group Co Ltd
Original Assignee
China Railway Construction Heavy Industry Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Railway Construction Heavy Industry Group Co Ltd filed Critical China Railway Construction Heavy Industry Group Co Ltd
Priority to CN202010305742.0A priority Critical patent/CN111475137A/zh
Publication of CN111475137A publication Critical patent/CN111475137A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation, e.g. linear programming, "travelling salesman problem" or "cutting stock problem"

Abstract

本申请公开了一种软件开发需求预测的方法,包括:获取训练集;利用训练集对初始模型进行训练,得到预测模型;接收输入的软件开发参数;调用预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果。本申请所提供的技术方案,通过训练好的预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果,使得项目经理在协调软件开发过程中的各种需求时,能够参考预测结果进行协调,而不是完全的依据个人能力和经验,进而降低了软件开发过程对人为因素的依赖。本申请同时还提供了一种软件开发需求预测的系统、设备及可读存储介质,具有上述有益效果。

Description

一种软件开发需求预测的方法、系统及设备
技术领域
本申请涉及软件开发需求预测领域,特别涉及一种软件开发需求预测的方法、系统、设备及可读存储介质。
背景技术
目前软件项目从需求分析、方案设计、代码开发、编译、测试到发布上线的完整体系中每个环节中建立分组形式,每组组长定期向项目经理反馈项目进度,由项目经理从人员配置、各环节的项目周期、内部各单元资源协调、外部需求的变更等多个方面去管控软件项目进展,虽然有团队的支撑,但个人因素占主导,导致各组之间沟通交流存在一定时效性和地域性,同时所有存在项目中的隐患也不可能全部都在定期汇报中体现出来,往往导致软件项目在上线试运营中隐患持续爆发,进而使得软件开发过程对项目经理的个人能力和经验要求极高,个人因素起了决定性作用。
因此,如何降低软件开发过程对人为因素的依赖是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种软件开发需求预测的方法、系统、设备及可读存储介质,用于降低软件开发过程对人为因素的依赖。
为解决上述技术问题,本申请提供一种软件开发需求预测的方法,该方法包括:
获取训练集;
利用所述训练集对初始模型进行训练,得到预测模型;
接收输入的软件开发参数;
调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果。
可选的,所述软件开发参数包括软件项目周期、项目金额、业务场景、项目团队人员数量、功能数量中的至少一项。
可选的,调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果,包括:
调用所述预测模型根据所述项目周期、所述功能数量及所述项目团队人员数量预测研发人员分工、研发用时、测试用时以及上线交付用时。
可选的,调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果,包括:
调用所述预测模型根据所述项目金额及所述项目团队人员数量预测研发成本及测试成本。
可选的,在得到预测结果之后,还包括:
接收修正命令;
根据所述修正命令修改对应的软件开发参数,并调用所述预测模型进行重新预测,得到修正后的预测结果。
可选的,在得到修正后的预测结果之后,还包括:
根据所述修正后的预测结果对所述预测模型的参数进行修正。
可选的,在得到预测结果之后,还包括:
输出预测完成的提示信息。
本申请还提供一种软件开发需求预测的系统,该系统包括:
获取模块,用于获取训练集;
训练模块,用于利用所述训练集对初始模型进行训练,得到预测模型;
第一接收模块,用于接收输入的软件开发参数;
预测模块,用于调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果。
本申请还提供一种软件开发需求预测设备,该软件开发需求预测设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述软件开发需求预测的方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述软件开发需求预测的方法的步骤。
本申请所提供软件开发需求预测的方法,包括:获取训练集;利用训练集对初始模型进行训练,得到预测模型;接收输入的软件开发参数;调用预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果。
本申请所提供的技术方案,通过训练好的预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果,使得项目经理在协调软件开发过程中的各种需求时,能够参考预测结果进行协调,而不是完全的依据个人能力和经验,进而降低了软件开发过程对人为因素的依赖。本申请同时还提供了一种软件开发需求预测的系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种软件开发需求预测的方法的流程图;
图2为本申请实施例所提供的另一种软件开发需求预测的方法的流程图;
图3为本申请实施例所提供的一种软件开发需求预测的系统的结构图;
图4为本申请实施例所提供的另一种软件开发需求预测的系统的结构图;
图5为本申请实施例所提供的一种软件开发需求预测设备的结构图。
具体实施方式
本申请的核心是提供一种软件开发需求预测的方法、系统、设备及可读存储介质,用于降低软件开发过程对人为因素的依赖。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种软件开发需求预测的方法的流程图。
其具体包括如下步骤:
S101:获取训练集;
基于现有技术中软件开发过程对项目经理的个人能力和经验要求极高,个人因素起了决定性作用;本申请提供了一种软件开发需求预测的方法,用于降低软件开发过程对人为因素的依赖;
这里提到的训练集用于对初始模型进行训练,得到预测模型进而对软件开发需求进行预测,因此训练集的质量尤为关键,可选的,该训练集可以为用户输入的,也可以为连接到指定服务器自行下载的,本申请对此不作具体限定,在一个具体实施例中,可以以100个质量为优等的多个场景的软件定制化实施项目为训练集。
S102:利用训练集对初始模型进行训练,得到预测模型;
优选的,基于每个项目工期、大小、金额、业务场景都不一样,为了达到更好的预测效果,可以对初始模型进行训练时,尽可能的多收集软件项目基础数据来完善预测模型,以实现在接收到输入的软件开发参数时对次项目所需资源配置进行预测。
S103:接收输入的软件开发参数;
可选的,这里提到的软件开发参数可以包括但不限于软件项目周期、项目金额、业务场景、项目团队人员数量、功能数量中的至少一项。
S104:调用预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果。
优选的,为使得到的测试结果能够快速指导项目经理准时进行软件项目实施和交付,这里提到的调用预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果,其具体可以为:
调用预测模型根据项目周期、功能数量及项目团队人员数量预测研发人员分工、研发用时、测试用时以及上线交付用时。
优选的,为使得到的测试结果能够指导项目经理对成本进控制,进而让企业成本控制得到最大科学化和合理化,这里提到的调用预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果,其具体可以为:
调用预测模型根据项目金额及项目团队人员数量预测研发成本及测试成本。
优选的,在得到预测结果之后,还可以输出预测完成的提示信息,以使项目经理能够及时根据预测结果对软件开发需求做适应性调整。
基于上述技术方案,本申请所提供的一种软件开发需求预测的方法,通过训练好的预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果,使得项目经理在协调软件开发过程中的各种需求时,能够参考预测结果进行协调,而不是完全的依据个人能力和经验,进而降低了软件开发过程对人为因素的依赖。
基于随着软件项目的执行,可能存在着人员变更、需求增加等情况,导致软件开发需求的预测结果与实际产生偏差,因此本申请还提供了另一种软件开发需求预测的方法,在执行完步骤S104之后,还可以执行图2所示的步骤,下面结合图2进行说明。
请参考图2,图2为图1所提供的一种硬盘识别的方法中S103的一种实际表现方式的流程图。
其具体包括以下步骤:
S201:接收修正命令;
S202:根据修正命令修改对应的软件开发参数,并调用预测模型进行重新预测,得到修正后的预测结果。
优选的,在得到修正后的预测结果之后,还可以根据修正后的预测结果对预测模型的参数进行修正,实现对预测模型的完善,在一个具体实施例中,可以通过LARS最小角回归算法来提高模型精确度。
基于上述技术方案,本申请实施例在接收修正命令时,根据修正命令修改对应的软件开发参数,并调用预测模型进行重新预测,使得得到的预测结果更贴合实际。
下面介绍本申请提供的一种应用实施例,在开发一个软件项目时,每个组的用户可以通过在线看板管理平台执行如下操作:
1)项目经理拿到新的软件项目,录入看板系统中,需求调研组、研发组、测试组、实施上线组即时获得项目信息;
2)需求调研组组长依据项目,进行需求调研,在看板管理平台中录入实际调研时间和结束时间,项目需求内容明细对应功能项,确定功能点优先级别的划分,同时把需求功能对应的所有信息输入至软件开发需求预测系统中,以使系统进行需求预测,得到预测结果;
3)研发组组长从软件开发需求预测系统中获得预测结果,并以该预测结果为参考,对需求功能进行分析,包括人员配置分工,开发工时,开发框架,开发语言,开发工具,代码管理工具,数据库类型,应用服务器类型,Web服务器等,把对应信息录入看板管理平台中。分工后的开发人员在看板平台中录入实际开发工时、代码行数(常规可读格式)、以及各自采用的前后台开发工具版本型号,同时把信息共享给其它组成员;
4)测试组组长从看板平台上获得需求功能和对应开发完成功能点,进行测试分工,测试人员把测试用例和测试方法录入到看板中,同时记录测试结果信息,反馈各类测试BUG点,并提供解决参考意见。最后测试通过的功能点,即时反馈给上线交付组;
5)上线交付组从看板管理平台获得需求功能信息,测试通过信息,完成执行代码文件的上线换包,并导入试运营功能数据,结合业务场景进行交付验收,并把结果反馈到看板管理平台中。如果不符合业务场景或者还存在BUG的,直接通过看板推送给研发组,并兼顾测试组知晓。
请参考图3,图3为本申请实施例所提供的一种软件开发需求预测的系统的结构图。
该系统可以包括:
获取模块100,用于获取训练集;
训练模块200,用于利用训练集对初始模型进行训练,得到预测模型;
第一接收模块300,用于接收输入的软件开发参数;
预测模块400,用于调用预测模型根据软件开发参数进行预测,得到软件开发需求的预测结果。
请参考图4,图4为本申请实施例所提供的另一种软件开发需求预测的系统的结构图。
该预测模块400可以包括:
第一预测子模块,用于调用预测模型根据项目周期、功能数量及项目团队人员数量预测研发人员分工、研发用时、测试用时以及上线交付用时。
该预测模块400可以包括:
第二预测子模块,用于调用预测模型根据项目金额及项目团队人员数量预测研发成本及测试成本。
该系统还可以包括:
第二接收模块,用于接收修正命令;
第一修正模块,用于根据修正命令修改对应的软件开发参数,并调用预测模型进行重新预测,得到修正后的预测结果。
该系统还可以包括:
第二修正模块,用于在得到修正后的预测结果之后,根据修正后的预测结果对预测模型的参数进行修正。
该系统还可以包括:
输出模块,用于在得到预测结果之后,输出预测完成的提示信息。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图5,图5为本申请实施例所提供的一种软件开发需求预测设备的结构图。
该软件开发需求预测设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器522可以设置为与存储介质530通信,在软件开发需求预测设备500上执行存储介质530中的一系列指令操作。
软件开发需求预测设备500还可以包括一个或一个以上电源525,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图2所描述的软件开发需求预测的方法中的步骤由软件开发需求预测设备基于该图5所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种软件开发需求预测的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种软件开发需求预测的方法,其特征在于,包括:
获取训练集;
利用所述训练集对初始模型进行训练,得到预测模型;
接收输入的软件开发参数;
调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果。
2.根据权利要求1所述的方法,其特征在于,所述软件开发参数包括软件项目周期、项目金额、业务场景、项目团队人员数量、功能数量中的至少一项。
3.根据权利要求2所述的方法,其特征在于,调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果,包括:
调用所述预测模型根据所述项目周期、所述功能数量及所述项目团队人员数量预测研发人员分工、研发用时、测试用时以及上线交付用时。
4.根据权利要求2所述的方法,其特征在于,调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果,包括:
调用所述预测模型根据所述项目金额及所述项目团队人员数量预测研发成本及测试成本。
5.根据权利要求1所述的方法,其特征在于,在得到预测结果之后,还包括:
接收修正命令;
根据所述修正命令修改对应的软件开发参数,并调用所述预测模型进行重新预测,得到修正后的预测结果。
6.根据权利要求5所述的方法,其特征在于,在得到修正后的预测结果之后,还包括:
根据所述修正后的预测结果对所述预测模型的参数进行修正。
7.根据权利要求1所述的方法,其特征在于,在得到预测结果之后,还包括:
输出预测完成的提示信息。
8.一种软件开发需求预测的系统,其特征在于,包括:
获取模块,用于获取训练集;
训练模块,用于利用所述训练集对初始模型进行训练,得到预测模型;
第一接收模块,用于接收输入的软件开发参数;
预测模块,用于调用所述预测模型根据所述软件开发参数进行预测,得到软件开发需求的预测结果。
9.一种软件开发需求预测设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述软件开发需求预测的方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述软件开发需求预测的方法的步骤。
CN202010305742.0A 2020-04-17 2020-04-17 一种软件开发需求预测的方法、系统及设备 Pending CN111475137A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010305742.0A CN111475137A (zh) 2020-04-17 2020-04-17 一种软件开发需求预测的方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010305742.0A CN111475137A (zh) 2020-04-17 2020-04-17 一种软件开发需求预测的方法、系统及设备

Publications (1)

Publication Number Publication Date
CN111475137A true CN111475137A (zh) 2020-07-31

Family

ID=71754412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010305742.0A Pending CN111475137A (zh) 2020-04-17 2020-04-17 一种软件开发需求预测的方法、系统及设备

Country Status (1)

Country Link
CN (1) CN111475137A (zh)

Similar Documents

Publication Publication Date Title
Aranha et al. An estimation model for test execution effort
EP1548581A2 (en) Methods, apparatus and programs for system development
US8606905B1 (en) Automated determination of system scalability and scalability constraint factors
Pufahl et al. Design of an extensible BPMN process simulator
EP0453160A2 (en) A method and apparatus for analyzing the flow of data through a complex information exchange system
Sanyal et al. Supercomputer assisted generation of machine learning agents for the calibration of building energy models
CN106843822B (zh) 一种执行代码生成方法及设备
US8214245B2 (en) Method and system for synchronizing inclusive decision branches
Deodhar et al. An interactive, Web-based high performance modeling environment for computational epidemiology
CN110209565A (zh) 一种元数据模型调试方法及其装置
CN111475137A (zh) 一种软件开发需求预测的方法、系统及设备
US10474436B1 (en) System and method for generative programming in an integrated development environment (IDE)
US20100251246A1 (en) System and Method for Generating Job Schedules
Rosenberg et al. The parallel agile process: Applying parallel processing techniques to software engineering
AU2019284011B2 (en) Data processing method and related products
CN111459576B (zh) 一种数据分析处理系统和模型运行方法
AU2019284002B2 (en) Data processing method and related products
CN111580786B (zh) 基于互联网+的软件工程开发系统
US20200334522A1 (en) Data processing method and related products
CN113205421A (zh) 理财产品的核算方法及装置
Birkhölzer et al. Applications of a generic work-test-rework component for software process simulation
CN112597121A (zh) 逻辑脚本的处理方法、装置、电子设备及存储介质
CN111459621A (zh) 云仿真集成与调度方法、装置、计算机设备和存储介质
Becker et al. Proceedings of the 2014 Symposium on Software Performance (SOSP'14): Joint Descartes/Kieker/Palladio Days
KR101273374B1 (ko) 플러그 인 기반의 시뮬레이션 워크플로우 실행 시스템 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination