带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.2软件产品质量模型(三)

简介: 带你读《SAS数据分析开发之道 软件质量的维度》第二章质量2.2软件产品质量模型

内部软件质量

内部软件质量的定义是软件产品在特定条件下使用时,它们的一组静态属性满足明确和隐含要求的能力。这些特征只能通过代码的静态审查观测,可读性有时会在附加的软件文档中体现。可测试性有时可通过一个正式的测试计划和测试案例进行评估,第 16可测试性会讲到这一点。

内部软件质量有时被称作白盒质量方法(玻璃箱,因为质量的评估是通过代码监测而不是代码执行完成的。软件复用的白盒视图是根据复用原则评估软件可被复用的程度,但要求手动查看代码,或通过解析代码的第三方软件审查代码。由于在传统加密的软件应用程序中,用户无法获取基础的代码,因此,他们无法评估内部的软件质量    ;如果他们缺少技术方面的经验,那么他们可能甚至都不知道内部软件质量这个概念。

静态性能需求

     静态性能需求指内部软件质量,如可维护性、模块化或稳定性。在某些组织和软件项目中,由于内部软件质量特征具有本质上的不显露性,所以与那些更容易观察的动态性能需求比起来,我们更难让利益相关者重视并进而将这些静态质量特征考虑进软件内。例如,我们很容易向客户阐释速度提升的好处,但若要解释清楚提升复用性的好处,则需要介绍复用性和软件的重复利用。

静态性能需求除了更难观测之外,它给利益相关人员带来的也不是即时的满足,    而代表的是对软件产品的未来投资。例如,当完善动态性能以提升软件运行速度时,    这效果不仅是可观测的,还是即时的。若要完善静态性能以提升软件的可读性或模块化时,这些改变是无法观测的(通过软件性能,而且,我们只能在下次软件需要审查或修改时才能看到此次改进的益处。模块化能够助长被改进的动态性能的功效,第 7  运行效率会讲到这一点,但通常来讲,静态性能需求既无法观测,又能获得即时的效果。但随着软件的预期使用期限不断延长,静态性能需求也变得  越来越重要,因为它们能提升软件的可维护性——这是增加软件寿命最关键的特征  之一。


混合质量

单个软件质量维度的组织是非常简单的,但由于术语定义的多样化,高级结构中

(如质量模型)质量维度的组织可能是非常复杂的。例如,外部软件质量包括功能性    和性能需求,软件的文献中通常会将这两种要求分开。这一点反映在 ISO软件产品质量模型中,该模型将功能的适用性(功能性)划归为软件产品质量。

其他质量模型包含了性能特征但删掉了功能性。例如,铁三角(项目范围、进度    和成本之间的联系)的许多定义将范围解释为具有独立质量和功能性的组件,这表明    它是一个不包含功能性的质量模型。国际商业分析研究所在业务分析知识体系指南

(BABOKGuide®)中的需求定义中将质量与功能性进行了区分 :

■     功能性需求   :系统在所管理的行为和信息方面应具有的功能   ;

■     非功能性需求或服务质量需求     :与系统的功能性行为没有直接的联系,而是指系统必须保持有效的运转状况或者系统必须具有的质量。

较多的质量模型混合存在,因为软件性能需求既包括动态性能需求,又包括静态性能需求,前者代表的是外部软件质量特征(删除功能性,而后者指内部软件质量特征。由于本书主要讲述软件性能,而不提及功能性(假设功能性需求在所有情况下均已达到,因此,本书所涉及的质量结构体现的是动态和静态性能的二元现象。

2-3展示的是混合质量结构,在对质量的多种诠释中,突出强调的是功能性、可靠性和可维护性。无论功能性是软件的一个成分,还是功能性和质量都是范围属性的成分,有一点是非常清楚的——软件功能性和软件性能之间确实会相互竞争资源,以期被优先考虑到软件产品需求中,质量的这一方面及其他权衡取舍会在后面部分进行讲解。

相关文章
|
30天前
|
机器学习/深度学习 数据采集 数据挖掘
实战派教学:掌握Scikit-learn,轻松实现数据分析与机器学习模型优化!
【10月更文挑战第4天】Scikit-learn凭借高效、易用及全面性成为数据科学领域的首选工具,简化了数据预处理、模型训练与评估流程,并提供丰富算法库。本文通过实战教学,详细介绍Scikit-learn的基础入门、数据预处理、模型选择与训练、评估及调优等关键步骤,助你快速掌握并优化数据分析与机器学习模型。从环境搭建到参数调优,每一步都配有示例代码,便于理解和实践。
78 2
|
5月前
|
文字识别 算法 数据挖掘
视觉智能开放平台产品使用合集之对于统计研究和数据分析,有哪些比较好的工具推荐
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
3月前
|
供应链 数据可视化 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
本文详细介绍了第十一届泰迪杯数据挖掘挑战赛B题的解决方案,涵盖了对产品订单数据的深入分析、多种因素对需求量影响的探讨,并建立了数学模型进行未来需求量的预测,同时提供了Python代码实现和结果可视化的方法。
119 3
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
|
3月前
|
数据采集 机器学习/深度学习 算法
"揭秘数据质量自动化的秘密武器:机器学习模型如何精准捕捉数据中的‘隐形陷阱’,让你的数据分析无懈可击?"
【8月更文挑战第20天】随着大数据成为核心资源,数据质量直接影响机器学习模型的准确性和效果。传统的人工审查方法效率低且易错。本文介绍如何运用机器学习自动化评估数据质量,解决缺失值、异常值等问题,提升模型训练效率和预测准确性。通过Python和scikit-learn示例展示了异常值检测的过程,最后强调在自动化评估的同时结合人工审查的重要性。
87 2
|
3月前
|
数据采集 存储 监控
数据驱动开发:如何将数据分析融入开发流程
【8月更文挑战第14天】数据驱动开发是一种高效、智能的软件开发方法论,它通过将数据分析深度融入开发流程中,实现了精准决策、提升效率和持续改进的目标。为了成功实施数据驱动开发,团队需要明确数据需求、设计合理的数据架构、集成数据收集工具、实施CI/CD流程、进行数据分析与决策支持以及建立反馈循环机制。同时,还需要应对数据质量、技术和组织与文化等挑战。通过不断努力和实践,团队可以逐步建立起完善的数据驱动开发体系,推动产品不断迭代升级和业务持续增长。
|
3月前
|
机器学习/深度学习 前端开发 数据挖掘
基于Python Django的房价数据分析平台,包括大屏和后台数据管理,有线性、向量机、梯度提升树、bp神经网络等模型
本文介绍了一个基于Python Django框架开发的房价数据分析平台,该平台集成了多种机器学习模型,包括线性回归、SVM、GBDT和BP神经网络,用于房价预测和市场分析,同时提供了前端大屏展示和后台数据管理功能。
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
【python】python母婴数据分析模型预测可视化(数据集+论文+PPT+源码)【独一无二】
【python】python母婴数据分析模型预测可视化(数据集+论文+PPT+源码)【独一无二】
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二
本文提供了第十一届泰迪杯数据挖掘挑战赛B题问题二的详细解题步骤,包括时间序列预测模型的建立、多元输入时间预测问题的分析、时间序列预测的建模步骤、改进模型的方法,以及使用Python进行SARIMA模型拟合和预测的具体实现过程。
66 1
|
3月前
|
供应链 算法 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛B题的解决方案,深入分析了产品订单数据,并使用Arimax和Var模型进行了需求预测,旨在为企业供应链管理提供科学依据,论文共23页并包含实现代码。
92 0
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
|
4月前
|
机器学习/深度学习 算法 数据挖掘
从零到精通:Scikit-learn在手,数据分析与机器学习模型评估不再难!
【7月更文挑战第25天】在数据科学中,模型评估是理解模型泛化能力的关键。对新手来说,众多评估指标可能令人困惑,但Scikit-learn简化了这一过程。
55 2