问答题 论软件可靠性评价 软件可靠性评价是指选用和建立合适的可靠性数学模型,运用统计技术和其他手段,对软件可靠性测试和系统运行期间的软件失效数据(也可能包含软件生命周期内的其他可靠性数据)进行处理,并评估和预测软件可靠性的过程。 软件可靠性评价是软件可靠性活动的重要组成部分,既可在软件开发过程中实施,也可针对最终软件系统实施。软件可靠性评价的难点在于软件可靠性模型的选择和软件可靠性数据的收集与处理。 请围绕“软件可靠性评价”论题,依次从以下三个方面进行论述。 (1)简要概述你参与实施的软件开发项目以及你承担的主要工作。 (2)说明你在项目实施过程中所选择的软件可靠性模型,并论述在软件可靠性模型选择时应该考虑的主要因素。 (3)收集软件可靠性数据时经常遇到的问题有哪些?简述你收集软件可靠性数据时所遇到的具体问题及解决的方法。
【正确答案】(1)对你在论文中准备列举的、近期参与过的大中型信息系统软件开发项目的背景、项目规模、发起单位、目标、项目内容、组织结构、项目周期、交付的产品等做简要的介绍。接着简要说明自己在该项目中的角色及所承担的主要工作。论文叙述自己参与设计和实施的项目应有一定的规模,自己在该项目中担任的主要工作应有一定的份量。 (2)常见的10类软件可靠性模型是:种子法模型、失效率类模型、曲线拟合类模型、可靠性增长模型、程序结构分析模型、输入域分类模型、执行路径分析方法模型、非齐次泊松过程模型、马尔可夫过程模型和贝叶斯分析模型。针对软件可靠性模型的构成以及使用模型来进行可靠性评价的目的,可从以下4个方面进行比较和选择。 ●模型假设的适用性。模型假设是可靠性模型的基础,模型假设需要符合软件系统的现有状况,在软件系统中与假设冲突的因素达到几乎不存在的程度。往往一个模型的假设有很多,需要在选择模型时对每一条假设进行分析,评估现有软件系统中不符合假设的因素对可靠性评价有多大影响,以确定模型是否符合软件系统的可靠性评价工作。 ●模型预测的能力与质量,是指模型根据现在和历史的可靠性数据,预测将来的可靠性和失效概率的能力,以及预测结果的准确程度。因此,应尽可能选择比较成熟的、应用较广的模型作为分析模型。 ●模型输出值能否满足可靠性评价需求。根据可靠性测试的目的来确定哪些模型的输出值满足可靠性评价需求。重要的可靠性定量指标包括:当前可靠度、平均无失效时间、故障密度、期望达到规定可靠性目标的日期、达到规定可靠性目标的成本要求等。 ●模型使用的简便性:模型使用的数据在软件系统中易于收集;模型应该简单易懂;模型应该便于使用,最好有工具支持。 (3)软件可靠性数据主要是指软件失效数据,是软件可靠性评价的基础,主要是在软件测试、实施阶段收集的。可靠性数据的收集工作是贯穿于整个软件生命周期的,它是一项艰巨而又烦琐的工作,受到许多潜在因素的影响和制约。常见的问题有(但不限于): ●可靠性数据规范不一致,对软件进行度量的定义混乱。 ●数据收集过程存在于整个软件生命周期,但由于成本等因素,其连续性往往不能保证。 ●缺乏有效的技术和工具支持,难以进行自动分析。 ●数据完整性不能保证,收集到的数据大多数是不完全的。 ●数据质量和准确性不能保证。 ●缺乏可靠性数据的交流与共享。 结合项目实践经验,归纳、梳理你参与实施的软件开发项目中,收集软件可靠性数据时所遇到的具体问题。在项目实际应用环境中,你所采用的解决方法、技术和步骤。可供采用的解决方法主要有(但不限于):①尽早确定可靠性模型,明确需要搜集的可靠性数据,确定涉及的术语、记录方法等;②制定可实施的可靠性数据搜集计划,并指定专人负责。保证数据的收集和验证与软件开发过程同步进行;③重视软件测试,特别是可靠性测试产生的测试结果的整理和分析;④尽可能地利用工具进行收集工作,例如利用数据库进行存储和统计分析等。 论文最后可以进一步讨论你在该工程项目中获得的相关经验或教训,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些心得体会。对需要进一步改进的地方,应有具体的着眼点,不能泛泛而谈。
【答案解析】