(软件工程复习核心重点)第六章实现和测试-第八节:调试
文章目录
- 一:定义
- 二:调试流程(了解)
- (1)流程
- (2)软件错误的特征
- 三:调试途径
- (1)蛮干法
- A:思路
- B:适用性
- (2)回溯法
- A:思路
- B:适用性
- (3)原因排除法
- 四: 调试准则(了解)
一:定义
调试是在测试发现错误之后排除错误的过程
二:调试流程(了解)
(1)流程
(2)软件错误的特征
- 症状和产生症状的原因可能在程序中相距甚远
- 当改正了另一个错误之后,症状可能暂时消失了
- 症状可能实际上并不是由错误引起的
- 症状可能是由不易跟踪的人为错误引起的
- 症状可能是由定时问题而不是由处理问题引起的
- 可能很难重新产生完全一样的输入条件
- 症状可能时有时无
- 症状可能是由分布在许多任务中的原因引起的,这些任务运行在不同的处理机上
三:调试途径
(1)蛮干法
A:思路
按照“让计算机自己寻找错误”的策略,这种方法印出内存的内容,激活对运行过程的跟踪,并在程序中到处都写上WRITE (输出)语句,在生成的信息海洋的某个地方发现错误原因的线索
B:适用性
蛮干法是寻找软件错误原因的最低效的方法。仅当所有其他方法都失败了的情况下,才应该使用这种方法
(2)回溯法
A:思路
从发现症状的地方开始,人工沿程序的控制流往回追踪分析源程序代码,直到找出错误原因为止
B:适用性
当调试小程序时回溯法非常有效的。但随着程序规模的扩大,应该回溯的路径数目也变得越来越大,以至彻底回溯变成完全不可能了
(3)原因排除法
- 对分查找法:
- 归纳法
- 演绎法
四: 调试准则(了解)
- 仔细分析程序出错处的逻辑模式,找出该错误出现的所有地方
- 在改正错误前应仔细研究源程序,以评估逻辑和数据结构的耦合程度
- 修改软件产品的同时改进开发软件产品的软件过程,避免今后在程序中出现错误
(软件工程复习核心重点)第六章实现和测试-第八节:调试相关推荐
- (软件工程复习核心重点)第一章软件工程概论习题
这一章题目主要以简答和名词解释为主 文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 (2)了解 四:简答题 (1)必考 1.关于软件危机 2.关于软件工程 3. 关于软件生命周期 4.关于 ...
- (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
文章目录 一:软件过程概念 (1)定义 (2)构成 二:主要模型 (1)瀑布模型 A:定义 B:特点 C:优缺点 D::适用范围 E:实际的瀑布模型 (2)快速原型模型 A:定义 B:原理 C:优缺点 ...
- (软件工程复习核心重点)第九章软件项目管理
文章目录 一:估算软件规模 (1)代码行技术 (2)功能点技术 二:工作量估算 三:进度计划 (1)甘特图(Cantt图) (2)工程网络 四:人员组织 五:质量保证 六:软件配置管理 七:能力成熟度 ...
- (软件工程复习核心重点)第一章软件工程概论-第二节:软件工程
文章目录 一:软件工程 (1)软件工程的定义 (2)软件工程的本质特征 (3)软件工程基本原理 二:软件工程方法学 (1)概念 (2)分类 一:软件工程 (1)软件工程的定义 软件工程:采用工程的概念 ...
- (软件工程复习核心重点)第一章软件工程概论-第一节:软件和软件危机
文章目录 一:软件的概念.特点与发展 (1)软件发展的三个阶段 (2)软件的概念 (3)软件的特点 二:软件危机 (1)软件危机的概念 (2)软件危机的表现 (3)软件危机产生的原因 A:主观原因 B ...
- (软件工程复习核心重点)第九章面向对象分析-第二节:面向对象分析之建立对象模型
文章目录 一: 基本概念 (1)对象模型 (2)先建立对象模型的原因 (3)信息来源 (4)典型的建模步骤 二:确定类与对象 (1)找出候选的类与对象 A:客观事物分类 B:非正式分析 C:提取隐含的 ...
- (软件工程复习核心重点)第二章可行性研究习题
文章目录 一:选择题 二:填空题 三:名词解释 (1)必考 四:简答题 (1)必考 1. 关于可行性研究 2. 关于数据流图 3. 关于数据字典 (2)了解 五:应用题/画图题 一:选择题 二:填空题 ...
- (软件工程复习核心重点)第九章面向对象分析-第三节:面向对象分析之建立动态模型和功能模型
文章目录 一:建立动态模型 (1)概念 A:适用性 B:步骤 (2)编写脚本 A:定义 B:目的 C:内容 D:方法 (3)设想用户界面 A:重要性 B:目的 C:方法 (4)画事件跟踪图 A:必要性 ...
- (软件工程复习核心重点)第二章可行性研究-第三节:数据流图
文章目录 一:数据流图的定义(DFD) 二:数据流图的特点 三:数据流图的符号 (1)符号 (2)注意(了解) 四:数据流图示例 (1)示例1 A:首先从题目中提取四种成分 B:画数据流图 (2)示例 ...
- (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
文章目录 一:相关概念 (1)定义 (2)作用 (3)意义(了解) 二:内容 三:定义数据的方法 (1)数据元素组成数据的方式 (2)符号表示 四:数据字典示例 五:用途 一:相关概念 (1)定义 数 ...
最新文章
- 亚马逊专家揭秘:如何建立自动检测乳腺癌的深度学习模型
- 支持取消操作和暂停操作的Backgroundworker
- 利用HttpRequester进行接口测试
- mysql 批量_mysql LOAD语句批量录入数据
- 网管交换机和非网管交换机有什么区别?
- React开发(191):ant design中inputNumber格式化
- php修改ini文件内容,php上传大文件需要修改的php.ini配置文件
- php 前端加密密码,WEB前端对应PHP后端的AES加密解密代码
- Java dom4j解析RESTFull风格发布的WebService的xml文件
- 计算机网络(HCIP、HCIE)系列文章大合集
- 视屏教程、电子书、技术文档
- android 极光推送测试,Android 极光推送基本步骤
- 主流手机游戏引擎介绍
- 坦白说查看教程 Python
- 二舅治好我的精神内耗,也让我火出了B站
- 51单片机C语言访问外ram,C51中访问外部RAM的方法
- 解决studio 3T时间到期方法
- PC端跳转QQ、企业微信、微信界面
- JS实现:哔哩哔哩2020校园招聘技术类笔试卷(二)
- audiosever耗电_audio服务自动停止 - 卡饭网
热门文章
- 划重点:微信小程序1月9日正式上线
- 微信JS SDK开放,前端开发者“鸡冻”了!
- python3 新式类_python新式类和旧式类区别
- 10038 mysql,关于MySql 10038错误的完美解决方法(三种)
- SQLite | SQLite 与 Pandas 比较篇之一
- 轨迹相似性度量之基于Hausdorff与LCSS的理解
- 颠覆教科书:打破50年来的认知,DNA同义突变会影响蛋白质折叠,进而影响细胞生长...
- 样本分布不平衡,机器学习准确率高又有什么用?
- gggenes绘制多物种基因结构比较
- 曾国藩36字诀,改变你的人生