AIGC在金融场景是如何落地的? 了解详情
写点什么

软件质量简介

  • 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:222600
用户头像

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

关注

评论

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

一个DNS引发的“血案”

穿过生命散发芬芳

Wireshark 数据包分析 4月日更

Redis 最后一课

escray

redis 学习 极客时间 Redis 核心技术与实战 4月日更

线上PHP服务故障排查之路

风翱

PHP-FPM 线上事故 4月日更

如何引入TDD实践

顿晓

TDD 4月日更

新华三“云屏”发布:云屏融合重塑工作体验,全力构建智“会”时代

DT极客

我的 2015-2018 —— 银行软开三年项目回顾

清秋

大前端 重构 鉴权 4月日更

Inference Engine情感分类实践

IT蜗壳-Tango

IT蜗壳教学 4月日更

Go1.16 中模块的新变化

Rayjun

Go 语言

微服务网关:Spring Cloud Gateway —— Zuul

程序员架构进阶

微服务 网关 28天写作 4月日更

Android音视频 - MediaCodec编解码音视频

LoveYFan

android 音视频 编解码

Android音视频 - EGL源码解析以及C++实现

LoveYFan

android 音视频 OpenGL ES

深入浅出 LVS 负载均衡系列(一):NAT、FULLNAT 模型原理

UCloud技术

负载均衡

你真的懂反馈吗?

石云升

28天写作 职场经验 管理经验 4月日更

CI/CD之基于Jenkins的发布平台实践

小江

DevOps jenkins CI/CD 发布流程

调整云计算资源大小时要避免的10个错误

浪潮云

云计算

游戏数据埋点

data_y

游戏 数据埋点 游戏数据分析 埋点定义

【得物技术】算法入门一:算法的好坏?复杂度告诉你

得物技术

算法 时间复杂度 大前端 入门 复杂度

翻译:《实用的Python编程》08_01_Testing

codists

Python

那束漂亮的手捧花

小天同学

爱情 4月日更 幸福 传递

聊聊云厂商的指标监控组件

耳东@Erdong

Prometheus 4月日更 #Grafana

使用FFmpeg开发的那些事

Bob

音视频 ffmpeg 开源文化

「开源免费」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表单设计器(五)

crudapi

Vue crud 动态表单 quasar cruapi

聪明人的训练(九)

Changing Lin

4月日更

JavaScript小笔记

赫鲁小夫

4月日更

浅论结构体与联合体

Integer

c

深圳龙华携手腾讯云 加快推进区块链先行试验区建设

CECBC

经典递归

山@支

spring的IOC使用以及原理

邱学喆

spring ioc 对象创建 属性注入

在业务高峰期拔掉服务器电源是一种怎样的体验?

冰河

分布式 微服务 数据恢复 MySQL 高可用 异常处理

三翼鸟的羽翼下,人诗意地栖居在智能生活里

脑极体

使用Composition API在Vue3中创建防抖搜索输入框

devpoint

vite Vue3 防抖

  • 扫码添加小助手
    领取最新资料包
软件质量简介_架构_Abel Avram_InfoQ精选文章