研究软件架构的根本目的是解决软件的复用、质量和维护问题,软件架构设计是软件开发过程中关键的一步,因此需要对其进行评估,在这一活动中,评估人员关注的是系统的( )属性。

题目
研究软件架构的根本目的是解决软件的复用、质量和维护问题,软件架构设计是软件开发过程中关键的一步,因此需要对其进行评估,在这一活动中,评估人员关注的是系统的( )属性。

A.功能
B.性能
C.质量
D.安全
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

基于场景的架构分析方法(Scenarios-based Architecture Analysis Method,SAAM)是卡耐基梅隆大学软件工程研究所的Kazman等人于1983年提出的一种非功能质量属性的架构分析方法,是最早形成文档并得到广泛应用的软件架构分析方法。SAAM的主要输入是问题描述、( )和架构描述文档,其分析过程主要包括场景开发、( )、单个场景评估、场景交互和总体评估。

A.问题说明 B.问题建模 C.需求说明 D.需求建模 A.架构需求 B.架构描述 C.架构设计 D.架构实现


正确答案:C,B

第2题:

● 软件质量保证是软件项目控制的重要手段, (23) 是软件质量保证的主要活动之一。

(23)

A. 风险评估

B. 软件评审

C. 需求分析

D. 架构设计


正确答案:B

第3题:

试题(44)

软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是 (44) 。

(44)

A. 根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程

B. 软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等

C. 软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动

D. 软件架构能够指导设计人员和实现人员的工作


正确答案:A
试题(44)分析
软件架构是降低成本、改进质量、按时和按需交付产品的关键因素,软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等,软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动,软件架构能够指导设计人员和实现人员的工作。一般在设计软件架构之初,会根据用户需求,确定多个候选架构,并从中选择一个较优的架构,并随着软件的开发,对这个架构进行微调,以达到最佳效果。
参考答案
(44)A

第4题:

阅读以下软件架构设计的问题。

某软件开发公司欲为某电子商务企业开发一个交易平台,支持客户完成网上购物活动中的交易。在系统开发之初,企业对该平台提出了如下要求:

(1) 交易平台必须在1s内完成客户的交易请求。

(2) 该平台必须保证客户个人信息和交易信息的安全。

(3) 当发生故障时,该平台的平均故障恢复时间必须小于l0s。

