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