马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为了评价一个软件体系,特别是软件体系的架构,需要进行架构评估。在架构评估过程中, 评估人员所关注的是体系的质量属性。评估方法所普遍关注的质量属性有以下几种。
1.性能
性能 (Performance) 是指体系的相应能力,即要颠末多长时间才气对某个事件做出响 应,大概在某段事件内体系所能处置处罚的事件的个数。经常用单位时间内所处置处罚事件的数量或 体系完成某个事件处置处罚所需的时间来对性能进行定量表示。性能测试经常要利用基准测试 步调。
2.可靠性
可靠性 (Reliability) 是软件体系在应用或体系错误面前,在意外或错误利用的情况下维持 软件体系的功能特性的基本能力。可靠性是最重要的软件特性,通常用来权衡在规定的条件和 时间内,软件完成规定功能的能力。可靠性通常用平均失效等待时间(Mean Time To Failure, MTTF) 宁静均失效间隔时间 (Mean Time Between Failure,MTBF) 来权衡。在失效率为常数 和修复时间很短的情况下, MTTF和MTBF几乎相称。可靠性可以分为两个方面。
(1)容错。容错的目的是在错误发生时确保体系精确的行为,并进行内部“修复”。例如在 一个分布式软件体系中失去了一个与长途构件的连接,接下来恢复了连接。在修复这样的错误 之后,软件体系可以重新或重复执行历程间的操作,直到错误再次发生。
(2)健壮性。这里说的是掩护应用步调不受错误利用和错误输入的影响,在发交易外错误 事件时确保应用体系处于预先界说好的状态。值得留意的是,和容错相比,健壮性并不是说在 错误发生时软件可以继续运行,它只能包管软件按照某种已经界说好的方式终止执行。软件架 构对软件体系的可靠性有巨大的影响。例如,软件架构计划上通过在应用步调内部接纳冗余机 制,或集成监控构件和非常处置处罚,以提升体系可靠性。
3.可用性
可用性(Availability) 是体系能够正常运行的时间比例。经常用两次故障之间的时间长度 或在出现故障时体系能够恢复正常的速度来表示。
4.安全性
安全性(Security) 是指体系在向正当用户提供服务的同时能够制止非授权用户利用的企图 或拒绝服务的能力。安全性可根据体系可能受到的安全威胁类型来分类。安全性又可划分为机 密性、完整性、不可否认性及可控性等特性。此中,秘密性包管信息不泄漏给未授权的用户、 实体或过程;完整性包管信息的完整和准确,防止信息被非法修改;不可否认性是指信息交换 的双方不可否认其在交换过程中发送信息或吸收信息的行为;可控性包管对信息的传播及内容 具有控制的能力,防止为非法者所用。
5.可修改性
可修改性 (Modifability) 是指能够快速地以较高的性价比对体系进行变更的能力。通常 以某些具体的变更为基准,通过考查这些变更的代价来权衡可修改性。可修改性包含以下4个 方面。
(1)可维护性(Maintainability)。 这重要体现在问题的修复上,在错误发生后“修复”软 件体系。可维护性好的软件架构往往能做局部性的修改并能使对其他构件的负面影响最小化。
(2)可扩展性 (Extendibility)。 这一点关注的是利用新特性来扩展软件体系,以及利用改 进版本方式替换构件并删除不需要或不须要的特性和构件。为了实现可扩展性,软件体系需要 松散耦合的构件。其目的是实现一种架构,能使开发人员在不影响构件客户的情况下替换构件。 支持把新构件集成到现有的架构中也是须要的。
(3)布局重组(Reassemble)。 这一点处置处罚的是重新构造软件体系的构件及构件间的关系, 例如通过将构件移动到一个不同的子体系而改变它的位置。为了支持布局重组,软件体系需要 精心计划构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下 灵活地设置构件。
(4)可移植性(Portability)。 可移植性使软件体系实用于多种硬件平台、用户界面、操作 体系、编程语言或编译器。为了实现可移植,需要按照硬件、软件无关的方式构造软件体系。 可移植性是体系能够在不同计算环境下运行的能力,这些环境可能是硬件、软件,也可能是两 者的结合。如果移植到新的体系需要做适当更改,则该可移植性就是一种特别的可修改性。
6.功能性
功能性(Functionality) 是体系能完成所期望的工作的能力。一项任务的完成需要体系中许 多或大多数构件的相互协作。
7.可变性
可变性(Changeability) 是指架构经扩充或变更而成为新架构的能力。这种新架构应该符 合预先界说的规则,在某些具体方面不同于原有的架构。当要将某个架构作为一系列相干产品 (例如,软件产品线)的基础时,可变性是很重要的。
8.互操作性
作为体系构成部分的软件不是独立存在的,通常与其他体系或自身环境相互作用。为了支 持互操作性,软件架构必须为外部可视的功能特性和数据布局提供精心计划的软件入口。步调 和用其他编程语言编写的软件体系的交互作用就是互操作性的问题,这种互操作性也影相应用 的软件架构。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |