[每日一练]2023年12月软件水平考试考试《(高级)系统架构设计师》精选试题练习

|类别:软件水平考试

【单选题】遗产系统(Legacy System)的演化策略分为淘汰策略、继承策略、改造策略和集成策略。具有(请作答此空)特点的系统适合用继承策略演化。实施该策略时,应( )。

A、技术含量低,具有较低的业务价值

B、技术含量较低,具有较高的商业价值,目前企业的业务尚紧密依赖该系统

C、技术含量较高,基本能够满足企业业务运作和决策支持的需要

D、技术含量较高,业务价值低,可能只完成某个部门(或子公司)的业务

答案:B

解析:如上图,把对遗留系统的评价结果分列在坐标的四个象限内。对处在不同象限的遗留系统采取不同的演化策略。1. 淘汰策略第三象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的业务价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本变化,遗留系统已经基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上更合算。对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。2. 继承策略第二象限为低水平、高价值区,即遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。3. 改造策略第一象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有极大的生命力。系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。4. 集成策略第四象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。


【单选题】某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。该系统要求正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应,这属于质量特性的( );网络失效后,系统需要在 10 秒内发现错误并启用备用系统,这属于质量特性的( );更改系统的 Web 界面接口必须在 4 人周内完成,这属于质量特性的( );如果"养护报告生成"业务逻辑的描述尚未达成共识,可能导致部分业务功能模块规则的矛盾,影响系统的可修改性,这属于系统的( );更改系统加密的级别将对安全性和性能产生影响,这属于系统的( );对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计,这属于系统的(请作答此空)。

A、权衡点

B、风险点

C、敏感点

D、非风险点

答案:C

解析:性能是指系统的响应能力,即要经过多长时间才能对某个时间做出响应。可用性是指系统两次故障之间系统正常运行的比例。当可用性和可靠性同时出现在选项中的时候,我们通常选择可用性。可修改性是指较高的性价比对系统进行变更的能力。敏感点是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性。权衡点是指影响多个质量属性的特性,是多个质量属性的敏感点。风险点不以标准术语出现,它指某些做法有一些隐患可能导致一些问题。非风险点是指某些做法是可行的、可接受的。


【单选题】面向对象的分析模型主要由顶层架构图、用例与用例图和(13)构成:设计模型则包含以(14)表示的软件体系机构图、以交互图表示的用例实现图、完整精确的类图、描述复杂对象的(15)和用以描述流程化处理过程的活动图等。【回答括号14】

A、模型试图控制器

B、组件图

C、包图

D、2 层、3 层或 N 层

答案:C

解析:面向对象的分析模型主要由顶层架构图、用例与用例图和领域概念模型构成; 设计模型则包含以包图表示的软件体系机构图、以交互图表示的用例实现图、完整精确的类图、描述复杂对象的状态图和用以描述流程化处理过程的活动图等。


【单选题】在面向对象分析中,利用( )表示需求,并从中提炼出中( ),以上两者形成(请作答此空),之后再进行后续的开发工作。

A、领域模型

B、包图

C、体系结构图

D、类图

答案:D

解析:在面向对象分析中,利用用例与用例图表示需求,从用例模型中提炼形成领域模型,用例的实现可以用交互图表示。从领域模型和用例图形成类图,用包图和类图形成体系结构图。之后再进行后续的开发工作。


【单选题】关于集中式负载均衡的特点不正确的是( )

A、系统的可扩展性不强,均衡器需要记录所有计算机的负载信息。

B、安全性较差,如果均衡器所在的计算机瘫痪,则会导致整个集群系统的瘫痪。

C、与分布式负载均衡方式相比,实现简单。

D、实现灵活,负载均衡器可以根据不同场景的特性配置不同的均衡策略。

答案:D

解析:与分布式负载均衡方式相比,集中式负载均衡实现简单,但也存在以下缺点:(1)系统的可扩展性不强,均衡器需要记录所有计算机的负载信息。(2)安全性较差,如果均衡器所在的计算机瘫痪,则会导致整个集群系统的瘫痪。(3)实现不够灵活,负载均衡器很难根据不同场景的特性配置不同的均衡策略。


【单选题】峰值MIPS(每秒百万次指令数)用来描述计算机的定点运算速度,通过对计算机指令集中基本指令的执行速度计算得到。假设某计算机中基本指令的执行需要5个机器周期,每个机器周期为3微秒,则该计算机的定点运算速度为()MIPS。

A、8

B、15

C、0.125

D、0.067

答案:D

解析:本题主要考查考生对计算机的定点运算速度描述的理解与掌握。根据题干描述,假设某计算机中基本指令的执行需要5个机器周期,每个机器周期为3微秒,则该计算机每完成一个基本指令需要5×3=15微秒,根据峰值MIPS的定义,其定点运算速度为1/15=0.067MIPS,特别需要注意单位“微秒”和“百万指令数”,在计算过程中恰好抵消。


【单选题】以下说法错误的是()

