2021-05-15 99 上传者:管理员
摘要:软件项目开发需要投入大量的人力、物力和财力,但在开发的过程中存在着诸多不确定性和可变性,因而有必要对软件项目风险进行管理与控制。本文通过对软件项目全程的风险识别、分析、应对及监测,在项目开发各阶段积极做好风险防控工作,以达到降低项目风险、减少风险损失的目的。
1、引言
风险是指在某项活动开展的过程中,一些突发的、不确定的因素对活动参与者造成损害、对自然环境造成破坏的概率[1]。与其他工程项目一样,软件项目的开发也存在着各种各样的风险,如项目资金透支、工期延长、系统不能满足需求等。因而在软件开发的过程中,做好风险管理将有助于降低开发风险,保证开发质量。
2、软件项目风险分类
2.1 技术风险
软件在分析、设计、测试及实施过程中,可能发生的潜在技术问题给软件项目带来的危害称为技术风险,如采用了陈旧或尚不成熟的技术、系统文档编制不规范等。
2.2 管理风险
管理风险是指由于项目在预算、人员、进度、资源等方面缺乏计划、控制与管理,从而对软件项目产生的不良影响。
2.3 商业风险
商业风险又称为市场风险,包括开发出来的软件产品不符合市场需求、对软件产品定位不清从而缺乏市场竞争力、市场竞品较多竞争激烈等。
2.4 安全风险
安全风险主要包括自然风险、人为风险、外部环境风险,如盗版、病毒等。
3、软件项目风险管理步骤
3.1 风险识别
风险识别阶段需要识别出哪些风险会影响软件项目的开发,包括这些风险的类别、因素、出处、后果等内容[2]。风险识别的常用方法包括以下几种。
(1)专家调查法。就软件项目开发风险问题,征询项目相关行业领域专家的意见,将收集到的意见和建议整理形成报告,随后将报告发送给各位专家再次进行征询。如此反复,经历数轮后,当专家们的意见趋于一致时就可得出最后结论。
(2)头脑风暴法。将项目开发小组成员、立项单位代表、邀请的专家顾问召集起来,通过会议的方式,就项目开发风险展开讨论交流,以期对项目风险进行准确识别、分析和预测。
(3)风险检测表法。设计并使用各类条目式风险检测表,帮助项目小组识别各种风险。如开发人员风险检测表,可以罗列出诸如开发人员技术水平如何、开发人员是否具有类似项目开发经验、开发人员的人数是否合适、开发人员是否能够自始至终地参加软件开发工作、开发人员是否能集中全部精力投入软件开发工作、开发人员是否接受过必要的培训、开发人员的人员流动是否能保证工作的连续性等条目。通过对这些问题的分析与回答,可以识别出人员因素对软件项目带来的风险。
3.2 风险分析
风险分析主要是针对风险事件发生概率及其后果进行评估[3]。为完成对各种风险的评估,需建立风险度量指标体系,明确各种风险带来的后果与损失,估算风险对软件项目的影响程度,最终给出风险估算的结果[4]。
风险分析时,常使用四元组[R,P,I,W]来对风险进行描述。其中R代表风险,P代表风险发生的概率,I代表风险带来的影响,W代表风险对项目影响的权重。由于能否按照合同规定的软件性能、时间和金额等条款完成软件开发工作,对项目的顺利验收起着至关重要的作用。因而重点选取成本、进度、软件性能三个方面对软件项目风险进行度量,当某一方面的度量值达到或超过临界点时,软件项目将被迫终止。
通常风险评估的过程可分为四步:(1)根据风险识别的结果,分析每种风险的发生概率,每种风险对项目成本、进度、软件性能三方面影响的大小,依据风险后果的严重程度为每种风险赋予不同的风险权重。(2)定义每种风险的四元组[R,P,I,W]。(3)定义项目被迫终止的临界点。(4)预测风险组合对项目的综合影响[5]。
3.3 风险应对
对可能发生的各种风险需拟定相应的应对策略。常用的应对策略有预防风险、风险转移、风险回避等。预防风险通常指通过提高软件项目各阶段的可靠性和规范性,从而降低风险发生概率。风险转移是指利用合同、保险、担保、出售、发包等方式[6],将风险发生时的部分损失转移至第三方,以降低己方风险损失。风险回避是指当某些风险的发生不可避免且后果较严重时,可对项目方案进行调整,更甚者则主动放弃该项目,以免造成不可挽回的损失。在完成风险识别、分析和应对策略选择后,应形成一个易于理解的风险分析与应对表,如表1所示。
3.4 风险监控
风险监控是指依据前期风险分析结果,监控风险应对措施的实施情况,加强对项目全过程风险的管控[7]。风险监控的目的是监测风险管理策略和应对措施的实际执行效果,看其是否达到预期目标,同时根据当前风险监控结果及时修正风险分析与应对表,或对项目中新识别的风险进行分析并制定相应的风险应对措施[8]。
4、风险防控措施
4.1 需求分析阶段
软件需求是软件开发的依据,也是软件验收的标准,因此对软件需求的精准确定就属于软件项目开发的重点和难点。一方面用户开始时很难完整且清楚地对软件系统的功能、性能、运行环境等方面的需求进行准确表达。但随着项目的深入,用户对软件的需求可能会越来越明确,也越来越多,甚至有时到测试阶段还会出现有用户要求更改软件需求的情况。这对系统分析人员和软件开发人员来说是难以接受的。另一方面,用户、系统分析人员和软件开发人员对软件需求描述的方式也各不相同。用户希望使用自然语言对软件需求进行描述,而专业人员则希望采用结构化的说明语言,如数据流图、数据字典等。
这样既可以避免自然语言容易引起的二义性和不确定性,又能为下一步软件设计工作提供便利。针对这类情况的防控措施包括:(1)加强对立项单位的组织结构、工作流程和现有软件系统的了解。(2)系统分析人员需掌握一些获取用户需求的技术和方式。(3)可将公司已投入使用的类似软件作为软件原型,提交给用户试用,便于系统分析人员对用户需求的收集。(4)组织由立项单位、系统分析人员和系统设计人员共同参与的需求评审会,最终形成达成一致的需求分析阶段的结果——需求规格说明书。(5)对需求分析阶段完成后用户提出的新需求,可采取留在以后版本升级中处理,如立项单位要求必须加入的,则可与客户商量延长开发时间、增加合同金额。
4.2 设计与开发阶段
如果软件产品采用原型法进行开发,虽能降低因需求不明确带来的项目风险,但由于原型法采用循环迭代的方式来不断满足用户需求,这样可能会导致软件的设计与开发超出预期的花费和时间,并且在反复修改的过程中,容易使客户对项目是否能够顺利完成产生疑虑。针对这类风险,一方面可将生命周期法与原型法结合在一起,互为补充,软件开发中以结构化生命周期法为主要方法,在部分环节则利用原型法来快速获取用户反馈信息[9]。另一方面做好与客户的沟通,及时告知客户软件设计与实现的进度与过程[10]。
4.3 测试阶段
测试阶段常面临的风险为测试用例不完善。这样可能导致测试就不够全面,软件中存在的错误未能发现,使得软件性能降低。可采取的防控措施包括:(1)对测试人员进行软件需求的培训。(2)加强对测试用例的评审。(3)在条件允许的情况下,可以邀请用户参与软件测试。
4.4 实施阶段
实施阶段可能会面临客户过于依赖技术人员,迟迟不肯验收项目的风险。采取的防控措施包括:(1)形成规范的《用户手册》,加强对软件用户的培训。(2)做好领导层的工作。(3)宣讲公司后期的服务范围和服务管理的规范性。
新旧系统切换的过程中也存在一定风险。如果转换工作缺乏规范的管理和可靠的安全保障,势必会造成严重的后果,甚至影响正常工作。面对这种情况,一是需要特别注意原系统和新系统的文件保护工作,加强人员的管理和数据的备份;二是根据用户要求、立项单位状况、转换过程中的进展情况调整系统切换进程。
5、结束语
软件开发过程中存在着各式风险,对每种风险都需要实施风险管理。由此可见,风险管理本身也可构成软件项目中的一个子项目。科学地制定软件项目风险管理计划,在必要的人力资源和经费的支持下,持续完成风险识别、分析、应对和监控等风险管理步骤[11],做好项目开发各阶段的风险防控工作,从而达到将风险控制在最低限度,减少风险对软件项目的影响,更好地控制软件开发成本和进度的目的。
参考文献:
[1]杨一平,卢山.管理信息系统.北京:机械工业出版社,2018
[2]索红军.软件项目风险分析与研究.软件导刊,2017,16(08):128-131
[3]顾单.S公司战略型物料采购策略研究[硕士学位论文].上海交通大学,上海,2015
[4]百度文库.软件项目的风险分析.
[5]韩最蛟.软件工程基础.北京:清华大学出版社,2009
[6]王慧.公路工程施工阶段成本风险管理与分析控制.建材与装饰,2019(24):259-260
[7]梅旭东.M公司卡拉奇核电站项目风险管理研究[硕士学位论文].东华大学,上海,2018
[8]刘强管理.基于国际工程项目全生命周期的风险管理.土木工程与管理学报,2017,34(06):1-9+16
[9]苑隆寅.图书馆在城乡统筹发展中的作用与知识服务研究[硕士学位论文].重庆大学,重庆,2012
[10]马兴鹏.高校综合分析平台项目的系统分析与设计[硕士学位论文].东北大学,辽宁,2011
[11]詹红艳.软件项目管理中风险控制策略研究.软件,2019,40(06):230-232
文章来源:杨辉.软件项目风险管理与控制研究分析[J].福建电脑,2021,37(05):60-62.
分享:
目前,中药饮片的识别分类方法主要还停留在人工阶段,需要大量的专业人才,费时费力。随着科学技术的进步,利用计算机视觉技术进行中药饮片的识别是未来社会的发展趋势[1]。随着人工智能技术的不断发展,它给各行各业的发展带来了日新月异的变化[2]。通过神经网络提取中药饮片的特征参数,建立识别分类模型进行分析,使得中药饮片识别也变得不再那么困难。
2024-01-17ChatGPT全称是Chat Generative Pre-trained Transformer, 是OpenAI公司于2022年11月发布的一款聊天机器人程序。ChatGPT能根据用户提出的问题,经人工标注数据集训练的算法智能生成回答内容,而不仅仅只是加工现有内容。它能够像人类一样自然地进行对话,并且具备完成各种任务的能力,包括邮件撰写、视频脚本创作、文案编写、翻译以及代码生成等。
2024-01-16汉字的结构复杂、形态多样,每个汉字都具有结构的唯一性,汉字骨架作为汉字字形的重要拓扑描述具有重要意义。汉字骨架生成广泛应用于字形技术[1]、汉字识别[2]、汉字生成[3]等汉字信息处理领域。汉字骨架可由一段书写序列进行表示,与图像表示相比,序列格式的汉字骨架包含更多的动态信息,如时间顺序、轨迹等,这些信息对汉字的笔画连接、拓扑结构等有更为清晰的描述,同时书写序列可以很容易地转换为图像[4]。
2024-01-03图像融合是信息融合的一个分支。红外传感器抗干扰能力强,但其空间分辨率较低,缺少纹理细节。可见光图像具有更多细节信息和高分辨率,但在光照很弱或物体被遮挡的情况下效果不好[1]。为了利用可见光和红外图像的互补信息,红外和可见光图像融合非常必要,现已广泛应用于众多领域中[2]。
2024-01-03国际石油勘验领域由于受行业划分的缘故,各系统之间难以兼容,使井场内部形成了一个个的信息孤岛。为了实现不同施工主体之间数据信息的兼容共享与远程控制,甲方在招投标合同及其澄清中明确地规定了乙方必须能够提供WITSML(Well Site Information Transfer Standard Markup Language,井场信息传输标准标记语言)数据流。
2023-09-25工程总承包(Engineering Procurement Construction,EPC)主要是指项目承包方严格按照合同内容,依次落实项目相关设计、采购、施工等环节。同时,项目承包方还要负责和承担工程进度、工程安全、工程费用等。EPC模式的出现和应用,可以对投资风险进行有效管控,目前,已逐渐发展为国际上流行的项目承包方模式。
2023-09-12随着一些大型集团公司应用系统数量和用户的不断增加,员工因业务需要而使用多个应用系统的情况也越来越多,异构系统、融合网络、多样设备的用户身份管理复杂度也达到前所未有的程度,弱口令、僵尸账户、冗余账户、账号冒用、钓鱼用户、重复登录、异地登录、异常登录、多样性访问、分散管理、审计弱化等网络安全问题层出不穷。
2023-09-07近年来新冠疫情所导致的游客感知、旅游动机以及旅游资源的利用率等影响直接作用于旅游流的空间结构变化,这也为旅游流的研究带来了全新的视角。本研究利用网络大数据获取近年来OTA平台的游客游记数据,对杭州市旅游流网络空间结构进行分析研究,希望了解区域旅游的发展方向,帮助其发挥当地旅游资源的优势,因地制宜地设计旅游线路并制定合理的旅游发展战略。
2023-09-07在很多考试中,作文写作都占据了重要的地位。然而,由于考试人数众多,采用人工方式进行阅卷费时费力。此外,尽管作文评分时提供了评分准则,但由于个人理解不同,而且评分过程中不可避免受到情绪、性格和偏见等主观因素的影响,导致评分存在一定的主观性,多个评分人的评分差异可能较大。
2023-09-07在很多考试中,作文写作都占据了重要的地位。然而,由于考试人数众多,采用人工方式进行阅卷费时费力。此外,尽管作文评分时提供了评分准则,但由于个人理解不同,而且评分过程中不可避免受到情绪、性格和偏见等主观因素的影响,导致评分存在一定的主观性,多个评分人的评分差异可能较大。
2023-09-06我要评论
期刊名称:信息安全学报
期刊人气:577
主管单位:中国科学院
主办单位:中国科学院信息工程研究所
出版地方:北京
专业分类:计算机
国际刊号:2096-1146
国内刊号:10-1380/TN
邮发代号:80-601
创刊时间:2016年
发行周期:双月刊
期刊开本:大16开
见刊时间:10-12个月
影响因子:1.079
影响因子:0.408
影响因子:0.260
影响因子:0.727
影响因子:0.489
400-069-1609
您的论文已提交,我们会尽快联系您,请耐心等待!
你的密码已发送到您的邮箱,请查看!