设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Software Engineering and Applications 软件工程与应用, 2013, 2, 62-68
http://dx.doi.org/10.12677/sea.2013.23011 Published Online June 2013 (http://www.hanspub.org/journal/sea.html)
Application of General Regression Neural Network in
Software Development Cost Estimation Based on Principle
Component Analysis
Yu-Chia Chen, Jung-Hua Lo
School of Department of Applied Informatics, Fo Guang University, Yilan
Email: jessicachen0922@gmail.com, jhlo@mail.fgu.edu.tw
Received: Mar. 18th, 2013 revised: Mar. 29th, 2013; accepted: Apr. 10th, 2013
Copyright © 2013 Yu Chia Chen, Jung-Hua Lo. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Abstract: The quality of project management and project cost are important factors affecting the success of software
projects. These critical factors for software development contain time, quality and cost. Nowadays, the most popular
method for software development cost estimation is judged by the project manager’s experience. The project manager
needs to estimate a reasonable software development cost according to the previous relevant data information of project
while facing the problem. Therefore, in this research we propose a new cost estimation model based on the Principle
Component Analysis (PCA) and General Regression Neural Network (GRNN) for software development project.
Keywords: Software Development Costs; Principle Component Analysis; General Regression Neural Network
基于主成分分析的 GRNN 在软件开发成本预测的应用
陈妤嘉,罗荣华
佛光大学信息应用学系,宜兰
Email: jessicachen0922@gmail.com, jhlo@mail.fgu.edu.tw
收稿日期:2013 年3月18 日;修回日期:2013年3月29日;录用日期:2013年4月24日
摘 要:软件项目管理的质量与开发成本,决定了软件项目的成功与否,时间、质量与成本项目的考虑,成为
了影响软件开发成本的关键性要素,项目经理在面对软件开发项目时,即需要预估合理的软件开发成本,现行
软件产业最普遍使用的软件成本预估方法,多以项目经理的经验为基础,参考过去开发过的软件项目数据作为
主观的项目预估值,本研究提出一个能运行于软件项目开发成本预测模型之研究,运用主成分分析与广义回归
类神经网络结合的一种新的预测方法。
关键词:软件开发成本;主成分分析;广义回归类神经网络
1. 引言
软件开发流程的首要步骤在于软件项目的规划,
软件开发过程通常是变动性、无法预测和动态的,其
考虑的因素有开发成本、开发时程、风险评估、人力
资源、软硬件技术与设备采购等管理活动,其中开发
成本估算,将是影响企业组织抉择是否参与该项项目
投资的关键要素,软件项目成本来自于开发成本与维
护成本,Capers Jones,Olivier Bonsignour[1]提到软件
质量牵动着企业组织能获得的商业价值和经济成本
的回馈。因此,若能使用最快的开发速度与较低的成
Copyright © 2013 Hanspub
62
基于主成分分析的 GRNN 在软件开发成本预测的应用
本,发展出较高质量的软件,将会是引颈期盼;准确
预估开发成本是有助于提升软件开发的成功率,减缓
软件开发失败的风险,并增强企业组织的竞争力,软
件开发成本管理在于决定项目期间的工作量、成本与
相关资源的适宜性问题,管理期间所进行的各项活
动,也将影响整体开发成本的配置,因此控制软件项
目开发成本,需仰赖于成本的估算。
2. 软件开发成本的预测
工作量(Effort)、成本(Cost)、开发时程(Schedule)
是软件成本衡量的重要因素,一般而言预估模式来自
于软件开发工作量的评估,以工作量多寡来衡量软件
规模(Software Size)大小,已是软件成本衡量指针
(Software Cost Metrics)的通用模式,软件开发工作量
为软件项目规划期间所耗用的人力资源,即所谓投入
人月(Person Month, PM),软件开发工作量评估方法依
据需求目的的不同,可分 为统计模式(Statistically
Based Model)与人工智能模式(Artificial Intelligence
Model),以统计模式而言,参数式预估模式(Parametric
Models)是软件开发工作量预估方法中最为常用的模
式;依据过去已开发完成软件项目的历史数据,找出
影响开发工作量的因素,再使用统计方法推论出软件
工作量的估算方程式,其中最著名与普遍性使用的是
COCOMO 统计模式衡量方法,以 COCOMO 模式在
相关文献的研究较为久远,本研究期许以 COCOMO
II 模式之软件开发工作量做为软件成本衡量的指针。
3. COCOMO II统计模式
COCOMO II (Constructive Cost Model II)统计模
型以 COCOMO 模式做为基础修正后的成本预估模型,
由Boehm ,Clark,Horowitz,Madachy ,Shelby and
Westland (1995),依据 TRW公司开发过的 63个项目
数据,并假设软件规模与发展时程属于非线性关系[2],
而且不同的开发环境有着不同的估算方式,这个方式
可以使用在衡量时程的方法,并估算软件生命周期
(Systems Development Life Cycle, SDLC)的每个阶段
要如何分配人力,也可以利用在敏感度分析(Sen-
sitivityAnalysis)的使用上,因应软件项目的不同模式行
为或变化情形,拟定不同的策略与调整成本因子[3]。
Boehm (1995)等人依据软件开发成本估算值的不
同,区分成三种不同模型有基本模型(Basic Model)、
中级模型(Intermediate Model)、详细模型(Detailed
Model),每一模型又根据软件项目的复杂程度,分为
有机型(Organic Mode)、半分离型(Semi-Detached
Mode) 及嵌入型(Embedded Mode)等三种程度,
COCOMO模式复杂度系数[4],如表 1。
Boehm, Reifer and Chulani (1998)将COCOMO II
统计模型用于软件开发成本估算,此模式区分为三个
阶段,有应用程序构成模型(Application Composition
Model)[5]、早期设计模型(Early Design Model)、后期
架构模型(Post-Architecture Stage),依据 Tadayon (2005)
完整模型采用应用程序构成模型与后期架构模型[6],
此模型包含 5个衡量要素SF (Scale Factor)与17 个成
本因子(Cost Drivers)指针,做为类神经网络的输入变
量,表 2提供了COCOMO II 早期设计模型与后期结
Table 1. COCOMO model complexity factor
表1. COCOMO模式复杂度系数
基本模式 中级模式 详细模式
模式
类型 a b a b a b
有机型 2.41.05 3.2 1.05 3.21.05
半分离型 3.01.12 3.2 1.12 3.21.12
嵌入型 3.61.20 2.8 1.20 2.81.20
Table 2. The COCOMO II Early Design with Post-Architecture
Stage structure model of the cost factor differences relationship
(Data source: Boehm, 2000)
表2. COCOMO II早期设计模型与后期结构模型成本因子差异关
系(数据源:Boehm,2000)
属性
名称
早期设计模型
成本因子 后期结构模型成本因子
软件可靠性(RELY)
数据库大小(DATA)
产品复杂度(CPLX)
开发流程需求文件的合适度(DOCU)
产品
属性
产品可靠性与
复杂度(RCPX)
程序代码重复
使用的要求
(RUSE) 可重复使用(RUSE)
运行时间的限制(TIME)
主要储存装置限制(STOR)
平台
属性
平台的困难度
(PDIF)
平台变动的程度(PVOL)
分析师的能力(ACAP)
程序设计师的能力(PCAP)
员工的流动性(PCON)
实施上的经验(AEXP)
平台的经验(PEXP)
人员
属性
人员能力
(PERS)
人员经验
(PREX)
程序语言工具的经验(LTEX)
软件工具的使用价值(TOOL)
多点开发(SITE)
项目
属性
熟练度(FCIL)
排程的执行进
度(SCED) 发展时程表(SCED)
Copyright © 2013 Hanspub 63
基于主成分分析的 GRNN 在软件开发成本预测的应用
构模型成本因子差异关系;而在软件规模则是取用程
序千行数(Kilo Lines Of Code, KLOC)方法,故此,本
研究也以此方法做为遵循的方向。
4. 主成分分析方法
1901 年由 Karl Pearson提出主成分(Principle Co-
mponent)的概念,用以观察多个变量间的关系性进行
的一种多元统计方法,1933年由 Harold Hotelling加
以发展。在大部份所进行的研究过程里,收集到的数
据可能都包含了多个变量,每个变量之间都会有一定
的相关性,而当变量过多时,要透过每个变量去解释
其对应的关系性,就会变得困难与复杂。
主成分分析(Principle Component Analysis, PCA)
方法的主要功能,利用原相关性的数据变量去组合新
的独立的线性组合变量,透过新的组合变量去解释大
部份原始数据的变异性[7],相关性较高的变量经由线
性组合后,可获得成分中较高的变异数(Variance),其
中变异数就是利用特征值(Eigenvalue)与特征向量
(Eigenvector)的方法,筛选出占最大变异数的数据,
将多个变量进行转换成主成分后,即可利用较高的主
成分去说明原始数据相关性,简而言之,即新变量的
变异数愈大,解释数据的能力也就愈强,因此,主成
分分析是最常被选用来寻找判断某种事物或某种现
象的综合指标(Metrics),对于综合指针所包含的讯息
再给予适当的解释,也可称为是一种数据简化(Data
Reduction)方法或是维度简化(Dimensional Reduction)
的方法。
5. 广义回归类神经网络
广义回归类神经网络(General Regression Neural
Network, GRNN)是由机率类神 经网络 (Probabilistic
Neural Network, PNN)所演化而来,学习策略属于监督
式学习网络(Supervised Learning Network)的一种。
1988 年D. F. Specht提出机率类神经网络,属于无迭
代式学习(One-pass Learning)算法,适合用于解决分类
(Classification)问题,而无法解决连续变量(Continuous
Va r i a b l e d) 问题。于1991 年D. F. Specht 再提出广义回
归类神经网络学习算法,此网络不仅可以做分类
(Classification)问题,更可学习一个动态模式作为控制
使用或预测使用。广义回归类神经网络主要的特性是
学习速度快,所需调整的参数也仅有一个即为平滑参
数,并且在少量的训练样本数的情况下,也可以获得
良好的预测效果。相较与其他监督式学习网络之优
点:
1) 不用初始网络链接加权值。
2) 学习过程与回想(Recall)过程不相关。
3) 不用推测的输出向量(Output Value)与训练范
例的目标输出向量的差距,来修正网络链接加权值。
4) 无迭代的学习过程(One-pass learning)。
5) 学习过程的目的是在于寻找优化平滑参数 σ
值。
6) 网络的神经元数与训练范例相关。
广义回归类神经网络架构上是一个四层神经元
结构的网络模型,如图 1所示,第一层为输入单元
(Input Unit),又称为分配单元,负责将输入向量 x测
量值分配给第二层型态单元(Patten Unit)内的所有神
经元。第二层为型态单元,每一个型态单元都代表着
一个训练范例或是一个群集中心(Cluster center),一个
新的输入向量 x测量值进入网络后,此向量会减去训
练范例的向量,两者差之平方值会进行加总,并输入
到非线性的作用函数,而作用函数出来的值,就是型
态单元的输出值。此输出值会被传送到总和单元
(Summation Unit),第三层为总和单元,型态单元有两
个输出值,分别为 Y的所有测量值乘以加权向量值的
加总以及完成加权向量的加总,第四层为输出单元
(Output Unit),为总和单元的两个输出值相除,可得
到y的估计值,如公式1。

