1 引言
随着社会信息化需求的不断增长,市场涌现出各种软件系统,如何做出科学、客观的选型困扰着软件客户,成为制约计算机软件在产业界发展的主要因素之一。而现有选型手段通常是管理者与软件专家根据经验作出抉择,由于缺乏统一的度量评测标准,主观性和片面性较强,不利于选取合适的软伴。
为了控制软件开发过程和提高软件质量,软件度量采用定量与定性相结合的方式对软件产品的整体状况进行科学、客观的测评,对指导软件选型能够发挥重要作用。
2 软件选型的过程模型
软件选型主要涉及客户、IT咨询机构和软件供应商:客户是选型过程的主导者;IT咨询机构提供技术、方案等,是选型的第三方;供应商提供产品、获取利润,是选型的利益关联方。综合以上三方的意见,需要考虑的选型因素有:
(1)需求分析:不同的客户在进行软件选型时,应将关注重点放在最能创造价值的软件模块上,而且要用一套科学、合理的规则来控制软件可能涉及的活动和信息流,同时要有管理人员从全局的角度提出建议、处理日常事务的人员反映现存流程的问题和咨询人员提供一般的理论支持。
(2)软件自身的因素:包括使用软件的费用(如:购买费用、实施费用、维护费用等)、软件的技术特性(如:兼容性、自身质量等)和供应商提供的客户服务(如:实施服务、培训服务、售后服务等)。
基于以上两方面的因素,结合现有选型流程,本文提出了一种软件选型过程模型(如图1所示),对软件选型过程进行阶段性划分,明确每个阶段的具体目标和主要内容,以指导软件选型:
图1 软件选型过程模型
(1)明确选型目标:选型是为了在众多竞标软件中选取合适的产品,因此在进行具体的度量之前,应该明确购买该软件的目的,再一次明晰客户的具体需求。
(2)设计度量指标体系:指标体系从适用范围分为通用型指标体系和个性化指标体系,其中的指标根据性质又分为主观性指标和客观性指标。由于采用度量模型主要是为了在最大程度上避免主观性,因此应尽量使用客观指标;但是,由于软件本身及其度量过程的特殊性,很多质量因素不可能完全量化为客观性指标,必须设计一些主观指标,由软件开发专家、系统工程专家、经济学专家、业务人员和管理者组成专家小组,分别对其进行相关领域的评分。
(3)确定各个度量指标的权重:结合软件的设计要求和客户需求,确定度量指标体系中各个指标具体的权重或其所占比例。
(4)得到每个度量值:对客观指标,按照各个度量指标的详细说明进行测量,从而完成原始度量数据的采集,得到针对某一特定产品的度量指标值;对主观指标,由专家小组进行分数评定。
(5)得到软件最终分值:通过对权重矩阵的相关度函数进行计算,综合各个度量值,得到该软件产品最终的度量分值。
(6)给出文字评价:对于最后得到的度量分值,由专家小组分别从功能、性能、文档等各方面进行综合分析,形成统一的文字评价,以供最终的选型决策。
(7)询问客户是否需要对现有软件进行优化:因为优化方案的设计需要额外的费用,所以要根据客户的具体要求来决定是否对现有软件方案进行改进。
(8)提出优化方案:如果客户要求优化则进行这一步,即由专业人士根据已有的度量指标及其权重来改进现有方案中度量指标相对较低的质量因素,从而得到在现有的技术和经济条件下的最优软件方案。
3 基于模糊综合评价的度量模型
度量模型可以建立起主观指标和客观指标之间的定量联系,使最终的度量结果更符合参与选型软件的实际质量状态,有利于客观、准确的软件选型。
本文以图1所示的软件选型过程模型为基础,根据模糊综合评价和层析分析法的基本原理,设计了针对软件选型的度量模型(如图2所示)。该模型分为单因素判断、二级模糊综合度量、—级模糊综合评价三个层次:
图2 软件选型度量模型
(1)单因素判断
单因素判断就软件度量数据对指标体系中各个度量指标的影响进行分析,再将这种影响关系映射到度量系统的指标体系中。
例如:在“产品管理”模块中保存一条数据需要5分钟,这条度量数据不但说明了软件的功能(属于功能指标部分),还涉及到软件的使用性能(属于性能指标部分),因此可以向指标体系添加如下度量分析内容:
if 保存时间=“5分钟”and响应程度=“很慢”and操作感受=“极不方便”
then ADD(软件运行能力,“较大负面影响”)ADD(软件使用能力,“很大负面影响”)其中,“软件运行能力”和“软件使用能力”指的是具体的度量指标,所有指标构成指标集U(U1,U2,...,Un);“较大负面影响”“很大负面影响”构成决断集V(V1,V2,V3,V4,V5)=V(“很大正面影响”,“较大正面影响”,“一般正面影响”,“较小负面影响”,“较大负面影响”)。
根据指标体系中的相关指标和具体的软件度量数据,生成模糊关系统矩阵:
其中,rij(i∈(1,2,...,n);j∈{1,2,3,4,5,})表第i个指标受到rij个j级影响。
(2)二级模糊综合度量
二级权重模糊向量(A2),是指在二级指标子体系统中,各度量指标相对于最终结果的重要程度。其中Ak={ak1,ak2,...,aki,akn}(k指二级指标所对应的一级指标的编号;i∈{1,2,...,n}指的二级指标的编号),aki表示在第k种一级指标所对应的二级指标中第i个二级指标所对应的权重。
例如:一级指标“可扩充性U4”由两个二级指标构成:U4{U41,U42}=f数据结构可修改扩充,系统功能可配置},所对应权重为:A3={0.6,0.4}。
二级权重模糊向量(Ak)通过德尔斐(Delphi)运算得到,二级综合度量结果(Bk)是表示一类二级指标度量结果的一个模糊向量。
Bk={bk1,bk2,...,bk5}
Bk=Ak¤Rk
其中符号¤表示模糊运算算子。本模型采用加权平均型算子bkj=
其中bj表示评价结果中第j种影响的数量。
(3)—级模糊综合评价
一级模糊关系矩阵(R)由二级模糊综合度量结果合成而来,即:R={B1,B2,...,Bi,...,Bn}。其中Bi成为二级模糊综合度量的结果,n为一级指标的数量。
一级权重模糊向量(A)也通过德尔斐(Delphi)运算得到,一级综合评价结果(B)通过模糊运算得到,即:B=A·R;B={b1,b2,...,bn}。然后把评价结果化成综合评价分数。
例如:令“很大正面影响”为5分,“较大正面影响”为3分,“一般正面影响”为1分,“较小负面影响”为-3分,“较大负面影响”为-5,算出最后的得分:F=B*{5,3,1,-3,-5}。
(4)度量结论生成
客观、合理、人性化地生成软件最后的评价结论是软件选型度量模型的重要部分,最终分析结论生成的根本根据是指标体系及其权重具体运算所得的软件度量数据,与软件产品的各项功能、性能属性相互对应,同时还要参照评价过程的中间结果,并随时注意动态调整分析结论库的各个评价。
例如:在实际操作中,可以根据具体情况向度量结论库添加如下评价:
If Larger(运算速度,10)then Add(“该软件的处理能力很强”)
If Lower(界面可理解程度,3)and Exists(陌生按纽)then Add(“该软件需要加强交互界面的设计,提高可操作性”)。
4 系统实现及有效性分析
4.1 原型系统的设计与实现
本文根据图2所示的软件选型度量模型,在调研了相关人员的基础上,设计出软件选型度量的原型系统。系统主要涉及以下用户角色,其顶层用户图如图3所示。
图3 系统顶层用户图
(1)系统管理员:负责系统管理、基础数据维护、报表生成等。
(2)软件使用单位领导:负责选型目标制订、数据审核、监督数据的正确性、准确性等。
(3)软件选型负责人:负责组织选型活动的执行,具体指标体系的确定,度量标准的研定等。
(4)软件选型团队成员:负责选型的具体执行,包括相关数据收集、相关指标的度量等。
(5)软件专家:负责为选型提供建议和意见,为一些不可客观度量的值提供主观性评价。
系统功能主要分成用于保证系统正常运行的系统维护和与软件选型项目相关的具体功能这2个主要部分,其系统架构如图4所示。
图4 软件选型度萤系统的系统架构
系统的核心模块有:
(1)指标管理,管理软件选型主要涉及的两类指标:一是通用指标(指在不同软件选型项目中都要度量的指标),系统将其作为初始数据预置到系统中,客户可以根据项目需要作简单调整;二是特定指标(与特定的软件选型项目相关),随软件类型和客户需求不同而不同,在软件选型项目确定后制定。
(2)度量管理,主要包括原始数据的管理、度量指标的转换、异常检查等。
(3)综合计算,主要是根据模型算出每个参与选型的软件最终的评测得分。
本系统采用分层设计,将模型层和项目层分离:在模型层可以单独对指标体系和度量模型进行管理,保证了指标体系和度量模型的开放性;在项目层可以访问模型层的内容,但不能对模型层的内容进行修改,保证了评价的客观性,提高了系统的可扩展性。同时采用面向对象的设计:将数据项、指标、子特性、特性作为对象来处理,数据项组装成指标,指标组装成子特性,子特性组装成特性,使得系统更加容易理解和维护。
4.2 系统有效性验证实验
通过模拟一个从事机械制造的公司(下称“MK公司”)选择ERP的过程来验证本系统的有效性。
MK公司以汽车检具的设计、开发、制造、销售以及汽车整车车身研发、设计为主,员工约300人,年产值约2亿人民币。选型小组的目标是:适合本企业、总拥有成本最低、风险最小。实验根据选型相关的因素选择了以下几种ERP产品作为候选产品:A软件公司的ERP8E,B软件公司的K3 V11.4,C软件公司的V12.1。
由于篇幅的限制,实验只通过对“生产管理”子模块中部分功能建立度量指标体系及其权重来验证本系统的有效性。针对MK公司ERP的指标体系分为四级,如表1所示。
通过对每个候选产品根据表1所示的指标进行度量,得到每个产品每个单指标的度量值,例如A软件公司的ERP8E的部分度量值如表2所示。
表1 针对MK公司ERP的指标样例
表2 A软件公司的ERP8E的部分指标度量值
根据前面的度量值,根据模型中的计算方法,最终计算出每个产品的综合度量值,如表3所示。
表3 综合度量值
从表3可以看出,C软件公司的ERP更加符合MK公司的需求。
通过以上实验发现,运用本模型的难点在于选型需求的深入分析和指标体系的建立,指标体系及其权重的确定对度量结果有很大的影响。
5 结束语
本文通过对软件选型的相关因素和基本过程进行研究,建立了针对软件选型过程的通用模型,设计了可以应用于软件选型各个阶段的度量模型,使得软件使用者可以根据自身实际情况对关注的具体度量指标及其分值进行跟踪、监控和调整,并开发了具有实用性和可操作性的软件选型度量原型系统,为软件产品的正确选取提供了手段和工具。
由于软件技术的推陈出新,因此在以后的工作中,需要进一步深化软件选型与度量的研究工作,扩展和完善过程模型,不断寻找适合软件选型的、可持续改进的度量方法,完善软件选型度量系统,使其成为软件选型的有效工具。
读过这篇文章的人还读过:
4006199527