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

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

质量的定义

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

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

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


避开质量陷阱

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


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


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


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

 

相关文章
|
3月前
|
数据采集 存储 监控
数据驱动开发:如何将数据分析融入开发流程
【8月更文挑战第14天】数据驱动开发是一种高效、智能的软件开发方法论,它通过将数据分析深度融入开发流程中,实现了精准决策、提升效率和持续改进的目标。为了成功实施数据驱动开发,团队需要明确数据需求、设计合理的数据架构、集成数据收集工具、实施CI/CD流程、进行数据分析与决策支持以及建立反馈循环机制。同时,还需要应对数据质量、技术和组织与文化等挑战。通过不断努力和实践,团队可以逐步建立起完善的数据驱动开发体系,推动产品不断迭代升级和业务持续增长。
|
5月前
|
存储 弹性计算 DataWorks
云端开发与数据分析的强强联合
通过这次方案的搭建和使用,我更加确信阿里云产品组合是企业数字化转型的强大助力。我鼓励大家积极探索和尝试这些服务,以发掘它们在实际业务中的潜力和价值。我深刻体会到了阿里云产品组合的强大能力和灵活性。它们不仅帮助我们解决了实际问题,还为未来的发展提供了坚实的基础。我强烈推荐其他企业和开发者尝试这样的产品组合,以提升开发效率和数据处理能力。
131 35
|
5月前
|
存储 数据挖掘 索引
Python streamlit框架开发数据分析网站并免费部署
使用Python的Streamlit框架,开发了一个在线数据分析工具,替代Excel查看设备温度CSV数据。通过pandas读取数据,matplotlib绘制图表。程序处理CSV,提取所需列,计算最大最小平均值,用户可多选查看特定数据。[GitHub](https://github.com/yigedaigua/MGHB)上有完整代码,应用已部署至Streamlit Cloud。
100 1
|
6月前
|
数据挖掘 数据库
GEE——降水数据分析(半天)图表分析含(IANA(IANA Time Zone Database) 时区名称的定义)
GEE——降水数据分析(半天)图表分析含(IANA(IANA Time Zone Database) 时区名称的定义)
83 1
|
6月前
|
数据可视化 数据挖掘 Python
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
144 0
|
6月前
|
机器学习/深度学习 数据挖掘 BI
推荐一款 Python 数据分析报告开发与分享神器
推荐一款 Python 数据分析报告开发与分享神器
118 0
|
6月前
|
机器学习/深度学习 数据采集 人工智能
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
119 0
|
SQL 数据采集 数据可视化
数据开发模块中的SQL和数据分析模块中的SQL查询
数据开发模块中的SQL和数据分析模块中的SQL查询
176 1
|
数据挖掘
怎么理解数据分析、维度和指标?
怎么理解数据分析、维度和指标?
|
机器学习/深度学习 人工智能 算法
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
175 0