软件设计师考试
1. 【例1】地址编号从80000H到BFFFFH且按字节编址的内存容量是256KB,若用16K*4bit的存储芯片,一共需要32片。
【解析】BFFFFFH≈C0000H,则内存容量为40000H=4*164=22*216=28KB。存储器的拓展有字拓展和位拓展两种。一个字节8位,256K*8bit / 16K*4bit = 32。
2. RUP模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程。总共分为4个阶段:初始(建模,定义最终产品视图)-》精化(设计确定系统的体系结构,指定项目计划,确定资源需求)-》构建(开发和测试程序)-》移交(把产品提交给用户使用)。
3. 软件测试
a) 回归测试:指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
b) 安装测试:确保该软件在正常情况和异常情况的不同条件下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。核实软件在安装后可立即正常运行。安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。
4. 资源分配图中由进程指向资源的有向边表示请求一个单位的资源,资源指向进程的边表示分配一个单位的资源。
5. 【例2】简化资源分配图 判断是否死锁:
【解析】首先看P1,P1申请资源1,但资源1只有1个,且被P2占用,所以P1被阻塞,无法删除P1的边;
接着看P2,P2申请资源4,同理,资源4只有一个且被P3占用,所以P2的边也不能删除;
最后P3,P3申请资源3和2,资源3有2个,其中一个被P2占用,剩余一个空闲资源,可被P3申请,但资源2中,一个被P1占用,另一个被P3占用,无空闲资源,所以P3也被阻塞。无法删除P3的边。
三个结点经分析后都不能化简为孤立结点,所以形成死锁。
6. DFD中应该注意的问题:
a) 不应该有同名的数据流
b) 有数据流必须有进入和出去
c) 父子平衡
d) 数据守恒
e) 外部实体之间,实体与存储之间,存储与存储之间都不应该出现数据流,因为数据流必须和加工有关。
7. 接口中的方法有两种实现方法:
a) 该接口的实现类实现接口中的方法
b) 该接口的抽象类的子类实现接口方法(即:用一个抽象类实现接口,抽象类中没有任何方法,再用抽象类的子类实现接口方法)
8. UML中类名是斜体表示的是抽象类。UML部署图:从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。
9. 编译过程中,对高级语言的翻译主要考虑声明语句和可执行语句。对于声明语句,主要是将所需要的信息正确地填入合理组织的符号表中;对于可执行语句,则是转换成有限自动机。
10. 【例3】指令流水线将一条指令的执行过程分为四步,其中第 1、2 和 4 步的经过时间为△t,如下图所示。若该流水线顺序执行 50 条指令共用 153△t,并且不考虑相关问题,则该流水线的瓶颈第 3 步的时间为()△t。
A. 2 B. 3 C. 4 D. 5
【解析】:(x+3)+ 49x = 153。指令的执行时间由指令周期中时间最长的微指令的周期决定的。假设第一条指令的执行时间是T(其中最长的单个流水时间是t),则第二条指令的执行时间是T+t,类似的执行n条指令所需时间是T+(n-1)*t.PS:流水线的操作周期是最大的那个微指令周期。
11. 值传递和引用传递的区别。【例4】:
【解析】:值传递时形参的值不会改变实参,引用传递时会改变。先计算函数t(3),a=3*3 - 1 = 8,则调用函数f(3,8),此时3传递给r,8传递给s,fun(3,8)函数返回的时候s的值是(2*3 + 1)*3 = 21。S替换原先的a,变成了21.最后return 21+3.
12. 数据结构的树的遍历方式有3种。DLR(先序)、LDR(中序)、LRD(后序)。这里说的序实际上是根节点的次序。树的遍历是一种递归算法(常用的方法是填空)。
2007年上半年 软件设计师 上午试卷
● 在 CPU 与主存之间设置高速缓冲存储器 Cache,其目的是为了(2) 。
(2)A.扩大主存的存储容量 B.提高 CPU 对主存的访问效率
C.既扩大主存容量又提高存取速度 D.提高外存储器的速度
● 下列标准代号中,(11)为推荐性行业标准的代号。
(11)A. SJ/T B. Q/T11 C. GB/T D. DB11/T
● 在彩色喷墨打印机中,将油墨进行混合后得到的颜色称为(13) 色。
(13)A.相减 B. 相加 C. 互补 D. 比例
● CVS 是一种 (16)工具。
(16)A. 需求分析 B.编译 C.程序编码 D.版本控制
● 进行软件项目的风险分析时,风险避免、风险监控和风险管理及意外事件计划是(19)活动中需要考虑的问题。
(19)A. 风险识别 B.风险预测 C.风险评估 D.风险控制
● 下面关于编程语言的各种说法中,(20) 是正确的。
(20)A. 由于 C 语言程序是由函数构成的,因此它是一种函数型语言
B. Smalltalk、C++、Java、C#都是面向对象语言
C. 函数型语言适用于编写处理高速计算的程序,常用于超级计算机的模拟计算
D. 逻辑型语言是在 Client/Server 系统中用于实现负载分散的程序语言
● 在统一建模语言( UML)中,( 22)用于描述系统与外部系统及用户之间的交互 。
(22)A. 类图B.用例图C. 对象图 D. 协作图
【解析】:用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。
● 某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统中字长为 32 位,磁盘上的物理块依次编号为:0、1、2、…,那么 8192 号物理块的使用情况在位示图中的第(26) 个字中描述。
(26)A. 256 B. 257 C. 512 D. 1024
【解析】:文件管理系统是在外存上建立一张位示图(bitmap),记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用,如下图所示。
由于系统中字长为32位,所以每个字可以表示32个物理块的使用情况。又因为文件存储器上的物理块依次编号为:0,1,2,…,因此8192号物理块在位示图中的第257个字中描述。
● 某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序。现有某作业的部分语句如下:(这题不会!)
Var A: Array[1..150,1..100] OF integer;
i,j: integer;
FOR i:=1 to 150 DO
FOR j:=1 to 100 DO
A[i,j]:=0;
设每个页面可存放 150 个整数变量,变量i、j 放在程序页中。初始时,程序及变量 i、j 已在内存,其余两页为空,矩阵 A 按行序存放。在上述程序片段执行过程中,共产生 (27)次缺页中断。最后留在内存中的是矩阵 A 的最后 (28) 。
(27)A. 50 B. 100 C. 150 D. 300
(28)A. 2 行 B. 2 列 C. 3 行 D. 3 列
● 软件能力成熟度模型将软件能力成熟度自低到高依次划分为初始级、可重复级、定义级、管理级和优化级,并且高级别成熟度一定可以达到低级别成熟度的要求。其中(33)中的开发过程及相应的管理工作均已标准化、文档化,并已建立完善的培训制度和专家评审制度。
(33)A. 可重复级和定义级 B.定义级和管理级 C.管理级和优化级 D.定义级、管理级和优化级
● 阅读下列流程图:
当用判定覆盖法进行测试时,至少需要设计 (35) 个测试用例。
(35)A. 2 B. 4 C. 6 D. 8
● 在“模型-视图-控制器”(MVC)模式中,(39) 主要表现用户界面, (40)用来描述核心业务逻辑。
(39)A.视图 B. 模型 C. 控制器 D. 视图和控制器
(40)A. 视图 B.模型 C. 控制器 D. 视图和控制器
● 下面给出了四种设计模式的作用:
外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用;
装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;
单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点;
模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。
请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43) 设计模式可抽象出相同的数据库访问过程;系 统 中 的 文 本 显 示 类 ( TextView ) 和 图 片 显 示 类 (PictureView ) 都 继 承 了 组 件 类
(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(44)设计模式可以实现该目的。
(42)A. 外观 B.装饰 C.单件 D. 模板方法
(43)A.外观 B.装饰 C. 单件 D.模板方法
(44)A. 外观 B.装饰 C. 单件 D. 模板方法
● 在采用标准 UML 构建的用例模型(Use-Case Model)中,参与者(Actor)与用例(Use Case)是模型中的主要元素,其中参与者与用例之间可以具有(45)关系。
(45)A. 包含(include) B. 递归(Recursive)
C.关联(Association) D. 组合(Composite)
● 当采用标准 UML 构建系统类模型(Class Model)时,若类 B 除具有类 A 的全部特性外,类 B 还可定义新的特性以及置换类 A 的部分特性,那么类 B 与类 A 具有(46)关系;若类 A 的对象维持类 B 对象的引用或指针,并可与类 C 的对象共享相同的类 B 的对象,
那么类 A 与类 B 具有(47)关系。()
(46)A. 聚合 B.泛化 C. 传递 D. 迭代
不知道怎么做(47)A.聚合 B. 泛化 C. 传递 D. 迭代
● 下列结论错误的是 (56) 。
(56)A.若 A→BC,则 A→B,A→C B.若 A→B,A→C,则 A→BC
C. 若 A→C,则 AB→C D.若 AB→C,则 A→C,B→C
● 下图所示平衡二叉树(树中任一结点的左右子树高度之差不超过1)中,结点 A的右子树 AR 高度为 h,结点 B 的左子树 BL 高度为 h,结点C的左子树 CL、右子树 CR高度都为 h-1。若在 CR 中插入一个结点并使得 CR 的高度增加 1,则该二叉树 (61) 。
(61)A. 以 B 为根的子二叉树变为不平衡 B. 以 C 为根的子二叉树变为不平衡
C.以 A 为根的子二叉树变为不平衡 D.仍然是平衡二叉树
● 由权值为29、12、15、6、23的五个叶子结点构造的哈夫曼树为 A(64)C,其带权路径长度为 (65) 。
(64)
65)A. 85 B. 188 C. 192 D. 222
● 实现VPN的关键技术主要有隧道技术、加解密技术、 (9) 和身份认证技术。
(9)A. 入侵检测技术 B. 病毒防治技术 C. 安全审计技术 D. 密钥管理技术
● (11) 不属于知识产权的范围。
(11)A. 地理标志权 B. 物权 C. 邻接权 D. 商业秘密权
● W3C制定了同步多媒体集成语言规范,称为 (12) 规范。
(12)A. XML B. SMIL C. VRML D. SGML
● 对同一段音乐可以选用MIDI格式或WAV格式来记录存储。以下叙述中 (13) 是不正确的。
(13)A. WAV格式的音乐数据量比MIDI格式的音乐数据量大
B.记录演唱会实况不能采用MIDI格式的音乐数据
C. WAV格式的音乐数据没有体现音乐的曲谱信息
D. WAV格式的音乐数据和MIDI格式的音乐数据都能记录音乐波形信息
● 给定C语言的数据结构
struct T {
int w;
union T { char c; int i; double d; } U;
};
假设char类型变量的存储区大小是1字节,int 类型变量的存储区大小是4字节,double类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储一个struct T类型变量所需要的存储区域至少应为 (15) 字节。
(15)A. 4 B. 8 C. 12 D. 17
● 页式存储系统的逻辑地址是由页号和页内地址两部分组成,地址变换过程如下图所示。假定页面的大小为8K,图中所示的十进制逻辑地址9612经过地址变换后,形成的物理地址a应为十进制 (27) 。
(27)A. 42380 B. 25996 C. 9612 D. 8192
● 在软件开发中, (29) 不能用来描述项目开发的进度安排。在其他三种图中,可用 (30) 动态地反映项目开发进展情况。
(29)A. 甘特图 B. PERT图 C. PERT/CPM图 D. 鱼骨图
(30)A. 甘特图 B. PERT图 C. PERT/CPM图 D. 鱼骨图
13.