软件可靠性是关于软件能够够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障。软件中有哪些可能的差错呢? 软件差错是软件开发各阶段潜入的人为错误: 1.需求分析定义错误。如用户提出的需求不完整,用户需求的变更未及时消化,软件开发者和用户对需求的理解不同等等。 2.设计错误。如处理的结构和算法错误,缺乏对特殊情况和错误处理的考虑等。 3.编码错误。如语法错误,变量初始化错误等。 4.测试错误。如数据准备错误,测试用例错误等。 5.文档错误。如文档不齐全,文档相关内容不一致,文档版本不一致,缺乏完整性等。 从上游到下游,错误的影响是发散的,所以要尽量把错误消除在开发前期阶段。 错误引入软件的方式可归纳为两种特性:程序代码特性,开发过程特性。 程序代码一个最直观的特性是长度,另外还有算法和语句结构等,程序代码越长,结构越复杂,其可靠性越难保证。 开发过程特性包括采用的工程技术和使用的工具,也包括开发者个人的业务经历水平等。 除了软件可靠性外,影响可靠性的另一个重要因素是健壮性,对非法输入的容错能力。 所以提高可靠性从原理上看就是要减少错误和提高健壮性。
可以从以下方面来考量:1、功能性:系统完成所期望的功能的能力。
2、性能:系统的响应能力。性能经常使用基准测试程序来测量
3、可靠性:在错误情况下维持系统的功能特性的基本能力。可靠性通常用MTTF和MTBF来衡量。可靠性包括两个方面:容错和健壮性。容错是错误发生时确保系统正常的行为,如分布式系统中,系统与远程构件失去连接,容错保证其他能自动搜索到其他可用的连接,从而保证系统正常工作。健壮性指系统遇到错误时处于一个已经定义好的状态。健壮性不能保证系统遇到错误时一定还能够继续运行。个人的理解是:容错是错了你也不知道(因为系统能处理)。健壮性是按固定的方式错。
4、可用性:系统能够正常运行的时间比例。
5、安全性:向合法用户提供服务的同时阻止非授权用户使用的企图或者拒绝服务的能力。
6、可修改性:指对系统进行变更的能力。包含软件可靠性是指在指定条件下使用时,软件产品维持规定的性能级别的能力;针对软件可靠性中的容错性子特性应测试软件失效防护能力。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)