第4章 软件可靠性度量和测试
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20
4.2.2 软件可靠性模型参数
正如前面所说,当今存在着由很多软件可 靠性工作者开发的很多软件可靠性模型。 这些模型使用了由各个软件可靠性工作者 定义的各种各样的参数。 因此,在本章讨论中,为了使变量名称一 致,也为了书写和读者查阅方便,我们对 变量名称统一定义如下:
21
4.2.3 软件可靠性模型及其应用
4.2可靠性模型及其评价标准
2
内容提要
4.3软件可靠性测试和评估
4.3.1 软件可靠性评测 4.3.2软件可靠性测试的具体实施过程
4.4提高软件可靠性的方法和技术
4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6
建立以可靠性为核心的质量标准 选择开发方法 软件重用 使用开发管理工具 加强测试 容错设计
软件测试者可以使用很多方法进行软件测试,如按行为或 结构来划分输入域的划分测试,纯粹随机选择输入的随机 测试,基于功能、路径、数据流或控制流的覆盖测试,等 等。
19
模型统一
从现有模型来预计软件可靠性,往往存在偏差。 当给定或已知数据的基本分布时,极大似然估计 是模型参数估计最基本的方法,它显然有利于对 预计的改进。最小二乘法能很好地代替极大似然 估计, 它通过故障强度拟合来估计模型参数。对中小样 本的情况,它具有较小的偏差和较快的收敛性。 Bayes分析方法提供了一种把先验知识综合到 估计过程中的方法,为把不同数据源综合起来提 供了有效的手段,但其分析和计算极为复杂。
为了对软件可靠性进行评估,除了进行软件测 试之外,我们还需要借助软件可靠性模型的帮 助。软件可靠性模型(Software Reliability Model)是指为预计或估算软件的可靠性所建 立的可靠性框图和数学模型。 建立可靠性模型可以将复杂系统的可靠性逐级 分解为简单系统的可靠性,以便于定量预计、 分配、估算和评价复杂系统的可靠性。
Baidu Nhomakorabea
18
模型建立
软件可靠性模型的建立是通过对所选模型关联参 数的统计来确定失效情况、可靠性目标和实现这 一目标的时间,并利用可靠性模型来制定测试策 略,同时确定软件交付的预期可靠性。 此外,它对经费估算、资源计划、进度安排和软 件维护等也很重要。软件可靠性建模可归结为模 型的比较与选择、参数选择及模型应用。 模型参数取决于软件性能、过程特性、修改活动 和程序变化等。由于软件本身的特性,以及缺乏 可靠性数据,因此建立完全满足这些因素的可靠 性模型非常困难,且难以验证。
9
4.1.5 影响软件可靠性的因素
软件差错是软件开发各阶段潜入的人为错误:
需求分析定义错误。如用户提出的需求不完整,用户 需求的变更未及时消化,软件开发者和用户对需求的 理解不同等等。 设计错误。如处理的结构和算法错误,缺乏对特殊情 况和错误处理的考虑等。 编码错误。如语法错误,变量初始化错误等。 测试错误。如数据准备错误,测试用例错误等。 文档错误。如文档不齐全,文档相关内容不一致,文 档版本不一致,缺乏完整性等。
6
输入空间示意图/离散型运行剖面 图/连续型运行剖面图
7
4.1.3 软件可靠性的基本数学关系
8
4.1.4 软件可靠性与硬件可靠性的 区别
软件和硬件在可靠性特征上的差异,主要有以下几点:
最明显的是硬件有老化损耗现象,硬件失效是物理故障,是器件物理变化的 必然结果,有浴盆曲线现象;软件不发生变化,没有磨损现象,有陈旧落后 的问题,没有浴盆曲线现象。 硬件可靠性的决定因素是时间,受设计、生产、运用的所有过程影响,软件 可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状 态的函数,更多地决定于人。 硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过 重设计。 对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障, 而软件则不能采用这些技术。 事先估计可靠性测试和可靠性的逐步增长等技术对软件和硬件有不同的意义。 为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性。 硬件可靠性检验方法已建立,并已标准化且有一整套完整的理论,而软件可 靠性验证方法仍未建立,更没有完整的理论体系。 硬件可靠性已有成熟的产品市场,而软件产品市场还很新。 软件错误是永恒的,可重现的,而一些瞬间的硬件错误可能会被误认为是软 件错误。
Musa模型 对数模型 Goel-Okumoto模型
为达到目标还需检测 出的缺陷数 已检出 的累计 缺陷数
为达到目标 需要的时间
当前已检 测出的累 积缺陷数
为达到故障率目 标或MTTF目标 必须要检出的累 计缺陷数
测试时间
22
以上软件可靠性模型的适用条件 和阶段
模型 假设 ①优先固有缺陷数 ②常数故障率 ③指数分布 适用阶段 难易度
10
4.1.6 软件的差错、故障和失效
异常。偏离期望的状态(或期望值)的任何情形都可称为异常。 缺陷。不符合使用要求或与技术规格说明不一致的任何状态常 称为缺陷。 差错。从一般意义上说,差错有下面几个方面不同的含义:
计算的、观测的或测量的值与真实的、规定的或理论上正确的值或 条件之间的差别。 一个不正确的步骤、过程或数据定义。 一个不正确的结果。 一次产生不正确的结果的人的活动。
给定时间间隔内的失效数模型。 两相临失效间的时间间隔模型。
15
好模型的一般标准
建立软件可靠性模型的目的是估计软件可靠性,提供开发状态、 测试状态以及计划日程状态的参考定量数据,监视可靠性性能 及其变化。 一个好的模型必须有适合具体项目开发过程的正确的假设。如 果不知道哪个模型最适合当前项目,那么,一个聪明的办法就 是在一个项目上执行一个以上的模型并且综合分析所得到的结 果。 在软件可靠性模型先驱者的工作成果的基础上,经过更多软件 可靠性工作者近40年的努力,软件可靠性模型到目前为止已经 出现了很多种,最为常见且比较具有代表意义的模型不下 20个。 下面简单列举其中的几个:
软件质量保证与测试
第4章 软件可靠性度量和 测试
1
内容提要
4.1软件可靠性
4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.2.1 4.2.2 4.2.3 4.2.4
软件可靠性发展史 软件可靠性的定义 软件可靠性的基本数学关系 软件可靠性与硬件可靠性的区别 影响软件可靠性的因素 软件的差错、故障和失效 软件可靠性模型 软件可靠性模型参数 软件可靠性模型及其应用 软件可靠性模型评价准则
25
4.3.1 软件可靠性评测
本章所述的软件可靠性评测是指运用统计技术对软件可靠 性测试和系统运行期间采集的软件失效数据进行处理并评 估软件可靠性的过程。
软件可靠性评测的主要目的是测量和验证软件的可靠性,当 然实施软件可靠性评测也是对软件测试过程的一种完善,有 助于软件产品本身的可靠性增长。
17
可靠性度量
常见的软件差错包括非法转移、误转移、死循环、 空间溢出、数据执行和无理数据等。在软件可靠 性分析和设计中,常常利用故障模型来对不同的 故障表现进行抽象。 故障模型可以建立在系统的各个级别上。建立的 级别越低,进行故障处理的代价就越低,但模型 所覆盖的故障也越少。 常用的故障模型有基于逻辑级、基于数据结构级 和基于系统级的故障模型。
故障。在一个计算机程序中出现的不正确的步骤、过程或数据 定义常称为故障。上述“差错”中的第二项属于故障。 失效。一个程序运行的外部结果与软件产品的要求出现不一致 时称为失效。软件失效证明了软件中存在着故障。上述“差错” 中的第三项属于失效。
11
可以更清楚地说明失效与故障之 间的区别
失 效 故 障
4
4.1.1 软件可靠性发展史
软件工程的发展大体上可分为下列四个阶 段。
1950年~1958年 1959年~1967年 1968年~1978年 1978年至今
5
4.1.2 软件可靠性的定义
1983年美国IEEE计算机学会对“软件 可靠性”一词正式作出了如下的定义:
在规定的条件下,在规定的时间内,软件不引 起系统失效的概率,该概率是系统输入和系统 使用的函数,也是软件中存在的错误的函数; 系统输入将确定是否会遇到已存在的错误(如 果错误存在的话); 在规定的时间周期内,在所述条件下程序执行 所要求的功能的能力。
14
历史背景
软件可靠性建模是围绕着20世纪70年代的先驱 工作者Telinski、Moranda、Shooman和 Coutinbo等人的工作展开的。 其基本方法是用过去的失效数据建立可靠性模型, 然后用所建立起来的模型估计现在和预测将来的 软件可靠性。 该方法使用的先验条件是给定过去某个时期内的 软件失效次数或软件的失效时间间隔。 因此,根据模型使用的这两种数据我们将模型分 成如下两类:
Mussa基本模型
集成测试后
E
Mussa对数模型
①无限固有缺陷数 ②对数分布 ③故障率随时间变化
单元测试到系统测试
E
Goel-Ukumoto
①非时齐缺陷分布 ②缺陷可能因修复而产生 ③指数、Weibull分布
集成测试后
M
23
4.2.4 软件可靠性模型评价准则
模型拟合性 模型预计有效性 模型偏差 模型偏差趋势 模型噪声
Musa模型,包括基本模型和对数模型; Shooman模型; Goel-Okumoto模型; 测试成功模型; 威布尔模型。
16
模型分类
Musa和Okumoto根据软件可靠性模型的五种 特征,对模型进行了下述分类:
时间域(Time Domain):按时钟时间、执行时间 (或CPU时间)分类; 类别(Category):根据软件在无限的时间内运行时 可能经历的故障数是有限的还是无限的进行分类; 型式(Type):根据软件在运行时间t时的失效数分布 来分类。其中主要考虑泊松分布和二项式分布。 种类(Class):根据软件发生故障的故障密度对时间 的函数形式分类(仅对有限故障类)。 族(Family):根据软件的故障密度对它的期望故障 数的函数形式分类(仅对无限故障类)。
面向用户
面向开发者
软件运行偏离用户需求 可根据对用户应用的严重性等级分 类 如,3次失效/1000 CPU小时
程序执行输出错误结果 可根据定位和排除故障的难度分 类 如,6个故障/1KLOC
12
软件差错、已纠正差错、故障及 失效的关系
失效
已纠正缺陷
故障 缺陷
13
4.2可靠性模型及其评价标准
4.2.1 软件可靠性模型
单位斜率线
图4-7 -结构图
24
4.3软件可靠性测试和评估
软件可靠性评价是软件可靠性工作的重要组成部分。软件 可靠性评测是主要的软件可靠性评价技术,它包括测试与 评价两个方面的内容,既适用于软件开发过程,也可针对 最终软件产品。 在软件开发过程中使用软件可靠性评测技术,除了可以更 快速地找出对可靠性影响最大的错误,还可以结合软件可 靠性增长模型,估计软件当前的可靠性,以确认是否可以 终止测试和发布软件,同时还可以预计软件要达到相应的 可靠性水平所需要的时间和测试量,论证在给定日期提交 软件可能给可靠性带来的影响。 对于最终软件产品,软件可靠性评测是一种可行的评价技 术,可以对最终产品进行可靠性验证测试,确认软件的执 行与需求的一致性,确定最终软件产品所达到的可靠性水 平。
4.5 软件可靠性研究的主要问题 4.6小结
3
4.1软件可靠性
用软件系统规模越做越大越复杂,其可靠性越来越难保证。 应用本身对系统运行的可靠性要求越来越高,在一些关键 的应用领域,如航空、航天等,其可靠性要求尤为重要, 在银行等服务性行业,其软件系统的可靠性也直接关系到 自身的声誉和生存发展竞争能力。 特别是软件可靠性比硬件可靠性更难保证,会严重影响整 个系统的可靠性。 在许多项目开发过程中,对可靠性没有提出明确的要求, 开发商(部门)也不在可靠性方面花更多的精力,往往只 注重速度、结果的正确性和用户界面的友好性等,而忽略 了可靠性。 在投入使用后才发现大量可靠性问题,增加了维护困难和 工作量,严重时只有束之高阁,无法投入实际使用。
4.2.2 软件可靠性模型参数
正如前面所说,当今存在着由很多软件可 靠性工作者开发的很多软件可靠性模型。 这些模型使用了由各个软件可靠性工作者 定义的各种各样的参数。 因此,在本章讨论中,为了使变量名称一 致,也为了书写和读者查阅方便,我们对 变量名称统一定义如下:
21
4.2.3 软件可靠性模型及其应用
4.2可靠性模型及其评价标准
2
内容提要
4.3软件可靠性测试和评估
4.3.1 软件可靠性评测 4.3.2软件可靠性测试的具体实施过程
4.4提高软件可靠性的方法和技术
4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6
建立以可靠性为核心的质量标准 选择开发方法 软件重用 使用开发管理工具 加强测试 容错设计
软件测试者可以使用很多方法进行软件测试,如按行为或 结构来划分输入域的划分测试,纯粹随机选择输入的随机 测试,基于功能、路径、数据流或控制流的覆盖测试,等 等。
19
模型统一
从现有模型来预计软件可靠性,往往存在偏差。 当给定或已知数据的基本分布时,极大似然估计 是模型参数估计最基本的方法,它显然有利于对 预计的改进。最小二乘法能很好地代替极大似然 估计, 它通过故障强度拟合来估计模型参数。对中小样 本的情况,它具有较小的偏差和较快的收敛性。 Bayes分析方法提供了一种把先验知识综合到 估计过程中的方法,为把不同数据源综合起来提 供了有效的手段,但其分析和计算极为复杂。
为了对软件可靠性进行评估,除了进行软件测 试之外,我们还需要借助软件可靠性模型的帮 助。软件可靠性模型(Software Reliability Model)是指为预计或估算软件的可靠性所建 立的可靠性框图和数学模型。 建立可靠性模型可以将复杂系统的可靠性逐级 分解为简单系统的可靠性,以便于定量预计、 分配、估算和评价复杂系统的可靠性。
Baidu Nhomakorabea
18
模型建立
软件可靠性模型的建立是通过对所选模型关联参 数的统计来确定失效情况、可靠性目标和实现这 一目标的时间,并利用可靠性模型来制定测试策 略,同时确定软件交付的预期可靠性。 此外,它对经费估算、资源计划、进度安排和软 件维护等也很重要。软件可靠性建模可归结为模 型的比较与选择、参数选择及模型应用。 模型参数取决于软件性能、过程特性、修改活动 和程序变化等。由于软件本身的特性,以及缺乏 可靠性数据,因此建立完全满足这些因素的可靠 性模型非常困难,且难以验证。
9
4.1.5 影响软件可靠性的因素
软件差错是软件开发各阶段潜入的人为错误:
需求分析定义错误。如用户提出的需求不完整,用户 需求的变更未及时消化,软件开发者和用户对需求的 理解不同等等。 设计错误。如处理的结构和算法错误,缺乏对特殊情 况和错误处理的考虑等。 编码错误。如语法错误,变量初始化错误等。 测试错误。如数据准备错误,测试用例错误等。 文档错误。如文档不齐全,文档相关内容不一致,文 档版本不一致,缺乏完整性等。
6
输入空间示意图/离散型运行剖面 图/连续型运行剖面图
7
4.1.3 软件可靠性的基本数学关系
8
4.1.4 软件可靠性与硬件可靠性的 区别
软件和硬件在可靠性特征上的差异,主要有以下几点:
最明显的是硬件有老化损耗现象,硬件失效是物理故障,是器件物理变化的 必然结果,有浴盆曲线现象;软件不发生变化,没有磨损现象,有陈旧落后 的问题,没有浴盆曲线现象。 硬件可靠性的决定因素是时间,受设计、生产、运用的所有过程影响,软件 可靠性的决定因素是与输入数据有关的软件差错,是输入数据和程序内部状 态的函数,更多地决定于人。 硬件的纠错维护可通过修复或更换失效的系统重新恢复功能,软件只有通过 重设计。 对硬件可采用预防性维护技术预防故障,采用断开失效部件的办法诊断故障, 而软件则不能采用这些技术。 事先估计可靠性测试和可靠性的逐步增长等技术对软件和硬件有不同的意义。 为提高硬件可靠性可采用冗余技术,而同一软件的冗余不能提高可靠性。 硬件可靠性检验方法已建立,并已标准化且有一整套完整的理论,而软件可 靠性验证方法仍未建立,更没有完整的理论体系。 硬件可靠性已有成熟的产品市场,而软件产品市场还很新。 软件错误是永恒的,可重现的,而一些瞬间的硬件错误可能会被误认为是软 件错误。
Musa模型 对数模型 Goel-Okumoto模型
为达到目标还需检测 出的缺陷数 已检出 的累计 缺陷数
为达到目标 需要的时间
当前已检 测出的累 积缺陷数
为达到故障率目 标或MTTF目标 必须要检出的累 计缺陷数
测试时间
22
以上软件可靠性模型的适用条件 和阶段
模型 假设 ①优先固有缺陷数 ②常数故障率 ③指数分布 适用阶段 难易度
10
4.1.6 软件的差错、故障和失效
异常。偏离期望的状态(或期望值)的任何情形都可称为异常。 缺陷。不符合使用要求或与技术规格说明不一致的任何状态常 称为缺陷。 差错。从一般意义上说,差错有下面几个方面不同的含义:
计算的、观测的或测量的值与真实的、规定的或理论上正确的值或 条件之间的差别。 一个不正确的步骤、过程或数据定义。 一个不正确的结果。 一次产生不正确的结果的人的活动。
给定时间间隔内的失效数模型。 两相临失效间的时间间隔模型。
15
好模型的一般标准
建立软件可靠性模型的目的是估计软件可靠性,提供开发状态、 测试状态以及计划日程状态的参考定量数据,监视可靠性性能 及其变化。 一个好的模型必须有适合具体项目开发过程的正确的假设。如 果不知道哪个模型最适合当前项目,那么,一个聪明的办法就 是在一个项目上执行一个以上的模型并且综合分析所得到的结 果。 在软件可靠性模型先驱者的工作成果的基础上,经过更多软件 可靠性工作者近40年的努力,软件可靠性模型到目前为止已经 出现了很多种,最为常见且比较具有代表意义的模型不下 20个。 下面简单列举其中的几个:
软件质量保证与测试
第4章 软件可靠性度量和 测试
1
内容提要
4.1软件可靠性
4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.2.1 4.2.2 4.2.3 4.2.4
软件可靠性发展史 软件可靠性的定义 软件可靠性的基本数学关系 软件可靠性与硬件可靠性的区别 影响软件可靠性的因素 软件的差错、故障和失效 软件可靠性模型 软件可靠性模型参数 软件可靠性模型及其应用 软件可靠性模型评价准则
25
4.3.1 软件可靠性评测
本章所述的软件可靠性评测是指运用统计技术对软件可靠 性测试和系统运行期间采集的软件失效数据进行处理并评 估软件可靠性的过程。
软件可靠性评测的主要目的是测量和验证软件的可靠性,当 然实施软件可靠性评测也是对软件测试过程的一种完善,有 助于软件产品本身的可靠性增长。
17
可靠性度量
常见的软件差错包括非法转移、误转移、死循环、 空间溢出、数据执行和无理数据等。在软件可靠 性分析和设计中,常常利用故障模型来对不同的 故障表现进行抽象。 故障模型可以建立在系统的各个级别上。建立的 级别越低,进行故障处理的代价就越低,但模型 所覆盖的故障也越少。 常用的故障模型有基于逻辑级、基于数据结构级 和基于系统级的故障模型。
故障。在一个计算机程序中出现的不正确的步骤、过程或数据 定义常称为故障。上述“差错”中的第二项属于故障。 失效。一个程序运行的外部结果与软件产品的要求出现不一致 时称为失效。软件失效证明了软件中存在着故障。上述“差错” 中的第三项属于失效。
11
可以更清楚地说明失效与故障之 间的区别
失 效 故 障
4
4.1.1 软件可靠性发展史
软件工程的发展大体上可分为下列四个阶 段。
1950年~1958年 1959年~1967年 1968年~1978年 1978年至今
5
4.1.2 软件可靠性的定义
1983年美国IEEE计算机学会对“软件 可靠性”一词正式作出了如下的定义:
在规定的条件下,在规定的时间内,软件不引 起系统失效的概率,该概率是系统输入和系统 使用的函数,也是软件中存在的错误的函数; 系统输入将确定是否会遇到已存在的错误(如 果错误存在的话); 在规定的时间周期内,在所述条件下程序执行 所要求的功能的能力。
14
历史背景
软件可靠性建模是围绕着20世纪70年代的先驱 工作者Telinski、Moranda、Shooman和 Coutinbo等人的工作展开的。 其基本方法是用过去的失效数据建立可靠性模型, 然后用所建立起来的模型估计现在和预测将来的 软件可靠性。 该方法使用的先验条件是给定过去某个时期内的 软件失效次数或软件的失效时间间隔。 因此,根据模型使用的这两种数据我们将模型分 成如下两类:
Mussa基本模型
集成测试后
E
Mussa对数模型
①无限固有缺陷数 ②对数分布 ③故障率随时间变化
单元测试到系统测试
E
Goel-Ukumoto
①非时齐缺陷分布 ②缺陷可能因修复而产生 ③指数、Weibull分布
集成测试后
M
23
4.2.4 软件可靠性模型评价准则
模型拟合性 模型预计有效性 模型偏差 模型偏差趋势 模型噪声
Musa模型,包括基本模型和对数模型; Shooman模型; Goel-Okumoto模型; 测试成功模型; 威布尔模型。
16
模型分类
Musa和Okumoto根据软件可靠性模型的五种 特征,对模型进行了下述分类:
时间域(Time Domain):按时钟时间、执行时间 (或CPU时间)分类; 类别(Category):根据软件在无限的时间内运行时 可能经历的故障数是有限的还是无限的进行分类; 型式(Type):根据软件在运行时间t时的失效数分布 来分类。其中主要考虑泊松分布和二项式分布。 种类(Class):根据软件发生故障的故障密度对时间 的函数形式分类(仅对有限故障类)。 族(Family):根据软件的故障密度对它的期望故障 数的函数形式分类(仅对无限故障类)。
面向用户
面向开发者
软件运行偏离用户需求 可根据对用户应用的严重性等级分 类 如,3次失效/1000 CPU小时
程序执行输出错误结果 可根据定位和排除故障的难度分 类 如,6个故障/1KLOC
12
软件差错、已纠正差错、故障及 失效的关系
失效
已纠正缺陷
故障 缺陷
13
4.2可靠性模型及其评价标准
4.2.1 软件可靠性模型
单位斜率线
图4-7 -结构图
24
4.3软件可靠性测试和评估
软件可靠性评价是软件可靠性工作的重要组成部分。软件 可靠性评测是主要的软件可靠性评价技术,它包括测试与 评价两个方面的内容,既适用于软件开发过程,也可针对 最终软件产品。 在软件开发过程中使用软件可靠性评测技术,除了可以更 快速地找出对可靠性影响最大的错误,还可以结合软件可 靠性增长模型,估计软件当前的可靠性,以确认是否可以 终止测试和发布软件,同时还可以预计软件要达到相应的 可靠性水平所需要的时间和测试量,论证在给定日期提交 软件可能给可靠性带来的影响。 对于最终软件产品,软件可靠性评测是一种可行的评价技 术,可以对最终产品进行可靠性验证测试,确认软件的执 行与需求的一致性,确定最终软件产品所达到的可靠性水 平。
4.5 软件可靠性研究的主要问题 4.6小结
3
4.1软件可靠性
用软件系统规模越做越大越复杂,其可靠性越来越难保证。 应用本身对系统运行的可靠性要求越来越高,在一些关键 的应用领域,如航空、航天等,其可靠性要求尤为重要, 在银行等服务性行业,其软件系统的可靠性也直接关系到 自身的声誉和生存发展竞争能力。 特别是软件可靠性比硬件可靠性更难保证,会严重影响整 个系统的可靠性。 在许多项目开发过程中,对可靠性没有提出明确的要求, 开发商(部门)也不在可靠性方面花更多的精力,往往只 注重速度、结果的正确性和用户界面的友好性等,而忽略 了可靠性。 在投入使用后才发现大量可靠性问题,增加了维护困难和 工作量,严重时只有束之高阁,无法投入实际使用。