2017年下半年 软件设计师 基础知识
- 格式:docx
- 大小:923.90 KB
- 文档页数:14
2017年下半年上午软件设计师考试试题-答案与解析一、单项选择题(共75分,每题1分。
每题备选项中,只有1个最符合题意)●第1题.以下关于防火墙功能特性的叙述中,不正确的是(1)。
A.控制进出网络的数据包和数据流向B.提供流量信息的日志和审计C.隐藏内部IP以及网络结构细节D.提供漏洞扫描功能【参考答案】D【答案解析】一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。
由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。
如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。
防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。
防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。
强化网络安全策略监控网络存取和访问如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,防止内部信息的外泄●第2题.在程序执行过程中,Cache与主存的地址映射是由(2)完成的。
A.操作系统B.程序员调度C.硬件自动D.用户软件【参考答案】C【答案解析】对于Cache,即高速缓存,是用来解决主存与CPU速度不匹配问题,Cache的出现使得CPU可以不直接访问主存而直接与高速Cache交换信息。
由于程序访问的局部性原理可以很容易设想只要将 CPU近期要用到的程序和数据提前从主存送到Cache,那么就可以做到CPU在一定时间内只访问Cache,这样CPU与高速Cache进行通信,就大大提高了计算机的运行速度。
在Cache –主存的地址映射之前,首先要将主存与Cache都分成若干块,每块又包括若干个字,并使得它们的大小相同(即快内的字数相同)。
在划分好块后,下面要做的就是将主存块与Cache块形成映射就行了。
而这里的映射则是通过块的地址形成映射关系。
软件设计师基础知识软件设计师是指负责软件系统的设计与开发的专业人员。
他们需要具备扎实的计算机基础知识、软件工程理论知识、编程技术和系统设计能力。
以下是软件设计师基础知识的相关参考内容。
1. 计算机基础知识- 计算机的基本原理:掌握计算机的工作原理、数据存储原理和运算原理等基本概念。
- 操作系统:了解不同操作系统的特点和使用方法,如Windows、Linux等。
- 网络原理:了解网络协议、网络拓扑结构、网络安全等知识,能够进行网络编程和网络配置。
- 数据结构与算法:掌握常见的数据结构和算法,能够进行数据存储与处理。
2. 软件工程理论知识- 软件工程基本概念:了解软件生命周期、需求分析、设计、编码、测试、维护等软件开发流程。
- 面向对象编程:掌握面向对象的思想和相关的编程语言,如Java、C++等。
- 软件测试与质量保证:了解软件测试的方法和工具,掌握软件质量保证的理念,能够进行软件测试和质量评估。
- 配置管理与版本控制:了解配置管理的概念和方法,熟悉版本控制工具的使用,如Git、SVN等。
3. 编程技术- 编程语言:掌握至少一种编程语言,如Java、C++、Python 等,具备良好的编码风格和编程习惯。
- 数据库:熟悉关系数据库的设计和操作,掌握SQL语言以及常用的数据库管理系统,如MySQL、Oracle等。
- 前端开发:了解HTML、CSS、JavaScript等前端开发技术,掌握常见的前端框架和工具。
- 后端开发:了解常见的后端开发框架和技术,如Spring、Django等,能够进行Web应用的开发和部署。
4. 系统设计能力- 软件架构与设计模式:掌握常见的软件架构和设计模式,如MVC、单例模式、观察者模式等,能够进行系统架构设计。
- 需求分析与设计:具备需求分析和系统设计的能力,能够将需求转化为可实现的系统设计方案。
- 性能优化与调试:了解常见的性能优化方法和调试工具,能够排查和解决系统性能问题。
软件设计师知识点一、软件设计师的职责和能力1.1 职责软件设计师是软件开发团队中的核心成员,负责根据用户需求和系统需求,设计出满足这些需求的软件系统。
他们需要与项目经理、开发人员和测试人员紧密合作,确保项目按时完成,并符合质量标准。
1.2 能力软件设计师需要具备以下能力:- 熟悉常见的软件开发方法和工具;- 精通至少一门编程语言;- 具备良好的沟通能力和团队协作能力;- 能够独立思考和解决问题;- 具有较强的学习能力和自我驱动能力。
二、软件设计的基本原则2.1 模块化模块化是指将一个复杂的系统分解为多个独立的模块,每个模块只关注自己所负责的功能。
这样可以提高代码重用性、可维护性和可扩展性。
2.2 高内聚低耦合高内聚低耦合是指一个模块内部各个组成部分之间联系紧密,但与其他模块之间联系松散。
这样可以降低代码之间相互依赖的程度,提高代码的可维护性和可扩展性。
2.3 接口设计接口是模块之间进行交互的桥梁。
良好的接口设计可以使得模块之间的交互更加清晰明确,降低代码耦合度,提高代码重用性和可维护性。
2.4 可测试性软件设计应该考虑到测试的需求,尽可能地将代码分解为可测试的单元,并为每个单元编写相应的测试用例。
这样可以提高软件质量和稳定性。
三、常见的软件设计模式3.1 工厂模式工厂模式是一种创建型模式,它将对象创建过程封装在一个工厂类中,客户端通过调用工厂类来获取所需对象。
这样可以将对象创建过程与客户端解耦,提高代码重用性和可扩展性。
3.2 单例模式单例模式是一种创建型模式,它保证一个类只有一个实例,并提供一个全局访问点。
这样可以避免多次创建相同对象造成资源浪费,同时也方便管理全局状态。
3.3 适配器模式适配器模式是一种结构型模式,它将不兼容的接口转换为兼容的接口,使得不同类之间可以进行协同工作。
这样可以提高代码重用性和可扩展性。
3.4 观察者模式观察者模式是一种行为型模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生改变时,所有依赖它的对象都会收到通知并自动更新。
软件设计师基础知识:
1.计算机软件:计算机软件是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理
规则的描述,文档是为了便于了解程序所需的阐述性资料。
2.软件工程基本原理:软件工程基本原理包括用分阶段的生命周期计划严格管理、坚持进行阶段评
审、实现严格的产品控制、采用现代程序设计技术、结果应能清楚地审查、开发小组的人员应少而精、承认不断改进软件工程实践的必要性。
3.软件生存周期:软件生存周期包括可行性分析与项目开发计划、需求分析、概要设计、详细设计、
编码、测试和维护等阶段。
4.软件过程:软件开发中所遵循的路线图称为“软件过程”,包括能力成熟度模型(CMM)和能力
成熟度模型集成(CMMI)。
5.码制的表示:码制表示包括定点整数和浮点数的表示方法,其中定点整数包括原码、反码和补码
的表示方法,浮点数则包括阶码和尾数的表示方法。
6.CPU组成:CPU是计算机的核心部件,由运算器和控制器组成,运算器负责执行算术运算和逻
辑运算,控制器则负责协调计算机的各个部件并控制程序的执行。
全国计算机技术与软件专业技术资格(水平)考试2017年下半年软件设计师上午试卷(考试时间 9 : 00~11 : 30 共 150 分钟)1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。
2. 本试卷的试题中共有 75 个空格,需要全部解答,每个空格 1 分,满分75 分。
3. 每个空格对应一个序号,有 A、B、C、D 四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。
4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。
解答时用正规 2B 铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。
例题● 2017 年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。
(88)A. 9 B. 10 C. 11 D. 12(89)A. 4 B. 5 C. 6 D. 7 因为考试日期是“11 月 4 日”,故(88)选 C,(89)选 A,应在答题卡序号 88 下对 C 填涂,在序号 89 下对 A 填涂(参看答题卡)。
●以下关于防火墙功能特性的叙述中,不正确的是(1)。
(1)A.控制进出网络的数据包和数据流向B.提供流量信息的日志和审计C.隐藏内部IP以及网络结构细节D.提供漏洞扫描功能●在程序执行过程中,Cache与主存的地址映射是由(2)完成的。
(2)A.操作系统 B.程序员调度 C.硬件自动 D.用户软件●某四级指令流水线分别完成取指、取数、运算、保存结果四步操作。
若完成上述操作的时间依次为8ns、9ns、 4ns、8ns,则该流水线的操作周期应至少为(3)ns 。
(3)A.4 B.8 C.9 D.33●内存按字节编址。
若用存储容量为32Kx8bit的存储器芯片构成地址从AOOOOH到DFFFFH 的内存,则至少需要(4)片芯片。
(4)A.4 B.8 C.16 D.32●计算机系统的主存主要是由(5)构成的。
软件设计师必背知识点一、计算机组成与体系结构。
1. 数据的表示。
- 进制转换:- 二进制、八进制、十进制、十六进制之间的相互转换。
例如,十进制转二进制可以采用除2取余法,将十进制数不断除以2,取余数,直到商为0,然后将余数从右到左排列得到二进制数。
- 二进制数的运算,包括算术运算(加、减、乘、除)和逻辑运算(与、或、非、异或)。
- 原码、反码、补码:- 原码:最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值。
- 反码:正数的反码与原码相同,负数的反码是在原码的基础上,符号位不变,其余位取反。
- 补码:正数的补码与原码相同,负数的补码是其反码加1。
计算机中通常采用补码来表示和运算数据,因为补码可以简化减法运算,将减法转换为加法。
2. 计算机的基本组成。
- 冯·诺依曼结构:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
- 运算器:进行算术和逻辑运算的部件,如加法器、乘法器等。
- 控制器:指挥计算机各部件协调工作的部件,它从存储器中取出指令,分析指令并产生相应的控制信号,控制计算机各部件执行指令。
- 存储器:用于存储程序和数据。
分为内存储器(主存)和外存储器(辅存)。
内存储器包括随机存取存储器(RAM)和只读存储器(ROM)。
RAM是可读可写的存储器,断电后数据丢失;ROM是只读存储器,断电后数据不丢失,常用于存储BIOS等基本系统程序。
- 输入设备:如键盘、鼠标等,用于向计算机输入数据和指令。
- 输出设备:如显示器、打印机等,用于将计算机处理的结果输出。
3. 指令系统。
- 指令的格式:一般包括操作码和操作数两部分。
操作码表示指令要执行的操作,操作数表示操作的对象。
- 指令的寻址方式:- 立即寻址:操作数直接包含在指令中。
- 直接寻址:操作数的地址直接包含在指令中。
- 间接寻址:指令中给出的是操作数地址的地址。
- 寄存器寻址:操作数存放在寄存器中,指令中给出寄存器编号。
软件设计师常考知识点软件设计师是一个充满挑战和机遇的职业,软件设计师需要具备广泛的知识和技能。
在软件设计师的考试中,以下是一些常考的知识点。
一、编程语言基础1. C语言基础C语言是软件设计师最重要的编程语言之一,掌握C语言的基本语法、流程控制、函数以及指针等知识是非常重要的。
2. Java语言基础Java是一种常用的面向对象编程语言,掌握Java的基本语法、类与对象、继承与多态、异常处理等知识是软件设计师必备的能力。
3. Python语言基础Python是一种简单而强大的编程语言,熟悉Python的基本语法、变量、循环、条件语句等知识对软件设计师来说非常有帮助。
二、数据结构与算法1. 数组与链表了解数组和链表的特点与用途,可以对其进行插入、删除、查找等操作。
2. 栈与队列理解栈与队列的概念,以及它们的应用场景和基本操作。
3. 树与图熟悉树与图的相关概念、存储结构和基本遍历算法。
4. 查找与排序了解二分查找、冒泡排序、插入排序、快速排序等常用查找与排序算法。
三、操作系统1. 进程与线程了解进程与线程的概念、特点以及它们之间的区别。
2. 内存管理掌握内存的分配与回收方法,了解虚拟内存的概念与工作原理。
3. 文件系统熟悉文件系统的组织结构以及文件的读写操作。
四、数据库1. SQL语言熟悉SQL语言的基本语法、数据查询与操作,掌握常用的数据库操作命令。
2. 数据库设计与规范化了解数据库设计的基本原则,熟悉规范化的各个层次。
3. 数据库管理与优化掌握数据库的管理与维护方法,了解数据库的性能优化技巧。
五、软件工程与开发1. 需求分析与规划了解软件开发的需求分析和规划流程,掌握相关方法和工具。
2. 设计模式熟悉常用的设计模式,如单例模式、工厂模式等,了解它们的应用场景与原理。
3. 软件测试与调试掌握软件测试的基本方法与流程,熟悉调试工具的使用。
4. 版本控制与项目管理了解版本控制工具如Git的基本使用,熟悉项目管理的基本原则与方法。
软考软件设计师知识点总结软件设计师是对软件开发具有深入理解和丰富经验的专业人员。
为了成功通过软考软件设计师考试,掌握以下知识点是至关重要的:1.软件工程基础:软件生命周期、软件开发过程模型、需求工程、软件项目管理等是软件设计师的基础知识。
了解这些概念和方法可以帮助设计师更好地组织、规划和管理软件开发项目。
2.面向对象分析与设计:掌握面向对象的基本概念、原则和设计模式。
熟悉常用的UML(统一建模语言)可以帮助设计师更好地进行系统分析、需求建模和系统设计。
3.软件架构设计:了解常见的软件架构风格,如分层架构、客户端-服务器架构和微服务架构。
掌握设计原则,如高内聚低耦合、单一职责等,以确保所设计的软件具有良好的结构、可维护性和可扩展性。
4.数据库设计:掌握关系数据库的基本概念、范式理论和数据库设计方法。
熟悉SQL语言和常见的数据库管理系统,如MySQL和Oracle,可以帮助设计师进行数据库设计和优化。
5.软件测试与质量保证:了解软件测试的基本原则、方法和工具。
掌握测试计划、测试用例设计和缺陷管理等方面的知识,以确保软件的质量和稳定性。
6.软件需求工程:学会收集、分析和规范软件需求,确保软件开发符合用户的需求和期望。
熟悉需求建模工具和技术,如用例图、活动图和状态图等。
7.软件安全与风险管理:了解常见的软件安全威胁、攻击技术和防御策略。
了解软件风险评估和管理的方法,以确保设计的软件能够在安全和可靠的环境下运行。
以上仅是软考软件设计师考试中的一些重要知识点总结,掌握这些知识可以帮助考生更好地应对考试,并在实际工作中发展成为优秀的软件设计师。
以下关于防火墙功能特性的叙述中,不正确的是(1)。
(1)A.控制进出网络的数据包和数据流向B.提供流量信息的日志和审计C.隐藏内部IP以及网络结构细节D.提供漏洞扫描功能【答案】D【解析】防火墙是被动防御,无法提供系统漏洞扫描在程序执行过程中,Cache与主存的地址映射是由(2)完成的。
(2)A.操作系统 B.程序员调度 C.硬件自动 D.用户软件【答案】C【解析】典型的存储体系结构分为“高速缓冲存储器(Cache)←→主存←→辅存”三个层次。
地址映像的作用之一是将CPU送来的主存地址转换成Cache地址。
在程序的执行过程中,Cache与主存的地址映像由专门的硬件电路自动完成。
某四级指令流水线分别完成取指、取数、运算、保存结果四步操作。
若完成上述操作的时间依次为8ns、9ns、 4ns、8ns,则该流水线的操作周期应至少为(3)ns 。
(3)A.4 B.8 C.9 D.33【答案】C【解析】流水线稳定之后,9s就会完成一个周期内存按字节编址。
若用存储容量为32Kx8bit的存储器芯片构成地址从AOOOOH到DFFFFH 的内存,则至少需要(4)片芯片。
(4)A.4 B.8 C.16 D.32【答案】B【解析】DFFFFH-AOOOOH +1=40000H=4*164;因为是按字节编址,所以所需芯片数为:4*164/(32*1024)=8计算机系统的主存主要是由(5)构成的。
(5)A.DRAM B.SRAM C.Cache D.EEPROM【答案】A【解析】DRAM(Dynamic Random Access Memory),即动态随机存取存储器,最为常见的系统内存。
SRAM(Static Random Access Memory),即静态随机存取存储器。
它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。
Caché,是一种后关系型数据库。
能并发访问同一数据的数据库技术。
软件设计师知识点总结一、概述软件设计师是一种为现代企业设计并应用软件系统的专业人员。
软件设计师需具备深厚的计算机科学知识,能够熟练掌握各种编程语言和开发工具,并且要有良好的逻辑和设计能力。
本文将从软件设计师的专业知识点出发,对其所需掌握的知识进行总结。
二、基础知识1. 数据结构与算法数据结构与算法是软件设计师必须掌握的基础知识。
数据结构指的是在计算机中组织和存储数据的方式,而算法则是解决问题的一系列步骤。
常见的数据结构包括数组、链表、栈、队列、树、图等,而算法则包括各种排序、查找、递归等常用算法。
2. 编程语言软件设计师需要熟练掌握至少一种编程语言,如Java、C++、Python等。
不同的编程语言适用于不同的场景,而且也有不同的特点和优势。
因此,软件设计师需要对多种编程语言有所了解。
3. 软件工程软件设计师需要了解软件工程的相关知识,包括软件开发过程、需求分析、系统设计、编码、测试、维护等各个环节。
此外,软件设计师也需要掌握软件开发的一些常用模型,如瀑布模型、敏捷开发等。
4. 设计模式设计模式是解决软件设计问题的一种经验总结,软件设计师需要了解并熟练应用各种设计模式。
常用的设计模式包括工厂模式、单例模式、观察者模式、适配器模式等。
5. 数据库软件设计师需要了解数据库的相关知识,包括数据库的设计、查询语言、事务处理、索引优化等。
常用的数据库包括关系型数据库(如MySQL、Oracle)和非关系型数据库(如MongoDB、Redis)。
三、高级知识1. 多线程与并发软件设计师需要了解多线程与并发的相关知识,包括线程的创建与管理、线程间的通信、锁机制、死锁等。
多线程与并发是提高软件性能和响应速度的关键技术。
2. 计算机网络软件设计师需要了解计算机网络的相关知识,包括网络协议、网络传输、网络拓扑结构、网络安全等。
此外,还需要了解HTTP、TCP/IP、UDP等常用协议。
3. 操作系统软件设计师需要了解操作系统的相关知识,包括进程管理、内存管理、文件系统等。
全国计算机技术与软件专业技术资格(水平)考试2017年下半年软件设计师上午试卷(考试时间 9 : 00~11 : 30 共 150 分钟)1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规 2B 铅笔在你写入的准考证号下填涂准考证号。
2. 本试卷的试题中共有 75 个空格,需要全部解答,每个空格 1 分,满分75 分。
3. 每个空格对应一个序号,有 A、B、C、D 四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。
4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。
解答时用正规 2B 铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。
例题● 2017 年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。
(88)A. 9 B. 10 C. 11 D. 12(89)A. 4 B. 5 C. 6 D. 7 因为考试日期是“11 月 4 日”,故(88)选 C,(89)选 A,应在答题卡序号 88 下对 C 填涂,在序号 89 下对 A 填涂(参看答题卡)。
●以下关于防火墙功能特性的叙述中,不正确的是(1)。
(1)A.控制进出网络的数据包和数据流向B.提供流量信息的日志和审计C.隐藏内部IP以及网络结构细节D.提供漏洞扫描功能●在程序执行过程中,Cache与主存的地址映射是由(2)完成的。
(2)A.操作系统 B.程序员调度 C.硬件自动 D.用户软件●某四级指令流水线分别完成取指、取数、运算、保存结果四步操作。
若完成上述操作的时间依次为8ns、9ns、 4ns、8ns,则该流水线的操作周期应至少为(3)ns 。
(3)A.4 B.8 C.9 D.33●内存按字节编址。
若用存储容量为32Kx8bit的存储器芯片构成地址从AOOOOH到DFFFFH 的内存,则至少需要(4)片芯片。
(4)A.4 B.8 C.16 D.32●计算机系统的主存主要是由(5)构成的。
(5)A.DRAM B.SRAM C.Cache D.EEPROM●以下关于海明码的叙述中,正确的是(6)。
(6)A.海明码利用奇偶性进行检错和纠错B.海明码的码距为1C.海明码可以检错但不能纠错D.海明码中数据位的长度与校验位的长度必须相同●计算机运行过程中,CPU需要与外设进行数据交换。
采用(7)控制技术时, CPU与外设可并行工作。
(7)A.程序查询方式和中断方式B.中断方式和DMA方式C.程序查询方式和DMA方式D.程序查询方式、中断方式和DMA方式●与HTTP相比,HTTPS协议对传输的内容进行加密,更加安全。
HTTPS基于(8)安全协议,其默认端口是(9)。
(8)A.RSA B.DES C.SSL D.SSH(9)A.1023 B.443 C.80 D.8080●下列攻击行为中,属于典型被动攻击的是(10)。
(10)A.拒绝服务攻击 B.会话拦截C.系统干涉D.修改数据命令●(11)不属于入侵检测技术。
(11)A.专家系统 B.模型检测 C.简单匹配 D.漏洞扫描●某软件公司项目组的程序员在程序编写完成后均按公司规定撰写文档,并上交公司存档。
此情形下,该软件文档著作权应由(12)享有。
(12)A.程序员 B.公司与项目组共同C.公司D.项目组全体人员●我国商标法规定了申请注册的商标不得使用的文字和图形,其中包括县级以上行政区的地名(文字)。
以下商标注册申请,经审查,能获准注册的商标是(13)。
(13)A.青岛(市) B.黄山(市) C.海口(市) D.长沙(市)●李某购买了一张有注册商标的应用软件光盘,则李某享有(14)。
(14)A.注册商标专用权 B.该光盘的所有权C.该软件的著作权D.该软件的所有权●某医院预约系统的部分需求为:患者可以查看医院发布的专家特长介绍及其就诊时间:系统记录患者信息,患者预约特定时间就诊。
用DFD对其进行功能建模时,患者是(15);用ERD对其进行数据建模时,患者是(16)。
(15)A.外部实体 B.加工 C.数据流 D.数据存储(16)A.实体 B.属性 C.联系 D.弱实体●某软件项目的活动图如下图所示,其中顶点表示项目里程碑,链接顶点的边表示包含的活动,变色数字表示活动的持续时间(天)。
完成该项目的最少时间为(17)天。
由于某种原因,现在需要同一个开发人员完成BC和BD,则完成该项目的最少时间为(18)天。
(17)A.11 B.18 C.20 D.21(18)A.11 B.18 C.20 D.21●某企业财务系统的需求中,属于功能需求的是(19)。
(19)A.每个月特定的时间发放员工工资B.系统的响应时间不超过 3 秒C.系统的计算精度符合财务规则的要求D.系统可以允许100个用户同事查询自己的工资●更适合用来开发操作系统的编程语言是(20)。
(20)A.C/C++ B.Java C.Python D.JavaScript●以下关于程序设计语言的叙述中,不正确的是(21)。
(21)A.脚本语言中不使用变量和函数B.标记语言常用于描述格式化和链接C.脚本语言采用解释方式实现D.编译型语言的执行效率更高●将高级语言源程序通过编译或解释方式进行翻译时,可以先生成与源程序等价的某种中间代码。
以下关手中间代码的叙途中,正确的是(22)。
(22)A.中间代码常采用符号表来表示B.后缀式和三地址码是常用的中间代码C.对中间代码进行优化要依据运行程序的机器特性D.中间代码不能跨平台●计算机系统的层次结构如下圈所示,基于硬件之上的软件可分为a、b和 c三个层次。
图中 a、b和 c分别表示(23)。
(23)A.操作系统、系统软件和应用软件 B.操作系统、应用软件和系统软件C.应用软件、系统软件和操作系统D.应用软件、操作系统和系统软件●下图所示的PCB(进程控制块)的组织方式是(24),图中(25)。
(24)A.链接方式 B.索引方式 C.顺序方式 D.Hash(25)A.有1个运行进程、2个就绪进程、4个阻塞进程B.有1个运行进程、2个就绪进程、4个阻塞进程C.有1个运行进程、3个就绪进程、3个阻塞进程D.有1个运行进程、4个就绪进程、2个阻塞进程●某文件系统采用多级索引结构。
若磁盘块的大小为1K字节,每个块号占3字节,那么采用二级索引时的文件最大长度为(26)字节。
(26)A.1024 B.2048 C.116281 D.232562●某操作系统采用分页存储管理方式,下图给出了进程A和进程B的页表结构。
如果物理页的大小为1K字节,那么进程A中逻辑地址为1024 (十进制)用变量存放在(27)号物理内存页中。
假设进程A的逻辑页4与进程B的逻辑页5要共享物理页4,那么应该在进程A页表的逻辑页4和进程B页表的逻辑页5对应的物理页处分别填(28)。
(27)A.8 B.3 C.5 D.2(28)A.4、4 B.4、5 C.5、4 D.5、5●用自盒测试方法对如下图所示的流程图进行测试。
若要满足分支覆盖,则至少要(29)个测试用例,正确的测试用例对是(30)(测试用例的格式为(A,B,X;X))。
(29)A.1 B.2 C.3 D.4(30)A.(1,3,3;3)和(5,2,15;3) B.(1,1,5;5)和(5,2,20;9)C.(2,3,10;5)和(5,2,18;3)D.(5,2,16;3)和(5,2,21;9)●配置管理贯穿软件开发的整个过程。
以下内容中,不属于配置管理的是(31)。
(31)A.版本控制 B.风险管理 C.变更管理 D.配置状态报告●极限编程(XP)的十二个最佳实践不包括(32)。
(32)A.小的发布 B.结对编程 C.持续集成 D.精心设计●以下关于管道过滤器体系结构的有点的叙述中,不正确的是(33)。
(33)A.软件构件具有良好的高内聚、低藕合的特点B.支持重用C.支持并行执行D.提高性能●模块A将学生信息,即学生姓名、学号、手机号等放到一个结构体中,传递给模块B。
模块A和B之间的藕合类型为(34)藕合。
(34)A.数据 B.标记 C.控制 D.内容●某模块内涉及多个功能,这些功能必须以特定的次序执行,则该模块的内聚类型为(35)内聚。
(35)A.实践 B.过程 C.信息 D.功能●系统交付用户使用后,为了改进系统的图形输出而对系统进行修改的维护行为属于(36)维护。
(36)A.改正性 B.适应性 C.改善性 D.预防性●在面向对象方法中,将逻辑上相关的数据以及行为绑定在一起,使信息对使用者隐蔽称为(37)。
当类中的属性或方法被设计为private时,(38)可以对其进行访问。
(37)A.抽象 B.继承 C.封装 D.多态(38)A.应用程序中所有方法B.只有此类中定义的方法C.只有此类中定义的 public方法D.同一个包中的类中定义的方法●采用继承机制创建子类时,子类中(39)。
(39)A.只能有父类中的属性 B.只能有父类中的行为C.只能新增行为D.可以有新的属性和行为●面向对象分析过程中,从给定需求描述中选择(40)来识别对象。
(40)A.动词短语 B.名词短语 C.形容词 D.副词●如图所示的UML类图中,Shop和Magazine之间为(41)关系,Magazine和Page之间为(42)关系。
UML类图统称不用于对(43)进行建模。
(41)A.关联 B.依赖 C.组合 D.继承(42)A.关联 B.依赖 C.组合 D.继承(43)A.系统的词汇 B.简单的协作C.逻辑数据库模式D.对象快照●自动售货机根据库存、存放货币量、找零能力、所选项目等不同,在货币存入并进行选择时具有如下行为:交付产品不找零:交付产品找零:存入货币不足而不提供任何产品;库存不足而不提供任何产品。
这一业务需求适合采用(44)模式设计实现,其类图如下图所示,其中(45)是客户程序使用的主要接口,可用状态来对其进行配置。
此模式为(46),体现的最主要的意图是(47)。
(44)A.观察者(Obeserver) B.状态(State)C.策略(Stratehy)D.访问者(Visitor)(45)A.VendingMachineState B.BuyC.VendingDepositStateD.VendingStockState(46)A.创建型对象模式 B.结构型对象模式C.行为型类模式D.行为型对象模式(47)A.当一个对象状态改变时所有依赖它的对象得到通知并自动更新B.在不破坏封装性的前提下,捕获对象的内部状态并在对象之外保存C.一个对象在其内部状态改变时改变其行为D.将请求封装为对象从而可以使用不同的请求对客户进行参数化●编译过程中进行的语法分析主要是分析(48)。
(48)A.源程序中的标识符是否合法 B.程序语句的含义是否合法C.程序语句的结构是否合法D.表达式的类型是否合法●某确定的有限自动机(DFA)的状态转换图如下图所示(0是初态,4是终态),则该DFA能识别(49)。