2
2
1
2
2
1
2
ˆ
y
2
n
i
i
i
n
i
i
D
y exp
xD
exp















(1)
Figure 1. General regression neural network architecture
图1. 广义回归类神经网络架构
Copyright © 2013 Hanspub
64
基于主成分分析的 GRNN 在软件开发成本预测的应用
6. 影响软件开发成本因子指标
透过历史数据的分析或利用实验研究的方法,找
出影响软件开发成本的重要因子,本研究采用
COCOMO II统计模式做为衡量方法,依据过去已开
发完成软件项目的历史数据,找出影响开发工作量的
指标因素。
在选用成本因子指标的考虑上,以软件可靠性
(x1)、数据库大小(x2)、产品复杂度(x3)、可重复使用
(x4)、开发流程需求文件的合适度(x5)、运行时间的限
制(x6)、主要储存装置限制(x7)、平台变动的程度(x8)、
分析师的能力(x9)、程序设计师的能力(x10)、实施上的
经验(x11)、平台的经验(x12)、程序语言工具的经验(x13)、
员工的流动性(x14)、软件工具的使用价值(x15)、多点
开发(x16)、发展时程表(x17)、程序行数(x18)等作为本
研究的成本因子指标。
为了促使网络训练模式在进行预测时,不会因变
量值域过大,而影响学习效果与预测的准确度,因此
必须将值域过大的变量进行正规化(Scaling)处理,将
值域范围对应到较小的值域上,通常以采用对数正规
化方法。上述成本因子指标彼此间都具有一定的相关
性,若将所有指针都作为网络训练的输入变量,必然
会增加网络训练的复杂性,同时也有可能会影响到实
验结果的可靠性与准确性,因此,利用主成分分析方
法,将成本因子指标先进行降维处理,以提高网络运
算的效率。
7. PCA-GRNN预测模式
软件开发成本的影响因子至少存在一个以上数
据变量量,本文提出一个基于主成分分析与广义回归
类神经网络结合于软件开发成本预测的应用,经本研
究应用于软件开发成本预估之实验结果中证明,所提
出的预测模式除了在预测上有较良好的准确性,对于
学习速度上也更为提升。
本研究于软件开发成本影响成本因子指标选用
了18 个成本因子指标,每一成本因子指标彼此间都
具有一定的相关性,因此增加了网络训练的复杂性,
同时也有可能影响到实验结果的可靠性。再者当指针
变量过多时,也会影响到网络训练的学习效果,为了
提高网络学习速度,利用主成分分析方法取得 m个主
成分作为广义回归类神经网络的输入变量,再与广义
回归类神经网络结合,建构出新的预测模式,得以求
出较佳的预测效果。以软件开发成本影响因子建构新
的预测模式,利用主成分分析与广义回归类神经网络
结合(PCA-G RNN) 步骤,如图 2所示。
PCA-GRNN预测模式执行步骤,分述如下:
Step 1:将 m个原始数据变量进行标准化。标准
化函式如公式2。
mm
m
m
x
x
us

 (2)
