软件开发中的风险控制方法

2022-03-21版权声明我要投稿

  摘要:本文研究了软件开发中的风险控制方法。风险管理,是软件开发过程中不可缺少的环节,是软件开发过程中的必要步骤,在最大限度地减少项目在部署到生产之前可能会出现的各种问题起到重要作用。为了在信息技术市场中可持续发展,各企业都已经将风险管理作为软件开发过程中的一项强制性工作。然而,由于技术和市场的动态变化,就需要不断改进现有的风险管理策略。本文旨在推进当前风险管理策略,并提出一种新的方法。这种方法强调识别、分类和优先顺序,调整参数,如成本、时间、人员、过程等。通过实时的风险数据来验证这个方法的可行性。

  关键词:软件工程;软件质量;软件开发;客户满意度;

  每个IT公司都必须成功解决软件开发过程中的各种挑战。通过这种方式,可以减少复杂性,并确保在发展过程中的可持续性。由于软件开发过程需要遵循系统和定义明确的生命周期,因此开发人员和管理人员可以在部署软件之前设计、构建和测试软件,然后在部署到客户现场。按照以上步骤实施时,任何违反的因素都会造成无法想象的意外出现,如果处理不及时,就变成了风险。

  预测项目中不可预见的情况是一个挑战,通过制定适当的风险管理计划,它们仍然可以以一种不受干扰的方式进行管理。每一次风险的发生时,都必须记录下来,做好管理和处理工作,以避免在此发生此类事件。然而,在软件开发的时候,风险在任何时候都有可能发生,也可能由于以下几个因素,例如:新的客户、资源可用性、新技术、新员工、不恰当的计划以及管理等。因此,风险管理计划是十分必要的。[1]

2 文件提交程序

  因为风险已经被证明是软件开发种最大的风险之一,也是评估一个软件产品质量的主要因素之一,因此,研究制定有效降低风险的危害性十分有必要。在软件开发过程中,为了在项目生命周期中进行决策和风险监测,要注意分析适当性和实用性指标,保持其完整性。

  软件风险评估可以用概率图形法(BBN-Bayesian)进行。这种方法有助于将重点放在软件风险指标,这些指标是基于从软件开发项目中收集的数据。这一点可以通过对最流行的软件进行调查来证明其软件开发过程模型。另一种方法采用适当的风险管理,将软件风险和软件安全结合起来,称之为循环模型,它可以帮助开发人员在开发的早期阶段识别和减少风险。有人也提出了一种风险管理模式,叫做面向项目的风险管理,这个模型解决了软件开发种协调与沟通的挑战。由于在软件开发中将面临诸多的挑战,可以通过有效的风险管理来避免问题,带来成功。[2]

