带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.1质量的定义(一)-阿里云开发者社区

开发者社区> 人民邮电出版社> 正文

带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.1质量的定义(一)

简介: 带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.1质量的定义(一)
+关注继续查看

这是幼羊驼绒,喜欢吗?”“我不喜欢。

这布料很好,非常软,来试试!”你刚拒绝了落满灰尘的羊驼绒,它立刻又摆   在了你的面前,没有什么比这个更令人厌恶了。我迅速从自己所站的位置走开,躲开了这令人反感的举动。

不,我不需要!”                      

 “你想买什么?”                          

 “我想买点老式一点儿的东西……”

智利,特木科。不,没有人要向我推销幼羊驼绒,但我确实在街边市场的小货摊    上寻找纺织品和小饰品。货主是马普切人,马普切是一个因生产做工精细的纺织品而    著名的安第斯民族,他们生产纺织品的历史长达一千年,在技艺上始终追求一丝不苟、细致入微。我操着绊绊磕磕的西班牙语与他们讨价还价,他们则操着不流利的英语向    我展示一件又一件外套(安第斯西班牙语中的披风),有羊绒的、羊毛的、棉的,各种面料都有,整个下午就在讨价还价中度过了。对于马普切人来讲,幼羊驼绒是质量    的代名词,但于我而言,它暗含的意思则是“这件外套价格非常高”。

老式一点儿的?设计还是外形?”我不以为然地翻了个白眼,用手指拨弄着她  刚刚递给我的那件外套,翻看着它拙劣的针脚,货主 Maria   意识到自己眼前站着的人不是普通的游客,你瞧,我是外套方面的行家……

我徒步旅行了几个月,穿越了中美洲和南美洲,参观了库斯科、拉巴斯、圣地亚哥、瓦尔帕莱索及其他地方的纺织博物馆,大部分时间都是在拍摄和访问工作中的土著技工,观察他们的技巧,学习他们如何评价和区别纺织品的质量。

幼羊驼绒?!”

我转了个身,对她的喋喋不休感到很无奈,但幸运的是,货主的注意力转移到了刚来的顾客身上,刚来的外国顾客对到手的第一件披风就赞不绝口:“哦,好软啊!”

我哼了一声,笨蛋!

这是一件机器制作的披风,显然不是幼羊驼绒的,洗的时候可能会变形、掉色,这些外国顾客却心满意足地离开了。

Maria    又穷追不舍地走到我身边,手里抱着几件不知从哪淘来的老式外套。漂亮的针脚、自然的颜色、精心的设计和具有历史印记的图形    :我终于找到了马普切人因之闻名于世的高质量纺织品,是它曾吸引着我来到巴塔哥尼亚。


■■■

我对高质量披风的孜孜追求与我对软件质量的追求高度相似,当然,对于披风而言,我只是一个使用者    ;而对于软件而言,我却是一个创造者。从以上情景中,我们能够推断出以下几条常规的质量原则。

质量,像审美一样,都是情人眼里出西施,我们所认为的高质量在他人眼里并非也是如此。Maria认为(或至少努力在传达幼羊驼绒”指的质量较高,而我看重的却是针脚和古朴的设计。软件质量并不是一个看得见、摸得着的实体,即便抛开利益相关者的意图和看法,也不是能明明白白确定下来的。


质量包括许多不同的特征,任何人都无法面面俱到地对它所有的特征做出评价。    这些特征里包括功能性,如披风最重要的一点是防寒保暖     ;也包括性能,如披风的耐穿性或不褪色。软件质量模型也包括功能性和性能维度,它们规定了软件应达成什么    目标以及如何实现目标。如针脚较差的披风一般,软件有时能满足功能性需求,但时    间久了或用的时间长了,就会开线。

质量(或质量不高)并不总是能觉察到,如果对产品或产品类型没有系统的理解,则不能准确地确定(优先考虑)质量。我曾深入地研究过纺织品,并且有质量评估的    客观参考标准,但我遇见的那些游客并不像我一样做过这些准备。质量模型中有许多描述软件质量的特征,而且对这些维度和各个维度之间相互作用的理解能够提供一种参    考框架和一套词汇,便于参照国际公认的标准对质量进行站得住脚的、标准化的评估。


质量标准应该是可评估的,如果不能参照一个基准线评估和验证软件标准,那么即便质量标准是有帮助的,也是无效的。我不能区分幼羊驼绒和成年羊驼毛纤维,因此,即便知道自己是在为不确定的东西付出高额的费用,也没有什么意义。软件开发同样也会从可评估的要求中受益,它不仅能指导研发过程本身,还便于向客户和其他利益相关者解释软件质量。若没有可评估的标准,SAS从业人员如何能知道自己何时完成软件开发,或者软件是否能满足产品的意图?他们不知道。


质量并不总是我们追求的目标,因为它有内在的权衡取舍。游客购买物品时,我确实会突然插话,试图引导他们去追求“更高质量”的披风——至少是我心目中的高质量,但他们总是委婉礼貌地讲出自己的购买需求,披风是给孩子买的,所以不要求耐穿和高质量——他们只是想要点儿东西罢了。而且,他们需要赶公车,只有一点点购物的时间,因此,对他们而言购物经历比产品质量更重要。软件开发中总有一些权衡取舍,而且选择哪种构想都是经过深思熟虑的,而不是随意就做出决定。功能和性能决定质量,但两者在本质上又存在竞争关系。而且,软件质量与项目预算和项目成本之间也存在竞争关系,因此,许多开发项目可能会有许多质量之外的目标,或者有一些仅涉及功能而不涉及性能的要求。排除质量维度的决定通常需要有强有力的理由支撑,需要谨慎。


质量缺失会带来内在的风险,不管质量是被无意忽略还是有意排除。游客要离开    时,我在他们后面大声地喊:“洗的时候一定要用护丽洗涤剂,这样就不会缩水了!”我是提醒他们洗衣机可能会带来的风险——暴露廉价披风的弱点(缺点)。所有软件      开发项目都存在固有的风险,但若开发项目更重视其他概念,而在质量上侧重较少,    那么开发人员就应该清楚软件的漏洞以及这些漏洞会带来的具体风险。这样,质量包    含的好处和商业价值就能与质量排除的风险进行比较与权衡了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始。 数据指针:当前内存缓存区,输入数据所在位置。 PDV:Program Data Vector,在DATA步中所有涉及的变量被编程当前向量的一部分。 2. SAS编程基础 2.1 SAS逻
1488 0
SAS进阶《深入分析SAS》之数据汇总和展现
SAS进阶《深入分析SAS》之数据汇总和展现 1. 通过Print过程制作报表 proc print <data=数据集>; run; 选项: obs=修改观测序号列标签 noobs不显示观测序列号 id语句在输出中取代观测序列 var选择输出的变量 where语句选择输出的观测 总结如下: proc print data=数据集<选项&g
1165 0
SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理
SAS学习笔记之《SAS编程与数据挖掘商业案例》(3)变量操作、观测值操作、SAS数据集管理 1. SAS变量操作的常用语句 ASSIGNMENT 创建或修改变量 SUM 累加变量或表达式 KEEP 规定在数据集中保留的变量 DROP 规定在数据集中删除的变量 ARRAY 定义一个数组 RENAME
1387 0
SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制
SAS学习笔记之《SAS编程与数据挖掘商业案例》(4)DATA步循环与控制、常用全程语句、输出控制 1. 各种循环与控制 DO组 创建一个执行语句块 DO循环 根据下标变量重复执行DO和END之间的语句 DO WHILE 重复执行直到条件为假则退出循环 DO UNTIL 重复执行直到条件为真则退出循环 DO OVER 对隐含下标
1240 0
SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集
SAS进阶《深入解析SAS》之Base SAS基础、读取外部数据到SAS数据集 前言:在学习完《SAS编程与商业案例》后,虽然能够接手公司的基本工作,但是为了更深入的SAS学习,也为了站在更高的一个层次上去掌握和优化公司工作,故而又咬紧牙关加紧学习《深入解析SAS》.就目前的两本书的对比,显而易见的是本书比《SAS编程…》要厚的多,再者内容更新是2015年著,最后是内容详实
1746 0
SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程 1. 所谓数据挖掘,是指通过对大量的数据进行选择、探索与建模,来揭示包含在数据中以前不为人所知的模式或规律,从而为商业活动或科学研究提供帮助和服务。 2. 数据挖掘重要的两个类别:有监督分析(SupervisedAnalysis),无监督分析(UnsupervisedAnalysis)。 有监督分析属于目标
1072 0
472
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载