一种智能功能点识别的软件计价方法与流程

文档序号:16929700发布日期:2019-02-22 20:09阅读:586来源:国知局
一种智能功能点识别的软件计价方法与流程

本发明涉及统计学、自然语言处理技术和机器学习领域的一种智能功能点识别的软件计价方法。



背景技术:

随着计算机软件的规模和复杂度不断增加,对软件规模进行估算和度量,已经被公认为是软件项目规范运作、成功执行的一个重要环节。有效的软件规模估算在软件开发中是非常困难的,因为软件开发所涉及的因素不仅多而且异常复杂。如果低估了软件的规模,会造成人力资源紧缺,成本超出预算,影响软件项目质量。而高估了软件规模,会造成人力资源利用不充分,整体开发效率低下。所以,正确计算和评估软件的开发规模是非常重要的。

传统的软件计价方式是用代码行分析或者专家判断来进行估算,这些都存在着不确定性和不准确性。



技术实现要素:

针对上述问题,本发明提出的一种智能功能点识别的软件计价方法能够将软件系统功能逐步往下细分至较小的组件,使得软件系统较容易被分析和估算,从而精准的识别出各种软件项目中的功能点。依靠自然语言处理技术和机器学习相结合,使得软件计价更加简单化和智能化,减少人工核算功能点的时间和精力,为用户提供详细又准确的软件估算价格。具体的,

本发明的目的是通过以下技术方案实现的一种智能功能点识别的软件计价方法,包括:对目标软件项目中的多个文件进行解析,获得相应的解析文本;根据相应的识别规则,采用自然语言处理方法对所述解析文本中的用户功能进行识别;对识别到的用户功能进行评估,获得对应所述用户功能的功能系数;根据识别到的同种类型用户功能的数量以及对应的功能系数对该类型用户功能计价;根据对多个类型用户功能的计价结果,对所述目标软件项目计价。

进一步的,在所述对目标软件项目中的多种类型文件进行解析,获得相应的解析文本前还包括:加载目标软件项目,并对目标软件项目中的多种类型文件进行管理。

更进一步的,所述对目标软件项目中的多种类型文件进行管理包括:添加或移除文件。

进一步的,在对目标软件项目中的多个文件进行解析,获得相应的解析文本中,所述解析文本按照其解析内容的各级标题、章节以结构树的形式显示。

更进一步的,所述结构树包括:用于选取具有用户功能识别需要的文本内容;用于对识别到的用户功能进行查看。

进一步的,在根据相应的识别规则,采用自然语言处理方法对所述解析文本中的用户功能进行识别前还包括:根据所述目标软件项目,建立相应的字典词库;根据建立的字典词库,制定识别规则;采用样本对用户功能的识别过程进行训练。

更进一步的,所述字典词库用于通过自然语言处理方法对所述识别规则的匹配识别。

更进一步的,所述用户功能包括:内部逻辑文件、外部接口文件,外部输入、外部输出和外部查询。

更进一步的,所述识别规则包括:名词主语前包括:创建、建立、形成或制定等词汇的匹配,可识别为内部逻辑文件;名词主语前包括:引用、利用、根据或参考等词汇的匹配,可识别为外部接口文件;谓语包括:接收、检测、采集、读取等词汇的匹配,可识别为外部输入;谓语包括:计算出、输出、打印、导出等词汇的匹配,可识别为外部输出;谓语包括:查询、显示、排序、筛选等词汇的匹配,可识别为外部查询。

进一步的,所述一种智能功能点识别的软件计价方法还包括:采用机器学习方法进行学习。

本发明的优点在于:通过本发明方法用户无需大量的审阅需求文档就能得到软件的估算计价报告;通过自然语言处理技术,分析语句的语法依赖关系和识别主谓宾等语法结构,使得通过少量样本的训练即可以实现对大规模软件项目中对用户功能的识别工作;并且在此过程中,只需要对字典词库进行简单的维护就可以对新增用户功能进行识别;此外,本发明利用机器学习的方法,对大量的识别结果数据进行分析处理,学习潜在的识别规则模式,从而自动制定识别规则方案,实现了智能化、自动化的识别。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明计价方法的工作流程图。

图2示出了本发明计价方法的准备工作流程图。

图3示出了本发明计价方法的训练过程示意图。

图4示出了本发明计价系统的结构组成图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

