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

2024-08-30 00:52

本文主要是介绍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

这篇关于2017年系统架构师案例分析试题一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119334

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种