文章目录

  • 一:定义
  • 二:决定软件可维护性的因素
    • (1)可理解性
      • A:定义
      • B:影响因素
    • (2)可测试性
      • A:影响因素
      • B:要求
      • C:衡量标准
    • (3)可修改性
    • (4)可移植性
      • A:定义
      • B:提高可移植性的方法
    • (5)可重用性
      • A:定义
      • B:对可维护性的影响

一:定义

可维护性指的是维护人员理解、改正、改动改进这个软件的难易程度。提高可维护性是支配软件工程方法学所有步骤的关键目标

二:决定软件可维护性的因素

(1)可理解性

A:定义

软件可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度

B:影响因素

  • 模块化(模块结构良好,高内聚,松耦合);
  • 详细的设计文档;
  • 结构化设计;
  • 程序内部的文档;
  • 高级程序设计语言等

(2)可测试性

诊断和测试的容易程度取决于软件容易理解的程度

A:影响因素

  • 良好的文档;
  • 软件结构;
  • 可用的测试工具和调试工具;
  • 以前设计的测试过程

B:要求

维护人员需要得到在开发阶段用过的测试方案,以便进行回归测试。在设计阶段应该尽力把软件设计成容易测试和容易诊断的

C:衡量标准

对于程序模块来说,可以用程序复杂度来度量它的可测试性。模块的环形复杂度越大,可执行的路径就越多,全面测试它的难度就越高

(3)可修改性

耦合、内聚、信息隐藏、局部化、控制域与作用域的关系等,都影响软件的可修改性

(4)可移植性

A:定义

软件可移植性是指把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度

B:提高可移植性的方法

把与硬件、操作系统以及其他外部设备有关的程序代码集中放到特定的程序模块中,可以把因环境变化而必须修改的程序局限在少数程序模块中,从而降低修改的难度,提高可移植性

(5)可重用性

A:定义

重用是指同一事物不做修改或稍加改动就在不同环境中多次重复使用

B:对可维护性的影响

  • 提高软件可靠性,较少改正性维护
  • 降低适应性和完善性维护的难度

(软件工程复习核心重点)第七章软件维护-第三节:软件可维护性相关推荐

  1. (软件工程复习核心重点)第二章可行性研究-第三节:数据流图

    文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...

  2. (软件工程复习核心重点)第九章软件项目管理

    文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...

  3. (软件工程复习核心重点)第一章软件工程概论习题

    这一章题目主要以简答和名词解释为主 文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 (2)了解 四:简答题 (1)必考 1.关于软件危机 2.关于软件工程 3. 关于软件生命周期 4.关于 ...

  4. (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型

    文章目录 一:软件过程概念 (1)定义 (2)构成 二:主要模型 (1)瀑布模型 A:定义 B:特点 C:优缺点 D::适用范围 E:实际的瀑布模型 (2)快速原型模型 A:定义 B:原理 C:优缺点 ...

  5. (软件工程复习核心重点)第一章软件工程概论-第一节:软件和软件危机

    文章目录 一:软件的概念.特点与发展 (1)软件发展的三个阶段 (2)软件的概念 (3)软件的特点 二:软件危机 (1)软件危机的概念 (2)软件危机的表现 (3)软件危机产生的原因 A:主观原因 B ...

  6. (软件工程复习核心重点)第二章可行性研究-第四节:数据字典

    文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...

  7. (软件工程复习核心重点)第一章软件工程概论-第三节:软件生命周期

    文章目录 一:软件定义 (1)问题定义 (2)可行性研究 (3)需求分析 二:软件开发 (1)总体设计 (2)详细设计 (3)编码和单元测试 (4)综合测试 三:软件维护 一:软件定义 (1)问题定义 ...

  8. (软件工程复习核心重点)第一章软件工程概论-第二节:软件工程

    文章目录 一:软件工程 (1)软件工程的定义 (2)软件工程的本质特征 (3)软件工程基本原理 二:软件工程方法学 (1)概念 (2)分类 一:软件工程 (1)软件工程的定义 软件工程:采用工程的概念 ...

  9. (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型

    文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...

  10. (软件工程复习核心重点)第二章可行性研究习题

    文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...

最新文章

  1. Vue.js插槽slot和作用域插槽slot-scope学习小结
  2. 10.7抛出异常处理
  3. 声明及赋值_重述《Effective C++》二——构造、析构、赋值运算
  4. js如何循环拼接字符串
  5. 二十一世纪Windows简史
  6. 找call的万能方法,一招通杀所有网络游戏【个人实践出来的】
  7. iOS精品源码,GHConsole图片浏览器圆形进度条音视频传输连击礼物弹出动画
  8. 2018清华计算机专业优秀学生名单,2018信息学竞赛清华北大优秀学生签约名单
  9. 大数据挖掘与分析——用八爪鱼爬虫采集百度搜索内容
  10. 塑料周转筐生的材料配方详解
  11. mysql会话是什么意思_MySQL会话临时表空间有什么作用
  12. 大模型落地实践:同花顺大模型技术应用及优化
  13. vue 修改logo实现展示自定义的logo
  14. WebP是什么格式?如何免费批量转换JPEG
  15. 计算机画图工具怎么缩小图片,win7系统画图工具放大缩小图片的技巧
  16. MySQL- where条件 in 条件优化
  17. Netty In Action中文版 - 第二章:第一个Netty程序
  18. 第二章、Android UI 布局 - Android移动开发基础笔记
  19. 团队任务3每日立会(2018-10-25)
  20. 计算机底层01-计算机发展史

热门文章

  1. 正则表达式与html信息提取,基于正则表达式的HTML信息提取.pdf
  2. php和python互动_PHP和Python 哪个更适合web开发?
  3. 文件服务器 工作站 通信媒体,用于多工作站/多平台非线性视频编辑系统的媒体文件访问和存储解决方案...
  4. 信息学奥赛一本通 提高篇 第6章 平衡树Treap
  5. python的moviepy库 打包 报错: ‘moviepy.audio.fx.all‘ has no attribute ‘audio_fade 的解决办法
  6. 电脑同时安装python2和3_一台电脑上同时安装python2和python3
  7. 浏览器端判断当前设备的运行环境
  8. ThinkPHP6项目基操(20.实战部分 数据库操作返回值总结)
  9. C语言switch制作菜单例题,c语言入门之,switch语句习题。
  10. PHP笔记-获取文件扩展名例子