31、模块A通过非正常入口转入模块B内部,则这两个模块之间是( )耦合。
A.数据
B.公共
C.外部
D.内容
参考答案:D
答案解析:
耦合类型:
内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合: 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。
标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
32、软件详细设计阶段的主要任务不包括( )。
A.数据结构设计
B.算法设计
C.模块之间的接口设计
D.数据库的物理设计
参考答案:C
答案解析:
软件详细设计阶段的主要任务包括:
软件概要设计阶段的主要任务包括:
33、以下关于文档的叙述中,不正确的是( )。
A.文档也是软件产品的一部分,没有文档的软件就不能称之为软件
B.文档只对软件维护活动有用,对开发活动意义不大
C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量
D.高质量文档对于发挥软件产品的效益有着重要的意义
参考答案:B
答案解析:
软件文档的作用:
34、用白盒测试技术对下面流程图进行测试,至少采用( )个测试用例才可以实现路径覆盖。
A.3
B.4
C.6
D.8
参考答案:A
答案解析:
白盒测试也称结构测试,透明盒测试。主要用于单元测试阶段,代码和逻辑的测试,重点复杂的测试,是一种测试用例设计方法,不同于黑盒测试,白盒测试是可以看到内部代码如何运作的,可通过测试来检测产品内部是否符合规定正常运行。
白盒测试方法
静态
桌面检查、代码审查、代码走查、代码扫描工具
动态
1)逻辑覆盖:通过对程序逻辑结构的遍历实现程序的覆盖
2)语句覆盖:设计测试用例,使得程序中每条语句至少被执行一次【语句覆盖率 = 被执行过的语句数量/可执行的语句总数】
3)判断覆盖:也叫分支覆盖,设计测试用例,使得程序中的每个判断的”真“和”假“都至少被执行一次【判断覆盖率 = 每个判定的真假值至少出现一次/判断结果的总数】
4)条件覆盖:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值【条件覆盖率 = 每个条件的真价值至少出现一次/条件结果的总数(条件结果 = 判断数 * 条件数)】
5)判定条件覆盖:设计测试用例,使得被测程序中的每个判断本身的判定结果(真假)至少满足一次,每个逻辑条件的可能值也至少被满足一次。就是既满足判断覆盖,也满足条件覆盖。【判断条件覆盖率 =每个判断真假值和条件真假值至少出现一次/(判断结果的总数 + 条件结果的总数)】
6)条件组合覆盖:设计测试用例,使得被测程序中的每个判定中条件结果的所有可能组合至少执行一次【条件组合覆盖率 = 条件组合至少出现一次的数量/条件组合的总数】
7)路径覆盖:设计测试用例,覆盖程序中所有可能的路径【路径覆盖率 = 至少被执行过一次的路径数/总的路径数】
条件组合覆盖能够满足语句覆盖、判定覆盖、条件覆盖、判定条件覆盖,但是条件组合覆盖不能保证所有路径被执行。
8)基本路径测试法(最常使用):在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
本题给程序流程图每个结点进行标号如下:
图示中不同的路径为:①②;①③;①③④。
需要满足路径覆盖,则测试用例至少需要3组,以(x,y;result)格式记录,则可以设计为:
(0, 3; result) --①②; (0,1;result)–①③;(0,0;result)–①③④
35、软件可维护性是一个系统在特定的时间间隔内可以正常进行维护活动的概率。用MTTF和MTTR分别表示平均无故障时间和平均故障修复时间,则软件可维护性计算公式为( )。
A.MTTF/(I+MTTF)
B.I/(I+MTTF)
C.MTTR/(I+MTTR)
D.l/(I+MTTR)
参考答案:D
答案解析:
在软件外部,可以用MTTR来度量软件的可维护性,它指出处理一个有错误的软件需要花费的平均时间。如果用M表示可维护性指标,那么M=1/(1+MTTR);MTTF/(I+MTTF)一般用来表示可靠性或可用性指标。
36、某搜索引擎在交付后,开发人员修改了其中的索引方法,使得用户可以更快地得到搜索结果。这种修改属于( )维护
A.正确性
B.适应性
C.完善性
D.预防性
参考答案;C
答案解析:
在系统运行过程中,软件需要维护的原因是多样的,根据维护的原因不同,可以将软件维护分为以下四种:
37、面向对象分析时,执行的活动质序通常是( )
A.认定对象、组织对象、描述对象的相互作用、确定对象的操作
B.认定对象、定义属性、组织对象、确定对象的操作识别包
C.认定对象、描述对象间的相互作用、确定对象的操作,识别包
D.识别类及对象、识别关系、定义属性、确定对象的操作
参考答案:A
答案解析:
面向对象分析包含5个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。
38、采用面向对象方法进行系统设计时,不应该强追客户依赖于他们不用的方法,即∶依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。这属于( )
A.单一责任
B.开放-封闭
C.接口分离
D.里氏替换
参考答案:C
答案解析:
39、40、假设Bird和Cat是Animal的子类,Parrot是Bird的子类,bird是Bird的一个对象,cat是Cat的一个对象,parrot是Parrot的一个对象。以下叙述中,不正确的是( )。
1)
A.cat和bird可看作是Animal的对象
B.parrot和bird可看作是Animal的对象
C.bird可以看作是Parrot的对象
D.parrot可以看作是Bird的对象
假设Animal类中定义接口move(), Bird、Cat和Parrot分别实现自己的move (),调用move()时,不同对象收到同一消息可以产生各自不同的结果,这一现象称为( )。
2)
A.封装
B.继承
C.消息传递
D.多态
参考答案:CD
答案解析:
cat、bird、parrot 都可以看作是Animal的对象。
parrot可以看作是Bird的对象。
不同对象接收到相同消息给出不同结果,这是多态的描述
封装:隐藏对象的属性和实现细节,仅对外公开接口(信息隐藏技术)。
继承与泛化:复用机制(单重继承和多重继承),子类可以继承父类的一些属性和方法。
消息和消息通信:对象之间进行通信的一种构造叫作消息。消息是异步通信的(消息传递:接收到信息的对象经过解释,然后予以响应)。