根据本发明的实施方式,提出了一种智能功能点识别的软件计价方法,通过构建字典词库和制定识别规则,采用自然语言识别方法对文件中的用户功能进行识别;通过给出相应功能类型的功能系数,进而对每种类型功能进行计价,最后根据项目中多种类型功能的计价获得对该目标项目的计价。此外,本发明中还引入了机器学习方法,用于自我学习。本发明的具体内容如下:

如图1所示,为本发明计价方法的工作流程图。本发明的计价方法包括:步骤001对目标软件项目中的多个文件进行解析,获得相应的解析文本;步骤002根据相应的识别规则,采用自然语言处理方法对所述解析文本中的用户功能进行识别;步骤003对识别到的用户功能进行评估,获得对应所述用户功能的功能系数;步骤004根据识别到的同种类型用户功能的数量以及对应的功能系数对该类型用户功能计价;步骤005根据对多个类型用户功能的计价结果,对所述目标软件项目计价。

具体的,在所述步骤001对目标软件项目中的多种类型文件进行解析,获得相应的解析文本前,本发明还包括:加载目标软件项目,并对目标软件项目中的文件进行管理,如,增加文件或者删除文件。此外,只有进行加载后的文件才可以进行下一步的解析操作。通过具体的解析方法对所述文件进行解析,获取文件中的内容即解析文档;本发明正是通过对解析文档中具体的用户功能的描述规则进行识别,从而确定用户功能。并且为了后续步骤,本发明在获取解析文档的过程中,按照其解析内容的各级标题、章节以结构树的形式对解析文档进行显示。通过结构树,使得用户可以方便的调取其需要查看的内容,在查看的过程中,用户可以对识别到的用户功能进行验证。此外,在进行步骤002根据相应的识别规则,采用自然语言处理方法对所述解析文本中的用户功能进行识别前,还需要进行如下准备工作:

如图2所示,为本发明计价方法的准备工作流程图。其中,准备工作包括:步骤011根据所述目标软件项目,建立相应的字典词库;步骤021根据建立的字典词库,制定识别规则;步骤031采用样本对用户功能的识别过程进行训练。更具体的,由于所述目标软件项目的针对领域不同,运行设备的不同,其用户功能的表述方式也不尽相同。因此,本发明将根据不同的软件项目建立对应的字典词库,用于通过自然语言处理方法对解析文本中的内容进行匹配识别。在建立字典词库的过程中,同时根据解析文本的内容对用户功能的识别规则进行制定。然后即可以利用所述字典词库通过自然语言识别方法对识别规则的匹配识别,进而确定具体的用户功能。在用户功能的识别过程中,所述字典词库实现了对字或词语的识别,而所述识别规则实现了对语句结构的识别,如一句话中主谓宾语的组成等。在正式进行用户功能的识别前,本发明还需采用一定量的样本对识别过程进行训练。所述步骤031具体过程如下所述:

如图3所示,为本发明计价方法的训练过程示意图。其中,训练过程包括:步骤131通过一定量的样本,对用户功能的识别过程进行训练;步骤231根据结构树对识别到的用户功能进行检验。更具体的,所述训练的目的主要是对字典词库和识别规则的训练,根据之前制定的部分识别规则和字典词库对用户功能进行识别;然后通过根据解析文本的结构树通过对识别到的用户功能进行查看验证,进而对字典词库中的内容进行修改或增加,即对字典词库进行维护;在包括训练过程中的根据识别规则对用户功能的识别过程中,本发明还引入了机器学习方法,用于对达到一定识别规模的识别结果自行构建识别规则。

训练结束后,即进行正常的用户功能识别过程。在正常的用户功能识别过程中,用户也可以对识别到的用户功能进行验证,并且进行机器学习。其中,用户功能一般分为五类包括:内部逻辑文件、外部接口文件、外部输入、外部输出和外部查询。用户功能所对应的识别规则包括:名词主语前包括:创建、建立、形成或制定等词汇的匹配,可识别为内部逻辑文件;名词主语前包括:引用、利用、根据或参考等词汇的匹配,可识别为外部接口文件;谓语包括:接收、检测、采集、读取等词汇的匹配,可识别为外部输入;谓语包括:计算出、输出、打印、导出等词汇的匹配,可识别为外部输出;谓语包括:查询、显示、排序、筛选等词汇的匹配,可识别为外部查询。当然,用户功能并不只限于上述五种类型,此外还包括一些用户自定设定的功能,如本实例中的动宾关系识别规则;主谓关系识别规则以及特定领域名词识别规则等。本发明中建立和维护的字典词库包括,动词库、名词库等等。字典词库可以增删改查。此外,所述自然语言处理技术主要用于,对解析文本的分词、词性标注和句法依存关系等。

