前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >几类系统需要关注的质量属性

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

作者头像
用户1172223
发布2018-12-07 14:14:28
1.2K0
发布2018-12-07 14:14:28
举报
文章被收录于专栏:哲学驱动设计哲学驱动设计

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云微搭低代码
微搭低代码是一个高性能的低代码开发平台,用户可通过拖拽式开发,可视化配置构建 PC Web、H5 和小程序应用。 支持打通企业内部数据,轻松实现企业微信管理、工作流、消息推送、用户权限等能力,实现企业内部系统管理。 连接微信生态,和微信支付、腾讯会议,腾讯文档等腾讯 SaaS 产品深度打通,支持原生小程序,助力企业内外部运营协同和营销管理。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档