第1题:
阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。
(1)在线交易平台必须在1秒内完成客户的交易请求。
(2)该平台必须保证客户个人信息和交易信息的安全。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出两种实现该质量属性的架构设计策略。
(1)在线交易平台必须在1秒内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
(2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
第2题:
A公司决定采用基于架构的软件开发方法,以架构为核心对近期所承接的某电子商务企业的在线交易平台进行设计与实现。该电子商务企业要求在线交易平台必须在800 ms内完成客户的交易请求。该电子商务企业所提要求主要对应于()这一软件质量属性,实现并提高该质量属性的架构设计策略不包括()。()A.可用性 B.易用性 C.安全性 D.性能()A.采用优先级调度队列 B.引入并发处理 C.优化相关进程的CPU占用率 D.设置进程监视器
第3题:
软件质量属性
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
①在线交易平台必须在1s内完成客户的交易请求。
②该平台必须保证客户个人信息和交易信息的安全。
③当发生故障时,该平台的平均故障恢复时间必须小于10s。
④由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。
①在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
②该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
③当发生故障时,该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
④由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
第4题:
阅读以下软件架构设计的问题。
某软件开发公司欲为某电子商务企业开发一个交易平台,支持客户完成网上购物活动中的交易。在系统开发之初,企业对该平台提出了如下要求:
(1) 交易平台必须在1s内完成客户的交易请求。
(2) 该平台必须保证客户个人信息和交易信息的安全。
(3) 当发生故障时,该平台的平均故障恢复时间必须小于l0s。
(4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行交易平台的设计与实现。
[问题1]
软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
[问题2]
请对该交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。
第5题:
某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致,主要与(58)质量属性相关:“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试,主要与(59)质量属性相关。在识别出上述描述后,通常采用(60)对质量属性的描述进行刻画与排序。在评估过程中,(61)是一个会影响多个质量属性的架构设计决策。
A.可测试性
B.互操作性
C.可移植性
D.易用性
第6题:
共用题干题某公司欲开发一个在线交易系统,在架构设计阶段公司的架构师识别出3个核心质量属性场景。其中“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得到响应”主要与(1)质量属性相关,通常可采用(2)架构策略实现该属性;“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与(3)质量属性相关,通常可采用(4)架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与(5)质量属性相关,通常可采用(6)架构策略实现该属性。
空白(6)处应选择()
A.内置监控器
B.记录/回放
C.追踪审计
D.维护现有接口
本题主要考查考生对质量属性的理解和质量属性实现策略的掌握。对于题干描述:“在并发用户数量为1000人时,用户的交易请求需要在0.5秒内得劐响应”,主要与性能这一质量属性相关,实现该属性的常见架构策略包括增加计算资源、减少计算开销、引入并发机制、采用资源调度等。“当系统由于软件故障意外崩溃后,需要在0.5小时内恢复正常运行”主要与可用性质量属性相关,通常可采用心跳、Ping/Echo、主动冗余、被动冗余、选举等架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与安全性质量属性相关,通常可采用入侵检测、用户认证、用户授权、追踪审计等架构策略实现该属性。
第7题:
架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、(57)、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、(58)描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以(59)作为架构评估的核心概念。 某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致,主要与(60)质量属性相关:“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试,主要与(61)质量属性相关。在识别出上述描述后,通常采用(62)对质量属性的描述进行刻画与排序。在评估过程中,(63)是一个会影响多个质量属性的架构设计决策。
A.可测试性
B.可移植性
C.可用性
D.易用性
第8题:
软件质量属性
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
①在线交易平台必须在1s内完成客户的交易请求。
②该平台必须保证客户个人信息和交易信息的安全。
③当发生故障时,该平台的平均故障恢复时间必须小于10s。
④由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举6种不同的软件质量属性名称,并解释其含义。
常见的软件质量属性有多种,例如,性能(PerformancE.、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
这些质量属性的具体含义如下:
<1>性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
<2>可用性是系统能够正常运行的时间比例。
<3>可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
<4>健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
<5>安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
<6>可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
<7>可变性是指体系结构经扩充或变更成为新体系结构的能力。
<8>易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
<9>可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
<10>功能性是系统所能完成所期望工作的能力。
<11>互操作性是指系统与外界或系统与系统之间的相互作用能力。
第9题:
某公司采用基于架构的软件设计(Architecture-Based Software Design,ABSD)方法进行软件设计与开发。ABSD方法有三个基础,分别是对系统进行功能分解、采用(52)实现质量属性与商业需求、采用软件模板设计软件结构。 ABSD方法主要包括架构需求等6个主要活动,其中(53)活动的目标是标识潜在的风险,及早发现架构设计中的缺陷和错误;(54)活动针对用户的需求变化,修改应用架构,满足新的需求。 小王是该公司的一位新任架构师,在某项目中主要负责架构文档化方面的工作。小王(55)的做法不符合架构文档化的原则。架构文档化的主要输出结果是架构规格说明书和(56)。
A.架构风格
B.设计模式
C.架构策略
D.架构描述
第10题:
某公司欲开发一个网上商城系统,在架构设计阶段,公司的架构师识别出3个核心质量属性场景,其中“系统主站断电后,能够在2分钟内自动切换到备用站点,并恢复正常运行”主要与( )质量属性相关,通常可采用( )架构策略实现该属性;“在并发用户数不超过1000人时,用户的交易请求应该在0.5s内完成”主要与()质量属性相关通常可采用( )架构策略实现该属性;“系统应该能够抵挡恶意用户的入侵行为,并进行报警和记录”主要与( )质量属性相关,通常可采用( )架构策略实现该属性。
A.性能 B.可用性 C.易用性 D.可修改性 A.主动冗余 B.信息隐藏 C.抽象接口 D.记录/回放 A.可测试性 B.易用性 C.性能 D.互操作性 A.操作串行化 B.资源调度 C.心跳 D.内置监控器 A.可用性 B.安全性 C.可测试性 D.可修改性 A.内置监控器 B.记录/回放 C.追踪审计 D.维护现有接口