问答题 (一共59题,共59分)

1.

某软件企业为快餐店开发一套在线订餐管理系统,主要功能包括:

(1)在线订餐:已注册客户通过网络在线选择快餐店所提供的餐品种类和数量后提交订单,系统显示订单费用供客户确认,客户确认后支付订单所列各项费用。

(2)厨房备餐:厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工。

(3)食材采购:当快餐店某类食材低于特定数量时自动向供应商发起来购信息,包括食材类型和数量,供应商接收到采购信息后按照要求将食材送至快餐店并提交已采购的食材信息,系统自动更新食材库存 。

(4)生成报表:每个周末和月末,快餐店经理会自动收到系统生成的统计报表,报表中详细列出了本周或本月订单的统计信息以及库存食材的统计信息。现采用数据流图对上述订餐管理系统进行分析与设计,系统未完成的0层数据流图。

如图2-1 所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1

【问题 1】(8分)

根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1~E4和加工P1~ P4的具体名称。

【问题 2】(8 分)

根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的0层数据流图。

【问题3】(9 分)

根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。

2.

某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括:

(1)统一身份认证模块:提供统一的认证入口,为平台其他核心业务模块提供用户管理、身份认证、权限分级和单点登录等功能;

(2)共享资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能;

(3)共享资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视频点播、资源检索、分类展示、资源评价和推荐等功能;

(4)资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性,包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能;

(5)系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。

项目组经过分析和讨论,决定采用基于 Java EE 的 MVC 模式设计资源共享平台的软件架构,如图 2-1 所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1 资源共享平台软件架构

【问题1】(9分)

MVC架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将JavaEE中 JSP、Servlet、Service、JavaBean、DAO五种构件分别填入空 (1)~(5) 所示位置。

【问题2】(6分)

项目组架构师王工提出在图 2-1 所示架构设计中加入EJB构件,采用企业级JavaEE架构开发资源共享平台。请说明EJB构件中的 Bean (构件)分为哪三种类型,每种类型Bean的职责是什么。

【问题3】(10分)

如果采用王工提出的企业级 JavaEE 架构,请说明下列(a)-(e)所给出的业务功能构件中,有状态和无状态构件分别包括哪些。

(a)Identification Bean(身份认证构件)

(b)ResPublish Bean(资源发布构件)

(c)ResRetrieval Bean(资源检索构件)

(d)OnlineEdit Bean(在线编辑构件)

(e)Statistics Bean(统计分析构件)

3.

某公司欲建设一个房屋租赁服务系统,统一管理房主和租赁者的信息,提供快捷的租赁服务。本系统的主要功能描述如下:

1. 登记房主信息。记录房主的姓名、住址、身份证号和联系电话等信息,并写入房主信息文件。

2. 登记房屋信息。记录房屋的地址、房屋类型(如平房、带阳台的楼房、独立式住宅等)、楼层、租金及房屋状态(待租赁、已出租)等信息,并写入房屋信息文件。一名房主可以在系统中登记多套待租赁的房屋。

3. 登记租赁者信息。记录租赁者的个人信息,包括:姓名、性别、住址、身份证号和电话号码等,并写入租赁者信息文件。

4. 安排看房。已经登记在系统中的租赁者,可以从待租赁房屋列表中查询待租赁房屋信息。租赁者可以提出看房请求,系统安排租赁者看房。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。

5. 收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。

6. 变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题1】(12分)

若采用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD。使用题干中给出的词语,给出图2-1中外部实体E1~E2、加工P1~P6以及数据存储D1~D4的名称。

【问题2】(5分)

若采用信息工程(Information Engineering)方法对房屋租赁服务系统进行分析,得到如图2-2所示的ERD。请给出图2-2中实体(1)~ (5)的名称。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】 (8分)

(1)信息工程方法中的“实体(entity)” 与面向对象方法中的“类(class)”之间有哪些不同之处?

(2)在面向对象方法中通常采用用例(Use Case)来捕获系统的功能需求。用例可以按照不同的层次来进行划分,其中的Essential Use Cases和Real Use Cases有哪些区别?

4.

某公司拟研制一款高空监视无人直升机,该无人机采用遥控一自主复合型控制实现垂直升降。该直升机飞行控制系统由机上部分和地面部分组成,机上部分主要包括无线电传输设备、飞控计算机、导航设备等,地面部分包括遥控操纵设备、无线电传输设备以及地面综合控制计算机等。其主要工作原理是地面综合控制计算机负责发送相应指令,飞控计算机按照预定程序实现相应功能。经过需求分析,对该无人直升机控制系统纵向控制基本功能整理如下:

(a)飞控计算机加电后,应完成系统初始化,飞机进入准备起飞状态;

(b)在准备起飞状态中等待地面综合控制计算机发送起飞指令,飞控计算机接收到起飞指令后,进入垂直起飞状态;

(c)垂直起飞过程中如果飞控计算机发现飞机飞行异常,飞行控制系统应转入无线电遥控飞行状态,地面综合控制计算机发送遥控指令;

(d)垂直起飞达到预定起飞高度后,飞机应进入高度保持状态;

(e)飞控计算机在收到地面综合控制计算机发送的目标高度后,飞机应进入垂直升降状态,接近目标高度;垂直升降过程中出现飞机飞行异常,控制系统应转入无线电遥控飞行;

(f)飞机到达目标高度后,应进入高度保持状态,完成相应的任务;

(g)飞机在接到地面综合控制计算机发送的任务执行结束指令后,进入飞机降落状态;

(h)飞机降落过程中如果出现飞机飞行异常,控制系统应转入无线电遥控飞行;

(i)飞机降落到指定着陆高度后,进入飞机着陆状态,应按照预定着陆算法,进行着陆;

(j)无线电遥控飞行中,地面综合控制计算机发送着陆指令,飞机进入着陆状态,应按照预定着陆算法,进行着陆。

【问题1】(6分)

状态图和活动图是软件系统设计建模中常用的两种手段,请用200字以内文字简要说明状态图和活动图的含义及其区别。

【问题2】(10分)

根据题干中描述的基本功能需求,架构师王工通过对需求的分析和总结给出了无人直升机控制系统纵向控制状态图(图2-1)。请根据题干描述,提炼出相应状态及条件,并完善图2-1所示状态图中的(1)~(5),将答案填写在答题纸中。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1 无人直升机控制系统纵向控制状态图

【问题3】(9分)

根据题目中描述的基本功能需求,架构师王工给出了无人直升机控制系统纵向控制的顶层活动图(图2-2)。请根据题干描述,完善图2-2活动图的(1)-(9),将答案填写在答题纸中。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-2 无人直升机控制系统纵向控制顶层活动图

5.

某软件公司拟开发一套电子商务系统,王工作为项目组负责人负责编制项目计划。由于该企业业务发展需要,CEO急于启动电子商务系统,要求王工尽快准备一份拟开发系统的时间和成本估算报告。

项目组经过讨论后,确定出与项目相关的任务如表2-1所示。其中,根据项目组开发经验,分别给出了正常工作及加班赶工两种情况下所需的时间和费用。

表2-1 项目开发任务进度及费用

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题1】(7分)

请用400字以内文字说明王工拟编制的项目计划中应包括哪些内容。

【问题2】(8分)

请根据表2-1,分别给出正常工作和最短工期两种情况下完成此项目所需的时间和费用。

【问题3】(4分)

如果项目在系统调研阶段用了7天时间才完成,公司要求尽量控制成本,王工可在后续任务中采取什么措施来保证项目能按照正常工作进度完成?

【问题4】(6分)

如果企业CEO想在34天后系统上线,王工应该采取什么措施来满足这一要求?这种情况下完成项目所需的费用是多少?

6.

某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:

(1)系统用户必须成功登录到系统后才能使用系统的各项功能服务;

