【软考系统架构设计师】2021年下系统架构师案例分析历年真题

【软考系统架构设计师】2021年下系统架构师案例分析历年真题

  • 【软考系统架构设计师】2021年下系统架构师案例分析历年真题
    • 2021下案例分析历年真题试题一(架构风格与评估)
    • 2021下案例分析历年真题试题二(UML设计)
    • 2021下案例分析历年真题试题四(数据建模)
    • 2021下案例分析历年真题试题五(Web架构设计)

2021下案例分析历年真题试题一(架构风格与评估)

2021下案例分析第一题必选题
阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。
[说明]
某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。
该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:
(a)平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;
(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;
©平台支持分布式部署,当主站点断电后,应在20秒内将请求重定向到备用站点;
(d)平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式;
(e)平台主站点宕机后,需要在15秒内发现错误并启用备用系统;
(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;
(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;
(h)平台需要对用户的所有操作过程进行详细记录,便于审计工作;
(i)平台部署后,针对界面风格的修改需要在3人天内完成;
(j)在正常负载情况下,平台应在0.5秒内对用户的界面操作请求进行响应;
(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;
(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。
在对平台需求、质量属性描述和架构特性进行分析的基础上,公司的架构师给出了三种候选的架构设计方案,公司目前正在组织相关专家对平台架构进行评估。
【问题1】 (9分)
在架构评估过程中,,质量属性效用树(utility tree)是对系统质属性进行识别和优先级排序的重要工具。 请将合适的质量属性名称域入图1-1中(1)、(2)空白处,并从题干中的(a)-(i)中选择合适的质量属性描述,填入(3)-(6)空白处,完成该平台的效用树。

【问题2】 (16分)
针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道过滤器(ppe-and-hlter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格

【问题1标准答案】
(1)性能
(2)可修改性
(3)(e)可用性
(4)(j)性能
(5)(h)安全性
(6)(i)可修改

【问题2标准答案】
本题系统中有多个应用场景提到了系统分角色有不同的操作流程与界面,以及在修改扩充系统时,需要能够在限定时间内快速完成任务。基于这样的情况,我们从两方面进行分析:
解释器:机器学习流程定义的灵活性高,可扩展能力强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。
管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。
隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般,隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度,本题中可把角色执行业务的流程用事件触发。这种做法比管道过滤器强,但弱于完全自定义的解释器。

2021下案例分析历年真题试题二(UML设计)

2021下案例分析第二题选做题
阅读以下关于软件系统设计与建模的叙述,在答题纸上回答问题1至问题3。
【说明】
某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:(a)注册登录,(b)信息浏览,©账号管理,(d)预约挂号,(e)查询与取消预约,(F)号源管理,(g)报告查询,(h)预约管理,(i)报表管理和(j)信用管理等。
【问题1】 (6 分)
若采用面向对象方法对预约挂号管理系统进行分析,得到如图2-1所示的用例图。请将合适的参与者名称填入图2-1中的(1)和(2)处,使用题干给出的功能描述(a)(j),完善用例(3)(12)的名称,将正确答案填在答题纸上。

【问题2】 (10分)
预约人员(患者)登录系统后发起预约挂号请求,进入预约界面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预约界面,并显示给预约人员;预约人员选择医生及就诊时间后确认预约,系统反馈预约结果,并向用户显示是否预约成功。
采用面向对象方法对预约挂号过程进行分析,得到如图2-2所示的顺序图,使用题干中给出的描述,完善图2-2中对象(1),及消息(2)~(4)的名称,将正确答案填在普题纸上请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别

【问题3】 (9分)
采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?

【问题1标准答案】
(1)系统管理员
(2)患者
(3)(a)注册登录
(4)-(8)(c)账号管理(f)号源管理(h)预约管理(i)报表管理(j)信用管理
(9)-(12)(b)信息浏览(d)预约挂号(e)查询与取消预约(g)报告查询
【问题2标准答案】
(1)预约人员(患者)
(2)预约挂号请求
(3)显示医生可预约时段
(4)显示预约是否成功
顺序图强调的是对象交互的时间次序。通信图强调的是对象之间的组织结构。
【问题3标准答案】
对象模型描述了系统的静态结构,一般使用对象图来建模。对象模型是整个体系中最基础,最核心的部分。
动态模型描述了系统的交互次序,一般使用状态图来建模。
功能模型描述了系统的数据变换,一般使用数据流图来建模。
相互关系:
对象模型描述了动态模型和功能模型所操作的数据结构,对象模型中的操作对应于动态模型中事件和功能模型中的函数;
动态模型描述了对象模型的控制结构,告诉我们哪些决策是依赖于对象值,哪些引起对象的变化,并激活功能;
功能模型描述了由对象模型中操作和动态模型中动作所激活的功能,而功能模型作用在对象模型说明的数据上,同时还表示了对对象值的约束

2021下案例分析历年真题试题四(数据建模)

2021下案例分析第四题选做题
阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。
【说明】
某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。
经过规范化设计之后,该系统的部分数据库表结构如下所示。
供应商(供应商ID,供应商名称,联系方式,供应商地址);
药品(药品ID,药品名称,药品型号,药品价格,供应商ID);
药品库存(药品ID,当前库存数量);
订单(订单号码,药品ID,供应商ID,药品数量,订单金额)。
【问题1】 (9分)
在系统初步运行后,发现系统数据访问性能较差。经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能。例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息。
为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。修改后的药品关系结构为:
药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量) ;
请用200字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法
【问题2】 (9分)
王工认为,反规范化设计可提高查询的性能,但必然会带来数据的不一致性问题。请用200字以内的文字说明在反规范化设计中,解决数据不一致性问题的三种常见方法,并说明该系统应该采用哪种方法。
【问题3】 (7分)
该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题。
(1) Redis的数据类型包括String、 Hash、 List、 Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。
(2)请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案

【问题1我的解答】
常用的反规范化技术有:分割表(水平分割和垂直分割),增加冗余列,增加冗余派生列,合并表(重新组表);
用户查询商品应该采用的是合并表,增加冗余列的方法来提高系统的性能。

【问题1标准答案】
常见的反规范化技术包括:
(1)增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。
(2)增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。
(3)重新组表:重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
(4)分割表:有时对表做分割可以提高性能。
用户查询商品信息应该采用:增加冗余列。
用户查询商品信息时,需要显示药品信息(药品表中),供应商信息(供应商表),库存信息(库存表中) ,此时查询的是药品表,但表中缺了供应商的信息和库存信息,可以通过增加冗余列的方式把这些信息并过来。以避免连接操作带来的查询性能下降。

【问题2我的解答】
解决数据不一致性问题的三种常见方法有:建立存储过程,使用触发器,或者使用应用程序来保持数据的一致性。

【问题2标准答案】
针对反规范化数据不一致问题,可采用的解决方案包括:
1、触发器数据同步
2、应用程序数据同步
3、物化视图
或者说:批处理维护,应用逻辑,触发器
【问题3我的解答】
1)使用ZSet这种数据类型实现当前热销药品排名

【问题3标准答案】
(1)热销药品排名适合用:ZSet,即有序集合类型
(2)
1、实时同步方案,先查缓存,查不到再从DB查询,并保存到缓存;更新缓存时先更新数据库,再将缓存设置过程期更新缓存。
2、异步队列方式同步,可采用消息中间件处理。
3、通过数据库插件完成数据同步。
4、利用触发器进行缓存同步。

另一种答案:
引用MYSQL的事务,因为事物有一致性保证,事务提交更新之后再更新缓存。
通过数据库中间件产品来保证缓存和数据库是实时同步的。
在缓存里面引用一些访问控制位,数据库数据变化之后,同步变更对应的访问控制位,然后从缓存查询时,率先判断该访问控制位,有变化就从数据库查,无变化直接从缓存返回数据。

2021下案例分析历年真题试题五(Web架构设计)

2021下案例分析第五题选做题
阅读以下关于Web系统架构设计的教述,在答题纸上回答问题1至问题3。
【说明】
某公司拟开发一个智能家居管理系统,该系统的主要功能需求如下:1)用户可使用该系统客户端实现对家居设备的控制,且家居设备可向客户端反馈实时状态;2)支持家居设备数据的实时存储和查询;3)基于用户数据,挖掘用户生活习惯,向用户提供家居设备智能化使用建议。
基于上述需求,该公司组建了项目组,在项目会议上,张工给出了基于家庭网关的传统智能家居管理系统的设计思路,李工给出了基于云平台的智能家居系统的设计思路。经过深入讨论,公司决定采用李工的设计思路。
【问题1】 (8分)
请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。
【问题2】 (12分)
请从下面给出的(a) ~ (j) 中进行选择,补充完善图5-1中空(1) ~ (6)处的内容,协助李工完成该系统的架构设计方案。

(a) Wi-FI
(b) 蓝牙
©驱动程序
(d)数据库
(e)家庭网关
(f)云平台
(g)微服务
(h)用户终端
(i)鸿蒙
(j)TCP/IP
【问题3】 (5分)
该系统需实现用户终端与服务端的双向可靠通信,请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议

【问题1标准答案】
网关管理:云平台更强,可以实现远程网关管理,可以对不同地点的多种设备进行统一管理,管理能力更强。
数据处理:数据一般经由网关传递到云上数据库中,再进行处理,这样对数据进行分析、挖掘更便利,同时存储在云端,数据更安全,有容灾能力。
系统性能:数据存在云上数据库中,通信效率更高,同时云也有更强的数据处理能力,所以会更高效。
【问题2标准答案】
(1)(h)用户终端
(2)(i)鸿蒙
(3)(f)云平台
(4)(d)数据库
(5)(e)家庭网关
(6)(c)驱动程序
【问题3标准答案】
该系统应采用TCP协议,这样才能保障用户终端和服务端之间的双向可靠通信。
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP之所以可靠,是因为建立连接时有3次握手,通信时有回应机制,所以丢了包,能重传以保障通信可靠性。
UDP是一种面向无连接的传输层通信协议,丢了包不会重传,所以不能保障通信可靠性

【软考系统架构设计师】2021年下系统架构师案例分析历年真题相关推荐

  1. 【软考系统架构设计师】2009年下系统架构师案例分析历年真题

    [软考系统架构设计师]2009年下系统架构师案例分析历年真题 2009年下系统架构师案例分析历年真题 [软考系统架构设计师]2009年下系统架构师案例分析历年真题 2009年系统架构师案例分析真题第一 ...

  2. 【软考系统架构设计师】2017下系统架构师案例分析历年真题

    [软考系统架构设计师]2017下系统架构师案例分析历年真题 2017下系统架构师案例分析历年真题 [软考系统架构设计师]2017下系统架构师案例分析历年真题 2017下系统架构师案例分析试题一(系统架 ...

  3. 【软考软件评测师】2014年下案例分析历年真题

    [软考软件评测师]2014年下案例分析历年真题 2014下案例分析历年真题 [软考软件评测师]2014年下案例分析历年真题 2014下案例分析历年真题第一题(15分) 2014下案例分析历年真题第二题 ...

  4. 【软考系统架构设计师】2022下案例分析历年真题

    [软考系统架构设计师]2022下案例分析历年真题 [软考系统架构设计师]2022下案例分析历年真题 [软考系统架构设计师]2022下案例分析历年真题 2022下案例分析历年真题第一题(25分) 202 ...

  5. 视频教程-2020年软考网络规划设计师案例分析历年真题详解软考视频教程-软考

    2020年软考网络规划设计师案例分析历年真题详解软考视频教程 10年以上软考培训经验,线下培训学员过万人.培训过的课程有:网络规划设计师.网络工程师.信 息系统项目管理师.系统集成项目管理师.信息安全 ...

  6. 【软考软件评测师】2020年下案例分析历年真题

    [软考软件评测师]2020年下案例分析历年真题 2020下案例分析历年真题 [软考软件评测师]2020年下案例分析历年真题 2020下案例分析历年真题第一题(15分) 2020下案例分析历年真题第二题 ...

  7. 【软考软件评测师】2015年下案例分析历年真题

    [软考软件评测师]2015年下案例分析历年真题 2015下案例分析历年真题 [软考软件评测师]2015年下案例分析历年真题 2015下案例分析历年真题第一题(15分) 2015下案例分析历年真题第二题 ...

  8. 【软考软件评测师】2017年下案例分析历年真题

    [软考软件评测师]2017年下案例分析历年真题 2017下案例分析历年真题 [软考软件评测师]2017年下案例分析历年真题 2017下案例分析历年真题第一题(15分) 2017下案例分析历年真题第二题 ...

  9. 【软考软件评测师】2010年下案例分析历年真题

    [软考软件评测师]2010年下案例分析历年真题 2010年下案例分析历年真题 [软考软件评测师]2010年下案例分析历年真题 2010下案例分析历年真题第一题(15分) 2010下案例分析历年真题第二 ...

  10. 【系统分析师之路】2018年下系统分析师案例分析历年真题

    [系统分析师之路]2018年下系统分析师案例分析历年真题 2018年下系统分析师案例分析真题 [系统分析师之路]2018年下系统分析师案例分析历年真题 2018年下系统分析师案例分析试题一(需求工程) ...

最新文章

  1. Java面试宝典系列之基础面试题-常见的几种排序算法-插入、选择、冒泡、快排、堆排等
  2. 轻松搞定python中模板和包的使用
  3. dotnet 通过引用 msbuild 程序集实现自己定制编译器
  4. 小数变百分数_小数除法三要“点”
  5. 联想记忆计算机网络,联想记忆网络,associative memory network,音标,读音,翻译,英文例句,英语词典...
  6. BP神经网络(BPNN)——参数确定
  7. 基于Python编写的倒计时工具
  8. Opencv remap函数
  9. 计算机控制作业来看,带PID控制器的最小拍系统设计
  10. 用python画爱心及代码演示
  11. 莱赞多店管家分析Lazada印尼站点热卖商品,商家运营更轻松
  12. Java工具集-MD5加密工具
  13. 食堂窗口排长队?社区如何改善老年人用餐问题
  14. 百度地图三种定位方式测试(高精度、低功耗、仅用设备)
  15. Python、R绘制多彩气泡图
  16. ApacheCN 公众号文章汇总 2019.6
  17. idea点击接口的方法的跳到实现类的快捷键
  18. Leetcode 594. 最长和谐子序列 C++
  19. 软件测试概念及分类整理汇总
  20. 机器人创客教育在哪里

热门文章

  1. DDR内存家族演进史
  2. #FFMPEG4.3.1#命令行实现视频码率转换、缩放、剪切、填充、旋转操作(3)
  3. html超链接为变量,如何向超链接添加变量值
  4. mysql.sock介绍
  5. struts2系列-Real-BUUCTF平台
  6. 基于单片机的数字钟设计
  7. html背景图片固定代码
  8. 【unity 】第一人称角色控制器手机虚拟双摇杆
  9. ice的意思_ice是什么意思_ice的翻译_音标_读音_用法_例句_爱词霸在线词典
  10. TL431-2.5v基准电压芯片几种基本用法