基于贝叶斯网络的软件系统需求风险评估研究
基于贝叶斯网络的软件系统需求风险评估研究
文/吴召俊
现阶段,对软件的可靠性进行评估通常是以贝叶斯理论作为
基础进行评估,本文中对软件系统需求风险评估的方法是通过构
造贝叶斯网络模型,从而对需求风险以及需求风险源之间的关系
进行描述,定量的描述每个节点所对应的需求风险所发生的概率
以及风险产生的影响,进而得出综合的需求风险值,从而构建起
软件系统需求风险评估模型,为风险管理员识别高风险的软件需
求模块提供依据。该软件系统需求风险评估方法的设计主要分为
三个流程模块,分别为:风险识别模块、风险分析模块以及风险评估模块。
【关键词】贝叶斯网络 软件系统 风险评估
1 软件需求风险的含义及其成因
1.1 软件需求和软件需求风险软件需求通常指的是为了满足合同、规
范、标准和其他要求 , 软件系统或系统组件必须具备能力 ; 或指用户解决问题 , 实现一个特
定的目标必须有一种软件的能力。软件的需求风险指的是软件开发过程中 , 由于软件需求本
身含义 , 开发者和用户之间缺乏有效的沟通 ,并要求用户或改变随着时间的推移和变更等原
因 , 导致不当的分析软件需求 , 最终开发的软件的功能偏差的可能性从用户的实际需求。在
软件开发的早期阶段 , 如果没有准确的需求分析 , 可能会延长软件开发周期 , 提高软件开发
成本 , 创建软件交付被推迟 , 信用受到严重影响的后果。
1.2 软件需求风险的原因分析
参与的主体是软件需求分析、需求风险因素主要涉及到提供者和需求方面的分析。需求
风险的来源、环境、需求和本身是主要的组成部分。如果使用 RR 说需求风险 ,R 表示需求本
身 ,RP 需求提供者说 ,RA 需求分析说 , 环境 ,E表示 , 需求风险是 R,RP,RA,E 函数的四个因素 ,
可以表述为 :RR = f(R,RP、RA、E)。需求原因主要是与这些因素有关。首先 , 完整和详细的
需求的程度 , 可能会引起软件风险的需求。软件系统几乎不可能一次性确定所有的需求的具体范围和具体要求 , 和需要改进的过程中发展
的需求 , 这将增加软件需求分析的困难。其次 , 对环境 , 由于用户的变化 , 时间 , 或
者不全面的识别要求。需求不清楚 , 和业务的变化 , 等等 , 可能导致对环境变化的需求 , 使
整个软件开发周期也发生了变化 , 从而导致需求的变化 , 导致一些潜在的或新的需求 , 增加
需求的风险。最后 , 需求方面的提供方和分析风险之间缺乏有效的沟通是导致需求的重要因
素之一。对自己的要求 , 通常情况下 , 提供者需要表达是不正确的,倾向于表达自己的目的,
和一丝不苟的工作流程或不能明确的提出商业计划 , 让开发人员将提供方的实际需求了解不
足 , 或因为一些错误的理解需求之间的沟通障碍可能产生风险的需求。
2 软件系统需求风险评估模型的设计过程
2.1 风险识别模块
风险识别是风险分析的基础上 , 对风险评估的需求的第一步 , 它主要通过识别需求的需
求分析阶段风险,以便明确初始需求风险列表。根据每个风险列表的需求 , 识别风险来源 , 计
算了最终需求 , 包括需求风险类别及其来源 ,风险列表。
2.1.1 风险识别模块需要实现的功能
(1)风险识别的需求。答:风险识别的目的。在软件开发的早期阶段 , 需求分析,需求不清楚,和不正当方法选择的潜在风险,
如不合理,因此,对风险识别的需要 , 挖掘隐藏的风险,风险评估,了解其发生的概率、
可能的影响,以便采取有效措施避免或解决这些风险,最大限度地减少伤害的风险。B:风险识别方法:更典型、有代表性的方法 : 基于
风险问卷的分类 ( 分类——basedQuestionnaire
TBQ), 风险检查表法、德尔菲法、头脑风暴法和访谈法等方法。(2)需求识别风险来源。
采用有效的方法来识别需求的原因各种各样的风险 , 风险识别模块功能至关重要。(3)需
求风险列表的生成。识别各种风险和风险来源,删除重复的使用 , 类似于合并 , 并添加丢失的风险 , 风险来源的方法 , 将最终的风险列表。
2.1.2 风险识别模块的输入源的需求
(1)软件项目成员和专家根据项目的具
体特点,使用各种方法来确定需求的风险。需求的模块输出的风险,包括风险和风险来源列
表。信息存储在知识库的经验和原始需求风险清单,知识需求风险的分类列表,等等。
(2)风险分析模块。结合风险识别模块
的最终需求风险列表 , 明确之间风险来源、风险和风险和风险之间的因果关系 , 以建立一个
风险评估模块需求评估载体:贝叶斯网络结构。根据这一数字 , 深入挖掘的相关数据 , 并结合
识别等信息输入源模块 , 确定每个节点的分布对应的参数需求风险 , 风险评估的下一步。风
险分析模块主要通过贝叶斯网络结构学习方法和构造贝叶斯网络基于专家经验的方法 , 两种方法 , 对贝叶斯网络结构的建设。
(3)风险评估模块。风险评估模型的模块是核心模块 , 是基于参数以及建立贝叶斯网
络结构 , 计算每个节点对应的需求风险概率 ,并结合当前项目的特点 , 对各种风险的需求 ,
量化的影响 , 结合需求风险的影响 , 以及产品的需求风险概率 , 将总体风险量化值。使用推
理算法 ( 使用贝叶斯定理的条件概率表及其网络结构计算方法 ) 实现发生概率风险评估的需求。
在贝叶斯网络中设置有三个节点集合在X,Y,Z, 和三个互不相交节点之间。如果任何节
点的节点集 X 节点集的可能路径,路径没有满足要求:1. 所有节点的路径是不属于 Z 的集
合;2. 路径,节点的指示边缘点附近的两个节点的节点本身,和节点及其子节点的节点属于
Z . 这种情况被称为节点集 X 和 Y Z 设置必须
分手,记住:d(X,Z,Y) 如果节点集 X 和 Y 是节点集 Z 分手,那么它将所有的节点 X,Z 毕竟给定的状态和 Y 条件独立于所有节点。
作者单位海南师范大学 海南省海口市 571158