【2025软考高级架构师】——2022年11月份真题与解析
摘要
本文为2025年软考高级架构师的备考资料,汇总了2022年11月份的真题与解析。内容涵盖云计算服务体系结构、前趋图、磁盘调度、数据库系统、事务处理、函数依赖、关系代数、操作系统、GPU、AI芯片、中间件、协议、信息安全、数据管理、软件开发模型、CMMI、信息建模、软件开发方法、UML、领域驱动设计、微服务架构、构件、软件测试、遗留系统评估、软件体系结构建模、软件架构复用、DSSA、软件系统质量属性、架构评估、系统可靠性分析、软件系统安全性分析、架构评估场景、5G网络、wifi认证、软件著作权、随机数计算、项目成本计算等多个知识点,旨在帮助考生全面复习,掌握考试重点。
1. 云计算服务体系结构如下图所示,图中①、②、③分别与 SaaS PaaS Iaas相对应,图中①、②、③应为(1)
A.应用层、基础设施层、平台层
B.应用层、平台层、基础设施层
C.平合层、应用层、基础设施层
D.平台层、基础设施层、应用层
答案解析
- PaaS(Platform as a Service),平台即服务;
- SaaS(Software as a Service),软件(应用)即服务;
- IaaS(Infrastructure as a Service),基础设施即服务;
2. 前趋图(PrecedcnceGraph)是一个有向无环图,记为:→={(Pi,Pj)}|Pi must complete before p2 may start},假设系统中进程P={P1,P2,P3,P4,P5,P6,P7,P8},且进程的前趋图如下图所示。那么,该前那图可记为(2)
A. →={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P7),(P5,P6),(P5,P7),(P7,P6),(P4,P5),(P6,P7),(P7,P8)}
B. →={(P1,P2),(P1,P3),(P1,P4),(P2,P3),(P2,P5),(P3,P4),(P3,P6),(P4,P7),(P5,P6),(P5,P8),(P6,P7),(P7,P8)}
C. →={(P1,P2),(P1,P3),(P1,P4),(P2,P3),(P2,P5),(P3,P4),(P3,P5),(P4,P6),(P5,P7),(P5,P8),(P6,P7),(P7,P8)}
D. →={(P1,P2),(P1,P3),(P2,P3),(P2,P5),(P3,P4),(P3,P6),(P4,P7),(P5,P6),(P5,P8),(P6,P7),(P6,P8),(P7,P8)}
回答正确正确答案:B
解析:按数字先小后大原则找出箭头表示的12对逻辑关系:{(P1,P2),(P1,P3),(P1,P4),(P2,P3),(P2,P5),(P3,P4),(P3,P6),(P4,P7),(P5,P6),(P5,P8),(P6,P7),(P7,P8)},经核对只有B为正确选项。A、C选项均有(P3,P5),而图中无此逻辑,显然不对,排除;D选项缺(P1,P1),排除。
3. 若系统正在将(A)文件修改的结果写回磁盘时系统发生掉电、则对系统影响相对较大。
A.系统目录
B.空闲块
C.用户程序
D.用户数据
答案解析:一般情况下,系统不会去回写用户程序、用户数据,即便系写了这两部分也不会对系统本身造成较大的影响。只有系统对系统本身的目录或关键文件回写异常,才有可能导致较大的影响,严重的会导致系统崩溃。举个例子,inux系统下root账号回写/etc/resolv.conf异常时,可能会导致系统DNS服务异常。
4. 在磁盘调度管理中,应先进行移臂调度,再进行旋转调度。假设磁盘移动臂位于20号柱面上,进程的请求序列如下表所示。如果采用最短移臂调度算法,那么系统的单应序列应为(4)
答案解析:移臂就是找柱面,旋转则找扇区,它们均按找最近原则调度。首先,根据题干,距离当前移臂位置20号柱面最近的显然是21号柱面,对应的请求序列为回排除:、B选项;其次,对于16号柱面,序列@©©访问扇区3、4、6的路基最优;因此只有C选项才符合。考虑的柱面》考虑扇区》在考虑磁头。
5. 采用三级模式结构的数据库系统中,如果对一个表创建聚索引,那么改变的是数据库的(5)
A.外模式
B.模式
C.内模式
D.用户模式
解析:内模式定义的是存储记录的类型、存储域的表示、存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。
6. 假设系统中有正在运行的事务,若要转储全部数据库,则应采用(6)方式.
A.静态全局转储
B.动态增量转储
C.静态增量转储
D.动态全局转储
解析:动态备份是指备份期间允许对数据库进行存取或修改,即备份和用户事务可以并发执行
选项 | 关键词 | 是否能在事务运行中使用 | 是否全量 |
A. 静态全局转储 | 静态 + 全量 | ❌ 需要停止所有事务 | ✅ 全库 |
B. 动态增量转储 | 动态 + 增量 | ✅ 可在运行中进行 | ❌ 只备份变化部分 |
C. 静态增量转储 | 静态 + 增量 | ❌ 需暂停事务 | ❌ 不是全量 |
✅ D. 动态全局转储 | 动态 + 全量 | ✅ 支持事务运行 | ✅ 全库备份 |
7. 给定关系模式R(U,F),其中U为属性集,F是U上的一组函数依赖,那么函数依赖的公理系统(Armstrong公理系统)中的分解规则是指(C)为F所蕴涵
A.若X-》Y,-》z,则X-》Y
B.若Y-》X-》U.则X-》Y
C.若X→Y,Z-》Y,则X→Z
D.若X→Y,Y→Z,则X→YZ
Armstrong公理系统设关系模式RU,F,其中U为属性集,F是U上的一组函数依赖,那么有如下推理规则:
⊙A1自反律:若YCXCU,则X→Y为F所蕴含;
@A2增广律:若X→Y为F所蕴含,且ZcU,则XZ→YZ为F所蕴含;
®A3传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。
根据上面三条推理规则,又可推出下面三条推理规则:
@合并规则:若X→Y,X→Z,则X→YZ为F所蕴含;
⑤伪传递规则:若X→Y,WY→Z,则XW→Z为F所蕴含;
⑥分解规则:若X→Y,ZcY,则X→Z为F所蕴含。
8. 给定关系R(A,B,C,D)和S(A,C,E,F),以下(8)与
等价,
A.
B.
C.
D.
9. 以下关于鸿蒙操作系统的叙述中,不正确的是(9).
A.鸿蒙操作系统整体架构采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层
B.鸿蒙操作系统内核层采用宏内核设计,拥有更强的安全特性和低时延特点
C.鸿蒙操作系统架构采用了分布式设计理念,实现了分布式软总线、分布式设系统的虚拟化、分布式数据管理和分布式任务调度等四种分布式能力
D.架构的系统安全性主要体现在搭载 HarmonyOS 的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”
解析:HarmonyOS是基于微内核的全场景分布式OS。
10. GPU目前已广泛应用于各行各业,GPU中集成了同时运行在GHz的频率上的成干上万个core,可以高速处理图像数据。最新的GPU峰值性能可高达(10)以上。
A.100 TFlops
B.50 TFlops
C.10 TFlops
D.1 TFlops
答案解析:最新的英伟达 GeForce RTX 4090 GPU达到100 TFLOPs 的算力。
11. AI芯片是当前人工智能技术发展的核心技术,其能力要支持训练和推理。通常,AI芯片的技术架构包括(11)等三种。
A.GPU、FPGA、ASIC
B.CPU、PPGA、DSP
C.GPU、CPU、ASIC
D.GPU、FPGA、SOC
答案解析:常用的AI芯片的技术架构包括 GPU, FPGA, ASIC和TPU
12. 通常,嵌入式中间件没有统一的架构风格,根据应用对象的不同可存在多种类型,比较常见的是消息中间件和分布式对象中间件。以下有关消息中间件的描述中,不正确的是(C)。
A.消息中间件是消息传输过程中保存消息的一种容器
B消息中间件具有两个基本特点:采用异步处理模式、应用程序和应用程序调用关系为松耦合关系
C.消息中间件主要由一组对象来提供系统服务,对象间能够跨平台通信
D.消息中间件的消息传递服务模型有点对点模型和发布-订阅模型之分。
正确答案是:✅ C. 消息中间件主要由一组对象来提供系统服务,对象间能够跨平台通信
为什么选 C 是不正确的?
- 这实际上描述的是“分布式对象中间件”,如 CORBA、Java RMI、DCOM 等。分布式对象中间件的特点是:通过“对象”的方式封装服务,支持远程方法调用(RPC),强调对象之间的调用关系。而不是消息驱动的模型。
- A. 正确:消息中间件如 RabbitMQ、ActiveMQ、Kafka 等,确实作为“消息传输容器”,暂存消息以便消费者异步处理。
- B. 正确,异步处理 + 松耦合是消息中间件最关键的两个特征。
- D. 正确,消息中间件支持两种主要的消息模型:点对点(P2P),发布-订阅(Pub/Sub)
13. 以下关于 HTTPS 和 HTTP协议的描述中,不正确的是(13)
A.HTTPS协议使用加密传输
B.HTTPS协议默认服务端口号是443
C.HTTP协议默认服务端口是80
D.电子支付类网站应使用 HTTP协议
解析:HTTP协议是一种使用明文数据传输的网络协议,缺省端口80。HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密,缺省端口443。
14. 电子邮件客户端通过发起对(1)服务器的(2)端口的 TCP 连接来进行邮件发送。
A.POP3
B.SMTP
C.HTTP
D.IMAP
A.23
B.25
C.110
D.143
- POP3,邮件接收协议,缺省端口110
- SMTP,邮件发送协议,缺省端口25
- HTTP,超文本传输协议,缺省端口80
- IMAP,交互式邮件存取协议,缺省端口143
系统(1)是指在规定的时间内和规定条件下能有效地实现规定功能的能力。它不仅取决于规定的使用条件等因素,还与设计技术有关。常用的度量指标主要有故障率(或失效率)、平均失效等待时间、平均失效间隔时间和可靠度等。其中,(2)是系统在规定工作时间内无故障的概率。
A.可靠性B.可用性C.可理解性D.可测试性
A.失效率B.平均失效等待时间C.平均失效间隔时间 D.可靠度
答案解析:可靠性(Reliability)是指产品在规定的条件下和规定的时间内完成规定功能的能力。常用的度量指标主要有故障率(或失效率)、平均失效等待时间、平均失效间隔时间和可靠度等。可靠度就是软件系统在规定的条件下、规定的时间内不发生失效的概率。
15. 数据资产的特征包括(18)
①可增值②可测试③可共享④可维护⑤可控制⑥可量化
A.①②③④
B.①②③⑤
C.①②④⑤
D.①③⑤⑥
答案解析:数据资产的特性包括:可控制,可量化,可变现、虚拟性、共享性、时效性、安全性、交换性和规模性。数据资产不可以被量化
特征 | 说明 |
1. 可共享性 | 数据可以在多个部门、系统之间共享使用,不会因使用而“消耗” |
2. 可复制性 | 数据可以被快速复制与传播,边际成本低 |
3. 可再利用性 | 数据一次采集,多次使用;同一份数据在不同场景中可多次产生价值 |
4. 难以估值性 | 数据的价值往往依赖于使用场景和处理能力,难以用固定公式估算 |
5. 时效性 | 数据的价值随时间变化,一些数据具有“保鲜期”(如实时交易数据) |
6. 敏感性与安全性 | 数据可能涉及隐私、商业机密,需严格权限控制和加密保护 |
7. 非消耗性 | 与传统资产不同,数据被使用后不会减少或损耗 |
8. 高潜在价值 | 经过分析挖掘后,数据可以产生重大商业价值,如驱动决策、优化流程等 |
16. 数据管理能力成熟度评估模型(DCMM)是我国首个数据管理领域的国家标准,DCMM提出了符合我国企业的数据管理框架,该框架将组织数据管理能力划分为8个能力域,分别为:数据战略、数据治理、数据架构、数据标准,数据质量、数据安全、(19)。
A.数据应用和数据生存周期
B.数据应用和数据测试
C.数据维护和数据生存周期
D.数据维护和数据测试
答案解析:DCMM评估内容包括数据战略、数据治理、数据架构、数据应用、数据安全、数据质量、数据标准和数据生存周期。
能力域 | 主要内容说明 |
1. 数据战略 | 明确数据在组织发展中的战略定位、管理目标、资源投入和组织保障 |
2. 数据治理 | 包括制度建设、组织体系、角色权限、管理制度等,是统筹数据管理的核心机制 |
3. 数据架构 | 建设企业级数据架构,包括数据模型、数据分类分级、数据目录等 |
4. 数据标准 | 制定和应用统一的数据命名、格式、编码等标准,提升数据一致性和可复用性 |
5. 数据质量 | 包括数据准确性、完整性、一致性、及时性等,确保数据“可用、可信” |
6. 数据安全 | 涉及数据的安全策略、加密机制、访问控制、审计日志等,保障数据不泄漏、不被篡改 |
7. 数据应用 | 强调数据价值的释放,包括数据分析、挖掘、共享、服务等方面的能力 |
8. 数据生命周期管理 | 数据从创建、使用、归档到销毁的全生命周期规范管理,包括元数据和变更管理等 |
17. 完整的信息安全系统至少包含三类措施,即技术方面的安全措施、管理方面的安全措施和相应的(1)。其中,信息安全的技术措施主要有:信息加密、数字签名、身份鉴别、访问控制、网络控制技术、反病毒技术、(2)。
A.用户需求
B.政策法律
C.市场需求
D.领域需求
答案解析:系统包括三类措施:技术方面的安全措施、管理方面的安全措施和政策法律方面的安全措施。技术措施包括信息加密、数字签名、身份鉴别、访问控制、网络控制技术、反病毒技术、数据备份和灾难恢复等方面。安全管理方面应设立专门机构和人员,逐步完善管理制度和提供安全技术设施。信息安全管理主要涉及人事管理、设备管理、场地管理、存储媒体管理、软件管理、网络管理、密码和密钥管理等方面。
18. 完整的信息安全系统至少包含三类措施,即技术方面的安全措施、管理方面的安全措施和相应的(1)。其中,信息安全的技术措施主要有:信息加密、数字签名、身份鉴别、访问控制、网络控制技术、反病毒技术、(2)。
A.数据备份和数据测试
B.数据迁移和数据备份
C.数据备份和灾难恢复
D.数据迁移和数据测试
答案解析:系统包括三类措施:技术方面的安全措施、管理方面的安全措施和政策法律方面的安全措施。
- 技术措施包括信息加密、数字签名、身份鉴别、访问控制、网络控制技术、反病毒技术、数据备份和灾难恢复方面。
- 安全管理方面应设立专门机构和人员,逐步完善管理制度和提供安全技术设施。
- 信息安全管理主要涉及人事管理、设备管理、场地管理、存储媒体管理、软件管理、网络管理、密码密钥管理方面。
类型 | 说明 | 示例 |
1. 技术措施 | 利用技术手段保护信息系统的安全性 | 防火墙、入侵检测系统(IDS)、加密技术、访问控制、VPN、防病毒软件 |
2. 管理措施 | 通过制度、流程、人员管理等方式提升安全性 | 安全策略制定、权限管理流程、安全培训、审计制度、等级保护制度 |
3. 物理措施 | 保护物理环境中设备和信息载体的安全 | 门禁系统、视频监控、防静电、防火防盗、防雷、防水等环境控制 |
19. 与瀑布模型相比,(22)降低了实现需求变更的成本,更容易得到客户对于已完成开发工作的反馈意见,并且客户可以更早地使用软件并从中获得价值。
A.快速原型模型
B.敏捷开发
C.增量式开发
D.智能模型
答案解析:
增量式开发相比于瀑布模型的一些重要优点:
- 降低了适应用户需求变更的成本。重新分析和修改文档的工作量较之瀑布模型要少很多。
- 在开发过程中更容易得到用户对于已做的开发工作的反馈意见。用户可以评价软件的现实版本,并可以看到已经实现了多少。这比让用户从软件设计文档中判断工程进度要好很多。
- 使更快地交付和部署有用的软件到客户方变成了可能,虽然不是所有的功能都已经包含在内。相比于瀑布模型,用户可以更早地使用软件并创造商业价值。
20. CMMI是软件企业进行多方面能力评价的、集成的成熟度模型,软件企业在实施过程中,为了达到本地化,应组织体系编写组,建立基于CMMI的软件质量管理体系文件,体系文件的层次结构一般分为四层,包括:①顶层方针②模板类文件③过程文件④规程文件按照自顶向下的塔型排列,以下顺序正确的是(D)。
A.①④③②
B.①④②③
C.①②③④
D.①③④②
解析:软件过程构架结构由四个层次组成:方针、过程、规程和第四层的标准、规范、指南、模板、Checklist等组成。
- 方针为第一层文件,它是组织标准软件的高层次的抽象描述,它反映在公司的过程改进总体方针、政策中,由公司主管副总裁批准执行。
- 过程为第二层文件,主要规定在项目开发中执行该过程时应当执行的各项活动及适用标准。过程定义文件及其相关文件制定必须符合方针的要求。
- 规程为第三层文件,是对过程某些复杂活动的具体描述。
- 标准、规范、指南、模板、Checklist、范例库等是对上级过程或规程提供细致的步骤、活动及说明的支持性文档,第四层的文件从属于上级过程。
21. 信息建模方法是从数据的角度对现实世界建立模型,模型是现实系统的一个抽象,信息建模方法的基本工具是(24)。
A.流程图
B.实体联系图
C.数据流图
D.数据字典
解析:
- 业务流程图(TFD)是分析和描述现有系统的传统工具,是业务流程调查结果的图形化表示。
- 实体联系图(E-R图)它是描述概念世界,建立概念模型的实用工具。
- 数据流图(DFD)是表达系统内数据的流动并通过数据流描述系统功能的一种方法。
- 数据字典(DD)是在DFD的基础上,对DFD中出现的所有命名元素都加以定义,使得每个图形元素的名字都有一个确切的解释。
22. (C)通常为一个迭代过程,其中的活动包括需求发现、需求分类和组织、需求协商、需求文档化。
A.需求确认
B.需求管理
C.需求抽取(就是需求开发过程)
D.需求规格说明
解析:需求抽取和分析的过程。1. 发现需求 2.需求分类和组织 3.需求优先级划分和协商 4. 需求规格说明。
需求管理过程
过程活动 | 说明 |
需求变更控制 | 规范如何提出、评审、批准和实施需求变更,防止随意修改需求 |
需求跟踪 | 保持需求与设计、实现、测试等各阶段产物之间的可追踪性,确保每个需求都被实现和验证 |
版本管理 | 管理需求文档及相关材料的版本,保证团队成员使用的是最新的需求版本 |
需求状态管理 | 监控需求的状态,如“提出”、“评审中”、“已批准”、“实现中”、“已完成”等 |
冲突解决 | 处理不同利益相关者之间的需求冲突,达成一致 |
需求沟通协调 | 保证需求相关人员之间的信息畅通,及时传达需求变更及其影响 |
需求验证 | 确认需求在变更后仍满足业务目标,避免偏离需求初衷 |
需求确认过程的主要活动
活动 | 说明 |
需求审查(Review) | 组织相关人员(客户、开发人员、测试人员等)对需求文档逐条进行审核,找出错误、不完整或模糊的需求 |
需求验证(Verification) | 检查需求是否满足质量标准,如清晰性、一致性、可测试性、可实现性 |
需求确认会议 | 与客户及利益相关者举行会议,确认需求是否符合业务目标及期望 |
需求原型演示 | 通过原型设计、模型展示帮助用户理解需求,促进确认 |
需求测试用例设计 | 提前设计需求对应的测试用例,确保需求可测且可验证 |
需求签署 | 利益相关者正式签署需求文档,达成共识,作为后续开发依据 |
23. 使用模型驱动的软件开发方法,软件系统被表示为一组可以被自动转换为可执行代码的模型。其中,(26)在不涉及实现的情况下对软件系统进行建模。
A.平台无关模型B.计算无关模型C.平台相关模型D.实现相关模型
24. 在分布式系统中,中间件通常提供两种不同类型的支持,即(B)
A.数据支持和交互支持
B.交互支持和提供公共服务(应用+通信)
C.数据支持和提供公共服务
D.安全支持和提供公共服务
解析:中间件是独立的系统级软件,连接操作系统层和应用程序层,将不同操作系统提供应用的接口标准化,协议统一化,屏蔽具体操作的细节,中间件一般提供如下功能:
- 通信支持。中间件为其所支持的应用软件提供平台化的运行环境,该环境屏蔽底层通信之间的接口差异,实现互操作,所以通信支持是中间件一个最基本的功能。
- 应用支持。中间件的目的就是服务上层应用,提供应用层不同服务之间的互操作机制。
- 公共服务。公共服务是对应用软件中共性功能或约束的提取。将这些共性的功能或者约束分类实现,并支持复用,作为公共服务,提供给应用程序使用。
25. 工作流表示的是业务过程模型,通常使用图形形式来描述,以下不可用来描述工作流的是(C)
A.活动图
B.BPMN
C.用例图
D.Petri-Net
解析:活动图可以用于描述系统的工作流程和并发行为,活动图其实可看作状态图的特殊形式,活动图中一个活动结束后将立即进入下一个活动。BPMN(Business Process Modeling Notation)指业务流程建模与标注,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。Petri-Net是所有流程定义语言之母。
活动图(Activity Diagram)
- 作用:用于描述系统或业务流程中的控制流和数据流,展现活动的执行顺序。
- 用途:表示流程中的各种活动(操作、决策、并行等),适合描述业务流程、工作流或算法逻辑。
- 特点:直观、强调顺序、条件、分支和并行。
BPMN(Business Process Model and Notation)
- 作用:专门用于业务流程建模的标准图形语言,帮助业务人员和技术人员描述、分析和改进业务流程。
- 用途:描述业务流程的活动、事件、网关、参与者及其交互,支持复杂流程建模。
- 特点:标准化程度高,语义丰富,适合企业级业务流程管理(BPM)。
用例图(Use Case Diagram)
- 作用:描述系统功能需求,表现系统与外部参与者(用户、外部系统)之间的交互关系。
- 用途:展示系统的用例(功能)以及各用例与参与者之间的关系,帮助需求分析和范围界定。
- 特点:结构简单,侧重功能视角,不涉及流程细节。
Petri-Net(Petri网)
- 作用:用于建模和分析并发、同步、资源竞争等复杂系统的数学模型。
- 用途:描述系统状态变化、事件触发、并发行为,常用于系统性能分析和验证。
- 特点:数学基础扎实,适合形式化验证,但可读性较低。
26. (29)的常见功能包括版本控制、变更管理、配置状态管理、访问控制和安全控制等。
A.软件测试工具B.版本控制工具C.软件维护工具D.软件配置管理工具
27. 与 UML 1.x 不同,为了更清楚地表达 UML 的结构, 从 UML 2 开始,整个 UML 规范被划分为基础结构和上层结构两个相对独立的部分,基础结构是 UML 的(30),它定义了构造 UML模型的各种基本元素:而上层结构则定义了面向建模用户的各种UML 模型的语法、语义和表示。
A.元元素
B.模型
C.元模型
D.元元模型
答案解析:OMG在发布2.0修订信息需求之后,广泛听取了来自建模工具提供商、用户、学术团体、咨询机构以及其他标准化组织的26个响应者的建议,并于2000年年初发布了UML 2.0的4个组成部分的提案需求(RFP),分别是:基础结构(Infrastructure)、上层结构(Superstructure)、对象约束语言(OCL)和图交换(Diagram Interchange)的需求。其中基础结构和上层结构构成了UML 2.0提案需求的主体部分。
UML 2.0基础结构的设计目标是:定义一个元语言的核心InfrastructureLibrary,通过对此核心的复用,除了可以定义一个自展的UML元模型,也可以定义其他元模型,包括MOF和CWM(Common Warehouse Model,公共仓库模型)。
UML 2.0上层结构的设计目标是:严格地复用基础结构InfrastructureLibrary包中的构造物;提高对基于构件开发和MDA(Model Driven Architecture,模型驱动体系结构)的支持;优化构架规约的能力;增强行为图的可伸缩性、精确性、集成性等。
28. 领域驱动设计提出围绕(31)进行软件设计和开发,该模型是由开发人员与领域专家协作构建出的一个反映深层次领域知识的模型。
A.行为模型B.领域模型C.专家模型D.知识库模型
答案解析:2004年Eric Evans 发表Domain-Driven Design –Tackling Complexity in the Heart of Software (领域驱动设计),简称Evans DDD。领域驱动设计分为两个阶段:
- 以一种领域专家、设计人员、开发人员都能理解的通用语言作为相互交流的工具,在交流的过程中发现领域概念,然后将这些概念设计成一个领域模型;
- 由领域模型驱动软件设计,用代码来实现该领域模型;
由此可见,领域驱动设计的核心是建立正确的领域模型。
29. 以下关于微服务架构与面向服务架构的描述中,正确的是(C)。
A.两者均采用去中心化管理
B.两者均采用集中式管理
C.微服务架构采用去中心化管理,面向服务架构采用集中式管理
D.微服务架构采用集中式管理,面向服务架构采用去中心化管理
30. 在UML2.0 (Unified Modeling Language)中,顺序图用来描述对象之间的消息交互,其中循环、选择等复杂交互使用(1)表示,对象之间的消息类型包括(2)。
A.嵌套B.泳道C.组合D.序列片段
答案解析:UML2.0添加了交互框(Interaction Frame),交互框指途中的一块区域(Region)或片段(Fragment),包含一个操作符(或称为标签),并包含一个警戒。
为了提高UML的准确性与可维护性,UML 2.0 引进序列片段的概念,用以表示复数个体组成的选择、分支、循环等逻辑结构。序列片段由片段运算符(Fragment Operator) 和片段主体(Fragment Box) 构成。
A.同步消息、异步消息、返回消息、动态消息、静态消息
B.同步消息、异步消息、动态消息、参与者创建消息、参与者销毁消息
C.同步消息、异步消息、静态消息、参与者创建消息、参与者销毁消息
D.同步消息、异步消息、返回消息、参与者创建消息、参与者销毁消息
答案解析:UML2.0的消息类型有:简单消息、同步消息、异步消息、对象创建消息、对象销毁消息、无触发对象和无接收对象的消息。
31. 以下有关构件特征的的描述,说法不正确的是(35)
A.构件是独立的部署单元
B.构件可作为第三方的组装单元
C.构件没有外部的可见状态
D.构件作为部署单元是可拆分的
答案解析:构件作为可部署单元,具有原子性,是不可拆分的。
32. 在构件的定义中,(36)是一个已命名的一组操作的集合。
A.接口B.对象C.函数D.模块
答案解析:构件的接口是一种服务提供者对消费者的承诺,即契约(contract),用契约确保一组构件之间的行为组合。
33. 在服务端构件模型的典型解决方案中,(37)较为适用于应用服务器。
A.EJB和COM+模型
B.EJB和servlet模型
C.COM+和ASP模型
D.COM+和servlet模型
答案解析:
- EJB(Enterprise Java Beans) 是运行在独立服务器上的组件。
- COM+ 是 Microsoft 组件对象模型 (COM) 和 Microsoft Transaction Server (MTS) 的演变。COM+ 可用于开发适用于Windows的企业范围、任务关键型分布式应用程序。
- Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器。
- ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。
34. 以下有关构件演化的描述中,说法不正确的是(38)
A.安装新版本构件可能与现有系统发生冲突
B.构件通常也会经历一般软件产品具有的演化过程
C.解决遗留系统移植问题,还需要通过使用包裹器构件,更适配旧版软件
D.为安装新版本的构建,必须终止系统中所有已有版本构件后运行
35. 软件复杂性度量中,(39)可以反映原代码结构的复杂度。
A.模块数B.环路数C.用户数D.对象数
答案解析:软件源码复杂度度量方法主要有三种:代码行、Helstead方法、McCabe方法(环形复杂度)。
1、代码行方法:是一种最简单的方法,该方法认为,代码行越多,软件越容易产生漏洞。
2、Helstead方法:思路是根据程序中可执行代码行的操作符和操作数的数量来计算程序的复杂性。操作符和操作数的量越大,程序结构就越复杂。
3、McCabe方法:环路复杂度用来定量度量程序的逻辑复杂度。
36. 在白盒测试中,测试强度最高的是(40)
A.语句覆盖B.分支覆盖C.判定覆盖D.路径覆盖
答案解析:路径覆盖实际上考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。
37. 在黑盒测试中,(41)方法最适合描述在多个逻辑条件取值组合所构成的复杂情况下,分别要执行哪些不同的动作。
A.等价类B.边界类C.判定表D.因果图
答案解析:判定表最适合描述在多个逻辑条件取值的组合所构成的复杂情况下,分别要执行哪些不同的动作。
38. (42)的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,以及软件原有的、正确的功能、性能和其它规定的要求的不损害性。
A.验收测试B.Alpha测试C.Beta测试D.回归测试
答案解析:回归测试的目的是测试软件变更之后,变更部分的正确性和对变更需求的符合性,以及软件原有的、正确的功能、性能和其他规定的要求的不损害性。
39. 在对遗留系统进行评估时,对于技术含量较高、业务价值较低且仅能完成某个部门的业务管理的遗留系统,一般采用的遗留系统演化策略是(43)策略。
A.淘汰B.继承C.集成D.改造
40. 在软件体系结构的建模与描述中,多视图是一种描述软件体系结构的重要途径,其体现了(1)的思想。其中,4+1模型是描述软体系结的常用型,在该模型中,“1”指的是(2),
A.关注点分离B.面向对象C.模型驱动D.UML
A.统一场景B.开发视图C.逻辑视图D.物理视图
答案解析:Kruchten在1995年提出了一个“4+1”的视图模型。“4+1”视图模型从5个不同的视角来描述软件架构,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映软件架构的全部内容,其思想即为关注点分离。其中,“4”为逻辑视图、开发视图、进程视图、物理视图;“1”为场景。
41. 基于体系结构的软件设计(Architecture-Based Software Design. ABSD) 方法是体系结构驱动,是指构成体系结构的(1)的组合驱动的。ABSD方法是一个自顶向下、递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生(2)。
A.产品、功能需求和设计活动
B.商业、质量和功能需求
C.商业、产品和功能需求
D.商业、质量和设计活动
答案解析:ABSD方法是体系结构驱动,即指构成体系结构的商业、质量和功能需求的组合驱动的。
A.软件产品和代码
B.软件构件和类
C.软件构件和连接件
D.类和软件代码
答案解析:ABSD方法是一个自顶向下,递归细化的方法,软件系统的体系结构通过该方法得到细化,直到能产生软件构件和类。
42. 软件体系结构风格是描述某一特定应用领城中系统组织方式的惯用模式。其中,在批处理风格软件体系结构中,每个处理步骤是一个单独的程序,每一步必须在前一步结束后才能开始,并且数据必须是完整的,以(1)的方式传递,基于规则的系统包括规则集、规则解释器、规则/数据选择器及(2)
A.迭代B.整体C.统一格式D.递增
答案解析:构件为一系列固定顺序的计算单元,构件之间只通过数据传递交互。每个处理步骤是一个独立的程序,每一步必须在其前一步结束后才能开始,数据必须是完整的,以整体的方式传递。
A.解释引擎B.虚拟机C.数据D.工作内存
答案解析:基于规则的系统包括规则集、规则解释器、规则/数据选择器和工作内存,一般用在人工智能领域和DSS中。
43. 在软件架构复用中,(1)是指开发过程中,只要发现有可复用的资产,就对其进行复用。(2)是指在开发之前,就要进行规划,以决定哪些需要复用。
A.发现复用B.机会复用C.资产复用D.过程复用
A.预期复用B.计划复用C.资产复用D.系统复用
答案解析:软件架构复用的类型包括机会复用和系统复用。机会复用是指开发过程中,只要发现有可复用的资产,就对其进行复用。资产复用是指在开发之前,就要进行规划,以决定哪些需要复用。
机会复用(Opportunistic Reuse)
- 定义:在开发过程中,当发现已有的软件架构或组件可以复用时,主动将其利用到新的系统中。
- 特点:
-
- 复用是“偶然”的,基于当前项目需求临时发现的机会。
- 不事先计划,但灵活利用已有资源。
- 适合小规模或特定场景复用。
- 例子:发现某个已有模块或设计模式刚好满足当前需求,直接拿来用。
系统复用(Systematic Reuse)
- 定义:通过计划和组织,设计一套通用的软件架构或组件库,专门供多个项目重复使用。
- 特点:
-
- 复用是“有计划”的,预先设计和开发可复用的架构资产。
- 强调复用的策略、方法和管理。
- 适合大规模、长期的软件开发过程。
- 例子:企业内部建立统一的微服务框架或标准组件库,所有新项目都基于此进行开发。
总结
复用类型 | 特点 | 复用方式 | 适用场景 |
机会复用 | 临时发现机会,灵活 | 按需使用已有架构/组件 | 项目间偶尔复用 |
系统复用 | 计划性强,有组织 | 建立复用平台、库 | 大型企业、长期维护项目 |
44. DSSA(Domain Specific Software Architecture)就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构,实施DSSA的过程中包含了一临基本的活动。其中,领域模型是(53)阶段的主要目标。
A.领城设计B.领域实现C.领域分析D.领域工程
答案解析:领域分析的主要目标是获得领域模型。
45. 软件系统质量属性(Quality Attribute)是一个系统的可测量或者可测试的属性,它被用来描述系统满足利益相关者需求的程度,其中,(1)关注的是当需要修改缺陷、增加功能、提高质量属性时,定位修改点并实施修改的难易程度,(2)关注的是当用户数和数据量增加时,软件系统维持高服务质量的能力。
A.可靠性B.可测试性C.可维护性D.可重用性
答案解析:软件质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等 6 个方面,每个方面都包含若干个子特性。
- 功能性:适合性、准确性、互操作性、依从性、安全性;
- 可靠性:成熟性、容错性、易恢复性;
- 易用性:易理解性、易学性、易操作性;
- 效率:时间特性、资源特性;
- 可维护性:易分析性、易改变性、稳定性、易测试性;
- 可移植性:适应性、易安装性、遵循性、易替换性;
A.可用性B.可扩展性C.可伸缩性D.可移植性
答案解析:运行期质量属性主要指在软件运行阶段所关注的质量属性,主要包含7个方面。
(1)性能:性能是指软件系统及时提供相应服务的能力,如速度、吞吐量和容量等的要求。
(2)安全性:指软件系统同时兼顾向合法用户提供服务,以及阻止非授权使用的能力。
(3)可伸缩性:指当用户数和数据量增加时,软件系统维持高服务质量的能力。例如,通过增加服务器来提高能力。
(4)互操作性:指本软件系统与其他系统交换数据和相互调用服务的难易程度。
(5)可靠性:软件系统在一定的时间内持续无故障运行的能力。
(6)可用性:指系统在一定时间内正常工作的时间所占的比例。可用性会受到系统错误, 恶意攻击,高负载等问题的影响。
(7)鲁棒性:是指软件系统在非正常情况(如用户进行了非法操作、相关的软硬件系统发 生了故障等)下仍能够正常运行的能力,也称健壮性或容错性。
46. 为了精确描述软件系统的质量属性,通常采用质量属性场景(Quality Attribute Scenario)作为描述质量属性的手段。质量属性场景是一个具体的质量属性需求,是利益相关者与系统的交互的简短陈述,它由刺激源、刺激、环境、制品、(1)六部分组成。其中,想要学习系统特性、有效使用系统、使错误的影响最低、适配系统、对系统满意属于(2)质量属性场景的刺激。
A.响应和响应度量B.系统和系统响应C.依赖和响应D.响应和优先
A.可用性B.性能C.易用性 D.安全性
答案解析:最常见的质量属性分别是:可用性(Availability)、可修改性(Modifiability)、性能(Performance)、安全性(Security)、可测试性(Testability)、易用性(Usability)。
刻画质量属性的手段由六部分组成:刺激源、刺激、环境、制品、响应、响应度量;
47. 改变加密级别可能会对安全性和性能产生非常重要的影响,因此在软件架构评估中,该设计决策是一个(58)。
A.敏感点B.风险点C.权衡点D.非风险点
答案解析:敏感点是一个或多个构件的特性。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。由题干知,改变加密级别会影响安全性和性能两个质量属性,因此属于权衡点。
48. 效用树是采用架构权衡分析方法(Architecture Tradeoff Analysis Method, ATAM)进行架构评估的工具之一,其树形结构从根部到叶子节点依次为(59)。
A.树根、属性分类、优先级,质量属性场景
B.树根、质量属性、属性分类,质量属性场景
C.树根、优先级、质量属性、质量属性场景
D.树根、质量属性、属性分类,优先级
答案解析:质量属性效用树结构为:根——质量属性——属性求精(细 分)——场景(叶)。
效用树的层次结构(从根到叶)
- 根节点(Root)
-
- 表示整个系统的总体效用(Utility),即系统架构的整体价值或满意度。
- 质量属性(Quality Attributes)
-
- 根节点下分支为关键的质量属性,如性能(Performance)、安全性(Security)、可用性(Availability)、可维护性(Maintainability)、可靠性(Reliability)等。
- 质量属性的子属性或场景(Sub-Attributes / Scenarios)
-
- 每个质量属性进一步细分为更具体的质量属性方面或代表性使用场景。例如,性能可细分为响应时间、吞吐量等;安全性可细分为认证、授权等。
- 具体场景(Scenarios / Leaf Nodes)
-
- 最底层的叶子节点是具体的架构质量场景,描述特定情境下质量属性的表现。每个场景都会被赋予权重和效用值,用于量化评估。
总结示例结构
根节点:系统效用
├── 性能
│ ├── 响应时间
│ └── 吞吐量
├── 安全性
│ ├── 认证
│ └── 授权
├── 可用性
│ ├── 故障恢复
│ └── 容错
└── 可维护性├── 代码可读性└── 模块化程度
49. 平均失效等待时间(mean time to failure,MTTF)和平均失效间隔时间(mean time between failure,MTBF)是进行系统可靠性分析时的要指标,在失效率为常数和修复时间很短的情况下,(60)。
A.MTTF远远小于MTBF
B.MTTF和MTBF无法计算
C.MTTF远远大于MTBF
D.MTTF和MTBF几乎相等
答案解析:在失效率为常数和修复时间很短的情况下,MTTF和MTBF几乎相等。
50. 在进行软件系统安全性分折时,(1)保证信息不泄露给末授权的用户、实体或过程;完整性保证信息的完整和准确,防止信息被非法修改;(2)保证对信息的传播及内容具有控制的能力,防止为非法者所用。
A.完整性B.不可否认性 C.可控性D.机密性
答案解析:安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性(信息不泄露给未授权的用户、实体或过程)、完整性(保证信息的完整和准确,防止信息被篡改)、不可否认性(不可抵赖,即由于某种机制的存在,发送者不能否认自己发送信息的行为和信息的内容。)及可控性(对信息的传播及内容具有控制的能力,防止为非法者所用)等特性。
A.完整性 B.安全审计 C.加密性D.可控性
安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性又可划分为机密性(信息不泄露给未授权的用户、实体或过程)、完整性(保证信息的完整和准确,防止信息被篡改)、不可否认性(不可抵赖,即由于某种机制的存在,发送者不能否认自己发送信息的行为和信息的内容。)及可控性(对信息的传播及内容具有控制的能力,防止为非法者所用)等特性。
51. 在进行架构评估时,首先要明确具体的质量目标,并以之作为判定该架构优劣的标准。为得出这些目标而采用的机制叫做场景,场景是从(63)的角度对与系统的交互的简短措述。
A.用户B.系统架构师C.项目管理者D.风险承担者
答案解析:场景(scenarios)在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。为得出这些目标而采用的机制做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用刺激(stimulus)、环境(environment)和响应(response)三方面来对场景进行描述。
52. 5G网络采用(A)可将5G网络分割成多张虚拟网络,每个虚拟网络的接入,传输和核心网是逻辑独立的,任何一个虚拟网络发生故障都不会影响到其它虚拟网络。
A.网路切片技术B.边缘计算技术C.网络隔离技术D.软件定义网路技术
答案解析:5G网络的切片技术是将5G网络分割成多张虚拟网络,从而支持更多的应用。就是将一个物理网络切割成多个虚拟的端到端的网络,每个虚拟网络之间,包括网络内的设备、接入、传输和核心网,是逻辑独立的,任何一个虚拟网络发生故障都不会影响到其它虚拟网络。在一个网络切片中,至少可分为无线网子切片、承载网子切片和核心网子切片三部分。
53. 以下wifi认证方式中,(65)使用了AES加密算法,安全性更高。
A.开放式B.WPAC.WPA2 D.WEP
答案解析:开目前,无线网络中已存在好几种加密技术,由于安全性能的不同,无线设备的不同技术支持,支持的加密技术也不同,一般常见的有:WEP、WPA/WPA2、WPA-PSK/WPA2-PSK。
1、WEP安全加密方式:WEP(有线等效保密),一种数据加密算法,用于提供等同于有线局域网的保护能力。它的安全技术源自于名为RC4的RSA数据加密技术,是无线局域网WLAN的必要的安全防护层。目前常见的是64位WEP加密和128位WEP加密,WEP基本已被弃用。
2、WPA安全加密方式:WEP之后,人们将期望转向了其升级后的WPA,与之前WEP的静态密钥不同,WPA需要不断的转换密钥。WPA采用有效的密钥分发机制,可以跨越不同厂商的无线网卡实现应用,其作为WEP的升级版,在安全的防护上比WEP更为周密,主要体现在身份认证、加密机制和数据包检查等方面,而且它还提升了无线网络的管理能力。
3、WPA2:WPA2是IEEE 802.11i标准的认证形式,WPA2实现了802.11i的强制性元素,特别是Michael算法被公认彻底安全的CCMP(计数器模式密码块链消息完整码协议)讯息认证码所取代、而RC4加密算法也被AES所取代。简言之,WPA2是WPA的增强版,安全性更高。
54. 程序员甲将其编写完成的某软件程序发给同事乙并进行讨论,之后甲放弃该程序并决定重新开发,后来乙将该程序稍加修改并署自已名在某技术论坛发布。以下说法中,正确的是(66)。
A.乙的行为侵犯了甲对该程序享有的软件著作权
B.乙行为未侵权,因其发布的场合是以交流学习为目的的技术论坛
C.乙的行为没有侵犯甲的软件著作权,因为甲已放弃该程序
D.乙对该程序进行了修政,因此乙享有该序的款件著作权
解析:甲完成该软件的开发后就拥有了该软件的著作权,乙将该程序稍加修改就发布,侵犯了甲的软件著作权。
55. 以下关于软件著作权产生时间的叙述中,正确的是(67)。
A.软件著作权产生自软件首次公开发表时
B.软件著作权产生自开发者有开发意图时
C.软件著作权产生自软件开发完成之日起
D.软著作权产生自软件著作权登记时
56. M公司将其开发的某软件产品注册了商标,为确保公司可在市场竟争中占据优势地位,M公司对员工进行了保密约束,此情形下,该公司不享有(68)。
A.软件著作权B.专利权C.商业秘密权D.商标权
答案解析:M公司的软件产品开发完成时就自动享有软件著作权,注册了商标就享有了商标权,对员工签了保密协议就享有了商业秘密权。因此只有专利权未提及。
57. 计算机产生的随机数大体上能在(0,1)区间内均匀分布。假设某初等函数f(x)在(0,1)区间内取值也在(0,1)区间内,如果由计算机产生的大量的(M个)随机数对(rl,r2)中,符合r2≤f(rl)条件的有N个,则N/M可作为(69)的近似计算结果。
A.求解方程f(x)=xB.求f(x)极大值C.求f(x)的极小值D.求积分
58. 某项目包括A、B、C、D四道工序,各道工序之间的衔接关系、正常进度下各工序所需的时间和直接费用、赶工进度下所需的时间和直接费用如下表所示。该项目每天需要的间接费用为4.5万元。根据此表,以最低成本完成该项目需要(70)天。
A.7B.9C.10D.5
解析:本题考查项目管理中的成本优化。从题目分析可得以下表格:
1.绘制正常进度计划网络图如下:
由上图可知,正常进度的关键路径为A-C-D,总工期为3+4+5=l2天,总费用为10+15+12+8+12*4.5=99。
2.全部赶工后的工期,关键路径是A-C-D,总工期为1+2+2=5天,总费用为18+19+20+14+5*4.5=93.5。因为压缩过度,这个费用没有达到理想状态。
要想合理压缩成本,关键是在缩短总工期、减少间接费用的同时不引起直接费用显著增加,因此必须先缩短关键路径上的作业时间,详细操作如下:
3. 因为D是关键路径上的活动,而且压缩单位费用最低(2万/天),对D先压缩2天,总工期减为10天。本步骤增加直接费用2*2=4万元,节省间接费用2*4.5=9万元,节省费用9-4=5万元。此时总费用为99-5=94万元,关键路径有两条:A-B和A-C-D。如下图。
4. 把两条关键路径上的B和D同时压缩1天,总工期减为9天,本步骤增加直接费用2+1=3万元,节省间接费用4.5万元,节省费用4.5-3=1.5万元。此时总费用为94-1.5=92.5万元,关键路径仍为A-B和A-C-D。如下图。
5.最后把两条路径公共的工序A压缩2天,总工期减为7天,本步骤增加直接费用2*4=8万元,节省间接费用2*4.5=9万元,节省费用9-8=1万元。此时总费用为92.5-1=91.5万元,关键路径仍为A-B和A-C-D。如下图。
至此,A、B、C、D均已赶工到最大限度,总工期为7天,总费用为91.5万元,为最低成本。