第8章 软件维护

合集下载

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

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

软件工程课件之第8章维护第6版张海潘编著

软件工程课件之第8章维护第6版张海潘编著
(1) 必须描述如何使用这个系统,没有这种描述时即 使是最简单的系统也无法使用; (2) 必须描述怎样安装和管理这个系统; (3) 必须描述系统需求和设计; (4) 必须描述系统的实现和测试,以便使系统成为可 维护的。
用户文档
用户文档至少应该包括下述5方面的内容:
功能描述,说明系统能做什么; 安装文档,说明怎样安装这个系统以及怎样使系统
软件维护过程
维护报告
维护要求表或称软件问题报告表,由申请维 护的用户填写。
软件修改报告,由软件组织内部制定,指明:
满足某个维护要求表中提出的要求所需要的工 作量;
维护要求的性质; 这项要求的优先级; 与修改有关的事后数据;
维护的事件流
维护的事件流
尽管维护申请的类型不同,但都要进行同样 的技术工作:
系统文档
所谓系统文档指从问题定义、需求说明到验收 测试计划这样一系列和系统实现有关的文档。
描述系统设计、实现和测试的文档对于理解程 序和维护程序极端重要
从概貌到每个方面每个特点,从抽象到具体, 有逻辑地介绍系统
可维护性复审
在需求分析阶段的复审过程中,应该对将来要 改进的部分和可能会修改的部分加以注意并指 明;应该讨论软件的可移植性问题,并且考虑 可能影响软件维护的系统界面。
维护的问题
与软件维护有关的绝大多数问题,都可归 因于软件定义和软件开发的方法有缺点:
① 理解别人写的程序通常非常困难,而且困难程 度随着软件配置成分的减少而迅速增加。
② 需要维护的软件往往没有合格的文档,或者文 档资料显著不足。
③ 当要求对软件进行维护时,不能指望由开发人 员给我们仔细说明软件。
的。
软件维护工作量
各类维护工作量 所占比例
维护工作量在软件生 命周期所占比例

第8章 软件维护

第8章 软件维护

系统年龄: – 老系统随着不断的修改,结构越来越乱; – 维护人员经常更换,程序又变得越来越难于理解 – 许多老系统在当初并未按照软件工程的要求进行 开发,因而没有文档,或文档太少。 – 在长期的维护过程中文档在许多地方与程序实现 变得不一致,在维护时就会遇到很大困难。 数据库技术的应用:使用数据库,可以简单而有效 地管理和存储用户程序中的数据,还可以减少生成 用户报表应用软件的维护工作量。
24
8.4
软件的可维护性
许多软件的维护十分困难,原因在于这些软件 的文档不全、质量差、开发过程不注意采用好 的方法,忽视程序设计风格等。 许多维护要求并不是因为程序中出错而提出的, 而是为适应环境变化或需求变化而提出的。 为了使得软件能够易于维护,必须考虑使软件 具有可维护性。 软件可维护性是指纠正软件系统出现的错误和
14
1、维护机构 除了较大的软件开发公司外, 通常在软件维护工作方面,并 不保持一个正式的组织机构。 虽然不要求建立一个正式的维 护机构,但是在开发部门确立 一个非正式的维护机构则是非 常必要的。
15
每个维护要求都通过维护管理员转交给相应的系 统管理员去评价(系统管理员是被指定去熟悉一 小部分产品程序的技术人员)。 系统管理员对维护任务做出评价之后,由变化授 权人决定应该进行的活动。 16
缺陷,以及为满足新的要求进行修改、扩充或 压缩的难易程度。
25
8.4.1 决定软件可维护性的因素
1. 可理解性 2. 可测试性 3. 可修改性 4. 可移植性 5. 可重用性
26
1. 可理解性 软件可理解性表现为外来读者理解软件的结构、 功能、接口和内部处理过程的难易程度。模块化 (模块结构良好,高内聚,松耦合)、详细的设 计文档、结构化设计、程序内部的文档和良好的 高级程序设计语言等等,都对提高软件的可理解 性有重要贡献。 2. 可测试性 诊断和测试的容易程度取决于软件容易理解的程 度。良好的文档对诊断和测试是至关重要的,此 外,软件结构、可用的测试工具和调试工具,以 及以前设计的测试过程也都是非常重要的。维护 人员应该能够得到在开发阶段用过的测试方案, 以便进行回归测试。在设计阶段应该尽力把软件 设计成容易测试和容易诊断的。 对于程序模块来说,可以用程序复杂度来度量它 的可测试性。模块的环形复杂度越大,可执行的 路径就越多,因此,全面测试它的难度就越高。

