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

1.

阅读以下关于 Web 应用设计开发的描述,在答题纸上回答问题 1 至问题 3。某公司拟开发一个网络约车调度服务平台,实现基于互联网的出租车预约与管理。公司的系统分析师王工首先进行了需求分析,得到的系统需求列举如下:系统的参与者包括乘客、出租车司机和平台管理员三类;系统能够实现对乘客和出租车司机的信息注册与身份认证等功能,并对乘客的信用信息进行管理,对出租车司机的违章情况进行审核;系统需要与后端的银行支付系统对接,完成支付信息审核、支付信息更新与在线支付等功能;针对乘客发起的每一笔订单,系统需要实现订单发起、提交、跟踪、撤销、支付、完成等业务过程的处理:系统需要以短信、微信和电子邮件多种方式分别为系统中的用户进行事件提醒。【问题1】(9分)请说明微服务架构的优点和缺点。【问题2】(8分)识别并设计微服务是系统开发过程中的一个重要步骤,请对题干需求进行分析,对微服务的种类和包含的业务功能进行归类,完成表1-1中的(1)~(4)。表1-1 微服务名称及所包含业务功能

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题3】(8分)答对4条即可应用网关是实现微服务的主要技术之一,请简述应用网关的作用。

2.

试题三(25分)阅读以下关于某嵌入式实时系统的软件需求的叙述,回答问题1至问题3。某公司承担了一项嵌入式实时控制系统的软件开发任务,其内容是按系统要求的固定的时间序列采集、处理、输出数据,以实现对多个设备的综合控制。系统由硬件和软件组成,硬件由处理机(采用PowerPC603e,主频133MHz)、存储器、定时器、中断控制器、双口存储器(空间大小1024KB)、4路422半双工串口接口(其中两路的频率115200Hz,另两路频率38400Hz)、两路A/D、D/A数模转换器和10路离散量接口组成。系统的软件需求如下(注:B:字节;s:秒;ms:毫秒):(1)系统要求以5ms为周期从双口存储器中采集1024KB的输入数据,处理任务的时间约为1ms;(称为5ms任务)(2)系统要求以20ms为周期从两路422接口(115200Hz)中采集一定格式的大小为64B的数据,在完成处理(处理时间约为4ms)任务后,分别输出大小为16B的控制命令;(称为20ms任务)(3)系统要求以60ms为周期从两路422接口(38400Hz)中采集一定数据格式的大小为6B数据,从两路A/D接口采集28位数据,在完成处理(处理时间约为2ms)任务后,分别输出大小为2B的控制命令和一个28位D/A数据,输出8路离散量控制数据;(称为60ms任务)4)作为系统的安全监控保障,系统要求在每1s内对系统软硬件状态进行测试并完成系统工作的状态记录工作。该任务共需处理时间是5ms。(称为1s任务)本公司课题组根据用户的硬件环境及软件的需求,就软件的实施方案展开了激烈的讨论,讨论的首要问题就是本系统中软件的运行平台是采用嵌入式实时操作系统还是在裸机上直接开发的方式,李工程师(简称李工)提出了为了保证系统的实时性,应该采用裸机上直接开发的方式,关键部分采用汇编语言编写,而王工程师(简称王工)提出,由于系统将由多种周期的处理任务组成,为了保证系统的可靠性,应该采用商用嵌入式实时操作系统作为本项目的开发基础,经过充分论证,最后李工接受了王工的建议,并申报课题组组长,课题组长同意采用了操作系统的方案,并指出必须尽快对需求的时间性能做出评估。[问题1](10分)请用450字以内文字简要说明王工提出的采用嵌入式实时操作系统的理由或优点,并说明选择操作系统产品时需要重点考虑其哪些功能与性能?[问题2](10分)李工和王工通过认真地对需求进行了分析,给出了时间性能评估报告,判定在上述硬件平台上可以满足系统要求。请用300字以内文字简要说明嵌入式实时操作系统中时间性能评估中主要考虑哪几项因素;针对本课题的具体数据,叙述系统的工作时序关系。[问题3](5分)根据系统需求,请设计出系统的处理流程(按时序),说明所有任务的优先级分配策略,422接口、双口存储器、离散量接口和A/D(D/A)的数据输入/输出方法(中断或查询驱动)及理由。请用350字以内文字简要说明。

