软考-系统架构设计师-2019年上午选择题真题
考试时间 8:30 ~ 11:00 150分钟
1.前趋图(Precedence Graph)是一个有向无环图,记为: →= {(Pi,Pj)Pi mustcomplete before Pj may start}。假设系统中进程P={P1,P2,P3,P4,P5,P6,P7,P8},且进程的前趋图如下:
那么,该前驱图可记为( )。
A. →={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P7),(P5,P6),(P6,P7),(P6,P8),(P7,P8)}
B. →={(P1,P2),(P3,P1),(P4,P1),(P5,P2),(P5,P3),(P6,P4),(P7,P5),(P7,P6),(P6,P8),(P8,P7)}
C. →={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P6),(P4,P7),(P5,P6),(P6,P7),(P6,P8),(P7,P8)}
D. →={(P1,P2),(P1,P3),(P2,P3),(P2,P5),(P3,P6),(P3,P4),(P4,P7),(P5,P6),(P6,P7),(P6,P8),(P7,P8) }
解析:
前驱图每年都考一题 从P1开始按顺序往下排列即可,细心点。
答案:D
2.3.进程P有8个页面,页号分别为0~7,页面大小为4K,假设系统给进程P分配了4个存储块,进程P的页面变换表如下所示。表中状态位等于1和0分别表示页面在内存和不在内存。若进程P要访问的逻辑地址为十六进制5148H,则该地址经过变换后,其物理地址应为十六进制();如果进程P要访问的页面6不在内存,那么应该淘汰页号为( )的页面。
A. 3148H B. 5148H C. 7148H D. 9148H
A. 1 B. 2 C. 5 D. 9
解析:
4KB = 2的12次方 B 所以 页内地址占12位
逻辑地址十六进制5148H 其中 148为业内地址 5是页号
5对应 页贞号(物理块号) 3 所以 逻辑地址十六进制5148H 对应的物理地址为 3148H
淘汰的页号前提一定是要在内存里的 如果不在内存就不存在淘汰了
淘汰原则:
首先淘汰未被访问过的,再淘汰未被修改过的
答案:A、B
4.在网络操作系统环境中,若用户UserA的文件或文件夹被共享后,则( )。
A. UserA的安全性与未共享时相比将会有所提高
B. UserA的安全性与未共享时相比将会有所下降
C. UserA的可靠性与未共享时相比将会有所提高
D. UserA的方便性与未共享时相比将会有所下降
解析:
文件被共享 安全性可靠性下降 方便性提高
答案:B
5.数据库的安全机制中,通过提供( )供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。
A.索引
B.视图
C.存储过程
D.触发器
解析:
存储过程是一组预编译的SQL语句集合,存储在数据库中并可以被调用执行。通过存储过程,数据库管理员可以对数据库操作进行封装,只暴露出有限的接口供第三方开发人员调用,从而隐藏了数据库的具体结构和实现细节。
索引(A)是用于加速数据检索的数据结构,不涉及数据更新操作。
视图(B)是一种虚拟表,通常用于简化复杂的查询操作,但它本身不是用来进行数据更新的。
触发器(D)是一种特殊的存储过程,它与表相关联,在特定的数据库操作(如插入、更新、删除)发生时自动执行相应的操作,但它不是供第三方调用的接口,而是由数据库自动触发执行的。
因此,存储过程是提供给第三方开发人员调用进行数据更新的安全机制,同时保护数据库的关系模式不被第三方所获取
答案:C
6.7. 给出关系R(U,F),U={A,B,C,D,E},F={A→BC, B→D, D→E}。以下关于F说法正确的是( )。若将关系R分解为ρ={R1(U1,F1),R2(U2,F2)}, 其中:U1={A,B,C}、U2={B,D,E}, 则分解ρ( )。
A. F蕴涵A→B、A→C,但F不存在传递依赖
B. F蕴涵E→A、A→C,故F存在传递依赖
C. F蕴涵A→D、E→A、A→C,但F不存在传递依赖
D. F蕴涵A→D、A→E、B→E,故F存在传递依赖
A.无损连接并保持函数依赖
B.无损连接但不保持函数依赖
C.有损连接并保持函数依赖
D.有损连接但不保持函数依赖
解析:
F蕴涵A→D、A→E、B→E,故F存在传递依赖
如何判断 有损连接、无损连接:
将关系R分解为ρ={R1(U1,F1),R2(U2,F2)}, 其中:U1={A,B,C}、U2={B,D,E}
判断 U1∩U2 = B , 如果 B 是 U1或者 U2的超码 那么就是无损连接 如果B不是U1且不是U2的超码 就是有损连接
如何判断 B 是否是 U1 或者U2的超码 :
求B的 闭包 在关系 F={A→BC, B→D, D→E} 中 B→D, D→E 所以B的闭包是 B、D、E 而 U2={B,D,E}
所以B 是U2的超码 所以是无损连接
如何判断 是否保持了函数依赖:
保持函数依赖是指一个关系模式中的属性集合中的某些属性对另一个属性集合的某些属性值的依赖关系是否成立,即在关系模式中某些属性的值变化时,另一些属性的值是否会保持不变。
最简单的判断方法 每一个关系依赖左右两边是否都在分解后的关系中包含
关系 F={A→BC, B→D, D→E} , U1={A,B,C}、U2={B,D,E}
关系F 的每个依赖 分别是 A→BC, B→D, D→E
其中 A→BC 左边 A 右边B、C 都在U1={A,B,C} 中包含
B→D 左边 B右边D 都在U2={B,D,E}中包含
D→E 左边 D右边DE 都在U2={B,D,E}中包含
所以 保持了函数依赖
答案:D、A
8.分布式数据库系统除了包含集中式数据库系统的模式结构之外,还增加了几个模式级别,其中( )定义分布式数据库中数据的整体逻辑结构,使得数据使用方便,如同没有分布一样。
A.分片模式
B.全局外模式
C.分布模式
D.全局概念模式
解析:
全局概念模式:全局概念模式定义了分布式数据库中所有数据的逻辑结构
全局外模式:它们是全局应用的用户视图,是全局概念模式的子集
分片模式:分片模式定义片段以及定义全局关系与片段之间的映像。这种映像是一对多的,即每个片段来自一个全局关系,而一个全局关系可分成多个片段。
分布模式:片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的不同节点上。分布模式根据数据分配策略的选择定义片段的存放场地。
答案:D
9.10.安全攸关系统在软件需求分析阶段,应提出安全性需求。软件安全性需求是指通过约束软件的行为,使其不会出现( )。软件安全需求的获取是根据已知的( ),如软件危害条件等以及其他一些类似的系统数据和通用惯例,完成通用软件安全性需求的裁剪和特定软件安全性需求的获取工作。
A.不可接受的系统安全的行为
B.有可能影响系统可靠性的行为
C.不可接受的违反系统安全的行为
D.系统不安全的事故
A.系统信息 B.系统属性 C.软件属性 D.代码信息
解析:
不可接受的违反系统安全的行为
系统信息
答案:C、A
11.某嵌入式实时操作系统采用了某种调度算法,当某任务执行接近自己的截止期(deadline)时,调度算法将把该任务的优先级调整到系统最高优先级,让该任务获取CPU资源运行。请问此类调度算法是( )。
A.优先级调度算法
B.抢占式优先级调度算法
C.最晚截止期调度算法
D.最早截止期调度算法
解析:
优先级调度算法 按照设置的优先级顺序进行调度
抢占式优先级调度算法 允许低优先级的任务抢占高优先级的任务资源
最晚截止期调度算法 当某任务执行接近自己的截止期(deadline)时,调度算法将把该任务的优先级调整到系统最高优先级,让该任务获取CPU资源运行
最早截止期调度算法 和最晚截止期调度算法 相反
答案:C
12.混成系统是嵌入式实时系统的一种重要的子类。以下关于混成系统的说法中,正确的是 ( )。
A. 混成系统一般由离散分离组件并行组成,组件之间的行为由计算模型进行控制
B. 混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由计算模型进行控制
C. 混成系统一般由连续组件串行组成,组件之间的行为由计算模型进行控制
D. 混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由同步/异步事件进行管理
解析:
记忆
混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由计算模型进行控制
答案:B
13. TCP端口号的作用是( )。
A.流量控制
B. ACL过滤
C.建立连接
D.对应用层进程的寻址
解析:
TCP端口号的作用是对应用层进程的寻址
答案:D
14. Web页面访问过程中,在浏览器发出HTTP请求报文之前不可能执行的操作是( )。
A.查询本机DNS缓存,获取主机名对应的IP地址
B.发起DNS请求,获取主机名对应的IP地址
C.发送请求信息,获取将要访问的Web应用
D.发送ARP协议广播数据包,请求网关的MAC地址
解析:
浏览器解析域名的过程:
(1)浏览器检查缓存中有没有这个域名对应的解析过的IP地址,如果有,这个解析过程就结束。域名被缓存的时间限制可以通过TTL属性来设置。
(2)如果浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。在Windows C:\Windows\System32\drivers\etc\hosts 或者 Linux 的 /etc/hosts文件中
(3)如果在本机中仍然无法完成域名的解析,就会真正请求域名服务器来解析这个域名。在网络配置中有"DNS服务器地址"项,操作系统会把这个域名发送给这里设置的LDNS,也就是本地域名服务器。
(4)如果LDNS仍然没有命中,就直接到Root Server域名服务器请求解析。
(5)根域名服务器返回给本地域名服务器一个所查询域的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服务器,如.com、.cn、.org等,全球只有13台
(6)本地域名服务器再向上一步返回的gTLD服务器发送请求。
(7)接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址,这个NameServer通常就是你注册的域名服务器。
(8)Name server域名服务器会查询存储的域名和IP的映射关系表正常情况下能根据域名得到目标IP记录,连同一个TTL值返回给DNS Server域名服务器。
(9)返回该域名对应的IP和TTL值,Local DNS Server会缓存这个域名和IP的对应关系,缓存的时间由TTL值控制。
(10)把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。
答案:C
15.以下关于DHCP服务的说法中,正确的是( )。
A.在一个园区网中可以存在多台DHCP服务器
B.默认情况下,客户端要使用DHCP服务需指定DHCP服务器地址
C.默认情况下,DHCP客户端选择本网段内的IP地址作为本地地址
D.在DHCP服务器上,DHCP服务功能默认开启
解析:
默认情况下客户端会以广播的形式发起DHCP请求 不需要知道DHCP服务器地址
默认情况下,DHCP客户端选择本网段内的IP地址作为本地地址 DHCP可以服务于多个子网 并不一定选择本网段内的本地地址
DHCP服务默认是关闭的
答案:A
16.17.通常用户采用评价程序来评价系统的性能,评测准确度最高的评价程序是( )。在计算机性能评估中,通常将评价程序中用得最多、最频繁的( )作为评价计算机性能的标准程序,称其为基准测试程序。
A.真实程序 B.核心程序 C.小型基准程序 D.核心基准程序
A.真实程序 B.核心程序 C.小型基准程序 D.核心基准程序
解析:
评测准确度从高到低为:
真实程序、核心程序、小型基准程序和合成基准程序
在计算机性能评估中,通常将评价程序中用得最多、最频繁的 核心程序 作为评价计算机性能的标准程序,称其为基准测试程序
答案:A、B
18.19.信息系统规划方法中,关键成功因素法通过对关键成功因素的识别,找出实现目标所需要的关键信息集合,从而确定系统
开发的( )。关键成功因素来源于组织的目标,通过组织的目标分解和关键成功因素识别、( )识别,一直到产生数据字典。
A.系统边界 B.功能指标 C.优先次序 D.性能指标
A.系统边界 B.功能指标 C.优先次序 D.性能指标
解析:
关键成功因素法是以关键因素为依据来确定系统信息需求的一种总体规划的方法。
在现行系统中,总存在着多个变量影响系统目标的实现,其中若干个因素是关键的和主要的(即成功变量)通过对关键成功因素的识别,找出实现目标所需的关键信息集合从而确定系统开发的优先次序。
关键成功因素来自于组织的目标,通过组织的目标分解和识别关键成功因素识别、性能指标识别、一直到产生数据字典。
答案:C、D
20.21.系统应用集成构建统一标准的基础平台,在各个应用系统的接口之间共享数据和功能,基本原则是保证应用程序的( )。
系统应用集成提供了4个不同层次的服务,最上层服务是( )服务。
A.独立性 B.相关性 C.互操作性 D.排他性
A.通信 B.信息传递与转化 C.应用连接 D.流程控制
解析:
层次由低到高:
通信
信息传递与转化
应用连接
流程控制
答案:A、D
22.23.按照传统的软件生命周期方法学,可以把软件生命周期划分为软件定义、软件开发和 ( )三个阶段。其中,可行性研究属于( )阶段的主要任务。
A.软件运行与维护 B.软件对象管理 C.软件详细设计 D.问题描述
A.软件定义 B.软件开发 C.软件评估 D.软件运行与维护
解析:
软件生命周期划分为软件定义、软件开发和 软件运行与维护 三个阶段
软件定义:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标。
软件开发:就是软件的设计与实现过程,可分为概要(总体)设计、详细设计、编码、测试等。
软件运行与维护:就是把软件产品移交给用户使用并对运行过程中发现的问题进行修改或对软件需求变化做出响应。
答案:A、A
24.25.需求变更管理是需求管理的重要内容。需求变更管理的过程主要包括问题分析和变更描述、( )、变更实现。具体来说,在关于需求变更管理的描述中,( )是不正确的。
A.变更调研 B.变更判定 C.变更定义 D.变更分析和成本计算
A.需求变更要进行控制,严格防止因失控而导致项目混乱,出现重大风险
B.需求变更对软件项目开发有利无弊
C.需求变更通常按特定的流程进行
D.在需求变更中,变更审批由CCB负责审批
解析:
需求变更管理的过程主要包括 问题分析、变更描述、变更分析和成本计算、变更实现
需求变更本身对项目开发有一定弊端的
CCB是变更控制委员会(Change Control Board)
答案:D、B
26~28.软件方法学是以软件开发方法为研究对象的学科。其中( )是先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。( )是根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,通过对其进行相互连接、修改和扩大,构成所要求的系统。( )是建立在严格数学基础上的软件开发方法。
A.面向对象开发方法 B.形式化开发方法 C.非形式化开发方法 D.自顶向下开发方法
A.自底向上开发方法 B.形式化开发方法 C.非形式化开发方法 D.原型开发方法
A.自底向上开发方法 B.形式化开发方法 C.非形式化开发方法 D.自顶向下开发方法
解析:
自顶向下的开发方法:先对最高层次中的问题进行定义、设计、编程和测试而将其中未解决的问题作为一个子任务放到下一层次中去解决。
自底向上的开发方法:根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,通过对其进行相互连接、修改和扩大,构成所要求的系统。
从性质上可分为形式化方法和非形式化方法:
形式化方法是一种具有坚实数学基础的方法,从而允许对系统和开发过程做严格处理和论证,适用于那些系统安全级别要求极高的软件的开发。
非形式化方法则不把严格性作为其主要着眼点,通常以各种开发模型的形式得以体现。
答案:D、A、B
29.30.软件开发工具是指用于辅助软件开发过程活动的各种软件,其中,( )是辅助建立软件系统的抽象模型的,例如Rose、Together、WinA&D、( )等。
A.编程工具 B.设计工具 C.测试工具 D.建模工具
A. LoadRunner B. QuickUML C. Delphi D. WinRunner
解析:
建模工具是辅助建立软件系统的抽象模型的Rose、Together、WinA&D、QuickUML ,Metamill
LoadRunner 性能测试
Delphi 编程
WinRunner 功能测试
答案:D、B
31.32.软件概要设计将软件需求转化为软件设计的( )和软件的( )。
A.算法流程 B.数据结构 C.交互原型 D.操作接口
A.系统结构 B.算法流程 C.内部接口 D.程序流程
解析:
记忆
软件概要设计将软件需求转化为软件设计的数据结构和软件的系统结构
答案: B、A
33.软件结构化设计包括( )等任务。
A.架构设计、数据设计、过程设计、原型设计
B.架构设计、过程设计、程序设计、原型设计
C.数据设计、过程设计、交互设计、程序设计
D.架构设计、接口设计、数据设计、过程设计
解析:
记忆
软件结构化设计包括 架构设计、接口设计、数据设计、过程设计 等任务
答案:D
34.关于模块化设计,( )是错误的。
A.模块是指执行某一特定任务的数据结构和程序代码
B.模块的接口和功能定义属于其模块自身的内部特性
C.每个模块完成相对独立的特定子功能,与其他模块之间的关系最简单
D.模块设计的重要原则是高内聚、低耦合
解析:
记忆
模块的接口和功能定义属于其模块自身的外部特性
答案:B
35~37.基于构件的软件开发中,构件分类方法可以归纳为三大类:( )根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树形或有向无回路图结构;( )利用Facet描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征;( )使得检索者在阅读文档过程中可以按照人类的联想思维方式任意跳转到包含相关概念或构件的文档。
A.关键字分类法 B.刻面分类法 C.语义匹配法 D.超文本方法
A.关键字分类法 B.刻面分类法 C.语义匹配法 D.超文本方法
A.关键字分类法 B.刻面分类法 C.语义匹配法 D.超文本方法
解析:
记忆
关键字分类法:根据领域分析的结果将应用领域的概念按照从抽象到具体的顺序逐次分解为树状或有向无回路图结构。每个概念用一个描述性的关键字表示。
刻面分类法:定义若干用于刻画构件特征的"面"(facet),每个面包含若干概念,这些概念表述构件在面上的特征。刻画可以描述构件执行的功能、被操作的数据、构件应用的语境或任意其他特征。
超文本组织方法:基于全文检索技术,主要思想是所有构件必须辅以详尽的功能或行为说明文档,说明中出现的重要概念或构件以网状链接方式相互连接;检索者在阅读文档的过程中可按照人类的联系思维方式任意跳转到包含相关概念或构件的文档。
答案:A、B、D
38.构件组装是指将库中的构件经适当修改后相互连接构成新的目标软件。( )不属于构件组装技术。
A.基于功能的构件组装技术
B.基于数据的构件组装技术
C.基于实现的构件组装技术
D.面向对象的构件组装技术
解析:
构件组装技术大致可分为基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。
(1)基于功能的组装技术。基于功能的组装技术采用子程序调用和参数传递的方式将构件组装起来。它要求库中的构件以子程序/过程/函数的形式出现,并且接口说明必须消晰。当使用这种组装技术进行软件开发时,开发人员首先应对目标软件系统进行功能分解,将系统分解为强内聚、松耦合的功能模块。然后根据各块的功能需求提取构件,对它进行适应性修改后再挂接在上述功能分解框架(framework)中。
(2)基于数据的组装技术。基于数据的组装技术首先根据当前软件问题的核心数据结构设计出一个框架,然后根据框架中各节点的需求提取构件并进行适应性修改,再将构件逐个分配至框架中的适当位置。此后,构件的组装方式仍然是传统的子程序调用与参数传递。这种组装技术也要求库中构件以子程序形式出现,但它所依赖的软件设计方法不再是功能分解,而是面向数据的设计方法,例如Jackson 系统开发方法。
(3)面向对象的组装技术。由于封装和继承特征,面向对象方法比其他软件开发方法更适合支持软件重用。在面向对象的软件开发方法中,如果从类库中检索出来的基类能够完全满足新软件项目的需求,则可以直接应用:否则,必须以类库中的基类为父类采用构造法或子类法生成子类。
答案:C
39.40.软件逆向工程就是分析已有的程序,寻求比源代码更高级的抽象表现形式。在逆向工程导出信息的四个抽象层次中,( )包括反映程序各部分之间相互依赖关系的信息;( )包括反映程序段功能及程序段之间关系的信息。
A.实现级 B.结构级 C.功能级 D.领域级
A.实现级 B.结构级 C.功能级 D.领域级
解析:
逆向工程导出的信息可分为4个抽象层次
实现级:包括程序的抽象语法树、符号表等信息
结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图等
功能级:包括反映程序段功能及程序段之间关系的信息
领域级:包括反映程序分量或程序与应用领域概念之间对应关系的信息
答案:B、C
41.( )是在逆向工程所获取信息的基础上修改或重构已有的系统,产生系统的一个新版本。
A.逆向分析(Reverse Analysis)
B.重组 (Restructuring)
C.设计恢复(Design Recovery)
D.重构工程(Re-engineering)
解析:
重组:指在同一抽象级别上转换系统描述形式。
设计恢复:指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计的信息(不一定是原设计)。
重构/再工程:也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。
答案:D
42.43.软件性能测试有多种不同类型的测试方法,其中,( )用于测试在限定的系统下考査软件系统极限运行的情况,( )可用于测试系统同时处理的在线最大用户数量。
A.强度测试 B.负载测试 C.压力测试 D.容量测试
A.强度测试 B.负载测试 C.压力测试 D.容量测试
解析:
性能测试包括负载测试、强度测试和容量测试等
强度测试:是在系统资源特别低的情况下考查软件系统极限运行情况
负载测试:通过负载测试确定在各种工作负载下系统的性能目标是测试当负载逐渐增加时系统各项性能指标的变化情况。
压力测试:通过确定系统的瓶颈或不能接收的性能点,来获得系统能够提供的最大服务级别的测试。
容量测试:用于测试系统可同时处理的在线最大用户数量。
答案:A、D
44.45.一个完整的软件系统需从不同视角进行描述,下图属于软件架构设计中的( ),用于 ( )视图来描述软件系统。
A.对象图 B.时序图 C.构件图 D.类图
A.进程 B.开发 C.物理 D.用户
解析:
如何区分类图和对象图
逻辑视图:主要是用来描述系统的功能需求即系统提供给最终用户的服务。
开发视图:主要用来描述软件模块的组织与管理。服务于软件开发人员,方便后续的设计与实现。
进程视图:侧重系统的运行特性,关注非功能性的需求(性能可用性)。服务于系统集成人员,方便后续性能测试。
物理视图:主要描述硬件配置。服务于系统工程人员,解决系统的拓扑结构、安装、通信等问题,考虑如何把软件映射到硬件上。
场景:用于刻画构件间的相互关系,将四个视图有机地联系起来
答案:D、B
46~48.对软件体系结构风格的研究和实践促进了对设计的复用。Garlan和Shaw对经典体系结构风格进行了分类。其中,( )属于数据流体系结构风格;( )属于虚拟机体系结构风格;而下图描述的属于( )体系结构风格。
A.面向对象 B.事件系统 C.规则系统 D.批处理
A.面向对象 B.事件系统 C.规则系统 D.批处理
A.层次型 B.事件系统 C.规则系统 D.批处理
解析:
记忆
通用架构风格的分类
(1)数据流风格:批处理序列;管道/过滤器。
(2)调用/返回风格:主程序/子程序;面向对象风格;层次结构
(3)独立构件风格:进程通信;事件系统
(4)虚拟机风格:解释器;基于规则的系统
(5)仓库风格:数据库系统;超文本系统;黑板系统
图中很明显的分层次结构
答案:D 、C、 A
49.50.( )是由中间件技术实现并支持SOA的一组基础架构,它提供了一种基础设施,其优势在于( )。
A. ESB B.微服务 C.云计算 D. Multi-Agent System
A.支持了服务请求者与服务提供者之间的直接链接
B.支持了服务请求者与服务提供者之间的紧密耦合
C.消除了服务请求者与服务提供者之间的直接链接
D.消除了服务请求者与服务提供者之间的关系
解析:
企业服务总线(EnterpriseService BuS,ESB)是由中间件技术实现并支持SOA的一组基础架构,支持异构环境中的服务、消息以及基于事件的交互,并且具有适当的服IT 基础设施的重用变得困难重重。ESB提供了一种基础设施,消除了服务请求者与服务提供者之间的直接连接,
使得服务提供者和服务消费者进一步解耦。
答案:A、C
51~53. ABSDM(Architecture-Based Software Design Model)把整个基于体系结构的软件过程划分为体系结构需求、体系结构设计、体
系结构文档化、( )、( )和体系结构演化等6个子过程。其中,( )过程的主要输出结果是体系结构规格说明和测试体系结构需求的质量设计说明书。
A.体系结构复审 B.体系结构测试 C.体系结构变更 D.体系结构管理
A.体系结构实现 B.体系结构测试 C.体系结构建模 D.体系结构管理
A.体系结构设计 B.体系结构需求 C.体系结构文档化 D.体系结构测试
解析:
基于架构的软件开发过程包括
(1)架构需求
(2)架构设计
(3)架构文档化 ( 架构文档化过程主要输出架构需求规格说明和测试架构需求的质量设计说明书)
(4)架构复审
(5)架构实现
(6)架构演化
答案:A、 A、 C
54~57.设计模式按照目的可以划分为三类,其中,( )模式是对对象实例化过程的抽象。例如 ( )模式确保一个类只有一个实例,并提供了全局访问入口;( )模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建定义对象;( )模式将复杂对象的构建与其表示分离。
A.创建型 B.结构型 C.行为型 D.功能型
A. Facade B. Builder C. Prototype D. Singleton
A. Facade B. Builder C. Prototype D. Singleton
A. Facade B. Builder C. Prototype D. Singleton
解析:
参考:https://deepjava.blog.csdn.net/article/details/115580862
答案:A、D、C、B
58~63. 某公司欲开发一个电子交易清算系统,在架构设计阶段,公司的架构师识别出3个核心质量属性场景。其中“数据传递时延不大于1s,并提供相应的优先级管理”主要与( )质量属性相关,通常可采用( )架构策略实现该属性;“系统采用双机热备,主备机必须实时监测对方状态,以便完成系统的实时切换”主要与( )质量属性相关,通常可采用( )架构策略实现该属性;“系统应能够防止99%的黑客攻击”主要与( )质量属性相关,通常可采用( )架构策略实现该属性。
A.可用性 B.性能 C.安全性 D.可修改性
A.限制资源 B.引入并发 C.资源仲裁 D.限制访问
A.可用性 B.性能 C.安全性 D.可修改性
A.记录/回放 B.操作串行化 C.心跳 D.资源调度
A.可用性 B.性能 C.安全性 D.可修改性
A.检测攻击 B.Ping/Echo C.选举 D.权限控制
解析:
记忆
软件质量属性:
1.性能:性能策略的目标就是对在一定的时间限制内到达系统的事件生成一个响应。
资源需求:提高计算效率;减少计算开销;管理事件率;控制取样频率,
资源管理:引入并发、维持多个副本;增加可用资源
资源仲裁:调度策略(可以实现优先级管理)
2.可用性:可用性策略将会阻止错误发展成故障,至少能够把错误的影响限制在一定范围内,从而使修复成为可能。
错误检测:命令/响应;心跳(dead man 计时器);
异常错误恢复-检测和修复:表决主动冗余(热重启);
被动冗余(暖重启/双冗余/三冗余,备件)
错误恢复-重新引入:shadow操作;状态再同步;检查点/回滚
错误预防:从服务中删除;事务;进程监视器
3.安全性:把实现安全性的策略分为:与抵抗攻击有关的策略与检测攻击有关的策略以及从攻击中恢复有关的策略。
抵抗攻击:对用户进行身份验证对用户进行授权;维护数据的机密性;维护完整性;限制暴露的信息;限制访问
检测攻击:入侵检测
从攻击中恢复:(恢复)查看可用性;(识别)审计追踪,
4.可修改性:控制可修改性的策略,其目标是控制实现、测试和部署变更的时间和成本。
局部化变更:维持语义的一致性;预期期望的变更;泛化该模块;限制可能的选择;抽象通用服务;
防止连锁反应:信息隐藏;维持现有的接口;限制通信路径;仲裁者的使用;
推迟绑定时间:运行时注册;配置文件;多态;组件更换;遵守已定义的协议;
5.可测试性:可测试性策略目标是允许在完成软件开发的一个增量后,较轻松地对软件进行测试。
管理输入/输出:记录/回放;将接口与实现分离;特化访问路线/接口;
内部监视:内置监视器
6.易用性:易用性与用户完成期望任务的难易程度,以及系统为用户提供的支持种类有关。
分离用户接口
支持用户主动:取消;撤销;聚合
用户模型:用户模型;系统模型;任务模型
答案:B、C、A、C、C、A
64.下列协议中与电子邮箱安全无关的是( )。
A. SSL B. HTTPS C. MIME D. PGP
解析:
MIME,全称为“Multipurpose Internet Mail Extensions”,比较确切的中文名称为“通用互联网邮件扩充
和安全无关
答案:C
65.以下关于网络冗余设计的叙述中,错误的是( )。
A.网络冗余设计避免网络组件单点失效造成应用失效
B.通常情况下主路径与备用路径承担相同的网络负载
C.负载分担是通过并行链路提供流量分担来提高性能的
D.网络中存在备用链路时,可以考虑加入负载分担设计
解析:
网络中存在备用链路时,可以考虑加入负载分担设计
主备路径的网络负载通常情况下是不同的
答案:B
66.著作权中,( )的保护期不受期限限制。
A.发表权
B.发行权
C.展览权
D.署名权
解析:
著作权保护期限作者的署名权、修改权、保护作品完整权的保护期不受限制。
公民的作品,其发表权、使用权和获得报酬权的保护期为作者终生及其死亡后50年,截止于作者死亡后第50年的12月31日;如果是合作作品,截止到最后死亡的作者死亡后第50年的12月31日。
法人或者其他组织的作品、著作权(署名权除外)由法人或者其他组织享有的职务作品,其发表权、使用权和获得报酬权的保护期为50年,截止于作品首次发表后第50年的12月31日,但作品自创作完成后50年内未发表的,著作权法不再保护。
答案:D
67.以下关于计算机软件著作权的叙述中,正确的是( )。
A.软件著作权自软件开发完成之日生效
B.非法进行拷贝、发布或更改软件的人被称为软件盗版者
C.开发者在单位或组织中任职期间所开发软件的著作权应归个人所有
D.用户购买了具有版权的软件,则具有对该软件的使用权和复制权
解析:
B 范围小了-- 还有传播盗版软件的人 也属于盗版者
C.开发者在单位或组织中任职期间所开发软件的著作权应归个人所有-- 归公司或组织所有
D.用户购买了具有版权的软件,则具有对该软件的使用权和复制权 – 只有使用权
答案:A
68.如果A公司购买了一个软件的源程序,A公司将该软件源程序中的所有标识符做了全面修改后,作为该公司的产品销售,
这种行为( )。
A.尚不构成侵权
B.侵犯了著作权
C.侵犯了专利权
D.属于不正当竞争
解析:
使用其中算法思想不构成侵权 只改了标识符侵犯了著作权
答案:B
69.数学模型常带有多个参数,而参数会随环境因素而变化。根据数学模型求出最优解或满意解后,还需要进行( ),对计算结果进行检验,分析计算结果对参数变化的反应程度。
A.一致性分析 B.准确性分析 C.灵敏性分析 D.似然性分析
解析:
灵敏度分析是研究与分析一个系统(或模型)的状态或输出变化对系统参数或周围条件变化的敏感程度的方法。
在最优化方法中经常利用灵敏度分析来研究原始数据不准确或发生变化时最优解的稳定性。
通过灵敏度分析还可以决定哪些参数对系统或模型有较大的影响。
答案:C
70.某工程项目包括六个作业A~F,各个作业的衔接关系以及所需时间见下表,作业D最多能拖延( )天,而不会影响该项目的总工期。
A. 0
B. 1
C. 2
D. 3
解析:
参考本专栏:六、软考-系统架构设计师笔记-软件工程基础知识
https://blog.csdn.net/qq_37883866/article/details/136490533
画图:
作业D最多能拖延( )天,而不会影响该项目的总工期 求D的TF
由图可知 D的TF=2
答案:C
软考-系统架构设计师-2019年下午案例真题
考试时间 14:30 ~18:00
案例最长答题时间 14:30 ~ 16:00
(第一题必答,二~五题选两个)
试题一(25分)
某电子商务公司为了更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分为不同的等级,并针对不同等级的用户提供相应的折扣方案。在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下:
(a)用户目前分为普通用户、银卡用户、金卡用户和白金用户四个等级,后续需要能够根据消费情况进行动态调整;
(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;
©在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应;
(d)在各种节假日或公司活动中,针对所有级别用户,系统均能够根据用户实时的消费情况动态调整折扣力度;
(e)系统主站点断电后,应在5秒内将请求重定向到备用站点;
(f)系统支持中文昵称,但用户名要求必须以字母开头,长度不少于8个字符;
(g)当系统发生网络失效后,需在15秒内发现错误并启用备用网络;
(h)系统在展示商品的实时视频时,需要保证视频画面具有1024x768像素的分辨率,40帧/秒的速率;
(i)系统要扩容时,应保证在10人•月内完成所有的部署与测试工作;
(j)系统应对用户信息数据库的所有操作都进行完整记录;
(k)更改系统的Web界面接口必须在4人•周内完成;
(l)系统必须提供远程调试接口,并支持远程调试。
在对系统需求、质量属性描述和架构特性进行分析的基础上,该系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。
问题1 (13分)
针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风格,并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的(1) ~(3)空白处。
表 1-1 两种架构风格的比较与分析
架构风格名称 | 灵活性 | 可扩展性 | 性能 |
---|---|---|---|
面向对象 | 将用户级别、折扣规则等封装为对象,在系统启动时加载 | (2) | (3) |
基于规则 | (1) | 加入新的用户级别和折扣规则时只需要定义新的规则,解释规则即可进行扩展 | 需要对用户级别与折扣规则进行实时解释、性能较差 |
解析:
题干中多次提到动态调整 所以系统更适合采用基于规则的架构风格
答案:
系统更适合采用基于规则的架构风格。
(1)将用户级别、折扣规则等描述为可动态改变的规则数据
(2)加入新的用户级别和折扣规则时需要重新定义新的对象,并需要重启系统
(3)用户级别和折扣规则已经在系统内编码,可直接运行,性能较好。
问题2(12分)
在架构评估过程中,质量属性效用树(utilitytree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a) ~(l)填入(3) ~ (6)空白处,完成该系统的效用树。
解析:
(3)属于性能 (h)系统在展示商品的实时视频时,需要保证视频画面具有1024x768像素的分辨率,40帧/秒的速率;
(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御; 属于安全性 所以(1)是安全性
(4) 也应该是安全性 (j)系统应对用户信息数据库的所有操作都进行完整记录;
(5)是可用性 (e)系统主站点断电后,应在5秒内将请求重定向到备用站点;
(2)包含 (i)系统要扩容时,应保证在10人•月内完成所有的部署与测试工作; 所以(2)是 可修改性
(6)也是可修改性 (k)更改系统的Web界面接口必须在4人•周内完成;
答案:
(1)安全性 (2)可修改性 (3) (h) (4) (j) (5) (e) (6) (k)
试题二(25分)
某软件企业为快餐店开发一套在线订餐管理系统,主要功能包括:
(1)在线订餐:已注册客户通过网络在线选择快餐店所提供的餐品种类和数量后提交订单,系统显示订单费用供客户确认,客户确认后支付订单所列各项费用。
(2)厨房备餐:厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工。
(3)食材采购:当快餐店某类食材低于特定数量时自动向供应商发起采购信息,包括食材类型和数量,供应商接收到采购信息后按照要求将食材送至快餐店并提交已采购的食材信息,系统自动更新食材库存。
(4)生成报表:每个周末和月末,快餐店经理会自动收到系统生成的统计报表,报表中详细列出了本周或本月订单的统计信息以及库存食材的统计信息。
现采用数据流图对上述订餐管理系统进行分析与设计,系统未完成的0层数据流图如图2-1所示。
问题1 (8分)
根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1E4和加工P1P4的具体名称。
解析:
系统显示订单费用供客户确认 所以E1是客户
厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工 所以E2是厨房
当快餐店某类食材低于特定数量时自动向供应商发起采购信息 所以E4是 供应商
剩个E3 是快餐店经理
P1和订单相关 在线订餐
P2 和餐品相关 厨房备餐
P3和食材汇总相关 生成报表
P4和采购相关 食材采购
答案:
E1:客户 E2:厨房 E3:快餐店经理 E4:供应商
P1:在线订餐 P2:厨房备餐 P3:生成报表 P4:食材采购
问题2(8分)
根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的0层数据流图。
解析:
找缺失的数据流按照下面三个原则一点一点找:
①、父图子图的平衡 将0层数据流图(子图)的E(实体)圈在外面 看每条数据流 数据量的数量和方向要保持一致
②、加工要有输入和输出 即 P(加工)有输入有输出
③、结合文字描述一条一条数据流看
答案:
问题3 (9分)
根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。
解析:
数据流图(DFD):它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
系统流程图:用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况和系统的操作控制。
答案:
数据流图(DFD):它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
系统流程图:用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况和系统的操作控制。
区别:
(1)数据流图是理解和表达用户需求的工具,是需求分析的手段。系统流程图是描绘物理系统的传统工具。
(2)数据流图展现系统的数据流。系统流程图展现系统的控制流。
(3)数据流图适用于系统分析中的逻辑建模阶段。系统流程图适用于系统设计中的物理建模阶段。
试题三(25分) 未找到资源
试题四(25分)
某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访问方式。系统上线后受到用户普遍欢迎,在线用户数和订单数量迅速增长,原有的关系数据库服务器不能满足高速并发的业务要求。为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存系统的过程中,企业碰到了一系列技术问题。
问题1 (11分)
该系统使用过程中,由于同样的数据分别存在于数据库和缓存系统中,必然会造成数据同步或数据不一致性的问题。该企业团队为解决这个问题,提出了如下解决思路:应用程序读数据时,首先读缓存,当该数据不在缓存时,再读取数据库;应用程序写数据时,先写缓存,成功后再写数据库;或者先写数据库,再写缓存。王工认为该解决思路并未解决数据同步或数据不一致性的问题,请用100字以内的文字解释其原因。王工给出了一种可以解决该问题的数据读写步骤如下:
读数据操作的基本步骤:
1.根据key读缓存;
2.读取成功则直接返回;
3.若key不在缓存中时,根据key ( a );
4.读取成功后,( b );
5.成功返回。
写数据操作的基本步骤:
1.根据key值写( c );
2.成功后( d );
3.成功返回。
请填写完善上述步骤中(a) ~(d)处的空白内容。
解析:
Redis的
Cache Aside Pattern(旁路缓存模式)
Cache Aside Pattern 中遇到写请求是这样的:更新 DB,然后直接删除 cache 。
如果更新数据库成功,而删除缓存这一步失败的情况的话,
简单说两个解决方案:
缓存失效时间变短(不推荐,治标不治本):我们让缓存数据的过期时间变短,这样的话缓存就会从数据库中加载数据。另外,这种解决办法对于先操作缓存后操作数据库的场景不适用。
增加 cache 更新重试机制(常用):如果 cache 服务当前不可用导致缓存删除失败的话,我们就隔一段时间进行重试,重试次数可以自己定。如果多次重试还是失败的话,我们可以把当前更新失败的 key 存入队列中,等缓存服务可用之后,再将缓存中对应的 key 删除即可。
答案:
该解决思路并未解决数据同步或数据不一致性的原因:应用程序写数据时,先写缓存,成功了,但在写数据库的时候出现异常如
断电等,会造成缓存与数据库的不一致。当多个请求发生时,也可能产生读写冲突的并发问题。
(a)从数据库中读取数据
(b)更新缓存中key值或更新缓存
©删除缓存key值
(d)写数据库
问题2 (8分)
缓存系统一般以key/value形式存储数据,在系统运维中发现,部分针对缓存的查询,未在缓存系统中找到对应的key,从而引发
了大量对数据库服务器的查询请求,最严重时甚至导致了数据库服务器的宕机。经过运维人员的深入分析,发现存在两种情况:
(1)用户请求的key值在系统中不存在时,会查询数据库系统,加大了数据库服务器的压力;
(2)系统运行期间,发生了黑客攻击,以大量系统不存在的随机key发起了查询请求,从而导致了数据库服务器的宕机。
经过研究,研发团队决定,当在数据库中也未查找到该key时,在缓存系统中为key设置空值,防止对数据库服务器发起重复查询。请用100字以内文字说明该设置空值方案存在的问题,并给出解决思路。
解析:
缓存常见的三个问题:
缓存穿透:大量请求的 key 是不合理的,根本不存在于缓存中,也不存在于数据库中 。这就导致这些请求直接到了数据库上,根本没有经过缓存这一层,对数据库造成了巨大的压力。甚至导致数据库宕机。
缓存击穿:请求的 key 对应的是 热点数据 ,该数据 存在于数据库中,但不存在于缓存中(通常是因为缓存中的那份数据已经过期) 。这就可能会导致瞬时大量的请求直接打到了数据库上,对数据库造成了巨大的压力,甚至导致数据库宕机。
缓存雪崩:缓存在同一时间大面积的失效,导致大量的请求都直接落到了数据库上,对数据库造成了巨大的压力。 这就好比雪崩一样,大量的请求直接打到了数据库上,对数据库造成了巨大的压力,甚至导致数据库宕机。
题目中所说的两种情况就是缓存穿透和缓存击穿。
答案:
存在问题:数据库中未查找到该key时如果均设置key值为空,会造成内存资源的极大浪费,造成性能下降。
解决思路:查询缓存之前,对key值进行过滤,只允许系统中存在的key进行后续操作。例如使用布隆过滤器来过滤掉不存在的请求,从而减轻数据库的压力。当一个请求到来时,首先通过布隆过滤器判断其是否可能存在,如果不存在就可以立即拒绝该请求,而不必查询数据库。
问题3 (6分)
缓存系统中的key一般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取数据库,并更新缓存中的key。运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。请用100字以内文字,给出解决该问题的两种不同思路。
解析:
题目中描述的就是 缓存雪崩。
答案:
思路1:给不同key设置随机失效时间或不同的失效时间,使失效时间的分布尽量均匀。
思路2:在分布式缓存系统部署条件下,将热点数据均匀分布在不同的缓存系统中。
试题五(25分)
某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资
产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:
(1)系统应支持大于50个终端设备的并发请求;
(2)系统应能够实时识别车牌,识别时间应小于1s;
(3)系统应7x24小时工作;
(4)具有友好的用户界面;
(5)可抵御常见SQL注入攻击;
(6)独立事务操作响应时间应小于3s;
(7)系统在故障情况下,应在1小时内恢复;
(8)新用户学习使用系统的时间少于1小时。
面对系统需求,公司召开项目组讨论会议,制订系统设计方案,最终决定基于分布式架构设计实现该物流车辆管理系统,应用Kafka、Redis数据缓存等技术实现对物流车辆自身数据、业务数据进行快速、高效的处理。
问题1(4分)
请将上述非功能性需求(1) ~ (8)归类到性能、安全性、可用性、易用性这四类非功能性需求。
解析:
见答案
答案:
性能: (1)、(2)、(6)
安全性:(5)
可用性:(3)、(7)
易用性:(4)、(8)
问题2(14分)
经项目组讨论,完成了该系统的分布式架构设计,如图5-1所示。请从下面给出的(a)~(j)中进行选择,补充完善图5-1中(1) ~ (7)处空白的内容。
(a) 数据存储层
(b) Struct2
© 负载均衡层
(d) 表现层
(e) HTTP协议
(f) Redis数据缓存
(g) Kafka分发消息
(h) 分布式通信处理层
(i) 逻辑处理层
(j) CDN内容分发
解析:
见答案
答案:
(1) (d)、 (2) (e)、 (3) (i)、 (4) (h)、 (5) (g) 、(6) (f)、 (7) (a)
问题3 (7分)
该物流车辆管理系统需抵御常见的SQL注入攻击,请用200字以内的文字说明什么是SQL注入攻击,并列举出两种抵御SQL注入攻击的方式。
解析:
见答案
答案:
SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。
可以通过以下方式抵御SQL注入攻击:
使用参数化的过滤性语句
检查用户输入的合法性
存储过程来执行所有的查询
使用专业的漏洞扫描工具
软考-系统架构设计师-2019年下午论文真题
(注: 所有论文仅供参考)
论文答题技巧
考试时间 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道解答。
试题一
论软件设计方法及其应用软件设计(Software Design,SD)根据软件需求规格说明书设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及程序流程等,形成软件的具体设计方案。软件设计把许多事物和问题按不同的层次和角度进行抽象,将问题或事物进行模块化分解,以便更容易解决问题。分解得越细,模块数量也就越多,设计者需要考虑模块之间的耦合度。
请围绕“论软件设计方法及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
2.详细阐述有哪些不同的软件设计方法,并说明每种方法的适用场景。
3.详细说明你所参与的软件开发项目中,使用了哪种软件设计方法,具体实施效果如何。
试题二
论软件系统架构评估及其应用对于软件系统,尤其是大规模复杂软件系统而言,软件系统架构对于确保最终系统的质量具有十分重要的意义。在系统架构设计结束后,为保证架构设计的合理性、完整性和针对性,保证系统质量,降低成本及投资风险,需要对设计好的系统架构进行评估。架构评估是软件开发过程中的重要环节。
请围绕“软件系统架构评估及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
2.详细阐述有哪些不同的软件系统架构评估方法,并从评估目标、质量属性和评估活动等方面论述其区别。
3.详细说明你所参与的软件开发项目中,使用了哪种评估方法,具体实施过程和效果如何。
试题三
论数据湖技术及其应用
近年来,随着移动互联网、物联网、工业互联网等技术的不断发展,企业级应用面临的数据规模不断增大,数据类型异常复杂。针对这一问题,业界提出“数据湖(Data Lake)”这一新型的企业数据管理技术。数据湖是一个存储企业各种原始数据的大型仓库,支持对任意规模的结构化、半结构化和非结构化数据进行集中式存储,数据按照原有结构进行存储,无须进行结构化处理;数据湖中的数据可供存取、处理、分析及传输,支撑大数据处理、实时分析、机器学习、数据可视化等多种应用,最终支持企业的智能决策过程。
请围绕“数据湖技术及其应用”论题,依次从以下三个方面进行论述。
1.概要叙述你所参与管理或开发的软件项目,以及你在其中所承担的主要工作。
2.详细阐述数据湖技术,并从主要数据来源、数据模式(Schema)转换时机、数据存储成本、数据质量、面对用户和主要支撑应用类型等5个方面详细论述数据湖技术与数据仓库技术的差异。
3.详细说明你所参与的软件开发项目中,如何采用数据湖技术进行企业数据管理,并说明具体实施过程及应用效果。
试题四
论负载均衡技术在Web系统中的应用负载均衡技术是提升Web系统性能的重要方法。利用负载均衡技术,可将负载(工作任务)进行平衡、分摊到多个操作单元上执行,从而协同完成工作任务,达到提升Web系统性能的目的。
请围绕“负载均衡技术在Web系统中的应用”论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目,以及你在其中所承担的主要工作。
2.详细阐述常见的三种负载均衡算法,说明算法的基本原理。
3.详细说明你所参与的软件开发项目中,如何基于负载均衡算法实现Web应用系统的负载均衡。