软考-系统架构设计师-2020年上午选择题真题
# 软考-系统架构设计师-2020年上午选择题真题
考试时间 8:30 ~ 11:00 150分钟
1.按照我国著作权法的权利保护期,( )受到永久保护。 A.发表权 B.修改权 C.复制权 D.发行权
解析: 署名权、修改权、保护作品完整权的保护期不受限制。 公民的作品,其发表权、使用权和获得报酬权的保护期为作者终生及其死亡后50年 法人或者其他组织的作品、著作权(署名权除外)由法人或者其他组织享有的职务作品,其发表权、使用权和获得报酬权的保护期为50年
答案:B
2.假设某计算机的字长为32位,该计算机文件管理系统磁盘空间管理采用位示图,记录磁盘的使用情况,若磁盘的容量为300GB,物理块的大小为4MB,那么位示图的大小为( )字。 A.2400 B.3200 C.6400 D.9600
解析: 300*1024/4=76800个物理块 一个物理块用1位表示 共需要 76800位 题目中计算机的一个字长为32位 一共有 76800/32 = 2400个字
答案:A
3.实时操作系统中,外部事件必须( )。 A.一个时间片内处理 B.一个周期时间内处理 C.一个机器周期内处理 D.被控对象允许的时间内
解析: 实时操作系统中,外部事件必须被控对象允许的时间内处理
答案:D
4.( )是指用户无需知道数据存放的物理位置。 A.分片透明 B.逻辑透明 C.位置透明 D.复制透明
解析: 分片透明:是指用户不必关系数据是如何分片的,它们对数据的操作在全局关系上进行,即关系如何分片对用户是透明的。 复制透明:用户不用关心数据库在网络中各个节点的复制情况被复制的数据的更新都由系统自动完成。 位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的。 局部映像透明性(逻辑透明)是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关系局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的
答案:C
5.微内核,描述不正确的是( )。 A.微内核系统结构清晰,提高系统灵活性 B.微内核代码量少,有良好的移植性 C.微内核有良好的伸缩,拓展性好 D.微内核功能代码可以相互调用,性能高
解析: 微内核结构的优势: 提高了系统的可扩展性 增强了系统的可靠性 可移植性好 提供了对分布式系统的支持
答案:D
6.分层结构的脆弱性包含( )。 A.底层错误导致整个系统无法运行,层与层之间功能引用可能导致功能失效 B.底层错误导致整个系统无法运行,层与层之间引入通信机制势必造成性能下降 C.上层错误导致整个系统无法运行,层与层之间引入通信机制势必造成性能下降 D.上层错误导致整个系统无法运行,层与层之间功能引用可能导致功能失效
解析: 底层错误导致整个系统无法运行,层与层之间引入通信机制势必造成性能下降
答案:B
7.以下关于区块链所用系统中“挖矿”行为的描述中,错误的是( )。 A."挖矿"取得区块链的记账权,同时获得代币奖励 B."挖矿"本质上是在尝试计算一个Hash碰撞 C."挖矿"是一种工作量证明机制 D.可以防止比特币的双花攻击
解析: “双花”攻击就是指将用户所持有的数字资产中的余额,进行多次的交易行为。 (例如: 账户余额有100元 攻击者用很快速的方式把这100元 进行多次交易 即 100元花 2次或者更多次) 解决方法就是通过时间戳,用户发起的每一笔交易都能有时间记录,当攻击者在交易过程中发起交易时,系统能够分辨出交易发起的时间,根据时间顺序就能够迅速确认第一笔交易时间。 挖矿行为是挣钱行为 不是防止攻击行为
答案:D
8.以下关于延迟的说法中,正确的是( )。 A.在对等网络中,网络的延迟大小与网络中的终端数量无关 B.使用路由器进行数据转发所带来的延迟小于交换机 C.使用Internet服务器可最大程度的减小网络延迟 D.服务器延迟的主要影响因素是队列延迟和磁盘I/O延迟
解析: 排队延迟,磁盘I/O延迟
答案:D
9.10.进行系统监视三种形式,一是通过( )如PS,last;二是通过系统记录文件查阅系统运行状态;三是集成命令、文件记录和可视化技术、监视器图,如( )。 A.系统命令 B.系统调用 C.系统接口 D.系統功能 A.Windows netstat B.Linux iptables C.Windows perfmon D.Linux top
解析: 软考参考书中原文: 进行系统监视通常有三种方式。一是通过系统本身提供的金冷,如UNIXiunx中的w、last,Windows 中的netstat等;二是通过系统记录文件查阅系统在特定时间内的运行状态DS、二是集成命令、文件记录和可视化技术,提供直观的界面,操作人员只需要进行--些可视化的设置,而不需要记忆繁杂的命令行参数,即可完成监视操作,如 Windows 的perfmon应用程序。
答案:A、C
11~14.人口采集处理和利用业务属于( ), 营业执照发放属于( ),户籍管理属于( ),参加政府工程交接属于( )。 A.政府对企业(G2B) B.政府对政府(G2G) C.企业对政府(B2G) D.政府对公众(G2C)
A.政府对企业(G2B) B.政府对政府(G2G) C.企业对政府(B2G) D.政府对公众(G2C)
A.政府对企业(G2B) B.政府对政府(G2G) C.企业对政府(B2G) D.政府对公众(G2C)
A.政府对企业(G2B) B.政府对政府(G2G) C.企业对政府(B2G) D.政府对公众(G2C)
解析: 电子政务: 政府对政府(G2G),指政府内部,政府上下级之间、不同地方政府和不同职能部门之间实现的电子政务活动。 政府对企业(G2B),政府与企业之间的电子政务,包括电子采购与招标、电子税务、电子证照办理等。 政府对公民(G2C),政府与公民之间的电子政务,是指政府通过电子网络为公民提供各种服务,包括教育培训服务、就业服务、电子医疗服务社会保险服务、公民电子税务、电子证件服务等。 政府对公务员(G2E),政府与公务员之间的电子政务,主要是利用Intranet 建立起有效的行政办公和员工管理体系,以提高政府工作效率和公务员管理水平服务。 企业对政府(B2G),企业纳税及企业为政府提供服务。企业参加政府各项工程的竟/投标,向政府供应各种商品和服务,企业向政府提建议,申诉,
答案:B、A、D、C
15.16.软件文档可分为用户文档和( ),其中用户文档主要描述( )和使用方法。 A.系统文档 B.需求文档 C.标准文档 D.实现文档问题 A.系统实现 B.系统设计 C.系统功能 D.系统测试
解析: 软件文档可以分为用户文档和系统文栏。 用户文档包括:功能描述、安装手册、使用手册、参考手册和操作员指南。
系统文档描述的是从问题定义、需求说明、模块算法说明、系统没计、实现到系统测试用例、测试方案等软件配置的所有系统内部特征的文档软件开发人员和系统维护人员从中能方便地找到理解、维护、修改系统的全部参考资料和信息。
答案:A、C
17.18.软件需求开发的最终文档,通过评审后定义了开发工作的( ),它在客户和开发者之间构筑了产品功能需求和非功能需求的一个( ),是需求开发和需求管理之间的桥梁。 A.需求基线 B.需求标准 C.需求用例 D.需求分析 A.需求用例 B.需求管理标准 C.需求约定 D.需求变更
解析: 软件需求开发的最终文档经过评审批准后,定义了开发工作的需求基线,这个基线在用户和开发人员之间,构筑了计划产品功能需求和非功能需求的一个约定,它是需求开发和需求管理之间的桥梁。
答案:A、C
19~21.软件活动主要包括软件描述、( )、软件有效性验证和( )。( )定义了软件功能及使用限制。 A.软件模型 B.软件需求 C.软件分析 D.软件开发 A.软件分析 B.软件测试 C.软件演义 D.软件进化 A.软件分析 B.软件测试 C.软件描述 D.软件开发
解析: 软件过程是制作软件产品的一组活动以及结果 包括如下活动: 软件描述。必须定义软件功能以及使用的限制。 软件开发。也就是软件的设计和实现,软件工程人员制作出能满足描述的软件。 软件有效性验证。软件必须经过严格的验证,以保证能够满足客户的需求。 软件进化。软件随着客户的需求不断改进
答案:D、D、C
22.23.对应软件开发过程的各种活动,软件开发工具有需求分析工具、( )、编码与排错工具、测试工具,按照描述需求定义的方法,可将需求分析工具分为基于自然语言或图形描述的工具和基于( ) 的工具。 A.设计工具 B.分析工具 C.耦合工具 D.监控工具 A.用例 B.形式化需求定义语言 C.UML D.需求描述
解析: 软件开发工具用来辅助开发人员进行软件开发活动,对应软件开发过程的各种活动,软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具等。
需求分析工具用以辅助软件需求分析活动,辅助系统生成完成析员从需求定义出发,生成完整的、清晰的、一致的功能规范。按描述需求定义的方法可以将需求分析工具分为基于自然语言或图像描述的工具和基于形式化需求定义语言的工具。
答案:A、B
24.25.软件设计包括4个既独立又相互联系的活动:( )、软件结构设计、人机界面设计和( )。 A.用例设计 B.数据设计 C.程序设计 D.模块设计 A.接口设计 B.操作设计 C.输入输出设计 D.过程设计
解析: 软件设计包括4个既独立又相互联系的活动,即数据设计、软件结构设计、人机界面设计和过程设计。这4个活动完成以后就得到了全面的软件设计模型。设计方法也是以后实现设计模型的蓝图和软件工程活动的基础。
答案:B、D
26.27.通过信息隐蔽可以提高软件的( )、可测试性和( ) 。 A.可修改性 B.可扩充性 C.可靠性 D.耦合性 A.封装性 B.安全性 C.可移植性 D.可交互性
解析: 通过信息隐蔽可以提高软件的可修改性、可测试性和可移植性,它也是现代软件设计的一个关键性原则。
答案:A、C
28.按照外部形态,构成一个软件系统的构件可以分为五类。其中( )是指可以进行版本替换并增加构件新功能。 A.装配的构建 B.可修改的构建 C.有限制的构建 D.适应性构建
解析: 可修改的构件。可修改的构件可以进行版本替换。如果对原构件修改错误、增加新功能,可以利用重新“包装”或写接口来实现构件的替换。
答案:B
29~31.中间件基本功能包括,为客户机和服务器提供( ); 提供( )保证交易的一致性;提供应用的( ) 。 A.连接和通信 B.应用程序接口 C.通信协议支持 D.数据交换标准
A.安全控制机制 B.交易管理机制 C.标准信息格式 D.数据映射机制
A.基础硬件平台 B.操作系统服务 C.网络和数据库 D.负载均衡和高可用性
解析: 中间件的基本功能包括以下几个。 (1)负责客户端和服务器间的连接和通信。 (2)提供客户端与应用层的高效率通信机制。 (3)提供应用层不同服务之间的互操作机制。 (4)提供应用层与数据库之间的连接和控制机制。 (5)提供一个多层结构应用开发和运行的平台。 (6)提供一个应用开发框架,支持模块化的应用开发。屏蔽硬件、操作系统、网络和数据库。 (7)提供交易管理机制。 (8)保证交易的一致性。 (9)提供应用的负载均衡和高可用性。 (10)提供应用的安全机制与管理功能。 (11)提供一组通用的服务去执行不同的功能,为的是避免重复的工作和使应用之间可以协作。
答案:A、B、D
32~34.针对二层C/S软件结构的缺点,三层C/S架构应运而生,在三层C/S架构中,增加了一个( )。三层C/S架构是将功能分成表示层,功能层和( )三个部分,其中( )是应用的用户接口部分,担负用户与应用间的对话功能。 A.应用服务器 B.分布式数据库 C.内容分发 D.镜像 A.硬件层 B.数据层 C.设备层 D.通信层 A.表示层 B.数据层 C.应用层 D.功能层
解析: 与二层 C/S 架构相比,在三层 C/S 架构中增加了一个应用服务器。可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户端上。
答案: A、B、A
35~37.创建型模式支持对象的创建,该模式允许在系统中创建对象,而不需要在代码中标识出特定的类型,这样用户就不需要编写一系列相关或相互依赖的对象在不指定具体类的情况下。( )模式为创建一系列相关或相互依赖的对象提供了一个接口;( )模式将复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象;( )模式允许对象在不了解要创建对象的确切类以及如何创建细节的情况下创建自定义对象。
A.prototype B.Abstract Factoty C.Builder D.Singleron A.prototype B.Abstract Factoty C.Builder D.Singleron A.prototype B.Abstract Factoty C.Builder D.Singleron
解析: 参考设计模式:https://deepjava.blog.csdn.net/article/details/115580862 (opens new window)
抽象工厂模式为创建一系列相关或相互依赖的对象提供了一个接口 创建者模式将复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象 原型模式模式允许对象在不了解要创建对象的确切类以及如何创建细节的情况下创建自定义对象
答案:B、B、A
38~42.某公司欲开发一个在线教育平台,在架构设计阶段,公司的架构师识别出3个核心质量属性场景,其中“网站在用户数量10万的负载情况下,用户请求的平均响应时间应小于3秒”,这一场景主要与( )质量属性相关,通常可采用( )架构策略实现该属性;“主站宕机后系统能够在10秒内自动切换至备用站点并恢复正常运行”主要与( )质量属性相关,通常可采用( )架构策略实现该属性;系统完成上线后少量的外围业务功能和界面的调整与修改不超过10人日,主要于( )质量属性相关。
A.性能 B.可用性 C.易用性 D.可修改性 A.抽象接口 B.信息隐藏 C.主动冗余 D.资源调度 A.性能 B.可用性 C.易用性 D.可修改性 A.记录/回放 B.操作串行化 C.心跳 D.增加计算资源 A.性能 B.可用性 C.易用性 D.可修改性
解析:
质量属性分为6种:可用性、可修改性、性能、安全性、可测试性、易用性。
资源调度(管理)、增加计算资源 和性能有关
抽象接口\信息隐藏(和可修改性相关)
命令\响应、心跳、错误恢复、主动冗余(和可用性有关)
答案:A、D、B、C、D
43.前趋图(Precedence Graph)是一个有向无环图,记为:→={(Pi,Pj)|Pi must complete before Pj may start)。假设系统中进程P={P1,P2, P3, P4, P5, P6, P7},且进程的前趋图如下: 
A.→={(P1,P2),(P3,P1,),(P4,P1),(P5,P2),(P5,P3),(P6,P4),(P7,P5),(P7,P6),(P5,P6),(P4,P5),(P6,P7)} B.→={(P1,P2),(P1,P3),(P1,P4), (P2,P3), (P2,P5),(P3,P4),(P3,P5),(P4,P5),(P5,P6),(P5,P7),(P6,P7)} C.→={(P1,P2),(P1,P3),(P2,P5),(P2,P3),(P3,P4),(P5,P3),(P4,P5),(P5,P6),(P7,P5),(P6,P7)} D.→={(P1,P2),(P1,P3),(P2,P3),(P2,P5),(P3,P6),(P3,P4),(P4,P7),(P5,P6),(P6,P7),(P6,P5),(P7,P5)}
解析: 从P1开始顺序往后数 直到最后一个即可
答案:B
44.在支持多线程的操作系统中,假设进程P创建了线程T1、T2和T3,那么下列说法正确的是( )。 A.该进程中已打开的文件是不能被T1、T2和T3共享的 B.该进程中T1的栈指针是不能被T2共享的,但可被T3共享 C.该进程中T1的栈指针是不能被T2和T3共享的 D.该进程中某线程的栈指针是可以被T1、T2和T3共享的
解析: 不同线程共享所属同一进程的资源, 线程间资源相互独立
答案:C
45.通常在设计关系模式时,派生属性不会作为关系中的属性来存储。按照这个原则,假设原设计的学生关系模式为 Students(学号,姓名,性别,出生日期,年龄,家庭地址),那么该关系模式正确的设计应为( )。 A.Students(学号,性别,出生日期,年龄,家庭地址) B.Students(学号,姓名,性别,出生日期,年龄) C.Students(学号,姓名,性别,出生日期,家庭地址) D.Students(学号,姓名,出生日期,年龄,家庭地址)
解析: 年龄可以通过出生日期计算得出
答案:C
46.分页内存管理的核心是将虚拟内存空间和物理内存空间皆划分为大小相同的页面,并以页面作为内存空间的最小分配单位,下图给出了内存管理单元的虚拟地址到物理页面转换过程,假设页面大小为4KB, 那么CPU发出虚拟地址0010 0000 0000 0100,其访问的物理地址是( )。 
A.1100 0000 0000 0100 B.0100 0000 0000 0100 C.1100 0000 0000 0000 D.1100 0000 0000 0010
解析: 这类题目的解题思路是 先根据页面大小判断出 页内地址 然后根据给出的虚拟地址 划分出 页号 再根据给出的转换表 找出页号对应的块号 再和上面划分的页内地址拼接在一起 就是要访问的物理地址
4KB = 10的12次方B 所以页内地址占用12位
CPU发出虚拟地址0010 0000 0000 0100
其中页内地址12位 页号4位
二进制页号0010 转换为十进制为 2
有题干中图可知 页号2 对应的块号 为 1100
页内地址不变
CPU发出虚拟地址0010 0000 0000 0100,其访问的物理地址是 1100 0000 0000 0100
答案:A
47.以下关于计算机内存管理的描述中,( )属于段页式内存管理的描述。 A.一个程序就是一段,使用基址极限对来进行管理 B.一个程序分为固定大小的页面,使用页表进行管理 C.程序按逻辑分为多段,每一段内又进行分页,使用段页表来进行管理 D.程序按逻辑分成多段,用一组基址极限对来进行管理,基址极限对存放在段表里
解析: 程序按逻辑分为多段,每一段内又进行分页,使用段页表来进行管理属于段页式内存管理的描述
答案:C
48.在 Linux中,DNS的配置文件是( ),它包含了主机的域名搜索顺序和DNS服务器的地址。 A./etc/hostname B./dev/host.conf C./ete/resolv.conf D./dev/name.conf
解析: 记忆
答案:C
49.关于敏捷开发方法的特点,不正确的是( )。 A.敏捷开发方法是适应性而非预设性 B.敏捷开发方法是面向过程的而非面向人的 C.采用迭代增量式的开发过程,发行版本小型化 D.敏捷开发中强调开发过程中相关人员之间的信息交流
解析: 敏捷开发方法是以人为本的
答案:B
50.SYN Flooding攻击的原理是( )。 A.利用TCP三次握手,恶意造成大量TCP半连接,耗尽服务器资源,导致系统拒绝服务 B.操作系统在实现TCP/IP协议栈时,不能很好地处理TCP报文的序列号紊乱问题,导致系统崩溃 C.操作系统在实现TCP/IP协议栈时,不能很好地处理IP分片包的重叠情况,导致系统崩溃 D.操作系统协议栈在处理IP分片时,对于重组后超大的IP数据包不能很好地处理,导致缓存溢出而系统崩溃
解析: SYN Flooding攻击的原理是 利用TCP三次握手,恶意造成大量TCP半连接,耗尽服务器资源,导致系统拒绝服务
答案:A
51.下面关于Kerberos认证的说法中,错误的是( )。 A.Kerberos是在开放的网络中为用户提供身份认证的一种方式 B.系统中的用户要相互访问必须首先向CA申请票据 C.KDC中保存着所有用户的账号和密码 D.Kerberos使用时间戳来防止重放攻击
解析: Kerberos系统中的用户要相互访问必须首先向AS(认证服务器)申请票据 KDC(秘钥存放中心) 答案:B
52.为近似计算 X Y Z 三维空间内由三个圆柱x2+y2≤1,y2+z2≤1,x2+z2≤1相交部分V的体积,以下四种方案中,( )最容易理解,最容易编程实现。 A.在z=0平面中的圆x2+y2≤1上,近似计算二重积分 B.画出V的形状,将其分解成多个简单形状,分别计算体积后,再求和 C.将V看作多个区域的交集,利用有关并集、差集的体积计算交集体积 D.V位于某正立方体M内,利用M内均匀分布的随机点落在V中的比例进行计算
解析: 考察应用数学 假设一个正方体M的中心和V的中心重合 正方体M变长为2 正好可以让V内切于M (因为圆柱的半径是1 直径是2) 此时利用大量随机点落在M内 计算其中落在 V内的比例 x 那么V的体积就是 4x
答案:D
53.某厂生产某种电视机,销售价为每台2500元,去年的总销售量为25 000台,固定成本总额为250万元,可变成本总额为4000万元,税率为16%,则该产品年销售量的盈亏平衡点为( )台(只有在年销售量超过它时才能盈利)。 A.5000 B.10000 C.15000 D.20000
解析: 普通计算 需要了解成本的组成 本题中成本 = 固定成本 + 可变成本 25 000台可变成本总额为4000万元 每台可变成本 4000/25000 = 0.16w
设生产x台才能盈利 TODO
答案:A
54.55.给出关系R(U,F),U={A, B, C, D, E},F={A→B, D→C, BC→E,AC→B},求属性闭包的等式成立的是( )。R的候选关键字为( )。
A. AD B. AB C. AC D. BC
解析: AD能推出U
候选关键字要满足 候选关键字能推出U 且 候选关键字的真子集推不出U
答案:D、A
56.57.应用系统开发中可以采用不同的开发模型,其中,( )将整个开发流程分为目标设定、风险分析、开发和有效性验证、评审四个部分;( )则通过重用来提高软件的可靠性和易维护性,程序在进行修改时产生较少的副作用。 A.瀑布模型 B.螺旋模型 C.构件模型 D.对象模型 A.瀑布模型 B.螺旋模型 C.构件模型 D.对象模型
解析:
看到风险分析就要想到螺旋模型 看到重用就要想到构件模型
答案:B、C
58.59.自动化测试工具主要使用脚本技术来生成测试用例,其中,( )是录制手工测试的测试用例时得到的脚本;( )是将测试输入存储在独立的数据文件中,而不是在脚本中。 A.线性脚本 B.结构化脚本 C.数据驱动脚本 D.共享脚本 A.线性脚本 B.结构化脚本 C.数据驱动脚本 D.共享脚本
解析: 自动化测试工具主要使用脚本技术来生成测试用例,测试脚本不仅可以在功能测试上模拟用户的操作,比较分析,而且可以用在性能测试、负载测试上。
- 线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以完整的放。- 结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。
- 共享脚本,是指可以被多个测试用例使用的脚本,也允许其他脚本调用共享脚本可以在不同主机、不同系统之间共享,也可以在同一主机、同一系统之间共享。
- 数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。可以针对不同数据输入实现多个测试用例。
答案: A、C
60.61.经典的设计模式共有23个,这些模式可以按两个准则来分类:一是按设计模式的目的划分,可分为( )型、结构型和行为型三种模式;二是按设计模式的范围划分,可以把设计模式分为类设计模式和( )设计模式。 A.创建 B.实例 C.代理 D.协同 A.包 B.模板 C.对象 D.架构
解析: 参考设计模式:https://deepjava.blog.csdn.net/article/details/115580862 (opens new window)
按设计模式的范围划分,可以把设计模式分为类设计模式和对象设计模式
答案:A、C
62.63.某软件公司根据客户需求,组织研发出一套应用软件,并与本公司的员工签订了保密协议,但是本公司某研发人员将该软件中的算法和部分程序代码公开发表。该软件研发人员( ),该软件公司丧失了这套应用软件的( )。 A.与公司共同享有该软件的著作权,是正常行使发表权 B.与公司共同享有该软件的著作权,是正常行使信息网络传播权 C.不享有该软件的著作权,其行为涉嫌侵犯公司的专利权 D.不享有该软件的著作权,其行为涉嫌侵犯公司的软件著作权
A.计算机软件著作权 B.发表权 C.专利权 D.商业秘密
解析: 职务作品著作权属于公司所有, 软件中的算法和部分程序代码 程序代码属于侵犯著作权
公开了部分代码和算法 该软件公司丧失了这套应用软件的商业秘密
答案:D、D
64~67.考虑软件架构时,重要的是从不同的视角(perspective)来检查,这促使软件设计师考虑架构的不同属性。例如,展示功能组织的( )能判断质量特性,展示并发行为的( )能判断系统行为特性。选择的特定视角或视图也就是逻辑视图、进程视图、实现视图和( )。使用( )来记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能、性能等。 A.静态视角 B.动态视角 C.多维视角 D.功能视角 A.开发视角 B.动态视角 C.部署视角 D.功能视角 A.开发视图 B.配置视图 C.部署视图 D.物理视图 A.逻辑视图 B.物理视图 C.部署视图 D.用例视图
解析:
展示功能组织的静态视角能判断质量特性,
展示并发行为的动态视角能判断系统行为特性
因此,选择的特定视角或视图(如逻辑视图、进程视图、实现视图和配置视图)可以全方位的考虑体系结构设计。
使用逻辑视图来记录设计元素的功能和概念接口,设计元素的功能定义了它本身在系统中的角色,这些角色包括功能、性能等。
答案:A、B、B、A
68~70.在软件架构评估中,( )是影响多个质量属性的特性,是多个质量属性的( )。例如,提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个( )。 A.敏感点 B.权衡点 C.风险决策 D.无风险决策
A.敏感点 B.权衡点 C.风险决策 D.无风险决策
A.敏感点 B.权衡点 C.风险决策 D.无风险决策
解析:
敏感点是一个或多个构件(和或构件之间的关系)的特性。 研究敏感点可使设计师明确在搞清楚如何实现质量目标时应注意什么权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间影响系统性能。如果某个机密消息的处理有严格的时间延迟要求则加密级别可能就会成为一个权衡点。
答案:B、A、B
71~75 (专业英语题目 未找到资源)
持续更新中。。。
# 软考-系统架构设计师-2020年下午案例真题
考试时间 14:30 ~18:00 案例最长答题时间 14:30 ~ 16:00 (第一题必答,二~五题选两个)
试题一(25分) 某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。该系统的主要功能包括:我的编辑、语法高亮提示、代码编译、系统调试、代码仓库管理等,在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下: a)根据用户的付费情况对用户进行分类,并根据类别提供相应的开发功能; b)在正常负载情况下,系统应该在0.2s内对用户的界面操作请求进行响应; c)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测和防御; d)系统主站点断电后应在3s内将请求重定向到备用站点; e)系统支持中文昵称,但用户名必须以字母开头长度不少于8个字符; f)系统宕机后,需要在15s内发现错误,并启用备用系统; g)在正常负载情况下,用户的代码提交请求应在0.5s内完成; h)系统支持硬件设备灵活扩容,应保证在2人天内完成; i)系统需要针对代码仓库的所有操作进行详细记录,便于后期查阅与审计; j)更改系统web界面风格需要在4人天内完成; k)系统本身需要提供远程调试接口,支持开发团队进行远程排错。 在对系统需求质量属性和架构特性进行分析的基础上,该公司的系统架构师给出了两种方案,分别是管道-过滤器和仓库风格。
问题1(13分) 请问该需求应该采用哪一种风格?表1-1是对这两种风格分别从数据处理方式、系统拓展方式和处理性能三个方面进行了比较,请填写表1-1中(1) ~ (4)处的空白。
| 架构风格名称 | 数据处理方式 | 系统拓展性 | 处理性能 |
|---|---|---|---|
| 管道-过滤器 | 数据驱动机制,处理流程事先确定,交互性差 | (2) | 劣势:需数据格式转换,性能降低 优势:支持开发调用,性能提高 |
| 仓库 | (1) | 数据与处理解耦合,可动态添加或删除组件 | 劣势(3) 优势(4) |
解析: 管道-过滤器体系结构风格 当数据源源不断地产生,系统就需要对这些数据进行若干处理(分析、计算、转换等)。解决方案是把系统分解为几个序贯的处理步骤,步 骤之间通过数据流连接,一个步骤的输出是另一个步骤的输入。每个处理步骤由一个过滤器(Fiter)实现,处理步骤间的数据传输由管道(Pipe)负责。每个处理步骤(过滤器)都有一组输入和输出,过滤器从管道中读取输入的数据流,经过内部处理,然后产生输出数据流并写入管道中。管道-过滤器风格的基本构件是过滤器。典型的管道/过滤器体系结构的例子: ①UNIX Shell编写的程序 ②传统的编译器 管道-过滤器体系结构风格流程比较固定、交互性差、支持流程重用、扩展性较好
仓库体系结构风格 仓库(Repository)是存储和维护数据的中心场所。在仓库风格中,有两种不同的构件: 中央数据结构(仓库),说明当前数据的状态。 独立构件,它对中央数据进行操作。
黑板体系结构风格 黑板体系结构风格适用于解决复杂的非结构化的问题,能在求解过程中综合运用多种不同知识源,使得问题的表达、组织和求解变得比较容易。黑板系统是一种问题求解模型,是组织推理步骤、控制状态数据和问题求解之领域知识的概念框架。 黑板系统的传统应用是信号处理领域,如语音和模式识别。另一应用是松耦合代理数据共享存取。
黑板系统主要由三部分组成: (1)知识源。知识源中包含独立的、与应用程序相关的知识,知识源之间不直接进行通讯,它们之间的交互只能通过黑板来完成。 (2)黑板数据结构。黑板数据是按照与应用程序相关的层次来组织的解决问题的数据,知识源通过不断地改变黑板数据来解决问题。 (3)控制。控制完全由黑板的状态驱动,黑板状态的改变决定使用的特定知识。
仓库体系结构风格以模型驱动,流程不确定,交互性强,知识源不互通无法直接通信,必须通过黑板来通信, 通过黑板处理任务协作更容易
答案: 应该采用仓库风格。
(1)模型驱动,处理流程事先不确定,交互性强 (2)数据与处理紧耦合,以接口适配方式实现扩展 (3)知识源之间不直接通讯,它们之间的交互只能通过黑板完成,性能较低 (4)更容易处理任务间的协作,系统更加灵活、性能好。
问题2(12分) 请分析题干中的需求描述,填写图1-2中(1)~ (6)处的空白。
解析:
(1) 包含 (c)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测和防御; 所以(1) 安全性
(2) 包含 (h)系统支持硬件设备灵活扩容,应保证在2人天内完成; 所以(2) 可修改性
(3) (g)在正常负载情况下,用户的代码提交请求应在0.5s内完成; 属于性能
(4) (i)系统需要针对代码仓库的所有操作进行详细记录,便于后期查阅与审计; 属于安全性
(5) (f)系统宕机后,需要在15s内发现错误,并启用备用系统; 属于可用性
(6) ( j)更改系统web界面风格需要在4人天内完成; 属于可修改性
答案: (1)安全性 (2)可修改性 (3) g (4) i (5) f (6) j
试题二(25分) 某企业委托软件公司开发一套包裹信息管理系统,以便对该企业通过快递收发的包裹信息进行统一管理,在系统设计阶段,需要对不同快递信息的包裹单信息进行建模,其中邮政包裹单如图2-1。 
问题1(13分) 请说明关型数据库开发中,逻辑数据模型设计过程包含哪些任务? 根据图2-1包裹详情单应该设计出哪些关系模式的名称,并指出每个关系模式的主键属性。
解析: 见答案
答案: 逻辑结构设计阶段的主要任务包括: 1.确定数据模型 2.将E-R图转换为指定的数据模型 3.确定完整性约束 4.确定用户视图。
设计的关系模式有: 收件人信息。主键:电话号码 寄件人信息。主键:电话号码(或身份证号) 包裹单信息。主键:包裹单编号 快递员信息。主键:员工编号 邮局站点信息。主键:邮局编号
问题2(6分) 请说明什么是超类实体?结合图中包裹单信息试设计一种超类实体,给出完整的属性列表。 解析: 超类实体 就是面上对象设计过程中 将许多类共有的属性抽取出来 得到一个超类,其他类继承这个超类共享超类的属性和方法等信息
答案: 将一些子实体所共有的属性抽象为一个单独的新实体,这个新的实体就是超类实体。
设计“人员信息”的超类:人员信息(姓名,电话,单位名称,详细地址,邮政编码)。
问题3(6分) 请说明什么是派生属性?结合图中包裹单信息说明哪个属性是派生属性。 可以根据其它属性计算得出的属性就叫派生属性。如快递包裹费用中的“总计”属性可以由其他价格累加计算得出,“总计”属性就是派生属性。
试题三(25分) 未找到资源
试题四(25分) 互联网公司因业务发展要建立网上平台,为用户提供一个对网络文化产品(小说,电影等)进行评论交流的平台,该平台的部分功能如下: (a)用户帖子的评论计数器 (b)支持粉丝列表功能 (c)支持标签管理 (d)支持共同好友功能 (e)提供排名功能 (f)用户信息的结构化存储 (g)提供好友信息的发布/订阅功能
该系统在性能上需要考虑高性能、并发,以支持大量的用户同时访问,经过考虑在数据管理上,决定采用Redis+数据库的解决方案。
问题1
Redis支持丰富的类型,请选择题干描述的(a)~(g)功能选项。填入表4-1中(1)~(5)空白处。 
解析: string是redis最基本的类型,-个key对应一个value。string类型进行数据存储的时候主要有get,set,ng(加一递增)decr(减一递减)等操作。incr等指令本身具有原子操作,所以可以利用redis的incr,incrby,decr,decrby来实现原子计数操作或者生成业务编号或者流水号。 所以 (1) -> (a)
redis的list底层是链表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边),或者从头部或尾部弹出数据,可以使用redis的列表实现消息队列的功能。 所以 (2) -> (b)、(g) 其中(g)提供好友信息的发布/订阅功能 可以使用到消息队列
reids的set,是一种无序的集合,集合中的元素没有先后顺序,但集合中的成员是唯一的,集合中相关的操作有添加元素,删除已有元素,取交集,取并集,取差集。 所以 (3) -> (c)、(d)
reids的hash 是一个键值(key=>value)对集合,存的是字符串和字符串之间的映射值,比如存储结构化对象数据,例如key存人员id value存人员的结构化信息 所以 (4)-> (f)
redis的Zset是有序集合,zset和set-样也是string类型元素的集合,不同的是每个元素都会关联一个double类型的分数。redis可以通过分数来为集合中的成员进行从小到大的排序。由于zset根据分数进行排序,因此一些类似于排行榜的应用就很适合用它来存储。
所以 (5)-> (e)
答案: (1)a (2)b、g (3) c、 d (4)f (5)e
问题2 缓存中存储当前的热点数据Redis为每个key值都设置了过期时间,以提高缓存命中率,为了消除非热点数据,Redis选择了定期删除加惰性删除策略。如果该策略失效Redis内存使用率会越来越高,一般采用内存淘汰机制来解决。 请用100字以内的文字,简要描述该策略的失效场景,并给出三种内存淘汰机制。
解析: 惰性删除:只会在取出 key 的时候才对数据进行过期检查。这样对 CPU 最友好,但是可能会造成太多过期 key 没有被删除。 定期删除:每隔一段时间抽取一批 key 执行删除过期 key 操作。并且,Redis 底层会通过限制删除操作执行的时长和频率来减少删除操作对 CPU 时间的影响。定期删除对内存更加友好,惰性删除对 CPU 更加友好。 两者各有千秋,所以 Redis 采用的是 定期删除+惰性/懒汉式删除 。但是,仅仅通过给 key 设置过期时间还是有问题的。因为还是可能存在定期删除和惰性删除漏掉了很多过期 key 的情况。这样就导致大量过期 key 堆积在内存里,然后就 可能导致内存占用过高甚至OOM
redis 提供 6 种数据淘汰策略: volatile-lru(least recently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰。 volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰。 volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰。 allkeys-lru(least recently used):当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的 key(这个是最常用的)。 allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰。 no-eviction:禁止驱逐数据,也就是说当内存不足以容纳新写入数据时,新写入操作会报错。
4.0 版本后增加以下两种: volatile-lfu(least frequently used):从已设置过期时间的数据集(server.db[i].expires)中挑选最不经常使用的数据淘汰。 allkeys-lfu(least frequently used):当内存不足以容纳新写入数据时,在键空间中,移除最不经常使用的 key。
答案: 由于redis定期删除是周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度,不可能扫描清除掉所有过期的key并删除,而惰性策略就是在客户端访问这个key的时候,对过期时间进行检查,如果过期了就立即删除。如果一些key定期删除没有抽取到,惰性删除也未触发,这样redis的内存占用会越来越高,此时就需要内存淘汰机制。
(1)volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰。 (2)volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰。 (3)volatile-random:从已设置过期时间的数据集中任意选择数据淘汰。
试题五(25分) 开发基于Web的工业设备检测系统,以实现对多种工业数据的分类采集、运行状态检测以及相关信息的管理,该系统应具备以下功能:
- 现场设备状态采集功能:根据数据类型,对设备检测指标状态信号进行分类采集;
- 设备采集数据传输功能: 采用可靠的传输技术,实现将设备数据从制造现场传输到系统后台设备检测;
- 显示功能:对设备的运行状态以及报警状态进行检测并提供相应的图形化界面;
- 设备信息管理功能:支持设备运行历史状态、报警记录、参数信息的查询。 同时,该系统还需满足以下非功能性需求: (a)系统应支持大于100个工业设备的运行检测; (b)设备数据从制造现场传输到系统后台传输时间小于1s; (c)系统应7*24小时工作; (d)可抵御XSS攻击; (e)系统在故障情况下,应在0.5小时内恢复; (f)支持数据审计;
面对系统需求,公司召开项目讨论会制定系统设计方案,最终决定使用三层拓扑结构,即现场设备数据采集层、Web检测服务层和前端Web显示层。
问题1
请按照性能、安全性和可用性三种非功能需求分类将题干的(a) ~(f)填入(1) ~(3)。 
解析: 性能: (a)系统应支持大于100个工业设备的运行检测 (b)设备数据从制造现场传输到系统后台传输时间小于1s
安全性: (d)可抵御XSS攻击 (f)支持数据审计;
可用性: (c)系统应7*24小时工作 (e)系统在故障情况下,应在0.5小时内恢复
答案: (1) a b (2) d f (3) c e
问题2 该系统Web检测服务层拟采用SSM框架进行系统研发,SSM工作流程图如图所示,请从下面给出的(a) ~ (k)中选择,补充完善图5-1中(1) ~(7)处空白内容:
(a) Connection pool
(b) Struts2
(c ) Persistent Layer
(d) Mybatis
(e) HTTP
(f) MVC
(g) Kafka
(h) ViewLayer
(i) Jsp
(j) Controller Layer
(k) Spring 
解析:
SSM框架 指的是 Spring,SpringMVC,Mybatis
(1) 下面是数据库 所以(1)是 数据库连接池 (a) Connection pool (2)结合(2) 上面的 BusinessLogicLayer (2)在逻辑层下面 所以是持久层 (c ) Persistent Layer (3) 与数据库交互 所以是 (d) Mybatis (4) 业务逻辑层 所以是 (k) Spring (5) 位于 业务逻辑层之上 所以是 控制层 (j) Controller Layer (6) 位于最上层 所以是 视图表示层 (h) ViewLayer (7) 下面是jsp引擎 所以(7)是(i) Jsp
答案: (1) a (2) c (3) d (4) k (5) j (6) h (7) i
问题3 该工业设备检测系统拟采用工业控制领域中统一的数据访问机制,实现与各种不同设备的数据交互,请用100以内的文字说明采用标准的数据访问机制的原因。
解析: 见答案
答案: 采用标准的数据访问机制,可以屏蔽不同设备之间数据交互的差异,解决系统使用数据不一致性,在一定程度上降低了数据结构与应用系统的耦合度,减少了应用系统的维护工作量。
# 软考-系统架构设计师-2020年下午论文真题
(注: 所有论文仅供参考)
论文答题技巧 考试时间 14:30 ~18:00 论文建议答题时间 16:00 ~ 18:00
字数一定要够 大概要写2500字左右。2024年开始 是机考了,也就是打字。
解答应分摘要和正文两部分 要注意下面两点: ① 摘要字数应控制在400字以内,可以分条叙述。 ② 正文字数为2000到3000 字,可以部分内容分条叙述,但不要全部内容都用分条叙述的方式。
系统架构设计师的论文考试给出四个题目,要求四选一。最好是选择自己最擅长的题目。
建议先 列出提纲5-10分钟,字数100-200字 主要是 为后面写大量文字理清思路。
下面都是论文的内容了:
写摘要15-20分钟,300-400字 (摘要是对整个论文内容的精炼总结 非常重要)
写正文80分钟,2000字以上
(写正文的模板大致分为3个阶段 ①、系统(项目)介绍。这部分主要介绍系统背景、系统总体结构主要特点、自己担任的角色、主要工作等。这部分内容有400字左右,建议这部分内容在考前就准备好。因为稍微改改就能用在任何一篇上。 ②、论述部分。这部分内容是核心内容,涉及到对论点进行展开和论述,大概1300字左右。一般是采用结构化的方式分几点进行论述,可以首先简要介绍下考题提到的技术或问题,然后按照要求去展开论述。注意不要全部都按点论述。 ③、总结部分主要根据上述正文部分中,对系统(项目)实现过程中的开展情况进行汇总和分析,包括项目实施过程中成功的方面、可以改进的方面、失败的方面等。这部分300字。 主要写成功的方面和总结,不建议写失败的方面,可以稍微提一下不足点和可改进点即可。)
对论文进行检查与修改10分钟 (通读一遍 修改错别字和语句不通畅的地方)
从下列的4道试题(试题一至试题四) 中任选1道解答。
2020年的论文题目没找到资源