本文在总结这些研究成果的基础上,主要讨论了软件系统的评估理论问题,提出了软件系统评估的基本概念、分类、主要任务、应掌握的原则、注意的问题、存在的问题以及评估的步骤。
目前,国内外的项目管理人员都十分重视对软件系统的评估技术研究,西方国家的一些机构有一批人长期从事这方面的研究工作,在一些核心期刊上时常可以看到这方面的材料,国内也有一批专家进行这方面的研究工作。由于大家的努力,已经取得了不少的研究成果。本文在总结这些研究成果的基础上,主要讨论了软件系统的评估理论问题,提出了软件系统评估的基本概念、分类、主要任务、应掌握的原则、注意的问题、存在的问题以及评估的步骤。
一. 软件系统评估的基本概念
1、评估要素
评估具有五大要素:评估主体、评估对象、评估目标、评估手段(准则、方法、工具)、评估实施。
2、评估要求
评估应具有实用价值,这就要求评估的准则、评估的方法、评估的效能指标要面向用途,以评估目标为导向,考虑到不同层次评估主体的不同需求。
3、评估质量
指评估结果的可信度衡量,可通过可用
4、评估时效性
评估结果具有时效性,指应从发展的观点看待评估。由于情况条件的变化,认识的深入,评估结果有一定的变化,因此,评估应在实践中反复检验。
5、效能指标限定性
效能指标是在一定条件下得出的,具有一定的适应范围,使命任务和系统的配置不同,其评估对象的效能指标也不尽相同,效能指标值总体构成约束条件空间内的动态曲线。
二. 软件系统评估的分类
为了能够对软件系统作出科学的评估,需要综合考虑软件系统的各个方面的特性,对软件系统进行全方位的评估,我们根据软件系统的性能、效能、经济性三个方面,把对软件系统的评估分为三类:
1、经济性评估
经济评估主要从研制软件系统的科技投资效益的角度来考虑的。从投资学角度来讲,建设这样的软件系统,将花费多少费用,是否符合需求方的支撑能力?在追求系统高效能的同时,投资费用却要受到限制,不能超出需求方的经济水平,故只能采取折中的办法。在投资前对多个被选方案分别进行经济性能评估,然后由决策者从中选择认为是最为可行的一种。经济性评估的主要内容就是费用预测。
2、效能评估
系统效能,是预期一个系统满足一组特定任务的程度的量度。它是系统的综合性能的反映,是系统的整体属性。效能评估,就是要对系统进行综合分析,把系统的各项性能与任务要求综合比较,最终得到表示系统的优劣程度的结果。
软件系统的效能,可以细分为软件系统的自身效能和应用效能。自身效能是软件系统本身固有的性能,它体现了软件系统本身的完备性;应用效能是软件系统在应用过程中的体现的效能,是对社会的贡献。
3、性能评估
系统性能评估是对系统的单项指标的评估,与效能相比,系统性能是绝对的,针对于产品。而效能是比较抽象的,针对于用户的。对于复杂的软件系统,系统的性能指标包扩很多内容,有关文献把其分为三个层次:
第一,用户层次;
第二,系统负责人层次;
第三,子系统设计者层次;
不同层次的工作人员,对系统性能指标的侧重程度是不一样的。
三. 软件系统评价的主要任务、应掌握的原则、注意的问题
1、评价的主要任务有以下方面:
分析论证软件系统的组成规模和方案优劣
检验软件系统的完备性、一致性和正确性
论证软件系统内部要素的相互关系和对系统总体效能的影响
软件系统结构合理性分析
软件系统效能指标的灵敏度分析
2、应掌握的原则和观点
系统的观点:软件系统的效能不是系统各个子系统效能的简单总和而是有机综合。
满意的观点:软件系统是一个复杂的信息系统,严格数学意义上的系统最优概念是不存在的,只能求得满意的系统和可行的解。
目标和准则的观点:系统的优劣是相对目标和准则而言的。
3、要注意的问题:
所阐述的问题是否为实际性的问题
评估过程中所作假定的合理性问题
效能度量与任务目标的相称性问题
评估方案的合理性问题
评估模型正确性及敏感性问题
评估的可信度问题
四. 软件系统评估存在的问题
对软件系统评估理论和研究现状的认识是我们研究的起点,从中可以确定提高的方向,目前对软件系统的评估普遍存在以下几个方面的问题:
1、多元化的评估标准
这是指评估的观点不一致,标准不统一,各种评估结果之间缺乏对比性。这种非制度化、非标准化、非规范化的状态造成了评估权威性的失落,使得相当多的人对评估抱有一种“怎么都行”的态度。
2、效能指标的无限定性
这是指
3、向技术指标倾斜存
这是用若干技术指标构造效能指标,甚至直接用用技术指标代替效能指标的做法,即把效能指标建立在技术指标之上。这样的评估要么不能综合地反映系统效能,要么不能可靠地反映出复杂多变的系统行为效果。
4、评估过程的不可重复性
如果评估过程不具有可重复性,就会使评估结果失去必然性。
目前的评估方法和模型纷繁不一,其中影响较大的有SEA方法、系统动力学方法、Petri分析法、试验床法、影响图方法、步骤化指控评估结构模型和层次分析法等方法和模型,这些方法和模型以评价目的为中心,从不同的角度探讨了软件系统的评价问题,在实际的应用中得到了许多的积极成果,但也同时暴露出了需要继续完善和进一步发展的地方。因此,我们有必要对对这种理论现状进行分析研究,指明一些问题,在评估的思想和方法上阐明自己的观点。
五. 软件系统评估的步骤
通常的软件系统评估由七个步骤组成,即:问题定义、确定系统边界、过程定义、静态与动态集成、评估指标确定、数据产生、指标综合
1、问题定义(Problem Formulation):
就是针对特定的问题提出决策者的需求和目标。这一步骤的输出就是对问题的一个更精确的说明和描述,而且这一说明和描述可以翻译成系统要达到的目标。这个目标又应进一步具体化为系统的实际目标而且是可操作的。在这一步骤中,评价过程中涉及到许多的概念、想定及其它假定等。
2、确定系统边界(System Bounding):
这一步骤就是确定与问题有关的各种要素,包括:物理实体(设备、软件、人员等);结构(组织、应用环境、步骤、过程、协议、信息)