(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;

(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;

(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;

(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;

(6)每个月到了月底系统会通过打印机打印学生的考勤信息。

项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。

【问题1】(7分)

用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求,说明教学服务系统中有哪些参与者。

【问题2】(7分)

用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时, “登录系统”用例与“注册课程”用例之间、“参加考试”用例与“参加补考”用例之间的关系分别属于哪种类型?

【问题3】(11分)

类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类University与类Student之间、类University和类Department之间、类Student和类Course之间的关系分别属于哪种类型?

7.

某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求:

(1)W公司经常进行促销活动。根据不同的条件(如订单总额、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。

(2)该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。

项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。

【问题1】(6分)

设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。

【问题2】(9分)

请将项目组已经掌握的设计模式按照其作用分别归类到创建型、结构型和行为型模式中。

【问题3】(10分)

针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。

8.

阅读以下关于Web系统架构设计的叙述, 在答题纸上回答问题1至问题3。

【说明】

开发基于Web的基业设备检测系统,以实现对多种工业数据的分类采集,运行状态检测以及相关信息的管理该系统应具备以下功能:

现场设备状态采集功能,根据数据类型对设备检测指标状态信号进行分类采集,设备采集数据传输功能;9-11月可靠的传输技术,实现将设备数据从制造现场传输到系统后台设备检测显示功能;对设备的运行状态工作以及报警状态进行检测并提供相应的图形化界面设备信息管理功能;支持设备运行历史状态,报警记录参数信息的查询。

同时,该系统还需满足以下非功能性需求.

(a)系统应支持大于100个工业设备的运行检测

(b)设备数据以制造现场传输到系统后台传输时间小于1s

(c)系统应在7*24小时工作

(d)可抵御XSS攻击

(e)系统在故障情况下,应在0.5小时内恢复

(f)支持数据审计

面对系统需求,公司召开项目讨论会议,制定系统设计方案,最终决定使用三层拓补结构,即现场设备数据采集层、Web检测服务层和前端Web显示层。

【问题1】(6分)

请按照性能、安全性和可用性三种非功能需求分类将题干的(a)~(f)填入 (1)~(3) 空白处。非功能性需求归类表:

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

问题2】(14分)

该系统Web检测服务层拟采用SSM框架进行系统研发,SSM工作流程图如下图5-1所示,请从下面给出的(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) Conrtoller Layer

(k) Spring

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(5分)

该工业设备检测系统拟采用工业控制领域中统一的数据访问机制,实现与各种不同设备的数据交互,请用100以内的文字说明采用标准的数据访问机制的原因。

9.

某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访问方式。系统上线后受到用户普遍欢迎,在线用户数和订单数量迅速增长,原有的关系数据库服务器不能满足高速并发的业务要求。

为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存系统的过程中,企业碰到了一系列技术问题。

【问题 1】(11 分)

该系统使用过程中,由于同样的数据分别存在于数据库和缓存系统中,必然会造成数据同步或数据不一致性的问题。该企业团队为解决这个问题,提出了如下解决思路:应用程序读数据时,首先读缓存,当该数据不在缓存时,再读取数据库;应用程序写数据时,先写缓存,成功后再写数据库;或者先写数据库,再写缓存。王工认为该解决思路并未解决数据同步或数据不一致性的问题,请用100字以内的文字解释其原因 。王工给出了一种可以解决该问题的数据读写步骤如下 :

读数据操作的基本步骤 :

1.根据 key 读缓存:

2.读取成功则直接返回;

3.若 key 不在缓存中时,根据 key(  );

4.读取成功后,(  );

5.成功返回 。

写数据操作的基本步骤 :

1.根据 key 值写(  );

2.成功后(  );

3.成功返回。

请填写完善上述步骤中(a)~(d)处的空白内容。

【问题 2 】(8 分)

缓存系统一般以key/value形式存储数据,在系统运维中发现,部分针对缓存的查询,未在缓存系统中找到对应的key,从而引发了大量对数据库服务器的查询请求,最严重时甚至导致了数据库服务器的宕机。

经过运维人员的深入分析,发现存在两种情况:

(1)用户请求的 key值在系统中不存在时,会查询数据库系统,加大了数据库服务器的压力:

(2)系统运行期间,发生了黑客攻击,以大量系统不存在的随机key发起了查询请求,从而导致了数据库服务器的宕机 。经过研究,研发团队决定,当在数据库中也未查找到该key时,在缓存系统中为key设置空值,防止对数据库服务器发起重复查询 。

请用100字以内文字说明该设置空值方案存在的问题,并给出解决思路。

【问题 3】(6 分)

缓存系统中的key一般会存在有效期,超过有效期则key失效;有时也会根据LRU算法将某些key移出内存。当应用软件查询key时,如key失效或不在内存,会重新读取数据库,并更新缓存中的key。运维团队发现在某些情况下,若大量的key设置了相同的失效时间,导致缓存在同一时刻众多key同时失效,或者瞬间产生对缓存系统不存在key的大量访问,或者缓存系统重启等原因,都会造成数据库服务器请求瞬时爆量,引起大量缓存更新操作,导致整个系统性能急剧下降,进而造成整个系统崩溃。请用100字以内文字,给出解决该问题的两种不同思路。

10.

某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET平台和SQL Server数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在线访问的方式访问数据库;而李工认为本企业内部程序员缺乏数据库开发经验,而且应用简单,应该采用 ORM (对象关系映射)方式。最终经过综合考虑,该软件企业采用了李工的建议。

随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图 4-1

【问题 1】 (9分)

请用 300 字以内的文字分别说明数据库程序在线访问方式和 ORM 方式的优缺点,说明该软件企业采用 ORM 的原因。

【问题2】 (9分)

请用 100 宇以内的文字说明新体系架构中增加数据访问层的原因。请根据图 4-1 所示,填写图中空白处(1) - (3)。

【问题3】 (7分)

应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景;请解释说明工厂模式在数据访问层中的应用。

11.

某企业是为城市高端用户提供高品质蔬菜生鲜服务的初创企业,创业初期为快速开展业务,该企业采用轻量型的开发架构(脚本语言+关系型数据库)研制了一套业务系统。业务开展后受到用户普遍欢迎,用户数和业务数量迅速增长,原有的数据库服务器已不能满足高度并发的业务要求。为此,该企业成立了专门的研发团队来解决该问题。

张工建议重新开发整个系统, 采用新的服务器和数据架构,解决当前问题的同时为日后的扩展提供支持。但是,李工认为张工的方案开发周期过长,投入过大,当前应该在改动尽量小的前提下解决该问题。李工认为访问量很大的只是部分数据,建议采用缓存工具MemCache来减轻数据库服务器的压力,这样开发量小,开发周期短,比较适合初创公司,同时将来也可以通过集群进行扩展。然而,刘工又认为李工的方案中存在数据可靠性和一致性问题,在宕机时容易丢失交易数据,建议采用Redis来解决问题。在经过充分讨论,该公司最终决定采用刘工的方案。

在李工和刘工的方案中,均采用分布式数据库缓存技术来解决问题。请说明分布式数据库缓存的基本概念。

表4-1中对MemCache和Redis两种工具的优缺点进行了比较,请补充完善表 4-1中的空(1)~ (6)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】 (8分)

刘工认为李工的方案存在数据可靠性和一致性的问题,请说明原因。

为避免数据可靠性和一致性的问题,刘工的方案采用Redis作为数据库缓存,请说明基本的Redis与原有关系数据库的数据同步方案。

【问题3】 (8分)

请给出Redis分布式存储的2种常见方案和Redis集群切片的几种常见方式。

12.

某软件公司拟开发一套贸易综合管理系统,包括客户关系管理子系统和商品信息管理子系统两部分。客户关系管理子系统主要管理客户信息,并根据贸易业务需要频繁向客户发送相关的电子邮件、短信等提醒信息。商品信息管理子系统主要为客户提供商品信息在线查询功能,包括商品基本信息、实时库存与价格等。

在对系统进行数据架构设计时,公司项目组的架构师王工主张采用文件系统进行数据管理,原因是目前公司客户和商品数量不大,且系统功能较为简单,采用文件系统进行数据管理简单直观,开发周期短。架构师李工则建议采用关系数据库进行数据管理,原因在于公司目前正处在高速扩张期,虽然目前的客户和商品数量不大,但随着公司快速发展,需要管理的数据必然飞速膨胀,采用关系数据库作为数据存储层,系统的扩展性更强,并能够对未来可能增加的复杂业务提供有效支持。经过讨论,项目组初步采纳了李工的意见,决定采用关系数据库存储客户数据,并针对业务特征对系统性能进行优化。

【问题1】(8分)

请从设计难度、数据冗余程度、数据架构、应用扩展性等4个方面对关系型数据库管理系统和文件系统两种数据存储方式进行比较,填写表4-1中(1)~(4)。

表4-1 关系型数据库管理系统和文件系统存储方式比较

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(13分)

对系统的核心业务需求进行认真分析后,公司的资深架构师张工提出一种内存数据库和关系数据库的混合存储架构,其核心思想是将需要频繁读写的数据存入内存数据库,而将相对固定不变的数据存入关系数据库。请首先分析比较内存数据库和关系数据库在数据模型、读写性能、存储容量、可靠性等方面的差异,填写表4-2中(1)~(4)的空白,并根据张工的思路指定各种业务数据的存储方式,填写表4-3中(5)~(9)中的空白。

表4-2 内存数据库和关系数据库比较

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

表4-3 业务数据存储方式

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(4分)

系统开发完成进行压力测试时,发现在较大数据量的情况下,部分业务查询响应时间过长,经过分析发现其主要原因是部分SQL查询语句效率低下。请判断表4-4中的SQL语句设计策略哪些可能会提升查询效率,哪些可能会降低查询效率,在(1)~(4)中填入“提升”或“降低”。

表4-4 SQL设计策略对性能的影响

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

13.

某电子商务公司拟升级目前正在使用的在线交易系统,以提高客户网上购物时在线支付环节的效率和安全性。公司研发部门在需求分析的基础上,给出了在线交易系统的架构设计。公司组织相关人员召开了针对架构设计的评估会议,会上用户提出的需求、架构师识别的关键质量属性场景和评估专家的意见等内容部分列举如下:

(a)在正常负载情况下,系统必须在0.5秒内响应用户的交易请求;

(b)用户的信用卡支付必须保证99.999%的安全性;

(c)系统升级后用户名要求至少包含8个字符;

(d)网络失效后,系统需要在2分钟内发现错误并启用备用系统;

(e)在高峰负载情况下,用户发起支付请求后系统必须在10秒内完成支付功能;

(f)系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能;

(g)对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计;

(h)需要在30人月内为系统添加公司新购买的事务处理中间件;

(i)现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性;

(j)主站点断电后,需要在3秒内将访问请求重定向到备用站点;

(k)用户信息数据库授权必须保证99.999%可用;

(l)系统需要对Web界面风格进行修改,修改工作必须在4人月内完成;

(m)系统需要为后端工程师提供远程调试接口,并支持远程调试。

【问题1】(12分)

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图4-1中(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图4-1 在线交易系统效用树

【问题2】(13分)

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

14.

某商业银行欲开发一套个人银行系统,为用户提供常见的金融服务,包括转账、查询、存款变更和个人信息管理等功能。该软件除了业务需求外,还有一些特殊的表现层需求:

(1)根据用户级别的不同,界面和可用功能是不同的;

(2)支持Web、Windows、手机App等多种不同类型的界面;

(3)考虑到将来功能的扩展,需要系统支持界面的定制以及动态生成等功能,以降低系统维护和新功能发布的成本。

经过对需求的讨论,该银行初步决定采用MVC模式设计该个人银行系统的表现层,采用XML作为GUI的描述语言,并应用XML的界面管理技术来实现灵活的界面配置、界面动态生成和界面定制。

【问题1】(9分)

MVC模式强制性地将一个应用处理流程按照模型、视图、控制的方式进行分离,三者的协作关系如图4-1所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图4-1 MVC设计模式

请填写图4-1中的(1)~(3),并简要说明在该个人银行系统中采用MVC模式对界面设计的作用。

【问题2】(4分)

请从设计模式的角度,简要说明设计方案采用XML作为GUI描述语言的机制。

【问题3】(12分)

基于XML的界面管理技术可实现灵活的界面配置、界面动态生成和界面定制,其思路是用XML生成配置文件及界面所需的元数据,按不同需求生成界面元素及软件界面,其技术框图如图4-2所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图4-2 基于XML的界面管理技术框架

请将恰当的内容填入图4-2中的(1)~(3),并简要解释说明其含义。

15.

某电子产品制造公司,几年前开发建设了企业网站系统,实现了企业宣传、产品介绍、客服以及售后服务等基本功能。该网站技术上采用了Web服务器、动态脚本语言PHP。随着市场销售渠道变化以及企业业务的急剧拓展,该公司急需建立完善的电子商务平台。

公司张工建议对原有网站系统进行扩展,增加新的功能(包括订单系统、支付系统、库存管理等),这样有利于降低成本、快速上线;而王工则认为原有网站系统在技术上存在先天不足,不能满足企业业务的快速发展,尤其是企业业务将服务全球,需要提供24小时不间断服务,系统在大负荷和长时间运行下的稳定性至关重要。建议采用应用服务器的Web开发方法,例如J2EE,为该企业重新开发新的电子商务平台。

【问题1】(7分)

王工认为原有网站在技术上存在先天不足,不能满足企业业务的快速发展,根据你的理解,请用300字以内的文字说明原系统存在哪几个方面的不足。

【问题2】(8分)

请简要说明应用服务器的概念,并重点说明应用服务器如何来保障系统在大负荷和长时间运行下的稳定性以及可扩展性。

【问题3】(10分)

J2EE平台采用了多层分布式应用程序模型,实现不同逻辑功能的应用程序被封装到不同的构件中,处于不同层次的构件可被分别部署到不同的机器中。请填写图4-1中(1)~(5)处的空白,完成J2EE的N层体系结构。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图4-1 J2EE的N层体系结构示意图

16.

某软件公司拟开发一套电信领域的分布式系统,该系统后台多个功能模块同时运行时的计算负载较大,且需要控制不同的特定电信硬件设备,由于硬件体积和I/O端口冲突等原因,这些设备需要分散安装在多个不同计算机系统中。该系统上线运行后将为企业最终用户提供7×24小时的不间断服务,而用户的单次接入服务往往需要后台多个模块共同协作完成。基于上述原因,该系统后台软件模块需分布在局域网内的多台计算机上。

项目组决定基于ISO的开放分布进程(ODP)规范来进行系统架构的设计与开发,近期项目组召开了多次会议,对架构设计阶段的关键问题进行了讨论分析。

【问题1】(10分)

ODP从5个标准的视点组织分析系统的架构,这些视点描述了同一系统的不同重要方面,请根据图2-1中不同视点所关注的核心内容,将备选的架构视点填入图中的(1)~(5)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1 ODP架构视点示意图

备选答案:技术选择架构、企业业务架构、分布式工程架构、计算接口架构、逻辑信息架构

【问题2】(9分)

在技术选择架构规划时,王工认为系统应基于现有分布式基础设施(分布式中间件)来构建,因为这样可以充分利用现有基础设施提供的各种支撑,在更短时间内构造出质量更高的分布式系统;而李工则认为可基于基本的进程间通信机制自主开发系统的支撑平台,这样可以避免对特定中间件的依赖,项目组经过认真讨论,最终采用了王工的方案。请用400字以内文字,从构件管理支持、互操作支持以及公共服务支持三个方面说明现有分布式基础设施为构建分布式系统所提供的基本支撑。

【问题3】(6分)

由于系统后台模块的分布式特性,后台分布式对象之间的互操作机制是需要考虑的核心问题之一。图2-2所示是当前分布式基础设施中支持分布式对象互操作的基本机制,请将相应部件名称填入图中(1)~(2);基于图2-2给出的结构,用300字以内文字说明完成一次分布式对象调用的详细步骤。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-2 分布式对象互操作基本机制

17.

某企业委托软件公司开发一套包裹信息管理系统,以便于对该企业通过快递收发的包裹信息进行统一管理,在系统设计阶段,需要对不同快递信息的包裹单信息进行建模,其中,邮政包裹单如图:

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

问题1]

请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?

[问题2]

请说明什么是超类实体?结合图中包裹单信息,试设计一种超类实体,给出完整的属性列表。

[问题3]

请说明什么是派生属性?结合图中包裹单信息说明哪个属性是派生属性。

18.

某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:

(1)系统应支持大于 50 个终端设备的并发请求;

(2)系统应能够实时识别车牌,识别时间应小于1s;

(3)系统应 7×24 小时工作;

(4)具有友好的用户界面;

(5)可抵御常见SQL注入攻击 ;

(6)独立事务操作响应时间应小于 3s;

(7)系统在故障情况下,应在1小时内恢复;

(8) 新用户学习使用系统的时间少于1小时 。

面对系统需求 ,公司召开项目组讨论会议,制订系统设计方案 ,最终决定基于分布式架构设计实现该物流车辆管理系统,应用Kafka、Redis数据缓存等技术实现对物流车辆自身数据、业务数据进行快速、高效的处理。

【问题 1】(4分)

请将上述非功能性需求(1)~(8)归类到性能、安全性、可用性、易用性这四类非功能性需求。

【问题 2 】(14 分)

经项目组讨论,完成了该系统的分布式架构设,如图5-1所示。请从下面给出的(a)~(j)中进行选择,补充完善图5-1中(1)~(7)处空白的内容。

(a)数据存储层

(b)Struct2

(c)负载均衡层

(d)表现层

(f)HTTP协议

(f)Redis数据缓存

(g)Kafka分发消息

(h)分布式通信处理层

(i)逻辑处理层

(j)CDN内容分发

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题 3】(7 分)

该物流车辆管理系统需抵御常见的SQL注入攻击,请用200字以内的文字说明什么是SQL注入攻击,并列举出两种抵御SQL注入攻击的方式。

19.

某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的B2C 商品交易平台已不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展“秒杀”、“限时促销”等活动的系统高并发访问量的需求。面对系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。 同时,采用增加镜像站点、CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能。李工提出应同时结合负载均衡、缓存服务器、Web 应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王工和李工的思路,完成新系统的架构设计。

【问题1】 (5分)

请用 200字以内的文字描述什么是“响应式 Web 设计”,并列举 2 个响应式 Web 设计的实现方式。

【问题2】 (16 分)

综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如图 5-1 所示。请从选项 (a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的 Web 应用系统架构设计图。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

(a)Web 应用层

(b)界面层

(c)负载均衡层

(d)CDN 内容分发

(e)主数据库

(f) 缓存服务器集群

(g)从数据库

(h)写操作

(i) 读操作

(j) 文件服务器集群

【问题3】 (4 分)

根据李工的提议,新的 B2C 商品交易平台引入了主从复制机制。请针对 B2C商品交易平台的特点,简要叙述引入该机制的好处。

20.

某银行拟将以分行为主体的银行信息系统,全面整合为由总行统一管理维护的银行信息系统,实现统一的用户账户管理、转账汇款、自助缴费、理财投资、贷款管理、网上支付、财务报表分析等业务功能。但是,由于原有以分行为主体的银行信息系统中,多个业务系统采用异构平台、数据库和中间件,使用的报文交换标准和通信协议也不尽相同,使用传统的EAI解决方案根本无法实现新的业务模式下异构系统间灵活的交互和集成。因此,为了以最小的系统改进整合现有的基于不同技术实现的银行业务系统,该银行拟采用基于ESB的面向服务架构(SOA)集成方案实现业务整合。

【问题1】 (7分)

请说明什么是面向服务架构(SOA)以及ESB在SOA中的作用与特点。

【问题2】 (12 分)

基于该信息系统整合的实际需求,项目组完成了基于SOA的银行信息系统架构设计方案。该系统架构图如图5-1所示:

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

请从(a)~ (j)中选择相应内容填入图5-1的(1)~ (6),补充完善架构设计图。

(a)数据层

(b)界面层

(c)业务层

(d) bind

(e) 企业服务总线ESB

(f) XML

(g) 安全验证和质量管理

(h) publish

(i) UDDI\

(j) 组件层

(k) BPEL

【问题3】 (6分)

针对银行信息系统的数据交互安全性需求,列举3种可实现信息系统安全保障的措施。

21.

某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。

为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级Java EE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括:

(1)项目开发采用MySQL数据库存储数据,将来可能移植到其他数据库平台;

(2)系统开发过程中尽可能降低或者消除SQL语句开发的工作量;

(3)投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。

项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。

【问题1】(5分)

请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?

【问题2】(12分)

针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因。

【问题3】(8分)

数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在表5-1中(1)-(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。 表5-1 数据持久层技术分类

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

(a) BMP,CMP

(b)iBatis/MyBatis

(c)SpringJdbcTemplate

(d)TopLink,JDO,Hibernate

22.

某软件公司开发运维了一个社交网站系统,该系统基于开源软件平LAMP(Linux+Apache+MySQL+PHP)构建,运行一段时间以来,随着用户数量及访问量的增加,系统在Web服务器负载、磁盘I/O等方面出现了明显瓶颈,已不能满足大量客户端并发访问的要求,因此公司成立了专门的项目组,拟对系统架构进行调整以提高系统并发处理能力。目前系统采用了传统的三层结构,系统架构如图5-1所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图5-1 某社交网站系统架构

【问题1】(10分)

针对目前出现的Web服务器负载过大问题,项目组决定在客户端与中间层Web服务器之间引入负载均衡器,通过中间层Web服务器集群来提高Web请求的并发处理能力。在讨论拟采用的负载均衡机制时,王工提出采用基于DNS的负载均衡机制,而李工则认为应采用基于反向代理的负载均衡机制,项目组经过讨论,最终确定采用李工提出的方案。请用200字以内的文字,分别简要说明两个机制的基本原理;并从系统执行效率、安全性及简易性等方面将两种机制进行对比,将对比结果填入表5-1中。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(7分)

针对并发数据库访问所带来的磁盘I/O瓶颈问题,项目组决定在数据层引入数据库扩展机制。经过调研得知系统数据库中存储的主要数据为以用户标识为索引的社交网络数据,且系统运行时发生的大部分数据库操作为查询操作。经过讨论,项目组决定引入数据库分区和MySQL主从复制两种扩展机制。数据库分区可采用水平分区和垂直分区两种方式,请用350字以内的文字说明在本系统中应采用哪种方式及其原因,并分析引入主从复制机制给系统带来的好处。

【问题3】(8分)

为进一步提高数据库访问效率,项目组决定在中间层与数据层之间引入缓存机制。赵工开始提出可直接使用MySQL的查询缓存(query cache)机制,但项目组经过分析好友动态显示等典型业务的操作需求,同时考虑已引入的数据库扩展机制,认为查询缓存尚不能很好地提升系统的查询操作效率,项目组最终决定在中间层与数据层之间引入Memcached分布式缓存机制。

(a)请补充下述关于引入Memcached后系统访问数据库的基本过程:系统需要读取后台数据时,先检查数据是否存在于(1)中,若存在则直接从其中读取,若不存在则从(2)中读取并保存在(3)中;当(4)中数据发生更新时,需要将更新后的内容同步到(5)实例中。(备选答案:数据库、Memcached缓存)

(b)请结合已知信息从缓存架构、缓存有效性及缓存数据类型等方面分析使用Memcached代替数据库查询缓存的原因。

23.

Scrum是一个增量的、迭代的敏捷软件开发过程。某软件公司计划开发一个基于Web的Scrum项目管理系统,用于支持项目团队采用Scrum敏捷开发方法进行软件开发,辅助主管智能决策。此项目管理系统提供的主要服务包括项目团队的管理、敏捷开发过程管理和工件的管理。

Scrum敏捷开发中,项目团队由Scrum主管、产品负责人和开发团队人员三种不同的角色组成,其开发过程由若干个Sprint(短的迭代周期,通常为2到4周)活动组成。

Product Backlog是在Scrum过程初期产生的一个按照商业价值排序的需求列表,该列表条目的体现形式通常为用户故事。在每一个Sprint活动中,项目团队从Product Backlog中挑选最高优先级的用户故事进行开发。被挑选的用户故事在Sprint计划会议上经过细化分解为任务,同时初步估算每一个任务的预计完成时间,编写Sprint Backlog。

在Sprint活动期间,项目团队每天早晨需举行每日站立会议,重新估算剩余任务的预计完成时间,更新Sprint Backlog、Sprint燃尽图和Release燃尽图。在每个Sprint活动结束时,项目团队召开评审会议和回顾会议,交付产品增量,总结Sprint期间的工作情况和问题。此时,如果Product Backlog中还有未完成的用户故事,则项目团队将开始筹备下一个Sprint活动迭代。

为完成Scrum项目管理系统,考虑到系统的智能决策需求,公司决定使用MVC架构模式开发该项目管理系统。具体来说,系统采用轻量级J2EE架构和SSH框架进行开发,使用MySQL数据库作为底层存储。

【问题1】(10分)

Scrum项目管理软件需真实模拟Scrum敏捷开发流程,请根据你的理解完成图5-1给出的Scrum敏捷开发状态图,填写其中(1)~(5)的内容。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编【问题2】(6分)

根据题干描述,本系统采用MVC架构模式,请从各选答案a~n中分别选出属于MVC架构模型中的模型(Model)、视图(View)和控制器(Controler)的相关内容描述填入表5-1的空(1)~(3)处。

表5-1 架构模式中包含的内容

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

备选答案:

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(9分)

根据项目组给出的系统设计方案,将备选答案a~l的内容填写在图5-2中的空(1)~(9),完成系统架构图。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图5-2 系统架构图

备选答案:

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

24.

某软件公司拟开发一套信息安全支撑平台,为客户的局域网业务环境提供信息安全保护。该支撑平台的主要需求如下:

(1)为局域网业务环境提供用户身份鉴别与资源访问授权功能;

(2)为局域网环境中交换的网络数据提供加密保护;

(3)为服务器和终端机存储的敏感持久数据提供加密保护;

(4)保护的主要实体对象包括局域网内交换的网络数据包、文件服务器中的敏感数据文件、数据库服务器中的敏感关系数据和终端机用户存储的敏感数据文件:

(5)服务器中存储的敏感数据按安全管理员配置的权限访问;

(6)业务系统生成的单个敏感数据文件可能会达到数百兆的规模;

(7)终端机用户存储的敏感数据为用户私有;

(8)局域网业务环境的总用户数在100人以内。

【问题1】(9分)

在确定该支撑平台所采用的用户身份鉴别机制时,王工提出采用基于口令的简单认证机制,而李工则提出采用基于公钥体系的认证机制。项目组经过讨论,确定采用基于公钥体系的机制,请结合上述需求具体分析采用李工方案的原因。

【问题2】(7分)

针对需求(7),项目组经过讨论,确定了基于数字信封的加密方式,其加密后的文件结构如图5-1所示。请结合需求说明对文件数据进行加密时,应采用对称加密的块加密方式还是流加密方式,为什么?并对该机制中的数据加密与解密过程进行描述。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图5-1 加密数据文件结构

【问题3】(9分)

对数据库服务器中的敏感关系数据进行加密保护时,客户业务系统中的敏感关系数据主要是特定数据库表中的敏感字段值,客户要求对不同程度的敏感字段采用不同强度的密钥进行防护,且加密方式应尽可能减少安全管理与应用程序的负担。目前数据库管理系统提供的基本数据加密方式主要包括加解密API和透明加密两种,请用300字以内的文字对这两种方式进行解释,并结合需求说明应采用哪种加密方式。

25.

某软件公司为其新推出的字处理软件设计了一种脚本语言,专门用于开发该字处理软件的附加功能插件。为了提高该语言的编程效率,公司组织软件工具开发部门为脚本语言研制一套集成开发环境。软件工具开发部门根据字处理软件的特点,对集成开发环境进行了需求分析,总结出以下3项核心需求:

(1)集成开发环境需要提供对脚本语言的编辑、语法检查、解释、执行和调试等功能的支持,并要实现各种功能的灵活组合、配置与替换。

(2)集成开发环境需要提供一组可视化的编程界面,用户通过对界面元素拖拽和代码填充的方式就可以完成功能插件核心业务流程的编写与组织。

(3)在代码调试功能方面,集成开发环境需要实现在脚本语言编辑界面中的代码自动定位功能。具体来说,在调试过程中,编辑界面需要响应调试断点命中事件,并自动跳转到当前断点处所对应的代码。

针对上述需求,软件工具开发部门对集成开发环境的架构进行分析与设计,王工认为该集成开发环境应该采用管道-过滤器的架构风格实现,李工则认为该集成开发环境应该采用以数据存储为中心的架构风格来实现。公司组织专家对王工和李工的方案进行了评审,最终采用了李工的方案。

【问题1】(12分)

请用200字以内的文字解释什么是软件架构风格,并从集成开发环境与用户的交互方式、集成开发环境的扩展性、集成开发环境的数据管理三个方面说明为什么最终采用了李工的设计方案。

【问题2】(13分)

在对软件系统架构进行设计时,要对架构需求进行分析,针对特定需求选择最为合适的架构风格,因此实际的软件系统通常会混合多种软件架构风格。请对核心需求进行分析,说明为了满足需求(2)和(3),分别应采用何种架构风格,并概要说明采用相应架构风格后的架构设计过程。

26.

某大型跨国企业的IT部门一年前基于SOA(Service-Oriented Architecture)对企业原有的多个信息系统进行了集成,实现了原有各系统之间的互连互通,搭建了支撑企业完整业务流程运作的统一信息系统平台。随着集成后系统的投入运行,IT部门发现在满足企业正常业务运作要求的同时,系统也暴露出明显的安全性缺陷,并在近期出现了企业敏感业务数据泄漏及系统核心业务功能非授权访问等严重安全事件。针对这一情况,企业决定由IT部门成立专门的项目组负责提高现有系统的安全性。

项目组在仔细调研和分析了系统现有安全性问题的基础上,决定首先为在网络中传输的数据提供机密性(Confidentiality)与完整性(Integrity)保障,同时为系统核心业务功能的访问提供访问控制机制,以保证只有授权用户才能使用特定功能。

经过分析和讨论,项目组决定采用加密技术为网络中传输的数据提供机密性与完整性保障。但在确定具体访问控制机制时,张工认为应该采用传统的强制访问控制(Mandatory Access Control)机制,而王工则建议采用基于角色的访问控制(Role-Based Access Control)与可扩展访问控制标记语言(eXtensible Access Control Markup Language,XACML)相结合的机制。项目组经过集体讨论,最终采用了王工的方案。

【问题1】(8分)

请用400字以内的文字,分别针对采用对称加密策略与公钥加密策略,说明如何利用加密技术为在网络中传输的数据提供机密性与完整性保障。

【问题2】(9分)

请用300字以内的文字,从授权的可管理性、细粒度访问控制的支持和对分布式环境的支持三个方面指出项目组采用王工方案的原因。

【问题3】(8分)

图5-1给出了基于XACML的授权决策中心的基本结构以及一次典型授权决策的执行过程,请分别将备选答案填入图中的(1)~(4)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

备选答案:策略管理点(PAP)、策略执行点(PEP)、策略信息点(PIP)、策略决策点(PDP)

27.

TeleDev是一个大型的电信软件开发公司,公司内部采用多种商业/开源的工具进行软件系统设计与开发工作。为了提高系统开发效率,公司管理层决定开发一个分布式的系统设计与开发工具集成框架,将现有的系统设计与开发工具有效集成在一起。集成框架开发小组经过广泛调研,得到了如下核心需求:

(1)目前使用的系统设计与开发工具的运行平台和开发语言差异较大,集成框架应无缝集成各个工具的功能;

(2)目前使用的系统设计与开发工具所支持的通信协议和数据格式各不相同,集成框架应实现工具之间的灵活通信和数据格式转换;

(3)集成框架需要根据实际的开发流程灵活、动态地定义系统工具之间的协作关系;

(4)集成框架应能集成一些常用的第三方实用工具,如即时通信,邮件系统等。

集成框架开发小组经过分析与讨论,最终决定采用企业服务总线(ESB)作为集成框架的基础架构。

【问题1】(8分)

ESB是目前企业级应用集成常用的基础架构。请列举出ESB的4个主要功能,并从集成系统的部署方式、待集成系统之间的耦合程度、集成系统的可扩展性3个方面说明为何采用ESB作为集成框架的基础架构。

【问题2】(12分)

在ESB基础架构的基础上,请根据题干描述中的4个需求,说明每个需求应该采用何种具体的集成方式或架构风格最为合适。

【问题3】(5分)

请指出在实现工具之间数据格式的灵活转换时,通常采用的设计模式是什么,并对实现过程进行简要描述。

28.

某电子商务公司为了更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分为不同的等级,并针对不同等级的用户提供相应的折扣方案 。在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下 :

(a)用户目前分为普通用户、银卡用户、金卡用户和白金用户四个等级,后续需要能够根据消费情况进行动态调整;

(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;

(c)在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应;

(d)在各种节假日或公司活动中,针对所有级别用户,系统均能够根据用户实时的消费情况动态调整折扣力度;

(e)系统主站点断电后,应在5秒内将请求重定向到备用站点;

(f)系统支持中文昵称,但用户名要求必须以字母开头,长度不少于8个字符;

(g)当系统发生网络失效后,需要在15秒内发现错误并启用备用网络;

(h)系统在展示商品的实时视频时,需要保证视频画面具有 1024×768 像素的分辨率,40帧/秒的速率;

(i)系统要扩容时,应保证在10人?月内完成所有的部署与测试工作;

(j)系统应对用户信息数据库的所有操作都进行完整记录:

(k)更改系统的Web界面接口必须在4人?周内完成;

(l)系统必须提供远程调试接口,并支持远程调试 。在对系统需求、质量属性描述和架构特性进行分析的基础上,该系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

【问题1】(13 分)

针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风格,并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表1-1中的(1)~(3)空白处。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(12 分)

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请合适的质量属性名称填入图1-1中(1)、(2)空白处,并选择题干描述的(a)~(1)填入(3)~(6)空白处,完成该系统的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

29.

某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块,以提升商城的信息化建设水平。该软件公司组织项目组完成了需求调研,现已进入到系统架构设计阶段。考虑到系统需求对架构设计决策的影响,项目组先列出了可能影响系统架构设计的部分需求如下:

(a)用户界面支持用户的个性化定制;

(b)系统需要支持当前主流的标准和服务,特别是通信协议和平台接口;

(c)用户操作的响应时间应不大于3秒,竞拍板块不大于1秒;

(d)系统具有故障诊断和快速恢复能力;

(e)用户密码需要加密传输;

(f) 系统需要支持不低于2G的数据缓存;

(g)用户操作停滞时间超过一定时限需要重新登录验证;

(h)系统支持用户选择汉语、英语或法语三种语言之一进行操作。

项目组提出了两种系统架构设计方案:瘦客户端C/S架构和胖客户端C/S架构,经过对上述需求逐条分析和讨论,最终决定采用瘦客户端C/S架构进行设计。

【问题1】 (8分)

在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需求的含义。

【问题2】 (8分)

根据表1-1的分类,将题干所给出的系统需求(a)~(h)分别填入(1) ~ (4)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】 (9分)

请说明瘦客户端C/S架构能够满足题干中给出的哪些系统需求(只需要回答出三个系统需求)。

30.

信息物理系统(Cyber Physical Systems, CPS)技术已成为未来宇航装备发展的重点关键技术之一。某公司长期从事嵌入式系统的研制工作 ,随着公司业务范围不断扩展,公司决定进入宇航装备的研制领域。为了做好前期准备,公司决定让王工程师负责编制公司进军宇航装备领域的战略规划。王工经调研和分析,认为未来宇航装备将向着网络化、智能化和综合化的目标发展,CPS 将会是宇航装备的核心技术,公司应构建基于CPS技术的新产品架构,实现超前的技术战略储备。

【问题 1】 (9 分)

通常CPS结构分为感知层、网络层和控制层,请用300字以内文字说明CPS的定义,并简要说明各层的含义。

【问题 2 】(10 分)

王工在提交的战略规划中指出:飞行器中的电子设备是一个大型分布式系统,其传感器、控制器和采集器分布在飞机各个部位,相互间采用高速总线互连,实现子系统间的数据交换,而飞行员或地面指挥系统根据飞行数据的汇总决策飞行任务的执行。图3-1给出了飞行器系统功能组成图。请参考图3-1给出的功能图,依据你所掌握的CPS知识,说明以下所列的功能分别属于CPS结构中的哪层,哪项功能不属于CPS任何一层。

1.飞行传感器管理

2.步进电机控制

3.显控

4.发电机控制

5.环控

6. 配电管理

7. 转速传感器

8.传感器总线

9.飞行员

10.火警信号探测

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题 3】 (6 分)

王工在提交的战略规划中指出:未来宇航领域装备将呈现网络化、智能化和综合化等特征,形成集群式的协同能力,安全性尤为重要。在宇航领域的CPS系统中,不同层面上都会存在一定的安全威胁。请用100字以内文字说明CPS系统会存在哪三类安全威胁,并对每类安全威胁至少举出两个例子说明。

31.

某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如 下:

(a) 系统用户分为高级管理员、数据管理员和数据维护员等三类;

(b) 系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;

(c) 正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应;

(d) 对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;

(e) 系统的用户名不能为中文,要求必须以字母开头,长度不少于5个字符;

(f) 更改系统加密的级别将对安全性和性能产生影响;

(g) 网络失效后,系统需要在 10 秒内发现错误并启用备用系统;

(h) 查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有1024×768的分辨率, 40帧 /秒的速率;

(i) 在系统升级时,必须保证在 10 人月内可添加一个新的消息处理中间件;

(j) 系统主站点断电后,必须在 3 秒内将请求重定向到备用站点;

(k) 如果每秒钟用户查询请求的数量是 10 个,处理单个请求的时间为 30 毫秒,则系统应保证在 1秒内完成用户的查询请求;

(l) 对桥梁信息数据库的所有操作都必须进行完整记录;

(m) 更改系统的 Web 界面接口必须在 4 人周内完成;

(n) 如果“养护报告生成”业务逻辑的描述尚未达成共识,可能导致部分业务功能 模块规则的矛盾,影响系统的可修改性

(o) 系统必须提供远程调试接口,并支持系统的远程调试。

在对系统需求,质量属性描述和架构特性进行分析的基础上,系统的架构师给出了三个候选的架构设计方案,公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题 1】(12 分)

在架构评估过程中,质量属性效用树 (utility tree) 是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图 1-1 中 (1)、(2) 空白处;并选择题干描述的 (a)~(o) ,填入(3) ~(6) 空白处,完成该系统的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图 1-1

【问题2】(13 分)

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用 300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a) ~(o) 中分别选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

32.

随着人工智能技术的发展,工业机器人已成为当前工业界的热点研究对象。某宇航设备公司为了扩大业务范围,决策层研究决定准备开展工业机器人研制新业务。公司将论证工作交给了软件架构师王工,王工经过分析和调研,从机器人市场现状、领域需求、组成及关键技术和风险分析等方面开展了综合论证。论证报告指出:首先,为了保障本公司机器人研制的持续性,应根据领域需求选择一种适应的设计架构;其次,为了规避风险,公司的研制工作不能从零开始,应该采用国际开源社区所提供机器人操作系统(Robot Operating System, ROS)作为机器人开发的基本平台。

在讨论会上,架构师李工提出不同意见,他认为公司针对宇航领域已开发了某款嵌 入式实时操作系统,且被多种宇航装备使用,可靠性较高。因此应该采用现有架构体系

作为机器人的开发平台。会上王工说明了机器人操作系统与该款操作系统的差别,要沿 用需要进行改造,投入较大。经过激烈讨论,公司领导同意了王工采用 ROS 的意见。

【问题1】(5分)

王工拟采用的ROS具有分布式进程框架,以点对点设计以及服务和节点管理器方式, 使得执行程序可以各自独立地设计,松散地、实时地组合起来。这些进程可以按照功能包和功能包集的方式分组,因而可以容易地分享和发布。请用400字以内文字说明ROS与嵌入式实时操作系统的共同点,以及在实时性和任务通信方式两个方面的差异。

【问题2】 (10分)

ROS为应用程序间通信提供了主题(Topic) 、服务 (Service)和动作 (Action) 三种消息通信方式,每种通信方式都有其特点。请将以下给出的三类通信的主要特点填入表 3-1 中(1)-(5) 的空白处,将答案写在答题纸上。

(a) 适合用于传输传感器信息(数据流)

(b) 能够知道是否调用成功

(c) 一对多模式

(d) 有握手信号

(e) 服务执行完会有反馈

(f) 可以监控长时间执行的进程

(g) 较复杂

(h) 可能让系统过载(数据太多)

(i) 服务执行完之前,程序会等待

(j) 建立通信较慢

(k) 可能丢失数据

表3-1 ROS三类通信的主要特点

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】 (10分)

ROS 的架构定义了 ROS 系统由多个各自独立的节点(组件)组成,并且各个节点之间可以通过发布/订阅( Publish /Subscribe )消息模型进行通信。图 3-1 给出一个简单机器人结构实例,请根据以下文字描述,补充图3-1 中(1)~(5) 处空白,将答案写在答题纸上。

“|机器人开始阶段,所有节点都要注册 (Registration) 到 Master上,注册后,摄像 头节点声明它要发布(Publish)一个叫作/image_data的消息。另外两个节点(图像处理处理节点和图像显示节点)声明它们需要订阅( Subscribe) 这个/image_data消息。因此, 一旦摄像头节点收到相机发送的数据(Data),就立即将数据/image_data直接发送到另外两个节点。

图3-1

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

33.

某公司长期从事宇航领域嵌入式实时系统的软件研制任务。公司为了适应未来嵌入式系统网络化、智能化和综合化的技术发展需要,决定重新考虑新产品的架构问题,经理将论证工作交给王工负责。王工经调研和分析,完成了新产品架构设计方案,提交公司高层讨论。

【问题1】 (14分)

王工提交的设计方案中指出:由于公司目前研制的嵌入式实时产品属于简单型系统,其嵌入式子系统相互独立,功能单一,时序简单。而未来满足网络化、智能化和综合化的嵌入式实时系统将是一种复杂系统,其核心特征体现为实时任务的机理、状态和行为的复杂性。简单任务和复杂任务的特征区分主要表现在十个方面。请参考表3-1给出的实时任务特征分类,用题干中给出的(a)~(t)20个实时任务特征描述,补充完善表3-1给出的空(1)~(14)。

(a)任务属性不会随时间变化而改变;

(b)任务的属性与时间相关;

(c)任务仅可以从非连续集中获取特征变量;

(d)任务变量域是连续的;

(e)功能原理不依赖于上下文;

(f) 功能原理依赖于上下文;

(g)任务行为可以用step-by-step顺序分析方法来理解;

(h)许多任务在产生访问活动时相互间是并发处理的,很难用step-by-step方法分析;

(i) 因果关系相互影响;

(j) 行为特征依赖于大量的反馈机制;

(k)系统内构成、策略和描述是相似的;

(l) 系统内存在许多不同的构成、策略和描述;

(m)功能关系是非线性的;

(n) 功能关系是线性的;

(o) 不同的子任务是相互独立的,任务内部仅存在少量的交互操作;

(p) 不同的子任务有很高的交互操作,要把一个单任务的行为隔离开是困难的;

(q) 域特征有非常整齐的原则和规则;

(r) 许多不同的上下文依赖于规则;

(s) 原理和规则在表面属性上很容易被识别;

(t) 原理被覆盖、抽象,而不会在表面属性上被识别。

表3-1 简单任务和复杂任务特征比较

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(11分)

王工设计方案中指出:要满足未来网络化、智能化和综合化的需求,应该设计一种能够充分表达嵌入式系统行为的、且具有一定通用性的通信架构, 以避免复杂任务的某些特征带来的通信复杂性。通常为了实现嵌入式系统中计算组件间的通信,在架构上需要一种简单的架构风格,用于屏蔽不同协议、不同硬件和不同结构组成所带来的复杂性。图3-1给出了一种“腰(Waistline)” 型通信模式的架构风格。腰型架构的关键是基本消息通信(BMTS),通常BMTS的消息与时间属性相关,支持事件触发消息、速率约束消息和时间触发消息。

请说明基于BMTS的消息通信网络的主要特征和上述三种消息的基本含义,并举例给出两种具有时间触发消息能力的网络总线。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-1 “腰”型通信模式架构风格

34.

某软件公司拟为某市级公安机关开发一套特种车辆管理与监控系统,以提高特种车辆管理的效率和准确性。在系统需求分析与架构设计阶段,用户提出的部分需求和关键质量属性场景如下:

(a)系统用户分为管理员、分管领导和普通民警等三类;

(b)正常负载情况下,系统必须在0.5秒内对用户的车辆查询请求进行响应;

(c)系统能够抵御99.999%的黑客攻击;

(d)系统的用户名必须以字母开头,长度不少于5个字符;

(e)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;

(f)网络失效后,系统需要在2分钟内发现并启用备用网络系统;

(g)在系统升级时,需要保证在1个月内添加一个新的消息处理中间件;

(h)查询过程中涉及到的车辆实时视频传输必须保证20帧/秒的速率,且画面具有600×480的分辨率;

(i)更改系统加密的级别将对安全性和性能产生影响;

(j)系统主站点断电后,需要在3秒内将请求重定向到备用站点;

(k)假设每秒中用户查询请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的查询请求”这一要求是可以实现的;

(l)对用户信息数据的授权访问必须保证99.999%的安全性;

(m)目前对“车辆信息实时监控”业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;

(n)更改系统的Web界面接口必须在1周内完成;

(o)系统需要提供远程调试接口,并支持系统的远程调试。

在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题1】(12分)

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述中的(a)~(o),将恰当的序号填入(3)~(6)空白处,完成该系统的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图1-1

【问题2】(13分)

在架构评估过程中;需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干描述中的(a)~(o)各选出1个属于系统架构风险、敏感点和权衡点的描述。

35.

某宇航公司长期从事宇航装备的研制工作,嵌入式系统的可靠性分析与设计已成为该公司产品研制中的核心工作,随着宇航装备的综合化技术发展,嵌入式软件规模发生了巨大变化,代码规模已从原来的几十万扩展到上百万,从而带来了由于软件失效而引起系统可靠性降低的隐患。公司领导非常重视软件可靠性工作,决定抽调王工程师等5人组建可靠性研究团队,专门研究提高本公司宇航装备的系统可靠性和软件可靠性问题,并要求在三个月内,给出本公司在系统和软件设计方面如何考虑可靠性设计的方法和规范。可靠性研究团队很快拿出了系统及硬件的可靠性提高方案,但对于软件可靠性问题始终没有研究出一种普遍认同的方法。

问题内容:

【问题1】(共9分)

请用200字以内文字说明系统可靠性的定义及包含的4个子特性,并简要指出提高系统可靠性一般采用哪些技术?

【问题2】(共8分)

王工带领的可靠性研究团队之所以没能快速取得软件可靠性问题的技术突破,其核心原因是他们没有搞懂高可靠性软件应具备的特点。软件可靠性一般致力于系统性地减少和消除对软件程序性能有不利影响的系统故障。除非被修改,否则软件系统不会随着时间的推移而发生退化。请根据你对软件可靠性的理解,给出表3-1所列出的硬件可靠性特征对应的软件可靠性特征之间的差异或相似之处,将答案写在答题纸上。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(共8分)

王工带领的可靠性研究团队在分析了大量相关资料基础上,提出软件的质量和可靠性必须在开发过程构建到软件中,也就是说,为了提高软件的可靠性,必须在需求分析、设计阶段开展软件可靠性筹划和设计。研究团队针对本公司承担的飞行控制系统制定出了一套飞控软件的可靠性设计要求。飞行控制系统是一种双余度同构型系统,输入采用了独立的两路数据通道,在系统内完成输入数据的交叉对比、表决制导率计算,输出数据的交叉对比、表决、输出等功能,系统的监控模块实现对系统失效或失步的检测与宠位。其软件的可靠性设计包括恢复块方法和N版本程序设计方法。请根据恢复块方法工作原理完成图3-1,在(1)~(4)中填入恰当的内容。并比较恢复块方法与N版本程序设计方法,将比较结果(5)~(8)填入表3-2中。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-1 恢复块方法

表3-2 恢复块方法与N版本程序设计的比较

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

36.

某软件公司欲开发一个网络设备管理系统,对管理区域内的网络设备(如路由器和交换机等)进行远程监视和控制。公司的系统分析师首先对系统进行了需求分析,识别出如下3项核心需求:

(a)目前需要管理的网络设备确定为10类20种,未来还将有新类别的网络设备纳入到该设备管理系统中;

(b)不同类别的网络设备,监视和控制的内容差异较大;同一类网络设备,监视和控制的内容相似,但不同厂商的实现方式(包括控制接口格式、编程语言等)差异较大;

(c)网络管理员能够在一个统一的终端之上实现对这些网络设备的可视化呈现和管理操作。

针对上述需求,公司研发部门的架构师对网络设备管理系统的架构进行了分析与设计,架构师王工认为该系统可以采用MVC架构风格实现,即对每种网络设备设计一个监控组件,组件通过调用网络设备厂商内置的编程接口对监控指令进行接收和处理;系统管理员通过管理模块向监控组件发送监控指令,对网络设备进行远程管理;网络状态、监控结果等信息会在控制终端上进行展示。针对不同网络设备的差异,王工认为可以对当前的20种网络设备接口进行调研与梳理,然后通过定义统一操作接口屏蔽设备差异。李工同意王工提出的MVC架构风格和定义统一操作接口的思路,但考虑到未来还会有新类别的网络设备接入,认为还需要采用扩展接口的方式支持系统开发人员扩展或修改现有操作接口。公司组织专家进行架构评审,最终同意了王工的方案和李工的改进意见。

【问题1】(10分)

请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。

【问题2】(15分)

扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端,它们之间的关系如图1-1所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图1-1 扩展接口模式角色关系

其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识;每个具体的组件需要实现扩展接口完成实际操作;客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。请根据上图所示和题干描述,指出扩展接口模式结构中的四个角色分别对应网络设备管理系统的哪些部分;并以客户端发起调用操作这一场景为例,填写表1-1中的(1)~(5)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

37.

某公司正在研发一套新的库存管理系统。系统中一个关键事件是接收供应商供货。项目组系统分析员小王花了大量时间在仓库观察了整个事件的处理过程,并开发出该过程所执行活动的列表:供应商发送货物和商品清单,公司收到商品后执行收货处理,包括卸载商品、确定收到了订单上的商品、处理与供应商的分歧等。对于已有商品,调整其库存信息,对于新采购的商品,在库存中添加新的商品记录。收货完成后,系统执行入库处理,将商品放到仓库对应的货架上。在付款处理活动中,自动生成应付账款信息,如果查询到该供应商有待付款记录,则进行合并付款,付款完成后消除应付账款记录。最后,仓库管理员根据最新的库存商品,调整出货信息。

小王根据自己观察的过程创建了该事件的1层数据流图,如下图所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1 接收供应商供货的1层数据流图

【问题1】(8分)

请用300以内文字说明数据流图(Data Flow Diagram)的基本元素及其作用。

【问题2】(12分)

数据流图在绘制过程中可能出现多种语法错误,请分析图2-1所示数据流图中哪些地方有错误,并分别说明错误的类型。

【问题3】(5分)

系统建模过程中为了保证数据模型和过程模型的一致性,需要通过数据-过程-CRUD矩阵来实现数据模型和过程模型的同步,请在表2-1所示CRUD矩阵(1)~(5)中填入相关操作。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

38.

构件((component)也称为组件,是一个功能相对独立的具有可复用价值的软硬件单元。近年来,构件技术正在逐步应用于大型嵌入式系统的软件设计。某公司长期从事飞行器电子设备研制工作,已积累了大量成熟软件。但是,由于当初管理和设计等原因,公司的大量软件不能被复用,严重影响了公司后续发展。公司领导层高度重视软件复用问题,明确提出了要将本公司的成熟软件进行改造,建立公司可复用的软件构件库,以提升开发效率、降低成本。公司领导层决定将此项任务交给技术部门的王工程师负责组织实施。两个月后,王工程师经过调研、梳理和实验,提交了一份实施方案。此方案得到了公司领导层的肯定,但在实施过程中遇到了许多困难,主要表现在公司软件架构的变更和构件抽取的界面等方面。

【问题1】(共9分)

请用200字以内文字说明获取构件的方法有哪几种?开发构件通常采用哪几种策略?并列举出两种主流构件标准。

【问题2】(共6分)

由于该公司已具备大量的成熟软件,王工程师此次的主要工作就是采用遗留工程(Legacy Engineering)方法,将具有潜在复用价值的软件提取出来,得到可复用的构件。因此,在设计软件时与原开发技术人员产生了重大意见分歧,主要分歧焦点在于大家对构件概念理解上的差异。请根据你对构件的理解,判断表3-1给出的有关构件的说法是否正确,将答案写在答题纸上。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(共10分)

王工程师的实施方案指出:本公司的大部分产品是为用户提供标准计算平台的,而此平台中的主要开发工作是为嵌入式操作系统研制板级支持软件(BSP)。为了提高BSP软件的复用,应首先开展BSP构件的开发,且构件架构应符合国外GENESYS规范定义的嵌入式系统架构风格。图3-1给出了架构风格定义的构件通用接口,其中:链接接口(LIF)是构件对外提供的功能服务接口;局部接口建立了构件和它的局部环境的连接,如传感器、作动器或人机接口;技术相关接口(TDI)提供了查看构件内部、观察构件的内部变量的手段,如诊断等;技术无关接口(TII)用来在运行时配置、复使、重启构件的接口。现需要针对BSP中常用的RS-232串行驱动程序设计一个可复用的软构件,请说明该软构件四类接口的具体功能。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-1 GENESYS规范定义的构件接口

39.

某航空公司希望对构建于上世纪七、八十年代的主要业务系统进行改造与集成,提高企业的竞争力。由于集成过程非常复杂,公司决定首先以Ramp Coordination系统为例进行集成过程的探索与验证。

在航空业中,Ramp Coordination是指飞机从降落到起飞过程中所需要进行的各种业务活动的协调过程。通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp Coordinator由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。

由于航班类型、机型的不同,Ramp Coordination的流程有很大差异。图1-1 (a)所示的流程主要针对短期中转航班,这类航班在机场稍作停留后就起飞;图1-1(b)所示的流程主要针对到达航班,通常在机场过夜后第二天起飞;图1-1(c)所示的流程主要针对离港航班,这类航班是每天的第一班飞机。这三种类型的航班根据长途/短途、国内/国外等因素还可以进一步细分,每种细分航班类型的Ramp Coordination的流程也略有不同。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图1-1 Ramp Coordination业务流程为了完成上述业务,Ramp Coordination信息系统需要从乘务人员管理系统中提取航班乘务员的信息、从订票系统中提取乘客信息、从机务人员管理系统中提取机务人员信息、接收来自航班调度系统的航班到达事件。其中乘务人员管理系统和航班调度系统运行在大型主机系统中,机务人员管理系统运行在Unix操作系统之上,订票系统基于Java语言,具有Web界面,运行在Linux操作系统之上。

目前Ramp Coordination信息系统主要由人工完成所有协调工作,效率低且容易出错。

公司领导要求集成后的Ramp Coordination信息系统能够针对不同需求迅速开展业务流程,灵活、高效地完成协调任务。

针对上述要求,公司IT部门的架构师经过分析与讨论,最终采用面向服务的架构,以服务为中心进行Ramp Coordination信息系统的集成工作。

【问题1】(10分)

服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两个主要业务服务组件:

(1)Ramp Control:负责Ramp Coordination信息系统中相关各种业务活动的组件;

(2)Flight Management:负责航班相关信息的管理,包括航班日程,乘客信息等。针对上述服务模型,结合题干描述,请为每个业务服务组件提供的服务进行分析与整理,完成表1-1中的空白部分。

表1-1 业务组件服务提供的服务

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(15分)

对Ramp Coordination信息系统的集成涉及到对乘务人员管理系统、航班调度系统、机务人员管理系统和订票系统的组织与协调,公司架构师决定采用企业服务总线(Enterprise Service Bus,ESB)技术进行系统集成,请用200字以内的文字对ESB的定义进行描述,给出ESB的五个主要功能,并针对题干描述,将恰当的内容填入图1-2中的(1)~(6)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图1-2 系统集成框架图

40.

故障(失效)模型影响分析FMEA是分析产品所有可能的故障模式及其可能产生的影响,并按每个故障模式产生影响的严重程度及其发生概率予以分类的一种归纳分析方法。近年来,FMEA方法已被广泛用于安全关键系统的嵌入式软件可靠性分析工作。

某软件公司承担了一项通信软件的开发项目。该项目由FC系统、DY系统和GD系统组成,而DY系统(TMS320C25S)软件负责按系统的通信协议完成与FC系统的通信,图3-1给出了该通信软件的约定层次图。公司高层将项目交给王工程师,王工认为此项目是安全关键系统,安全等级应为Ⅱ类(致命的),因此应开展软件的FMEA分析。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-1 某设备通信软件的约定层次图

【问题1】(8分)

请阅读以下有关FMEA的描述,将恰当的内容填入(1)~(7)。

FMEA是FMA(故障模式分析)和FEA(故障影响分析)的组合,它对系统各种可能的风险进行评价、分析后,在现有技术的基础上消除这些风险或将这些风险降低到可接受的水平。为达到最佳效益,FMEA必须在产品研制初期进行。

FMEA实际是一组系列化的活动,其主要活动包括:

(1)__________;

(2)__________;

(3)__________。

由于产品故障可能与设计、制造过程、使用、承包商/供应商以及服务有关,因此FMEA又细分为(4)FMEA、(5)FMEA、(6)FMEA和(7)FMEA四类。

【问题2】(10分)

从图3-1可以看出,CSU01信模块是该项目的关键模块,主要功能定义为:总线通信控制器自动完成一帧数据的接收,存入数据缓冲区,并产生中断(INT0)通知CPU从数据缓冲区中读取数据;CPU读完数据后,将准备好的发送数据写至数据缓存区,写完后通知总线通信控制器自动完成一帧数据的发送。CRC校验由外部电路完成判别,其结果通过数据线上的相应位进行标识。针对CSU01通信模块,简要描述实施FMEA的具体内容,填写完成表3-1的(1)~(5)。

表3-1 CSU01通信模块FMEA步骤的主要内容

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(7分)

表3-2给出针对该项目的CSU01通信模块的软件故障(失效)模型影响分析FMECA表(局部),请根据此题描述情况填写表3-2中的(1)~(7)。

注:表3-2中的SRPN(软件风险优先数)=SESR(软件故障模式的严酷度等级)×SOPR(软件故障模式的发生概率等级)×SDDR(软件故障模式的被检测难度等级)。

表3-2 通信模块INT0-ISR的软件FMECA表(局部)

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

41.

嵌入式系统是当前航空、航天、船舶及工业、医疗等领域的核心技术,嵌入式系统可包括实时系统与非实时系统两种。某宇航公司长期从事航空航天飞行器电子设备的研制工作,随着业务的扩大,需要大量大学毕业生补充到科研生产部门。按照公司规定,大学毕业生必须进行相关基础知识培训,为此,公司经理安排王工对他们进行了长达一个月的培训。

【问题1】(7分)

王工在培训中指出:嵌入式系统主要负责对设备的各种传感器进行管理与控制。而航空航天飞行器的电子设备由于对时间具有很强的敏感性,通常由嵌入式实时系统进行管控,请用300字以内文字说明什么是实时系统,实时系统有哪些主要特性。

【问题2】(8分)

实时系统根据应用场景、时间特征以及工作方式的不同,存在多种实时特性,大致有三种分类方法,即时间类别、时间需求和工作方式结构。根据自己所掌握的“实时性”知识,将图3-1给出的实时特性按三种分类方式,填写图3-1中(1)~(8)处空白。

备选答案:时限的危害程度;时间角色;弱;时间响应;固定;时限/反应时间;时间明确;输入/输出激励;时间触发;强;周期/零星/非周期;事件触发。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-1 实时特性分类图

【问题3】(10分)

可靠性是实时系统的关键特性之一,区分软件的错误(Error)、缺陷(Defect)、故障(Fault)和失效(Failure)概念是软件可靠性设计工作的基础。请简要说明错误、缺陷、故障和失效的定义;并在图3-2中标出错误、缺陷和失效出现阶段,说明缺陷、故障和失效的表现形式,填写图3-2中(1)~(6))处的空白。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

42.

某软件公司为某品牌手机厂商开发一套手机应用程序集成开发环境,以提高开发手机应用程序的质量和效率。在项目之初,公司的系统分析师对该集成开发环境的需求进行了调研和分析,具体描述如下:

a.需要同时支持该厂商自行定义的应用编程语言的编辑、界面可视化设计、编译、调试等模块,这些模块产生的模型或数据格式差异较大,集成环境应提供数据集成能力。集成开发环境还要支持以适配方式集成公司现有的应用模拟器工具。

b.经过调研,手机应用开发人员更倾向于使用Windows系统,因此集成开发环境的界面需要与Windows平台上的主流开发工具的界面风格保持一致。

c.支持相关开发数据在云端存储,需要保证在云端存储数据的机密性和完整性。

d.支持用户通过配置界面依据自己的喜好修改界面风格,包括颜色、布局、代码高亮方式等,配置完成后无需重启环境。

e.支持不同模型的自动转换。在初始需求中定义的机器性能条件下,对于一个包含50个对象的设计模型,将其转换为相应代码框架时所消耗时间不超过5秒。

f.能够连续运行的时间不小于240小时,意外退出后能够在10秒之内自动重启。

g.集成开发环境具有模块化结构,支持以模块为单位进行调试、测试与发布。

h.支持应用开发过程中的代码调试功能:开发人员可以设置断点,启动调试,编辑器可以自动卷屏并命中断点,能通过变量监视器查看当前变量取值。

在对需求进行分析后,公司的架构师小张查阅了相关的资料,认为该集成开发环境应该采用管道一过滤器(Pipe-Filter)的架构风格,公司的资深架构师王工在仔细分析后,认为应该采用数据仓储(Data Repository)的架构风格。公司经过评审,最终采用了王工的方案。

【问题1】(10分)

识别软件架构质量属性是进行架构设计的重要步骤。请分析题干中的需求描述,填写表1-1中(1)~(5)处的空白。

表1-1 质量属性识别表

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(7分)

请在阅读题干需求描述的基础上,从交互方式、数据结构、控制结构和扩展方法4个方面对两种架构风格进行比较,填写表1-2中(1)~(4)处的空白。

表1-2 两种架构的比较

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(8分)

在确定采用数据仓库架构风格后,王工给出了集成开发环境的架构图。请填写图1-1中(1)~(4)处的空白,完成该集成开发环境的架构图。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

1-1 集成开发环境架构图

43.

某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:

(1)在线交易平台必须在1s内完成客户的交易请求。

(2)该平台必须保证客户个人信息和交易信息的安全。

(3)当发生故障时,该平台的平均故障恢复时间必须小于10s。

(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。

针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。

【问题1】(9分)

软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。

【问题2】(16分)

请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。

44.

某公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能:

(1)设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构);

(2)应用软件应与硬件无关,便于软硬件的升级;

(3)由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离;

(4)宇航设备可靠性要求高,系统要有故障处理能力。

公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图3-1所示,并将软件设计工作交给了李工,要求其在三周内完成软件总体设计工作,给出总体设计方案。

图3-1 宇航嵌入式设备软件架构

{图

【问题1】(8分)

用150字以内的文字,说明公司制定的TLS软件架构的层次特点,并针对上述功能需求(1)~(4),说明架构中各层内涵。

【问题2】(10分)

在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。

请说明两种操作系统的主要差异,完成表3-1中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。 表3-1 两种操作系统的主要差异

}高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(7分)

故障处理是宇航系统软件设计中极为重要的组成部分。故障处理主要包括故障监视、故障定位、故障隔离和系统容错(重组)。用150字以内的文字说明嵌入式系统中故障主要分哪几类?并分别给出两种常用的故障滤波算法和容错算法。

45.

某公司欲开发一个车辆定速巡航控制系统,以确保车辆在不断变化的地形中以固定的速度行驶。图4-1给出了该系统的简化示意图。表4-1描述了各种系统输入的含义。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图4-1 定速巡航控制系统的简化示意图

表4-1 定速巡航控制系统输入说明

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

公司的领域专家对需求进行深入分析后,将系统需求认定为:任何时刻,只要定速巡航控制系统处于工作状态,就要有确定的期望速度,并通过调整引擎油门的设定值来维持期望速度。

在对车辆定速巡航控制系统的架构进行设计时,公司的架构师王工提出采用面向对象的架构风格,而李工则主张采用控制环路的架构风格。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了面向对象和控制环路相结合的混合架构风格。

【问题1】(5分)

在实际的软件项目开发中,采用成熟的架构风格是项目成功的保证。请用200字以内的文字说明:什么是软件架构风格;面向对象和控制环路两种架构风格各自的特点。

【问题2】(12分)

用户需求没有明确给出该系统如何根据输入集合计算输出。请用300字以内的文字针对该系统的增减速功能,分别给出两种架构风格中的主要构件,并详细描述计算过程。

【问题3】(8分)

实际的软件系统架构通常是多种架构风格的混合,不同的架构风格都有其适合的应用场景。以该系统为例,针对面向对象架构风格和控制环路架构风格,各给出两个适合的应用场景,并简要说明理由。

46.

某企业根据业务扩张的要求,需要将原有的业务系统扩展到互联网上,建立自己的B2C业务系统,此时系统的安全性成为一个非常重要的设计需求。为此,该企业向软件开发商提出如下要求:

(1)合法用户可以安全地使用该系统完成业务;

(2)灵活的用户权限管理;

(3)保护系统数据的安全,不会发生信息泄漏和数据损坏;

(4)防止来自于互联网上各种恶意攻击;

(5)业务系统涉及到各种订单和资金的管理,需要防止授权侵犯;

(6)业务系统直接面向最终用户,需要在系统中保留用户使用痕迹,以应对可能的商业诉讼。

该软件开发商接受任务后,成立方案设计小组,提出的设计方案是:在原有业务系统的基础上,保留了原业务系统中的认证和访问控制模块;为了防止来自互联网的威胁,增加了防火墙和入侵检测系统。

企业和软件开发商共同组成方案评审会,对该方案进行了评审,各位专家对该方案提出了多点不同意见。李工认为,原业务系统只针对企业内部员工,采用了用户名/密码方式是一可以的,但扩展为基于互联网的B2C业务系统后,认证方式过于简单,很可能造成用户身份被盗取:王工认为,防止授权侵犯和保留用户痕迹的要求在方案中没有体现。而刘工则认为,即使是在原有业务系统上的扩展与改造,也必须全面考虑信息系统面临的各种威胁,设计完整的系统安全架构,而不是修修补补。

【问题1】(9分)

信息系统面临的安全威胁多种多样,来自多个方面。请指出信息系统面临哪些方面的安全威胁并分别子以简要描述。

【问题2】(8分)

认证是安全系统中不可缺少的环节,请简要描述主要的认证方式,并说明该企业应采用哪种认证方式。

【问题3】(8分)

请解释授权侵犯的具体含义;针对王工的意见给出相应的解决方案,说明该解决方案的名称、内容和目标。

47.

某软件公司欲开发一个基于Web 2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。

该系统投入使用后,初期用户数量少,系统运行平稳。6个月后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在:

(1)用户执行读写操作时,响应时间均变得很慢;

(2)随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难;

(3)数据容量很快超过系统原有的设计上限,数据库扩容困难;

(4)软件系统不断出现宕机,整个系统可用性较差。

经过多次会议讨论,公司的王工建议采用NoSQL数据库来替代关系数据库,以解决上述问题。但李工指出NoSQL数据库出现时间不长,在使用上可能存在风险。公司技术人员对NoSQL数据库产品进行了认真测试,最终决定采用NoSQL数据库来替代现有的数据库系统。

【问题1】(11分)

分别解释产生问题(1)~(4)的原因。

【问题2】(8分)

请针对问题(1)~(4),分别指出NoSQL数据库的哪些特点促使公司最终采用了NoSQL数据库。

【问题3】(6分)

请指出该系统采用NoSQL数据库时可能存在的问题。

48.

在嵌入式系统中,软件采用开放式架构已成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。

某软件公司主要从事宇航领域的嵌入式软件研发工作。经二十多年的发展,其软件产品已被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。

研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了SAE AS4893《通用开放式架构(GOA)框架》标准,图3-1给出了GOA定义的架构图。

图3-1 GOA开放式架构

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题1】(9分)

请用300字以内的文字简要说明开放式架构的四个基本特点。

【问题2】(16分)

如图3-1所示,GOA框架规定了软件、硬件和接口的结构,以在不同应用领域中实现系统功能。GOA框架规定了一组接口,其重要特点是建立了关键组件及组件间接口关系,这些接口的确定可用于支持软件的可移植性和可升级性,以满足功能的增加和技术的更新要求。除操作系统服务与扩展操作系统之间的接口(3X)外,GOA将其它接口分为两类:即直接接口(iD(i=1,2,3,…))和逻辑接口(iL(i=1,2,3,…)),直接接口定义了信息传输方式;逻辑接口定义了对等数据交换的要求,逻辑接口没有定义真正的信息传输方式,其传输发生在一个或多个直接接口。根据图3-1所标注的接口在框架中的具体位置,请填写表3-1的(1)~(8)处空白。

表3-1 GOA中的接口与功能

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

49.

某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:

(a)正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;

(b)信用卡支付必须保证99.999%的安全性;

(c)对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;

(d)网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;

(e)需要在20人月内为系统添加一个新的CORBA中间件;

(f)交易过程中涉及到的产品介绍视频传输必须保证画面具有600×480的分辨率,20帧/秒的速率;

(g)更改加密的级别将对安全性和性能产生影响;

(h)主站点断电后,需要在3秒内将访问请求重定向到备用站点;

(i)假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;

(j)用户信息数据库授权必须保证99.999%可用;

(k)目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;

(l)更改Web界面接口必须在4人周内完成;

(m)系统需要提供远程调试接口,并支持系统的远程调试。

在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。

【问题1】(12分)

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图1-1

【问题2】(13分)

在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

50.

某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下:

(1)数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。

(2)处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。

项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图2-1和图2-2所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1 王工设计的数据模型

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。

【问题1】(9分)

请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。

【问题2】(8分)

请简要叙述常见的反规范化技术有哪些。

【问题3】(8分)

请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。

51.

某公司承接了某机载嵌入式系统的研制任务。该机载嵌入式系统由数据处理模块、大容量模块、信号处理模块、数据交换模块和电源模块等组成。数据处理模块有2个,分别完成数据融合和导航通讯任务;大容量模块主要功能是存储系统数据,同时要记录信号处理模块、数据处理模块的自检测、维护数据,向数据处理模块提供地图数据;信号处理模块的处理器为专用的DSP,接收红外、雷达等前端传感器数据并进行处理,将处理后的有效数据(数据带宽较大)发送给数据处理模块;数据交换模块主要负责系统的数据交换;电源模块主要负责给其他模块供电,电源模块上没有软件。

要求该机载嵌入式系统符合综合化、模块化的设计思想,并考虑系统在生命周期中的可靠性和安全性,以及硬件的可扩展性和软件可升级性,还要求系统通讯延迟小,支持多模块上的应用任务同步。

【问题1】(14分)

在设计系统架构时,李工提出了如图3-1所示的系统架构,即模块间的网络通信采用光纤通信(Fiber Channel,FC)技术,而王工认为应采用VME总线架构,如图3-2所示。王工的理由是公司多年来基于VME总线技术设计了多个产品,技术成熟,且费用较小。但公司经过评审后,决定采用李工的方案。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

请用500字以内的文字,说明VME和FC各自的特点,并针对机载嵌入式系统的要求,指出公司采用李工方案的理由。

【问题2】(5分)

公司依据ARINC653标准,设计了满足ARINC653标准的操作系统,该操作系统对系统中可能发生的模块级、分区级和进程级的错误进行处理,实现了如图3-3所示的系统健康监控机制,请分别将备选答案中的各种错误和健康监控部件填入图3-3中的(1)~(5)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

备选答案:分区健康监控、分区初始化阶段出现的分区配置错误、分区切换时出现的错误、应用进程错误、进程健康监控。

注:ARINC653标准(Avionics Application Software Standard Interface)是美国航空电子工程协会AEEC于1997年为航空民用飞机的模块化综合航空电子系统定义的应用程序接口标准,该标准提出了分区(Partition)的概念以及健康监控(health monitoring)机制。分区是应用的一种功能划分,也是操作系统调度的基本单位,严格按预先分配的时间片调度。分区间具有时空隔离特点。分区内的每一执行单元称为进程。

【问题3】(6分)

为了实现满足ARINC653标准的操作系统的时空分区隔离机制,项目组选择了PowerPC作为数据处理模块的处理器(CPU)。这样,当一个分区出现故障时,不会蔓延到模块中同一处理器的其他分区。请用500字以内的文字,说明如何采用PowerPC实现应用与内核以及诸应用之间的隔离和保护。

52.

某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展示最终的市场策略效果。

在对市场策略跟踪与分析系统的架构进行设计时,公司的架构师王工提出采用面向服务的系统架构,首先将各种待集成的第三方软件和异构数据源统一进行包装,然后将数据访问功能以标准Web服务接口的形式对外暴露,从而支持系统进行数据的分析与处理,前端则采CSS等技术实现浏览器数据的渲染与展示。架构师李工则认为该系统的核心在于数据的定位、汇聚与转换,更适合采用面向资源的架构,即首先为每种数据元素确定地址,然后将各种数据格式统一转换为JSON格式,通过对JSON数据的组合支持数据的分析与处理任务,处理结果经过渲染后在浏览器的环境中进行展示。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了李工的方案。

【问题1】(7分)

请根据题干描述,对市场策略跟踪与分析系统的数据源特征与数据操作方式进行分析,完成表4-1中的(1)~(3),并用200字以内的文字说明李工方案的优点。

表4-1 系统数据源特征与数据操作方式

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】(12分)

请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。

【问题3】(6分)

表现层状态转换(REST)是面向资源架构的核心思想,请用200字以内的文字解释什么是REST,并指出在REST中将哪三种关注点进行分离。

53.

某公司欲针对Linux操作系统开发一个KWIC(Key Word in Context)检索系统。该系统接收用户输入的查询关键字,依据字母顺序给出相关帮助文档并根据帮助内容进行循环滚动阅读。在对KWIC系统进行需求分析时,公司的业务专家发现用户后续还有可能采用其他方式展示帮助内容。根据目前需求,公司的技术人员决定通过重复剪切帮助文档中的第一个单词并将其插入到行尾的方式实现帮助文档内容的循环滚动,后续还将采用其他的方法实现这一功能。

在对KWIC系统的架构进行设计时,公司的架构师王工提出采用共享数据的主程序-子程序的架构风格,而李工则主张采用管道-过滤器的架构风格。在架构评估会议上,大家从系统的算法变更、功能变更、数据表示变更和性能等方面对这两种方案进行评价,最终采用了李工的方案。

【问题1】(7分)

在实际的软件项目开发中,采用恰当的架构风格是项目成功的保证。请用200字以内的文字说明什么是软件架构风格,并对主程序-子程序和管道-过滤器这两种架构风格的特点进行描述。

【问题2】(12分)

请完成表1-1中的空白部分(用+表示优、-表示差),对王工和李工提出的架构风格进行评价,并指出采用李工方案的原因。

表1-1 王工与李工的架构风格评价

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题3】(6分)

图1-1是李工给出的架构设计示意图,请将恰当的功能描述填入图中的(1)~(4)。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图1-1 李工给出的架构示意图

54.

RMO是一家运动服装制造销售公司,计划在五年时间内将销售区域从华南地区扩展至全国范围。为了扩大信息技术对于未来业务发展的价值,公司邀请咨询顾问帮助他们制订战略信息系统规划。经过评审,咨询顾问给出的战略规划要点之一是建立客户关系支持系统CRSS。RMO公司决定由其技术部成立专门的项目组负责CRSS的开发和维护工作。

项目组在仔细调研和分析了系统需求的基础上,确定了基于互联网的CRSS系统架构。但在确定系统数据架构时,张工认为应该采用集中式的数据架构,给出的理由是结构简单、易维护且开发及运行成本低;而刘工建议采用分布式的数据架构,并提出在开发中通过“局部数据库+缓存”的读写分离结构实现,具有较好的运行性能和可扩展性。

项目组经过集体讨论,考虑到公司的未来发展规划,最终采用了刘工的建议。

【问题1】(8分)

请用300字以内的文字,说明张工和刘工提出的数据架构的基本思想。

【问题2】(13分)

在刘工建议的基础上,为了避免CRSS系统的单点故障,请用200字以内文字简要说明如何建立CRSS的数据库系统;对于数据的读取、添加、更改和删除操作分别如何实现。

【问题3】(4分)

RMO公司销售区域将在未来五年大面积扩展,其潜在客户数量也会因此大幅度增加,所以良好的可扩展性是CRSS系统所必需的质量属性。请分别说明在集中式和分布式数据架构下,可以采用哪些方法提升系统的可扩展性。

55.

某公司拟开发一个商业情报处理系统,使公司能够及时针对市场环境的变化及时调整发展战略,以获取最大的商业利益。项目组经过讨论,决定采用结构化分析和设计方法。在系统分析阶段,为了更好地对情报数据处理流程及其与外部角色的关联进行建模,项目组成员分别给出了自己的设计思路:

(1)小张提出先构建系统流程图(System Flowcharts),以便更精确地反映系统的业务处理过程及数据的输入和输出;

(2)小李提出先构建系统数据流图(Data Flow Diagrams),来展现系统的处理过程和定义业务功能边界,并给出了情报分类子系统的0层和1层数据流图,后者如图2-1所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图2-1 情报分类子系统的1层数据流图

项目组经讨论确定以数据流图作为本阶段的建模手段。工程师老王详细说明了流程图和数据流图之间的区别与联系,并指出了图2-1的数据流图中存在的错误。

【问题1】(11分)

流程图和数据流图是软件系统分析设计中常用的两种手段,请用300字以内文字简要说明流程图与数据流图的含义及其区别,并说明项目组为何确定采用数据流图作为建模手段。

【问题2】(8分)

请分析指出图2-1所示的数据流图中存在的错误及其原因,并针对图2-1的1层数据流图绘制出情报分类子系统的0层数据流图。

【问题3】(6分)

高质量的数据流图是可读的、内部一致的并能够准确表示系统需求。请用300字以内文字说明在设计高质量的数据流图时应考虑的三个原则。

56.

某软件公司开发一项基于数据流的软件,其系统的主要功能是对输入的数据进行多次分析、处理和加工,生成需要的输出数据。需求方对该系统的软件可靠性要求很高,要求系统能够长时间无故障运行。该公司将该系统设计交给王工负责。王工给出该系统的模块示意图如图5-1所示。王工解释:只要各个模块的可靠度足够高,失效率足够低,则整个软件系统的可靠性是有保证的。

图5-1 王工建议的软件系统模块示意图

李工对王工的方案提出了异议。李工认为王工的说法有两个问题:第一,即使每个模块的可靠度足够高,假设各个模块的可靠度均为0.99,但是整个软件系统模块之间全部采用串联,则整个软件系统的可靠度为0.994=0.96,即整个软件系统的可靠度下降明显;第二,软件系统模块全部采用串联结构,一旦某个模块失效,则意味着整个软件系统失效。

李工认为,应该在软件系统中采用冗余技术中的动态冗余或者软件容错的N版本程序设计技术,对容易失效或者非常重要的模块进行冗余设计,将模块之间的串联结构部分变为并联结构,来提高整个软件系统的可靠性。同时,李工给出了采用动态冗余技术后的软件系统模块示意图,如图5-2所示。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图5-2 李工建议的系统模块示意图

刘工建议,李工方案中M1和M4模块没有采用容错设计,但M1和M4发生故障有可能导致严重后果。因此,可以在M1和M4模块设计上采用检错技术,在软件出现故障后能及时发现并报警,提醒维护人员进行处理。

注:假设各个模块的可靠度均为0.99

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题1】(4分)

在系统可靠性中,可靠度和失效率是两个非常关键的指标,请分别解释其含义。

【问题2】(13分)

请解释李工提出的动态冗余和N版本程序设计技术,给出图5-1中模块M2采用图5-2动态冗余技术后的可靠度。

请给出采用李工设计方案后整个系统可靠度的计算方法,并计算结果。

【问题3】(8分)

请给出检错技术的优缺点,并说明检测技术常见的实现方式和处理方式。

57.

某软件公司承担了某项国家重点项目的研制工作,任务重点是参考国外汽车电子发展趋势,开发某汽车公司的企业汽车电子基础软件的架构,逐步实现汽车企业未来技术发展规划。

该软件公司接收此项任务后,调动全体技术人员深入收集国外相关技术资料,经过多方调研和分析,公司提出遵照国际组织最新推出的AUTOSAR规范,按统筹规划、分步骤实施的原则,实现汽车公司的基础软件架构设计。图3-1给出了AUTOSAR规范所定义的工作包,图中灰色部分代表本项目工作所包含的内容,即软件架构和基础软件。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-1 AUTOSAR定义的工作包

【问题1】(7分)

AUTOSAR规范中要求,汽车电子软件开发流程应尽量满足并发、可多次迭代的特性。为了定义汽车电子的软件开发过程,公司李工和王工分别提出了两种软件开发流程,其开发流程见图3-2和3-3(图中ECU是指汽车电子中的电子控制单元)。请说明李工和王工谁定义的流程更符合AUTOSAR的规定,并说明理由。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-2 李工设计的流程

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编 图3-3 王工设计的流程

【问题2】(10分)

图3-1中的II-1.1.1项中定义了软件架构和操作系统的要求,图3-4是满足AUTOSAR定义的操作系统各功能模块的层次结构,请说明(1)~(5)箭头所标的具体操作含义。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

图3-4 AUTOSAR定义的操作系统结构

【问题3】(8分)

AUTOSAR是一种开放式架构,用150字以内的文字,说明采用AUTOSAR架构的主要优点,并说明汽车电子ECU覆盖汽车的哪三个领域。

58.

某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。该系统的重要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管理等,在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

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】(12分)

1、请分析题干中的需求描述,填写图1-2中(1)~(6)处的空白。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

59.

阅读以下关于数据管理的方案设计,在答题纸上回答问题1至问题3。

【说明】

互联网公司因业务发展要建立网上平台为用户提供一个对网络文化产品进行评论 (小说,电影等)交流的平台,该平台的部分功能如下

(a)用户帖子的评论计数器

(b)支持粉丝列表功能

(c)支持标签管理

(d )支持共同好友功能

(e)提供排名功能

(f)用户的信息结构化存储

(g)提供好友信息的发布/订阅功能。

该系统在性能上需要考虑高性能,并发,以支持大量的用户同时访问,经过考虑,在数据管理上,决定采用Redis+数据库的解决方案。

【问题1】

Recdis支持丰富的类型,请选择题干描述的(a)-(g)功能选项。填入表4-1中(1)-(5)空白处。

高级系统架构设计师,历年真题,《系统架构设计师》案例分析真题汇编

【问题2】

缓存中存储当前的热点数据Redis为每个key值都设置了过期时间,以提高缓存命中率,为了消除非热点数据Redis选择了定期删除加惰性删除策略。如果该策略失效Redis内存使用率会越来越高,一般采用内存淘汰机制来解决。 请用100字以内的文字,简要描述该策略的失效场景,并给出三种内存淘汰机制。