软件体系结构期末备考资料整理
名词解释:
软件重用:软件重用,也称为软件复用,就是利用已开发的且对应用有贡献的软件元素来构建新软件系统。
从软件工程角度看,软件重用发生在构造新的软件系统的过程中。
软件重用包括三个相关的基本过程:软件对象的开发、软件对象的理解和软件对象的重用。
从已有的应用系统中抽取可复用软件成分的过程,经常被称为“重用再工程(Reuse Re-engineering)”过程。
软件构件:软件构件是将大而复杂的应用软件分解为一系列可先行实现、易于开发、理解、重用和调整的软件单元。
软件体系结构风格:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式。
Web Services:Web Services是为实现跨网络操作而设计的软件系统,提供了相关的操作接口,其他应用可以使用SOAP消息,以预先指定的方式来与Web Services进行交互。
四加一视图模型的五个视角(简单描述,分析):
逻辑视图,也称概念视图。主要支持系统功能需求的抽象描述,即系统最终将提供给用户什么样的服务。主要描述了系统的功能需求及其之间的相互关系,并按照应用领域的概念来描述系统的框架结构。
开发视图,也称模块视图。主要侧重于描述系统的组织,根据系统模块的组织方式,可以有不同的形式。通常是根据分配给项目组的开发和维护工作来组织,该视图主要使用层次结构风格,通常将层次限制在4-6层左右。
过程视图。主要侧重于描述系统的动态属性,即系统运行时的特性。该视图着重解决系统的并发和分布,及系统的完整性和容错性,同时也定义在逻辑视图中的各个类中的操作是在哪一个控制线索中被执行的。
物理视图。主要描述如何把软件映射到硬件上,通常要考虑系统的性能、规模、容错等。物理视图展示了软件在生命周期的不同阶段中所必须的物理环境、硬件配置和分布状况。
场景视图。场景是用户需求和系统功能实例的抽象,设计者通过分析如何满足每个场景所要求的约束来分析软件的体系结构。
总的来说,逻辑视图定义了系统的目标;开发视图和过程视图提供了详细的系统设计实现方案;物理视图解决了系统的拓扑结构、安装和通信问题;场景反映了完成上述任务的组织结构。
基于构件的软件开发基本思想:将用户需求分解为一系列的子功能构件,在开发过程中不必重新设计这些基本功能模块,只需从现有构件库中寻找合适的构件来组装应用系统。
webservices体系结构当中组成的三者之间的主要功能和他们之间的交互过程:
1)发布服务:服务提供者定义了Web Service描述,在服务注册中心上发布这些服务描述信息。
2)查找服务:服务请求者使用查找服务操作从本地或服务注册中心搜索符合条件的Web Service描述,可以通过用户界面提交,也可以由其他Web Service发起。
3)绑定服务:一旦服务请求者发现合适的Web Service,将根据服务描述中的相关信息调用相关的服务。
交互过程:在WebService模型的解决方案中,服务提供者定义并实现Web Service,使用服务描述语言(WSDL)描述Web Service,然后将服务描述发布到服务请求或者服务注册中心;服务请求这使用查找操作从本地或者服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web Service.服务注册中心是整个模型中的可选角色,它是连接服务提供者和服务请求者的纽带。
Dssa:简单地说,DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件框架。美国国防部和美国空军非常重视对特定领域软件体系结构的研究,并给出了两个关于DSSA的定义:
定义1:DSSA是软件构件的集合,以标准结构组合而成,对于一种特殊类型的任务具有通用性,可以有效地、成功地用于新应用系统的构建。在该定义中,构件是指一个抽象的具有特征的软件单元,它能为其他单元提供相应的服务。
定义2:DSSA是问题元素和解元素的样本,同时给出了问题元素和解元素之间的映射关系。
PPT后面的习题:
第一单元:
1.( )主要包含两方面的问题:如何开发软件以满足对软件日益增长的需求;如何维护数量不断高速增长的已有软件。
2.软件体系结构的核心模型主要包括:()、()、()。
3.()有助于提高软件开发的生产率,提高软件系统的可靠性,减少软件维护的负担。
4.()是软件重用的核心与基础。
5.基于构件的软件开发的基本思想是?
1.软件危机
2.构件、连接件、配置约束
3.软件重用技术
4.软件构件技术
5.基于构件的软件开发的基本思想是:将用户需求分解为一系列的子功能构件,在开发过程中不必重新设计这些基本功能模块,只需从现有构件库中寻找合适的构件来组装应用系统。
第二单元:
1.软件架构是降低成本、改进质量、按时和按需交付产品的关键因素。以下关于软件架构的描述,错误的是()。
A. 根据用户需求,能够确定一个最佳的软件架构,指导整个软件的开发过程
B. 软件架构设计需要满足系统的质量属性,如性能、安全性和可修改性等
C. 软件架构设计需要确定组件之间的依赖关系,支持项目计划和管理活动
D.软件架构能够指导设计人员和实现人员的工作
答案:A
2.下面哪种视图不属于软件体系结构中定义的“4+1”视图?
A) 物理视图
B) 设计视图
C) 场景视图
D) 开发视图
答案:B
3.在RUP (Rational Unified Process,统一软件开发过程)中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于(),系统工程师侧重于()。
A. 实现视图
B. 进程视图
C. 逻辑视图
D. 部署视图
答案:C D
4.在基于构件的软件开发中,( )描述系统设计蓝图以保证系统提供适当的功能;( )用来了解系统的性能、吞吐率等非功能性属性。
A. 逻辑构件模型
B. 物理构件模型
C. 组件接口模型
D. 系统交互模型
答案:A B
第三单元:
1.下列哪个选项是描述系统的静态结构( )
A.逻辑视图和开发视图
B.进程视图和物理视图
C.开发视图和物理视图
D.开发视图和进程视图
答案A
2.Unicon提供了一组预先定义的构件和连接件,这是为了达到( )
A:提供对大量构件和连接件的统一访问;
B:区分不同类型的构件和连接件,以便对体系结构配置进行检查;
C:支持不同表达方式和不同开发人员的分析工具;
D:支持有构件的使用。
答案:A
3.下列选项中关于ADL与其他语言的比较说法中错误的是( )
A:ADL与需求语言的区别在于后者描述的问题空间,而前者则扎根与解空间中;
B: ADL与建模语言的区别在于后者对部分的关注要大于对整体的关注;
C:ADL与传统的程序设计语言的构成元素由许多相同和相似之处,又各自有着很大的不同;
D:ADL集中在构件的表示上。
答案:B
4.软件架构模式描述了如何将各个模块和子系统有效地组织成一个完整的系统。诸如Word和Excel这类图形界面应用软件所采用的架构模式是( )。
A.分层模式
B.知识库模式
C.面向对象模式
D.事件驱动模式
答案:D
5.为了解决C/S模式中客户机负荷过重的问题,软件架构发展形成了( )模式。
A. 三层C/S B. 分层
C.B/S D. 知识库
答案:C
C/S模式即客户机/服务器模式。该模式是基于资源不对等,为实现共享而提出的。C/S模式需要在使用者计算机上安装相应的操作软件,使得客户机负载过重。为了解决C/S模式中客户端的问题,发展形成了浏览器/服务器(B/S)模式;为解决C/S模式中服务器端的问题,发展形成了三层(多层)C/S模式及多层应用架构。知识库模式采用两种不同的控制策略:传统数据库型的知识库模式和黑板报系统的知识库模式。
6.与基于C/S架构的信息系统相比,基于B/S架构的信息系统( )。
A.具备更强的事务处理能力,易于实现复杂的业务流程
B.人机界面友好,具备更加快速的用户响应速度
C.更加容易部署和升级维护
D.具备更高的安全性
答案:C
1.软件重用长期以来一直是软件工程界不断追求的目标。()
答案:√
2.软件体系结构的核心由5种元素组成:构件、连接件、配置、端口和角色。其中,构件、连接件和配置是最基本的元素()
答案:√
3.体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之前进行。
答案:×(需求分析之后,软件设计之前)
4.基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
答案:√
5.层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×
6.正交软件体系结构由组织层和线索的构件构成。
答案:√
7.SOA模型具有松散耦合、细粒度服务、标准化接口等特征。
答案:×(粗粒度,SOA是一个组件模型)
8.层次系统最广泛的应用是分层通信协议。
答案:√
1. MVC模式的中的M,V,C分别对应______、_______、_________三种单词。
答案:Model,View,Controller
2.黑板系统主要由 __________ 、____________和_________ 组成。
答案:知识源、黑板、控制组件
什么是软件体系结构风格?
答:软件体系结构风格是描述某一特定领域中系统组织方式的惯用模式。
请设计一个具体B/S结构登录模块的体系结构,并说明每层的作用:
答:该模块的B/S结构可分为三层:
第一层:客户层(或表现层、界面层),第二层:业务逻辑层(或应用层、功能层、应用服务器层),第三层:数据层。
第一层只有浏览器,通过访问第二层的网页实现用户界面,即接受用户的名称、密码的输入,并向第二层传送用户名和密码,最后将登录结果显示出来;
第二层接受第一层的用户名和密码,并通过访问第三层判断用户合法性,最后将登录结果以网页形式返回给第一层;
第三层在数据库或文件中存储用户名和密码,并为第二层提供数据访问服务。
第五单元:
【问题1】:
1)开发人员不需要重新设计业务模式,是需要在原有系统的界面和中间层添加Web Services,可以继承原有系统的所有业务。
2)节约了开发的时间和工作量,将系统升级。5
3)可以不修改原有的Web服务和中间层,可以直接扩展新的服务。
【问题2】:WSDL:是Web Services的描述语言,描述Web Services的服务,接口绑定等信息,为用户提供详细的接口说明书;
SOAP:是通信协议,以服务的方式发布有用的程序模块。
UDDI:提供统一的发布、查找、定位WebServices的方法。
【问题3】:
在Web Service模型的解决方案中,服务提供者定义并实现Web Service,使用服务描述语言(WSDL)描述Web Service,然后将服务描述发布到服务请求或者服务注册中心;服务请求这使用查找操作从本地或者服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web Service.服务注册中心是整个模型中的可选角色,它是连接服务提供者和服务请求者的纽带。
第九单元:
1.特定领域软件架构(DSSA)是在一个特定应用领域为一组应用提供组织结构参考的标准软件架构。实施DSSA的过程包括一系列基本活动,其中(①)活动的主要目的是为了获得DSSA。该活动参加人员中,(②)的主要任务是提供关于领域系统的需求规约和实现的知识。
① A.领域需求 B.领域分析 C.领域设计 D.领域实现
② A.领域专家 B.领域分析者 C.领域设计者D.领域实现者
答案:①C ②A
2.某服务器软件系统能够正确运行并得出计算结果,但存在“系统出错后不能在要求的时间内恢复到正常状态”和“对系统进行二次开发时总要超过半年时间”两个问题,上述问题依次与质量属性中的( )相关。
A.可用性和性能 B.性能和修改性
C.性能和可测试性 D.可用性和可修改性
答案:D
3.计算机系统的可用性可从多个方面来评测,但不包括( )。
A.故障率 B.健壮性 C.可移植性 D.可恢复性
答案:C
4、以下关于系统性能的叙述中,不正确的是( )
A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试
B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量
C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统
D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈
答案:A
5、“系统在提供服务给合法用户的同时抵制未授权使用的能力”这是哪种质量属性关心的问题:
A)性能
B)可测试性
C)可移植性
D)安全性
答案:D
软件体系结构的评估方法主要有调查问卷、检查表、场景、度量、比较5种。
( )
答:╳
调查问卷、检查表、场景、度量、比较是软件体系结构的5种评估方式,评估方法有ATAM、SAAM、ARID三种。
某网上购物电子商务公司拟升级正在使用的在线交易系统,以提高用户网上购物在线支付环节的效率和安全性。在系统的需求分析与架构设计阶段,公司提出的需求和关键质量属性场景如下:
- 正常负载情况下,系统必须在0.5秒内对用户的交易请求进行响应;
- 信用卡支付必须保证99.999%的安全性;
- 对交易请求处理时间的要求将影响系统的数据传输协议和处理过程的设计;
- 网络失效后,系统需要在1.5分钟内发现错误并启用备用系统;
- 需要在20人月内为系统添加一个新的CORBA中间件;
- 交易过程中涉及到的产品介绍视频传输必须保证画面具有600*480的分辨率,20帧/秒的速率;
- 更改加密的级别将对安全性和性能产生影响;
- 主站点断电后,需要在3秒内将访问请求重定向到备用站点;
- 假设每秒中用户交易请求的数量是10个,处理请求的时间为30毫秒,则“在1秒内完成用户的交易请求”这一要求是可以实现的;
- 用户信息数据库授权必须保证99.999%可用;
- 目前对系统信用卡支付业务逻辑的描述尚未达成共识,这可能导致部分业务功能模块的重复,影响系统的可修改性;
- 更改Web界面接口必须在4人周内完成;
- 系统需要提供远程调试接口,并支持系统的远程调试。
在对系统需求和质量属性场景进行分析的基础上,系统的架构师给出了三个候选的架构设计方案。公司目前正在组织系统开发的相关人员对系统架构进行评估。
【问题1】:
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图1-1中a、b空白处;并选择题干描述的1~13,填入c~f空白处,完成该系统的效用树。
问题1答案:
a:可修改性
b:可用性
c:6
d:12
e:8
f:2
【问题2】:在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请给出系统架构风险、敏感点和权衡点的定义,并从题干1-13中各选出1各对系统架构风险、敏感点和权衡点最恰当的描述。
答:系统架构风险:是指架构设计中潜在的、存在问题的架构决策所带来的隐患;
敏感点:是指为了实现某种特定的质量属性,一个或多个系统组件所具有的特性;
权衡点:是指影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性
题干描述中,11描述的是架构风险;3描述的是敏感点;7描述的是权衡点。
第十单元:
1.云计算的计算模式为( ).
A W/S B C/S C B/S D B/C
2. ( )是公有云计算基础架构的基石。
A 虚拟化 B 分布式 C 并行 D 集中式
3.( )是私有云计算基础架构的基石。
A 虚拟化 B 分布式 C 并行 D 集中式
答案:1.D
2.B
3.A
4.网格计算是利用( )技术,把分散在不同地理位置的计算机组成一台虚拟超级计算机。 A 对等网 B 因特网 C 广域 D 无线网
5.云计算就是把计算资源都放到( )
A 对等网 B 因特网 C 广域 D 无线网
答案:4.B 5.B
6.用户可通过( )从列表中选择所需的服务,其请求通过管理系统调度相应的资源,并通过部署工具分发请求、配置Web应用。
A 云用户端 B 服务目录
C 管理系统和部署工具D 监控端
答案:A
7. SaaS是( )的简称。
PAAS是( )的简称
IaaS是( )的简称。
A 软件即服务 B 平台即服务
C 基础设施即服务D 硬件即服务
答案:A B C
1云计算是对分布式处理(DistributedComputing)、并行处理(Parallel Computing)和网格计算(Grid Computing)及分布式数据库的改进处理。( )
2 利用并行计算解决大型问题的网格计算和将计算资源作为可计量的服务提供的公用计算,在互联网宽带技术和虚拟化技术高速发展后萌生出云计算。( )
3云计算的基本原理为:利用非本地或远程服务器(集群)的分布式计算机为互联网用户提供服务(计算、存储、软硬件等服务)。( )
4. 云计算可以把普通的服务器或者PC连接起来以获得超级计算机的计算和存储等功能,但是成本偏高。 ( )
5. 云计算真正实现了按需计算,从而有效地提高了对软硬件资源的利用效率。 ( )
6.云计算模式中用户不需要了解服务器在哪里,不用关心内部如何运作,通过高速互联网就可以透明地使用各种资源。( )
7.Amazon EC2在基础设施云中使用公共服务器池。 ( )
8.所谓“云”计算就是一种计算平台或者应用模式。( )
答案: 1.√ 2.√ 3.√ 4. × 5.√
6.√ 7. √ 8. ×
总习题:
1.软件重用是为了解决 _____
答案:软件危机
2.综合各种不同软件体系结构定义,认为软件体系结构主要包括_____ 、 _____ 和_____ 3个部分。
构件、连接件和配置约束
3.软件体系结构应建立于传统的软件开发过程的________和________阶段之间。
答案:需求分析、软件设计
体系结构评估中,一般采用刺激,环境,和_____三方面来对场景进行描述。
答案:响应
1.UML是一种通用的面向对象的建模语言,在很大程度上独立于建模过程,在实际的应用中,建模人员往往把UML应用于_____ 驱动的、以_____ 为中心的, _____和_____ 的开发过程。
用例、体系结构、迭代的、渐增式
2.Kruchten提出了“4+1”视图模型,从5个不同的视角来描述软件体系结构,这5个视角包括_____ 、 _____ 、 _____ 、 _____ 和_____ 。
逻辑视图、开发视图、过程视图、物理视图、场景视图
1.黑板系统主要由 __________ 、____________和 _________ 组成。
知识源、黑板、控制组件
2.三层C/S结构风格是由_________ 、_________ 和 __________ 构成的。
答案:表示层、功能层、数据层
领域工程阶段的主要任务有_____ 、______和______三个阶段。
答案:领域分析、领域设计、领域实现
1. ______是Web Services进行数据交换时所采用的标准,同时也是Web Services技术的全部规范和技术基础。SOAP、WSDL、UDDI都是使用它进行描述的。
答案:XML
2.理解SOA和Web Service关系上, ______所表示的是一个概念模型,______是______的一个特定实现。
答案:SOA, Web Service ,SOA
1.SAAM评估方法可以对许多_____以及______进行快速评估。
答案:质量属性,系统功能
2.体系结构评估中一般采用_____ 、环境和_____三方面来对场景进行描述。
答案:刺激、响应