软件工程导论第八章
软件工程导论PPT课件-第8章-维护

分析评价,修改设计,编写代码等
理解代码功能、解释数据结构、接口特点和性能限度等
8.3 软件维护的特性
8.3.3 软件维护的副作用
-结构化维护
结构化维护是指软件开发过程是按照软件工程方法进 行的、各开发阶段文档齐全的软件的维护过程。
-非结构化维护
非结构化维护是指在只有源程序,缺乏必要的文档说 明,难于确定数据结构、系统接口等特性的情况下,进行 的软件维高昂
明显代价:高昂的维护费用,已上升达80%左右; 无形代价:
的工作环境,或适应已变动的数据或文件; (4)为预防软件系统的失效而对软件系统实施修改。
8.2 软件维护的分类
- 改正性维护
对在测试阶段未能发现的、在软件投入使用后才逐渐暴露出来的 错误的测试、诊断、定位、纠错,以及验证、修改的回归测试过程, 称为改正性维护。
- 完善性维护
为了满足用户在使用过程中对软件提出的新的功能与性能要求, 需要对原来的软件的功能进行修改或扩充。
- 适应性维护
使软件适应外部新的软硬件环境或者数据环境发生的变化, 而进行修改软件的过程。
- 预防性维护
为了提高软件未来的可维护性、可靠性等,或为了给未来 的改进奠定更好的基础而修改软件的过程。
8.2 软件维护的分类 预防性维护 4% 适应性维护 21% 完善性维护 50%
改正性维护 25%
四类维护占总维护的比例
修改软件设计、 复查、必要的代 码修改、单元测 试和集成测试、 验收测试和复审
软件工程导论(共65张PPT)可编辑全文

– 学生选课系统 软件
Microsoft Visio; Rational Rose
高级程序语言 作业递交方式:
来信标题注明 :班级 、学号、姓名、章节
第1章 软件工程学概述
1.1 软件危机
软件危机的出现:60年代中期到70年代中期, 许多软件最终成为不可维护的,这就是软件危 机.
不能用象硬件替换部件的方式修复软件的故障 使用增量模型的困难是,在把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。
出现了“软件作坊”,软件作为一种产品被广泛使用;
使用个体化开发方式;
软件的发展史_2
随着软件数量的增加及软件需求的日趋复杂, 维护难度与来越大,开发成本高,质量低 导致“软件危机”
➢相同点:都将软件开发划分为分析、设计、编码、 测试等阶段 ➢不同点:思想不同,方法不同。另外,传统软件 工程更关注功能模块,面向对象软件工程更关注对 象的抽取和设计
➢ 两类软件工程方法学没有绝对的替代关系
1.3软件生命周期
生命周期方法学
从时间角度对软件开发和维护的复杂问题进行分解,把软件生命 的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务, 然后逐步完成每个阶段的任务。
关注大型程序的构造 中心问题是控制复杂性 软件经常变化 开发效率非常重要 和谐地合作是开发软件的关键 有效地支持它的用户 具有一种文化背景的人替另一种文化背景的人
创造产品
用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组成员应少而精 承认不断改进软件工程实践地必要性
软件工作涉及到很多社会因素。 由于对象概念的引入,表达分析、设计及实现等活动只用对象类和关系,从而可以较容易地实现活动的迭代和无间隙
【信息化-精编】软件工程导论课后习题详细答案

【信息化-精编】软件工程导论课后习题详细答案软件工程导论课后习题详细答案《软件工程导论》课后习题答案第一章软件工程概论 1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2)推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3)根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
软件工程导论课件第8章