(4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。

针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行交易平台的设计与实现。

[问题1]

软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。

[问题2]

请对该交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。


正确答案:[问题1] 常见的软件质量属性有多种例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。 这些质量属性的具体含义是: (1) 性能是指系统的响应能力即要经过多长时间才能对某个事件做出响应或者在某段时间内系统所能处理事件的个数。 (2) 可用性是系统能够正常运行的时间比例。 (3) 可靠性是指软件系统在应用或错误面前在意外或错误使用的情况下维持软件系统功能特性的基本能力。 (4) 健壮性是指在处理或环境中系统能够承受压力或变更的能力。 (5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 (6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。 (7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。 (8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。 (9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性以及在一定的时间和成本前提下进行测试设计、测试执行的能力。 (10) 功能性是系统所能完成所期望工作的能力。 (11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。 [问题2] (1) 交易平台必须在1s内完成客户的交易请求。该要求主要对应性能可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。 (2) 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。 (3) 当发生故障时该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。 (4) 由于企业业务发展较快需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
[问题1] 常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。 这些质量属性的具体含义是: (1) 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。 (2) 可用性是系统能够正常运行的时间比例。 (3) 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。 (4) 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。 (5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 (6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。 (7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。 (8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。 (9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。 (10) 功能性是系统所能完成所期望工作的能力。 (11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。 [问题2] (1) 交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。 (2) 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。 (3) 当发生故障时,该平台的平均故障恢复时间必须小于10s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。 (4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。 解析:本题考查考生对于质量属性及质量属性实现策略的掌握情况。
[问题1]
常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
这些质量属性的具体含义是:
(1) 性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
(2) 可用性是系统能够正常运行的时间比例。
(3) 可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
(4) 健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
(5) 安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
(6) 可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
(7) 可变性是指体系结构经扩充或变更成为新体系结构的能力。
(8) 易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
(9) 可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
(10) 功能性是系统所能完成所期望工作的能力。
(11) 互操作性是指系统与外界或系统与系统之间的相互作用能力。
[问题2]
本题主要结合实际案例,考查实现各种质量属性的策略。
(1) 交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
(2) 该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
(3) 当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
(4) 由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。

第5题:

软件质量保证是软件项目控制的重要手段, (23) 是软件质量保证的主要活动之一

A.风险评估

B.软件评审

C.需求分析

D.架构设计


正确答案:B
软件质量保证是软件质量管理的重要组成部分。软件质量保证主要是从软件产品的过程规范性角度来保证软件的品质。其主要活动包括:质量审计(包括软件评审)和过程分析。

第6题:

论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。

请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1. 概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2. 结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3. 阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。


正确答案:

一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。
二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。
1. 架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。
(1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。
(2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。
(3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。
2. 架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将已标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。
3. 架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。
4. 在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否在架构中得以体现、层次是否清晰、构件划分是否合理等。从而标识潜在的风险,及早发现架构设计中的缺陷和错误。
5. 架构实现主要是对架构进行实现的过程,主要活动包括架构分析与设计、构件实现、构件组装和系统测试。
6. 架构演化阶段主要解决用户在系统开发过程中发生的需求变更问题。主要活动包括架构演化计划、构件变动、更新构件的相互作用、构件的组装与测试和技术评审。
   三、在软件开发的过程中可能遇到的问题包括:在架构需求获取过程中如何对捕获的架构需求进行筛选和优先级排序;在架构复审过程中如何解决评审人员的意见不一致问题;在架构实现过程中如何根据项目组实际情况选择开发语言与开发平台;在架构演化过程中如何筛选并处理用户的需求变更,等等。


第7题:

● 架构权衡分析方法(ATAM)是一种常用的软件架构评估方法,下列关于该方法的叙述中,正确的是 (61) 。

(61)

A. ATAM需要对代码的质量进行评估

B. ATAM需要对软件系统需求的正确性进行评价

C. ATAM需要对软件系统进行集成测试

D. ATAM需要对软件质量属性进行优先级排序


正确答案:D

第8题:

试题(45)

软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。以下关于软件架构设计活动的描述,错误的是 (45) 。

(45)

A. 在建立软件架构的初期,一般需要选择一个合适的架构风格

B. 将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系

C. 软件架构设计活动将已标识构件集成到软件架构中,设计并实现这些构件

D. 一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审


正确答案:C
试题(45)分析
软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程,在建立软件架构的初期,一般需要选择一个合适的架构风格,并将架构分析阶段已标识的构件映射到架构中,并分析这些构件之间的关系,一旦得到了详细的软件架构设计,需要邀请独立于系统开发的外部人员对系统进行评审。一般来说,软件架构设计活动将已标识构件集成到软件架构中,设计这些构件,但不予以实现。
参考答案
(45) C

第9题:

架构权衡分析方法(Architecture Tradeoff Analysis Method,ATAM)是一种系统架构评估方法,主要在系统开发之前,针对性能、(57)、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、(58)描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以(59)作为架构评估的核心概念。 某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,“系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致,主要与(60)质量属性相关:“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试,主要与(61)质量属性相关。在识别出上述描述后,通常采用(62)对质量属性的描述进行刻画与排序。在评估过程中,(63)是一个会影响多个质量属性的架构设计决策。

A.可测试性

B.可移植性

C.可用性

D.易用性


正确答案:C
试题前两空考纯概念:架构权衡分析方法是一种系统架构评估方法,主要在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。ATAM可以分为4个主要的活动阶段,包括需求收集、架构视图描述、属性模型构造和分析、架构决策与折中,整个评估过程强调以属性作为架构评估的核心概念。题目中提到“某软件公司采用ATAM进行软件架构评估,在评估过程中识别出了多个关于质量属性的描述。其中,系统在进行文件保存操作时,应该与Windows系统的操作方式保持一致。”与用户所熟悉的操作方式,操作界面保持一致,这是一种减轻用户记忆负担,降低学习成本的做法,这有利于提高系统的易用性。“系统应该提供一个开放的API接口,支持远程对系统的行为进行控制与调试”,在此处,我们注意到描述的核心落在“支持远程对系统的行为进行控制与调试”上了,而调试是在测试之后精确定位系统错误的一种机制,所以这种做法有利于提高系统的可测试性。最后的两空也是考概念:在识别出上述描述后,通常采用效用树对质量属性的描述进行刻画与排序。在评估过程中,权衡点是一个会影响多个质量属性的架构设计决策。

第10题:

软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计需满足系统的( ),如性能、安全性和可修改性等,并能够指导设计人员和实现人员的工作。

A.功能需求 B.性能需求 C.质量属性 D.业务属性


正确答案:C

更多相关问题