如何提高软件可靠性

一、软件可靠性定义
    长期运行的稳定性(鲁棒性)
    输出数据的正确性
    异常情况的可记录性

二、影响软件可靠性的因素

1)  需求分析定义错误
    由于分析失误,从开始就走上了错误的路线,向着错误的目标前进,以后实现中的错误在所难免。

2) 设计质量
    设计水平的高低与设计者的水平有着直接的联系,但可以通过人文方法提高设计水平,但不仅限于此。影响设计质量因素主要有: 对需求的理解程度、对软件环境的理解程度、设计人员的设计水平等。

3) 编码质量
    编码的过程实际上是影响软件可靠性的一个关键因素,影响这个过程的因素有很多,如:程序语言的选择、程序员对语言特性的掌握以及编码水平、编码质量检查与评审制度及执行情况、代码的复用率

4) 无效的测试
    如果在进行单元测试或者集成测试时,如果测试用例设计不合理,测试不完整,容易使测试失效,使得软件在某些未经测试的情况下故障。

5) 文档错误
    如果文档(包括正式的设计文档以及程序的注释)不完整、不一致,会导致阅读者对设计或代码理解产生偏差,从而有可能导致下一步的软件错误。

三、如何提高软件可靠性

提高软件可靠性可以从多个角度入手,主要分为几类:改进制度制定规范、软件重用、提高员工素质、加强测试、及时有效的跟踪

1)  改进制度制定规范
    通过公司制度对开发方法的选择、分析及设计文档的编写、编码规范、代码评审制度等对软件开发的各个过程进行控制,从而提高软件可靠性。

2) 软件重用
    对通用模块进行抽象、封装,不断积累团队自己的开发库,不仅可以为以后的开发减少开发任务,缩短开发周期,而且这些通用模块,在不断的重用中,其存在的BUG会不断被发现,然后被不断改进,随着这些通用模块的持续改进,使用这些模块构建的软件的可行性也在不断提高。

3) 提高员工素质
    所有的软件都是“人”开发的,人才是提高软件可靠性的最关键的因素,通过对员工进行必要的公司制度、开发方法、软件相关知识、编程技巧等方面的培训,提高员工的单兵作战能力,再加上良好的团队管理模式,将会明显提高软件的可行性。

4) 加强测试
    任何设计都不是完美的,任何程序都不可能没有BUG,良好的测试是发现这些问题的有效方法,通过加强对软件的测试,尽可能地解决软件中存在的问题,从而提高软件的可靠性。加强测试,并不是简单的测试得次数越多越好,也需要一些技巧,如程序员本不人写自己程序的测试代码,认真设计测试用例并对测试用例进行不断的跟踪与改进。

5) 及时有效的跟踪
    所有的软件,经过再严密的测试都不可能没有BUG,都不可能百分百地可靠,通过用户反馈的BUG进行对症下药修改BUG是最有效地改进软件可靠性的方法之一,每修改一次就会提高一些可靠性。但它是有效的,但不是效率最高的,其修改效率反而是最低的,但这在产品发布以后是持续提高软件质量的有效方法。

转发自:https://blog.csdn.net/Nocky/article/details/6056596

猜你喜欢

转载自www.cnblogs.com/WayneKhouTech/p/12078819.html