案例
阅读以下关于软件架构设计与评估的叙述,回答问题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)空白处,完成该系统的效用树。
【问题 2】(13 分)
针对该系统的功能,李工建议采用面向对象的架构风格,将折扣力度计算和用户筛选分别封装头独立对象,通过对象调用实现对应的功能;王工则建议采用解释器(interpreters)架构风格,将折扣力度计算和用户筛选条件封装为独立的规则,通过解释规则实现对应的功能。请针对系统的主要功能,从折扣规则的可修改性、个性化折扣定义灵活性和系统性能三个方面对这两种架构风格进行比较与分析,并指出该系统更适合采用哪种架构风格。
【答案】
【问题 1】答案
(1)安全性
(2)可修改性
(3)e
(4)j
(5)h
(6)k
【问题 2】答案
应该选择解释器架构风格
折扣规则的可修改性:解释器风格比面向对象方式实现强。因为解释器风格折扣规则是独立的语法规则,由解释器可对变化的规则进行解析,修改更容易。而面向对象相对固定,有变化需要修改具体的类。
个性化折扣定义灵活性:解释器强于面向对象,解释器可以根据用户灵活解释执行规则,做到千人千面。
系统性能:面向对象优于解释器。面向对象的实现相对固定,而解释器是运行期动态绑定执行。
相关推荐
根据软件架构设计与评估的叙述开发一套机器学习应用开发平台-CSDN博客文章浏览阅读1.8k次,点赞113次,收藏92次。在当今快速发展的科技环境中,机器学习应用开发平台的架构设计面临着前所未有的挑战与机遇。本文探讨了在设计此类平台时,如何平衡灵活性与可扩展性两大核心要素。通过对平台用户角色的深入分析,明确不同用户需求,结合质量属性效用树的构建,识别出关键的性能与可修改性要求。同时,对三种架构风格——解释器、管道-过滤器与隐式调用进行比较,探讨它们在实现机器学习流程定义和算法扩展方面的优劣势。最终,提出基于解释器架构的设计方案,以其自定义规则和跨平台适配能力,确保平台不仅能满足初学者与高级用户的需求,还能在未来快速响应技术发展https://shuaici.blog.csdn.net/article/details/142529621重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估支持浏览器在线编程的系统架构设计_某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行-CSDN博客文章浏览阅读7k次,点赞75次,收藏57次。本文深入探讨了为在线软件开发系统设计的架构方案,重点强调支持浏览器在线编程的高效性与安全性。通过对比分析管道-过滤器与仓库架构风格,并结合质量属性效用树进行评估,旨在构建出既满足用户需求又具备高可扩展性和卓越处理性能的系统架构,为开发者提供流畅的在线编程体验。_某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行https://shuaici.blog.csdn.net/article/details/1421802202019年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.8k次,点赞54次,收藏67次。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/1419558002018年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.2k次,点赞49次,收藏36次。操作性需求:与用户操作使用系统相关的一些需求。性能需求:指响应时间、吞吐量、准确性、有效性、资源利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标可归为此类。安全性需求:系统向合法用户提供服务并阻止非授权用户使用服务方面的系统需求。文化需求:带有文化背景因素的系统需求。https://shuaici.blog.csdn.net/article/details/141679009