CN113283937A - 一种软件开发成本的估算方法及相关设备 - Google Patents
一种软件开发成本的估算方法及相关设备 Download PDFInfo
- Publication number
- CN113283937A CN113283937A CN202110602517.8A CN202110602517A CN113283937A CN 113283937 A CN113283937 A CN 113283937A CN 202110602517 A CN202110602517 A CN 202110602517A CN 113283937 A CN113283937 A CN 113283937A
- Authority
- CN
- China
- Prior art keywords
- work order
- target
- software
- target software
- development cost
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种软件开发成本的估算方法及相关设备,综合考虑任务需求的任务因素调整因子和软件因素调整因子,提高软件的开发成本估算的准确率。该方法包括:根据目标软件的范围边界从工单数据库中获取针对于目标软件的工单实例总数;根据工单实例总数以及目标软件的总工时确定目标软件所对应的实例基准工时;根据工单实例总数计算目标软件的目标工单实例数;根据任务需求确定目标软件所对应的调整因子,调整因子包括任务因素调整因子和软件因素调整因子;根据目标软件所对应的实例基准工时、目标工单实例数以及调整因子确定目标软件的工作量;根据目标软件的工作量确定目标软件的开发成本。
Description
技术领域
本申请涉及软件领域,尤其涉及一种软件开发成本的估算方法及相关设备。
背景技术
在项目管理中,软件项目估算是软件项目管理的核心,通过估算才能得出软件项目的计划,并成为软件项目控制的依据。一个成功的项目首先需要一个合理的项目计划,而一个合理的项目计划,离不开一个准确、可信、客观的项目成本度量。
软件项目成本度量的目的在于为软件项目制定一个预算,用来辅助项目管理团队人员合理安排项目进度计划和指导项目具体工作的分配,从而让项目在可控的状态下进行,同时为后续的软件质量提供对比依据,从中找出项目中存在的问题和好的经验,促进企业的持续改进。
现有技术基于功能点度量方法(Function Points Analysis)进行规模估算,利用规模估算的结果进行工作量估算,取得工作量估算结果后,在基于该结果进行成本估算,最终得到软件的开发成本。
然而,现有的工作量估算中,只考虑到一个难度系数,这样会造成软件的开发成本的估算不准确。
发明内容
本申请提供了一种软件开发成本的估算方法及相关设备,可以综合考虑任务需求的任务因素调整因子和所开发的软件的因素调整因子,提高软件的开发成本估算的准确率。
本申请实施例第一方面提供了一种软件开发成本的估算方法,包括:
根据目标软件的范围边界从工单数据库中获取针对于所述目标软件的工单实例总数,所述目标软件为待估算开发成本的任务需求中任意一个软件;
根据所述工单实例总数以及所述目标软件的总工时确定所述目标软件所对应的实例基准工时;
根据所述工单实例总数计算所述目标软件的目标工单实例数;
根据所述任务需求确定所述目标软件所对应的调整因子,所述调整因子包括任务因素调整因子和软件因素调整因子;
根据所述目标软件所对应的实例基准工时、所述目标工单实例数以及所述调整因子确定所述目标软件的工作量;
根据所述目标软件的工作量确定所述目标软件的开发成本。
本申请第二方面提供了一种软件开发成本估算装置,包括:
获取单元,用于根据目标软件的范围边界从工单数据库中获取针对于所述目标软件的工单实例总数,所述目标软件为待估算开发成本的任务需求中任意一个软件;
第一确定单元,用于根据所述工单实例总数以及所述目标软件的总工时确定所述目标软件所对应的实例基准工时;
计算单元,用于根据所述工单实例总数计算所述目标软件的目标工单实例数;
第二确定单元,用于根据所述任务需求确定所述目标软件所对应的调整因子,所述调整因子包括任务因素调整因子和软件因素调整因子;
第三确定单元,用于根据所述目标软件所对应的实例基准工时、所述目标工单实例数以及所述调整因子确定所述目标软件的工作量;
第四确定单元,用于根据所述目标软件的工作量确定所述目标软件的开发成本。
本申请第五方面提供了一种计算机装置,其包括至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现上述各方面所述的软件开发成本的估算方法的步骤。
本申请实施例第六方面提供了一种机器可读介质,其包括指令,当其在机器上运行时,使得机器执行上述各方面所述的软件开发成本的估算方法的步骤。
综上所述,可以看出,本申请提供的实施例中,在对软件进行开发成本估算时,采用的是工单实例数为依据,综合考虑任务需求中的任务因素调整因子和软件的软件因素调整因子,相对于现有的采用功能点度量的不确定性以及只考虑难度系数来说,可以提高软件的开发成本估算的准确性。
附图说明
结合附图并参考以下具体实施方式,本申请各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本申请实施例提供的软件开发成本的估算系统的架构图;
图2为本申请实施例提供的软件开发成本的估算方法的流程示意图;
图3为本申请实施例提供的软件开发成本估算装置的结构示意图;
图4为本申请实施例提供的机器可读介质的结构示意图;
图5为本申请实施例提供的服务器的硬件结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
本申请中使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
请参阅图1,图1为本申请实施例提供的软件开发成本估算系统的架构图,包括:规模估算组件101、工作量估算组件102、成本估算组件103、估算成本确认组件104以及估算模型完善组件105组成
其中,规模估算组件101利用实例数据取代功能点数据进行规模估算,所述规模估算的测量时间点可在软件开发过程中的任意里程碑节点进行。
工作量估算组件102获取规模估算结果,根据需求任务类型确定至少两种及以上的估算方法及调整系数(包括任务因素调整因子及软件因素调整因子),执行面向项目的工作量估算,并基于经验法、类比法、或类推法等,进行工作量估算结果的交叉验证。
成本估算组件103获取工作量估算结果,根据人均生产率确定单位工作量成本(包括直接人力成本、间接成本),结合直接非人力成本,计算成本估算结果。
估算成本确认组件104该组件基于经验法、类比法、类推法对上述精细化软件成本估算结果进行交叉验证,根据验证结果确定估算成本。
估算模型完善组件105对各任务过程数据如实际规模、工作量、成本数据等进行收集、跟进和分析,定期完善估算模型。由此,本申请提供的实施例中,在规模估算过程中应用动态历史数据,测量时间点灵活,可在软件开发过程中的任意里程碑节点进行,降低了现有技术中的估算偏差;利用实例数据取代功能点数据进行规模估算,解决了现有技术中计算功能点过于复杂的问题。另外增加了任务相关因素和软件相关因素的调整因子,调整因子取值全面,满足更多的任务需求,同时采用经验法、类比法、类推法对估算结果进行交叉验证,工作量估算结果准确。
下面从服务器的角度本申请提供的软件开发成本的估算方法进行说明,请参阅图2,图2为本申请实施例提供的软件开发成本的估算方法的一个流程示意图,包括:
201、根据目标软件的范围边界从工单数据库中获取针对与目标软件的工单实例总数。
本实施例中,服务器可以确定任务需求,也即此次的开发任务需要开发几个软件,每个软件的具体要求是什么,各个软件与其他软件的交互信息等信息,之后可以根据该任务需求确定目标软件的范围边界(也即确定目标软件的功能范围),最后可以根据该目标软件的范围边界从工单数据库中获取针对于该目标软件的工单实例总数。该工单数据库中存储有多个软件的工单实例数据,该多个软件又是根据一个或多个任务需求进行开发得到的,也即工单数据库中某个软件可能会有多套工单实例数据,每一套工单实例数据与一个任务需求相对应。此处服务器获取的是与该目标软件所有相关联的工单实例数据。
需要说明的是,在获取目标软件的工单实例总数时,还可以设置时间范围,例如获取目标软件在工单数据库中连续3年及以上的实例数据,当然也还可以是其他的时间范围,例如4年,具体不做限定。另外,若该目标软件未包含在工单数据库中,属于较新的未开发过的软件,则可以使用目标软件类别软件层级的数据,也即从工单数据库中找出与该目标软件的类型相似的软件,并获取与目标软件的类型相似的软件的工单实例总数。
202、根据工单实例总数以及目标软件的总工时确定目标软件所对应的实例基准工时。
本实施例中,服务器在得到工单实例总数之后,由于从工单数据库总能获取的工单实例总数是已经开发过的软件,因此也可以获取到其对应的总工时,之后根据工单实例总数以及目标软件的总工时确定目标软件所对应的实例基准工时。具体的,服务器可以通过如下如下公式计算目标软件所对应的实例基准工时:
目标软件所对应的实例基准工时=目标软件的总工时/目标软件的工单实例总数。
203、根据工单实例总数计算目标软件的目标工单实例数。
本实施例中,服务器在从数据库中获取到针对于目标软件的工单实例总数之后,可以根据该工单实例总数计算目标软件的目标工单实例数,也即计算出开发该目标软件需要多少个工单实例,具体的可以通过如下公式计算目标软件的目标工单实例数:
目标工单实例数=(工单实例总数-最大值-最小值)/(目标工单实例数所对应的任务量-2);
其中,最大值为工单实例总数所对应的任务中工单实例数的最大值,最小值为工单实例总数所对应的任务中工单实例数的最小值,例如该目标软件对应A、B、C、D三个任务,其中A任务的工单实例数为100,B任务对应的工单实例数为130,C任务对应的工单实例数为150,D任务对应的工单实例数为90,则该最大值即为150,最小值即为900,该工单实例总数为100+130+150+90=470,由此可以计算得到该目标工单实例数=(470-150-90)/2=115,也即该目标软件需开发的工单实例数为115。
需要说明的是,服务器在得到目标工单实例数之后,可以将该目标工单实例数展示给用户查看,由用户来确定是否进行调整,若接收到用户的调整指令,如计算得到的目标工单实例数为100,调整指令为将该目标工单实例数调整为80,则在进行目标软件的开发成本估算时,使用调整后的工单实例数;若未接收到用户的调整指令,则直接使用计算得到的目标工单实例数即可。
204、根据任务需求确定目标软件所对应的调整因子。
本实施例中,服务器可以根据任务需求确定目标软件所对应的调整因子,该调整因子包括任务因素调整因子和软件因素调整因子,其中,任务因素调整因子包括但不限于任务难度、任务类型、任务规模以及任务紧急程度,其计算结果依赖于各软件需求实例数及工时数据的对应关系;软件因素调整因子包括但不限于软件运营状态、软件安全等级以及软件开发语言等,其计算结果依赖于各软件规划定义信息(SPD)和需求实例数、工时数据的对应关系。下结合表1以及表2对调整因子进行说明,请参阅表1,表1为调整因子中的任务因素调整因子的具体说明:
表1
请参阅表2,表2为调整因子中的软件因素调整因子:
表2
其中,TRMS为真正有效值(True Root Mean Square)的缩写,表示的是实际有效的工单实例数据。
需要说明的是,通过步骤202可以确定目标软件对应的实例基准工时,通过步骤203可以计算目标工单实例数,通过步骤203可以确定目标软件所对应的调整因子,然而这三个步骤之间并没有先后执行顺序的限制,可以先执行步骤202,也可以先执行步骤203,也可以先执行步骤204,或者同时执行,具体不做限定。
205、根据目标软件所对应的实例基准工时、目标工单实例数以及调整因子确定目标软件的工作量。
本实施例中,服务器在确定目标软件所对应的实例基准工时、目标工单实例数以及调整因子之后,可以根据该目标软件所对应的实例基准工时、目标工单实例数以及调整因子确定目标软件的工作量,具体的,可以通过如下公式计算目标软件的工作量:
目标软件的工作量=∑实例基准工时*目标工单实例数*调整因子。
下面结合表3以任务需求中包括两个软件A和B为例对工作量的计算进行说明:
表3
206、根据目标软件的工作量确定目标软件的开发成本。
本实施例中,服务器在确定目标软件的工作量之后,可以根据目标软件的工作量确定目标软件的开发成本。具体的:服务器可以首先获取目标软件所对应的平均人力成本费率以及管理分摊成本,之后,根据目标软件的工作量、平均人力成本费率以及管理分摊成本确定目标软件的开发成本,可以通过如下公式进行计算:
目标软件的开发成本=∑目标软件的工作量*平均人力成本费率+管理分摊成本。
需要说明的是,此处的平均人力成本费率与开发软件所处的地域具有关联关系,不同地域的平均人力成本费率可能会存在区别。另外,该管理分摊成本在计算时,可以获取上一年度的总成本以及上一年度管理成本,之后通过如下公式进行计算:
管理分摊成本=(工作量*平均人力成本费率)/(上一年度总成本*上一年度管理成本)。
需要说明的是,服务器在确定目标软件的开发成本之后,可以基于经验法、类比法、类推法对上述精细化软件成本估算结果进行交叉验证。若估算结果差别不大,可直接使用两种估算结果的平均值或以精细化软件成本估算结果为准;若差别较大,则进行差异分析,以便确定该目标软件的最终估算成本。
一个实施例中,服务器在确定目标软件的开发成本之后,还执行如下操作:
获取工单数据库中存储的与目标软件的相似度达到第一预设值的第一软件的开发成本;
判断第一软件的开发成本与目标软件的开发成本的差值是否大于第二预设值;
若否,则根据目标软件的开发成本以及第一软件的开发成本确定目标软件的最终估算成本。
本实施例中,服务器可以获取工单数据库中存储中与该目标软件相似的第一软件的开发成本,之后判断与该第一软件的开发成本与计算得到的目标软件的开发成本的差值是否大于第一预设值,当第一软件的开发成本与该目标软件的开发成本的差值不大于第一预设值时,可以根据目标软件的开发成本以及第一软件的开发成本确定目标软件的最终估算成本,例如将目标软件的开发成本加上第一软件的开发成本之后计算平均值,即可以得到目标软件的最终估算成本,当然也还可以是其他的方式,例如通过预先设定的公式进行计算,具体不限定;当目标软件的开发成本与第一软件的开发成本的差值大于第一预设值时,服务器可以进行差异分析,最终确定目标软件的开发成本。
上述以已开发完成的软件的开发成本对目标软件的开发成本进行验证,下面通过经验法对目标软件的开发成本进行验证,在计算得到目标软件的开发成本之后,可以根据估算法计算任务需求的估算开发成本,例如该任务需求包括A软件以及B软件,那么可以按照经验将A软件以及B软件的开发成本进行估算,进而得到该任务需求的估算开发成本,如表4所示:
表4
由表4可以看出,任务需求包括A软件和B软件,软件开发包括设计、开发以及测试三个环节,表4中给出的分别是根据经验得出的开发A软件和开发B软件各个环节的预计人工投入,之后即可以计算出该任务需求的预计投入总人工投入;之后与实际计算出的该任务需求的开发成本进行比对,进而得到该任务需求的最终成本,例如该实际计算出的任务需求的开发成本为2.8个月,与该估算出的3个月差值在预设范围内,则可以直接将2.8个月确定为该任务需求的最终开发成本,或者将估算成本与实际计算的开发成本进行相加求平均值2.9个月,作为该任务需求的最终开发成本。
综上所述,本申请提供的实施例中,服务器通过从工单数据库中获取针对与目标软件的工单实例总数来计算目标软件的实例基准公式,并计算目标软件的目标工单实例数,并确定目标软件所对应的调整因子,该调整因子包括任务因素调整因子和软件因素调整因子,之后根据实例基准工时、目标工单实例数以及调整因子计算目标软件的工作量,并根据该目标工作量计算目标软件的开发成本。由此可以看出,在对软件进行开发成本估算时,采用的是工单实例数为依据,综合考虑任务需求中的任务因素调整因子和软件的软件因素调整因子,相对于现有的采用功能点度量的不确定性以及只考虑难度系数来说,可以提高软件的开发成本估算的准确性。
可以理解的是,附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
另外,本申请还可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上面从软件开发成本的估算方法的角度对本申请实施例进行说明,下面从软件开发成本估算装置的角度对本申请实施例进行说明。
请参阅图3、图3为本申请实施例提供的软件开发成本估算装置的虚拟结构意图,该软件开发成本估算装置300包括:
获取单元301,用于根据目标软件的范围边界从工单数据库中获取针对于所述目标软件的工单实例总数,所述目标软件为待估算开发成本的任务需求中任意一个软件;
第一确定单元302,用于根据所述工单实例总数以及所述目标软件的总工时确定所述目标软件所对应的实例基准工时;
计算单元303,用于根据所述工单实例总数计算所述目标软件的目标工单实例数;
第二确定单元304,用于根据所述任务需求确定所述目标软件所对应的调整因子,所述调整因子包括任务因素调整因子和软件因素调整因子;
第三确定单元305,用于根据所述目标软件所对应的实例基准工时、所述目标工单实例数以及所述调整因子确定所述目标软件的工作量;
第四确定单元306,用于根据所述目标软件的工作量确定所述目标软件的开发成本。
一种可能的实现方式中,所述计算单元303具体用于:
通过如下公式计算所述目标工单实例数:
所述目标工单实例数=(所述工单实例总数-最大值-最小值)/(所述目标工单实例数所对应的任务量-2);
其中,所述最大值为所述工单实例总数所对应的任务中工单实例数的最大值,所述最小值为所述工单实例总数所对应的任务中工单实例数的最小值。
一种可能的实现方式中,所述第三确定单元305具体用于:
通过如下公式计算所述目标任务的工作量:
所述目标软件的工作量=∑所述实例基准工时*所述目标工单实例数*所述调整因子。
一种可能的实现方式中,所述第四确定单元306具体用于:
获取所述目标软件所对应的平均人力成本费率以及管理分摊成本;
通过如下公式确定所述目标软件的开发成本:
所述目标软件的开发成本=∑所述目标软件的工作量*所述平均人力成本费率+所述管理分摊成本。
一种可能的实现方式中,所述装置还包括:
验证单元307,所述验证单元307用于:
获取所述工单数据库中存储的与所述目标软件的相似度达到第一预设值的第一软件的开发成本;
判断所述第一软件的开发成本与所述目标软件的开发成本的差值是否大于第二预设值;
若否,则根据所述目标软件的开发成本以及所述第一软件的开发成本确定所述目标软件的最终估算成本。
综上所述,本申请提供的实施例中,服务器通过从工单数据库中获取针对与目标软件的工单实例总数来计算目标软件的实例基准公式,并计算目标软件的目标工单实例数,并确定目标软件所对应的调整因子,该调整因子包括任务因素调整因子和软件因素调整因子,之后根据实例基准工时、目标工单实例数以及调整因子计算目标软件的工作量,并根据该目标工作量计算目标软件的开发成本。由此可以看出,在对软件进行开发成本估算时,采用的是工单实例数为依据,综合考虑任务需求中的任务因素调整因子和软件的软件因素调整因子,相对于现有的采用功能点度量的不确定性以及只考虑难度系数来说,可以提高软件的开发成本估算的准确性。
需要说明的是,描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取目标用户的证件信息的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
请参阅图4,图4为本申请实施例提供的一种机器可读介质的实施例示意图。
如图4所示,本实施例提供了一种机器可读介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现上述图2中所述软件开发成本的估算方法的步骤。
需要说明的是,本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本申请上述的机器可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
请参阅图5,图5是本申请实施例提供的一种服务器的硬件结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图5所示的服务器结构。
还需要说明的,根据本申请的实施例,上述图1的流程示意图描述的所述软件开发成本的估算方法的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行上述图1的流程示意图中所示的方法的程序代码。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种软件开发成本的估算方法,其特征在于,包括:
根据目标软件的范围边界从工单数据库中获取针对于所述目标软件的工单实例总数,所述目标软件为待估算开发成本的任务需求中任意一个软件;
根据所述工单实例总数以及所述目标软件的总工时确定所述目标软件所对应的实例基准工时;
根据所述工单实例总数计算所述目标软件的目标工单实例数;
根据所述任务需求确定所述目标软件所对应的调整因子,所述调整因子包括任务因素调整因子和软件因素调整因子;
根据所述目标软件所对应的实例基准工时、所述目标工单实例数以及所述调整因子确定所述目标软件的工作量;
根据所述目标软件的工作量确定所述目标软件的开发成本。
2.根据权利要求1所述的方法,其特征在于,所述根据所述工单实例总数计算所述目标软件的目标工单实例数包括:
通过如下公式计算所述目标工单实例数:
所述目标工单实例数=(所述工单实例总数-最大值-最小值)/(所述目标工单实例数所对应的任务量-2);
其中,所述最大值为所述工单实例总数所对应的任务中工单实例数的最大值,所述最小值为所述工单实例总数所对应的任务中工单实例数的最小值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标软件所对应的实例基准工时、所述目标工单实例数以及所述调整因子确定所述目标软件的工作量包括:
通过如下公式计算所述目标任务的工作量:
所述目标软件的工作量=∑所述实例基准工时*所述目标工单实例数*所述调整因子。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标任务的工作量确定所述目标软件的开发成本包括:
获取所述目标软件所对应的平均人力成本费率以及管理分摊成本;
通过如下公式确定所述目标软件的开发成本:
所述目标软件的开发成本=∑所述目标软件的工作量*所述平均人力成本费率+所述管理分摊成本。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
获取所述工单数据库中存储的与所述目标软件的相似度达到第一预设值的第一软件的开发成本;
判断所述第一软件的开发成本与所述目标软件的开发成本的差值是否大于第二预设值;
若否,则根据所述目标软件的开发成本以及所述第一软件的开发成本确定所述目标软件的最终估算成本。
6.一种软件开发成本估算装置,其特征在于,包括:
获取单元,用于根据目标软件的范围边界从工单数据库中获取针对于所述目标软件的工单实例总数,所述目标软件为待估算开发成本的任务需求中任意一个软件;
第一确定单元,用于根据所述工单实例总数以及所述目标软件的总工时确定所述目标软件所对应的实例基准工时;
计算单元,用于根据所述工单实例总数计算所述目标软件的目标工单实例数;
第二确定单元,用于根据所述任务需求确定所述目标软件所对应的调整因子,所述调整因子包括任务因素调整因子和软件因素调整因子;
第三确定单元,用于根据所述目标软件所对应的实例基准工时、所述目标工单实例数以及所述调整因子确定所述目标软件的工作量;
第四确定单元,用于根据所述目标软件的工作量确定所述目标软件的开发成本。
7.根据权利要求6所述的装置,其特征在于,所述计算单元具体用于:
通过如下公式计算所述目标工单实例数:
所述目标工单实例数=(所述工单实例总数-最大值-最小值)/(所述目标工单实例数所对应的任务量-2);
其中,所述最大值为所述工单实例总数所对应的任务中工单实例数的最大值,所述最小值为所述工单实例总数所对应的任务中工单实例数的最小值。
8.根据权利要求6所述的装置,其特征在于,所述第三确定单元具体用于:
通过如下公式计算所述目标任务的工作量:
所述目标软件的工作量=∑所述实例基准工时*所述目标工单实例数*所述调整因子。
9.一种计算机装置,其特征在于,包括:
至少一个连接的处理器和存储器,其中,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现权利要求1至5中任一项所述的方法。
10.一种机器可读介质,其特征在于,包括指令,当所述指令在机器上运行时,使得机器执行上述权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602517.8A CN113283937A (zh) | 2021-05-31 | 2021-05-31 | 一种软件开发成本的估算方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602517.8A CN113283937A (zh) | 2021-05-31 | 2021-05-31 | 一种软件开发成本的估算方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113283937A true CN113283937A (zh) | 2021-08-20 |
Family
ID=77282657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110602517.8A Pending CN113283937A (zh) | 2021-05-31 | 2021-05-31 | 一种软件开发成本的估算方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113283937A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792986A (zh) * | 2021-08-23 | 2021-12-14 | 东风柳州汽车有限公司 | 人力资源计划生成方法、装置、设备及存储介质 |
CN116051022A (zh) * | 2022-12-14 | 2023-05-02 | 辽宁邮电规划设计院有限公司 | 一种信息通信项目软件成本度量的方法 |
-
2021
- 2021-05-31 CN CN202110602517.8A patent/CN113283937A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792986A (zh) * | 2021-08-23 | 2021-12-14 | 东风柳州汽车有限公司 | 人力资源计划生成方法、装置、设备及存储介质 |
CN113792986B (zh) * | 2021-08-23 | 2024-03-26 | 东风柳州汽车有限公司 | 人力资源计划生成方法、装置、设备及存储介质 |
CN116051022A (zh) * | 2022-12-14 | 2023-05-02 | 辽宁邮电规划设计院有限公司 | 一种信息通信项目软件成本度量的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210097453A1 (en) | Method for quantile probabilistic short-term power load ensemble forecasting, electronic device and storage medium | |
US10565442B2 (en) | Picture recognition method and apparatus, computer device and computer- readable medium | |
US9110941B2 (en) | Master data governance process driven by source data accuracy metric | |
US8578023B2 (en) | Computer resource utilization modeling for multiple workloads | |
CN113283937A (zh) | 一种软件开发成本的估算方法及相关设备 | |
US9626631B2 (en) | Analysis device, analysis method, and program | |
US20170364614A1 (en) | Adaptive forecasting of time-series | |
US10423516B2 (en) | System resource component utilization | |
CN110633194B (zh) | 一种硬件资源在特定环境下的性能评估方法 | |
CN103678866B (zh) | 用于计算系统产品可靠度估计的方法和系统 | |
CN111310998B (zh) | 关键路径的生成方法、装置、电子设备和介质 | |
JPWO2017188419A1 (ja) | 計算資源管理装置、計算資源管理方法、及びプログラム | |
CN112823364A (zh) | 预测模型增强 | |
US10733537B2 (en) | Ensemble based labeling | |
US9684872B2 (en) | Method and apparatus for generating data in a missing segment of a time data sequence | |
CN109471787B (zh) | 软件质量评价方法及装置、存储介质、电子设备 | |
US11222282B2 (en) | Sourcing a new machine-learning project by reusing artifacts from reference machine learning projects | |
US20150254584A1 (en) | Estimates using historical analysis | |
US20150142709A1 (en) | Automatic learning of bayesian networks | |
Tsunoda et al. | Pitfalls of analyzing a cross-company dataset of software maintenance and support | |
CN114416583A (zh) | 一种自动化测试的工作量确定方法、装置、设备和存储介质 | |
US20160299946A1 (en) | Usage and Symptom Oriented SQL Statement Optimization | |
Nozdrzykowski et al. | Testing the significance of parameters of models estimating execution time of parallel program loops according to the Open MPI Standard | |
CN113610123B (zh) | 基于物联网的多源异构数据融合方法及系统 | |
CN113159177B (zh) | 基于批归一化参数定点化的目标检测方法、系统、设备 |
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 |