阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。

题目
阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。
某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
(1)在线交易平台必须在1s内完成客户的交易请求。
(2)该平台必须保证客户个人信息和交易信息的安全。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10s。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
【问题1】(9分)
软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
【问题2】(16分)
请对该在线交易平台的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)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有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小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

回答问题1和问题2。

多媒体应用系统结构设计的具体任务和目标是什么?


正确答案:应用系统结构设计的目标是决定如何构造应用系统结构多媒体应用系统必须将交互的概念融于项目设计之中。其具体任务是确定组织结构是线性的、层次的还是网状链接的然后完成脚本设计绘制插图、屏幕样板和定型样本。
应用系统结构设计的目标是决定如何构造应用系统结构,多媒体应用系统必须将交互的概念融于项目设计之中。其具体任务是确定组织结构是线性的、层次的还是网状链接的,然后完成脚本设计,绘制插图、屏幕样板和定型样本。

第2题:

阅读以下说明,回答问题1至问题3,将解答填入对应栏内。

【说明】

腾飞公司是一家对外贸易企业,腾飞公司要向英国的哈特公司提供一批冰箱配件,需要通过EDI交换系统进行信息传递。腾飞公司的EDI软硬件架构如下图所示。

请根据描述回答下列问题。

1.腾飞公司的EDI软件系统必须包含(1)和(2)子系统。

2.如果两个公司采取的都是现行的联合国制定的EDI国际标准,该标准的英文缩写是(3)。


正确答案:(1)映射系统 (2)翻译系统 (3)EDIFACT
(1)映射系统 (2)翻译系统 (3)EDIFACT

第3题:

阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。

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

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

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

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

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

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

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


(1)在线交易平台必须在1秒内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
(2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
(3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
(4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。

第4题:

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现

程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。

【问题1] (6分)

请给出满足100%DC(判定覆盖)所需的逻辑条件。

【问题2] (10分)

请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

【问题3](4分)

请给出问题2中控制流图的线性无关路径。


正确答案:
本题考查白盒测试技术的应用。
【问题1】
本问题考查白盒测试用例设计方法:判定覆盖法。
判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次
“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有6个判定,
所以满足判定覆盖一共需要12个逻辑条件。
【问题2】
本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据代码绘
制控制流图、计算环路复杂度。
控制流图是描述程序控制流的一种图示方式,它由节点和定向边构成。控制流图的
节点代表一个基本块,定向边代表控制流的方向。其中要特别注意的是,如果判断中的
条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,
则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,
if((filename[len-2]==’.’)&&(filename[len.1]=’c’))这条判断语句中的判定由两个条件
组成,因此在画控制流图的时候需要拆开成两条判断语句。程序的环路复杂度等于控制
流图中判定节点的个数加1,本题控制流图I中判定节点个数为7,所以V(G)=8。
【问题3】
本问题考查白盒测试用例设计方法:基本路径法。涉及的知识点包括:根据控制流
图和环路复杂度给出线性无关路径。
线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来
看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程
序的环路复杂度等于线性无关路径的条数,所以本题中应该有8条线性无关路径。
参考答案

【问题2]
环路复杂度V(G)=8。

线性无关路径:
1.1-2-3-4-6-7-8-9-10-11-12-13-10......
2.1-2-5-6-7-8-9-10-11-12-13-10.....
3.1-2-3-5-6-7-8-9-10-11-12-13-10...
4.1-2-3-4-6-8-9-10-11-12-13-10...
5.1-2-3-4-6-7-8-10-11-12-13-10....
6.1-2-3-4-6-7-8-9-10-15
7.1-2-3-4-6-7-8-9-10-11-14-10.....
8.1-2-3-4-6-7-8-9-10-11-12-10....

第5题:

回答问题1和问题2。

简述多媒体脚本设计的基本原则。


正确答案:多媒体脚本设计的基本原则为: (1)规划出各项内容显示的顺序和步骤。 (2)描述期间的分支路径和衔接的流程。 (3)兼顾系统的完整性和连贯性。 (4)既要考虑到整体结构又要善于运用声、画、影;物的多重组合达到最佳效果。 (5)注意交互性和目标性。 (6)根据不同的应用系统运用相关领域的知识和指导理论。 其中脚本内容顺序及控制路径的设计的原则为: (1)编排节目顺序根据具体任务进行设计。 (2)控制路径多媒体计算机与电视、电影的最大不同在于与用户之间的交互性。多媒体应用系统能根据用户的输入要求随时改变节目控制流程可通过菜单、热键按钮及超级链接的链路提示等方式进行。应用系统不同控制的复杂程度也各异。
多媒体脚本设计的基本原则为: (1)规划出各项内容显示的顺序和步骤。 (2)描述期间的分支路径和衔接的流程。 (3)兼顾系统的完整性和连贯性。 (4)既要考虑到整体结构,又要善于运用声、画、影;物的多重组合达到最佳效果。 (5)注意交互性和目标性。 (6)根据不同的应用系统,运用相关领域的知识和指导理论。 其中,脚本内容顺序及控制路径的设计的原则为: (1)编排节目顺序,根据具体任务进行设计。 (2)控制路径,多媒体计算机与电视、电影的最大不同在于与用户之间的交互性。多媒体应用系统能根据用户的输入要求随时改变节目控制流程,可通过菜单、热键按钮及超级链接的链路提示等方式进行。应用系统不同,控制的复杂程度也各异。

