目录
1、软件工程->软件维护类型
改正(正确)性维护 | 是指在使用过程中发现了隐藏的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动 |
适应性维护 | 为了适应变化了的环境而修改软件的活动 |
完善性维护 | 为了扩充或完善原有软件的功能或性能而修改软件的活动 |
预防性维护 | 为了提高软件的可维护性和可靠性、为未来的进一步改进打下基础而修改软件的活动 |
eg:进行防错性程序设计,可以有效地控制正确性维护成本。
2、计算机组成和体系结构->输入/输出技术
<1>断点可以保存在堆栈中由于堆栈先进后出的特点,依次将程序的断点压入堆栈中。出栈时,按相反顺序便可准确返回程序间断处。
eg:为了便于实现多级中断嵌套使用堆栈来保护断点和现场最有效。
<2>中断向量表:中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号以后,由中断控制器确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。
eg:中断向量提供中断服务程序入口地址。
在I/O设备与主机间进行数据传输时,CPU只需在开始和结束时作少量处理,而无需干预数据传送过程的是直接存储器存取。
3、软件工程->软降过程改进
软件能力成熟度模型将软件能力成熟度自低到高依次分为初始级、可重复级、定义级、管理级和优化级,并且高级别成熟度一定可以达到低级别成熟度的要求。其中定义级、管理级和优化级中的开发过程及相应的管理工作均已标准化、文档化,并已建立完善的培训制度和专家评审制度。
4、面向对象->面向对象的基本概念
封装 | 把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节 |
继承 | 指子类可以自动拥有父类的全部属性和服务 |
消息 | 对象发出的服务请求,一般包括提供服务的对象标识、服务标识、输入信息和应答信息等 |
多态 | 指向对象中由重载或过载机制实现的结果 |
eg:在面向对象技术中,不同的对象在收到同一消息时可以产生完全不同的结果,这一现象称为多态,它由继承机制来支持。
5、软件工程->软件测试相关概念
软件调试无论哪种调试方法,其目的都是为了对错误进行定位。目前常用的调试方法有试探法、回溯法、对分查找法、演绎法和归纳法。
试探法 | 调试人员分析错误的症状,猜测问题所在的位置,利用在程序中设置输出语句,分析寄存器、存储器的内 容等手段获得错误的线索,一步- 步地试探和分析出错误所在。 这种方法效率都很低,适合于错误比较简单的程序。 |
回溯法 | 调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪代码,直到找出错误根源为止。这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而变得不可操作。 |
对分查找法 | 这种方法主要用来缩小错误的范围,如果已经知道程序中的变量在若干位置的正确取值,可以在这些位置给这些变量以正确值,观察程序运行的输出结果,如果没有发现问题,则说明从赋予变量一个正确值开始到输出结果之间的程序没有错误,问题可能在除此以外的程序中。否则错误就在所观察的这部分程序中,对含有错误的程序段再使用这种方法,直到把故障范围缩小到比较容易诊断为止。 |
归纳法 | 归纳法就是从测试所暴露的问题出发,收集所有正确或不正确的数据,分析它们之间的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。 |
演绎法 | 演绎法根据测试结果,列出所有可能的错误原因;分析已有数据,排除不可能和彼此矛盾的原因;对其余原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体;用假设来解释所有的原始测试结果,如果 能解释这-一切,则假设得以证实,也就是找出错误,否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假设,直到发现错误为止。 |
6、其他
<1>拓扑排序是指有向图中的所有顶点排成一个线性序列的过程,若在有向图中从顶点vi到vj有一条路径,则在该线性序列中,顶点vi必然在顶点vj之前。因此,若不能得到全部顶点的拓扑排序序列,则说明该有向图一定包含回路。
<2>类图和对象图反映了设计视图的静态特征,状态图和活动图反映了系统的动态特征。
<3>抽象类不能实例化、不能产生对象。
<4>指令的寻址方式的定义,操作数的地址包含在指令中的寻址方式是直接寻址;操作数在寄存器中的寻址方式是寄存器寻址;操作数的地址存放在寄存器中的寻址方式是寄存器间接寻址;获取操作数最快的方式是立即寻址。