2020年系统架构师案例分析

第1题(案例题):

某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发活动。该系统的重要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:
a)根据用户的付费情况对用户进行分类,并根据类别提供相应的开发功能。 b)在正常负载情况下,系统应该在0.2s内对用户的界面操作请求进行响应 c)系统应该具备完善的安全防护措措施,能够对黑客的攻击行为进行检测和防御d)系统主站点断电后应在3s内将请求重定向到备用站点 e)系统支持中文昵称,但用户名必须以字母开头,长度不少于8个字符 f)系统宕机后,需要在15s内发现错误,并启用备用系统 g)在正常负载情况下,户的代码提交请求应在0.5s内完成 h)系统支持硬件设备灵活扩容,应保证在2人天内完成 i)系统需要针对代码仓库的所有操作进行详细记录;便于后期查阅与审计 j)更改系统web界面风格需要在4人天内完成 k)系统本身需要提供远程调试接口,支持开发团队进行远程排错
在对系统需求质量属性和架构特性进行分析的基础上,该公司的系统架构师给出了两种方案,分别是管道-过滤器和仓库风格。

【问题1】(13分)
请问该需求应该采用哪一种风格。表1-1是对这两种风格分别从数据处理方式、系统拓展方式和处理性能三个方面进行了比较,请填写表1-1中(1)~(4)处的空白

【问题2】(12分)
1、请分析题干中的需求描述,填写图1-2中(1)~(6)处的空白。

【问题1】
1.应该采用仓库风格。(5分)
2.表(1)-(4)空的空白分别为:(8分)
(1) 文件或模型驱动机制,处理流程事先不确定,交互性强
(2) 数据与处理紧耦合,以接口适配方式实现扩展
(3) 中央系统构件体现系统状态,系统执行没有确定的顺序,效能调低?
(4) 共享中心数据,加载共享数据,性能调高?
【问题2】(12分)
(1) 安全性
(2) 可修改性
(3)g
(4)i
(5)f
(6)j

参考解析: 本题考查的是架构设计过程中涉及到的一些质量属性,以及架构风格的对比。
【问题1】
在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,数据输入构件,经过内部处理,然后产生数据输出。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。
在仓库(repository)风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行。 一方面,若构件控制共享数据,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。
通过交互方式、数据结构、控制结构和扩展方法分别对仓库风格和管道过滤器风格进行对比,如下所示:
交互方式:管理过滤器很明显是顺序结构或循环结构,数据在管理中进行传递。而仓库结构是数据在中心位置,所有的处理均是中心结点与周边结点之间的交互,从形态来看,是星型的。
数据结构:从数据结构来看,仓库风格会使用一个文件将数据保存起来,所有的操作围绕这个文件进行。而管道过滤器则是在过滤器之间传递数据流。
控制结构:从控制结构来说仓库风格是业务功能驱动,而管道过滤器是由数据流驱动的。
扩展方法:从扩展方法来讲,

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜丶五

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值