系统架构设计师-下午案例题(2022年下半年)

news/2024/12/22 2:08:31/

1.试题-(共25分):阅读以下关于软件架构设计与评估的叙述在答题纸上回答问题1和问题2。

【说明】某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大业务也相对简单,系统性能方面不做过多考虑,新系统除了保持现有的四级固定会员制度外,还需要根据用户的消费金额、偏好、重复性等相关特征动态调整商品的折扣力度,并支持在特定的活动周期内主动筛选与活动主题高度相关的用户集合,提供个性化的打折促销活动。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:

(a)管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效:

(b)系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警:(安全性)

(c)在正常负载情况下,系统应在0.3秒内对用户的界面操作请求进行响应:(性能)

(d)用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符。
(e)在正常负载情况下,用户支付商品费用后在3秒内确认订单支付信息:(性能)
(f)系统主站点电力中断后,应在5秒内将请求重定向到备用站点:(可用性)
(g)系统支持横向存储扩展,要求在2人天内完成所有的扩展与测试工作:(可修改性)
(h)系统宕机后,需要在10秒内感知错误并自动启动热备份系统:(可用性)
(i)系统需要内置接口函数,支持开发团队进行功能调试与系统诊断:

(j)系统需要为所有的用户操作行为进行详细记录,便于后期查阅与审计;(安全性)
(k)支持对系统的外观进行调整和配置,调整工作需要在4人天内完成。(可修改性)

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

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

【答案】(1)安全性(2)可修改性(3)e(4)j(5)h(6)k

【考点】

软件系统架构评估主要关注质量属性。主要包括以下几种:性能、可靠性、可用性、安全性、可修改性、功能性、可变性、互操作性。

  • 性能关注系统的响应能力;
  • 可靠性关注系统在错误面前的维持功能能力;
  • 可用性关注系统能够正常运行的时间比例;
  • 安全性关注系统阻止非授权用户使用的能力;
  • 可修改性关注系统能够快速进行变更的能力;
  • 功能性关注系统能完成期望工作的能力;
  • 可变性关注架构的变更能力;
  • 互操作性关注软件与其他系统或环境的相互作用能力。

 【问题2】(13分)针对该系统的功能,

李工建议采用面向对象的架构风格,将折扣力度计算和用户筛选分别封装为独立对象,通过对象调用实现对应的功能:

王工则建议采用解释器(interpreters)架构风格,将折扣力度计算和用户筛选条件封装为独立的规则,通过解释规则实现对应的功能。

请针对系统的主要功能,从折扣规则的可修改性个性化折扣定义灵活性系统性能三个方面对这两种架构风格进行比较与分析,并指出该系统更适合采用哪种架构风格。

【答案】

在比较李工的面向对象架构风格与王工的解释器架构风格时,我们可以从折扣规则的可修改性、个性化折扣定义灵活性和系统性能三个方面进行分析。

1. 折扣规则的可修改性

- **面向对象架构**:
  - 折扣规则通常被封装为类,修改规则可能需要修改类的实现,或者创建新的子类。这种方式在规则较多时可能导致类的数量激增,维护成本增加。
  - 适合于规则相对稳定的场景,修改时需要重新编译和部署。

- **解释器架构**:
  - 折扣规则以文本或其他形式定义,修改规则只需更改规则文件,无需重新编译代码。这种方式使得规则的更新更加灵活和快速。
  - 适合于规则频繁变动的场景,能够快速响应业务需求的变化。

2. 个性化折扣定义灵活性

- **面向对象架构**:
  - 通过继承和组合,可以实现一定程度的个性化折扣定义,但可能需要创建大量的类来处理不同的个性化需求。
  - 对于复杂的个性化需求,可能会导致设计复杂度增加,难以管理。

- **解释器架构**:
  - 允许用户通过定义规则来实现个性化折扣,用户可以直接修改规则文本,灵活性高。
  - 可以支持动态生成和组合规则,满足多样化的个性化需求。

3. 系统性能

- **面向对象架构**:
  - 在性能上,面向对象的实现通常会有较好的运行效率,因为编译后的代码是直接执行的。
  - 适合于对性能要求较高的场景,尤其是在规则复杂且调用频繁的情况下。

- **解释器架构**:
  - 解释器的性能可能较低,因为每次执行规则时都需要解析规则文本,可能导致性能瓶颈。
  - 适合于规则相对简单或不频繁调用的场景,性能影响较小。

 结论

综合考虑折扣规则的可修改性、个性化折扣定义灵活性和系统性能:

- 如果系统需要频繁修改折扣规则,且需要支持多样化的个性化折扣定义,王工的解释器架构风格更为适合。它提供了更高的灵活性和可维护性,能够快速响应业务需求的变化。
  
- 如果系统对性能要求极高,且折扣规则相对稳定,李工的面向对象架构风格可能更为合适,能够提供更好的运行效率。


