软件开发涉及到的风险回避措施有哪些?

招生资讯2023-10-09 10:01:29佚名

(XX钢铁五金有限公司)本文主要针对软件开发涉及到的风险,包括在软件开发周期过程中可能出现的风险以及软件施行过程中外部环境的变化可能导致的风险等进行评估。在文中对所提及的风险都一一做了详尽的剖析,并提出了相应的风险回避举措。因为风险是在项目开始以后才开始对项目的开发起负面的影响,所以风险剖析的不足,或是风险回避举措不得力,都很有可能导致软件开发的失败。风险剖析是在事前的一种恐怕,凭着一定的技术手段和丰富的经验,基本就能对项目的风险作出比较确切的恐怕,经过谨慎的考虑提出可行的风险回避措(转载于:网:风险评估报告例文)施,是防止损失的重要环节。任何软件的开发,其主要风险均来自于两个方面,一是软件管理,二是软件体系结构。软件产品的开发是工程技术与个人创作的有机结合。软件开发是人的集体智慧根据工程化的思想进行发挥的过程。软件管理是保证软件开发工程化的手段。软件体系结构的合理程度是取决于集体智慧发挥的程度和经验的运用。软件是否还能按工期的要求完成:软件的工期往往是阻碍软件质量的主要诱因。好多情况下,软件开发商在工期的压力下,舍弃文档的书写,组织,结果在工程的晚期,大量须要文档进行协调的工作时,使得软件进度越来越慢。

软件的开发不同于其他的工程,在不同的工程阶段,须要的人员不同,须要配合的方面也不同,所有那些都须要行之有效的软件管理的保证。软件需求的督查是否深入透彻:软件的需求是确保软件正确反映用户的对软件使用的重要的文档,阐述软件需求是软件开发的起始点,但软件的需求却会贯串整个软件的开发过程,软件管理须要对软件需求的变化进行控制和管理,一方面保证软件需求的变化不至于导致软件工程的一改再改而未能按期完成;同时又要保证开发的软件就能为用户所接受。软件管理须要控制软件的每位阶段进行的成度,不能过细导致时间的浪费,也不能过粗,导致软件缺陷。软件的实现技术手段是否还能同时满足性能要求:软件的构造须要对软件构造过程中的使用的各类技术进行评估。软件构造技术一般是这样:最成熟的技术,常常不能彰显最好的软件性能;先进的技术,常常人员对其熟悉程度不够,对其中蕴涵的缺陷不够明了。软件管理在制订软件开发计划和定义里程碑时必须考虑这种诱因,并作出合理的权衡决策。软件质量体系是否还能被有效地保证:任何软件管理忽视软件质量监督环节都将对软件的生产构成巨大的风险。而拟定卓有成效的软件质量监督体系,是任何软件开发组织必不可少的。

软件质量保证体系是软件开发成为可控制过程的基础,也是开发商和用户进行交流的基础和根据。软件的可伸缩性:是指软件在不进行更改的情况下适应不同的工作环境的能力。因为硬件的急速发展和软件开发周期较长的矛盾,软件升级的须要变得十分急迫。倘若软件的升级和移植十分困难,软件的生命期必将很短,致使化费巨大人力物力开发出的软件系统只能在低性能的硬件或网路上运行,甚至被废弃不用,导致巨大的浪费。软件的可维护性:软件的维护也是必然的事情,为了保证软件的较长使用寿命,软件就必须适应不断的业务需求变化,依照业务需求的变化对软件进行更改。更改的成本和周期都直接和软件的体系结构相关。一个好的软件体系结构可以尽可能地将系统的变化置于系统的配置上,即软件代码无需更改,仅仅是在系统提供的配置文件中进行适当的更改,之后软件重新加载步入运行状态,就完成了系统部份功能和性能要求的变化。对于重大改动,须要打开源代码进行更改的,也仅仅是先承继以前的代码,之后用新的功能接替原来的调用插口,这样将把软件改动量减少到最低。软件易用性:软件的易用性是影响软件是否被用户接受的关键之关键诱因。在软件产品中,设计复杂,功能强悍而完备,但由于操作繁复而被搁置者屡见不鲜。

导致的主要缘由在于缺少软件开发中软件体系结构的宏观掌握能力。另一方面,欠缺有效的手段进行软件需求的确定和对潜在需求的挖掘。软件产品不可见:开发的进展以及软件的质量是否符合要求难于测度,进而使软件的管理难于掌握。软件的生产过程不存在绝对正确的过程方式:可以肯定的是不同的软件开发项目应该采用不同的或则说是有针对性的软件开发过程,而真正合适的软件开发过程是在软件项目的开发完成能够明了的。为此项目开发之初只能按照项目的特性和开发经验进行选择,并在开发过程中不断的调小型软件项目常常是"一次性"的。往年的经验可以被借鉴的地方不多。回避和控制软件管理风险的惟一办法就是筹建监督制度,项目开发中任何较大的决定都必须有主要技术环节甚至是由用户参与进行的。在该项目中项目监督由项目开发中的质量监督组来施行。通常参与软件开发的人员(包括管理者和技术人员)和其责任进行剖析如下:参与者主要职责:进行全局掌握,着重于项目的商务方面,充当项目组同顾客即将交流的插口环节。主要职责:拟定项目开发计划和开发策略,参与项目核心系统的剖析设计,同时努力保证开发计划的按量完成和开发策略的真正贯彻落实。主要职责:在软件剖析阶段帮助剖析人员划分系统实现边界和实现的功能,对特定检查点进行算法初审,同时对测试策略和软件操作界面提出参考意见。

