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

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Python Counter 函数使用案例

《PythonCounter函数使用案例》Counter是collections模块中的一个类,专门用于对可迭代对象中的元素进行计数,接下来通过本文给大家介绍PythonCounter函数使用案例... 目录一、Counter函数概述二、基本使用案例(一)列表元素计数(二)字符串字符计数(三)元组计数三、C

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员