软件工程导论课件第8章

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

第8章_软件维护(徐东升)

第8章_软件维护(徐东升)

西安文理学院
软件学院
8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护差别巨大
1. 非结构化维护 如果软件配置的惟一成分是程序代码,那么维护 活动从艰苦地评价程序代码开始,对软件结构、数据 结构、系统接口、设计约束等常产生误解,不能进行 回归测试,维护代价大。 非结构化维护需要付出很大代价,这种维护方式 是没有使用良好定义的方法学开发出来的软件的必然 结果。也就是就说在设计时未采用结构化程序设计方 法。
最后,把修改后的软件再次交付使用。
西安文理学院
软件学院
8.2.2 软件维护的代价
1. 有形代价与无形代价
软件维护的代价表现为有形代价和无形代价。 有形代价指软件维护的费用开支。在过去的几十年中,软
件维护的费用稳步上升。
70年代,用于软件维护的费用只占软件总预算的30%~ 40%,80年代上升到60%左右,90年代许多软件项目的维护 经费预算达到了80%。
西安文理学院
软件学院
该模型描述了影响维护的诸多因素中重要的
关系。如果一个系统开发没有遵循软件工程原 则,软件结构不好,c的值就会很高,再加上 维护人员对软件的不熟悉,原来参加开发的人 员或小组不能参加维护,d的值很低。结果是, 维护的工作量和成本将呈指数级增加。
西安文理学院
软件学院
8.2.3 程序修改的步骤及修改的副作用
西安文理学院
软件学院
实际应用中,常常是混合以上几种方法。对 系统不重要的部分采用直接方式,对系统重要部 分采用并行方式,使系统平稳交付使用。
西安文理学院
软件学院
8.1 软件维护的定义
8.1.1 软件维护的基本内容 所谓软件维护就是在软件已经交付使用 之后,为了改正错误或满足新的需要而修改 软件的过程。

软件工程 第8章 软件维护

软件工程  第8章  软件维护

8.4.2 软件可维护性的度量
3. 可测试性 4. 可修改性 5. 可移植性 6. 效率 7. 可使用性 8. 间接度量可维护性的方法
8.4.2 软件可维护性的度量
8. 间接度量可维护性的方法
(1) 了解问题的时间; (2) 行政管理拖延的时间; (3) 收集维护工具的时间; (4) 分析问题的时间; (5) 改变规格说明的时间; (6) 具体的改错或修改的时间; (7) 局部测试时间; (8) 整体测试时间; (9) 维护重审时间; (10) 总体恢复时间。

8.4 软件的可维护性
8.4.1 影响可维护性的因素 软件的可维护性可以简单定义为:纠正软件系统出现 的错误和缺陷,以满足新的要求, 能够被理解、被校正、 被修改或被改善的难易程度。可维护性不但与采用的 分析设计方法和开发人员的技术熟练程度有关,更重 要的是与软件项目的管理技术关系密切。软件的可维 护性成为软件开发阶段各个时期的关键目标。
8.1 软件维护的种类
完善性维护 50%
预防性维护5%
改正性维护 20%
适应性维护 25%
图11.1 各类维护的比重
8.2 软件维护的特点
8.2.1 软件维护面临的困难 统计资料表明,有代表性的软件开发组织用于校正性 维护、适应性维护、完善性维护及预防性维护的费用 占其开发总金额的70%至80%。 很多软件机构被束缚在维护工作上,这是软件维护所 带来的无形支出。

8.2.3 非结构化维护

无说明或者文档资料太少由于没有采用定义良好的软 件项目管理过程来开发软件,软件项目管理的缺陷导 致的叫“非结构化维护”,这会使软件维护付出较高的 代价.
8.2.4 结构化维护

