几类系统需要关注的质量属性

前一篇文章,总结了三高系统所关注的一些重要质量属性。就想到,其实不同类型的系统对质量属性也往往要求大不一样。

下图是软件系统架构设计时,需要关注的一些软件质量属性。

开发期质量属性,是开发人员或后期的维护人员比较关心的,这些质量的好坏,往往会影响到开发和维护成本。而运行期质量属性,则是最终用户比较关心的,因为其在使用时是能切身体会到这些效果的,故而会影响用户对整个系统的满意度。

所以,对于基于互联网的系统而言,其更关注的是:性能、可用性、伸缩性、扩展性、安全性。这些大多都是运行期的质量属性。而这几年互联网、移动互联网公司越来越热,所以这些公司在讨论设计时,往往是针对三高系统的设计,如:大流量、高并发、大数据量、集群、缓存等,详见上篇博客:《三高系统常用架构模式》。

而对于企业级应用系统而言,其更关注的则是开发期的质量属性。因为 2B 的软件开发公司,关注的更多的是快速开发、快速实施的开发成本,以及后期的维护成本。所以在这些公司的架构师在讨论设计时,往往谈论的是快速开发平台、快速实施平台、业务组件级的大粒度重用等。

再如,游戏的架构设计,则更为复杂。特别是现在的网络游戏,几乎大部分质量属性的要求都会很高。一个好的架构设计,即会影响用户体验、公司的收入,也影响到开发一款新游戏的开发成本。所以厉害的游戏公司,可以很快地通过累积的游戏框架或引擎开发出一款新的游戏,也能在三高的情况下保证用户的体验,甚至还能在运行期不间断的快速持续更新。

当然,上面说的只是简单粗略的划分。其实不同的系统,往往要求都不同,我们不可一概而论。应该说,所有的系统,都应该对开发期、运行期的质量属性进行分析。所以,架构师在做软件架构设计时,需要针对不同类型的系统,对质量属性进行具体的分析。这需要通过与 Stake Holder 的沟通,分析出目标系统对这些质量属性的要求,然后排列出质量属性(非功能需求)的重要度、优先级,以作为架构设计的主要目标。

原文地址:https://www.cnblogs.com/zgynhqf/p/9914560.html

时间: 2024-10-08 05:37:51

几类系统需要关注的质量属性的相关文章

全面阐述某系统设计所实现的质量属性战术

一.文档说明 在完成了<软件架构体系>课程中关于六种软件质量属性的内容之后就上学期开发的**系统进行反思,阐述设计开发时所实现的质量属性战术,说明原因. 二.质量属性战术说明 1.可用性战术 可用性战术主要在系统错误方面着手.从错误的检测和恢复,到错误的预防和屏蔽等等.系统在运行过程中会不可避免的出现故障,可以说出现故障是绝对的,而故障的次数是相对的.在这方面我们对于**系统的开发上加强了错误的预防处理,增强了系统的可用性属性.首先我们采用了事务的处理机制,对某几个有序的步骤进行事务性的绑定.

如何实现应用系统的质量属性

对于实现图书管理系统的质量属性分析 我主要通过以下六个方面,来总结在我的系统中,实现质量属性的途径. 可用性(Availability)的战术 易用性(Usability)战术 可修改性(Modifiability)的战术 性能(Performance)的战术 安全性(Security)的战术 可测试性(Testability)战术 1.可用性战术 我认为可用性是一个系统最基本的属性,说的直白一点就是系统能否正常无错的使用,其故障的出现频率等等,是系统的产品质量,也是用户首先关注的一点.可用性战

基于框架的应用系统开发的质量属性

基于框架的应用系统开发(以你开发的系统为原型)的质量属性 质量属性分别有: 可用性(Availability)的战术 可用性是指系统正常运行时间的比例,可用性关注的问题有:如何检测故障.发生故障的频度.出现故障时的现象.系统故障排除的时限.如何防止故障的发生.发生故障时的处理: 可修改性(Modifiability)的战术 性能(Performance)的战术 安全性(Security)的战术 易用性(Usability)的战术 可测试性(Testability)

