本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明!

文章目录

1.维护阶段的基本任务是?

2.大型软件的维护成本大概是开发成本的几倍?

3.什么是软件维护?

4.软件维护分为哪几类?占比最多和最少的是哪一类?

5.软件维护的特点?

6.非结构化维护和结构化维护的区别?

7.软件维护的步骤过程?

8.维护过程的基本途径有哪些?

9.什么是软件的可维护性?

10.决定软件可维护性的因素有哪些?

11.影响软件可维护性的决定性因素是?

12.文档分为哪两部分?各自的作用?

13.软件再工程过程是什么?典型的软件再工程模型定义的6类活动依次是?

14.代码复审应该强调哪两个影响可维护性的因素?

15.在软件开发过程中应采取哪些措施提高软件产品的可维护性?

章末小结


1.维护阶段的基本任务是?

运行维护阶段是软件生命周期的最后一个阶段,基本任务是保证软件能够在一个相当长的时期能够正常运行。

2.大型软件的维护成本大概是开发成本的几倍?

4倍左右

3.什么是软件维护?

软件维护就是在软件已经交付使用之后,为了改正错误或者满足新的需要而修改软件的过程

4.软件维护分为哪几类?占比最多和最少的是哪一类?

  1. 改正性维护
  2. 适应性维护
  3. 完善性维护(占比最多)
  4. 预防性维护(占比最少)

5.软件维护的特点?

  1. 结构化维护和非结构化维护差异巨大
  2. 维护的代价高昂
  3. 维护的问题很多

6.非结构化维护和结构化维护的区别?

非结构化维护:软件配置的唯一成分只有程序代码

结构化维护:有一个完整的软件配置,包括设计文档、程序代码、测试说明书等

7.软件维护的步骤过程?

  1. 建立维护组织
  2. 书写维护报告
  3. 指定维护的事件流
  4. 保存维护记录
  5. 评价维护活动

8.维护过程的基本途径有哪些?

  1. 修改软件设计
  2. 复查
  3. 必要的代码修改
  4. 单元测试和集成测试
  5. 验收测试和复查

9.什么是软件的可维护性?

指的是维护人员理解、改正、改动或者改进这个软件的难易程度

10.决定软件可维护性的因素有哪些?

  1. 可理解性
  2. 可测试性
  3. 可修改性
  4. 可移植性
  5. 可重用性

11.影响软件可维护性的决定性因素是?

影响软件可维护性的决定性因素是文档,文档比程序代码更重要

12.文档分为哪两部分?各自的作用?

文档分为用户文档和系统文档

用户文档,描述系统功能和使用方法

系统文档,描述系统设计、实现和测试等内容

13.软件再工程过程是什么?典型的软件再工程模型定义的6类活动依次是?

软件再工程过程即软件重构,是一个循环模型

典型的软件再工程模型按顺序分为以下6类活动:

  1. 库存目录分析
  2. 文档重构
  3. 逆向工程
  4. 代码重构
  5. 数据重构
  6. 正向工程

14.代码复审应该强调哪两个影响可维护性的因素?

编码风格和内部说明文档

15.在软件开发过程中应采取哪些措施提高软件产品的可维护性?

  1. 建立明确的软件质量管理目标和优先级
  2. 使用提高软件质量的技术和工具
  3. 选择便于维护的程序设计语言
  4. 采取明确的、有效的质量保证审查措施
  5. 完善程序的文档

章末小结

维护是软件生命周期的最后一个阶段,也是持续时间最长、代价最大的一个阶段。软

件工程学的主要目的就是提高软件的可维护性,降低维护的代价。

软件维护通常包括4类活动:为了纠正在使用过程中暴露出来的错误而进行的改正性维护;为了适应外部环境的变化而进行的适应性维护;为了改进原有的软件而进行的完善性维护;以及为了改进将来的可维护性和可靠性而进行的预防性维护。

 软件的可理解性、可修改性、可移植性和可重用性,是决定软件可维护性的基本因素,软件重用技术是能从根本上提高软件可维护性的重要技术,面向对象的软件技术是目前最成功的软进重用技本。

软件生命周期每个阶段的工作都和软件可维护性有密切关系。良好的设计,完整准确易读易理解的文档资料以及一系列严格的复审和测试,使得一旦发现错误时比较容易诊断和纠正,当用户有新要求或外部环境变化时软件能较容易地适应,并且能够减少维护引人的错误。因此,在软件生命周期的每个阶段都必须充分考虑维护问题,并且为软件维护预做准备。

文档是影响软件可维护性的决定因素,因此,文档甚至比可执行的程序代码更重要。文档可分为用户文档和系统文档两大类。不管是哪一类文档都必须和程序代码同时维护,只有和程序代码完全一致的文档才是真正有价值的文档。

虽然由于维护资源有限,目前预防性维护在全部维护活动中仅占很小比例,但是不应该忽视这类维护活动,在条件具备时应该主动地进行预防性维护。