存在完整的软件系列文档,那么维护任务就从分析设 计文件开始,确定软件的重要结构特性、功能特性和 接口特性,确定所要求的修改或校正可能产生的影响, 并且计划采用何种维护处理方法,修改设计并进行复 审,编制出新的源程序,利用文档中的信息进行回归 测试,然后重新交付软件。这种维护过程就叫做“结 构化维护”

软件工程第八章维护

软件工程第八章维护

软件工程第八章维护第一点:软件维护的定义和重要性软件维护是指在软件发布后对其进行的一系列操作和活动,旨在确保软件系统的持续可用性、可靠性和性能。

软件维护是软件开发生命周期中的一个重要环节,它涉及到对软件进行修正、优化和升级。

软件维护的重要性体现在以下几个方面:1.保障软件质量:软件在实际运行过程中可能会出现各种问题,维护可以帮助及时修复这些问题,保证软件的正常运行。

2.提高用户满意度:通过维护,可以对软件进行功能优化和界面调整,使其更加符合用户的需求,提高用户的使用体验。

3.降低风险:软件维护可以帮助提前发现并解决潜在的风险,避免因软件问题导致的损失。

4.延长软件寿命:通过不断的维护和升级,可以使软件适应不断变化的环境和需求,延长其使用寿命。

5.提高开发效率:良好的维护可以避免因软件问题导致的重复开发,提高开发团队的效率。

第二点:软件维护的类型和策略软件维护可以分为以下几种类型:1.改正性维护:这种维护类型主要是针对软件中存在的问题和错误进行修复,保证软件的正常运行。

2.适应性维护:随着环境的变化和用户需求的变化,软件需要进行相应的调整和优化,以适应新的环境和工作需求。

3.完善性维护:这种维护类型主要是针对软件的功能进行增强和扩展,以满足用户的新需求。

4.预防性维护:预防性维护是为了避免软件出现潜在的问题和风险,提前对软件进行调整和优化。

在进行软件维护时,可以采取以下策略:1.计划维护:制定详细的维护计划,包括维护的时间、内容、责任人等,确保维护工作的有序进行。

2.变更管理:对于软件的修改和更新,需要进行严格的变更管理,确保每次变更都是经过审核和评估的。

3.版本控制:通过版本控制工具,对软件的不同版本进行管理,确保软件的每个版本都是可追踪和可恢复的。

4.文档管理:对软件的维护过程和结果进行详细的文档记录,方便对软件进行管理和维护。

5.持续集成:将软件的维护工作与开发工作结合起来,通过持续集成的方式,确保软件的质量和稳定性。

第8章软件维护

第8章软件维护

软件维护步骤
4、修改程序的副作用
副作用是指因修改软件而造成的错误或其它不希望发生的情况。 1)编码副作用:在使用程序设计语言修改源代码时可能引起的错误, 如删除或修改一个标号、标识符、一个子程序,改变程序代码的时序关系, 改变逻辑运算符,改进程序的执行效率,改变程序占用存储的大小等,都 很容易引入错误,应特别小心。 2)数据副作用:在修改数据结构时,有可能造成软件设计和数据结构 的不一致,而导致软件错误。数据副作用是修改软件信息结构引起的,如 重新定义全局或局部常量,重新初始化控制标志或指针等,都容易产生设 计与数据不相容的错误,可通过详细设计文档对数据副作用加以控制。 3)文档副作用:对数据流、软件结构、逻辑模块等进行修改时,必须 对相关技术文档进行修改,否则会导致 文档与程序功能不匹配,使文档不 能反映软件当前的状态。
软件维护步骤
5、重新验证程序:
1)静态确认; 2)计算机确认; 3)维护后的验收。
软件维护步骤
第三步:维护文档整理
记录一些与维护工作有关的数据信息,这些信息 可作为估计软件维护的有效程度,确定软件产品的 质量,确定维护的实际开销等工作的原始数据。
软件维护步骤
第四步:维护活动评价
具体的评价工作可从以下几个方面考虑: (1)每次程序运行时的平均出错次数; (2)花费在每类维护活动上的总的“人时”数; (3)每个程序、每种语言、每种维护类型程序的平均修改次数; (4)维护工作中增加或删除每个源程序语句所花费的平均“人 时”数; (5)用于每种语言的平均“人时”数; (6)维护申请报告的平均处理时间; (7)各类维护申请的百分比。 一方面,可判定此次维护活动开展是否顺利、成功;另一方面, 为今面的维护工作积累经验。
2、结构化维护:进行维护 活动时,首先从评价需求开始,搞清楚 功能、性能上的改变,然后对设计说明文档进行评价、修改和复查; 根据设计的修改,再进行程序的变动;然后根据测试文档中的测试 用例进行回归测试;最后将修改后的软件再次交付使用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8章例题分析与解答作者:不详来源:2006年9月4日发表评论进入社区一、填空题1.为了识别和纠正运行中产生的错误而进行的维护称为_________维护。

