Community Day 深圳站社区嘉年华,诚邀对技术抱有高度热忱的你!报名戳 了解详情
写点什么

软件质量简介

  • 2012-04-12
  • 本文字数:1043 字

    阅读完需:约 3 分钟

最近, Chappell & Associates 的负责人 David Chappell 发表两篇文章,讲述了软件质量的一些不同方面:功能、架构和流程;质量与用户、开发人员和投资者的关系;以及随着时间的推移,外部软件和内部软件的缺陷会造成的影响。

在文章 The Three Aspects of Software Quality: Functional, Structural, and Process (PDF)中,Chappell 概括了软件质量的三个方面:功能、架构和流程,它们都在某种程度上和关注最终产品或服务的三类人:用户、开发人员和投资者有关。功能质量指的是软件执行其用户所要求的任务的好坏。Chappell 为软件功能质量定义了四个属性:

  • 软件符合指定需求
  • 软件几乎没有缺陷
  • 软件性能正常
  • 软件容易上手,操作方便

架构质量衡量的是软件设计的好坏,由以下属性来反映:

  • 代码可测试性
  • 代码可维护性
  • 代码可读性
  • 代码效率——是否高效地管理了资源?
  • 代码安全性——是否能够预防常见的安全威胁?

尽管在谈论软件质量时,功能质量和架构质量往往位高权重,但 Chappell 认为流程质量同样非常重要,那些耳熟能详的属性包括:

  • 软件按时交付
  • 软件满足预算
  • 有可复用的开发流程,能确保交付优质软件

Chappell 认为,用户最关注的是功能质量,其次是流程质量中的交付日期。开发人员最看重架构质量,因为这会直接影响他们的工作,当然他们也会关注功能质量,虽然不像用户那么看重。同时,他们也在意流程质量,因为“这涉及到很多他们的绩效指标”。项目投资者则重视软件质量的所有方面,他们知道任何方面都对最终结果有影响。

在文章 The Business Value of Software Quality (PDF)中,Chappell 谈论了糟糕的软件质量对商务的影响。他将软件分为两类:外部软件——公司的客户使用的软件,和内部软件——公司自己的职员使用的软件。

Chappell 回顾了一些惨痛事例,如 2011 年 4 月 Sony 旗下 PlayStation Network 的一个安全漏洞,仅仅由于某个数据库的一个已知安全隐患作威作福,7 千万用户遭受波及;还有 2011 年 10 月 RIM 公司某备用系统故障导致它的全球用户受影响整整三天。Chappell 认为,随着时间的推移,此类质量缺陷会给公司带来以下的损失:

  • 由于业务流失导致的经济损失
  • 由于赔偿导致的经济损失
  • 由于客户流失导致的经济损失
  • 由于法律诉讼导致的经济损失
  • 品牌价值的损失

随着时间的推移,内部软件的糟糕质量可能会造成:

  • 用户普及缓慢
  • 商业利益缩减
  • IT 经理如履薄冰
  • IT 部门信誉降低
  • 为软件外包提供可乘之机

不论内部软件还是外部软件,为了攀向成功之巅,质量的三个方面:功能、架构、流程都需要好好关注。

查看英文原文: An Introduction to Software Quality

2012-04-12 05:222548
用户头像

发布了 114 篇内容, 共 30.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Vue_cli2和Vue_cli3

Studying_swz

前端 10月月更

vue-router学习-1

Studying_swz

前端 10月月更

一种基于柔性事务的分布式事务解决方案设计探究

京东科技开发者

编程 分布式事务 事务 事务回滚 柔性事务

详解Native Memory Tracking 追踪区域分析

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

技术分享 | 测试开发工程师必读经典好书清单,抽奖赠书送福利!

霍格沃兹测试开发学社

算法 | 详解斐波那契数列问题

甜点cc

JavaScript 算法 10月月更 斐波那契数列

面试官:数据库加了唯一索引,就不会有重复数据了吗???

小小怪下士

Java MySQL 程序员

【网络安全篇】JavaSript基础内容大全

贤鱼很忙

10月月更

你真的了解过Vue的组件化开发吗🔥

渔戈

前端 Vue3 10月月更

全彩LED显示屏近年来在中国的发展趋势

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

【kafka运维】Topic的生产和消费运维脚本

石臻臻的杂货铺

kafka kafka运维 10月月更

升级全新网络方案,给你低成本、高性能的裸金属体验

华为云开发者联盟

云计算 后端 华为云 云服务器 企业号十月 PK 榜

【网络安全篇】--HTML基础(预计学习时间:30分钟)从此以后不迷糊~

贤鱼很忙

html 前端 10月月更

Vue的开发模式与webpack🔥

渔戈

前端 Vue3 10月月更

Java中的super和this关键字详解

共饮一杯无

Java 10月月更 super和this关键字

Vue_Webpack详解

Studying_swz

前端 10月月更

牛客刷题系列之初阶版(自守数,返回小于 N 的质数个数,第一个只出现一次的字符)

雪芙花

c c++ 10月月更

Python列表和元组有什么区别

芥末拌个饭吧

后端 python 3.5+ 10月月更

记一个“奇葩”需求的实现

甜点cc

JavaScript 前端 Element UI 10月月更

热门探讨:为何数字化转型的企业,大都“死”在了黎明前夕?

优秀

数字化转型

你真的了解v-model吗🔥

渔戈

前端 Vue3 10月月更

牛客刷题系列之进阶版(搜索旋转排序数组,链表内指定区间反转)

雪芙花

c c++ 10月月更

2022年第六届数据质量管理国际峰会重磅开启

数据质量管理智库

数据 数据隐私 数据安全 峰会 数据质量

基于Ernie-3.0 CAIL2019法研杯要素识别多标签分类任务

汀丶人工智能

nlp

校招面试真题 | 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?

霍格沃兹测试开发学社

复杂场景数据处理的 OLTP 与 OLAP 融合实践

NebulaGraph

数据库 知识图谱

C++精通之路:红黑树

雪芙花

c c++ 10月月更

【高并发】深度解析ScheduledThreadPoolExecutor类的源代码

冰河

并发编程 多线程 高并发 协程 异步编程

HashMap源码分析(六)

知识浅谈

hashmap 10月月更

openGemini内核源码正式对外开源

华为云开发者联盟

数据库 物联网 华为云 企业号十月 PK 榜

以指标驱动业务决策,Kyligence 亮相 Gartner IT Symposium/Xpo™ 峰会

Kyligence

数据分析 指标中台 OLAP技术

软件质量简介_架构_Abel Avram_InfoQ精选文章