2011年软考系统架构设计师学习笔记第十三章7
13.4.1 软件可靠性设计
实践证明,保障软件可靠性,最有效、最经济、最重要的手段是 在软件设计阶段采取措施进行可靠性控制。
1、软件可靠性设计是软件设计的一部分,必须在软件的总体设计框架中使用,并且不能与其他设计原则相冲突。
2、软件可靠性设计在满足提高软件质量要求的前提下,以提高和保障软件可靠性为最终目标。
3、软件可靠性设计应确定软件的可靠性目标,不能无限扩大化,排在功能度、用户需求、开发费用之后考虑。
容错设计、检错设计、降低复杂度设计 等技术。
1、容错设计技术
1. 恢复块设计,一旦文本出现故障,用备份文本加以替换。
2. N版本程序设计,对于相同初始条件和相同输入的操作结果,实行多数表决,防止其中某一软件模块/版本的故障提供错误的服务。
必须注意以下两方面:
使软件的需求说明具有完整性和精确性。
设计全过程的不相关性。
3. 冗余设计
在相同的运行环境中,一套软件出故障的地方,另外一套也一定会出现故障。
在一套完整的软件系统之外,设计一种不同路径、不同算法或不同实现方法的模块或系统作为备份。
费用可能接近单个版本软件开发费用的两倍,还有可能导致软件运行时所花费的存储空间、内存消耗、运行时间有所增加,需要在可靠性要求和额外付出代价之间做出折中。
2、检错技术
检错技术实现的代价一般低于容错技术和冗余技术,但它有一个明显的缺点,就是不能自动解决故障。
着重考虑几个要素:检测对象、检测延时、实现方式、处理方式。
3、降低复杂度设计
模块复杂性主要包含模块内部数据流向和程序长度两个方面,结构复杂性用不同模块之间的关联程度表示。
软件复杂性是产生软件缺陷的重要根源。
在设计师就应该考虑降低软件的复杂性,是提高软件可靠性的有效方法。
在保证实现软件功能的基础上,简化软件结构,缩短程序代码长度,优化软件数据流向,降低软件复杂度,从而提高软件可靠性。
13.4.2 软件可靠性管理
为了进一步提高软件可靠性,又提出软件可靠性管理的概念,把软件可靠性活动贯穿于软件开发的全过程。
各个阶段的可靠性活动的目标、计划、进度、任务、修正措施等。
由于软件之间的差异较大,下面的每项活动并不是每一个软件系统的可靠性管理的必须内容,也不是软件可靠性管理的全部内容。
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>