2019系统架构案例分析(试题+答案+做题技巧)

这篇具有很好参考价值的文章主要介绍了2019系统架构案例分析(试题+答案+做题技巧)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2。

某电子商务公司为了更好地管理用户,提升企业销售业绩,拟开发一套用户管理系统。该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分为不同的等级,并针对不同等级的用户提供相应的折扣方案。在需求分析与架构设计阶段,电子商务公司提出的需求、质量属性描述和架构特性如下:
(a)用只目前分为普通用户、银卡用户、金卡用户和自金用户四个等级,后续需要能够根据消费情况进行动态调整;
(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;
©在正常负载情况下,系统应在0.5秒内对用户的商品查询请求进行响应;
(d)在各种节假日或公司活动中,针对所有级别用户,系统均能够根据用户实时的消费情况动态调整折扣力度;
(e)系统主站点断电后,应在5秒内将请求重定向到备用站点;
(f)系统支持中文昵称,但用户名要求必须以字母开头,长度不少于8个字符;
(g)当系统发生网络失效后,需要在15秒内发现错误并启用备用网络;
(h)系统在展示商品的实时视频时,需要保证视频画面具有1024×768像素的分辨率,40帧/秒的速率:
(i)系统要扩容时,应保证在10人月内完成所有的部署与测试工作;
(j)系统应对用户信息数据库的所有操作都进行完整记录;
(k)更改系统的Web界面接口必须在4人周内完成;
(l)系统必须提供远程调试接口,并支持远程调试。
在对系统需求、质量属性描述和架构特性进行分析的基础上,该系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

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

2019系统架构案例分析(试题+答案+做题技巧),软考,系统架构
由于该系统的基本功能是根据用户的消费级别、消费历史、信用情况等指标将用户划分为不同的等级,并针对不同等级的用户提供相应的折扣方案。所以该系统适合基于规则的架构风格。
(1)将用户级别、折扣规则描述为可动态改变的规则数据
(2)加入新的用户级别和折扣时需要在对象中添加新的属性来进行扩展
(3)在系统启动时加载对象,可直接运行,性能较好

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

2019系统架构案例分析(试题+答案+做题技巧),软考,系统架构
(1)安全性(2)可修改性(3)h(4)j(5)e(6)k

2、阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

某软件企业为快餐店开发一套在线订餐管理系统,主要功能包括:
(1)在线订餐:已注册客户通过网络在线选择快餐店所提供的餐品种类和数量后提交订单,系统显示订单费用供客户确认,客户确认后支付订单所列各项费用。
(2)厨房备餐:厨房接收到客户已付款订单后按照订单餐品列表选择各类食材进行餐品加工。
(3)食材采购:当快餐店某类食材低于特定数量时自动向供应商发起来购信息,包括食材类型和数量,供应商接收到采购信息后按照要求将食材送至快餐店并提交已采购的食材信息,系统自动更新食材库存。
(4)生成报表:每个周末和月末,快餐店经理会自动收到系统生成的统计报表,报表中详细列出了本周或本月订单的统计信息以及库存食材的统计信息。现采用数据流图对上述订餐管理系统进行分析与设计,系统未完成的О层数据流图如图所示。
2019系统架构案例分析(试题+答案+做题技巧),软考,系统架构
【问题1】(8分)
根据订餐管理系统功能说明,请在图2-1所示数据流图中给出外部实体E1-E4和加工P1-P4的具体名称。

E1 客户
E2 厨房
E3 经理
E4 供应商
P1 在线订餐
P2 厨房备餐
P3 生成报表
P4 食材采购

【问题2】(8分)
根据数据流图规范和订餐管理系统功能说明,请说明在图2-1中需要补充哪些数据流可以构造出完整的О层数据流图。
由E1流向P1的提交订单数据流
由D1流向P2的订单信息数据流
由E4流向P4的已采购食材数据流
由D1流向P3的订单汇总数据流
由P3流向E3的统计报表数据流
【问题3】(9分)
根据数据流图的含义,请说明数据流图和系统流程图之间有哪些方面的区别。

数据流图表示系统各个业务的数据流,流程图表示系统某一业务的处理流程
数据流图在时间标准方面是不统一的,流程图在时间标准方面是统一的
数据流图属于系统分析阶段,流程图属于系统设计阶段
数据流图在同一时刻可以多个处理过程并行,流程图在同一时刻只能有一个处理过程

4、阅读以下关于分布式数据库缓存设计的叙述,在答题纸上回答问题1至问题3

某初创企业的主营业务是为用户提供高度个性化的商品订购业务,其业务系统支持PC端、手机App等多种访间方式。系统上线后受到用户普遍欢迎,在线用户数和订单数量迅速增长,原有的关系数据库服务器不能满足高速并发的业务要求。
为了减轻数据库服务器的压力,该企业采用了分布式缓存系统,将应用系统经常使用的数据放置在内存,降低对数据库服务器的查询请求,提高了系统性能。在使用缓存系统的过程中,企业碰到了一系列技术问题。
【问题1】 (11分)
该系统使用过程中,由于同样的数据分别存在于数据库和缓存系统中,必然会造成数据同步或数据不一致性的问题。该企业团队为解决这个问题,提出了如下解决思路:应用程序读数据时,首先读缓存,当该数据不在缓存时,再读取数据库;应用程序写数据时,先写缓存,成功后再写数据库:或者先写数据库,再写缓存。王工认为该解决思路并未解决数据同步或数据不一致性的问题.请用100字以内的文字解释其原因。王工给出了一种可以解决该问题的数据读写步骤如下:
读数据操作的基本步骤:
1、根据key读缓存;
2、读取成功则直接返回;
3、若key不在缓存中时,根据key(a);
4、读取成功后,(b):
5、成功返回。
写数据操作的基本步骤:
1根据key值写©;
2,成功后(d);
3、成功返回。
请填写完善上述步骤中(a)—(d)处的空白内容。

读数据时,在缓存没有数据,数据库有数据时,没有把读取的数据更新到缓存中,导致数据不同步。
写数据时,
写入数据时不能先写数据库,在高并发情况下用户下单扣库存时显示的是缓存,如果先写数据库就会导致实际库存已经没了但是显示还有库存,会导致数据不一致。

a:读取数据库
b:更新缓存再返回
c:数据库
d:更新缓存

【问题2】(8分)
缓存系统一般以key/value形式存储数据,在系统运维中发现,部分针对缓存的查询,未在缓存系统中找到对应的key,从而引发了大量对数据库服务器的查询请求,最严重时甚至导致了数据库服务器的宕机。经过运维人员的深入分析,发现存在两种情况:
(1)用户请求的key值在系统中不存在时,会查询数据库系统,加大了数据库服务器的压力;
(2)系统运行期间,发生了黑客攻击,以大量系统不存在的随机 key发起了查询请求,从而导致了数据库服务器的宕机。经过研究,研发团队决定,当在数据库中也未查找到该key时,在缓存系统中为key设置空值,防止对数据库服务器发起重复查询。请用100字以内文字说明该设置空值方案存在的问题,并给出解决思路。

key是无限的,会造成资源浪费
采用布隆过滤器在查询缓存之前先过滤

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

某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:
(1)系统应支持大于50个终端设备的并发请求;
(2)系统应能够实时识别车牌,识别时间应小于1s;
(3)系统应7×24小时工作;
(4)具有友好的用户界面
(5)可抵御常见SOI, 注入攻击: ;
(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)中进行选择,补充完善图中(1)-(7)处空白的内容。
**
2019系统架构案例分析(试题+答案+做题技巧),软考,系统架构
(1)d(2)e(3)i(4)h(5)g(6)f(7)a

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

SQL注入攻击:是黑客对数据库进行攻击的常用手段之一。随着BS模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQLInjection,即 SQL注入。
可以通过以下方式抵御SQL注入攻击:
1、使用正则表达式;
2、使用参数化的过滤性语句;
湖燕
3、检查用尸输入的合法性;
4、用户相关数据加密处理;5存储过程来执行所有的查询;6使用专业的漏洞扫描工具。文章来源地址https://www.toymoban.com/news/detail-713367.html

到了这里,关于2019系统架构案例分析(试题+答案+做题技巧)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2022系统分析师案例分析真题背记内容

    以下内容仅为个人根据当年系分案例真题问题整理的偏需要记背的考点答案,方便个人背诵和记忆使用。方便文字转语音,所以内容全为纯文字内容,以下内容仅供参考。 1.数据流图: 数据流图的特点:通过系统内数据的流动来描述系统功能的-一种方法。强调系统中的数据流动

    2024年02月06日
    浏览(29)
  • 【数据库】树形数据组织架构下的封锁并发控制,B树索引并发访问控制,树协议原理及案例分析

    ​ 专栏内容 : 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便阶段学

    2024年02月04日
    浏览(30)
  • 用友U8与MES系统API接口对接案例分析

    领导层对企业资源规划(ERP)的深刻理解促使了数字化转型的启动。 采用精确的“N+5”滚动计划,为供应商提供充分的预期信息,确保准时化生产。 精细管理刀具采购和车间设备,优化生产计划和过程。 通过轻易云数据集成平台实现MES与ERP的无缝对接。 引入无线条码技术,

    2024年02月09日
    浏览(26)
  • 振弦传感器和在线监测系统保障岩土工程项目稳定性:案例分析

    振弦传感器和在线监测系统保障岩土工程项目稳定性:案例分析 以下是一个振弦传感器和振弦采集仪及在线监测系统形成一套完整链条的岩土工程监测案例: 项目背景:一家建设公司在中国某地进行了一项岩土工程项目,该项目涉及到一座桥梁的建设。建设公司决定使用振

    2024年02月15日
    浏览(44)
  • 系统架构设计师考试试题分析

    本次考试是系统架构设计师开考以来的第2次考试,从形式上来看,系统架构设计师的考试风格已趋于稳定。这表现在上午考试各科目知识点分布稳定。案例分析维持1道必答题+4选2模式,论文维持4选1模式。 1.信息系统综合知识试题 在本次考试中,值得特别注意的是:在嵌入

    2023年04月22日
    浏览(30)
  • spark案例分析-搜索引擎日志分析案例

    1.业务分析 2.数据截图 3.代码实现:         main.py:         defs.py:

    2024年02月08日
    浏览(35)
  • 对应分析介绍及SPSS案例分析

    在开展统计分析的过程中,分类变量(定序和定类变量)是我们研究的一个重点。通常我们分析分类变量间关系时,最常用的分析方法是卡方检验,其次是逻辑回归和对数线性模型等。 如果类别变量的分类较少,我们可以通过卡方检验判断行变量和列变量间是否相互独立,同

    2024年02月13日
    浏览(32)
  • python案例讲解视频,python简单案例分析

    大家好,给大家分享一下python案例讲解视频,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!   前言 Python 是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。 相比其他编程语言(比如 Java),Python 代码非常简单,上手

    2024年04月11日
    浏览(34)
  • C++软件分析工具案例分析集锦汇总

    本文是 C++常用软件分析工具从入门到精通案例集锦 专栏的导航贴( 点击链接,跳转到专栏主页,欢迎订阅,持续更新… )。 专栏介绍 :根据近几年C++软件异常排查的项目实践,详细地讲述如何使用PE工具、Dependency Walker、GDIView、Process Explorer、Process Monitor、API Monitor、Clum

    2024年02月11日
    浏览(37)
  • Python案例分析|文本相似度比较分析

     本案例通过设计和实现有关文本相似度比较的类Vector和Sketch,帮助大家进一步掌握设计Python类来解决实际问题的能力。 通过计算并比较文档的摘要可实现文本的相似度比较。 文档摘要的最简单形式可以使用文档中的k-grams(k个连续字符)的相对频率的向量来表示。假设字符

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包