2.采用软件工程方法开发软件,各阶段均有文档,容易维护,这种维护是________。

3.为提高可维护性,要使用的先进的、强有力的、实用的软件开发方法是________。

4.在软件维护中,因修改软件而导致出现的错误或其他情况称为__________。

二、选择题1.为增加软件功能和性能而进行的软件修改维护过程是( )。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护2.维护中用来指出修改的工作量、工作性质、优先权、修改的事后性质的文档是( )。

A.软件需求说明B.软件修改报告C.软件问题报告D.测试分析报告3.维护中,因修改全局或公用数据而引起的错误是( )。

A.文档副作用B.数据副作用C.编码副作用D.设计副作用4.生产性维护活动是( )。

A.修改设计B.理解设计C.解释数据结构D.理解功能答案:一、填空题1.校正性2.结构化维护3.面向对象方法4.维护的副作用二、选择题1.C2.B3.B4.A第8章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.校正性维护2.适应性维护3.完善性维护4.预防性维护5.软件可维护性 6.软件维护的副作用二、填空题1.维护阶段是软件生存周期中时间最长的阶段,也是花费精力和费用________的阶段。

2.在软件交付使用后,由于在软件开发过程中产生的错误没有完全彻底在开发阶段发现,必然有一部分隐含错误带到_________阶段。

3.采用手工方法开发软件只有程序而无文档,维护困难,这是一种___________维护。

4.软件维护费用增加的主要原因是维护的_________非常低。

5.软件维护工作的活动分为生产性活动和__________活动。

6.所有软件维护申请报告要按规定方式提出,该报告也称_________报告。

7.有两类维护技术:在开发阶段使用来减少错误,提高软件可维护性的面向维护技术;在维护阶段用来提高维护的效率和质量的_______技术。

三、选择题1.在生存周期中,时间长、费用高、困难大的阶段是( )。

A.需求分析B.编码C.测试D.维护2.为适应软硬件环境变化而修改软件的过程是( )。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护3.软件维护困难的主要原因是( )。

A.费用低B.人员少C.开发方法的缺陷D.维护难4.软件维护费用高的主要原因是( )。

A.生产率高B.生产率低C.人员多D.人员少5.维护阶段的文档是( )。

A.软件需求说明B.操作手册C.软件问题报告D.测试分析报告6.产生软件维护的副作用,是指( )。

A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时误操作7.维护中,因误删除一个标识符而引起的错误是( )副作用。

A.文档B.数据C.编码D.设计8.可维护性的特性中相互促进的是( )。

A.可理解性和可测试性B.效率和可移植性C.效率和可修改性D.效率和结构好9.可维护性的特性中,相互矛盾的是( )。

