目录
[【问题 1】(13 分)](#【问题 1】(13 分))
[【问题 2】(12分)](#【问题 2】(12分))
[【问题 1】答案](#【问题 1】答案)
[【问题 2】答案](#【问题 2】答案)
案例
阅读以下关于软件架构设计与评估的叙述,回答问题 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】(13 分)
针对用户级别与折扣规则管理功能的架构设计问题,李工建议采用面向对象的架构风格,而王工则建议采用基于规则的架构风格。请指出该系统更适合采用哪种架构风格,并从用户级别、折扣规则定义的灵活性、可扩展性和性能三个方面对这两种架构风格进行比较与分析,填写表中的(1)~(3)空白处。
架构风格名称 | 灵活性 | 可扩展性 | 性能 |
---|---|---|---|
面向对象 | 将用户级别、折扣规则等封装为对象,在系统启动时加载 | (2) | (3) |
基于规则 | (1) | 加入新的用户级别和拆扣规则时只需要定义新的规则,解释规则即可进行扩展。 | 需要对用户级别与折扣规则进行实时解释、性能较差。 |
【问题 2】(12分)
在架构评估过程中,质量属性效用树(utilitytree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性填入图中(1)、(2)空白处,并选择题干描述的(a)~(1)填入(3)~(6)空白处,完成该系统的效用树。
【答案】
本题考查软件架构评估方面的知识与应用,主要包括质量属性效用树和架构分析两个部分。
此类题目要求考生认真阅读题目对系统需求的描述,经过分类、概括等方法,从中确定软件功能需求、软件质量属性、架构风险、架构敏感点、架构权衡点等内容,并采用效用树这一工具对架构进行评估。
经过对题干进行分析,可以看出:
(a)系统用户分为高级管理员、数据管理员和数据维护员等三类(系统功能需求);
(b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御(描述了安全性质量属性);
(c)正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应(描述性能质量属性);
(d)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计(一个质量属性会对多个设计决策造成影响,是敏感点);
(e)系统的用户名不能为中文,要求必须以字母开头,长度不少5个字符(系统功能需求);
(f)更改系统加密的级别将对安全性和性能产生影响(一个质量属性会影响多个质量属性,是权衡点);
(g)网络失效后,系统需要在 10 秒内发现错误并启用备用系统(描述可用性质量属性);
(h)查询过程中涉及的桥梁与公路的实时状态视频传输必须保证画面具有 1024x768 的分辨率,40 帧/秒的速率(描述性能质量属性);
(i)在系统升级时,必须保证在10人月内可添加一个新的消息处理中间件(描述可修改性质量属性);
(j)系统主站点断电后,必须在3秒内将请求重定向到备用站点(描述可用性质量属性);
(k)如果每秒钟用户查询请求的数量是 10个,处理单个请求的时间为30毫秒,则系统应保证在1秒内完成用户的查询请求(描述性能质量属性);
(l)对桥梁信息数据库的所有操作都必须进行完整记录(描述安全性质量属性);
(m)更改系统的 Web 界面接口必须在4 人周内完成(描述可修改性质量属性);
(n)如果"养护报告生成"业务逻辑的描述尚未达成共识,可能导致部分业务功能模块规则的矛盾,影响系统的可修改性(这是一个潜在的架构风险);
(o)系统必须提供远程调试接口,并支持系统的远程调试(描述可测试性质量属性)。
【问题 1】答案
用户级别与折扣规则管理功能更适合采用基于规则的架构风格。
(1)将用户级别、折扣规则等描述为可动态改变的规则数据;
(2)加入新的用户级别和折扣规则时需要重新定义新的对象,并需要重启系统;
(3)用户级别和折扣规则已经在系统内编码,可直接运行,性能较好。
【问题 2】答案
(1):安全性
(2):可修改性。
(3):(h)---性能:查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有 1024*768 的分辨率,40 帧/秒的速率。
(4):(l)---安全性:对桥梁信息数据库的所有操作都必须进行完整记录。
(5):(j)---可用性:系统主站点断电后,必须在 3 秒内将请求重定向到备用站点。
(6):(m)---可修改性:更改系统的 Web 界面接口必须在 4 人周内完成。
博主这次没错哦。
注:【问题 2】跟2017年系统架构师案例分析试题一【问题1】问题惊人的相似,连题干都很相似
相关推荐
2018年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.1k次,点赞46次,收藏34次。操作性需求:与用户操作使用系统相关的一些需求。性能需求:指响应时间、吞吐量、准确性、有效性、资源利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标可归为此类。安全性需求:系统向合法用户提供服务并阻止非授权用户使用服务方面的系统需求。文化需求:带有文化背景因素的系统需求。https://shuaici.blog.csdn.net/article/details/1416790092017年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.4k次,点赞38次,收藏49次。确定软件功能需求、软件质量属性、架构风险、架构敏感点、架构权衡点等内容,并采用效用树这一工具对架构进行评估。架构敏感点、架构权衡点等内容,并采用效用树这一工具对架构进行评估。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/141425467随着人们网络安全意识提高,软件架构评估也成为重中之重-CSDN博客文章浏览阅读965次,点赞24次,收藏41次。2016年系统架构师案例分析试题一。不同的架构设计决策是架构师必须具有的基本能力:从交互方式方面看,管道-过滤器风格具有顺序结构或有限的循环结构;采用数据仓储风格时,工具之间无直接交互,通过数据仓储间接交互。从数据结构方面看,管道-过滤器风格具有数据驱动的特征,数据到来后就进行计算;数据仓储风格以文件或模型为主要数据结构。从控制结构方面看,管道-过滤器风格具有顺序结构或有限的循环结构;数据仓储风格则以业务功能驱动。https://shuaici.blog.csdn.net/article/details/1413268302015年系统架构师案例分析试题一-CSDN博客文章浏览阅读874次,点赞36次,收藏37次。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/141053286