通信工程软件项目开发及风险研究
2017-02-06孟荻
孟荻
摘要:文章主要介绍了通信工程软件开发研究实例,并根据该实例论述了软件项目开发的各种风险和风险影响因素,研究了风险怎样识别和预测以及风险的缓解、监控和管理方法。
关键词:通信工程;软件;开发研究;风险
在通信软件的开发过程中,往往会遇到很多风险,其中通信工程软件风险指的就是在软件开发的过程中遇到的由于软件本身的缺陷所带来的风险。由于各种风险的产生都具有一定的不可预测性,因此在进行风险防范的时候,也应该进行相应的决策选择。风险本身就是一种在确定与不确定之间的中间态,在进行通信软件工程开发的时候,风险的产生与很多方面的原因都有关系,比如客户的要求、开发过程中遇到的各种问题以及问题的处理效率、工作人员对各种技术的掌握水平等,这些都会影响到软件的开发效率。另外,由于人的思想观念以及行为的改变,也会给通信软件开发带来风险。在通信软件开发过程中,考虑到风险问题时,一个最重要的问题就是如何规避风险,尤其是要避免应用程序以及软件项目彻底失败的风险,如果在开发的过程中根本没有风险规避意识,则出现风险的可能性就会很大,而且常常会对开发者带来不可逆转的影响。对此,在进行软件开发的时候,就应该具有风险防范意识,能够制定一系列的风险防范预案,开发者要辨别一些比较常见的风险,使各种隐蔽的风险能够被及时发现,防止对软件开发带来持续性影响。
1远程通信及网上报销软件开发实例
需求分析:网上报销需求的提出,是在预算管控的基础上进行的。通过预算管理与总账系统的集成,满足财务会计科目级的预算控制管理。但是费用类报销的监控管理,财务希望前升到业务单据的提交,通过的单据生成财务数据,未通过则等待审批流程完毕。从另一方面,现在博奇的项目部分布较分散,报销业务处理不是很便捷,通过预算平台,则可以打破地区的限制,随时进行业务操作管理。
远程通信及网上报销的主要流程如图1所示。
远程通信及网上报销系统的操作流程如图2所示。
2通信工程软件风险
在软件开发过程中,常见的风险一般有2种特性,其中一个是不确定性,也就是说软件的风险有可能发生,也有可能不会发生;另一个是确定性,也就是风险确定会发生,对企业一定会产生影响,区别在于风险产生的影响大小。在分析风险时,首先就应该对风险的确认程度以及风险所带来的损失程度进行量化,使得开发者能够对风险及其损失有一个大致的认知。为了对风险产生准确的认知,则应该首先了解风险的类型:第一,项目风险。项目风险指的是软件开发项目所对应的风险,比如潜在的预算费用、客户的需求变化、开发的进度、开发人力资源等,这些都属于项目风险,会对软件开发进程带来一定的影响。该风险指的是潜在的预算、客户、需求、进度、资源、人力等方面的一些问题和它们对软件项目开发的影响。项目风险会威胁到项目计划,一旦风险变成损失,有的就会对项目的进度造成延期,增加项目的成本。项目风险因素还包括项目的复杂性、规模、结构等一些不确定性。第二,技术风险。软件开发过程中,技术人员的水平也会对开发项目产生一定的影响,比如在软件设计、软件调试、维护等过程中,如果技术人员的综合能力水平不高,则极有可能导致通信软件开发过程中出现各种问题,产生的风险是属于软件自身风险范畴内的。技术风险也会对项目风险产生影响,比如由于技术问题导致软件开发进度受影响,软件交货时间延迟等。第三,商业风险。商业风险也是软件开发过程中一种比较常见的风险,可能威胁到欲开发的通信工程软件是否可以生存,商业风险经常会危害到项目或产品。第四,通信工程软件识别风险。识别风险指的是在软件开发过程中应该了解整个项目的计划,从而能够明确在软件开发过程中可能出现哪些威胁。通过对一些己知风险的识别和一些未知的风险的预测,则可以避免相应的风险。对于每一种风险而言,都可以将其分为不同类型的风险,比如一般性风险和特定产品风险。一般性风险指的是一个软件开发过程中潜在的威胁,特定的风险指的是开发者在特定的环境下才能辨别的风险,比如在对项目开发的人员组成、技术能力等进行了解的基础上才能明确的风险就属于特定风险。为了对风险进行识别,则应该了解项目的计划以及软件范围的内容,从而对软件中存在的威胁到整个项目的风险因子进行排除,使得软件开发的一般性风险以及特定风险都能得到有效地控制。第五,过程风险。过程风险指的是在软件开发过程中所面临的风险,比如当一个软件设计不够清楚、软件的分析和测试都处于无序状态的时候,整个软件开发过程就很有可能面临较大的风险,整个项目所处的状态就不是很稳定。
对于每一种风险而言,都可以分为不同的程度等级,分别是轻微的、可忽略的、灾难性的、严重的,对于不同程度的风险,其产生的预期结果也会不相同。表1是关于不同程度的风险对比。
3风险预测
风险预测指的是对风险产生的可能性进行估算的过程,一般包括2个方面的内容:一个是发生风险的概率有多大,另一个是风险一旦发生之后其产生的影响有多大。从图3可以看出,根据各种风险的情况可以定义出一条终止线。这条终止线(表中某一点上的一条水平线)表示:只有在这条线以上的那些风险能够受到关注,对其进行控制,如果在这条线之下,则应该对其再评估之后才能进行第二次排序。
从管理的角度来看,对于一个发生概率较高但是风险程度较低的风险而言,不需要花费太多的时间进行处理,但是对于一些发生概率较高而且影响也比较严重的风险而言,则应该加强对这些风险的控制。
当风险发生的时候,应该对风险的产生后果进行评估,才能对风险有更加整体的了解,使得风险能够得到及时、有效的控制。风险产生之后的评估主要有3个方面的标准:一个是风险的性质;一个是风险持续的时间;一个是风险所波及的范围。风险性质指的是当风险产生的时候有可能出现的问题,比如在软件开发的过程中,软件与客户硬件接口之间不衔接,就有可能导致软件后期的集成出现较大的问题。风险的范围具体来说就是风险的分布情况,有的风险所覆盖的范围较大,产生的影响也比较严重。风险时间则指的是观察到风险的时间以及整个风险可能持续的时间。在普通情况下,一个软件开发的项目风险发生得越早越好,有助于对风险进行控制。在对风险进行评估的时候为了更好地对风险进行定义,则应该设定一个相应的参考值,从不同的参考值中就可以看出风险的基本要素。比如软件开发过程中的风险有性能、成本、进度,这些都可以作为风险参考值,一旦出现风险的时候,应该考虑各个风险值,在风险分析的过程中参考值往往会有一个临界点,在这个点上可以决定是要继续项目还是终止项目,当各种风险组合在一起时,可以产生一个相应的参考曲线,超过该参考曲线的风险会导致整个软件开发项目终止。
4风险缓解、监控和管理
对软件开发项目的风险进行预测就是为了更好地进行风险的防范和处理,在处理风险的时候,应该考虑4个方面的内容:一个是风险的避免;一个是风险的监控;一个是风险的管理;一个是意外事件预案。在对风险进行防范时可以制定一个风险缓解计划来实现,比如在软件工程项目的开发过程中,由于开发技术人员的流动,将会导致项目遭遇一定的风险,这些风险可以被称作项目风险。以某项目为例,根据以往的经验可知,在项目开发过程中外出人员的流动概率大约为70%,当人员流失的时候,就需要重新找新的技术人员继续完成开发任务,这就会增加成本,也会导致进度受到影响。为了缓解这个风险,项目的管理者要采取一定的策略对人员的流动概率进行控制,首先要找到人员频繁流动的原因,比如有的是因为工资待遇不高离职的,有的是因为工作条件不理想而选择离职的,因此企业或者项目管理者要采取相应的措施解决这些问题,比如提高工作环境的舒适度,对技术人员进行奖励等。另外,还应该对技术开发队伍进行储备,当人员出现流动的时候,能够及时找到相应的人员填补空缺,使得开发队伍团队能够保持稳定性,对各种软件项目进行开发。当项目出现变动的时候,就应该及时对管理策略进行调整,要合理利用开发技术人员,使他们能够在自己的岗位上发挥出相应的作用,防止风险不断扩大。
5结语
综上所述,通信工程项目软件风险是影响软件开发的一个重要因素,在开发软件的时候,应该作好软件风险的预测和分析。当前很多软件开发工程都注重进度,对风险的防范重视程度不高,导致风险对项目的影响较大。在开发过程中,项目管理者以及技术人员都应该有风险防范意识,能够辨识风险,对于风险产生的危害和影响进行评估,编制风险预案,从而使得各种风险能够得到有效的控制,促进软件开发项目的顺利推进。