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

1.在程序执行过程中,Cache与主存的地址映射是由(硬件自动)完成的。

解析:高速缓存(Cache)的出现有两个因素:首先是因为CPU性能和速度提高很快而主存速度较慢且价格高,其次是程序执行的局部性特点。因此才将速度比较快且容量有限的静态存储芯片构成Cache,尽可能发挥CPU的高速度。因此必须要用硬件来实现Cache的全部功能。


2.某四级指令流水线分别完成取指、取数、运算、保存结果四步操作。若完成上述操作的时间依次为8ns、9ns、 4ns、8ns,则该流水线的操作周期应至少为(9)ns 。

解析:流水线周期,只有第一次执行的时候是所有步骤时间相加,后续的非第一次执行的周期为所有步骤中时间最长的那个值,此题求最小周期,即为9ns


3.计算机系统的主存主要是由(DRAM)构成的。

解析:DRAM: 动态随机存取存储器; SRAM: 静态随机存取存储器; Cache: 高速缓存; EEPROM: 电可擦可编程只读存储器


4.关于海明码的叙述中,正确的是(海明码利用奇偶性进行检错和纠错)。

解析:海明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是1就变成0,原来是0就变成1)来将其纠正。


5.下列攻击行为中,属于典型被动攻击的是(会话拦截)。

解析:计算机网络面临的安全威胁大致有四种:截获、中断、篡改、伪造其中截获信息的行为属于被动攻击中断、篡改、伪造信息的行为属于主动攻击


6.(漏洞扫描)不属于入侵检测技术

解析:漏洞扫描为另一种安全防护策略。


7.某企业财务系统的需求中,属于功能需求的是(每个月特定的时间发放员工工资)。

解析:需求分析主要是:功能、性能、数据和界面需求。功能需求:软件系统必须完成的所有功能。性能需求:响应时间、吞吐量、处理时间等。数据要求:包括基本数据元素、数据元素之间的逻辑关系、数据量和峰值等。描述手段是ER模型。界面需求:描述软件系统的外部特性。即系统从外部输入哪些数据,系统向外部输出哪些数据。


8.将高级语言源程序通过编译或解释方式进行翻译时,可以先生成与源程序等价的某种中间代码。以下关手中间代码的叙途中,正确的是(后缀式和三地址码是常用的中间代码)。

解析:中间代码(Intermediate Representation或者IR):复杂性介于源程序语言和机器语言的一种表示形式。编译程序锁使用的中间代码有多种形式。常见的有逆波兰记号,三元式,四元式,和树形表示。四元式是一种普遍采用的中间代码形式,很类似于三地址指令,有时把这类中间表示称为“三地址代码”,这种表示可以看作是一种虚拟三地址机的通用汇编码,每条”指令“包含操作符和三个地址,两个是为运算对象的,一个是为结果的。


9.某文件系统采用多级索引结构。若磁盘块的大小为1K字节,每个块号占3字节,那么采用二级索引时的文件最大长度为(116281)字节。

解析:欲求二级索引,首先算出一级索引。一级索引需要使用一个磁盘块来保存直接索引的块号。由题目知,磁盘块的大小为1K=1024字节,每个块号需占3字节,则一个磁盘块可以保存的块号的个数为1024/3=341。所以,采用一级索引时,文件最大长度为1024*341/1024=341KB;采用二级索引时的文件最大长度为341KB×341=116281KB。


10.用白盒测试方法对如下图所示的流程图进行测试。若要满足分支覆盖,则至少要(2)个测试用例,正确的测试用例对是((1,1,5;5)和(5,2,20;9))(测试用例的格式为(A,B,X;X))。


11.配置管理贯穿软件开发的整个过程。以下内容中,不属于配置管理的是(风险管理)。

解析:软件配置管理的主要目标是标识变更、控制变更、确保变更更正确的实现、报告有关变更,风险管理是另外一个大类。


12.极限编程(XP)的十二个最佳实践不包括(精心设计)。

解析:
现场客户 ( On-site Customer )
代码规范 ( Code Standards )
每周40小时工作制 ( 40-hour Week )
计划博弈 ( Planning Game ):
要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。
系统隐喻 ( System Metaphor ):
通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。
简单设计 ( Simple Design )
测试驱动 ( Test-driven )
代码重构 ( Refactoring )
代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。
成对编程 ( Pair Programming )
XP
认为开发小组的每个成员都有更改代码的权利,所有的人对于全部代码负责。
持续集成 ( Continuous Integration )
提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试。
小型发布 ( Small Release )
强调在非常短的周期内以递增的方式发布新版本,从而可以很容易地估计每个迭代周期的进度,便于控制工作量和风险;同时,也可以及时处理用户的反馈。


13.以下关于管道过滤器体系结构的优点的叙述中,不正确的是(提高性能)。

解析:
管道/过滤器体系结构具有许多很好的特点:
(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;
(2)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;
(3)支持软件重用。重要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;
(4)系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;
(5)允许对一些如吞吐量、死锁等属性的分析;
(6)支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行;
但是,这样的系统也存在着若干不利因素:
(1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。
(2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。
(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。综合分析现有管道一过滤器体系结构的研究成果,可以发现管道一过滤器体系结构没有给出管道和过滤器如何组装以实现系统的方法,也没有给出过滤器通过管道进行数据传输的方式,而且对过滤器和管道各自内部结构没有清晰的描述,因此可以认为管道一过滤器体系结构没有深入对管道一过滤器本质进行揭示。


14.模块A将学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B。模块A和B之间的藕合类型为(标记)藕合。

解析:
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址;
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。
内容耦合:当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。


15.如图所示的UML类图中,Magazine和Page之间为(组合)关系。

解析:
组合关系是整体与部分的关系,但部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。在UML类图中用带实心菱形的实线来体现,其中菱形指向整体。


16.编译过程中进行的语法分析主要是分析(程序语句的结构是否合法)。

解析:
词法分析和语法分析的本质都是对源程序的结构进行分析
语义分析阶段是分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息后供后面的代码生成阶段使用。语义分析的一个主要工作是进行类型分析和检查。


17.采用三级结构/两级映像的数据库体系结构,如果对数据库的一张表创建聚簇索引,改变的是数据库的(内模式)。

解析:
聚簇索引的顺序就是数据的物理存储顺序,,基本表文件和索引文件一起构成了数据库系统的内模式


18.设S是一个长度为n的非空字符串,其中的字符各不相同,则其互异的非平凡子串(非空且不同于S本身)个数为((n+2) (n-1)/2)。

解析:
本题可以利用特殊值计算。当n=1时,由于非平凡子串不包括其本身,所以个数应该0个。


19.假设某消息中只包含7个字符{a,b,c,d,e,f,g},这7个字符在消息中出现的次数为{5,24,8,17,34,4,13} ,利用哈夫曼树(最优二叉树)为该消息中的字符构造符合前缀编码要求的不等长编码。各字符的编码长度分别为(a:4,b:2,c:3,d:3,e:2,f:4,g:3)。

解析:
哈夫曼树


20.设某二叉树采用二叉链表表示(即结点的两个指针分别指示左、右孩子)。当该二叉树包含k个节点时,其二叉链表节点中必有(k+1)个空的孩子指针。

解析:
特殊值带入法


21.关于无向连通图G的叙述中,不正确的是(G中任意两个顶点之间均有边存在)

解析:
在无向图G中,若从顶点vi到顶点Vj有路径,则称顶点Vi和顶点Vj是连通的。如果无向图G中任意两个顶点都是连通的,则称为连通图。连通可以是直接相连和间接相连,间接相连的两个顶点不一定有连线。


 

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