软件体系架构评估
评估方法所关注的质量属性有:
性能:指系统的响应能力,经常使用基准测试程序进行检验。
可靠性:指软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力,是最重要的软件特性。可靠性经常使用平均失效等待时间和平均失效间隔时间来衡量。可靠性可分为两个方面:
1.容错:是在错误发生时确保系统正确的行为,并进行内部“修复”的能力。
2.健壮性:保护应用程序不受错误使用和错误输入的影响,在遇到意外事件时确保应用系统处于已经定义好的状态。和容错相比,健壮性并不是说在错误发生时软件可以继续运行,它只能保证软件按照某种已经定义好的方式终止执行。软件体系结构对软件系统的可靠性有巨大的影响。
软件体系结构通过应用程序内部包含冗余,或集成监控构件和异常处理,来支持可靠性。
可用性:是同能够正常运行的时间比例。经常用两次故障之间的时间长度或出现故障时系统或出现故障时系统能够恢复 正常速度来表示。
安全性:指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到的安全威胁的类型来进行分类的。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。其中机密性保证信息不泄露给未授权的用户、实体或过程;完整性保证信息的完整和准确,防止信息被非法修改;可控性保证对信息的传播及内容具有控制的能力,防止为非法者所有。
可修改性:指能够快速地以较高的性能价格比对系统进行变更的能力。可修改性包括以下4个方面:
1.可维护性:在可维护性做好准备的软件体系结构往往能够做局部性的修改并能使对其他构件的负面影响最小化。
2.可扩展性:为了实现扩展性,软件系统需要松散耦合的构件。
3.结构重组:为了支持结构重组,软件系统需要精心设计构件之间的关系。
4.可移植性:为了实现可移植性,需要按照硬件无关的方式组织软件系统,其他软件系统和环境被提取出。
功能性:是系统所能完成所期望的工作能力。一项任务的完成需要系统中许多或大多数构件的相互协作。
可变性:指体系结构经扩充或变更而成为新体系结构的能力。
互操作性:作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。
各省软考办 | ||||||||||