软件可靠性设计方法研究.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? 软件可靠性设计方法研究 ? ? 何凤军 蔡玮 王宇 Summary:研究了软件可靠性设计方法,软件需求分析是研制高可靠性软件的前提和基础,软件可靠性设计包括软件体系架构设计、冗余设计、健壮性设计、容错设计、避错设计、错误恢复设计及重用设计等。通过专业复杂网管软件的研制实例,初样评审测试、正样评审测试及软件测评的千行代码缺陷密度证明了在软件开发过程中运用可靠性设计方法,可以提高软件的质量和可靠性。 Key:体系架构设计;冗余设计;容错设计;健壮性设计;重用设计 :TP393文献标志码:A:1008-1739(2021)01-64-4 0引言 随着计算机技术迅猛发展,软件在系统中的地位越来越重要[1],其规模和复杂性急剧提高,能否可靠运行已经成为决定整个系统可靠性的关键部分。软件的上述重要性使得其可靠性越来越被关注,因此每年都有大量经费投入其可靠性相关研究,且取得了初步成效。但迄今为止,尚未形成标准的、公认的软件可靠性设计思想和方法。 软件可靠性是指软件在规定的条件下和规定的时间内完成规定功能的能力。需求分析和可靠性设计是研制可靠性软件的2个重要阶段。需求分析[2]是进行软件设计的前提和基础,在需求分析基础之上,进行体系架构设计、冗余设计、容错设计及重用设计等。 1软件需求分析 详尽的软件需求分析[3]是研制高可靠性软件的前提和基础,软件需求分析包括功能需求、性能指标需求、内外部接口需求、可扩展性需求、软件开发和运行环境需求及安全需求和部署需求。在充分了解软件需求的基础上,进行软件概要设计和详细设计,是确保软件可靠性的重要手段。 1.1软件体系架构设计 对于软件而言,规模[4]越大,复杂度越高,可靠性越低。对于相同规模的软件,软件越复杂其可靠性越低,因此软件可靠性总的设计原则是控制和减少软件结构和程序的复杂性,在网络管理系统软件开发中,结构复杂度控制进行如下设计: (1)层次结构设计,复杂度控制 软件的整体结构采用层次结构[5],将系统的总需求进行分级和分解,如功能需求模块、性能需求模块、内外部接口需求模块及扩展需求模块等,把这些需求模块划分成若干层,层与层之间只存在单向的依赖关系,这样可以很大程度减少程序的复杂性,软件的可靠性与软件的复杂性成正比。 (2)模块化设计 采用层次结构与模块化设计相结合的方法,在分层的基础上,将每一个层次结构分解为若干个模块。模块划分合适,可减少开发工作量,降低程序复杂度。模块化设计思想,将功能细化到每个模块进行独立实现,模块之间通过消息中间件进行交互,这样的设计理念既可以将软件模块故障缩小在各个模块内部,防止软件模块故障影响整个系统,同时也减少故障影响范围,又可以利用可靠的软件模块形成新的系统,提高效率和系统的可靠性。模块设计思想是高内聚低耦合,模块间的消息交互仅通过消息参数,各个软件模块内部功能紧耦合且独立实现特定功能,从而大大提高软件模块的可靠性。 (3)服务化设计 将具有独立功能的软件模块封装为服务,通过消息中间件进行服务间通信,既可以将错误局限在各个服务内部[6],防止服务化的软件模块故障影响整个系统,同时也减少故障影响范围,又可以利用可靠的软件服务形成新的系统,提高工作效率和系统的可靠性。采用服务化技术,服务注册发布之后,可以被调用,可靠性增高。 每一个服务都必须是Web Services的服务,都需要提供WSDL接口。为了标准化每一个服务,需要在定义每个服务的WSDL接口时,均遵循标准化模式和格式。 表示服務操作的名字,必须包括大小写字母、下划线‘_和数字,且首字母应该为小写字母,且能表示服务的功能。 同时,在定义每个服务的WSDL方法中,需要定义启动和停止操作: ①startService操作:函数表示服务处于正常工作状态。启动服务操作是无参数函数,返回值为布尔型。如返回true则表示服务正常启动,否则表示启动失败。 ②stopService操作:函数表示让处于正常工作状态的服务停止工作。停止服务操作是无参数函数,返回值为布尔型。如返回true则表示服务停止成功,否则表示停止失败。 (4)可扩展设计 mib库表和配置参数基于配置文件进行设计,能够在管理对象扩展或功能设计变更时灵活扩展。 1.2冗余设计 冗余是指为改善系统运行可靠性而引入重复或代替的系统元素,以确保该特定元素失效时,系统能继续运行。在软件冗余设计方面主要包括如下几方面设计思路: ①主备热备:网络管理系统软件采用主备管理方式,因此总部级网管中心采用主备、热备双机工作方式,当主用网管出现故障时,备用网管立即切换为主用网管。采用操作系统和数据库管理系统热备份及共享存储资源的方式;对数据库数据,提供包括物理和逻辑2种方式的备份/恢复策略保证数据安全;在数据库冗余设计方面,主要针对数据访问进行冗余设计,采用本地缓存

文档评论(0)

智慧IT + 关注
实名认证
内容提供者

微软售前技术专家持证人

生命在于奋斗,技术在于分享!

领域认证该用户于2023年09月10日上传了微软售前技术专家

1亿VIP精品文档

相关文档