第6题:

阅读以下说明,回答问题1和问题2,将解答填入对应栏内。

【说明】

在信息系统工程监理中,由于各方面的原因,对于监理单位而言,也是存在风险的。

监理工作的风险有哪些?


正确答案:行为责任风险工作技能风险技术资源风险管理风险。
行为责任风险,工作技能风险,技术资源风险,管理风险。

第7题:

阅读以下说明,回答问题1和问题2。

【说明】

媒体应用应是经过精心创意设计的应用软件。因此,多媒体设计的选题和可行性评估是十分重要的一项工作。多媒体应用系统选题范围是没有限制的,但必须经过严格思考方可确定。

编写多媒体应用设计的选题与分析报告的目的是什么?


正确答案:编写多媒体应用设计的选题与分析报告的目的是:确定使用对象和要求;确定应用系统设计结构;建立设计标准。需要注意的是在进行具体项目设计时分析报告中包括的那些问题要求在主题选择过程中必须考虑。
编写多媒体应用设计的选题与分析报告的目的是:确定使用对象和要求;确定应用系统设计结构;建立设计标准。需要注意的是,在进行具体项目设计时,分析报告中包括的那些问题要求在主题选择过程中必须考虑。

第8题:

试题五(10 分)

阅读以下说明,回答问题1 和问题2,将解答填入答题纸的对应栏内。

[说明]

软件测试是与软件开发密切相关的一系列有计划的活动,在软件测试过程模型“V

模型”的指导下,开发过程中应该安排一系列不同类型的测试活动。

软件测试过程是由一系列的关键活动组成的,同时软件测试质量的保证手段是必不

可少的。

[问题1](2 分)

针对开发过程中的不同阶段,应该包含那些类型的软件测试。

[问题2](8 分)

简述软件测试过程的关键活动,以及保证软件测试质量的手段。


正确答案:


第9题:

阅读以下关于嵌入式多核程序设计技术的描述,回答问题 1至问题 3。 【说明】 近年来,多核技术己被广泛应用于众多安全关键领域(如:航空航天等)的电子设备中,面向多核技术的并行程序设计方法已成为软件人员急需掌握的主要技能之一。某宇航公司长期从事宇航电子设备的研制工作,随着宇航装备能力需求的提升,急需采用多核技术以增强设备的运算能力、降低功耗与体积,快速实现设备的升级与换代。针对面向多核开发,王工认为多核技术是对用户程序透明的,开发应把重点放在多核硬件架构和硬件模块设计上面,而软件方面,仅仅需要选择一款支持多核处理器的操作系统即可。而李工认为,多核架构能够使现有的软件更高效地运行,构建一个完善的软件架构是非常必要的。提高多核的利用率不能仅靠操作系统,还要求软件开发人员在程序设计 中考虑多进程或者多线程并行处理的编程问题。

【问题1】(12分) 请用300字以内文字说明什么是多核技术和多线程技术,并回答李工的意见是否正确,为什么? 【问题2】(6 分) 在多核环境下,线程的活动有并行和并发两种方式,请用300字以内的文字说明这两种方式的含义及差别。 【问题3】(7 分) 请根据自己所掌握的多核、多线程的知识,判别表 3-1给出的说法是否正确,并将答案写在答题纸上对应空白处(填写正确或错误)。


正确答案:问题1
多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。
李工的意见是正确的。多核处理器虽然带来了强大的计算能力,但如果无法实现程序的并行,那么,大量计算资源将被闲置,造成巨大的浪费。所以在开发中,要注重多核编程技术,从并行计算、共享资源分布式计算、任务分解与调度、Lock-Free编程等方面充分考虑相关问题,以便将多核处理器的性能充分发挥出来。
问题2
如果某个系统支持两个或者多个动作(Action)同时存在,那么这个系统就是一个并发系统,即系统中同时有多个线程,可以认为是并发的情况。
如果某个系统支持两个或者多个动作同时执行,那么这个系统就是一个并行系统。当系统中有多个线程,并在同一时刻有两个,或两个以上的线程在运行状态,可认为是并行系统。
问题3
(1)√  (2)√  (3)×  (4)√  (5)×  (6)×  (7)√

第10题:

●试题一

阅读以下算法说明和流程图,回答问题1和问题2。

【算法说明】

下面是一段插入排序的程序,将R[k+1]插入到R[1…k]的适当位置。R[0]=R[k+1];j=k;

while (R[j]>R[0])

{

R[j+1]=R[j];j--;

}

R[j+1]=R[0];

【流程图】

【测试用例设计】

(while循环次数为0、1、2次)

【问题1】

指出算法的流程图中 (1) ~ (3) 处的内容。

【问题2】

指出测试用例设计中 (4) ~ (9) 处的内容。


正确答案:
●试题一[问题1]【答案】(1)F(2)R[j+1]=R[0]〓(3)T[问题2]【答案】(4)①③(5)①②②③(6)①②②③(7)><(8)1(9)3【解析】本题考查用路径覆盖方法为算法设计足够的测试用例,属于基本概念的送分题。这类题拿分的关键是考生平时对于理论的理解和临场的细心。

更多相关问题