接下来,对识别到的用户功能进行评价。对同种类型的用户功能进行评价,根据功能类型和该目标软件项目应用的领域,获得对应的功能系数,进而计算该类型功能的功能点数,其中,功能点数=同类型用户功能数×功能系数。

最后,根据该目标软件项目中的全部类型的功能点数对该软件项目进行综合功能点数统计,并根据设定好对应所述功能点的价格,对目标软件项目进行计价。此外,还可以综合除软件项目自身以外的其它非人力费用,如评测费、专用费等,从而计算整个项目的综合费用。下面将对应用本发明方法的一个系统进行说明:

如图4所示,为本发明计价系统的结构组成图。其中,本发明软件计价系统包括:文档加载解析模块,用于加载软件项目文件、对软件项目中的文件进行解析,获得相应的解析文本;识别规则配置模块,用于根据软件项目配置相应的识别规则,并采用自然语言处理方法对所述解析文本中的用户功能进行识别;功能规模估算模块,用于对最终识别到的用户功能进行评估,获得对应所述用户功能的功能系数,从而计算该类型用户功能的功能点数;软件计价模块,用于根据所述功能点数,结合调整因子和用户功能耗时对整个软件项目估算价格,并给出评估报告。其中,所述调整因子中包含了本发明方法中所述的综合除软件项目自身以外的其它非人力费用,如评测费、专用费等情况的费用调整。所述用户功能耗时用于所述功能系数的给定。

具体实施例

本实施例以应用本发明的一种智能功能点识别的软件计价方法对gnc控制器应用软件的计价为例。

导航和控制(gnc)技术主要研究航空、航天、航海、陆行各类运动体的位置、方向、轨迹、姿态的测量、控制与决策问题,是国防武器系统和民用运输系统的重要核心技术之一。gnc控制器应用软件的研发运行对空间技术及其应用来说十分关键。该软件的开发规模和复杂度达到了一个相当高的水平,对软件规模进行估算和度量的工作不容小觑,传统的软件计价方式十分繁琐且不准确,使用本发明所述的智能功能点识别的软件计价系统根据gnc控制器的开发需求来对该软件进行估算计价变得非常方便可靠。下面将简单对使用本发明方法对gnc项目中的部分处理过程进行

首先,导入gnc软件开发项目的需求规范文档,将文件加载到相应的项目目录下,分类显示文件名称、导入时间及路径,并选择好gnc控制器需求文件进行文本解析;抽取解析文本中的章节内容以树形结构的形式展现。

然后,通过已有的字典词库和识别规则的匹配,实现对需求章节中不同功能点识别。其中,可选的识别规则,如,动宾关系识别,动词为“生成并发送”,名词为“惯导参数”,对此则可以分别识别为一个内部逻辑文件(ilf)和一个外部输出(eo)。此外,对自定义规则为某特定领域名词时,则也将其识别为内部逻辑文件(ilf);又如“计算两次速率阻尼姿态”,其中“速率阻尼姿态”识别为一个内部逻辑文件(ilf),“计算两次”识别为两个外部输出(eo)。根据统计识别的结果数据,通过所述结构树点击识别结果对应的原文的句子段落,对一些和预期不符的结果进行纠正,并保存核对后结果。与此同时,对结果数据利用机器学习方法进行辅助识别操作,自动学习到属于特定的功能类型的某类短语的词组组合;在机器学习的过程中,通过用户对识别结果的调整,不断增强通过机器学习制定规则的正确性。

再然后,根据具体的用户功能类型和软件项目所应用的领域,分别给出功能系数,如:1个ilf=10个功能点,1个eif=7个功能点,1个ei=4个功能点,1个eo=5个功能点,1个eq=4个功能点,并根据功能点数=同类型用户功能数×功能系数,计算出每个用户功能类型的功能点总数,完成对目标软件项目的本身的计价。

最后,根据设定的规模调整因子和功能点耗时率计算软件项目的综合费用,加上测评费、专用费、差旅费、会议费、专家咨询费等非人力成本和软件利润,计算最终的软件总价,并生成估算计价报告。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1