2022年职业考证-软考-系统架构设计师考试全真模拟易错、难点剖析B卷(带答案)
一.综合题(共15题)
1.
单选题
在三层C/S架构中,( )是应用的用户接口部分,负责与应用逻辑间的对话功能;( )是应用的本体,负责具体的业务处理逻辑。
问题1选项
A.表示层
B.感知层
C.设备层
D.业务逻辑层
问题2选项
A.数据层
B.分发层
C.功能层
D.算法层
【答案】第1题:A
第2题:C
【解析】 三层C/S体系结构是将应用功能分成表示层、功能层和数据层三个部分。
(1)表示层
表示层是应用的用户接口部分担负与应用逻辑间的对话功能。它用于用户从工作站输入的数据,并显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户界面(G
UI),在变更用户界面时,只需改写显示控制和数据检查程序,而不影响业务逻辑。
(2)功能层
功能层是应用的本体,它负责具体的业务处理逻辑,例如在制作订购合同时要计算合同金额。表示层和功能层之间的数据互交要尽可能简洁。例如,用户检索数据时,要将有关检索要求的信息一次性地传送给功能层,检索结果数据也由功能层一次性地传送给表示层。
(3)数据层
数据层通常是数据库管理系统,负责管理对数据库数据的读写。数据库系统必须能迅速执行大量数据的更新和检索。
三层C/S的解决方案对这三层进行明确分割,不同层构件相互独立,层间的接口简洁,适合复杂事务处理。
2.
单选题
软件测试是保障软件质量的重要手段。(  )是指被测试程序不在机器上运行,而采用人工监测和计算机辅助分析的手段对程序进行监测。(  )也称为功能测试,不考虑程序的内部结构和处理算法,只检查软件功能是否能按照要求正常使用。
问题1选项
A.静态测试
B.动态测试
C.黑盒测试
D.白盒测试
问题2选项
A.系统测试
B.集成测试
C.黑盒测试
D.白盒测试
【答案】第1题:A
第2题:C
【解析】
静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(Desk Checking)、代码审查和代码走查。经验表明,使用这种方法能够有效地发现30%~70%的逻辑设计和编码错误。与之对应的动态测试是利用计算机运行得到测试结果的方式进行测试。
动态测试中的黑盒测试不关注程序的内部结构,只从程序块的功能、输入、输出角度分析问题,设计测试用例并展开测试工作。
3.
单选题
面向构件的编程目前缺乏完善的方法学支持,构件交互的复杂性带来了很多问题,其中(  )问题会产生数据竞争和死锁现象。
问题1选项
A.多线程
B.异步
C.封装
D.多语言支持
【答案】A
【解析】面向构件的编程一般会涉及以下构件交互问题:
(1)异步
当前的构件互连标准大都使用某种形式的事件传播机制作为实现构件实例装配的手段。其思想是相对简单的:构件实例在被期望监听的状态发生变化时发布出特定的事件对象;事件分发机制负责接收这些事件对象,并把它们发送给对其感兴趣的其他构件实例;构件实例则需要对它们感兴趣的事件进行注册,因为它们可能需根据事件对象所标志的变化改变其自身的状态。
(2)多线程
多线程是指在同一个状态空间内支持并发地进行多个顺序活动的概念。相对于顺序编程,多线程的引入为编程带来了相当大的复杂性。特别是,需要避免对多个线程共享的变量进行并发的读写操作可能造成的冲突。这种冲突也被称做数据竞争,因为两个或多个线程去竞争对共享变量的操作。线程的同步使用某种形式的加锁机制来解决此类问题,但这又带来了一个新的问题:过于保守的加锁或者错误的加锁顺序都可能导致死锁。
(3)多语言支持
面向构件编程会涉及多语言问题,在进行不同语言环境涉及到互通,最佳状态是编程语言直接支持转发类的构造,则很多问题都能解决,编程的开销也将是最小的,但目前还没有主流的编程语言支持。
(4)调用者封装
语言支持带来的另外一个好处是接口定义。当构件对外提供一个接口时,可能会涉及两种不同的意图。一方面,构件外部的代码可能会调用这个接口中的操作。另一方面,构件内部的代码可能需要调用实现这个接口的一些操作。
4.
单选题
假设系统中互斥资源R的可用数为25。T0时刻进程P1、P2、p3、P4对资源R的最大需求数、已分配资源数和尚需资源数的情况如表a所示,若P1和P3分别申请资源R数为1和2,则系统(  )。
表aT0时刻进程对资源的需求情况
问题1选项
A.只能先给P1进行分配,因为分配后系统状态是安全的
B.只能先给P3进行分配,因为分配后系统状态是安全的嵌入式多线程编程
C.可以时后P1、P3.进行分配,因为分配后系统状态是安全的
D.不能给P3进行分配,因为分配后系统状态是不安全的
【答案】B
【解析】
本题考查银行家算法。
由于系统中一共有25个可用资源,分别给P1-P4分配了:6、4、7、6个资源,所以目前系统剩余资源数为:25-6-4-7-6=2。
此时,若给P1分配1个资源,则P1还需要3个资源,系统只余下1个资源。这1个资源分配给任何一个进程都无法满足进程的总资源需求量,从而导致系统进行死锁状态,这是不安全的系统状态。但若给P3分配2个资源,能满足P3的全部资源需求,P3执行完之后,将释放9个资源,此时执行P1、P2、P4中的任意一个均是安全状态,所以这种分配方式才是安全合理的。
5.
单选题
The prevailing distributed computing model of the current era is called ctiem servar computing.A(  )is a solution in which the presentation, presentation logic,application logic,data manipulation and data layers are distributed between client PCs and one or mo
re servers. A (  ) is a personal computer that does not have to be very powerful in terms of processor speed and memory because it only presents the interface to the user. A(  )is a personal computer,notebookputer,or workstation that is typically more powerful in terms of processor speed,memory,and storage capacity. A(  )hosts one or more shamad database but also executes all database commands and services for information systems.A (n)(  )hosts Internet or intranet web sites,it communicates with clients by returning to them documents and data.
问题1选项
A.Client/Server system
B.Client-side
C.Server-sider
D.Database
问题2选项
A.Server-sider
B.Browser
C.Fat client
D.Thin client
问题3选项
A.Cloud platform
B.Cluster system
C.Fat client
D.Thin client
问题4选项
A.Transaction server
B.Database server
C.Application server
D.Message server
问题5选项
A.Database server
B.Message server
C.Web server
D.Application server
【答案】第1题:A
第2题:D
第3题:C
第4题:B
第5题:C
6.
单选题
对应软件开发过程的各种活动,软件开发工具有需求分析工具、()。 编码与排错工具、测试工具等。按描述需求定义的方法可将需求分析工具分为基于自然语言或图形描述的工具和基于()的工具。
问题1选项
A.设计工具
B.分析工具
C.耦合工具
D.监控工具
问题2选项
A.用例
B.形式化需求定义语言
C.UML
D.需求描述
【答案】第1题:A
第2题:B
【解析】第1题:本题考查的软件开发工具的相关知识。
软件开发工具用来辅助开发人员进行软件开发活动,对应软件开发过程的各种活动,软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具等。
1、需求分析工具用以辅助软件需求分析活动,辅助系统分析员从需求定义出发,生成完成的、清晰的、一致的功能规范。按描述需求定义的方法可以将需求分析工具分为基于自然语言或图像描述的工具和基于形式化需求定义语言的工具。
(1)基于自然语言或图形描述的工具:这类工具采用分解与抽象等基本手段,对用户问题逐步求精,并在检测机制的辅助下,发现其中可能存在的问题(如一致性),通过对问题描述的修改,逐步形成能正确反映用户需求的功能规范。比如结构化分析方法采用的数据流图。
(2)基于形式化需求定义语言的工具:基于形式化需求定义语言的工具大多以基于知识的需求智能助手的形式出现,并把人工智
能技术运用于软件工程。这类工具通常具有一个知识库和一个推理机制。
(3)其他需求分析工具:可执行规范语言以及原型技术为需求分析工具提供了另一条实现途径,这些工具通过运行可执行规范或
原型,将有关的结果显示给用户和系统分析员,以便进行需求确认。
2、设计工具:设计工具用以辅助软件设计活动,辅助设计人员从软件功能规范出发,得到相应的设计规范。
3、编码与排错工具:编码工具和排错工具用以辅助程序员进行编码活动。编码工具辅助程序员用某种程序语言编制源程序,并对源程序进行翻译,最终转换成可执行的代码,主要有编辑程序、汇编程序、编译程序和生成程序等。排错工具用来辅助程序员寻源程序中错误的性质和原因,并确定其出错的位置,主要有源代码排错程序和排错程序生成程序两类。
4、软件维护工具:软件维护工具辅助软件维护过程中的活动,辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具和再工程工具等。
5、软件管理和软件支持工具:软件管理过程和软件支持过程往往要涉及到软件生存周期中的多个活动,软件管理和软件支持工具用来辅助管理人员和软件支持人员的管理活动和支持活动,以确保软件高质高效地完成。其中常用的工具有项目管理工具、配置管理工具、软件评价工具等。
第2题:
7.
单选题
对软件体系结构风格的研究和实践促进了对设计的复用。Garlan和Shaw对经典体系结构风格进行了分类 。其中,( )属于数据流体系结构风格;( )属于虚拟机体系结构风格;而下图描述的属于( )体系结构风格 。
问题1选项
A.面向对象
B.事件系统
C.规则系统
D.批处理
问题2选项
A.面向对象
B.事件系统
C.规则系统
D.批处理
问题3选项
A.层次型
B.事件系统
C.规则系统
D.批处理

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。