3.试题二(共25分)
阅读以下关于软件系统设计与建模的叙述在答题纸上回答问题1至问题3。
【说明】
煤炭生产是国民经济发展的主要领域之一其煤矿的安全非常重要。某能源企业拟开发一套煤矿建设项目安全预警系统,以保护煤矿建设项目从业人员生命安全。本系统
的主要功能包括如下(a)~(h)所述
(a)项目信息维护
(b)影响因素录入
(c)关联事故录入
(d)安全评价得分
(e)项目指标预警分析
(f)项目指标填报
(g)项目指标审核
(h)项目指标确认

【问题1】(9分)
王工根据煤矿建设项目安全预警系统的功能要求,设计完成了系统的数据流图,如图2-1所示。请使用题干中描述的功能(a)~(h),补充完善空(1)~(6)处的内容并简要介绍数据流图在分层细化过程中遵循的数据平衡原则。

煤矿建设项目安全预警系统数据流图:

 

【答案】(1)f(2)g (3)h(4)d (5)b(6)e

层间平衡:数据流个数一致,方向一致

图内平衡:有输入无输出的黑洞,有输出无输入的奇迹,输入不足的灰洞

【问题2】(9分)请根据【问题1】中数据流图表示的相关信息,补充完善煤矿建设项目安全预警系统总体ER图(见图2-2)中实体(1)-(6)的具体内容

【答案】(1)项目管理员(2)项目经理标(4)项目信息 (5)影响因素(3)项目指(6)关联事故

【问题3】(7分)在结构化分析和设计过程中,数据流图和数据字典是常用的技术手段,请用200字以内的文字简要说明它们在软件需求分析和设计阶段的作用。

【答案】

在分析阶段:

数据流图通过图形化的方式展示系统中数据的流动和处理过程,帮助分析师和开发人员理解系统的功能需求。

数据字典则是对系统中所有数据元素的详细描述,包括数据类型、格式、意义及其相互关系。它为数据流图中的元素提供了具体的定义,确保团队对数据的理解一致,减少了歧义和误解。

在设计阶段结构化:

根据不同的数据流图类别来初始化系统结构图;

根据数据字典中的数据存储描述来建立数据库存储设计。


未完待编辑……


http://www.ppmy.cn/news/1534901.html

相关文章

大厂面试真题-介绍以下Docker的Overlay网络

Overlay网络,又称为叠加网络或覆盖网络,是一种在现有物理网络(Underlay网络)之上构建的虚拟网络架构。它通过虚拟化技术,在不对基础网络进行大规模修改的条件下,实现应用在网络上的承载,并能与其…

智能视界·大模型驱动视频矩阵管理系统

开头先配两张ER图 一张不带字段,一张带字段,剩下的内容按需拿取 1.产品介绍 产品名称: 智能视界大模型驱动视频矩阵管理系统 主要功能: 智能视频分析与识别 功能介绍:该系统集成先进的人工智能大模型,能…

房屋水电费记账本:内置的数组数据击按钮不能删除,页面手动添加的可以删除

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>房租水电费记录</title><script type&qu…

FANUC机器人—PCDK

前言 FANUC提供了一种使用其 PC 开发人员套件 &#xff08;PCDK&#xff09; 从 PC 命令和配置机器人的简单方法。该套件允许 PC 访问机器人上的变量、寄存器、IO、程序、位置和警报&#xff1b;接下来&#xff0c;我将如何开始使用 C#。 连接到机器人 将以下突出显示的行添加…

函数的概念

在JavaScript中&#xff0c;函数是一个核心概念&#xff0c;代表一段可重用的代码&#xff0c;用于执行特定的任务或计算。函数不仅可以简化代码的复杂性&#xff0c;还可以提高代码的可读性、可维护性和模块化程度。以下是关于JavaScript函数的详细介绍。 函数的基本概念 定义…

遥感影像-语义分割数据集:高分卫星-云数据集详细介绍及训练样本处理流程

原始数据集详情 简介&#xff1a;该云数据集包括RGB三通道的高分辨率图像&#xff0c;包含高分一、高分二及宽幅数据集。 KeyValue卫星类型高分系列覆盖区域未知场景未知分辨率1m、2m、8m数量12000单张尺寸1024*1024原始影像位深8位标签图片位深8位原始影像通道数三通道标签图…

论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(下)

6 更广泛的影响 语言模型对社会有着广泛的有益应用&#xff0c;包括代码和写作自动补全、语法辅助、游戏叙事生成、提高搜索引擎响应以及回答问题等。但它们也可能有潜在的危害性应用。GPT-3在文本生成质量和适应性方面优于较小的模型&#xff0c;并且增加了区分合成文本与人类…

网站建设中,静态网页和动态网页分别是什么,有什么区别

在现代网页设计和开发中&#xff0c;理解静态网页与动态网页的区别是至关重要的。 静态网页 定义&#xff1a; 静态网页是指内容固定不变&#xff0c;用户访问时服务器直接返回存储在服务器上的HTML文件。这些页面通常以.html、.htm等扩展名结尾&#xff0c;不包含特殊符号如“…