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

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

风险登记表

风险登记表旨在记录被识别的风险的相关信息。风险是所有软件应用程序内在的    属性,因此,风险登记表(有时也称为缺陷数据库)记录整个 SDLC 中的风险、威胁、漏洞及其他相关信息。开发人员和其他利益相关者应该确定在软件中添加哪些性能要    求,但不能在所有的软件中包含全部的性能要求。由于软件中会存在漏洞,因此,漏    洞的识别、检测和记录是非常重要的,这能帮助我们查明它们对软件操作造成的特定    风险。

风险登记表能定性和定量地记录已知的漏洞及软件功能或性能的相关威胁和风险,主要包括以下内容 :

■     漏洞描述 ;

■    漏洞位置 ;

■     漏洞的威胁 ;

■     漏洞被利用的风险 ;

■    风险级别 ;

■     风险发生的概率 ;

■     风险被发现的概率 ;

■     消除或降低风险的成本 ;

■    建议的解决方案。

有些风险登记表是按照漏洞等级组织的,而另外一些则是按照威胁或风险等级组织的。漏洞等级风险登记表在软件开发领域比较常见,因为尽管有许多威胁超出了开发人员的可控范围,但可以利用编程解决方案来消除或弥补特定的漏洞。而且,在一个软件产品内,类似大数据这种常见的威胁可以利用无数个不相关的漏洞。

1-1是一个简化的风险登记表,记录了代码中的两个错误。风险的级别、风险发生的概率、风险被发现的可能性及实施解决方案所需要的成本的数值范围(155表示风险比较严重、发生的概率比较大、被发现的可能性比较小、修复的成本较高。

1-1风险登记表范例

 

 

顺序

 

漏洞

 

位置

 

风险

风险级别

风险发生的概率

风险被发现的概率

风险成本

 

1

%SYSEVALF应该

用在评估中

 

小于运算符

科技符号未正确解读

 

5

 

1

 

5

 

1

 

2

 

没有格式指令

PROCSQL 

SELECT指令

科技符号未正确解读

 

5

 

1

 

5

 

1

 

第一个和第二个风险描述的是两个不同的漏洞,每一个都被含有1亿个以上观测数据的数据集威胁所利用。尽管遇到威胁时,5 表示最严重,但其发生的概率比较小, 值是 1,因为在该开发环境中,从未遇到过这么大的文件。

如果仅考虑上述两个因素,开发团队可能会鉴于漏洞发生的概率比较小,接受风险并发布含有漏洞的软件。但由于被发现的概率比较小(5——如果遇到威胁,不    会出现警告或运行时错误”——而且因为实施补救措施(修改其中一行代码)的成       本较低(1,开发团队可能转而会修改代码,消除风险,而不是接受风险。

建议的解决方案描述的是管理风险所选定的路径——通常有避开、转移、接受或降低,但表1-1中没有提到,我们会在后续部分进行讲述。建议的解决方案可能包括一个技术说明,说明如何管理风险。例如,如果要消除风险,那么解决方案可能会从编程方面描述如何消除或控制相关威胁,如何消除相关漏洞以避免被威胁利用。

 

风险管理

风险管理指的是指导和管理企业风险的协调活动。ISO     进一步定义了风险管理架构     :一系列提供理论依据和组织安排的组件,帮助企业设计、实施、监测、审查及提 升风险管理能力。本书所提到的操作软件风险指的是软件故障——与功能或性能相关   的故障,风险管理接受故障,将其看作是一个不可避免的事实,并努力去消除风险,    向利益相关者交付一个可接受的风险。故障并不能表示一定出现了运行错误,但能表    示软件不能再满足功能或性能要求。

风险登记表不仅包括理论上的、未被利用的软件漏洞,还包括实际的软件故障中    出现的漏洞。如果有故障日志,那么后一种故障便会出现在故障日志中(第   4章会讲到这一点。风险解决方案并不表示风险被消除,在许多情况下,漏洞一旦被识别, 开发人员就决定接受风险,保持源代码不变。常见的风险解决方案模式如下。

风险规避   :不参与或撤回某项活动以避免特定风险的知情决策。例如,如果软件发生故障,则停止使用。

风险共享     :根据商定的风险分配协议与他人共担风险的处理模式。例如,有些服等级协议规定,如果出现电源故障(引起生产软件故障,则事故责任转移到公司,不是由    O&M    团队、开发人员或用户承担。PMBOK    和其他系统使用另外一个术语风险转移

风险保留   :接受某个风险的潜在利润或损失的责任。利益相关人员在进行综合评价之后,认为解决风险是不合算的,他们就会保留或接受风险。PMBOK    和其他系统使用的是风险接受这个术语。

    风险消减降低风险发生的概率及风险潜在损失所采取的措施。例如,使用程序化解决方案来减少或消除软件的漏洞,如删除某个错误。

风险登记表对生产软件至关重要,因为它为内部利益相关人员提供了一个通用的架构来测定软件的优点或缺点。在某些情况下,一个注册簿中会创建一个独立的量化优先级,因此,开发人员可能会优先校正代码的一个元素,而客户可能会优先校正其他的元素,而利益相关者需要做的是投票选出如何有效地调整软件。通过评估软件的总风险,所有的利益相关者能清楚地掌握软件的质量。而且,由于风险登记表是一个不断变化、灵活的文件,因此,如果软件总风险随着时间推移越来越高,那么之前可被接受的风险之后可能需要被消除或减弱,使风险回到一个可接受的水平。

相关文章
|
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月前
|
数据可视化 数据挖掘 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
|
数据挖掘
怎么理解数据分析、维度和指标?
怎么理解数据分析、维度和指标?
|
3月前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
71 2
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
161 4