摘要
在软件开发过程中,软件的质量是一个重要的因素,而软件体系结构在整个过程中显得尤为重要。软件的质量需求是在开发初期的非功能性需求,对软件的体系结构影响很大。但是并不意味着一味的追求质量,必须在效率和质量之间寻求一个平衡点。
为了实现高的软件质量,软件体系结构必须具有良好地可移植性,可靠性,可维护性,适应性,互用性,组件复用和实时性等方面的要求。
《ISO/IEC 9126-1 :软件产品评估—质量特性及其使用指南纲要》,在此标准中,定义了六种质量特性,并且描述了软件产品评估过程的模型。该技术将质量这一大的特性细化到属性级别或可测项。这样,就可以通过比较这些属性、可测项从一系列候选体系结构中选择出一个合适的来开发软件。
在此标准中,定义了六种质量特性,27个子特性,并且描述了软件产品评估过程的模型。
l 功能性
是指当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力,即适合性;
并且能够得到正确或相符的结果或效果,即准确性;
拥有能够和其他指定系统进行交互的能力,即互用性;
防止对程序或数据的未经授权访问的能力,即安全性。
l 可靠性
在指定条件下使用时,软件产品维持规定的性能水平的能力。
其中包括成熟性,指软件产品避免因软件中错误发生而导致失效的能力;
容错性:是指在软件发生故障或违反指定接口的情况下,软件产品维持规定的性能水平的能力;
易恢复性:是指在失效发生的情况下,软件产品重建规定的性能水平并恢复受直接影响的数据的能力。
l 易用性
是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。
l 效率
是指在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。
其中,时间特性:是指在规定条件下,软件产品执行其功能时,提供适当的响应时间和处理时间以及吞吐率的能力;
除此之外,资源利用性:是指在规定条件下,软件产品执行其功能时,所使用的资源数量及其使用时间。
l 可维护性
是指软件产品可被修改的能力,修改可能包括修正,改进或软件适应环境、需求和功能规格说明中的变化。
l 可移植性
是指软件产品从一种环境迁移到另一种环境的能力。
以上六个均要符合依从性即遵循有关标准、约定、法规或类似规定。
适合性:软件产品为指定的任务和用户目标提供一组合适功能的能力。
如:
软件提供了用户所需要的功能;
软件提供的功能是用户所需要的;
准确性:软件提供给用户功能的精确度是否符合目标。
如:
运算结果的准确,数字发生偏差,多个0或少个0
互操作性:软件与其它系统进行交互的能力。
如:
PC机中WORD和打印机完成打印互通;
保密安全性:软件保护信息和数据的安全能力。(主要是权限和密码)
功能性的依从性:遵循相关标准(国际标准、国内标准、行业标准、企业内部规范)
成熟性:软件产品为避免软件内部的错误扩散而导至系统失效的能力(主要是对内错误的隔离)
容错性:软件防止外部接口错误扩散而导致系统失效的能力(主要是对外错误的隔离)
易恢复性:系统失效后,重新恢复原有的功能和性能的能力。
可靠性的依从性:遵循相关标准。
易理解性:软件交互给用户的信息时,要清晰,准确,且要易懂,使用户能够快速理解软件。
易学性:软件使用户能学习其应用的能力。
易操作性:软件产品使用户能易于操作和控制它的能力。
易用性的依从性:遵循一定的标准。
时间特性:软件处理特定的业务请求所需要的响应时间。
资源利用性:软件处理特定的业务请求所消耗的系统资源。
效率依从性:遵循一定的标准。
易分析性:软件提供辅助手段帮助开发人员定位缺陷产生的原因,判断出修改的地方。
易改变性:软件产品使得指定的修改容易实现的能力。(降低修复问题的成本)
稳定性:软件产品避免由于软件修改而造成意外结果的能力。
易测试性:软件提供辅助性手段帮助测试人员实玩其测试意图。
维护性的依从性:遵循相关标准。
适应性:软件产品无需作相应变动就能适应不同环境的能力。
易安装性:尽可能少的提供选择,方便用户直接安装。
共存性:软件产品在公共环境中与其它软件分享公共资源共存的软件。
易替换性:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。
可移植性的依从性:遵循相关的标准。
之后可根据不同项目要求基于ISO9126-1标准,选择不同的结构来作为基础进行开发。结合具体的系统质量需求的优先级和质量目标,建立表格进行分析比较,选出最适合的一个。
软件质量质量评估已经成为了一门技术,ISO/IEC 9126-1标准用来定义软件体系结构质量模型,这是对软件质量的又一进步,使得软件体系结构的设计过程得以改善,对软件质量的保证有着不可磨灭的贡献。