主要职责:编制软件质量控制计划,并负责落实;控制必要文档的生产,通过文档,监督项目施行过程中软件的质量,并形成软件质量报告,提请项目总监和项目负责人审读;对于项目中出现的质量问题,主持举办质量复审大会。主要职责:协同项目负责人进行软件系统的剖析和设计工作,书写软件需求剖析和系统设计相关文档。在软件实现阶段进行测试策略的编制和对性能测试的指导。主要职责:协助剖析人员进行详尽设计,和软件系统的代码实现,并进行适当的白盒测试。主要职责:早已实现的软件组件、构件或系统进行正确性验证测试,整合后的系统的性能测试等。书写测试报告和测试统计报告提请质量监督组复审。主要职责:协同系统剖析人员听取用户需求,对需求剖析进行参考性复审。协同测试人员进行测试,书写操作指南和在线帮助,在项目交付用户然后进行跟踪服务。主要职责:对各部门形成的文档进行格式规范、版本编号和控制、存档文件的检索;协助质量监督组进行软件质量监通过适当的人员配备和职责界定,能有效的减少软件开发在后期的失控的可能性,和软件对关键人员的依赖性。本系统拟订采用的两个重大的软件技术是面向对象的预制构件和基于谷歌的COM组件技术。组件和预制构件技术都是为了提升软件的可靠性和软件的可扩充性而采用的技术手段。

从技术成熟度上说不存在风险,但为了实现良好的软件架构和稳定的组件,与传统开发方式比较,有相当的多的额外工作须要做,这会给项目工期带来较大的风险。回避和控制这部份风险的办法是在项目进行的过程不断的对该阶段进行风险恐怕和指定有效的里程碑。同时采用"范例"形式提升开发人员的预制构件组件的剖析辨识能力,适时调整预制构件组件的数目和细度。软件的开发是以用户的需求开始,在大多数情况下,用户需求要靠软件开发方诱导能够保证需求的完整,再以书面的方式产生《用户需求》这一重要的文档。需求剖析更多的是开发方确认需求的可行性和一致性的过程,在此阶段须要和用户进行广泛的交流和确认。需求和需求剖析的任何疏忽造成的损失会在软件系统的后续阶段被一级一级地放大,因而本阶段的风险最大。设计的主要目的在于软件的功能正确的反映了需求。可见需求的不完整和对需求剖析的不完整和错误,在设计阶段被成倍地放大。设计阶段的主要任务是完成系统体系结构的定义,使之才能完成需求阶段的即定目标;另一方面也是检验需求的一致性和需求剖析的完整性和正确性。设计本身的风险主要来自于系统剖析人员。剖析人员在设计系统结构时过分订制,系统的可扩充性较弱,会给后期维护带来巨大的负担,和维护成本的攀升。

对用户来说系统的使用比列会有显著的折扣,甚至导致软件寿命过短。反之,软件结构的过分灵活和通用,必然导致软件实现的难度增加,系统的复杂度会上升,这又会在实现和测试阶段带来风险,系统的稳定性也会遭到影响。从另一个角度上看,业务规则的变化,或说用户需求和将来软件运行环境的变化都是必然的情况,目前软件设计的所谓"通用性"是否能够挺好的适应将来需求和运行环境的的变化,是须要认真折衷的。这些折中也蕴含着很大的风险。设计阶段隐含的另一种风险来自于设计文档。文档的不完善除了会导致实现阶段的困难,更会在后期的测试和维护造成灾难性的后果,比如根本难以对软件系统进行版本升级,甚至是发觉的简单错误都无从更正。软件的实现从某种意义上讲是软件代码的生产。原代码本身也是文档的一部份,同时它又是将来运行于计算机系统之上的实体。源代码书写的规范性,可读性是该阶段的主要风险来源。规范的代码生产会把属于程序员自身个性风格的成分引入代码的比列降到最低限度,因而降低了系统整合的风软件维护包含两个主要的维护阶段,一个是软件生产完毕到软件试运行阶段的维护,这个阶段是一种实环境的测试性维护,其主要目的是发觉在测试环境中不能或未发觉的问题;另一个阶段是当软件的运行不再能适应用户业务需求或是用户的运行环境(包括硬件平台,软件环境等)时进行的软件维护,具体可能是软件的版本升级或软件移植等。

从软件工程的角度看,软件维护费用约占总费用的55%~70%,系统越大,该费用越高。对系统可维护性的轻忽是小型软件系统的最大风险。在软件漫长的营运期内,业务规则肯定会不断发展,科学的解决此问题的做法是不断对软件系统进行版本升级,在确保可维护性的前提下逐渐扩充系统。在软件系统营运期间,主要的风险源自于技术支持体系的无效运转。科学的方式是有一支顾客支持队伍不断搜集运行中发觉的问题,并将解决问题的技巧传授给软件系统的所有使用者。风险评估表中所提及的风险是通常项目在开发过程中都客观存在的,表中所列举的风险系数是指在不对风险进行深入的剖析和有效的规避的情况下,该风险项发生的几率。比如软件产品的设计目标是运行六年,体系结构不合理的风险是40%的涵义是,假如不对系统进行深入的剖析,未采用最合理的软件技术进行设计,则生产出一个不具备可扩充性的软件系统的机率是40%。因为顾客公司是仍将不断发展的,在六年内,该软件系统都能满足公司营运要求的可能性极低。由此而可能形成的灾难性后果是公司在业务发展的时候,必须重新开发新系统。向顾客提供风险评估,是根据国际惯例进行的例行操作,一方面让顾客对潜在的风险有更充分的了解,表明公司诚信

相关推荐

猜你喜欢

大家正在看

换一换