软件设计师习题笔记-重点习题一

1.对有n个结点、e条边且采用数组表示法(即邻接矩阵存储)的无向图进行深度优先遍历,时间复杂度为(O(n^2))

解析:邻接矩阵有n*n个点算法需要遍历邻接矩阵的每一个点所以时间复杂度是O(n*n)


2.浮点数的表示分为阶和尾数两部分。两个浮点数相加时,需要先对阶,即(将小阶向大阶对齐,同时将尾数右移n )(n为阶差的绝对值)。

解析:对阶时,小数向大数看齐;对阶是通过较小数的尾数右移实现的。


3.流水线的吞吐率是指单位时间流水线处理的任务数,如果各段流水的操作时间不同,则流水线的吞吐率是(最长流水段操作时间)的倒数

解析:流水线的吞吐率是指单位时间流水线处理机输出的结果的数目,因此流水线的吞吐率为一个流水级时间的倒数,即最长流水级时间的倒数。


4.数据字典是结构化分析的一个重要输出。数据字典的条目不包括(外部实体)。

解析:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。其条目有数据流、数据项、数据存储、基本加工等。


5.某商店业务处理系统中,基本加工“检查订货单”的描述为:若订货单金额大于5000元,且欠款时间超过60天,则不予批准;若订货单金额大于5000元,且欠款时间不超过60天,则发出批准书和发货单;若订货单金额小于或等于500元,则发出批准书和发货单,若欠款时间超过60天,则还要发催款通知书。现采用决策表表示该基本加工,则条件取值的组合数最少是(3)。

解析:
根据题意可得出如下决策表:

条件项

条件值

1

2

3

4

>5000元

Y

Y

N

N

>60 天

Y

N

Y

N

批准书

N

Y

Y

Y

发货单

N

Y

Y

Y

催款通知书

N

N

Y

N

其中第2条和第4条可进行合并,故该条件取值的组合数为3。


6.工作量估算模型 COCOMO II的层次结构中,估算选择不包括(用例数)。

解析:COCOMOII模型也需要使用规模估算信息,在模型层次结构中有3种不同规模估算选择,即:对象点、功能点和代码行。


7.(Lisp)是一种函数式编程语言。

解析:LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。


8.假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pii=1,2,…,n)管理车票销售过程。假设Tjj=1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下图所示,用P操作和Ⅴ操作实现进程间的同步与互斥。初始化时系统应将信号量S赋值为(1)。图中(a)、(b)和(c)处应分别填入(P(S)、V(S)和V(S))。

解析:S的赋值为1的原因:信号量S应当是该单元数,对某日某趟车为一个单元的话,单元数只能为1。第二空为(a)应为申请资源,(b)(c)应当为释放资源,故是一个P,两个V操作。


9.I/O设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应(与设备无关的系统软件、设备驱动程序、中断处理程序)。

 

解析:具体层次从上往下分别为用户级I/O层、设备无关I/O层、设备驱动程序、中断处理程序、硬件。

硬件:完成具体的I/O操作。

中断处理程序:I/O完成后唤醒设备驱动程序。

设备驱动程序:设置寄存器,检查设备状态。

设备无关I/O层:设备名解析、阻塞进程、分配缓冲区。

用户级I/O层:发出I/O调用。


10.软件维护工具不包括(配置管理)工具。

解析:辅助软件维护过程中的活动的软件称为“软件维护工具”,它辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有:1、版本控制工具;2、文档分析工具;3、开发信息库工具;4、逆向工程工具;5、再工程工具;6、配置管理支持工具。


11.对下图所示的程序流程图进行判定覆盖测试,则至少需要(2)个测试用例。采用 McCabe度量法计算其环路复杂度为(3)。

 

解析:

1.判定覆盖是设计足够多的测试用例,使得程序中的每一个判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。根据题意,只需2个测试用例即可。

2.根据环路复杂度的计算公式V(G)=m-n+2=11-10+2=3。(箭头为m,控件为n)


12.软件调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,进行改正。其常用的方法中,(归纳法)是指从测试所暴露的问题出发,收集所有正确或不正确的数据,分析它们之间的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。

解析:所谓演绎推理,就是从一般性的前提出发,通过推导即“演绎”,得出具体陈述或个别结论的过程。归纳法以一系列经验事物或知识素材为依据,寻找出其服从的基本规律或共同规律,并假设同类事物中的其他事物也服从这些规律,从而将这些规律作为预测同类事物的其他事物的基本原理的一种认知方法。


13.在下列机制中,(动态绑定)是指过程调用和响应调用所需执行的代码在运行时加以结合;而(静态绑定)是过程调用和响应调用所需执行的代码在编译时加以结合。

解析:程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。静态绑定是指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程称之为静态绑定。


14.语法制导翻译是一种(静态语义分析)方法。

解析:翻译的任务:首先是语义分析和正确性检查,若正确,则翻译成中间代码或目标代码。其基本思想是,根据翻译的需要设置文法符号的属性,以描述语法结构的语义。例如,一个变量的属性有类型,层次,存储地址等。表达式的属性有类型,值等。属性值的计算和产生式相联系。随着语法分析的进行,执行属性值的计算,完成语义分析和翻译的任务。

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页