A.可修改性和可理解性B.可测试性和可理解性C.效率和可修改性D.可理解性和可读性四、简答题1.软件维护有哪些类型?2.软件维护的特点是什么?3.软件维护的流程是什么?4.软维护的副作用有哪些?5.可维护性度量的质量特性有哪些?6.提高可维护性有哪些方法?参考答案二、填空题1.最多2.维护3.非结构化4.生产率5.非生产性6.软件问题7.维护支援三、选择题1.D 2.B 3.C 4.B5.C 6.C 7.C 8.A 9.C第八章仿真试题作者:不详来源:2006年9月1日发表评论进入社区1.软件生命周期的最后的一个阶段是( )A.书写软件文档B.软件维护C.稳定性测试D.书写详细用户说明2.软件维护工作的最主要部分是( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护3.在软件维护工作中进行的最少的部分是( )A.校正性维护B.适应性维护C.完善性维护D.预防性维护4.软件维护工作中大部分的工作是由于( )而引起的。

A.程序的可靠性B.适应新的硬件环境C.适应新的软件环境D.用户的需求改变5.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( )A.改正性维护B.适应性维护C.完善性维护D.预防性维护6.软件的可维护性变量可分解为对多种因素的度量,下述各种因素( )是可维护度量的内容。

(1)可测试性(2)可理解性(3)可修改性(4)可复用性A.全部B.(1)C.(1)、(2)和(3)D.(1)、(2)7.软件维护是保证软件正常,有效运行的重要手段,而软件的下述特性:(1)可测试性(2)可理解性(3)可修改性(4)可移植性哪个(些)有利于软件维护?( )A.只有(1)B.(2)和(3)C.(1)、(2)和(3)D.都有利8.在软件生命周期中,( )阶段所占工作量最大,约占70%。

A.分析B.维护C.编码D.测试9.软件维护大体上可分为四种类型,下列哪一个不属于其中?( )A.校正性B.可靠性C.适应性D.完善性10.软件维护指的是( )A.对软件的改进、适应和完善B.维护正常运行C.配置新软件D.软件开发的一个阶段11.软件的可维护性度量可分解为对多种因素的度量,下述各种因素中,哪些是可维护性度量的内容?( )(1)可测试性(2)可理解性(3)可修改性(4)可复用性A.(1)、(2)、(3)、(4)B.(1)C.(1)、(2)、(3)D.(1)、(2)12.软件工程学是指导计算机软件开发和( )的工程学科。

A.软件维护B.软件设计C.软件应用D.软件理论13.下面哪一个不是人们常用的评价软件质量的四个因素之一?( )A.可维护性B.可靠性C.可理解性D.易用性14.软件系统的可理解性的提高,会导致软件系统( )的提高?A.可维护性B.可靠性C.可理解性D.可使用性15.软件产品质量是生产者和用户都十分关心的问题,质量管理只看到产品的质量,近年来质量管理向( )发展,重要的基本假设是过程的质量直接影响产品的质量。

A.过程质量的控制B.过程的改进C.产品的改进D.技术的革新16.国际标准化组织和国际电工委员会发布的关于软件质量的标准中规定了( )质量特性及相关的21个质量子特性。

A.5个B.6个C.7个D.8个17.ISO/IEC规定的6个质量特性包括功能性、可靠性、可使用性、效率、( )和可移植性等。

A.可重用性B.组件特性C.可维护性D.可测试性18.ISO/IEC9126-1991规定的6个质量特性21个质量子特性,其中可测试性属于( )A.可使用性B.效率C.可维护性D.可移植性19.通常把软件交付使用后做的变更称为维护,软件投入使用后的另一项工作是软件再工程针对这类软件实施的软件工程活动,主要是对其重新实现,使其具有更好的( ),包括软件重构、重写文档等。

A.功能性B.可靠性C.可使用性D.可维护性20.软件生存期( )阶段的工作都与软件可维护性有密切的关系。

A.编码阶段B.设计阶段C.测试阶段D.每个阶段21.软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、( )的容易程度。

A.维护B.扩充与压缩C.调整D.再工程22.目前广泛使用7个特性来衡量软件的可维护性,下列哪些特性不属于衡量软件可维护性的范围?( )A.可移植性、可使用性B.可靠性、效率C.一致性、数据无关性D.可理解性、可测试性23.目前广泛使用7个特性来衡量软件的可维护性,可测试性,可靠性和可理解性主要在( )侧重应用。

A.校正性维护B.适应性维护C.完善性维护D.预防性维护24.对于软件产品来说,有4个方面影响着产品的质量,即开发技术、过程质量、人员素质及( )等条件。

A.风险控制B.项目管理C.配置管理D.成本、时间和进度25.重视软件过程质量的控制,其部分原因是,相对于产品质量的控制来说,过程质量的控制是先期的、主动的、( ),而产品质量的控制是事后的、被动的、个别的。

A.整体的B.系统的C.部分的D.可预测的26.McCall提出了表明软件质量的11个质量特性。

它们是正确性、可靠性、可使用性、完整性、( )可移植性、可复用性、效率、可测试性、互联性。

A.模块独立性、安全性B.文档完备性、灵活性C.可维护性、安全性D.可维护性、灵活性27.McCall提出的软件质量的11个质量特性分为三组,下面哪一个不属于这三组( )A.产品需求B.产品运行C.产品修正D.产品转移28.McCall提出的软件质量的11个质量特性分为三组,属于产品修正特性的有( )A.可移植性、可复用性和互连性B.可维护性、可移植性、可复用性C.可维护性、可测试性及灵活性D.正确性、可使用性、可测试性29.在软件维护的实施过程中,为了正确、有效地修改,需要经历以下三个步骤:分析和理解程序、修改程序和( )A.建立目标程序B.重新验证程序C.验收程序D.书写维护文档30.在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,下面哪一个是决定维护成败和质量的关键?( )A.分析和理解程序B.书写维护文档C.修改程序D.重新验证程序31.在软件维护的实施过程中,为了正确、有效地修改,需要经历几个步骤,其中重新验证程序分为( ),保证修改后的程序的正确性。

A.静态确认、计算机确认和维护后的验收B.动态确认、计算机确认和维护后的验收C.动态确认、计算机维护和维护后的存档D.静态确认、人工确认和维护后的检验32.软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度是指软件的( )A.兼容性B.可移植性C.容错性D.可接近性33.软件在需要它投入使用时能实现其指定的功能的概率是指( )A.可靠性B.可接近性C.可使用性D.稳定性34.软件使不同的系统约束条件和用户需求得到满足的容易程度是指( )A.兼容性B.可移植性C.容错性D.可接近性35.在规定的条件下和规定的一段时间内,实现所指定的功能的概率是指( )A.可使用性B.可接近性C.可靠性D.稳定性36.尽管有不合法的输入,软件仍能继续正常工作的能力是指( )A.兼容性B.可靠性C.容错性D.稳定性37.改错性维护与排错的相对关系是( )A.改错性维护与排错是同一概念的不同命名B.改错性维护是在更大范围中作工作C.排错是在更大范围中作工作D.它们是在同一阶段的不同工作38.下列叙述中哪个与软件的可移植性无关?( )A.把程序中与计算机硬件特性有关的部分集成在一起B.选择时间效率和空间效率高的算法C.使用结构化的程序设计方法D.尽量用高级语言编写程序中对效率要求不高的部分39.下面有关软件维护的叙述哪个是正确的?( )A.设计软件时就应考虑到将来的可修改性B.维护软件是一件很吸引人的创造性工作C.维护软件就是改正软件中的错误D.谁编写软件就应由谁来维护这个软件40.下列哪个改变不属于软件维护中的副作用?( )A.修改代码B.修改数据C.修改需求分析D.修改文档41.修改软件以适应外部环境(新的硬件、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)发生的变化是指?( )A.改正性维护B.适应性维护C.完善性维护D.预防性维护42.下列哪一项属于软件计划的范围内考虑的?( )A.项目实施计划,质量保证计划B.软件测试计划、文档编制计划C.用户培训计划、综合支持计划,软件分发计划D.以上都是43.软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的( )A.可理解性B.可维护性C.可扩展性D.可移植性答案:1.B2.C3.D4.D5.A6.C7.D8.B9.B 10.A 11.A 12.A 13.D 14.A 15.A 16.B 1 7.C 18.C 19.D 20.D 21.B 22.C 23.A 24.D 25.B 26.D 27.A 28.C 29.B 30.A 31.A 32.B 33.C 34.A 35.C 36.C 37.B 38.B 39.A 40.C 41.B 42.D 43.B《软件工程》习题参考答案8作者名:不详来源:网友提供06年6月8日第8章1、软件维护有哪些内容?答:(1)校正性维护。

相关文档
最新文档