预防性维护实质上是软件再工程。典型的软件再工程过程模型定义了库存目录分析、文档重构、逆向工程、代码重构、数据重构和正向工程6类活动。在某些情况下,以线性顺序完成这些活动,但也并不总是这样。上述模型是一个循环模型,这意味着每项活动都可能被重复,而且对于任意一个特定的循环来说,再工程过程可以在完成任意一个活动之后终止。

下一章:软件工程——第9章面向对象方法学引论知识点整理

反反复复,扎扎实实;念念不忘,必有回响!

软件工程——第8章维护知识点整理相关推荐

  1. 期末离散数学前三章关键知识点整理——应试。

    第一章命题逻辑: 特别注意:这里的非我用 - ,你们一定要写书上的那种 1.命题公式判断: 知道感叹句.疑问句.祈使句不是命题就可. 2.命题符号化: 举个例子:注意看答题模板 王晓既用功又聪明. 解 ...

  2. 《人机交互技术》第一章 绪论 知识点整理

    1.概念(第一版 P1) (1)人机交互(Human-Computer Interaction HCI)是指关于设计.评价和实现供人们使用的交互式计算机系统,并围绕相关的主要现象进行研究的学科.主要是 ...

  3. 《Java核心技术卷一》第3章— — —个人知识点整理

    1 关键字public称为访问修饰符,它用于控制程序的其他部分对这段代码的访问级别 2 关键字class表明Java程序中的全部部分都包含在类中,将类作为一个加载程序逻辑的容器,程序逻辑定义了应用程序 ...

  4. 软件工程——第1章软件工程学概述知识点整理

    本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.为什么要有软件工程这门学科? 2.软件分为哪些阶段? 3.软件危机的定义? 4.软件危机包含的问题有哪些? ...

  5. 第三章:Windows 7操作——知识点整理

    第三章:Windows 7操作--知识点整理 第三章:Windows 7操作 知识梳理 高频考点 3.1 操作系统概述 3.1.1 操作系统的概念 3.1.2 操作系统的功能 ⭐️⭐️⭐️ 3.1.3 ...

  6. 第二章:计算思维——知识点整理

    第二章:计算思维--知识点整理 第二章:计算思维 知识梳理 高频考点 2.1 计算思维的概念与应用 2.1.1 计算思维的概念 2.1.2 计算思维的特征 2.1.3 计算思维的内涵 2.1.4 计算 ...

  7. 【STM32H7教程】第90章 STM32H7的CAN FD总线之关键知识点整理

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第90章       STM32H7的CAN FD总线之关键知 ...

  8. 第六章:演示文稿软件PowerPoint 2010 ——知识点整理

    第六章:演示文稿软件PowerPoint 2010 --知识点整理 第六章:演示文稿软件PowerPoint 2010 知识梳理 高频考点 6.1 PowerPoint 2010 基本知识 6.1.1 ...

  9. 计算机网络知识点整理(第二章物理层)

    计算机网络知识点整理(第二章物理层) 第二章 物理层 2.1物理层的基本概念 2.2数据通信的基础知识 2.3物理层下面的传输媒体(第零层) 2.4信道复用技术 2.5数字传输系统 2.6宽带接入技术 ...

最新文章

  1. android 获取应用的当前版本号获取当前android系统的版本号
  2. (转)SSH批量分发管理非交互式expect
  3. HTML 5 视频,音频
  4. SAP系统上线后的变化
  5. 自己生产签名和数字证书的方法
  6. magento 获取产品存货量以及configurable product 下associated children product信息
  7. aspx头部代码%@ Page Language=C# AutoEventWireup=true CodeFile=ceshi.aspx.cs Inherits=SM_ceshi %
  8. Asp.net MVC权限设计思考 (一)数据库建库部分
  9. CUDA 10[Linux]最新 百度云下载[免费]
  10. linux 上rocketMQ 安装启动
  11. 处理ajax表单验证结果,使用 jQuery Form 插件完成带数据验证的 Ajax 表单
  12. (转)用Javascript获取页面元素的位置
  13. vc6,vc.net,vc7,vc8,vc9,c,c++,c#的区别与联系
  14. WebStorm配置Sass
  15. 短时傅里叶变换STFT(非使用fft函数)
  16. 最全iOS马甲包审核以及常见审核问题
  17. word怎么显示计算机数字,在word中输入数字时为什么出现符号
  18. [Python爬虫] 三、数据抓取之Requests HTTP 库
  19. 什么是SSL协议 SSL协议的实现方式
  20. tomcat java 参数乱码_【java】怎样解决tomcat中get提交中文参数为乱码的问题

热门文章

  1. AlphaControls 控件Delphi使用
  2. uniapp开发小程序引入折线图
  3. Android 拦截或屏蔽返回键
  4. python trunc_Python os.O_TRUNC属性代码示例
  5. 给ERP项目管理团队的八点建议
  6. 夏威夷-玩转欧胡岛和大岛
  7. 5.3.3.tat.gz php_一步步在LINUX中源码安装PHP运行平台
  8. 电脑提示无法添加打印机怎么办
  9. Unity import package不显示标准资源包的问题(只有Custom Packag)
  10. 12.05—12.11java学习周记