参考答案:
详细解析:
一、说明软件开发项目的基本情况以及自己承担的主要工作。
二、当前的软件可靠性模型众多,但并没有一个最好的或者可以适用所用软件系统的软件可靠性模型,因此对于不同的软件系统,出于不同的可靠性分析目的,需要选择合适的软件可靠性模型。
常见的10类软件可靠性模型有种子法模型、失效率类模型、曲线拟合类模型、可靠性增长模型、程序结构分析模型、输入域分类模型、执行路径分析方法模型、非齐次泊松过程模型、马尔可夫过程模型和贝叶斯分析模型。
软件可靠性模型的选择主要需要考虑以下4个方面:
1. 模型假设的适用性:模型假设是可靠性模型的基础,模型假设需要符合软件系统的现有状况,在软件系统中与假设冲突的因素达到几乎不存在的程度。往往一个模型的假设有很多,需要在选择模型时对每一条假设进行分析,评估现有软件系统中不符合假设的因素对可靠性评价有多大影响,以确定模型是否符合软件系统的可靠性评价工作。
2. 模型预测的能力与质量:预测的能力和质量是指模型根据现在和历史的可靠性数据,预测将来的可靠性和失效概率的能力,以及预测结果的准确程度。因此,应尽可能选择比较成熟的、应用较广的模型。
3. 模型输出值能否满足可靠性评价需求:根据可靠性测试目的来确定哪些模型的输出值满足可靠性评价需求。重要的可靠性定量指标包括:当前可靠度、平均无失效时间、故障密度、期望达到规定可靠性目标的日期、达到规定可靠性目标的成本要求等。
4. 模型使用的简便性:模型使用的数据在软件系统中易于收集;模型应该简单易懂;模型应该便于使用,最好有工具支持。
三、软件可靠性数据的收集是一项艰巨而又繁琐的工作,受到许多潜在因素的影响和制约。常见的问题有:
(1)可靠性数据规范不一致,对软件进行度量的定义混乱;
(2)数据收集过程存在于整个软件生命周期,但由于成本等因素,其连续性往往不能保证;
(3)缺乏有效的技术和工具支持,难以进行自动分析;
(4)数据完整性不能保证,收集到的数据大多数是不完全的;
(5)数据质量和准确性不能保证;
(6)缺乏可靠性数据的交流与共享。
考生应叙述在项目中遇到了上述中的哪些问题。
可供采用的解决方法主要有:
(1)尽早确定可靠性模型,明确需要搜集的可靠性数据,确定涉及的术语、记录方法等;
(2)制定可实施的可靠性数据搜集计划,并指定专人负责。保证数据的收集和验证与软件开发过程同步进行;
(3)重视软件测试特别是可靠性测试产生的测试结果的整理和分析;
(4)尽可能地利用工具进行收集工作,例如利用数据库进行存储和分析等。