基于SSH框架的在线考勤系统开发的质量属性

我要开发的是一个基于SSH框架的在线考勤系统,在系统中常见的质量属性有:可用性.可修改性.性能.安全性.易用性. 可用性方面: 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的.实现可用性的战术分为三类:错误检测(用来检测故障的健康监视).错误恢复(检测到故障时的恢复).错误预防(阻止错误演变为故障).用于检测错误的3个战术是: 信号/响应.心跳.异常.用于错误恢复的战术有7种:表决.主动冗余.被动冗余.备件.shadow操作.状态再

如何实现基于ssh框架的投票系统的的质量属性

通过对系统的六个质量属性制定战术,进行实现. 1.  可用性(Availability)的战术 首先需要知道什么是可用性?可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的. 制定可用性战术是为了使系统的错误通过该战术,尽可能的减少或者屏蔽.修复: 错误检测 信号/响应:通过投票网站主页,进行多次投票,查看投票结果是否正常,数据是否准确: 心跳:系统后台设置时钟,实时更新,检测时钟是否实时更新或出现暂停情况: 异常:使用抛出异常语句,当

基于Yii2的医院信息管理系统的质量属性

软件质量的好坏,不仅要看系统是否满足客户的功能性要求,也要看其是否满足客户的非功能性要求,系统非功能性用质量属性来描述.在软件体系结构设计中,相关的系统质量属性有可用性.可修改性.性能.安全性.可测试性和易用性,所以基于yii的医院信息管理系统应该满足可用性.可修改性.性能.安全性.可测试性和易用性.下面就以这六个质量属性通过场景来分析系统的质量属性. 1.可用性分析: 可用性是指系统能够正常运行的时间比例.它常用两次故障之间的时间长度或出现故障时系统能够回复正常的速度来表示. 场景部分 值 刺

基于框架的应用系统的质量属性

质量属性指的是影响质量的相关因素,是对质量的描述.下面我从6个常见的系统质量属性和一些其他质量属性进行系统的质量描述. 系统质量属性: 可用性: 在可用性方面,本系统可以相对应的任务如用户信息的传输,页面信息与数据库的传输,即可以完成特定任务和达到特定任务时具有高度的正确和完整度.在任务执行和信息传输时所用时间短和所占资源少.基于以上两个准则,让用户可以正常操作无障碍,使得系统具有较高的用户主管满意度.在应对可用性的战术中应用如心跳.异常等进行错误检测. 可修改性: 软件不是一成不变的,跟着用户

基于SSH的高校网上选课系统的质量属性的实现

我对于基于SSH的高校网上选课系统的质量属性的实现是从可用性.性能.安全性.可维护性.易用性五个方面进行的实现. 可用性方面: 实现方式:(1)当系统试图超出限制范围来进行课程查询或选课时必须进行错误检测并且抛出异常,中止进一步的错误操作,所采用的战术为错误(异常)检测, 此异常属于Action层,只捕获自定义应用异常,其他异常上抛.Struts2提供了异常拦截器,拦截器会将定义的异常捕获,记录日志,然后根据配置的异常的类型顺序跳转到相应的页面.(2)遵从J2EE的系统提供了可以使用的事务服务,

基于SSH框架的网上商城的质量属性

常见质量属性 1.性能 性能就是一个东西有多快,通常指响应时间或延迟. 响应时间:从发出请求到收到响应所用的时间,比如用户点击网页中的超链接或桌面应用程序中的按钮 延迟:消息从A点到B点,通过你的系统所用的时间. 就算构建的不是“高性能”软件系统,性能也可应用于Web应用系统.桌面应用系统.面向服务架构.消息系统等几乎所有你要构建的软件系统. 2.可用性 可用性是软件对服务请求的可操作和可见程度.你常会看到用“9”来衡量或指代可用性,如99.99%(四个9)或99.999%(五个9).这些数字指