软件工程——第8章维护知识点整理

news2024/11/26 14:51:27

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

 

文章目录

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类活动。在某些情况下,以线性顺序完成这些活动,但也并不总是这样。上述模型是一个循环模型,这意味着每项活动都可能被重复,而且对于任意一个特定的循环来说,再工程过程可以在完成任意一个活动之后终止。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python代码练习:猜成语游戏

python代码练习:猜成语游戏 题目结果展示源代码 题目 成语填填乐,随机输出一条包含一个空格的成语,填写答案并判断是否正确,正确加2分,输出“正确,你真棒”,错误减2分,输出“错了”…

git tag详解

文章目录 前言1. Git tag的基本概念和用法1.1. 什么是 Git tag?1.2. Git 标签有什么作用? 2. 创建 Git tag2.1. 创建轻量级tag2.2. 创建带有注释的tag2.3. 编辑已有的tag 3. 列出和检出 Git tag3.1. 列出所有tag3.3. 列出匹配的tag3.4. 检出tag 4. 将 Gi…

可视化 | Flask+Mysql+PyEcharts 电影Top250数据分析系统

文章目录 🏳️‍🌈 1. 数据库数据表1. 电影信息数据表2. 用户数据表 🏳️‍🌈 2. 各子界面1. 登陆界面2. 注册界面3. 电影信息概要界面4. 搜索界面5. 各年份上映电影数量6. 电影榜单TOP107. 评价人数TOP208. 地区电影TOP109. 电影…

uniapp 微信小程序导航功能(单个地址)

获取终点的坐标&#xff0c;根据终点的坐标&#xff0c;终点名称&#xff0c;终点详细地址&#xff0c;调起地图导航到第三方APP 1、针对单个地址导航 <template><view click"toGetLocation"></view><view click"toNavigation">&…

利用Docker实现容器互连

实验要求 掌握利用Docker实现跨主机容器互连的方法。 实验准备 要求实验主机能够连接外网&#xff0c;已经正确安装Docker&#xff0c;并关闭防火墙和selinux&#xff0c;各主机配置信息如表所示 表 主机配置信息表 主机名 IP地址/子网掩码 容器名 容器IP地址 node1 你…

选对方法,K8s 多集群管理没那么难

作者&#xff1a;庄宇 Kubernetes 作为一项核心技术已成为现代应用程序架构的基础&#xff0c;将 Kubernetes 作为容器编排系统已发展为越来越多企业的必然选择。 随着对云计算接受程度不断提高&#xff0c;以及企业规模和业务持续发展的共同驱动下&#xff0c;越来越多的企业…

开发模式、API接口

文章目录 一、web开发模式1.1 前后端混合开发1.2 前后端分离开发 二、API接口2.1 简介2.2 RESTful API接口规范 道阻且长&#xff0c;行则将至&#xff0c;行而不辍&#xff0c;未来可期&#x1f31f;。人生是一条且漫长且充满荆棘的道路&#xff0c;一路上充斥着各种欲望与诱惑…

rtdetr:paddledetection与ultralytics对比

转眼间&#xff0c;自DETR被提出已经过去了2年了&#xff0c;如今又迎来了2023年&#xff0c;可以说&#xff0c;这是Transformer框架在CV领域发力的第3个年头了。时至今日&#xff0c;对Transformer的质疑声越来越小了&#xff0c;它的强大得到了越来越多、越来越广泛的认可。…

进程与线程的基本概念和代码实现

1 前言 利用现学知识能够让两个函数或者方法同时执行吗? 不能&#xff0c;因为之前所写的程序都是单任务的&#xff0c;也就是说一个函数或者方法执行完成另外一个函数或者方法才能执行&#xff0c;要想实现这种操作就需要使用多任务。 多任务的最大好处是充分利用CPU资源&a…

超好用的检测模块---SUI-101A交流变送器

