APP下载

一种基于BP神经网络的软件需求分析风险评估模型的研究

2016-05-14杨明莉

山东工业技术 2016年4期
关键词:BP神经网络风险分析

摘 要:软件需求分析不仅仅是为了让开发者满足用户要求,而且还可以帮助用户了解软件的性能和功能,具有一举两得的效果,但是如果软件需求不符合实际需求,就会出现风险,导致返工。在BP神经网络的基础上,我们建立了软件需求分析风险评估模型,以减少软件开发的失败率,规避因软件需求分析失误而带来的实际存在的或潜在的风险。

关键词:风险;软件需求;BP神经网络;研究;分析

DOI:10.16640/j.cnki.37-1222/t.2016.04.128

0 引言

软件开发过程中,需求分析是一个关键性的阶段。导致它失败的原因有很多,例如开发者和用户之间的沟通障碍、软件本身的隐含性、需求信息的不对称等等。这些问题导致的返工,增加了开发的成本,也损坏了企业形象,更可能流失掉部分用户。因此,我们必须对软件需求分析进行风险评估管理,把负面影响降到最低。现代商业发展中,各企业和企业之间的竞争日趋激烈, 掌握最新的技术,对技术进行创新,才是企业在行业内立足脚跟,获得更加长远发展的方法,因此要想牢牢地把握企业的运命就需要我们保持对技术创新的热情,并在这条道路上乐此不疲。21世纪,只有掌握了最新和最具有创造性的技术,才能赢的最后的胜利,本文把BP网络与软件需求分析风险评估模型相结合,具有十分重要的意义。

1 BP神经网络

BP神经网络是开发者使用最多的神经网络之一,它具有算法简单、极强的鲁棒性、收敛速度极快等优点。最重要的一点是能够最大限度的接近其真实系统,非常适合于线性的、不确定的、模糊的软件风险数据。BP算法是一种用于前向多层神经网络的的反传学习算法。采用BP算法的数层感知器神经网络模型,它的基本思想是,学习过程由信号的正向传播和误差的反向传播两个过程组成。模糊理论采用模糊数学的方法,通过抽象思维,对处于多种因素作用下的事物做出总体评价。它的两大主要特征是:第一,结果清晰;第二,系统性强,这非常适合于各种非确定性问题的解决。

2 软件需求分析风险评估模型

开发过程中,了解软件需求是很重要的。软件开发主要是依据需求的不同而设计出的产品。它包括了业务需求(组织和客户高层次的目标)、用户需求(用户要求必须具备的需求)、功能需求(用户可以通过完成任务满足业务需求的产品中必须体现的软件功能)。各种不同的需求都以不同的角度来呈现,需要进行多方位的分析方可得出准确的结论。软件需求分析就是对用户所需软件应具备的属性进行分析,满足用户的真正需求。在完成软件需求分析后,我们要能得出用户所需的软件系统要能够做到哪些功能,对此还要有详细准确的说明书,也就是用户的使用说明书,让他们更快的了解产品。优秀的需求具有以下特点:完整性、准确性、可行性、必要性、无歧义性和可行性。

软件需求分析风险是指由于多方面的影响,如用户参与度、用户需求的拓展变化、多角度的考虑、设计的精准度和用户与开发者的充分沟通等等,而造成需求分析的不准确使得用户的软件需求得不到满足。该风险评估模型主要是为了降低软件需求分析中存在的风险,从而使得评估需求分析更具加有效和更易操作。

3 一种基于BP神经网络的软件需求分析风险评估模型

本文把BP神经网络和模糊理论加入到软件需求分析风险评估模型中,利用BP神经网络的非线性映射属性和模糊理论的超强表达能力与被理解力,帮助提高风险评估的有效性和预测性。 软件需求分析风险的评估模型包括风险识别、风险分析、风险评估三个模块。

风险识别的主要目的是考察研究软件需求分析阶段具体的情况,识别并记录该阶段存在的或潜在的风险,输入来源是专家的经验分析和历史风险数据库。一般步骤包括:a:找出软件需求分析风险指标;b:搜索历史数据库,列出存在的数据库中的历史案例;c:通过专家分析,列出具有风险等级的列表;d:将确定了的风险列表提交数据库并更新。

风险分析是细化第一阶段的风险,分析其产生的影响和等级,找出各指标与风险级别之间的线性关系亦或非线性关系。本文引入BP神经网络和模糊理论,利用BP神经网络实现风险评估指标和风险级别之间的非线性映射关系,还利用模糊理论的超强表达能力和容易理解的属性,提高整个风险评估模型的学习能力和表达能力,得出更符合实际的评估报告。主要的方法包括:a:揭示原因和结果之间的联系,追根溯源;b:建立模型进行认识和理解;C:通过尝试各种组合找出导致失败的因素。风险评估需最后明确所有存在的风险和它们的等级,给予开发者一个详细的报告。本阶段只要利用BP神经网络的输入层、输出层、隐含层数、隐含层节点数。输入层节点是经过模糊预处理的17个需求分析风险评估指标;输出层节点是需求分析风险等级;隐含层数越多性能越高误差越低;隐含节点越多,网络功能越强大,但是过多则会使网络功能减弱。

在BP神经网络基础上,建立的软件需求分析风险评估模型,它操作的流程大致是三个方向。首先,识别软件需求分析阶段存在的、潜在的风险;然后,利用BP神经网络和模糊理论的特有属性、众多优点进行分析,通过历史数据库,专家知识、专家讨论,列出风险表格;最后,对风险进行最后的评估,从而有效预测软件开发过程中所遇到的风险,并且进行规避。

4 结束语

随着经济的高速发展,网络软件也成为人们工作生活中一个非常重要的工具。软件需求的增多带来了很多的问题,软件开发的过程充满了阻碍,软件需求的满意度也在日渐降低。因此,提高软件开发的速度、保证开发软件的质量,降低风险、减少开发成本、满足用户真正的需求等等,对软件需求分析风险进行评估,建立软件需求分析风险评估模型,是一件非常值得研究和实施的事情。本文研究的内容不仅仅达到了需求分析的目的,提出了新的思维方式和参考方向,而且还能更有效的预测软件需求分析风险,真正满足用户的软件需求。

基金项目:吉林省教育厅“十二五”科学技术研究项目“基于AHP和群决策向量分析高校干部综合测评方法和系统实现”(吉教科合字第2013402号);吉林省教育科学“十二五”规划课题“构建以学习者为主体的远程教育支持服务体系的研究”(GH150583)。

参考文献:

[1]李华,曹晓龙,成江荣.BP神经网络在软件项目风险评估中的应用[J].计算机仿真,2011,28(07):374-378.

作者简介:杨明莉(1977-),女,副教授,研究方向:计算机软件与理论。

猜你喜欢

BP神经网络风险分析
分析:是谁要过节
回头潮
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
中国经济转型的结构性特征、风险与效率提升路径
互联网金融的风险分析与管理
BP神经网络算法在数值预报产品释用中的应用
企业纳税筹划风险及防范措施
Units 13—14解题分析