m
x
为指标平均值; m
s
为指标的标准偏差; 为
标准化数值。
m
u
Step 2:取得相关系数的关系性。
以任意二个变数 1
x
及m
x
的相关系数 ,如公式3,
经由相关系数计算,得到相关系数矩阵,如公式4。
r
R




11
1
2
2
11
11
n
mm
i
nn
mm
ii
xxx x
r
xxx x







(3)
12 1
21 2
12
1
1
1
m
m
mm
xx xx
xx xx
xx xx
rr
rr
R
rr



















(4)
Step 3:取得特征值(Eigen Value)与特征向量
(Eigen Vector)。
特征值是反应主成分对原始变量的影响程度,简
而言之,即是传递主成分可以作为解释原始变量的
Figure 2. Principle component analysis and general regression
neural network by step
图2. 主成分分析与广义回归类神经网络结合步骤
Copyright © 2013 Hanspub 65
基于主成分分析的 GRNN 在软件开发成本预测的应用
讯息,一般情况 ,以特征值大于 1时做为选用的标准。
使用特征公式 0
mR

将相关系数矩阵 R代入
公式中,求出特征值 后,再将特征
值依照数值大小排序,即

1,2, 3,,
mi


123

m
0
m




1, 2,
m



3, ,
,
依序求出相对应的特征向量
y
im