A、COM接口可通过(单)接口继承从其他COM接口中派生。

B、COM支持系统注册器,它类似CORBA存储器。

C、COM的接口继承与其支持的多态无关。

D、即使公布了,COM接口和它的规范也可以以某种特定的形式改变。

答案:D

解析:本体考察的是和COM相关连的内容的理解。一旦公布,COM接口和其他的规范不允许以任何形式改变,既解决了语法问题,也解决了弱基类问题。


【单选题】面向服务(Service-Oriented,SO)的开发方法将( )的定义与实现进行解耦,并将跨构件的功能调用暴露出来。该方法有三个主要的抽象级别,最低层的(请作答此空)代表单个逻辑单元的事物,包含特定的结构化接口,并且返回结构化的响应;第二层的服务代表操作的逻辑分组;最高层的( )则是为了实现特定业务目标而执行的一组长期运行的动作或者活动。

A、类

B、对象

C、操作

D、状态

答案:C

解析:OO的应用构建在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(Component)的概念。对于跨构件的功能调用,则采用接口的形式暴露出来。进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Oriented,SO)的开发方法。由此可见,面向对象、基于构件、面向服务是三个递进的抽象层次。SO方法有三个主要的抽象级别,分别是操作、服务和业务流程。位于最低层的操作代表单个逻辑单元的事物,执行操作通常会导致读、写或修改一个或多个持久性数据。服务的操作类似于对象的方法,它们都有特定的结构化接口,并且返回结构化的响应;位于第二层的服务代表操作的逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动,包括依据一组业务规则按照有序序列执行的一系列操作。其中操作的排序、选择和执行成为服务或流程的编排,典型的情况是调用已编排的服务来响应业务事件。


【单选题】在结构化分析方法中,用(9)表示功能模型,用(10)表示行为模型。【回答括号10】

A、通信图

B、顺序图

C、活动图

D、状态转换图

答案:D

解析:结构化分析方法的基本思想是自顶向下,逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的。结构化方法分析模型的核心是数据字典,围绕这个核心,有三个层次的模型,分别是数据模型、功能模型和行为模型(也称为状态模型)。在实际工作中,一般使用E-R图表示数据模型,用DFD表示功能模型,用状态转换图表示行为模型。这三个模型有着密切的关系,它们的建立不具有严格的时序性,而是一个迭代的过程。


【单选题】( )适用于程序开发人员在地域上分布很广的开发团队。( )中,编程开发人员分成首席程序员和“类”程序员。【答第一空】 A. 水晶系列(Crystal)开发方法

A、开放式源码(Open source)开发方法

B、SCRUM开发方法

C、功用驱动开发方法(FD

D、

答案:B

解析:(1) XP (Extreme Programming,极限编程)在所有的敏捷型方法中,XP是最引人瞩目的。它源于Smalltalk圈子,特别是Kent Beck和Ward Cunningham在20世纪80年代末的密切合作。XP在一些对费用控制严格的公司中的使用,已经被证明是非常有效的。 (2) Cockburn的水晶系列方法,水晶系列方法是由Alistair Cockburn提出的。它与XP方法一样,都有以人为中心的理念,但在实践上有所不同。Alistair考虑到人们一般很难严格遵循一个纪律约束很强的过程,因此,与XP的高度纪律性不同,Alistair探索了用最少纪律约束而仍能成功的方法,从而在产出效率与易于运作上达到一种平衡。也就是说,虽然水晶系列不如XP那样的产出效率,但会有更多的人能够接受并遵循它。 (3) 开放式源码,这里提到的开放式源码指的是开放源码界所用的一种运作方式。开放式源码项目有一个特别之处,就是程序开发人员在地域上分布很广,这使得它和其他敏捷方法不同,因为一般的敏捷方法都强调项目组成员在同一地点工作。开放源码的一个突出特点就是查错排障(debug)的高度并行性,任何人发现了错误都可将改正源码的“补丁”文件发给维护者。然后由维护者将这些“补丁”或是新增的代码并入源码库。 (4) SCRUM。SCRUM己经出现很久了,像前面所论及的方法一样,该方法强调这样一个事实,即明确定义了的可重复的方法过程只限于在明确定义了的可重复的环境中,为明确定义了的可重复的人员所用,去解决明确定义了的可重复的问题。 (5) Coad的功用驱动开发方法(FDD-Feature Driven Development) FDD是由Jeff De Luca和大师Peter Coad提出来的。像其他方法一样,它致力于短时的迭代阶段和可见可用的功能。在FDD中,一个迭代周期一般是两周。 在FDD中,编程开发人员分成两类:首席程序员和“类”程序员(class owner)。首席程序员是最富有经验的开发人员,他们是项目的协调者、设计者和指导者,而“类”程序员则主要做源码编写。 (6) ASD方法,ASD (Adaptive Software Development)方法由Jim Highsmith提出,其核心是三个非线性的、重叠的开发阶段:猜测、合作与学习。