5. 数据重构 对数据体系结构差的程序很难进行适应性和 完善性维护,因此,数据体系结构比源代码对程序 的长期生存力有更大影响。 数据重构是一种全范围的再工程活动。由于 数据重构对程序体系结构及程序中的算法有很大影 响,对数据的修改必然会导致程序体系结构或代码 层的改变。
3
2.适应性维护 为适应变化了的环境界面而修改软件的活动, 称为适应性维护。包括: (1)因硬件或支撑软件改变引起的变化; (2)将软件移植到新的机种上运行; (3)因数据环境的变化而做的变更。 这类维护大约占软件维护总工作量的25%。
4
3.完善性维护 为了满足用户要求,就得对软件进行修改和 扩充,我们称这种维护为完善性维护。完善性维护 主要包括: (1)提高处理效率; (2)提高性能。 在整个维护工作中, 完善性维护大约占50% 左右,区居第一位。
3. 逆向工程 软件的逆向工程是,分析程序以便在比源代码 更高的抽象层次上创建出程序的某种描述的过程, 也就是说,逆向工程是一个恢复设计结果的过程。 4. 代码重构 某些老程序的体系结构比较合理,但是,一些 模块的编码方式却是难于理解、测试和维护的。在 这种情况下,可以重构这些模块的代码。 通常,代码重构并不修改程序的体系结构,它 只关注个体模块的设计细节以及在模块中定义的局 部数据结构。如果重构扩展到模块边界以外并涉及 软件体系结构,则重构变成了正向工程。
13
(四)软件维护过程 维护过程的实质是对软件定义和开发过程的修 改和压缩。维护过程的主要任务是:建立维护机构, 填写维护报告和评价,为每个维护要求规定一种规 范化的处理序列,建立对维护活动的登记制度及规 定评价复审的标准。 1.维护组织 机构中有一名维护管理员总负责,每项维护要 求都通过维护管理员转交给相应的系统管理员去评 价。系统管理员对维护任务做出评价之后,由变化 授权人决定应该进行的活动,最后由系统管理员去 执行维护任务。
软件工程 张海藩 课后习题答案

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程导论[第六版]课后习题答案解析
![软件工程导论[第六版]课后习题答案解析](https://img.taocdn.com/s3/m/e26e9289f121dd36a32d8285.png)
第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。
软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。
常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。
这些都降低了开发商的信誉,引起用户不满。
(2) 用户对已完成的软件不满意的现象时有发生。
(3) 软件产品的质量往往是靠不住的。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。
(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。
(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。
软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。
(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。
(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。
二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
软件工程导论教学大纲-章程

《软件工程导论》教学大纲安徽大学计算机科学与技术学院2017 年 3 月《软件工程导论》教学大纲课程编号:ZJ36047课程名称:软件工程导论英文名称:Introduction to Software Engineering 学分/学时:2/34 课程性质:学科平台课程适用专业:软件工程先修课程:计算机导论开课单位:计算机科学与技术学院一、课程的教学目标与任务《软件工程导论》课程是软件工程专业高等教育的专业基础课程和学科平台课程,是“科研训练计划”教育课程。
《软件工程导论》以科学技术方法论为逻辑起点,结合部分管理方面的基本理论,讲授软件工程与方法论的联系,从而提高软件的质量和生产率。
本课程以软件工程专业本科二年级学生为讲授对象,是集理论性与应用性为一体的学科。
设置本课程的目的是:使学习者在全面了解软件工程发展历史、基本理论的基础上,系统掌握软件开发过程中的现代方法和管理手段,具备用工程化方法设计和构建规范软件的思想,从而为后续软件工程开发方法的系列课程奠定理论基础。
学习本课程的要求是:学习者应深刻认识软件危机产生的原因,纠正对软件开发的错误认识,掌握软件工程科学方法论的基本概念和基本原理,初步具备作为专业人员组织软件开发和设计工作的能力。
为检验掌握软件开发应遵循的原则和编写文档的基本方法的程度,最后的考核是通过考试进行,同时以加深对课程内容的理解。
二、课程具体内容及基本要求第一章软件工程的范畴 ( 2学时)基本内容包括:第一节历史方面一、定义软件(1)介绍软件的形式化定义。
结合经典教科书中关于软件的定义,介绍软件中所包含的三个要素:①指令的集合;②数据结构;③软件描述信息。
(2)阐述非形式化定义中软件具有的特性。
对比其他人工产品的特性,总结软件所具有的三个特性。
二、软件工程的发展历程和应用领域第二节经济方面结合例子阐述经济学原则在软件生产方面的重要性。
第三节维护性方面介绍软件生命周期模型和步骤,阐述维护工作在生命周期模型中的重要性和具体分类。
软件工程导论_第八章

• 完善性维护 利用前两类维护中列举的方法,也可以 减少这一类维护。特别是数据库管理系 统、程序生成器、应用软件包,可减少 维护工作量。 此外,建立软件系统的原型,把它在实 际系统开发之前提供给用户。用户通过 研究原型,进一步完善他们的功能要求, 就可以减少以后完善性维护的需要。
二、在不断增加 的,1970年占35%~40%;1980年上升到40%~ 60%。1990年上升到70%~80%。 由于大量软件的维护活动要使用较多的硬件、 软件、软件工程师等资源,使开发新的软件资源 不足而受到影响。由于维护时的改动,在软件中 引入了潜在的故障,从而降低了软件的质量。
(4) 在重新确认过程中,需邀请用 户参加。 • 维护后的验收──在交付新软件之 前,维护主管部门要检验: (1) 全部文档是否完备,并已更新; (2) 所有测试用例和测试结果已经 正确记载; (3) 记录软件配置所有副本的工作 已经完成; (4) 维护工序和责任已经确定。
适应性维护活动要占整个维护活动的25%。
3、 完善性维护
在软件漫长的运行时期中,用户往往会对软件 提出新的功能要求与性能要求,这是因为用户的 业务会发生变化,组织机构也会发生变化,为了 适应这些变化,应用软件原来的功能和性能需要 扩充和增强。例:原系统内没有帮助信息,使用 不方便,现在要加帮助信息,这种维护活动称为 完善性维护, 这种维护工作活动数量较大,占整个维护活动 50%。
开发与维护人员不是一个人或一个组织,由于 维护阶段持续时间很长,正在运行维护的软件可 能是五年前,十年前开发的,当时的开发工具、 方法、技术与当年的工具、方法、技术差异很大, 这又是维护困难的另一因素。
4、 软件维护不是一项吸引人的工作。
由于维护工作的困难性,维护工作经常遭受挫 折,而且很难出成果,不像软件开发工作那样吸 引人。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.3 软件维护过程
2.维护报告 维护申请表(Maintenance Request Form,MRF)或称软 件问题报告(Software Problem Report, SPR),由申请 维护的用户填写 用户必须完整地说明产生错误的情况,包括输入数据、错误 清单以及其它有关材料 如果申请的是适应性维护或完善性维护,用户必须提出一份 修改说明书,列出所有希望的修改 维护申请报告将由维护管理员和系统监督员来研究处理 他们应相应地做出软件修改报告,并指明: – 所需修改变动的性质 – 申请修改的优先级 – 为满足某个维护申请报告,所需的工作量 – 预计修改后的状况.软件修改报告应提交修改负责人,经 批准后才能开始进一步安排维护工作
2013-7-4
liang@
20
软件维护策略—完善性维护
利用前两类维护中列举的方法,也可以减
少这一类维护
– 特别是数据库管理系统、程序生成器、应用软 件包,可减少维护工作量
此外,建立软件系统的原型,把它在实际
系统开发之前提供给用户
– 用户通过研究原型,进一步完善他们的功能要 求,就可以减少以后完善性维护的需要
2013-7-4
liang@
8.1 软件维护的定义
维护绝不仅限于纠正使用中发现的错误。
– 完善性维护:50-66% – 改正性维护:17-21%
– 适应性维护:18-25%
– 其他维护:4%
上述4类维护活动都必须应用于整个软件配置,维 护软件文档和维护软件的可执行代码同样重要。
liang@ 25
2013-7-4
8.3 软件维护过程
3.维护的事件流
2013-7-4
liang@
26
8.3 软件维护过程
不管维护的类型如何,都需要进行同样的技术工作。这些 工作包括修改软件设计、复查、必要的代码修改、单元和 集成测试(包括回归测试)、验收测试和复审。 当恶性软件问题发生时,必须立即解决,这就是所谓的 “救火”维护要求。 在完成软件维护任务之后,进行处境复查
2013-7-4
liang@
6
适应性维护(Adaptive
Maintenance)
在使用过程中,使用坏境可能发生变化
– 外部环境(新的硬、软件配置) – 数据环境(数据库、数据格式、数据输 入/输出方式、数据存储介质) 为使软件适应这种变化,而去修改软件的 过程就叫做适应性维护
2013-7-4
liang@
3
第8章 维护(Maintenance)
8.1 软件维护的定义 8.2 软件维护的特点 8.3 软件维护过程 8.4 软件的可维护性 8.5 预防性维护 8.6 软件再工程过程 8.7 小结
2013-7-4 liang@ 4
M是维护中消耗的总工作量 p是上面描述的生产性工作量 K是一个经验常数 c是因缺乏好的设计和文档而导致复杂性的度量 d是对软件熟悉程度的度量 该模型指明,如果使用了不好的软件开发方法(未按软件工程要求 做),原来参加开发的人员或小组不能参加维护,则工作量(及成本) 将按指数级增加
liang@ 15
liang@ 17
2013-7-4
影响维护工作的因素 (2)
数据库技术的应用:使用数据库,可以简单而有 效地管理和存储用户程序中的数据,还可以减少 生成用户报表应用软件的维护工作量 先进的软件开发技术:在软件开发时,若使用能 使软件结构比较稳定的分析与设计技术,及程序 设计技术,如面向对象技术、复用技术等,可减 少大量的工作量 其它因素: – 应用的类型 – 数学模型 – 任务的难度 – 开关与标记、IF嵌套深度、索引或下标数等
– 维护费用稳步上升
1970年,35%-40% 1980年,40%-60% 1990年,70%-80%
– 必须占用可用资源 – 不能及时修改,引起用户不满
– 引入潜伏错误,降低软件质量
– 开发人员作为维护人员,使得开发过程混乱 – 生产率大幅度下降
美国空军飞行控制软件:$75(开发)$4000(维护)
软件工程导论
梁文新
办公室:综合楼108 电 话: 87571625 liang@
软件的生命周期
问题定义
可行性分析
软件 定义
What? How?
需求分析 总体设计 详细设计 编码 软件 开发
Implementation
测试 运行维护
liang@
运行 维护
2013-7-4
liang@
21
8.3 软件维护过程
维护过程本质上是修改和压缩了的软件定义和开发 过程,为了有效地进行软件维护,应事先就开始做 组织工作
– – – – 首先建立维护的机构 确定提出维护申请报告的过程及评价的过程 为每一个维护申请规定标准的处理步骤 建立维护活动的登记制度以及规定评价和评审的标准
2013-7-4 liang@ 16
影响维护工作的因素(1)
系统大小:系统越大,理解掌握起来越困难。系统越大, 所执行功能越复杂。因而需要更多的维护工作量 程序设计语言:使用强功能的程序设计语言可以控制程序 的规模。语言的功能越强,生成程序的模块化和结构化程 度越高,所需的指令数就越少,程序的可读性越好 系统年龄: – 老系统随着不断的修改,结构越来越乱 – 维护人员经常更换,程序又变得越来越难于理解 – 许多老系统在当初并未按照软件工程的要求进行开发, 因而没有文档,或文档太少 – 在长期的维护过程中文档在许多地方与程序实现变得 不一致,在维护时就会遇到很大困难
– 非结构化维护需要付出很大的代价,这种维护方 式是没有使用良好定义的方法学开发出来的软件 的必然结果
2013-7-4 liang@ 11
8.2 软件维护的特点
2.结构化维护
如果有一个完整的软件配置存在,那么维护工作从 评价软件设计文档开始 – 确定软件重要的结构特点、性能特点以及接口特 点; – 估量要求的改动将带来的影响; 然后首先修改设计并且对所做的修改进行仔细复查; 接下来修改程序源码; 然后根据测试说明书进行回归测试; 交付修改后的软件。
2013-7-4 liang@ 18
软件维护策略—改正性维护
通常要生成100%可靠的软件并不一定合算,
成本太高 但通过使用新技术,可大大减少进行改正 性维护的需要 这些技术包括
– 数据库管理系统 – 软件开发环境 – 程序自动生成系统 – 较高级(第四代)的语言 – 以及新的开发方法、软件复用、防错程序设计 及周期性维护审查等
2013-7-4
liang@
10
8.2 软件维护的特点
8.2.1 结构化维护与非结构化维护差别巨大 1.非结构化维护
– 如果软件配置的唯一成分是程序代码,那么维护 活动将因文档不足而非常艰难。
对于软件结构、全程数据结构、系统接口、性能和
(或)设计约束容易产生误解 对程序代码所做改动的后果也难于估量(无测试文档, 不能进行回归测试)
2013-7-4
liang@
8
预防性维护(Preventative
Maintenance)
预防性维护是为了提高软件将来的可
维护性、可靠性等,为将来进一步改 进软件打下良好基础 预防性维护定义为:采用先进的软件 工程方法对需要维护的软件或软件中 的某一部分(重新)进行设计、编制 和测试
2013-7-4
liang@
12
维护请求 软件 配置 理解设计 代码 理解代码功能
方案规划 理解 ?
修改设计 修改代码 测试复审 修改代码
测试复审
结构化维护
2013-7-4
交付使用
liang@
非结构化维护
13
8.2 软件维护的特点
8.2.2 维护的代价高昂
2013-7-4 liang@ 14
8.2 软件维护的特点
– 用于维护工作的劳动
生产性活动(分析评价,修改设计,编写程序代码)
非生产性活动(理解程序代码的功能,解释数据结构、接口
特点和性能限度等)
– 维护工作量模型:
– – – – – –
M p Ke
c d
2013-7-4 liang@ 24
8.3 软件维护过程
维护申请提交给维护 管理员,他把申请交 给某个系统监督员去 评价 一旦做出评价,由修 改负责人确定如何进 行修改 在修改程序的过程中, 由配置管理员严格把 关,控制修改的范围, 对软件配置进行审计 在维护之前,就把责 任明确下来,可以减 少维护过程中的混乱
2013-7-4
liang@
7
完善性维护(Perfective/Evolutive
Maintenance)
在软件的使用过程中,用户往往会对软件
提出新的功能与性能要求 为了满足这些要求,需要修改或再开发软 件,以扩充软件功能、增强软件性能、改 进加工效率、提高软件的可维护性 这种情况下进行的维护活动叫做完善性维 护
维护分类
– 改正性维护(Corrective Maintenance)
– 适应性维护(Adaptive Maintenance)
– 完善性维护(Perfective/Evolutive Maintenance) – 预防性维护(Preventative Maintenance)
2013-7-4 liang@ 5
2
2013-7-4
概述
软件产品被开发出来并交付用户使用之后,就进入了软件的运 行维护阶段。 软件生命周期的最后一个阶段,其基本任务是保证软件在一个 相当长的时期能够正常运行。 维护成本占重成本的40-90%。