,即
11112131
,,,,
m
y
yyy y。
Step 4:取得新主成分。
一般选用主成分的标准,为累积贡献率达到80%
以上即可做为选用的标准,但实际上仍需要视研究的
主体情况,而本研究依累积贡献率达到 88.69%做为选
用主成分的标准。
Step 5:取得各新主成分的贡献率与累积贡献率。
贡献率为新主成分在整个数值分析中的解释能
力,贡献率愈大表示解释的能力愈强,而累积贡献率
的大小则反应了可靠性强弱,累积贡献率愈大表示可
靠性愈强。
计算各新主成分 的贡献率
m
zm

与累计贡献率
公式。 m的贡献率为
m
t
z

123mi m



m
 
,
主成分 m
z的累积贡献率
12
zz
12
3
,,
3
,,z
m
t




 ,然而 m即表示为选取的主
成分的个数。
Step 6:选取主成分并依其特征值计算后,得到
各项目之主成分得分值,做为实验的范例数据集。
经由主成分分析方法得到 m (m < 18)个主成分,
并称为第1个主成分,主成分的贡献率愈大表示
对变量量的解释讯息则愈强烈,将所挑选后的主成分
作为广义回归类神经网络的训练范例数据集。
m
Step 7:将新的范例数据 集,进行数据正规化处理。
Step 8:以 2:1的比例将范例数据集,区分为训练
范例与测试范例数据。
并将 m个主成分视为网络输入变量,而软件开发
成本衡量指标通常以投入人月做为基本的衡量方式。
Step 9:选定一个特定的平滑参数σ值。
Step 10:以产生均方差(Mean Square Error, MSE)
最小的平滑参数σ值,即设定为优化的平滑参数 σ值。
Step 11:使用优化的平滑参数σ值,建构广义回
归类神经网络预测模式。
8. 范例数据收集限制
在台湾软件开发市场大部份仍属中小企业为最
多,所承接的软件规模普遍性并不大,因此在预估软
件开发成本时,几乎是采用专家判断或者是以企业组
织成员最资深的项目经理的经验做为基准,然而对于
软件开发厂商在软件项目原始码的部份,属于企业组
织保护性资产,取得资料不易,本研究参考刘子扬[6]
所提供台湾软件项目数据22 笔数据作为本实验的范
例数据,而数据源包含台北与高雄地区等三家软件厂
商,以问卷访谈方式经由厂商自行填列,取得台湾软
件项目数据后,再依照商业软件类别分类、汇整后,
得到共 22 笔台湾软件项目数据。
本研究期许能以台湾软件项目数据,透过
COCOMO II统计模式,找出影响软件开发成本因子
指标,基于主成分分析方法减化复杂度,利用广义回
归类神经网络预测模型,更加提升网络运算的速度与
准确性,以建构出新的预测模式是适合用于台湾地区
的软件现况。
9. 实例分析
以主成分分析方法将选用的18 个成本因子指标
先进行标准化处理,取得标准化后的数据相关系数的
关系性,得以计算出各指标间相关系数矩阵的特征
值、贡献率与累计贡献率,如表3。
由表 3可知,前8个主成分的累积贡献率已达
88.69%,因此,将这 8个主成分

