设计阶段植入大量的软件缺陷

2020-08-01 08:10

其次,建立企业级的变更管理。在软件开发生命周期中建立企业级的变更管理,对于加强软件开发过程的控制,增强软件开发过程的透明度非常重要,同时企业级的变更流程也必须和配置管理结合起来,确保变更影响的是正确的配置项。同时在建立变更管理平台的时候,也需要考虑变更管理平台的开放性和集成性,例如对开发技术的支持,对不同开发模式的支持,并且能够确保变更管理平台成为联系需求管理和测试管理的中间桥梁,确保整个软件开发生命周期的完整性。

免责声明:

为了避免这样的问题,软件成熟度模型 cmmi 三级中提到的需求开发(rd)给出了非常有效的指导。孟捷指出,borland 的经验正是基于此指导方针,帮助用户建立新一代的需求定义,需求管理平台,将文字敘述的需求以可视化,原型的方式呈現,用流程模拟更准确的体现需求的真正实现 -- 这些需求开发中的关键实践,使业务部门能够在项目的需求阶段即可明确最终交付的软件系统的业务流程和功能特性,同时也让工程部门的项目经理,设计人员,开发人员对最终交付的软件系统建立起统一的认知。

在软件开发生命周期中,最大的挑战是满足业务需求同时,能够在预算内按计划交付高质量的软件系统。在孟捷看来,软件系统在各行各业发挥着越来越重要的作用,但开发过程管理的难度也逐渐增加。

但是在实际环境下,要能够在预算内按计划交付高质量的软件系统,并不是一件容易的事情。现在越来越复杂的业务需求,技术平台,开发环境,这些因素都会对软件交付产生各种影响。

※以上所展示的信息来自媒体转载或由企业自行提供,其原创性以及文中陈述文字和内容未经本网站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。如果以上内容侵犯您的版权或者非授权发布和其它问题需要同本网联系的,请在30日内进行。

孟捷认为,软件开发生命周期中通常会遇到三类问题:第一个最常见的问题就是交付的软件系统没有满足业务需求,导致项目失败。软件项目的目的就是为了交付满足业务需求的系统,当软件系统交付使用后,最终使用部门通常总会觉得交付使用的软件系统和最初的构想存在一定的差距,究其原因通常都是因为在需求开发阶段,需求方和开发方通常缺乏有效的沟通,并没有在需求分析阶段达成一致,就已经开始软件项目的开发,最后导致所想所见非所得。这就是为何 cio 们在总结项目成败时,把68%的项目失败归结为不能满足业务需求。

第二个常见的问题是软件不能按时交付,交付时间一拖再拖,甚至导致软件系统最终交付时已经不满足当下的业务需求,根据业界的统计数据,50%的项目都会延时交付。导致项目延期的原因很多,例如软件项目采用的技术越来越复杂(嵌入式,非嵌入式技术),多样的开发模式(敏捷、传统的瀑布,直接引入产品,合作开发,外包开发等等),都会产生很多不可控的因素,但是究其根源还是在于传统的,粗放的管理模式已经不能适应现代化的软件开发的需求,现实要求我们提升对软件开发生命周期的控制能力,增强项目过程的透明度。

目前,软件开发过程管理市场主要有两种类型的供应商,一种面向需求管理和配置管理提供完善的解决 方案,另一种则提供功能强大的测试工具,孟捷说,随着 borland 的发展,已经兼具了这两类供应商的特点。对于 borland 的竞争优势,孟捷认为,在近40年专注于软件应用的开发、测试和管理的实践中,borland 一直强调解决方案的完整性,提供端到端的软件开发生命周期整体解决方案;同时,borland 具有良好的开放性,可以实现自身产品与第三方工具之间的集成;另外,borland 也基于云计算等前沿技术进行了功能革新,通过领先的 web 2.0技术实现云测试、手机测试等功能;更重要的是,borland通过可视化、用户向导等功能不断加强软件的易用性,保持着突出的用户体验。

为了帮助企业在软件开发过程中满足业务需求、管控开发过程、并保证软件质量,borland 从软件开发的需求、变更、测试等各个阶段提供相应的解决方案。孟捷介绍,borland 提供的解决方案主要包括三个方面:

在采访的最后,孟捷提到,加入 micro focus 之后,borland 仍然保持着独立的品牌去运营,这与 borland 过去几十年积累的人气和品牌美誉度不无关系。在他看来,borland 的使命就是帮助企业构建软件开发过程中的三种关键能力:持续保证符合业务需求的能力 -- 确保需求定义、需求分析、架构设计、需求变更、开发任务甚至包括测试需求都是来自业务需求;持续的软件质量验证能力 -- 让项目过程中每一个参与人员都成为质量保障团队的一员;持续的开发过程管控能力 -- 提高项目过程的透明度,让管理者时刻了解项目的进度和质量。

最后,建立卓越的质量保障体系。孟捷说,在软件测试过程中,确保测试的有效性至关重要。micro focus的最佳实践是建立基于 process,product,people 的标准可复用的质量保障体系,包括:可复用的质量保障的基础架构,高效、专业的质量保障团队,以及标准可复用的测试流程,同时辅以自动化的测试手段提高测试过程的效率,以确保软件符合功能性和非功能性需求。另外,也需要建立一套质量度量体系,持续采集不同项目质量指标,通过数据分析,达到持续过程改进的目的。

※有关作品版权事宜请联系中国企业新闻网:020-34333079 邮箱:cenn_gd@126.com 我们将在24小时内审核并处理。

第三个常见的问题就是软件系统的质量难以保障,并且工作效率低下。根据业界的统计数据,项目的返工工作量有可能达到40%之多。复杂的项目,由于需求分析不到位,需求变更没有管理得当,架构体系设计缺乏手段,开发人员经常会浪费时间在没有必要的功能上,甚至是重新开发整个功能模块,而这些因素又往往会在需求,设计阶段植入大量的软件缺陷,而导致更多的缺陷修复工作量。

软件并不像硬件产品是实体,而是计算机程序、程序所用的数据以及有关文档资料的集合,在运行中能够帮助用户快速、方便的达到所希望得到的功能和结果。近年来,随着硬件水平的快速提升,通过升级硬件来提升it产品的应用体验已经越来越捉襟见肘,那么,只能从软件发力,通过软件的提升实现各种功能需求。

首先,建立持续有效的需求验证。孟捷说,根据业界统计,70%的软件缺陷是在需求阶段植入的,而需求阶段植入的缺陷将会带来后期的高额修复成本。这也意味着,在需求阶段,仅仅建立需求管理平台,对需求条目进行系统化、工程化的管理是远远不够的。要想最大程度的避免需求阶段植入的缺陷,就是要建立起有效的需求验证过程。