刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题一(共25分)

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

 

【说明】

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

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

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

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

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

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

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

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

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

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

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

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

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

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

针对用户级别与折扣规则管理功能的架构设计,分析基于规则的架构风格和面向对象架构风格在灵活性、可扩展性和性能方面的差异,并选择适合该系统的架构风格。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

试题一

本题主要考查考生对于软件架构风格和软件质量属性的理解、掌握和运用,在解答该题目时,应认证阅读题干中给出的场景于需求描述,分析业务场景适合采用何种架构风格,然后分析需求描述了何种质量属性,根据质量属性描述对其归类。


【问题1】

答案:

该系统更适合采用基于规则的虚拟机架构风格。

(1)根据用户级别建立用户级别-折扣规则矩阵,在系统启动时加载并支持运行过程中动态更新,灵活性好

(2)加入新的用户级别和折扣规则时需要增加相应的类来扩展,可通过系统重启、动态反射或动态加载扩展,扩展性较差

(3)可根据类型判断或策略模式直接获得用户级别对应的折扣规则对象实时计算,性能很好

解析:

面向对象设计模式中的策略模式和虚拟机中的基于规则的架构风格是动态规则场景中两种组常用的解决方案。从灵活性、可扩展性和性能方面综合比较来看,基于规则的虚拟机风格在灵活性和可扩展性两个方面均具备较大优势,而从性能方面会比面向对象处理速度差一些。

解析:

本题主要考查了软件架构风格和软件质量属性的理解和应用。针对用户级别与折扣规则管理功能的架构设计问题,需要综合考虑灵活性、可扩展性和性能三个方面的因素。

面向对象架构风格和基于规则的架构风格是两种常见的软件架构风格。在本场景中,基于规则的架构风格更能满足系统的需求。

首先,基于规则的架构风格可以根据用户级别建立规则矩阵,并在系统运行时动态更新这些规则,这样可以根据用户的消费情况实时调整用户级别和折扣方案,具有更好的灵活性。

其次,在扩展性方面,虽然基于规则的架构风格在规则数量较多的情况下扩展可能较为繁琐,但可以通过一些技术如系统重启、动态反射或动态加载等方式进行扩展。而面向对象的架构风格在加入新的用户级别和折扣规则时,需要增加相应的类,扩展性相对较差。

最后,从性能角度来看,基于规则的架构风格可以根据规则类型进行判断或采用策略模式实时计算用户级别对应的折扣规则,虽然可能相对于面向对象架构风格稍逊一筹,但仍然可以确保良好的性能。

因此,综合考虑以上因素,该系统更适合采用基于规则的架构风格。

创作类型:
原创

本文链接:针对用户级别与折扣规则管理功能的架构设计,分析基于规则的架构风格和面向对象架构风格在灵活性、可扩展性

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share