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

相关文章

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

SpringBoot实现动态插拔的AOP的完整案例

《SpringBoot实现动态插拔的AOP的完整案例》在现代软件开发中,面向切面编程(AOP)是一种非常重要的技术,能够有效实现日志记录、安全控制、性能监控等横切关注点的分离,在传统的AOP实现中,切... 目录引言一、AOP 概述1.1 什么是 AOP1.2 AOP 的典型应用场景1.3 为什么需要动态插

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck