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

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

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

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

质量的定义

从常规、非技术层面来讲,质量可定义为“事物、产品或工作的优劣程度”。游    客因为不了解哥伦布时代以前的纺织品,因此会说这是一件质量上乘的披风然而,从技术层面来讲,质量通常与需求互联。美国电气与电子工程师学会(IEEE)   对质量的定义是“系统、元件或过程满足具体要求的程度”。国际标准化组织(ISO)对软件质量的定义是“在特定的使用条件下,软件产品满足明确或隐含需求的程度”。这种技术性与非技术性的区分对理解本书所涉及的质量至关重要,因为如果不了解软    件的功能性和性能意图,我们就无法对软件质量进行评估,不能凭空判断质量的优劣。

软件质量的一个重要方面是它涉及功能性和性能需求。功能性需求规定了软件预期的行为和目标,或它要做什么   ;而性能需求(以前称为非功能性需求)规定了软件操作的特征或属性,如预期行为完成到什么程度。例如,如果 SAS分析软件的目标是生成一份   HTML   报表,那么功能性需求中会详细指出该报表的内容、准确性、完整性及格式,以及数据清理操作、数据转换或其他过程。而软件有效使用大数据(可扩展性)的能力和在Windows及 UNIX环境中运行的能力(可移植性)则属于性能方面的要求。

为了有效地开发软件,SAS 从业人员需要了解软件所需的质量维度,质量维度通常可从隐含的需求中推断出来,也可由正式的需求文档指定。质量从软件规划和设计过程开始,这两个阶段会确定软件的需求和技术性要求。没有了要求,开发人员便无法知道自己开发的产品是可靠耐用、经得起反复使用,还是只是一个转瞬即逝的解决方案,只能由一个用户在某个无关重要的系统中运行一次。而且,若缺少一个公认的软件质量模型来界定质量维度和各个维度之间的相互关系,便很难确定软件的开发何时完成,以及软件是否实现了最终目标。


避开质量陷阱

质量在日常交流中出现的频率较高,因此,我们需要区分质量的具体定义和它在   软件开发中的含义。通常来讲,当单独提到质量时,如“这是一件质量上乘的毛呢大衣”,我们所表达的是产品或服务的优劣。而且同样的,当我们发现一家“高档的”泰国菜馆时,由于那里的泰式炒宽粉非常好吃,所以我们经常光顾那里!从这个角度    来看,质量表示的是对食物的独立评价,或者说它代表的是这家高档泰国菜馆与其他    一些食材一般的泰式餐厅之间的对比。因此,在评估或描述质量时,本质上就有对比,但对比并不是直接表达出来的,而是暗含的。


作为软件的使用者,我发现对比质量是比较普遍的。例如,我之所以使用   Gmail,是因为它的功能性和性能要优于其他的电子邮件应用程序。谈到功能性,我比较喜欢线程化邮件、整体一贯的布局及充分进行环境自定义的功能    ;谈到性能,高可用性的服务是非常可靠的,我相信Gmail服务器和基础架构的安全性。但在说到 Gmail质量较高时,我内心将这个电子邮件应用程序与之前用过的一些应用程序做了比较,之前的那些程序的功能性和性能都差一点。因此,软件使用者通常会根据自己的需求和要求确定软件的质量,同时也可能会比较某个软件程序与其他程序对自己需求的满足程度,在相互比较的基础上确定软件质量的高低。


但作为软件开发人员,我认为软件的质量是由ISO和 IEEE等组织决定的,这些组织规定,质量的评估必须参照需求或要求,而不是孤立地进行评价,或同其他软件    进行比较。这些定义与产品和项目管理文献中提到的一致     :质量表示“一组固有特性满足要求的程度”。如果不了解软件创建的目的,虽可以描述软件的功能性和性能,   但无法确定软件的质量——这就是我们经常遭遇的质量陷阱,而这主要是由质量的通用定义和行业具体定义之间的分歧导致的。


那么,质量这么复杂,我们该如何评估或讨论软件质量呢?如何告知某个同事,    他的软件一塌糊涂呢?软件质量模型被看作是一个行业标准,因为它是一个系统的、    标准化术语,能全面地描述软件性能。本书的主要目的是解释 ISO软件产品质量模型、它的优点和缺点及在    SAS   数据分析开发中的有效应用,以及它在介绍软件和软件需求词汇中的使用。

 

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

相关文章
SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定分组变量,用于控制SET,MERGE,UPDATE或MODIFY语句。 BY<DESCENDING>variable-1 <...<DESCENDI
1346 0
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
1166 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年著,最后是内容详实
1753 0
SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程 1. 所谓数据挖掘,是指通过对大量的数据进行选择、探索与建模,来揭示包含在数据中以前不为人所知的模式或规律,从而为商业活动或科学研究提供帮助和服务。 2. 数据挖掘重要的两个类别:有监督分析(SupervisedAnalysis),无监督分析(UnsupervisedAnalysis)。 有监督分析属于目标
1072 0
472
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载