3 ERA风险管理

  尽管有许多建设性的策略来管理风险,但是,一个小小的问题就可能对项目造成灾难性的结果。因此,处理风险的不确定性成为项目管理的一个重要研究领域。尽管进行了广泛的研究,但在处理突发威胁方面的改进的余地还很大。此外,导致这些威胁泄露的原因有很多。有时,一些风险没有被发现,其影响只有在项目开发结束时才会被看到,从而影响到组织的更高层面。因此,该由于项目的模糊性,风险持续存在,可能成为一个复杂的过程。因此,本文的目的是通过引入"增强型"的风险管理策略来加强风险管理。风险管理战略,引入强化的风险分析(ERA)方法,该方法作为在软件开发的每个阶段检测和分析风险一种探测和分析风险的有效技术。这种方法将进一步使管理人员能够量化和评估每个风险在成本、时间、人员和流程方面的影响,将有助于在开发过程中做出决定,了解风险的严重性,从而导致风险的优先排序,并因此及时缓解。

  3.1 实证调查

  为了了解现有的风险管理的相关方法,我们用抽样数据进行了一次实验,并分析了其对企业成功的影响。通过对数据进行实验,分析了其对软件项目成功的影响。在软件开发团队的帮助下,收集了各组织的项目数据。调查的主要目的是了解现有风险管理策略中尚未解决的威胁,以确定其中的差距,并建议如何解决这些问题。识别其中的差距,并建议如何利用ERA方法来填补这些差距。

  然而,数据类型表示为调查目的而收集的数据,它包括来自开发的数据,如需求工程、设计、协议,以及代码、测试案例和测试结果。抽样类型是在选择风险时采用的选择性抽样。此外,从抽样的项目中,选择了表明不确定性的数据被选中(风险)。此外,根据项目开发者、项目经理、测试团队和利益相关者提供的信息,风险会被记录下来。

  为了缩小对数据的调查范围,制定了一些假设,如下所示:

  (1)风险样本仅取自那些项目,这些项目遵循完整的软件开发生命周期(SDLC)的项目。

  (2)选择的软件项目类型主要有基于产品、基于服务、基于改进和支持项目。灵活型的项目类型的项目,以及其他像嵌入式或基于网络的项目都没有被考虑。

  (3)属于SDLC的所有、任何开发阶段的风险,不反映生产风险。

  因此,从文献调查以及从对各种项目进行的实证调查来看,无论在项目中采用何种风险管理策略,风险都是普遍存在的。这进一步表明,有必要改进现有的风险管理技术。因此,风险分析(ERA)技术得到了应用。[3]

  3.2 风险分析(ERA)方法

  风险分析(ERA)是一种方法,帮助决策团队评估项目中涉及的错综复杂的风险。这种方法包括各种连续的活动模式,最终导致了风险分析的设计。

  ERA方法是一种生产前的活动。根据这个过程,根据项目的类型,风险可以分类长期项目或短期项目。这种项目的分类有助于开发人员以更准确的方式识别风险,一旦项目分类完成,风险类型就可以被识别出来,是一个非常准确的方式。基于所属的平台,风险分类被进一步分析如下。

  (1)沟通风险-由于缺乏有效地沟通而产生的风险。

  (2)质量风险-由于缺乏质量维护而产生的风险。

  (3)技术风险-由于技术挑战而产生的风险。

  (4)系统配置风险--由于不适当、不完整的系统配置而导致的风险。

  (5)估算风险-由于错误的估算或没有以正确的方式估计而产生的风险。

  一旦风险类型被分类,就需要根据其发生的概率和影响的程度来衡量。在这种方法中,风险影响的衡量标准是参数CTP2,即:C-成本、T-时间、P-人和P-过程,并以受影响最大的部分为基础。成本往往是受影响最突出的部分之一。

  然而,风险优先权需要在风险概率指数(RPI)和风险指数水平(RIL)的帮助下确定。RPI衡量风险的发生率为非常频繁、频繁、罕见或不可能。RIL是根据风险的性质来确定的,即如果风险属于工作停顿类型,则为非常高的风险。如果它引起部署错误或语法错误,在某些条件下是一个工作障碍,则为高风险。否则,它可以被认为是一个低风险。基于RPI和RIL值,对风险进行优先排序。[4]

  因此,ERA方法是一种积极主动的策略,以确定识别风险的主动策略,可以通过回顾性策略进行后续的缓解。

  3.3 ERA的实验方法和结果

  本方法的目的是要做一个风险分析,从而使ERA方法可以主动应用,以帮助开发人员评估其影响,并以有效的方式对风险进行优先排序。

  图1显示了一个比较风险在注入阶段的比较。图2显示了感知阶段的风险数量比较。

  如果采用ERA方法时,要进行以下步骤进行。

  (1)项目的分类。项目被划分为短期、长期项目,其依据是所需的开发时间和资源所需的项目人员。

  (2)识别风险。风险可以被归类为以下任何一种,沟通风险,质量风险,技术风险,系统配置风险,以及估算风险。

  (3)CTP2进行风险测量。

  终端用户是管理员、客户、雇员,和经理。风险被注入,因为开发人员漏掉了增加了一个终端用户,即业务流程的外包(BPO)开发人员。由于整套的终端用户没有被定义,当一个未被定义的用户尝试使用该程序时,该程序的功能就会失效。当一个未定义的用户试图访问该应用程序,这反过来又影响了软件的使用。这是一个功能上的不足之处,因此,无论CTP2中受影响最大的参数是什么,成本是最终受影响最大的主要部分。

  (4)风险概率。

  风险1的RPI--发生的概率=1。

  可能发生的类型=非常频繁(一旦在生产中部署)。

  此外,风险1的RIL-风险性质=极高风险高风险(RIL>75%)。

  性质描述=工作停顿器

  根据上述步骤,也就是说,从1到4的风险1,这是在应用ERA方法时收集的。风险1现在被认为是一个分析的风险。这种分析风险的模式有助于人们制定战略来解决风险对软件产品质量的影响。[2]

4 结论

  风险管理是软件开发项目成长过程中的一个有益阶段,它有助于开发人员对软件开发活动的计划和过程进行扩展,有助于开发人员在软件行业中扩展开发活动的规划和进程。为了使其更加有利可图和富有成效,本文提出的ERA方法,不仅可以帮助开发者识别阶段性的风险,而且还展示了潜在风险而受到高度影响的部分。

参考文献

  [1]杨会兰.软件项目管理中的风险识别与管理分析[J].无线互联科技,2016(04):53-54+75.

  [2]王长峰,王化兰.大型软件研发项目安全性风险定量分析理论模型[J].清华大学学报(自然科学版),2009,49(S2):2103-2107.

  [3]Raghavi K Bhujang, Dr. Suma V.(2017). AComprehensive Solution for Risk Managementin software development projects, InternationalJournal of Intelligent Systems Technologies andApplications Inderscience Publishers Ltd.Indexed in Scopus

  [4]Rong Jiang,“A Novel Risk Metric for StaffTurnover in a Software Project Based onInformation Entropy”,Entropy 2015, 17, 2834-2852;doi:10.3390/e17052834.

作者:齐爱朋 单位:河南工业贸易职业学院

【软件开发中的风险控制方法】相关文章:

1.DPS软件在实验设计和统计方法教学中的应用

2.软件自动化测试方法的分析及应用

3.基于自回归模型的软件可靠性预测方法

4.系统软件开发过程中的软件工程技术

5.大数据时代下计算机软件技术应用方法的探讨

6.基于生命周期的软件开发动态风险管理

7.面向源代码可信证据的航天软件可信度评估方法

8.本地化软件过程管理系统建设方法

9.嵌入式软件安全漏洞的代码加固方法

10.产生式系统原理在联锁软件开发中的应用

11.云端虚拟仿真技术在《失效物理基础》课程中的应用

12.软件工程技术在网络时代背景下的发展

文档上传者