软件质量概述的六大属性
摘要:软件属性包括功能属性和质量属性,但是,软件架构(及软件架构设计师)重点关注的是质量属性。文章从常见的六个质量属性,即可用性、可修改性、性能、安全性、可测试性、易用性写起,使读者对其有初步的认识和了解。
关键词:软件;质量属性;体系架构;
Six attributes of software quality overview
Absrtact:Software attributes include function attributes and quality attributes, but software architecture (and software architecture designers) focus on quality attributes. This paper starts with six common quality attributes, that is, usability, modifiability, performance, security, testability and USABILITY, so that readers have a preliminary understanding of them.
Keywords: Software; quality attributes; architecture;
一、可用性
1、可用性战术将会组织错误发展为故障,或者至少能够把错误的影响限制在一定范围内,从而使系统恢复成为可能。可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。
2、维护可用性的方法:
(1)错误检测——用来检测故障的某种类型的健康监视
(2)自动恢复——检测到故障时某种类型的恢复
(3)错误预防——阻止错误演变为故障
3、可用性战术分类
错误检测、恢复监测和修复、重新引入、预防
二、可修改性
可修改性是指系统或软件能够快速地以较高地性价比对系统进行变更地能力。对于一个网站,我们要修改它某一板块地UI界面,当我们对界面进行修改时是否引起对另一个UI模块地影响,是否会引起后台控制,业务逻辑代码地变更,是否会引起整个网站地崩溃,这就体现了一个网站地整个架构是否具备可修改性。
引起可修改性地因素包括用户需求和系统内在需求。用户需求例如用户对软件某些图标的更改,而淘宝网后期对数据库体系架构的更新和完善则来源于系统内在的需求。
可修改性地战术分析:
1、局部化变更
局部化意味着实现“模块化”思想,也就是设计模式中的“单一职责原则”的设计原则。通俗的来讲就是一个模块只完成一个部分,使每一个模块责任单一,防止职责过多引起整体变更时的繁琐,复杂,主要表现在类、函数、方法和接口的时候,实现“高内聚,低耦合”。
2、防止连锁反应
所谓连锁反应就是我们平时编程,无论是写函数还是写类,都需要被其他类还是函数调用,修改此函数或类就会影响到调用他的函数,这就是连锁反应。
防止连锁反应:
·信息隐藏。信息隐藏就是把某个实体地责任分解为更小地部分并选择哪些信息成为共有,哪些信息成为私有的。
·维持现有的接口。该战术的模式包括添加接口、添加适配器、提供一个占位程序。
·限制通信路径。限制与一个给定的模块共享的模块,减少联系,一旦变更影响会小很多。
·使用仲裁者。插入仲裁者来管理依赖之间的关系,就比如数据库的使用,通过数据库来管理不同的数据信息。
3、推迟绑定时间
将有可能的修改,尽量用配置文件,或者其他后期让非开发人员可调整的方式实现。
标签:可用性,论文,可修改性,软件,attributes,quality,属性 From: https://www.cnblogs.com/YFLZ/p/18121253