前言&#xff1a; SUI-101A交流变送器作为高精度交流变送器&#xff0c;可以高精度获取电压、电流、有功功率、功率因素、频率、电量等电参数&#xff0c;并且低功耗&#xff0c;实时性好、操作方便快捷&#xff0c;同时可以隔离高压&#xff0c;便于进行安全测量。 SUI-101A模…

qt for android 开发之tcp通讯

简介 通过TCP使PC和android手机相互通讯。 准备 使用QT的网络模块 QT core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT widgets.h 定义TCP接口 #include <QTcpSocket>class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(Q…

日本最大港口遭勒索软件攻击,造成巨大经济影响!

日本名古屋港位于伊势湾&#xff0c;是日本最大和最繁忙的贸易港口&#xff0c;占全国总贸易量的10%左右。值得注意的是&#xff0c;这个港口还是日本最大的汽车出口国&#xff0c;丰田汽车公司的大部分汽车都在这里出口。 近日该港口遭遇了一次勒索软件攻击&#xff0c;影响了…

Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行

前言 使用IDEA自带打包工具&#xff0c;可以将自己引入的第三方jar包&#xff08;lib下的jar包&#xff0c;非pom文件中&#xff09;打包到jar中。 Artifacts是maven中的一个概念&#xff0c;表示某个module要如何打包&#xff0c;例如war exploded、war、jar、ear等等这种打…

Python 函数耗时异常自动化监控实战教程

内容 隐藏 一、性能数据函数耗时采集及可视化报表生成 1. 性能数据文件保存&#xff08;cProfile&#xff09; 2. 详细性能数据读取查看 二、生成函数调用栈结构图&#xff08;gprof2dot&#xff09;教程 三、性能分析及优化实战 四、耗时异常自动化监控 1. 正态分布数据方…

mysql 主从复制配置步骤

1、准备两台数据库环境&#xff0c;或者单台多实例环境&#xff0c;能否正常启动和登录。 2、配置my.cnf文件&#xff0c;主库配置log-bin和server-id参数&#xff0c;从库配置server-id&#xff0c;不能和主库及其他从库一样&#xff0c;一般不开启从库log-bin功能。注意&…

基于STM32的土壤湿度传感器使用

基于STM32的土壤湿度传感器使用 最近在学习中用到了ADC数据采集这里使用的硬件模块为土壤湿度传感器&#xff0c;下面为土壤传感器相关的使用方法和代码介绍。 1、土壤湿度传感器实物图 土壤湿度传感器一共有4个引脚分别为&#xff1a; GND VCC DO AO&#xff0c;在本次实验中使…

macbook按u键入笔画

mac自带输入法提供了笔画输入快捷方式&#xff0c;键入u会自动变成笔画输入 当遇到不会念的字的时候还是很有用的 横、竖、撇、捺、折、写 上面的拼音首字母对应了比划&#xff0c;非前五个笔画的时候就用 x&#xff08;写&#xff09;替代 比如&#xff1a;彳亍 第一个字输…

php宝塔部署开源NXCRM客户管理系统开源源码

注意&#xff1a;因为微信最近又改了推送机制&#xff0c;经常有朋友说错过了之前的搭建教程文章&#xff0c;每次都要主动搜索才能搜到公众号。所以建议大家加个星标&#xff0c;就能第一时间收到推送。 大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。本期给大…

【UnityDOTS 十三】Cleanup Component

Cleanup Component 前言 一种特殊的组件&#xff0c;当Entity销毁时&#xff0c;要独立移除这个组件。 意味着当你删除一个Entity后&#xff0c;这个组件还存在&#xff0c;那么该Entity也会存在。 主要用于创建Entity时&#xff0c;进行初始化操作&#xff1b;或者销毁时&a…

Base64码转换成图片

一、在浏览器地址栏输入 data:image/png;base64, 生成的base64码 1、示例&#xff1a; data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAg... 2、访问转换结果&#xff1a; 小结&#xff1a; 1、转换支持 png 格式&#xff1a;data:image/png;base64, 生成的b…