CN103577195A - 一种软件需求分析量化方法及系统 - Google Patents
一种软件需求分析量化方法及系统 Download PDFInfo
- Publication number
- CN103577195A CN103577195A CN201310566545.4A CN201310566545A CN103577195A CN 103577195 A CN103577195 A CN 103577195A CN 201310566545 A CN201310566545 A CN 201310566545A CN 103577195 A CN103577195 A CN 103577195A
- Authority
- CN
- China
- Prior art keywords
- sample
- sorter
- characteristic attribute
- basic process
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000004458 analytical method Methods 0.000 title claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 77
- 238000012549 training Methods 0.000 claims abstract description 57
- 238000011161 development Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims description 59
- 238000012360 testing method Methods 0.000 claims description 39
- 238000013139 quantization Methods 0.000 claims description 8
- 230000003203 everyday effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
一种软件需求分析量化方法及系统,包括:样本获取模块以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定;分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器;分类模块在确定软件需求划分成的基本过程的各项特征属性取值后,利用所述分类器进行分类,得到相应的输出类别即开发时间。本发明利用历史数据生成分类器,并引入功能点所属模块类型的特征,可以更为准确地估算软件开发时间,对量化软件开发过程,控制软件生命周期有良好效果。
Description
技术领域
本发明涉及软件需求分析量化,更具体地,涉及一种与功能点分析法(FPA:function point analysis)相关的需求分析量化方法及系统。
背景技术
FPA主要解决如何对软件规模进行度量的问题。FPA由IBM的工程师Allan Albrech于20世纪70年代提出,随后被国际功能点用户协会(IFPUG:The International Function Point Users’Group)提出的IFPUG方法继承。功能点估算(Function Point Estimation)是FPA演化而来的一种用来估算项目大小的技术。经由ISO组织,已经有多种功能点估算方法成为国际标准,如:Alain Abran等人提出的全面功能点法,英国软件度量协会提出的IFPUG功能点法,软件度量共同协会提出的COSMIC-FFP法等等。随着FPA的广泛使用,IFPUG成立了认证委员会,对FPA领域专业技术人员的水平进行认证。
一个功能点用一定规模的系统数据(内部逻辑文件(ILF)和外部接口文件(EIF))及其处理(外部输入(EI)、外部输出(EO)和外部查询(EQ))来表征,它囊括了为实现特定功能所固有和必需的需求分析、系统设计、编写文档和测试用例、编码、测试、部署、调优、培训等工作。
现有的功能点估算方法包括以下步骤:
a)界定的软件范围;
b)将软件分解为可以被单独估算的功能点;
c)根据功能点的类型、规模和复杂度计算原始功能点数;
功能点可以分为两类:数据功能点和事务功能点。数据功能点的规模可以用ILF和EIF的数量来表征,事务功能点的规模可以用EI、EO和EQ的数量来表征。而ILF和EIF的复杂度根据其包含的数据元素类型(DET)和记录元素类型(RET)的数目查表得到,EI、EO和EQ的复杂度根据其包含的DET和引用文件类型(FTR)的数目查表得到。每一功能点的原始功能点数FP=Σ各个复杂度等级的信息域数量×加权值,其中,复杂度等级分为高、中、低三个等级,ILF、EIF、EI、EO和EQ构成5种信息域,某一复杂度等级的信息域的加权值可以查表得到。
d)确定调整因子;
e)根据公式计算用调整因子调整后的功能点数。
然后,用计算出的总功能点数除以估算的每人每月可以完成的功能点数,即可得估算出软件开发时间。
但上述估算方法在计算原始功能点数时,过多依靠专家的项目经验所得的表格,没有考虑到功能点所属模块类型的影响,也没有对历史数据进行适当和充分的利用,以此估算得到的软件开发时间不够准确。
发明内容
本发明要解决的技术问题是提供一种更为准确的软件需求分析量化方法及系统。
为了解决上述问题,本发明提供了一种软件需求分析量化方法,包括:
以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定,所述特征属性包括信息域类型、功能复杂度属性、所属模块属性和开发人员属性;
利用获取的样本作为训练样本训练分类器模型,生成分类器;
确定软件需求划分成的基本过程的各项特征属性取值,利用所述分类器进行分类,得到相应的输出类别即开发时间。
较佳地,
所述分类器为朴素贝叶斯分类器;
所述利用获取的样本作为训练样本训练分类器模型,生成分类器,包括:计算出每个输出类别在训练样本中出现的概率,以及对于每一特征属性,计算出该特征属性的每一特征属性值在每一输出类别下的条件概率。
较佳地,
如基本过程的信息域类型为内部逻辑文件ILF或外部接口文件EIF,功能复杂度属性用数据元素类型DET和记录元素类型RET的数量表征;如基本过程的信息域类型为外部输入EI、外部输出EO或外部查询EQ,功能复杂度属性用数据元素类型DET和引用文件类型FTR的数量表征;
所述所属模块属性根据软件需求所属行业的业务功能划分确定;
所述人员属性包括如开发人员的年龄、学历、性别、开发经验、每日或每周工作时间,及使用的语言中的一种或多种。
较佳地,
所述待分类项的特征属性值根据历史数据中基本过程的特征属性的取值确定,包括:
直接将历史数据中基本过程的特征属性的取值作为待分类项的特征属性值,或者,先将历史数据中基本过程的特征属性的取值划分为多个数值区间,将每一个数值区间作为待分类项的一特征属性值。
较佳地,
所述利用获取的样本作为训练样本训练分类器模型,生成分类器之后,还包括:
利用获取的另一部分样本作为测试样本,使用生成的分类器对所述测试样本进行分类并判断分类结果的错误率是否超出设定的阈值,如不超过,则分类器可以使用,如超过,则对所述分类器进行优化处理,然后利用测试样本重新进行测试。
相应地,本发明提供了一种软件需求分析量化系统,包括:
样本获取模块,用于以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定,所述特征属性包括信息域类型、功能复杂度属性、所属模块属性和开发人员属性;
分类器生成模块,用于利用获取的样本作为训练样本训练分类器模型,生成分类器;
分类模块,用于确定软件需求划分成的基本过程的各项特征属性取值,利用所述分类器进行分类,得到相应的输出类别即开发时间。
较佳地,
所述分类器生成模块生成的是朴素贝叶斯分类器;
所述分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器,包括:根据所述训练样本,计算出每个输出类别在训练样本中出现的概率,以及对于每一特征属性,计算出该特征属性的每一特征属性值在每一输出类别下的条件概率。
较佳地,
所述样本获取模块获取分类器的样本时,如基本过程的信息域类型为内部逻辑文件ILF或外部接口文件EIF,功能复杂度属性用数据元素类型DET和记录元素类型RET的数量表征;如基本过程的信息域类型为外部输入EI、外部输出EO或外部查询EQ,功能复杂度属性用数据元素类型DET和引用文件类型FTR的数量表征;
所述所属模块属性根据软件需求所属行业业务功能的模块划分确定;
所述人员属性包括如开发人员的年龄、学历、性别、开发经验、每日或每周工作时间,及使用的语言中的一种或多种。
较佳地,
所述样本获取模块在获取样本时,直接采用历史数据中基本过程的特征属性的取值作为待分类项的特征属性值,或者,先将历史数据中基本过程的特征属性的取值划分为多个数值区间,将每一个数值区间作为待分类项的一特征属性值。
较佳地,
所述分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器之后,还利用获取的另一部分样本作为测试样本,使用生成的分类器对所述测试样本进行分类并判断分类结果的错误率是否超出设定的阈值,如不超过,则分类器可以使用,如超过,则对所述分类器进行优化处理,然后利用测试样本重新进行测试。
上述方案引用数据挖掘技术的分类算法如朴素贝叶斯分类算法,利用历史数据生成分类器,并引入功能点所属模块类型的特征,可以更为准确地估算软件开发时间,对量化软件开发过程,控制软件生命周期有良好效果。在生成分类器的过程中,可以通过测试分类器输出数据并与历史数据做比较分析,修正选择的功能点输入特征,将量化的误差控制在一定范围内。
附图说明
图1是本发明实施例方法的流程图;
图2是本发明实施例系统的模块图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
其中,P(h)代表没有训练数据前假设h拥有的初始概率,即h的先验概率。P(D|h)代表假设h成立时D发生的概率。P(h|D)被称为h的后验概率,即给定训练数据D时h发生的概率。
朴素贝叶斯算法的基本思想是对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。即对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
朴素贝叶斯分类算法定义:
设x={a1,a2,...am}是一个待分类项,每个a是x的一种特征属性,一种特征属性可以有多种取值,类别集合C={y1,y2,...yn},计算P(y1|x),P(y2|x),...P(yn|x),如果P(yk|x)=max{P(y1|x),P(y2|x),...P(yn|x)},则x∈yk。
由贝叶斯定理:
即P(x|yi)P(yi)取最大值的分类就是x所属分类。
本实施例基于朴素贝叶斯分类算法量化需求功能点的方法如图1所示,包括:
步骤110,以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定,所述特征属性包括信息域类型、功能复杂度属性、所属模块属性和开发人员属性;
基本过程(Elementary Process)是IFPUG算法中的重要概念,其定义是:将功能分解为最小活动单元,使其:1)对用户有意义,2)构成一个完整的事务,3)自包含,4)使应用的业务保持持续状态。IFPUG算法中,软件需求划分为数据功能和事务功能,数据功能可分解为ILF和EIF两种信息域类型的基本过程,事务功能可分解为EI、EO和EQ三种信息域类型的基本过程,而对于每个基本过程,只能是五种信息域类型中的一种。例如,对于事务功能:“2G3G融合业务客服阶段改造”,可以分解为“在用产品查询功能”、“用户订购产品”、“用户变更产品”和“用户取消产品”4个基本过程,其中,“在用产品查询功能”的信息域类型为EQ,其他3个基本过程的信息域类型均为EI。
功能复杂度属性可以用FPA中的复杂度估算方法,但为了得到更准确的分类结果,本实施例采用以下方式:如基本过程的信息域类型为ILF或EIF,功能复杂度属性用DET和RET的数量表征,如基本过程的信息域类型为EI、EO和EQ,功能复杂度属性用DET和FTR的数量表征。
所属模块属性根据软件所属行业的业务功能的模块划分确定,例如,对通信行业业务功能划分的模块可以为:营业受理模块、帐务处理模块、账务管理模块、计费处理模块、信用控制模块、统一接口模块、客户管理模块、渠道管理模块和统计报表模块或其中的一种或多种。本发明对业务功能的模块划分并不拘泥于任何一种固定的模式,可以根据实际需要灵活设置。
人员属性是开发人员的相关属性,如开发人员的年龄、学历、性别、开发经验、每日或每周工作时间和使用的语言等属性中的一种或多种。
本实施例的分类器采用朴素贝叶斯分类器,但也可以采用其他类型的分类器,只要可以根据特征属性值来得到开发时间即可。
待分类项的特征属性值可以直接采用历史数据中基本过程的特征属性的取值,也可以进行一些转换。如,为了增强分类效果,减少分类和训练时间,可以将历史数据中基本过程的特征属性的取值划分为多个数值区间,将每一个数值区间作为待分类项的一特征属性值。为了方便计算,待分类项中的特征属性值较佳用数值来表示,如特征属性值的表示形式为数值区间或汉字时,运算时可以改用一个相应的数值表示(并非改变特征属性值)。
下面以某个基本过程为例,给出从历史数据获取待分类项物特征属性值的几个示例:
例如,
待分类项中,信息域类型用a1表示,5种信息域类型ILF、EIF、EI、EO和EQ的特征属性值分别用数值1,2,3,4,5表示。如该基本过程的信息域类型为ILF,则a1=1。
待分类项中,DET和RET的数量分别用a2,a3表示,如该基本过程包含的DET=12,RET=26,则a2=12,a3=26,a2,a3可以设定上限值。在另一实施例中,可以将DET和RET的数量划分为多个区间,如划分为[1,3],[4,6],[7,12]……,各区间再用数值1,2,3,……表示。
待分类项中,所属模块属性用a4表示,上述通信行业的14个模块的特征属性值分别用1,2,3,……14表示。如该基本过程属于营业受理模块,则a4=1。
待分类项中,开发人员的年龄用a5表示,可以划分为多个年龄段:[16,20],[21,25],[26,30],...[46,50],分别用数值1,2,3,…,7表示。如该基本过程的开发人员年龄在25岁,则a5=2。
其他特征属性可以按照类似方法来确定其特征属性值,不再赘述。
历史数据中记录基本过程的开发时间可以直接作为分类器的输出类别,也可以增大其粒度,原开发时间用每人天表示时,可以改用每人周表示,如将开发时间区间:[1,6],[7,13],[14,20],…,[210,216],[217,+∞]分别对应于[1,2,3,…,31]上的相应整数,则输出类别的集合C={y1,y2,...yn}={1,2,...31}。假定某基本过程的开发时间为210,单位为每人天,则输出类别可表示为30,单位为每人周。
分类器的错误率随训练样本的增大而减小。
步骤120,将获取的样本作为训练样本训练分类器模型,生成分类器;
生成分类器时,需要根据训练样本计算出每个输出类别yi在训练样本中出现的概率P(yi),对于每一特征属性,计算出该特征属性的每一特征属性值在每一输出类别下的条件概率。
例如,共选取30000条训练样本,其中,输出类别为2的有1000条,则P(yi=2)=1000/30000=3.3%,如输出类别为2的训练样本中,信息域类型取值a1=1的有200条,则P(a1=1|yi=2)=200/1000=20%,信息域类型取值a1=2的有50条,则P(a1=2|yi=2)=50/1000=5%,。
步骤130,确定软件需求划分成的基本过程的各项特征属性取值,利用所述分类器进行分类,得到相应的输出类别即开发时间。
分类时,根据公式:
计算出P(x|yi)P(yi)取最大值的输出类别yi,就是x所属的输出类别。其中,a1,a2,...am的值根据基本过程的相应特征属性的取值确定,在步骤120中已有说明,这里不再赘述。
得到针对各个基本过程估算的开发时间后,将软件需求包括的各基本过程的开发时间相加即可得到该软件需求的总的开发时间。当然还可以结合一些其他的因素再做一些调整。
在另一实施例中,为了对估算的开发时间和实际开发时间之间的误差进行控制,在步骤120之后,可以测试分类器错误率,对分类器进行优化。以减小分类器的错误率,达到误差可控的效果。
具体地,对于在步骤120中根据历史数据获取的样本,一部分用于步骤130的训练,一部分则用作测试样本,训练集和测试集的划分可以按照3:1进行,如以30000条样本为训练样本,可以10000条样本为测试样本。生成分类器后,利用测试样本的测试结果计算分类结果的错误率:该错误率等于测试结果中错误分类的样本数与测试样本总数的比值。如果错误率小于等于阈值,则表示分类效果是满意的,分类器可以使用;如果错误率超出设定的阈值(例如,错误率阈值设为d%,d=4),则可以通过增加用于训练的样本数,删除、改变、增加特征属性,改变特征属性取值的粒度等一种或多种方法对分类器进行优化,然后利用测试样本重新进行上述测试。
上述测试分类器错误率,对分类器进行优化的过程还可以采用N折交叉校验的方式:把从历史数据获取的样本分成N份(N可以为3、5、10等),然后每次取其中的N-1份训练,1份测试,这样进行N次测试,把每次错误率结果相加再除以N,得到的平均错误率作为分类结果的错误率。如果该错误率小于等于阈值,则分类器可以使用;如果错误率超出设定的阈值,则对分类器进行优化,然后利用测试样本重新进行上述测试。
相应地,本实施例的软件需求分析量化系统如图2所示,包括:
样本获取模块10,用于以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定,所述特征属性包括信息域类型、功能复杂度属性、所属模块属性和开发人员属性;
分类器生成模块20,用于利用获取的样本作为训练样本训练分类器模型,生成分类器;
分类模块30,用于确定软件需求划分成的基本过程的各项特征属性取值,利用所述分类器进行分类,得到相应的输出类别即开发时间。
较佳地,所述分类器生成模块生成的是朴素贝叶斯分类器;所述分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器,包括:根据所述训练样本,计算出每个输出类别在训练样本中出现的概率,以及对于每一特征属性,计算出该特征属性的每一特征属性值在每一输出类别下的条件概率。
较佳地,所述样本获取模块获取分类器的样本时,如基本过程的信息域类型为内部逻辑文件ILF或外部接口文件EIF,功能复杂度属性用数据元素类型DET和记录元素类型RET的数量表征;如基本过程的信息域类型为外部输入EI、外部输出EO或外部查询EQ,功能复杂度属性用数据元素类型DET和引用文件类型FTR的数量表征;所述所属模块属性根据软件需求所属行业业务功能的模块划分确定;所述人员属性包括如开发人员的年龄、学历、性别、开发经验、每日或每周工作时间,及使用的语言中的一种或多种。
较佳地,所述样本获取模块在获取样本时,直接采用历史数据中基本过程的特征属性的取值作为待分类项的特征属性值,或者,先将历史数据中基本过程的特征属性的取值划分为多个数值区间,将每一个数值区间作为待分类项的一特征属性值。
较佳地,所述分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器之后,还利用获取的另一部分样本作为测试样本,使用生成的分类器对所述测试样本进行分类并判断分类结果的错误率是否超出设定的阈值,如不超过,则分类器可以使用,如超过,则对所述分类器进行优化处理,然后利用测试样本重新进行测试。
另模块的相关说明请参照流程中相应的步骤说明。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件需求分析量化方法,包括:
以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定,所述特征属性包括信息域类型、功能复杂度属性、所属模块属性和开发人员属性;
利用获取的样本作为训练样本训练分类器模型,生成分类器;
确定软件需求划分成的基本过程的各项特征属性取值,利用所述分类器进行分类,得到相应的输出类别即开发时间。
2.如权利要求1所述的方法,其特征在于:
所述分类器为朴素贝叶斯分类器;
所述利用获取的样本作为训练样本训练分类器模型,生成分类器,包括:计算出每个输出类别在训练样本中出现的概率,以及对于每一特征属性,计算出该特征属性的每一特征属性值在每一输出类别下的条件概率。
3.如权利要求2所述的方法,其特征在于:
如基本过程的信息域类型为内部逻辑文件ILF或外部接口文件EIF,功能复杂度属性用数据元素类型DET和记录元素类型RET的数量表征;如基本过程的信息域类型为外部输入EI、外部输出EO或外部查询EQ,功能复杂度属性用数据元素类型DET和引用文件类型FTR的数量表征;
所述所属模块属性根据软件需求所属行业的业务功能划分确定;
所述人员属性包括如开发人员的年龄、学历、性别、开发经验、每日或每周工作时间,及使用的语言中的一种或多种。
4.如权利要求1或2或3所述的方法,其特征在于:
所述待分类项的特征属性值根据历史数据中基本过程的特征属性的取值确定,包括:
直接将历史数据中基本过程的特征属性的取值作为待分类项的特征属性值,或者,先将历史数据中基本过程的特征属性的取值划分为多个数值区间,将每一个数值区间作为待分类项的一特征属性值。
5.如权利要求1或2或3所述的方法,其特征在于:
所述利用获取的样本作为训练样本训练分类器模型,生成分类器之后,还包括:
利用获取的另一部分样本作为测试样本,使用生成的分类器对所述测试样本进行分类并判断分类结果的错误率是否超出设定的阈值,如不超过,则分类器可以使用,如超过,则对所述分类器进行优化处理,然后利用测试样本重新进行测试。
6.一种软件需求分析量化系统,其特征在于,包括:
样本获取模块,用于以基本过程为分类对象,获取分类器的样本,每一样本中,待分类项的特征属性值根据历史数据中一基本过程的特征属性的取值确定,输出类别根据历史数据中该基本过程的开发时间确定,所述特征属性包括信息域类型、功能复杂度属性、所属模块属性和开发人员属性;
分类器生成模块,用于利用获取的样本作为训练样本训练分类器模型,生成分类器;
分类模块,用于确定软件需求划分成的基本过程的各项特征属性取值,利用所述分类器进行分类,得到相应的输出类别即开发时间。
7.如权利要求6所述的系统,其特征在于:
所述分类器生成模块生成的是朴素贝叶斯分类器;
所述分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器,包括:根据所述训练样本,计算出每个输出类别在训练样本中出现的概率,以及对于每一特征属性,计算出该特征属性的每一特征属性值在每一输出类别下的条件概率。
8.如权利要求7述的系统,其特征在于:
所述样本获取模块获取分类器的样本时,如基本过程的信息域类型为内部逻辑文件ILF或外部接口文件EIF,功能复杂度属性用数据元素类型DET和记录元素类型RET的数量表征;如基本过程的信息域类型为外部输入EI、外部输出EO或外部查询EQ,功能复杂度属性用数据元素类型DET和引用文件类型FTR的数量表征;
所述所属模块属性根据软件需求所属行业业务功能的模块划分确定;
所述人员属性包括如开发人员的年龄、学历、性别、开发经验、每日或每周工作时间,及使用的语言中的一种或多种。
9.如权利要求6或7或8述的系统,其特征在于:
所述样本获取模块在获取样本时,直接采用历史数据中基本过程的特征属性的取值作为待分类项的特征属性值,或者,先将历史数据中基本过程的特征属性的取值划分为多个数值区间,将每一个数值区间作为待分类项的一特征属性值。
10.如权利要求6或7或8述的系统,其特征在于:
所述分类器生成模块利用获取的样本作为训练样本训练分类器模型,生成分类器之后,还利用获取的另一部分样本作为测试样本,使用生成的分类器对所述测试样本进行分类并判断分类结果的错误率是否超出设定的阈值,如不超过,则分类器可以使用,如超过,则对所述分类器进行优化处理,然后利用测试样本重新进行测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310566545.4A CN103577195B (zh) | 2013-11-14 | 2013-11-14 | 一种软件需求分析量化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310566545.4A CN103577195B (zh) | 2013-11-14 | 2013-11-14 | 一种软件需求分析量化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103577195A true CN103577195A (zh) | 2014-02-12 |
CN103577195B CN103577195B (zh) | 2016-10-12 |
Family
ID=50049044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310566545.4A Active CN103577195B (zh) | 2013-11-14 | 2013-11-14 | 一种软件需求分析量化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103577195B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809985A (zh) * | 2014-03-06 | 2014-05-21 | 吕建 | 一种软件开发方案的生成方法及系统 |
CN103927675A (zh) * | 2014-04-18 | 2014-07-16 | 北京京东尚科信息技术有限公司 | 判断用户年龄段的方法及装置 |
CN104598249A (zh) * | 2015-02-05 | 2015-05-06 | 浙江天正信息科技有限公司 | 多租户感知的软件个性化定制与部署方法 |
CN104978268A (zh) * | 2015-07-03 | 2015-10-14 | 上海沃恩信息科技有限公司 | 软件功能点实时自动化分析方法 |
CN106022374A (zh) * | 2016-05-18 | 2016-10-12 | 中国农业银行股份有限公司 | 一种对历史流程数据进行分类的方法及装置 |
CN106649079A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 软件系统测试需求评估方法及装置 |
CN106648613A (zh) * | 2016-10-31 | 2017-05-10 | 中国银行股份有限公司 | 一种fpac功能点估算书自动生成方法及装置 |
CN108874667A (zh) * | 2018-05-31 | 2018-11-23 | 中国联合网络通信集团有限公司 | 软件后评价方法及装置 |
CN109375948A (zh) * | 2018-09-27 | 2019-02-22 | 华东师范大学 | 一种智能功能点识别的软件计价方法 |
CN111124489A (zh) * | 2019-12-31 | 2020-05-08 | 浙江工业大学 | 一种基于bp神经网络的软件功能点数估算方法 |
CN111213146A (zh) * | 2017-10-13 | 2020-05-29 | 日本电信电话株式会社 | 伪数据生成装置、其方法和程序 |
CN111274817A (zh) * | 2020-01-16 | 2020-06-12 | 北京航空航天大学 | 一种基于自然语言处理技术的智能化软件成本度量方法 |
CN112181490A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 功能点评估法中功能类别的识别方法、装置、设备及介质 |
CN112633370A (zh) * | 2020-12-22 | 2021-04-09 | 中国医学科学院北京协和医院 | 一种针对丝状真菌形态的检测方法、装置、设备及介质 |
CN113010420A (zh) * | 2021-03-05 | 2021-06-22 | 南方科技大学 | 一种促进测试代码与产品代码协同演化的方法及终端设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6550053B1 (en) * | 1999-04-21 | 2003-04-15 | International Computers Limited | Time estimator for object oriented software development |
US20050210442A1 (en) * | 2004-03-16 | 2005-09-22 | Ramco Systems Limited | Method and system for planning and control/estimation of software size driven by standard representation of software structure |
-
2013
- 2013-11-14 CN CN201310566545.4A patent/CN103577195B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6550053B1 (en) * | 1999-04-21 | 2003-04-15 | International Computers Limited | Time estimator for object oriented software development |
US20050210442A1 (en) * | 2004-03-16 | 2005-09-22 | Ramco Systems Limited | Method and system for planning and control/estimation of software size driven by standard representation of software structure |
Non-Patent Citations (5)
Title |
---|
代余彪: ""基于神经网络的功能点分析"", 《中国科技信息》, 15 May 2013 (2013-05-15) * |
崔正斌: ""软件可靠性预测技术研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 February 2012 (2012-02-15) * |
段晶: ""朴素贝叶斯分类及其应用研究"", 《中国优秀硕士论文全文数据库 信息科技辑》, 15 September 2011 (2011-09-15) * |
申烨晔等: ""基于UML技术的功能点度量研究与应用"", 《微计算机信息》, vol. 26, no. 33, 25 March 2010 (2010-03-25) * |
费娜: ""功能点分析方法在外包项目管理中的应用研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 January 2012 (2012-01-15) * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809985A (zh) * | 2014-03-06 | 2014-05-21 | 吕建 | 一种软件开发方案的生成方法及系统 |
CN103927675A (zh) * | 2014-04-18 | 2014-07-16 | 北京京东尚科信息技术有限公司 | 判断用户年龄段的方法及装置 |
CN103927675B (zh) * | 2014-04-18 | 2017-07-11 | 北京京东尚科信息技术有限公司 | 判断用户年龄段的方法及装置 |
CN104598249A (zh) * | 2015-02-05 | 2015-05-06 | 浙江天正信息科技有限公司 | 多租户感知的软件个性化定制与部署方法 |
CN104598249B (zh) * | 2015-02-05 | 2017-09-01 | 浙江天正信息科技有限公司 | 多租户感知的软件个性化定制与部署方法 |
CN104978268A (zh) * | 2015-07-03 | 2015-10-14 | 上海沃恩信息科技有限公司 | 软件功能点实时自动化分析方法 |
CN104978268B (zh) * | 2015-07-03 | 2017-12-05 | 上海沃恩信息科技有限公司 | 软件功能点实时自动化分析方法 |
CN106649079A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 软件系统测试需求评估方法及装置 |
CN106649079B (zh) * | 2015-11-03 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 软件系统测试需求评估方法及装置 |
CN106022374B (zh) * | 2016-05-18 | 2019-07-09 | 中国农业银行股份有限公司 | 一种对历史流程数据进行分类的方法及装置 |
CN106022374A (zh) * | 2016-05-18 | 2016-10-12 | 中国农业银行股份有限公司 | 一种对历史流程数据进行分类的方法及装置 |
CN106648613A (zh) * | 2016-10-31 | 2017-05-10 | 中国银行股份有限公司 | 一种fpac功能点估算书自动生成方法及装置 |
CN106648613B (zh) * | 2016-10-31 | 2019-11-29 | 中国银行股份有限公司 | 一种fpac功能点估算书自动生成方法及装置 |
CN111213146A (zh) * | 2017-10-13 | 2020-05-29 | 日本电信电话株式会社 | 伪数据生成装置、其方法和程序 |
CN111213146B (zh) * | 2017-10-13 | 2024-05-03 | 日本电信电话株式会社 | 伪数据生成装置、其方法和记录介质 |
CN108874667A (zh) * | 2018-05-31 | 2018-11-23 | 中国联合网络通信集团有限公司 | 软件后评价方法及装置 |
CN109375948A (zh) * | 2018-09-27 | 2019-02-22 | 华东师范大学 | 一种智能功能点识别的软件计价方法 |
CN111124489A (zh) * | 2019-12-31 | 2020-05-08 | 浙江工业大学 | 一种基于bp神经网络的软件功能点数估算方法 |
CN111124489B (zh) * | 2019-12-31 | 2023-05-23 | 浙江工业大学 | 一种基于bp神经网络的软件功能点数估算方法 |
CN111274817A (zh) * | 2020-01-16 | 2020-06-12 | 北京航空航天大学 | 一种基于自然语言处理技术的智能化软件成本度量方法 |
CN112181490A (zh) * | 2020-09-22 | 2021-01-05 | 中国建设银行股份有限公司 | 功能点评估法中功能类别的识别方法、装置、设备及介质 |
CN112633370A (zh) * | 2020-12-22 | 2021-04-09 | 中国医学科学院北京协和医院 | 一种针对丝状真菌形态的检测方法、装置、设备及介质 |
CN113010420A (zh) * | 2021-03-05 | 2021-06-22 | 南方科技大学 | 一种促进测试代码与产品代码协同演化的方法及终端设备 |
CN113010420B (zh) * | 2021-03-05 | 2023-05-30 | 南方科技大学 | 一种促进测试代码与产品代码协同演化的方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103577195B (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577195A (zh) | 一种软件需求分析量化方法及系统 | |
KR101139192B1 (ko) | 정보 필터링 시스템, 정보 필터링 방법 및 정보 필터링 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
Casati et al. | Synthetic population generation by combining a hierarchical, simulation-based approach with reweighting by generalized raking | |
WO2015187372A1 (en) | Digital event profile filters | |
CN106651057A (zh) | 一种基于安装包序列表的移动端用户年龄预测方法 | |
CN111371853B (zh) | 资源信息推送方法、装置、服务器及存储介质 | |
US10599998B2 (en) | Feature selection using a large deviation principle | |
US11948102B2 (en) | Control system for learning to rank fairness | |
Fabris et al. | Measuring fairness under unawareness of sensitive attributes: A quantification-based approach | |
CN107203772B (zh) | 一种用户类型识别方法及装置 | |
Figini et al. | Bayesian operational risk models | |
Roever et al. | Package ‘klaR’ | |
CN112085086A (zh) | 一种基于图卷积神经网络的多源迁移学习方法 | |
CN115545103A (zh) | 异常数据识别、标签识别方法和异常数据识别装置 | |
Arbel et al. | Classifier evaluation under limited resources | |
Wang et al. | Functional linear regression with mixed predictors | |
Yilmaz et al. | Multimodal data fusion in high-dimensional heterogeneous datasets via generative models | |
Alabdulmohsin et al. | A reduction to binary approach for debiasing multiclass datasets | |
CN110457469A (zh) | 基于长短期记忆网络的信息分类方法、装置、计算机设备 | |
Zhang et al. | On the absolute ruin in a MAP risk model with debit interest | |
CN111563721B (zh) | 一种适用于不同标签分布场合的邮件分类方法 | |
Jing et al. | Dynamic differential pricing of high-speed railway based on improved GBDT train classification and bootstrap time node determination | |
CN115730152A (zh) | 基于用户画像分析的大数据处理方法及大数据处理系统 | |
CN112214675B (zh) | 用户购机的确定方法、装置、设备及计算机存储介质 | |
CN110472680B (zh) | 目标分类方法、装置和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |