带你读《SAS数据分析开发之道 软件质量的维度》第一章概览1.1引言(六)

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 带你读《SAS数据分析开发之道 软件质量的维度》第一章概览1.1引言

风险


从软件开发角度来讲,基本的风险包括软件功能性故障和性能故障。例如,一个   无恶意的威胁(如大数据)会利用软件的漏洞如一个潜在的错误,当遇到大数据时,该错误能限制有效范围,给商业价值带来风险(无效性能或功能性故障这些术语的定义在下面的威胁、漏洞及风险文本框中。尽管项目管理知识体系PMBOK)及其他资料将正面的风险看作机会,但本书只讨论负面的风险。

威胁、漏洞及风险

威胁 “可能会为一个或多个项目目标带来负面影响的风险。”“系统或系统环境的一种状态,该状态会从一个或多个已知的风险维度造成不利影响。”漏洞“信息系统、密码系统或部件(如系统安全程序、硬件设计、内部控制)存在的缺点,这些缺点可能会被其他程序利用。”风险 “一种未知的事件或情况,一旦发生,就会对一个或多个项目目标造成正面或负面的影响。”“系统组件、运算符、用户及环境中,非常态事件或故障发生的可能性与该事件或故障产生后果的组合。”故障

故障

软件故障通常是由利用漏洞的威胁引起的,但并不是所有的威胁和漏洞都会导致软件故障。错误(人为错误)可能会隐藏在代码中,开发人员可能会也可能不会发现这些漏洞。隐含的漏洞包括编码错误(缺陷,这些错误还不会导致故障,而已知的漏洞所包含的编码错误(潜在缺陷)则已经被识别,但尚待解决。第 4章将深入探究并区分这些术语。

例如,下面的 SAS代码在文献中通常看作是一种决定数据集中观测数据量的方法 :

procsqlnoprint;selectcount(*)into:obstotfromtemp;

quit;

 

该代码对观测数据少于 1亿的数据集有效,但由于这个阈值是交叉的,所以&OBSTOT会在数字记数法和科学记数法之间变化。例如,含有 1000万个观测数据的数据集会被表示为10000000,而含有 1亿个观测数据的数据集则被表示为 1E8

(1×108。对于运行此代码的SAS从业人员来讲,若要查看日志中观测数据的数量,这一差异不会有什么问题。然而,若后续的程序试图评价或比较    &OBSTOT,且被价的数据是在科学记数法模式下,则会出现运行错误,错误代码如下 :

%letobstot=1E8;

%if&obstot<5000000%then%putLESSTHAN5MILLION;

%else%putGREATERTHAN5MILLION;

 

LESSTHAN5MILLION

 

很显然,1亿并不小于 500万,但由于有两个潜在的错误,所以代码会存在漏洞,而改正其中一个错误就可消除漏洞,改变 &OBSTOT的赋值,添加一个能容纳更大数据的格式就可消除第一个错误,如使用 FORMAT指令进行演示。通过在

%SYSEVALF宏函数中添加数值比较就可消除第二个错误,这样会将 1E8解释为数字,而不是文本。我们对两种解决方案都进行了演示,而且改正任何一处错误都会消除漏    洞,防止故障的发生。

procsqlnoprint;

selectcount(*)format=15.0into:obstot

fromtemp;


quit;

 

%if%sysevalf(&obstot<5000000)%then%putLESSTHAN5MILLION;

%else%putGREATERTHAN5MILLION;

 

GREATERTHAN5MILLION

 

因为故障只发生在观测数据增加时,所以可以称作可扩展性错误。SAS从业人员没有预料到(并测试)遇到大型数据集时会出现什么状况。但如果 1 亿个观测数据阈

值不交叉,即便存在错误,代码也会继续运行,而不会出现故障。我们将在第 9扩展性“SAS 应用阈值部分深入讨论这种错误类型。

开发人员经常会有意地在软件中添加漏洞,例如,一个熟悉前述软件漏洞(被大    数据漏动利用的开发人员在设计能够处理含有小于1 万个观测数据的数据集软件时,可能会选择忽略软件中的这一错误。因为风险可忽略不计,因此,可以接受并如期发    布含有漏洞的软件。在其他情况下,威胁可能会带来较大的风险,但这些风险也会被    接受,因为消除或降低风险所花费的成本要远高于从中获得的好处。

未被利用的漏洞不会降低软件的可靠性,因为不会发生任何故障。例如,上述的潜在漏洞永远不会被利用,因为不会遇到大数据。然而,漏洞确实会增加软件发生故障的风险,因此,开发人员应知道软件的具体风险是什么。在这个例子中,风险是由SQL   程序内大数据的意外处理引起的,如果漏洞被利用,造成运行时错误或其他故障,那么软件的可靠性就会降低。我们在下一部分要讲到的风险登记表能帮助SAS   从业人员记录已知漏洞、预期风险及初步解决方案,以更好地评估和管理软件产品的风险级别。






相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
3月前
|
消息中间件 监控 数据可视化
实时看板数据分析的力量:推动高效决策的17个关键维度
实时看板数据分析通过可视化工具将企业运营数据实时整合展示,助力快速决策。它结合数据收集、处理与交互分析,广泛应用于制造、零售、金融等领域,提升响应速度与协作效率。技术上依赖流数据处理与可视化工具,如Power BI、Tableau等,同时关注数据安全与用户体验优化。
186 1
|
10月前
|
运维 监控 安全
公司监控软件:SAS 数据分析引擎驱动网络异常精准检测
在数字化商业环境中,企业网络系统面临复杂威胁。SAS 数据分析引擎凭借高效处理能力,成为网络异常检测的关键技术。通过统计分析、时间序列分析等方法,SAS 帮助企业及时发现并处理异常流量,确保网络安全和业务连续性。
156 11
|
存储 弹性计算 DataWorks
云端开发与数据分析的强强联合
通过这次方案的搭建和使用,我更加确信阿里云产品组合是企业数字化转型的强大助力。我鼓励大家积极探索和尝试这些服务,以发掘它们在实际业务中的潜力和价值。我深刻体会到了阿里云产品组合的强大能力和灵活性。它们不仅帮助我们解决了实际问题,还为未来的发展提供了坚实的基础。我强烈推荐其他企业和开发者尝试这样的产品组合,以提升开发效率和数据处理能力。
214 35
|
数据采集 存储 监控
数据驱动开发:如何将数据分析融入开发流程
【8月更文挑战第14天】数据驱动开发是一种高效、智能的软件开发方法论,它通过将数据分析深度融入开发流程中,实现了精准决策、提升效率和持续改进的目标。为了成功实施数据驱动开发,团队需要明确数据需求、设计合理的数据架构、集成数据收集工具、实施CI/CD流程、进行数据分析与决策支持以及建立反馈循环机制。同时,还需要应对数据质量、技术和组织与文化等挑战。通过不断努力和实践,团队可以逐步建立起完善的数据驱动开发体系,推动产品不断迭代升级和业务持续增长。
|
存储 数据挖掘 索引
Python streamlit框架开发数据分析网站并免费部署
使用Python的Streamlit框架,开发了一个在线数据分析工具,替代Excel查看设备温度CSV数据。通过pandas读取数据,matplotlib绘制图表。程序处理CSV,提取所需列,计算最大最小平均值,用户可多选查看特定数据。[GitHub](https://github.com/yigedaigua/MGHB)上有完整代码,应用已部署至Streamlit Cloud。
351 1
|
数据可视化 数据挖掘 Python
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
280 0
|
机器学习/深度学习 数据挖掘 BI
推荐一款 Python 数据分析报告开发与分享神器
推荐一款 Python 数据分析报告开发与分享神器
220 0
|
机器学习/深度学习 数据采集 人工智能
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
297 0
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
749 4
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
228 2