[架构之路-113]-《软考-系统架构设计师》-软件架构设计-6-六大软件质量

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[架构之路-113]-《软考-系统架构设计师》-软件架构设计-6-六大软件质量相关的知识,希望对你有一定的参考价值。

前言:

第6节 软件质量六大属性

6.1 什么是质量

质量(zhì liàng)的内容十分丰富,随着社会经济和科学技术的发展,也在不断充实、完善和深化,同样,人们对质量概念的认识也经历了一个不断发展和深化的历史过程。

质量的定义是:客体的一组固有特性满足要求的程度。

质量目标的定义是:“在质量方面所追求的目的”。从质量管理学的理论来说,质量目标的理论依据是行为科学

产品明示的质量要求,是指生产者对产品的质量所作出的明确的质量承诺法。对于这些有关的内容,生产者应当明确表现出看法。一般的观点认为,产品质量越高越好,质量愈高,价值就愈高,但事实上,这种观点并不一定是正确的。质高的产品并不一定在市场上受欢迎。

6.2 什么是产品质量

产品质量是指产品满足规定需要潜在需要特征和特性的总和

任何产品都是为满足用户的使用需要而制造的。对于产品质量来说,不论是简单产品还是复杂产品,都应当用产品质量特性或特征去描述。

产品质量特性依产品的特点而异,表现的参数和指标也多种多样,反映用户使用需要的质量特性归纳起来一般有六个方面,即性能、寿命(即耐用性)、可靠性与维修性、安全性、适应性、经济性。

6.3 什么是软件质量

概括地说,软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。

更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度

从管理角度对软件质量进行度量, 可将影响软件质量的主要因素划分为六个部分特性(根据GB/T16260.1)功能性,可靠性,易用性,效率,维护性与可移植性。其中功能性包括适合性准确性,互用性,依从性,安全性;可靠性包括容错性,易恢复性,成熟性;易用性包括易学性,易理解性,易操作性;效率包括资源特性和时间特性;维护性包括可测试性可修改性,稳定性和易分析性;可移植性包括适应性,易安装性,一致性和可替换性的六个特征及若干子特征

6.4 软件质量模型

6.5 软件质量因素的详细定义

可变性:通常是框架性的修改和变迁、演进。

可修改:通常是局部性修改,是功能的增加、删除、修改。

1.正确性(Correctness):系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度;

2.健壮性(Robustness):在硬件发生故障、输入的数据无效或操作错误等意外环境下,系统能做出适当响应的程度;

3.效率(Efficiency):为了完成预定的功能,系统需要的计算资源的多少;

4.完整性(Efficiency)或安全性(Security):对未经授权的人使用软件或数据的企图,系统能够控制(禁止)的程度;

5.可用性(Usability):系统在完成预定应该完成的功能时令人满意的程度;

6.风险(Risk):按预定的成本和进度把系统开发出来,并且为用户所满意的概率;

7.可理解性(Comprehensibility):理解和使用该系统的容易程度;

8.可维修性(Maintainability):诊断和改正在运行现场发现的错误所需要的工作量的大小;

9.灵活性(Maintainability)或适应性(Adaptability):修改或改进正在运行的系统需要的工作量的多少;

10.可测试性(Adaptability):软件容易测试的程度;

11.可移植性(Portability):把程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时,需要的工作量多少。有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需用的费用;

12.可再用性(Reusability):在其他应用中该程序可以被再次使用的程度(或范围);

13.互运行性(Interoperability):把该系统和另一个系统结合起来需要的工作量的多少。 [1]

6.6 如何实现常见的质量属性

6.6.1 提升可用性的手段/战术

  可用性战术将会组织错误发展为故障,或者至少能够把错误的影响限制在一定的范围内。从而使系统恢复成为可能。

维持可用性的方法包括:错误检测,自动恢复,错误预防

错误检测——用来检测故障的某种类型的健康监视;

自动恢复——检测到故障时某种类型的恢复;

错误预防——阻止错误演变为故障。

6.6.2 提升可修改性的手段/战术

可修改性战术的目标是控制实现、测试和部署变更的时间和成本。

可修改性战术具体可以分为三类分别为: 局部化修改,防止连锁反应, 延迟绑定事件

局部化修改——目标是减少由某个变更直接影响的模块的数量;

防止连锁反应——目标是限制对局部化的模块的修改,以防止对某个模块的修改间接地影响到其他模块;

延迟绑定时间——目标是控制部署时间并允许非开发人员进行修改。

6.6.3 响应速率

响应速率战术的目标是对一定的时间限制内到达系统的事件生成一个响应,这些事件可以是消息到达、定时器到时,系统状态的变化。

响应速率性能资源控制包括三个分类:资源需求、资源管理、资源仲裁

  资源需求——分析影响性能的资源因素

  资源管理——提高资源的应用效率

  资源仲裁——解决资源的争用

对于系统的性能资源控制,我认为对sql语句的优化就相当于对资源进行查询,不同的sql语句对于系统的性能影响是巨大的,如下图所示,对下属的sql进行性能优化,会使系统的性能得到大大的提高。

6.6.4 安全性战术

安全性战术包括抵抗攻击的战术、检测攻击的战术和从攻击从恢复的战术。

如下图所示,对用户的什么进行检测,不同用户登陆后所具有的功能界面是不不同的,所以可以使得不同的角色只能够使用自己相应的功能

6.6.5 可测试性战术

可测试性战术的目标是允许在完成软件开发的一个增量后,轻松地对软件进行测试和问题定位

6.6.6 易用性战术

易用性与用户完成期望任务的难易程度以及系统为用户提供的支持种类有关。

通过为用户提供关于系统正在做什么的反馈,以及为用户提供发出基于易用性命令的能力来增强易用性,如帮助、撤销、取消等。比如代码中的各种快捷键。

6.7 案例分析

以上是关于[架构之路-113]-《软考-系统架构设计师》-软件架构设计-6-六大软件质量的主要内容,如果未能解决你的问题,请参考以下文章

[架构之路-116]-《软考-系统架构设计师》-软架构设计-9-构件与中间件技术

[架构之路-117]-《软考-系统架构设计师》-软架构设计-10-应用程序架构与基于Web的架构设计负载均衡技术

[架构之路-110]-《软考-系统架构设计师》-软件架构设计-3-架构描述语言ADL与UML

[架构之路-107]-《软考-系统架构设计师》-0-系统分析师与系统架构设计师简介与官网介绍

系统架构设计师软考简介 ( 软考好处 | 职称晋升 | 工作居住证 | 积分落户 | 系统架构设计师与系统分析师备考及难度 | 软考报名考试注意事项 )

系统架构设计师软考简介 ( 软考好处 | 职称晋升 | 工作居住证 | 积分落户 | 系统架构设计师与系统分析师备考及难度 | 软考报名考试注意事项 )