3.

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

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

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

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

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

【问题1】(11分)

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

【问题2】(8分)

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

【问题3】(6分)

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

4.

阅读以下关于智能安防应用的叙述,在答题纸上回答问题1至问题3。【说明】随着人们生活水平的提高,人们对于物质文化生活要求提高的同时,对于居家安全也越来越重视。某软件公司长期从事智能移动应用开发,现决定开发一套适用于家庭使用的便捷式智能安防系统。系统包括两个层面,其一为硬件层面,基于嵌入式操作系统实现动态拍摄,并上传到视频服务器;其二为用户软件层面,基于Web界面,用户通过安全认证后可在线查看监控视频。项目组召开会议对以下需求进行了重点讨论:(1)系统终端用户的界面呈现较丰富,包括图片、视频及语音消息。(2)付费VIP客户视频可以保存18个月,普通用户视频只能保存1个月,滚动覆盖。(3)系统上线后需应对大量客户端并发请求处理,并发用户数可能会有上万人的规模;系统预期用户呈明显地域集中分布特征。【问题1】(12分) 项目组在讨论实现需求(3)的技术方案时,首先确定了以下技术原则:(a)系统中用户信息按类别划分不同数据库或表存放。(b)系统应提供热备份机制以防止服务器意外失效。(c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。项目组经过集思广益,抽取了HTML静态化、缓存、P2P、集群与镜像、负载均衡等候选技术手段。请结合需求(3)及相应技术原则,分析上述技术手段在本项目中的可行性,将结果填入表格5-1中。表5-1 技术手段可行性分析

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题2】(5分) 本项目涉及到了嵌入式系统的知识。根据你的理解,请用300宇以内文字说明嵌入式系统的主要特点。 【问题3】 (8分)为了提高系统的安全性和可靠性,便于应用软件的可重用性,需要选择一款满足安防要求的嵌入式操作系统,并在操作系统之上开发视频监控软件。请根据你对嵌入式操作系统选择方法的理解,判断表5-2给出的有关选择嵌入式操作系统的观点是否正确,将解答写在答题纸的对应栏内。表5-2 选择嵌入式操作系统的8种观点

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

5.

阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。【说明】在目前的大环境下,某房企决定转移业务重心,将原来以售卖为主的业务转变为互联网租房业务,为此拟开发一套基于Web的云管业务系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,需求中还包含诸如文件处理、安全防护等扩展功能。 【问题1】(5分)在选择系统所采用的Web开发框架时,项目组对阿里巴巴开发的WebX框架与轻量级Spring MVC框架进行了对比分析,最终决定采用WebX框架进行开发。请用300字以内文字,从多应用支持、基础服务支持以及可扩展性这三个方面对WebX与Spring MVC框架进行对比。 【问题2】(12分)在确定系统釆用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了 Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对4-1中所列项目需求的支持情况,将候选答案序号A或B填入表4-1相应位置。【候选答案:A. 支持 B. 不支持或支持差】 表4-1 两种持久化方案对项目需求的支持情况

高级系统架构设计师,模拟考试,2021年《系统架构设计师》下午模拟试卷1

【问题3】(8分)王工负责订单系统的数据库设计与开发,初步设计的核心订单关系模式为:orders(order_no,customer_no,order_date,product_no,price,……);考虑订单数据过多,单一表的设计会对系统性能产生较大影响,仅仅采用索引不足以解决性能问题。因此,需要将订单表拆分,按月存储。王工采用反规范化设计方法来解决,给出了相应的解决方案。常见的反规范化设计包括增加冗余列、增加派生列、重新组表和表分割。为解决题干所述需求,王工采用的是哪种方法?请用300字以内的文字解释说明该方法,并指出其优缺点。