1238
,,,,
x
xx x作为
新的综合指标替代原始的18 个成本因子指针,取得
新的范例数据集,如表4。
Table 3. Correlation coefficient matrix eigen value contribution
rate and cumulative contribution rate
表3. 相关系数矩阵特征值、贡献率与累计贡献率
PCA Eigen value Proportion Cumulative
PCA1 5.383 29.91 29.91
PCA2 2.648 14.71 44.62
PCA3 2.245 12.47 57.09
PCA4 1.680 9.33 66.42
PCA5 1.071 5.95 72.37
PCA6 1.010 5.61 77.98
PCA7 0.972 5.40 83.38
PCA8 0.955 3.11 88.69
(部份省略)
PCA15 0.101 0.56 99.52
PCA16 0.057 0.32 99.84
PCA17 0.020 0.11 99.95
PCA18 0.009 0.05 100.00
Copyright © 2013 Hanspub
66
基于主成分分析的 GRNN 在软件开发成本预测的应用
Table 4. New composite indicator sample data
表4. 新的综合指针范例数据
Input Value Out Value
专案
编号 x1 x
2 …… x8 Log
ACTMM
1 3.0033 3.3208 1.3956 1.9823
2 −4.9769 −0.0045 0.4153 1.1139
3 −5.2123 −0.5791 0.5452 1.0792
4 −2.4471 −0.2731 0.2137 1.1139
5 1.8144 1.9088 0.8009 1.2553
6 3.3280 2.1738 0.8266 1.2553
7 3.4706 4.2245 −1.0335 1.5563
8 −2.7751 −0.3231 −0.7632 0.6021
9 4.7849 −2.9871 −1.1834 0.7782
10 4.4822 −2.1856
……(略)
−0.1974 1.0792
(部份省略)
17 2.4957 −2.0333 0.7265 1.0000
18 1.5046 −3.1166 −0.4922 1.0792
19 4.3357 −3.0401 0.0895 1.1461
20 −3.1494 −2.2821 −0.3751 1.0000
21 −5.6394 2.6631 0.5761 1.1461
22 1.9627 6.7597
……(略)
−2.0013 2.0792
取得主成分数据后,即可将新的数据数据加入于
广义回归类神经网络的预测模式中,藉以得到一种新
的软件开发成本的预估方法,为了避免数据数据在进
行网络训练初期即达到饱和的状态,本研究利用
Matlab 语法将变量数据进行处理,使变量数据的值域
范围统一落在[−1,1],Premnmx()函数是 Matlab 工具箱
函数,其函数模型如公式 5:



p
n,minp,maxp,tn,mint,maxt
,premnmxptrain Ttrain (5)
pn 表示正规化后输入变量,minp 表示输入变量
最小值,maxp表示输入变量最大值,tn 表示正规化
后输出变量,mint表示输出数数最小值,maxt 表示输
出变量最大值。
利用正规化进行数据处理后,即可建立广义回归
类神经网络预测模式,将22 个项目数据以 2:1 的比例
随机选取,其中 15组做为训练范例的学习,7组做为
训练结果的测试。在广义回归类神经网络预测模式
中,唯一需要进行参数设定的即为平滑参数,平滑参
数的范围一般都设定在0~1 之间,在本实验中设定平
滑参数值域范围[0.1,0.5],每次训练以 0.1 做为递增数
用以进行循环测试。
当广义回归类神经网络预测模式建构完成后,即
可执行网络测试将 7个测试范例循序进行测试,记录
每个预测值与训练范例值间的均方差(Mean Square
Error, MSE),并将每次的MSE 加总后计算出平均值,
直到产生最小的平滑参数σ值,即为优化的平滑参数
σ值。MSE 计算函式如公式 6。

2
1
1
ˆ
MSE
m
i
i
x
x
n



(6)
n为样本值,1
ˆ
x
为预测值,i
x
为实际值,MSE 数值愈
小则代表所预测的精确度愈高。
取出优化平滑参数后,即可使用优化的网络训练
参数建构广义回归类神经网络预测模式,以期许获得
最好的预测结果,newgrnn()函数是Matlab 工具箱函
数,以下为函数使用方式:net = newgrnn (desired_input,
desired_output, desired_spread)。
表5以不同预测方法与实际值进行模式比较,观
察不同预测模式发现,使用平均相对误差(Mean
Relative Errors, MRE)做为数据评估的基准,观察
PCA-GRNN模式得到 MRE为0.107,COCOMO II 模
式得到 MRE 为0.656,倒传递网络类神经网络(Back-
propagation Neural Network, BP)模式得到 MRE为
0.185,而从实验结果中也证明了PCA-GRNN 预测模
式是比其它模式表现的更为良好。
图2将单位 LogPM 进行数据反处理后,得到不
同预测模式与实际值比较之折线图,如图 3所示。由
图中可观察到在项目编号12 与20 的实际值为 28与
10,使用 PCA-GRNN 模式预测值为 18.998 与12.880,
而使用倒传递网络类神经网络模式预测值为22 .761
与10.351,是三种预测模式中表现最佳的,因此,将
PCA-GRNN 与倒传递网络类神经网络模式进行数据
结果比较,显示 PCA-GRNN预测能力仍有可成长的
空间,而就整体网络预测能力仍是本研究可接受的结
果。
10. 结论
本研究针对软件开发成本预估提出了一种新的
预测模式,利用主成分分析与广义回归类神经网络的
结合,应用于软件开发成本预测,经实验结果证明,
此方法是可以提升了网络学习的速度,达到良好的预
测效果,将本研究主要贡献归纳如下:
1) 提出了一种基于主成分分析与广义回归类神
经网络于软件开发成本之研究。
Copyright © 2013 Hanspub 67
基于主成分分析的 GRNN 在软件开发成本预测的应用
Copyright © 2013 Hanspub
68
Table 5. Different forecast model and the actual value
表5. 不同预测模式与实际值比较
MRE
Project ACTMM
PCA-GRNNCOCOMO II BP
4 13 0.000 0.846 0.265
10 12 0.001 0.333 0.259
12 28 0.322 0.284 0.187
18 12 0.115 0.500 0.230
19 14 0.016 1.072 0.088
20 10 0.288 1.200 0.035
21 14 0.004 0.357 0.230
平均相对误差 MRE 0.107 0.656 0.185
Figure 3. Comparison of different prediction model and the actual
value of line chart
图3. 不同预测模式与实际值比较之折线图
2) 结合主成分分析与广义回归类神经网络的优
势,将影响成本因子指标的多量性原始指标转换为少
数几个相互独立的综合性指标,并且能用以解释大部
份的原始指标,改善了多量性指标的复杂性问题,提
升了广义回归类神经网络的学习速度与效果。
3) 应用新的预测模式对软件开发成本预估进行
究分析,证明了此方法是适用于软件开发成本预估
的。
4) 对台湾企业组织而言,大部份皆采用专家经验
进行软件开发成本预估,并无一套可靠性及量化性的
预估方法,藉由本研究所建构出的预测模式,可提供
于实务应用之参考依据。
由于广义回归类神经网络特性,在函数逼近、与
分类能力和学习效果的表现上有较佳的预测优势,相
对的也代表在训练样本数据的选择上出现了较强烈
的依赖性,因此预测误差若出现较大的悬殊,即有可
能代表着来自于训练样本数据问题,因此,应该如何
减缓预测误差值也是未来所要研究的方向。
11. 致谢
本研究承蒙国科会(计划编号:NSC100-2221-E-
431-002) 及佛光大学专题经费赞助,使本研究得以顺
利完成,谨此志谢。
参考文献 (References)
[1] C. Jones, O. Bonsignour. The economics of software quality.
Addison-Wesley Professional, 2011.
[2] 吴典璋. 以类神经网络预估软件开发成本之研究[D]. 国立中
央大学信息管理研究所硕士论文, 1998.
[3] B. Boehm. Software engineering economics.englewood cliff.
Upper Saddle River: Prentice-Hall, 1981.
[4] D. F. Specht. A general regression neural network. IEEE
Transactions on Neural Networks, 1991, 2(6): 568-576.
[5] B. Boehm, E. Horowitz, R. Madachy, D. Reifer, B. Clark, B.
Steece, W. Brown, S. Chulani and C. Abts. Software cost
estimation with COCOMO II, englewood cliff. Upper Saddle
River: Prentice-Hall, 2000.
[6] 刘子扬. 以类神经网络预估客制化软件开发成本之研究[D].
中国文化大学信息管理研究所硕士论文, 2008.
[7] 许邦辉. 以主成分分析法为基础之文件自动分类模式[D]. 国
立清华大学工业工程与工程管理学系研究所硕士论文, 2006.
研

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.