当前位置: 首页 > article >正文

2017年系统架构师案例分析试题一

目录

案例

【题目】

【问题 1】(12 分)

 【问题 2】(13 分)

答案

 【问题 1】答案

 【问题 2】答案

相关推荐


案例

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

【题目】

        某单位为了建设健全的公路桥梁养护管理档案,拟开发一套公路桥梁在线管理系统。在系统的需求分析与架构设计阶段,用户提出的需求、质量属性描述和架构特性如下:
        (a)系统用户分为高级管理员、数据管理员和数据维护员等三类;
        (b)系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测与防御;
        (c)正常负载情况下,系统必须在 0.5 秒内对用户的查询请求进行响应;
        (d)对查询请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;
        (e)系统的用户名不能为中文,要求必须以字母开头,长度不少于 5 个字符;
        (f)更改系统加密的级别将对安全性和性能产生影响;
        (g)网络失效后,系统需要在 10 秒内发现错误并启用备用系统;
        (h)查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有 1024*768 的分辨率,40 帧/秒的速率;
        (i)在系统升级时,必须保证在 10 人月内可添加一个新的消息处理中间件;
        (j)系统主站点断电后,必须在 3 秒内将请求重定向到备用站点;
        (k)如果每秒钟用户查询请求的数量是 10 个,处理单个请求的时间为 30 毫秒,则系统应保证在 1 秒内完成用户的查询请求;
        (l)对桥梁信息数据库的所有操作都必须进行完整记录;
        (m)更改系统的 Web 界面接口必须在 4 人周内完成;
        (n)如果“养护报告生成”业务逻辑的描述尚未达成共识,可能导致部分业务功能模块规则的矛盾,影响系统的可修改性;
        (o)系统必须提供远程调试接口,并支持系统的远程调试。

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

【问题 1】(12 分)

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

 【问题 2】(13 分)

        在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用 300 字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(o)中分别选出 1 个对系统架构风险、敏感点和权衡点最为恰当的描述。

答案

        本题考查软件架构评估方面的知识与应用,主要包括质量属性效用树和架构分析两个部分。

        此类题目要求考生认真阅读题目对系统需求的描述,经过分类、概括等方法,从中确定软件功能需求、软件质量属性、架构风险、架构敏感点、架构权衡点等内容,并采用效用树这一工具对架构进行评估。

        经过对题干进行分析,可以看出:

        (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):(h)—性能:查询过程中涉及到的桥梁与公路的实时状态视频传输必须保证画面具有 1024*768 的分辨率,40 帧/秒的速率。
        (4):(l)—安全性:对桥梁信息数据库的所有操作都必须进行完整记录。
        (5):(j)—可用性:系统主站点断电后,必须在 3 秒内将请求重定向到备用站点。
        (6):(m)—可修改性:更改系统的 Web 界面接口必须在 4 人周内完成。

        博主这题没错哦,只不过3选了k。

 【问题 2】答案

        系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。
        敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。
        权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。

        根据题干描述:(n)描述的是系统架构风险;(d)描述的是敏感点,(f)描述的是权衡点(安全和性能)。

        博主这题敏感点描述有小瑕疵,对应描述选择有误:(d)描述的是系统架构风险;(n)描述的是敏感点。

相关推荐

同类型题目-2015年系统架构师案例分析文章浏览阅读787次,点赞36次,收藏37次。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/141053286【系统架构设计师】十二、系统质量属性与架构评估(系统架构评估|SAAM|ATAM|CBAM)-CSDN博客文章浏览阅读1.2k次,点赞39次,收藏9次。系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数学或逻辑分析技术,针对系统的一致性、正确性、质量属性、规划结果等不同方面,提供描述性、预测性和指令性的分析结果。敏感点:是实现质量目标时应注意的点,是一个或多个构件的特性。权衡点:是影响多个质量属性的敏感点。例如修改某个功能,影响到了架构的性能属性和安全性属性。https://shuaici.blog.csdn.net/article/details/140444642【系统架构设计师】十二、系统质量属性与架构评估(开发期质量属性|运行期质量属性|面向架构评估的质量属性|质量属性效用树|质量属性场景)-CSDN博客文章浏览阅读938次,点赞21次,收藏27次。软件系统质量属性 (Quality Attribute)是一个系统的可测量或者可测试的属性,用来描述系统满足利益相关者 (Stakeholders)需求的程度。基于软件系统的生命周期,可以将软件系统的质量属性分为开发期质量属性和运行期质量属性2个部分。_质量属性场景https://shuaici.blog.csdn.net/article/details/140439195


http://www.kler.cn/a/282208.html

相关文章:

  • 怎样在软件设计中选择使用GOF设计模式
  • Unity3D 完整直升机控制器(虚拟仿真级别)
  • AI 提示词(Prompt)入门 十:最佳实践|详细询问,提供细节!
  • 平台整合是网络安全成功的关键
  • Flutter:Dio下载文件到本地
  • Shell中的函数
  • 使用C++,仿照string类,实现myString
  • 符合开闭原则的设计模式
  • 如何使用 Qt C++ 基于 FFmpeg 开发本地视频播放器
  • Kafka·Producer
  • 通过历史进行数据预测的算法
  • 云计算实训39——部署Harbor、部署Docker-compose、YAML文件
  • Win11 操作(七)声音降噪
  • 【JVM】亿级流量调优(一)
  • Git Submodule 常用命令详解
  • 前端实现截图(Vue)
  • uniapp + Vue3自定义封装弹窗组件
  • Kubectl常用命令
  • 深度强化学习算法(三)(附带MATLAB程序)
  • Python酷库之旅-第三方库Pandas(105)
  • 2012-2022年各省新质生产力匹配数字经济数据
  • 通过 pnpm 安装依赖包会发生什么
  • 【Java】Java 设计模式之工厂模式与策略模式
  • 本地Docker部署Navidrome音乐服务器与远程访问听歌详细教程
  • 力扣题/回溯/子集
  • java.time包时间类浅谈