CN112907140A - 软件项目工期评测方法、装置、电子设备以及介质 - Google Patents

软件项目工期评测方法、装置、电子设备以及介质 Download PDF

Info

Publication number
CN112907140A
CN112907140A CN202110335766.5A CN202110335766A CN112907140A CN 112907140 A CN112907140 A CN 112907140A CN 202110335766 A CN202110335766 A CN 202110335766A CN 112907140 A CN112907140 A CN 112907140A
Authority
CN
China
Prior art keywords
man
acyclic graph
directed acyclic
hour consumption
task item
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
CN202110335766.5A
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 Construction Bank Corp
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202110335766.5A priority Critical patent/CN112907140A/zh
Publication of CN112907140A publication Critical patent/CN112907140A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Artificial Intelligence (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例涉及数据分析技术领域,尤其涉及公开一种软件项目工期评测方法、装置、电子设备以及介质。所述方法包括:确定包括拆解的至少两个任务项的有向无环图;确定有向无环图中各个任务项关联的参考输入信息;参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;依据有向无环图以及有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;整体工时消耗结果采用概率密度函数进行表示。采用本实施例的方案,在对项目工作计划中每项任务的工时消耗进行评估,采用了概率密度函数的方式进行评估,与单一数值或乐观悲观值评估的方法相比,更能反映项目工期实际情况,有更广应用范围。

Description

软件项目工期评测方法、装置、电子设备以及介质
技术领域
本发明实施例涉及数据分析技术领域,尤其涉及一种软件项目工期评测方法、装置、电子设备以及介质。
背景技术
在软件项目实施过程中,项目工期评估与控制是一项重要环节。通过项目工期评估能了解项目各阶段可完成的时间节点或测算到达各时间节点所需要的总体人员情况;以及测算项目完成情况是否偏离预期,以便采取必要的补救措施或调整、修改计划,直至项目完成。虽然目前有很多工期测算方式,比如单值测算和最乐观最悲观测算,但是评估值与真实情况存在较大偏差,无法精准地提示项目逾期风险,同时过于乐观的测算会导致项目临近结项时间点项目仍处理混乱的开发测试过程中,过于悲观的测算会形成资源浪费,增加项目成本。
发明内容
本发明实施例中提供了一种软件项目工期评测方法、装置、电子设备以及介质,以实现解决传统方法对工期测算不准确的问题,尽可能反映实际情况。
第一方面,本发明实施例中提供了一种软件项目工期评测方法,包括:
在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
第二方面,本发明实施例中还提供了一种软件项目工期评测装置,包括:
有向无环图确定模块,用于在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
任务项参数信息确定模块,用于确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
项目工时消耗确定模块,用于依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
第三方面,本发明实施例中还提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例中提供的软件项目工期评测方法。
第四方面,本发明实施例中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例中提供的软件项目工期评测方法。
根据本发明实施例中提供的软件项目工期评测方法,在软件项目拆解后确定包括拆解的至少两个任务项的有向无环图,以及确定用于描述有向无环图中各个任务项工时消耗分布的概率密度函数的均值与标准差,进而基于有向无环图进行工时消耗模拟得到采用概率密度函数进行表示的软件项目的整体工时消耗结果。采用本实施例的方案,在对项目工作计划中每项任务的工时消耗进行评估,采用了概率密度函数的方式进行评估,与单一数值或乐观悲观值进行评估的方法相比,本申请方案更能准确进行项目工期的测算,且更能反映项目工期的实际情况,有更广的应用范围。
上述发明内容仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例中提供的一种软件项目工期评测方法的流程图;
图2是本发明实施例中提供的一种包括至少两个任务项的有向无环图;
图3是本发明实施例中提供的另一种包括至少两个任务项的有向无环图;
图4是本发明实施例中提供的另一种软件项目工期评测方法的流程图;
图5是本发明实施例中提供的一种对有向无环图中每个任务项的进行工时消耗模拟的流程图;
图6是本发明实施例中提供的一种重新绘制的包括至少两个任务项的有向无环图;
图7是本发明实施例中提供的一种对有向无环图中部分任务项进行简化合并的示意图;
图8是本发明实施例中提供的一种软件项目工期评测装置的结构图;
图9是本发明实施例中提供的一种电子设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
为了更好地理解本申请技术方案,下面对软件工期测算的相关内容进行简单阐述。软件项目管理运用的方法论,即软件工程,关注的是软件产品的生命周期,包括从计划、设计、开发、测试、运行和维护等几个阶段,随着软件产品的不断升级维护,还会使同一软件产品经历多次这样的生命周期。软件生命周期中涉及了两项关键资源,即时间与人员。对于资源不同规模的项目采用的度量也不一样,长期性项目在远期计划安排时往往采用人月方式度量资源,而细化到短期计划或详细任务安排时,往往又以工时为计量单位。为了便于描述通常统一采用工时消耗进行计量,换成其他单位也同样适用。
下面通过各实施例及各实施例的可选方案,对本申请方案中提供的软件项目工期评测方法、装置、设备以及介质进行详细阐述。
图1是本发明实施例中提供的一种软件项目工期评测方法的流程图。本发明实施例可适用于对软件项目的工期进行测算的情况。该方法可由软件项目工期评测装置来执行,该装置可以采用软件和/或硬件的方式来实现,该装置可以配置于具有网络通信功能的电子设备中。如图1所示,本发明实施例中提供的软件项目工期评测方法,可包括以下步骤:
S110、在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图。
在确定软件项目可行性之后,可将一个软件项目拆解为多个任务项,进而基于拆解的任务项指定项目任务计划,该项目任务计划可以是粗略的,也可以是细化的,可根据项目具体情况和测评精度要求而定。以软件开发阶段的项目为例,一个软件项目开发系统可拆解为多个模块任务项,这些模块任务项中有些可并行开发,有些模块任务项有依赖关系。
作为一种可选方案,确定包括拆解的至少两个任务项的有向无环图,可以包括:获取对软件项目拆解得到的各个任务项;根据用户的连线操作,将拆解的各个任务项中存在依赖关系的两个任务项进行有向连接,得到包括至少两个任务项的有向无环图。
参见图2,对于从软件项目中拆解出的多个任务项,由于有些任务项可以并行开发,有些任务项有依赖关系,因此可将有依赖关系的任务项节点采用有向线段连接起来,可得到一个有向无环图DAG。其中,有向线段从被依赖任务项指向依赖任务项。仍以开发阶段的项目为例,图2示出的顶点字母代表任务项名称,顶点A表示需求分析任务项,顶点B、顶点C、顶点D、顶点E、顶点F以及顶点G分别表示各功能模块任务项的开发任务,顶点H表示测试任务项。
作为一种可选方案,在确定包括拆解的至少两个任务项的有向无环图之前,还可包括:对软件项目各个阶段项目工作进行拆解形成包括至少两个任务项的软件项目工作拆解结构。
参见图2,在确定软件项目可行性之后,确定项目目标和实施范围,根据软件生命周期对项目各个阶段项目工作进行拆解形成工作拆解结构WBS,制定包括至少两个任务项的详细任务计划,进而将拆解的各个任务项中存在依赖关系的两个任务项进行有向连接得到一个有向无环图。
S120、确定有向无环图中各个任务项关联的参考输入信息;参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差。
在本实施例的一种可选方案中,确定有向无环图中各个任务项关联的参考输入信息,可包括以下步骤A1-A2:
步骤A1、获取对有向无环图中各个任务项工时消耗的参考评估值;参考评估值包括最小工时消耗、正常工时消耗以及最大工时消耗。
步骤A2、针对有向无环图中的每一个任务项,依据任务项工时消耗的参考评估值,基于帕累托PERF法则计算得到描述任务项工时消耗分布的概率密度函数的均值与标准差。
参见图3,对有向无环图中的每一个任务项,通常情况下各个任务项的工时消耗服从正态分布N(μ,σ)。基于上述原理,可根据软件项目的实施经验,对每个任务评估出一组最乐观情况、最悲观情况及正常情况下的工时消耗,分别记为最乐观情况下所估计的最小工时消耗Tmin、最悲观情况下所估计的最大工时消耗Tmax和正常情况下所估计的正常工时消耗Tnormal记为有向无环图中任务项工时消耗的参考评估值,依次可可以得到有向无环图中各个任务项工时消耗的参考评估值。
参见图3,在确定有向无环图中每个任务项工时消耗的最小工时消耗、正常工时消耗以及最大工时消耗之后,针对每个任务项基于帕累托PERF法则计算得到每个任务项的概率密度函数的均值和标准差,其对应到图3中每个任务项中下半部分的两个数值,前者为均值,后者为标准差。计算每个任务项的概率密度函数的均值和标准差的公式如下:
Figure BDA0002997542260000071
S130、依据有向无环图以及有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;整体工时消耗结果采用概率密度函数进行表示。
软件项目工期评估对各阶段的进展程度和项目最终完成的期限所进行测算的过程,目的是了解软件项目各阶段可完成的时间节点,或测算到达和节点所需要的总体人月情况。在项目实施过程中,软件项目工期评估还可用于测算软件项目完成情况是否偏离预期,提示引起偏差的原因,以便采取必要补救措施或调整、修改计划,直至项目完成。
根据本发明实施例中提供的软件项目工期评测方法,在对项目工作计划中每项任务的工时消耗进行评估,采用了概率密度函数的方式进行评估,本申请方案对任务项的工时消耗进行评估时采用了概率密度函数济宁评估,而非评估成了一个或两个(乐观工时与悲观工时)精确值,与单一数值或乐观悲观值进行评估的方法相比,不仅能反映通常情况或两种较极端情况下资源需求,即不仅限于评估常规程度和极端程度,同时还考虑了其他评估程度下的工时消耗情况,可见本申请方案更能准确进行项目工期的测算,且更能反映项目工期的实际情况,有更广的应用范围。
图4是本发明实施例中提供的另一种软件项目工期评测方法的流程图。本申请实施例在上述实施例的基础上进行优化,本申请实施例可以与上述一个或者多个实施例中各个可选方案结合。如图4所示,本实施例中提供的软件项目工期评测方法,可包括以下步骤:
S410、在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图。
S420、确定有向无环图中各个任务项关联的参考输入信息;参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差。
S430、依据有向无环图中每个任务项关联的参考输入信息,采用蒙特卡洛模拟法模拟得到每个任务项的模拟工时消耗。
参见图5,根据有向无环图中每个任务项关联的用于描述每个任务项的工时消耗分布的概率密度函数的均值与标准差,可以获知每个任务项的工时消耗的一个概率密度函数。基于每个任务项的概率密度函数,采用蒙特卡洛模拟法对有向无环图中的每个任务项的工时消耗进行模拟,模拟过程中产生每个任务项的模拟工时消耗。采用上述方式,采用蒙特卡洛模拟的方式模拟每个任务项的工时消耗,能够得到大量接近实际情况的项目工时投入数据,为后续进行整体工时消耗模拟提供更贴合实际的各个任务项的工时投入数据,从而使得后续整体工时消耗的模拟效果更接近实际。
S440、依据有向无环图和有向无环图中各个任务项的模拟工时消耗,计算软件项目的关键路径和关键路径的工时消耗,返回继续执行步骤S430,直至模拟次数大于预设次数。
参见图5,针对每个模拟批次,基于每批次模拟获得的有向无环图中每个任务项的模拟工时消耗,采用关键路径算法可计算有向无环图中的一条关键路径和该关键路径的工时消耗
Figure BDA0002997542260000091
并统计模拟多次后得到的关键路径。采用上述方式的好处在于,项目关键路径非常重要,现有方案只会得到一条或两条(乐观与悲观)确切的关键路径,但是项目过程中往往存在多条潜在关键路径,这些路径会被隐藏起来,在后续环节才逐渐曝露出来,是项目延期的隐患,通过上述方式可以挖掘出潜在的关键路径或关键节点,减弱项目延期的潜在风险。
S450、依据已模拟得到的软件项目的关键路径和关键路径的工时消耗,计算得到软件项目的整体工时消耗结果;其中整体工时消耗结果采用概率密度函数进行表示。
基于多次模拟得到的软件项目的关键路径和关键路径的工时消耗,计算得到软件项目工时消耗的总体概率密度函数。例如,可采用多元线性回归确定软件项目工时消耗的总体概率密度函数;或者在分布基本确定的情况下直接对软件项目工时消耗的总体概率密度函数的参数进行估计。可选地,假设软件项目整体工时消耗仍然服从正态分布的情况下,可以计算得到软件项目工时消耗的均值μtotal和标准差σtotal,进而得到软件项目工时消耗的总体概率密度函数。软件项目工时消耗的均值μtotal和标准差σtotal的计算公式如下:
Figure BDA0002997542260000092
其中,
Figure BDA0002997542260000093
为第i次模拟后,关键路径的总工时消耗,N代表模拟次数。
采用上述方式,通过对模拟数据进行汇总得到软件项目整体工时消耗的概率密度函数,该函数可用于评估特定置信区间的项目耗时,即后期测评不再依赖模拟数据集;
作为一种可选方案,在采用蒙特卡洛模拟法模拟得到每个任务项的模拟工时消耗之后,还包括:实时记录工时消耗模拟批次以及该批次工时消耗模拟中每个任务项的模拟工时消耗。
作为一种可选方案,参见图6,统计已模拟得到的软件项目的关键路径和各个任务项出现在关键路径上的频次;依据统计的关键路径与各个任务项出现在关键路径上的频次,对有向无环图进行重新绘制。
可选地,参见图6,重绘制的有向无环图中任务项出现在关键路径上的频次越大,任务项控件越大。
对于上述方案,重绘后的项目计划的有向无环图DAG,能直观地反映哪些任务项更可能处理于关键路径(即尺寸比较大的顶点)而影响软件项目整体工期,指导项目管理者有针对性的对工作计划进行调整(比如多投入资源、将大的任务进一步拆解为可并行执行的小任务等)。
可选地,参见图6,重绘制的有向无环图中任务项出现在关键路径上的频次大小以任务项控件的颜色、填充图案以及控件大小中至少一种方式进行区分。
参见图6,对多次模拟拟产生的关键路径及关键路径上的任务项节点进行统计,对项目计划DAG进行重绘,将出现在关键路径中的任务项用不同的大小表示,顶点越大表示该任务项节点出现在关键路径中的次数越多,相反任务项节点越小,表示其出现在关键路径中的次数越少,没有出现在关键路径中的任务项节点用固定大小(最小)的控件表示,重绘后的项目计划的有向无环图DAG。
对于上述方案,采用蒙特卡洛模拟方式,模拟得到每个任务项的工时消耗数据,每次模拟将得到一条关键路径,通过对这些关键路径上的工作进行统计汇总,得到关键路径工作的出现频率并归一化,并以此对任务项的控件添加不同深浅的颜色或以不同控件大小表示,以直观地反映各任务项对软件项目逾期风险的贡献。
在本实施例的一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,本实施例中提供的软件项目工期评测方法,还包括:在确定软件项目的整体工时消耗的概率密度函数后,依据概率密度函数确定给定置信区间下的软件项目的整体工时消耗的置信区间。
基于特定置信度,完成对的软件项目整体工时消耗的估计,项目管理者非常关心项目最有可能完成的时间点是多少,或者消息的总资源是多少,区间估计是一个不错的方法。可选地,采用区间估计的方法,以软件项目总体工时消耗为待估计的总体参数,以多次模拟(相当于采样)产生的数据为样本参数,计算在给定置信度的情况下,工时量的置信区间。因此,将问题转换为在给定置信度α的前提下,计算工时消耗的区间(-∞,t],即总体参数有1-α的概率处于区间(-∞,t],也即项目消耗的工时有1-α的概率不超过t。t的计算方法如下:
t=utotal+Zε
其中,utotal是样本均值,Z可通过查询正态分布表得到,ε为样本的标准误差。
对于上述可选方案,采用了区间估计的相关方法,可基于一定置信度计算项目工时消耗的置信区间,能更精确反映项目情况,能广泛地应用于项目成本控制、项目风险管理等场景,实现在给定置信区间内评估软件项目工期及是否有逾期风险。
在本实施例的一种可选方案中,可以与上述一个或者多个实施例中各个可选方案结合。其中,在依据有向无环图以及有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟之前,还可包括以下步骤B1-B2:
步骤B1、将有向无环图中任务项工时消耗相互独立且有向连接的至少两个任务项进行合并简化,得到包括至少一个合并任务项的新的有向无环图。
步骤B2、依据有向无环图中各个任务项关联的参考输入信息,对新的有向无环图中各个任务项关联的参考输入信息进行更新。
参见图7,针对图中示出的各个任务项的工时消耗事件相互独立性,在模拟前可根据需要,对入度不大于1的任务项节点进行适当合并,以减少模拟数据的生产,得出简化后项目计划有向无环图DAG,合并之后的顶点服从的分布为N(μmergedmerged),其中,
Figure BDA0002997542260000121
依此对合并任务项节点重新计算均值与标准差,简化后的DAG图,节点更少,意味着需要被模拟的任务更少,可以提高后续模拟速度。
对于上述可选方案,对软件项目计划的有向无环图DAG的部分任务项节点进行合并处理,减少了后续数据生成,提高了蒙特卡洛模拟执行速度。
根据本发明实施例中提供的软件项目工期评测方法,在对项目工作计划中每项任务的工时消耗进行评估,采用了概率密度函数的方式进行评估,本申请方案对任务项的工时消耗进行评估时采用了概率密度函数济宁评估,而非评估成了一个或两个(乐观工时与悲观工时)精确值,与单一数值或乐观悲观值进行评估的方法相比,不仅能反映通常情况或两种较极端情况下资源需求,即不仅限于评估常规程度和极端程度,同时还考虑了其他评估程度下的工时消耗情况,可见本申请方案更能准确进行项目工期的测算,且更能反映项目工期的实际情况,有更广的应用范围。
图8是本发明实施例中提供的一种软件项目工期评测装置的结构图。本发明实施例可适用于对软件项目工期进行测算的情况。该装置可以采用软件和/或硬件的方式来实现,该装置可以配置于具有网络通信功能的电子设备中。如图8所示,本发明实施例中提供的软件项目工期评测装置,可包括以下:
有向无环图确定模块810,用于在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
任务项参数信息确定模块820,用于确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
项目工时消耗确定模块830,用于依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
在上述实施例的基础上,可选地,有向无环图确定模块810包括:
获取对软件项目拆解得到的各个任务项;
根据用户的连线操作,将拆解的各个任务项中存在依赖关系的两个任务项进行有向连接,得到包括至少两个任务项的有向无环图。
在上述实施例的基础上,可选地,在确定包括拆解的至少两个任务项的有向无环图之前,还包括:
对软件项目各个阶段项目工作进行拆解形成包括至少两个任务项的软件项目工作拆解结构。
在上述实施例的基础上,可选地,任务项参数信息确定模块820包括:
获取对所述有向无环图中各个任务项工时消耗的参考评估值;所述参考评估值包括最小工时消耗、正常工时消耗以及最大工时消耗;
针对每一个任务项,依据任务项工时消耗的参考评估值,基于帕累托PERF法则计算得到描述任务项工时消耗分布的概率密度函数的均值与标准差。
在上述实施例的基础上,可选地,在依据所述有向无环图以及有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟之前,还包括:
将所述有向无环图中任务项工时消耗相互独立且有向连接的至少两个任务项进行合并简化,得到包括至少一个合并任务项的新的有向无环图;
依据所述有向无环图中各个任务项关联的参考输入信息,对新的有向无环图中各个任务项关联的参考输入信息进行更新。
在上述实施例的基础上,可选地,项目工时消耗确定模块830包括:
依据所述有向无环图中每个任务项关联的参考输入信息,采用蒙特卡洛模拟法模拟得到每个任务项的模拟工时消耗;
依据所述有向无环图和所述有向无环图中各个任务项的模拟工时消耗,计算软件项目的关键路径和关键路径的工时消耗,直至模拟次数大于预设次数;
依据已模拟得到的所述软件项目的关键路径和关键路径的工时消耗,计算得到软件项目的整体工时消耗结果。
在上述实施例的基础上,可选地,采用以下公式计算软件项目的整体工时消耗结果指示的概率密度函数的均值参数与标准差参数:
Figure BDA0002997542260000151
其中,
Figure BDA0002997542260000152
为第i次模拟后,关键路径的总工时消耗,N代表模拟次数。
在上述实施例的基础上,可选地,在采用蒙特卡洛模拟法模拟得到每个任务项的模拟工时消耗之后,还包括:
实时记录工时消耗模拟批次以及该批次工时消耗模拟中每个任务项的模拟工时消耗。
在上述实施例的基础上,可选地,在确定软件项目的整体工时消耗的概率密度函数后,依据概率密度函数确定给定置信区间下的软件项目的整体工时消耗的置信区间。
在上述实施例的基础上,可选地,统计已模拟得到的所述软件项目的关键路径和各个任务项出现在关键路径上的频次;依据统计的关键路径与各个任务项出现在关键路径上的频次,对所述有向无环图进行重新绘制。
在上述实施例的基础上,可选地,重绘制的有向无环图中任务项出现在关键路径上的频次大小以任务项控件的颜色、填充图案以及控件大小中至少一种方式进行区分。
在上述实施例的基础上,可选地,任务项出现在关键路径上的频次数越大,任务项控件大小越大。
本发明实施例中所提供的软件项目工期评测装置可执行上述本发明任意实施例中所提供的软件项目工期评测方法,具备执行软件项目工期评测方法相应的功能和有益效果,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例中所提供的软件项目工期评测方法。
图9是本发明实施例中提供的一种电子设备的结构框图。如图9所示结构,本发明实施例中提供的电子设备包括:一个或多个处理器910和存储装置920;该电子设备中的处理器910可以是一个或多个,图9中以一个处理器910为例;存储装置920用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器910执行,使得所述一个或多个处理器910实现如本发明实施例中任一项所述的软件项目工期评测方法。
该电子设备还可以包括:输入装置930和输出装置940。
该电子设备中的处理器910、存储装置920、输入装置930和输出装置940可以通过总线或其他方式连接,图9中以通过总线连接为例。
该电子设备中的存储装置920作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中所提供的软件项目工期评测方法对应的程序指令/模块。处理器910通过运行存储在存储装置920中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中软件项目工期评测方法。
存储装置920可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储装置920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置920可进一步包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置930可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置940可包括显示屏等显示设备。
并且,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器910执行时,程序进行如下操作:
在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
当然,本领域技术人员可以理解,当上述电子设备所包括一个或者多个程序被所述一个或者多个处理器910执行时,程序还可以进行本发明任意实施例中所提供的软件项目工期评测方法中的相关操作。
本发明实施例中提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时用于执行软件项目工期评测方法,该方法包括:
在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例中所提供的软件项目工期评测方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式CD-ROM、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、无线电频率(RadioFrequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (15)

1.一种软件项目工期评测方法,其特征在于,包括:
在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
2.根据权利要求1所述的方法,其特征在于,确定包括拆解的至少两个任务项的有向无环图,包括:
获取对软件项目拆解得到的各个任务项;
根据用户的连线操作,将拆解的各个任务项中存在依赖关系的两个任务项进行有向连接,得到包括至少两个任务项的有向无环图。
3.根据权利要求2所述的方法,其特征在于,在确定包括拆解的至少两个任务项的有向无环图之前,还包括:
对软件项目各个阶段项目工作进行拆解形成包括至少两个任务项的软件项目工作拆解结构。
4.根据权利要求1所述的方法,其特征在于,确定所述有向无环图中各个任务项关联的参考输入信息,包括:
获取对所述有向无环图中各个任务项工时消耗的参考评估值;所述参考评估值包括最小工时消耗、正常工时消耗以及最大工时消耗;
针对每一个任务项,依据任务项工时消耗的参考评估值,基于帕累托PERF法则计算得到描述任务项工时消耗分布的概率密度函数的均值与标准差。
5.根据权利要求1所述的方法,其特征在于,依据所述有向无环图以及有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟之前,还包括:
将所述有向无环图中任务项工时消耗相互独立且有向连接的至少两个任务项进行合并简化,得到包括至少一个合并任务项的新的有向无环图;
依据所述有向无环图中各个任务项关联的参考输入信息,对新的有向无环图中各个任务项关联的参考输入信息进行更新。
6.根据权利要求1所述的方法,其特征在于,依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,包括:
依据所述有向无环图中每个任务项关联的参考输入信息,采用蒙特卡洛模拟法模拟得到每个任务项的模拟工时消耗;
依据所述有向无环图和所述有向无环图中各个任务项的模拟工时消耗,计算软件项目的关键路径和关键路径的工时消耗,直至模拟次数大于预设次数;
依据已模拟得到的所述软件项目的关键路径和关键路径的工时消耗,计算得到软件项目的整体工时消耗结果。
7.根据权利要求6所述的方法,其特征在于,采用以下公式计算软件项目的整体工时消耗结果指示的概率密度函数的均值参数与标准差参数:
Figure FDA0002997542250000021
其中,
Figure FDA0002997542250000022
为第i次模拟后,关键路径的总工时消耗,N代表模拟次数。
8.根据权利要求6所述的方法,其特征在于,在采用蒙特卡洛模拟法模拟得到每个任务项的模拟工时消耗之后,还包括:
实时记录工时消耗模拟批次以及该批次工时消耗模拟中每个任务项的模拟工时消耗。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定软件项目的整体工时消耗的概率密度函数后,依据概率密度函数确定给定置信区间下的软件项目的整体工时消耗的置信区间。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
统计已模拟得到的所述软件项目的关键路径和各个任务项出现在关键路径上的频次;
依据统计的关键路径与各个任务项出现在关键路径上的频次,对所述有向无环图进行重新绘制。
11.根据权利要求10所述的方法,其特征在于,重绘制的有向无环图中任务项出现在关键路径上的频次大小以任务项控件的颜色、填充图案以及控件大小中至少一种方式进行区分。
12.根据权利要求11所述的方法,其特征在于,任务项出现在关键路径上的频次越大,任务项控件越大。
13.一种软件项目工期评测装置,其特征在于,包括:
有向无环图确定模块,用于在软件项目拆解后,确定包括拆解的至少两个任务项的有向无环图;
任务项参数信息确定模块,用于确定所述有向无环图中各个任务项关联的参考输入信息;所述参考输入信息用于描述单个任务项工时消耗分布的概率密度函数的均值与标准差;
项目工时消耗确定模块,用于依据所述有向无环图以及所述有向无环图中各个任务项关联的参考输入信息进行工时消耗模拟,得到软件项目的整体工时消耗结果;所述整体工时消耗结果采用概率密度函数进行表示。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求1-12中任一所述的软件项目工期评测方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-12中任一所述的软件项目工期评测方法。
CN202110335766.5A 2021-03-29 2021-03-29 软件项目工期评测方法、装置、电子设备以及介质 Pending CN112907140A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110335766.5A CN112907140A (zh) 2021-03-29 2021-03-29 软件项目工期评测方法、装置、电子设备以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110335766.5A CN112907140A (zh) 2021-03-29 2021-03-29 软件项目工期评测方法、装置、电子设备以及介质

Publications (1)

Publication Number Publication Date
CN112907140A true CN112907140A (zh) 2021-06-04

Family

ID=76109346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110335766.5A Pending CN112907140A (zh) 2021-03-29 2021-03-29 软件项目工期评测方法、装置、电子设备以及介质

Country Status (1)

Country Link
CN (1) CN112907140A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003005248A2 (en) * 2001-07-05 2003-01-16 Motorola Inc Using a bayesian belief network
CN101630252A (zh) * 2009-07-07 2010-01-20 中国科学院软件研究所 一种基于过程仿真技术进行软件项目进度控制的方法
CN101770616A (zh) * 2010-02-09 2010-07-07 北京航空航天大学 一种多级协同项目计划管理方法
CN112308333A (zh) * 2020-11-12 2021-02-02 中南建筑设计院股份有限公司 一种基于随机概率的施工进度风险控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003005248A2 (en) * 2001-07-05 2003-01-16 Motorola Inc Using a bayesian belief network
CN101630252A (zh) * 2009-07-07 2010-01-20 中国科学院软件研究所 一种基于过程仿真技术进行软件项目进度控制的方法
CN101770616A (zh) * 2010-02-09 2010-07-07 北京航空航天大学 一种多级协同项目计划管理方法
CN112308333A (zh) * 2020-11-12 2021-02-02 中南建筑设计院股份有限公司 一种基于随机概率的施工进度风险控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
翁焱庆;: "贝叶斯网络在企业软件项目工期估算中的应用", 电脑迷, no. 09, 15 September 2016 (2016-09-15), pages 64 - 67 *
黄建文等: "基于贝叶斯网络的工程项目进度完工概率分析", 《数学的实践与认识》, vol. 47, no. 3, 31 March 2017 (2017-03-31), pages 87 - 93 *

Similar Documents

Publication Publication Date Title
US10628292B2 (en) Methods and systems for predicting estimation of project factors in software development
Măruşter et al. Redesigning business processes: a methodology based on simulation and process mining techniques
CA2707916C (en) Intelligent timesheet assistance
Sedigh-Ali et al. Software engineering metrics for COTS-based systems
US20110270644A1 (en) System and method to estimate the effects of risks on the time progression of projects
Avlijaš Examining the value of Monte Carlo simulation for project time management
US20070124186A1 (en) Method of managing project uncertainties using event chains
KR20060061759A (ko) 트랜잭션 기반 성능 모델을 자동 검증 및 캘리브레이션하기위한 컴퓨터 구현 방법
CN101561904B (zh) 一种基于过程数据的软件项目成本测定方法及系统
Dolbec et al. A component based software reliability model.
Bocciarelli et al. Simulation-based performance and reliability analysis of business processes
Mahmoudi et al. Earned duration management under uncertainty
US20140052431A1 (en) Supporting proactive decision-making in event-driven applications
Zaid et al. Issues in software cost estimation
CN104394039A (zh) 一种基于Sigmoid指数模型网络性能成熟度评价系统及其评价方法
Firouzi et al. Bayesian updating of copula-based probabilistic project-duration model
CN112907140A (zh) 软件项目工期评测方法、装置、电子设备以及介质
Ellis-Braithwaite et al. Modelling the strategic alignment of software requirements using goal graphs
US20150058274A1 (en) Field development plan selection system, method and program product
US20150254584A1 (en) Estimates using historical analysis
Ghafory et al. The review of software cost estimation model: SLIM
Ellis-Braithwaite et al. Towards an approach for analysing the strategic alignment of software requirements using quantified goal graphs
Kuzmina et al. Risk Analysis of the Company's Activities by Means of Simulation.
Grumbach et al. Robustness Prediction in Dynamic Production Processes—A New Surrogate Measure Based on Regression Machine Learning. Processes 2023, 11, 1267
Chakraverti et al. Modified Cocomo model for maintenance cost estimation of real time system software

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
TA01 Transfer of patent application right

Effective date of registration: 20220909

Address after: 25 Financial Street, Xicheng District, Beijing 100033

Applicant after: CHINA CONSTRUCTION BANK Corp.

Address before: 12 / F, 15 / F, 99 Yincheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120

Applicant before: Jianxin Financial Science and Technology Co.,Ltd.

TA01 Transfer of patent application right