简介
评估活动是指对机器的性能或算法好坏、以及对产品的信息安全性做出判断的过程。评估活动一般是通过一定的评估方法对计算机产品或算法进行评估。例如算法评估活动,一般是通过时间代价、空间代价、健壮性等标准对算法性能进行评估。
基于场景的软件体系结构评估方法软件体系结构是指组成该软件系统的一个或多个结构,它们构成软件的各个部分,形成这些组件的外部可见属性及相互关系。在大型复杂软件系统的设计中,软件体系结构是软件设计阶段的早期产物,它决定着软件产品能否顺利开发及最终软件产品的质量。因此对软件体系结构的分析评估就是事先通过代价低廉的评估活动来识别软件结构中存在的潜在风险,降低项目开发中的不确定性,找出软件体系结构中影响系统质量的主要因素及改进措施,并在此基础上检验软件的质量需求是否在具体设计中得到体现, 并预测未来软件质量。基于场景的评估方式就是将对系统质量需求转换为一系列风险承担者与系统的交互活动,分析软件体系结构对这一具体活动的支持程度。在评估过程中将考虑所有与系统相关人员( 包括风险承担者) 对质量的需求,从而确定应用领域功能与软件体系结构之间的映射。在此基础上设计用于体现待评估质量属性的场景以及软件体系结构对场景的支持程度。例如用一系列对软件的修改来反映易修改性方面需求,用一系列攻击性操作来代表安全性方面需求等。
软件体系结构分析法软件体系结构分析法是一种相对简单的软件体系结构评估方法。最初用来分析软件体系结构的可修改性,后来实践证明该方法不仅可用于可移植性、可修改性、可扩充性、可集成性等质量属性及系统功能进行快速评估,还可用于对性能、可靠性等其他质量属性的启发式评估,软件体系结构分析法是最早形成文档并得到广泛使用的软件体系结构分析方法。软件体系结构分析法的评估包括六个活动,分别为:a ) 场景的生成,风险承担者集体讨论,反映自己的需求;b ) 软件体系结构描述,采用某种参评各方都能够充分理解的形式对即将评估软件体系结构描述;c ) 场景分类并确定优先级,保证在有限资源下优先考虑最重要的场景;d ) 对间接场景的单个评估;e ) 场景相互作用的评估, 即多个场景要求更改体系结构的同一组件;f ) 总体评估,根据相对重要性来确定每个场景的权重,通过权重得出总体评价。软件体系结构分析法不仅可以对单个构架评估,还可以对多个构架进行比较。不仅可以促进软件构架文档质量的提高,还可以促进参与评估的风险承担者之间交流沟通1。
体系结构权衡分析法体系结构权衡分析法是SEI于 2000 年在软件体系结构分析法基础上提出的,它是考虑了可修改性、性能、可靠性和安全性等多种质量属性的软件体系结构评价方法,并能确定这些相互制约属性之间的折中点。体系结构权衡分析法包括四大部分,共计九个步骤: a ) 表述,通过表述进行信息交流,包括体系结构权衡分析法表述、商业动机表述、软件体系结构的表述, 共三个步骤。b ) 调查分析,包括确定软件体系结构的方法、生成质量属性效用树、分析软件体系结构方法,共三个步骤。c ) 测试包括集体讨论并确定场景的优先级、分析软件体系结构方法,共两个步骤。d ) 形成报告,即评估结果的表述。体系结构权衡分析法通过用调查表来收集影响软件体系结构质量属性的要素,描述质量属性的特征,尽管九个步骤按编号排列,但并不一定严格遵照这种瀑布模型, 评估人员可以在九个步骤中进行跳转和迭代。体系结构权衡分析法能针对性能、实用性、安全性和可修改性这些质量属性,在系统开发之前对其重要性进行评价和折中。当评估活动结束后,将评估的结果与需求作对比,如果系统预期行为与需求充分接近,设计者就可以继续进行更高级别的设计或实现;如果分析发现了问题, 就对所设计的软件结构、模型或需求进行修改,从而开始迭代过程。
可信评估软件的不断发展导致了软件复杂度的提高,因此软件可信性(trustworthiness),即软件是否安全、能否成功运行并提供预期服务成为人们最为关注的问题。软件可信性问题涉及软件生命周期的各个阶段,通过对相关理论和方法的研究与实施从而提高和保障软件可信性。在软件开发和应用等各个阶段中需要进行可信评估,即评判软件资源的安全性、可靠性等是否符合用户的预期。可信评估是软件可信研究中一个新的热点,相关理论和方法尚处于研究阶段。分析表明,目前还没有成熟的评估方法可以评估出多数人认可的软件可信标度。可信评估采用以下五元组来描述一次可信评估过程:可信评估=。
(1) 评估对象(asset):待评估的软件资源, 包括项目、构件、服务,甚至包括文档、数据等2。
(2) 评估人(evaluator):参与评估的人员。
(3) 属性模型(attribute model): 一种多层次的树状结构, 用于描述可信属性以及属性间的关系。
(4) 证据模型(evidence model):一种多层次的树状结构,用于组织和定义证据。
(5) 评估指标体系(evaluating indicators):一系列评估指标的集合,评估指标定义了属性和证据的联系。具体表现为,一个可信属性可细化为若干评估指标来评价,而每个指标则需要由一个或多个证据自动(或人工)计算获得。在一次可信评估过程中,评估人选定评估对象(待评估的软件资源等),基于用户对该对象可信性的期望,定制属性模型(用于确定评估的目标)和证据模型(用于确立证据信息的管理机制),建立评估指标体系(用于确立从证据到待评估属性的计算关联),最后利用获取到的证据实例,依据评估指标体系进行量化分析,计算得到可信评估结果。