1、软件体系结构期末考试资料填空题:1.构件是指语义完整,语法正确和有可重用价值的单位软件是软件重用过程中能够明确便是的系统;结构上它是予以描述,通讯接口和实现代码的复合体.2.构件获取渠道(1)直接使用作适应性修改(2)经过遗留工程(3)市场上购买(4)开发新的构件3.构件分类与组织:关键字分类法,刻面分类法,超文本组织方法4.基于数据的组装技术:这种组装技术也要求库中构件以子程序形式出现5.软件体系结构建模种类:结构模型,框架模型,动态模型,过程模型,功能模型6.体系结构风格定义了一个系统家族即定义了一个词汇表和一组约束7.有两种不同构件:中央数据结构说明当前状态,仓库是一黑板系统8.C/S体
2、系结构有三个主要组成部分:数据库服务器,客户应用程序,网络9.ADL的基本元素:构件,连接件,体系结构配置10.软件体系结构描述方法:图像表示工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言11.Web服务:数据层,数据访问层,业务层,业务面,监听者12.简单对象访问协议:SOAP信封,SOAP编码规则,SOAP RPC表示,SOAP绑定13.Web服务特点:使用标准规范协议;使用协议的规范性;高度集成能力;完好的封装;松散耦合选择题:1构件模型的三个主要流派OMG,Sun的EJB,Microsoft的DCOM2.构件管理:构件描述,构件分类与组织,人员及权限管理3.构件重
3、用:检索与提取构件,理解与评价构件,修改构件,构件组装4.软件体系结构的发展史:无体系结构设计阶段,萌芽阶段,初期阶段,高级阶段5.分层系统优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用6.黑板系统的构成:知识源,黑板数据结构,控制7.面向对象系统优点:改变一个对象的表示不影响其它对象;分解成一些交互的代理程序集合8.W3C是万维网联盟9.Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制10.Web服务就像Web上的构件编程,开发人员经过调用Web应用编程接口,将Web服务集成进她们的应用程序就像调用本地服务一样11.Web服
4、务开发生命周期:构件,部署,运行,管理12.Web服务栈:程序设计语言【程序构件(组成程序的基本元素及其取值或值域范围);操作符(连接构件的各种功能符号);抽象规则(有关构件和操作符的命名表示规则);限制规则(一组选择并决定具体使用何种抽规则来作用于有关的基本构件及其操作符的规则和原理);规范说明(有关句法的语义关联说明); 】软件体系结构【系统构件(模块化级别的系统组成成分实体,这些实体能够被施以抽象的特性化处理,并以多种方式得到使用);连接件(对组成系统的有关抽象实体进行各种连接的连接机制); 组合模式(系统中的构件和连接件进行连接组合的特殊方式也就是软件体系结构风格);限制规则(决定有关
5、模式能够作为子系统进行大型软件系统构造和开发的合法子系统的有关构件); 规范说明(有关系统组织结构方面的语义关联说明)】1.软件体系结构定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不但指定了系统的组织结构和拓扑结构,而且显示系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。2.软件体系结构的意义:1.是风险承担者进行交流的手段。2.是早期设计决策的体现。3.是可传递和可重用的模型。3.4+1视图模型:逻辑视图:主要支持系统的功能需求,即系统提供给最终用户的
6、服务。最终用户:功能需求; 进程视图:侧重于系统的运行特性,主要关注一些非功能性的需求,例如系统的性能和可用性。系统集成人员:性能可扩充性,吞吐量; 开发视图:也称模块视图,主要侧重于软件模块的组织和管理。软件人员:软件管理; 物理视图:主要考虑如何把软件映射到硬件上,它一般要考虑系统性能、规模、可靠性等。系统工程人员:系统拓扑,安装,通信等. 场景:能够看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。4.体系结构风格概念: 是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格的四要素:提供一个词汇表、定义一套配置规则、定义一套语义解释原则
7、和定义对基于这种风格的系统所进行的分析。软件体系结构风格分类:数据流风格(批处理序列;管道/过滤器)调用/返回风格(主程序/子程序;面向对象风格;层次结构)独立构件风格(进程通信;事件系统)虚拟机风格(解释器)仓库风格(数据库系统;超文本系统;黑板系统)5.管道和过滤器:1.每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理, 然后产生数据流。(过滤器)2.过滤器必须独立,不能与其它过滤器分享数据,而且一个过滤器不知道它上游和下游的标识。3.一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。优点: 1.使得软构件具有良好的隐蔽性和高内聚、低耦合的特点。2.允许设
8、计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成。3.支持软件重用。4.系统维护和增强系统性能简单。5.允许对一些如吞吐量、死锁等属性的分析。6.支持并行执行。缺点: 1.一般导致进程成为批处理的结构。 2.不适合处理交互的应用。 3.每个过滤器增加了解析和合成数据的工作,这样导致了系统性能下降,并增加了编写过滤器的复杂性。6.数据抽象和面向对象组织:对象是一种被称做管理者的构件,因为它负责保持资源的完整性。对象是经过函数和过程的调用来交互的。优点:1.改变一个对象的表示而不影响其它的对象。 2.设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合。缺点:1.对象进行交
9、互时必须知道对象的标识。若一个对象改变时就必须修改所有明确调用它的对象。2.必须修改所有显式调用它的其它对象,并消除由此带来的一些副作用。7.基于事件的隐式调用:构件不直接调用一个过程,而是触发或广播一个或多个事件。这种风格的构件是一些模块,这些模块既能够是一些过程,又能够是一些事件的集合。应用:1.在编程环境中用于集成各种工具2.在数据库管理系统中确保数据的一致性约束3.在用户界面系统中管理数据4.在编辑器中支持语法检查优点:1.为软件重用提供了强大的支持。2.为改进系统带来了方便。缺点: 1.构件放弃了对系统计算的控制。2.数据交换的问题。3.关于正确性的推理存在问题。8.分层系统:层次系
10、统组织成一个层次结构,每一层为上层服务,并作为下层客户。内部的层只对相邻的层可见。这种风格支持基于可增加抽象层的设计。优点:1.支持基于抽象程度递增的系统设计。 2.支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层。3.支持重用。缺点:1.并不是每个系统都能够喝很容易地划分为分层的模式。2.很难找到一个合适的、正确的层次抽象方法。9.仓库系统及知识库:两种构件:中央数据结构说明当前状态,独立构件在中央数据存储上执行,仓库与外构件间的相互作用在系统中会有大的变化。若输入流中某类时间触发进程执行的选择,则仓库是一传统型数据库若中央数据结构的当前状态触发进程执行的选
11、择,则仓库是一黑板系统。黑板系统的传统应用时信号处理领域,如语音和模式识别。另一应用是松耦合代理数据共享存取。 黑板系统由三部分组成:知识源、黑板数据结构和控制。10.C2风格:经过连接件绑定在一起按照一组规则运作的并行构件网络。 C2风格系统组织规则: 1.系统中的构件和连接件都有一个顶部和一个底部;2.构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;3.一个连接件能够和任意数目的其它构件和连接件连接; 4.当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。特点:1.系统中的构件可实现应用需求,并能将任意复杂度的功能封
12、装在一起。 2.所有构件之间的通信时经过以连接件为中介的异步消息交换机制来实现的。 3.构件相互独立,构件之间依赖性较少。11.客户/服务器(C/S)风格:(胖客户机): C/S软件体系结构是基于资源不对等,且为实现共享而提出来的。C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构由三部分组成:数据库服务器、客户应用程序和网络。服务器:1.数据库安全性的要求。2.数据库访问并发性的控制。3.数据库前端的客户应用程序的全局数据完整性规则。4.数据库的备份与恢复。客户应用程序:1.提供用户与数据库交互的界面。2.向数据库服务器提交用户请求并接收来自数据库
13、服务器的信息。3.利用客户应用程序对存在于客户端的数据执行应用逻辑要求。优点:1.保证系统的并发性,并使网络上传输的数据量减到最少,从而改进系统的性能。2.客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都能够适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。3.系统中的构件充分隔离。4.节约大量费用。缺点:1.开发成本较高。2.客户端程序设计复杂。3.信息内容和形式单一。4.用户界面风格不一,使用繁杂,不利于推广使用。5.软件移植困难。6.软件维护和升级困难。7.新技术不能轻易使用。12.三层C/S结构风格(瘦客户机):增加了
14、一个应用服务器。将应用功能分成表示层、功能层和数据层三个部分。表示层:是应用的用户接口部分,担负着用户与应用间的对话功能。功能层:相当于应用的本体,它是将具体的业务处理逻辑编入程序中。数据层:是数据库管理系统,负责管理对数据库数据的读写。解决方案:对这三层进行明确分割,并在逻辑上使其独立。中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。优点:1.允许合理地划分三层结构的功能,能提高系统和软件的可维护性和可扩展性。2.允许更灵活有效地选用相应的平台和硬件系统,具有良好的可升级性和开放性。3.应用的各层能够并行开发,各层也能够选择各自最适合的开发语言。4.允
15、许充分利用功能层有效地隔离开表示层与数据层,整个系统的管理层次也更加合理和可控制。13.B/S风格:功能层负责建立数据库的连接,根据用户的请求生成访问数据库的SQL语句,并把结果返回客户端。数据层负责实际的数据库存储和检索,响应功能层的数据处理请求,并将结果返回给功能层。 优点:1.节约了开发成本。应用在一定程度上具有集中特征。2.系统安装、修改和维护全在服务器端解决。3.扩大了组织计算机应用系统的功能覆盖范围,可更加充分利用网络上的资源,同时应用程序维护的工作量也大大减少。 缺点:1.缺乏对动态页面的支持,没有集成有效的数据库处理功能。、2.系统扩展能力差,安全性难以控制。3.数据查询等响应
16、速度低。4.数据的动态交互性不强,不利于在线事务处理应用。14.公共对象请求代理(CORBA)体系结构:CORBA的主要目标是提供一种机制,使得对象能够透明地发出请求和获得应答,从而建立起一个异质的分布式应用环境。CORBA技术规范:接口定义语言(IDL)、接口池(IR)、动态调用接口(DII)和对象适配器(OA)。1.CORBA利用IDL统一地描述服务器对象的接口。IDL本身也是面向对象的。2.CORBA的接口池包括了分布计算环境中所有可用的服务器对象的接口表示。3.CORBA的动态调用接口提供了一些标准函数以供客户对象动态创立请求、动态构造请求参数。4.CORBA的适配器用于屏蔽ORB内核
17、的实现细节,为服务器对象的实现者提供抽象接口。客户机系统是独立于服务器系统的,反之亦然。特点:1.引入中间件作为事务代理。2.实现客户与服务对象的完全分开。3.提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能集成到分布式系统中。4.CORBA规范软件系统采用面向对象的软件实现方法开发应用系统。15.异构结构风格:C/S与B/S混合软件体系结构的模型:“内外有别”模型、“查改有别”模型“内外有别”模型:企业内部经过局域网直接访问数据库服务器,采用C/S体系结构,外部经过Internet访问Web服务器,再访问数据库服务器,采用B/S体系结构。优点:1.外部用户
18、不直接访问数据库服务器,能保证企业数据库的相对安全。2.内部用户的交互性较强,数据查询和修改的响应速度较快。缺点:外部用户修改和维护数据时,速度较慢,较繁琐,数据的动态交互性不强。“查改有别”模型:凡是需执行维护和修改数据操作的,就采用C/S体系结构,如果只是执行一般的查询和浏览操作的,则采用B/S体系结构。优点体现了C/S和B/S的共同优点。但因为外部用户能直接经过Internet连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了一定的威胁。16.特定领域软件体系结构:(DSSA)简单地说,DSSA就是一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。必备特征:1
19、.一个严格定义的问题域/或解决域。2.具有普遍性,使其能够用于领域中某个特定应用的开发。3.对整个领域的合适程度的抽象。4.具有该领域固定的、典型的在开发过程中可重用元素。DSSA的基本活动: 1.领域分析:主要目标是获得领域模型。定义领域的边界、识别信息源。2.领域设计:目标是获得DSSA,同时形成了重用基础设施的规约。多选一以及可选的解决方案可使DSSA具有变化性。3.领域实现:目标是依据领域模型和DSSA开发和组织重用信息。参与DSSA的人员: 1.领域专家2.领域分析人员3.领域设计人员4.领域实现人员DSSA的建立过程:并发的、递归的、重复的。 1.定义领域范围。2.定义领域特定的元
20、素。3.定义领域特定的设计和实现需求约束。4.定义领域模型和体系结构。5.产生、搜集可重用的产品单元。采用DSSA的好处:1.系统开发、维护的工作量大幅度减少,整个应用系统的构件重用程序相当大。2.便于系统开发的组织管理。3.系统有较好的环境适应性。比较: DSSA只对特定领域进行设计专家知识的提取、存储和组织,但能够同时使用多种体系结构风格。而在某个体系结构风格中进行体系结构设计专家知识的组织时,能够将提取的公共结构和设计方法扩展到多个应用领域。17.体系结构描述语言: ADL是这样一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。ADL三个基本
21、元素:构件:计算或数据存储单元.连接件:用于构件之间交互建模的体系结构造块及其支配这些交互的规则。体系结构配置:描述体系结构的构件与连接件的连接图。ADL的特性:充分继承和吸收传统程序设计语言的精确性和严格性、构造、抽象、重用、组合、异构、分析和推理等各种能力。不是ADL:高层设计符号语言、MIL、编程语言、面向对象的建模符号、形式化说明语言。ADL与需求语言的区别在于后者描述的是问题空间,而前者则扎根于解空间中。ADL与建模语言的区别在于后者对整体行为的关注要大于对部分的关注,而前者集中在构件的表示上。18.软件体系结构与UML: UML是一个通用的可视化建模语言,用于对软件进行描述、可视化
22、处理、构造和建立软件系统的文档。用例图:用于显示若干角色以及这些角色与系统提供的用例之间的连接关系。类图:用来表示系统中的类和类之间的关系,是对静态结构的描述。对象图:是类图的实例,只能在系统某一时间段存在。顺序图:用来反映若干个对象之间的动态协作关系,也就是随着时间的推移,对象之间是如何交互的。协作图:描述对象间的协作关系。若强调时间和顺序则使用顺序图,若强调上下级关系则使用协作图。状态图:描述类的对象所有可能的状态以及事件发生时状态的转移条件。活动图:描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。构件图:描述代码构件的物理结构及各构件之间的依赖关系。部署图:定义系
23、统中软硬件的物理体系结构。UML是四层元模型的体系结构:元-元模型定义了元模型层的规格说明语言元模型为给定的建模语言定义规格说明模型定义特定软件系统的模型用户对象构建给定模型的特定实例UML的结构主要体现在元模型中,分三个逻辑包,分别是基础包、行为元素包和一般机制包。UML中的通用表示如下:字符串有关模型的信息名字模型元素标号表示和说明图形符号的字符串特殊字符串某一模型元素的特性类型表示式声明属性、变量及参数实体类型可定义新类型的模型元素语义部分语义部分分为三部分:通用元素、通用机制和通用类型。通用元素:描述UML中各元素的语义。通用机制:主要描述使UML保持简单和概念上一致的机制的语义。通用
24、类型:主要描述UML中各类型的语义。UML提供了三种嵌入的扩充机制:Stereotypes、Constraints和Tag values。19.Web服务体系结构:Web服务是使用标准技术在Internet上运行的商务流程,它能够使用标准的Internet协议,将功能纲领性地体现在Internet和Intranet上。不同描述的共同特征:应用的分布式、应用到应用的交互、平台无关性。Web服务的特点:1.使用标准协议规范2.使用协约的规范性3.高度集成能力4.完好的封装性5.松散耦合一个完整的Web服务包括三种逻辑构件:服务提供者、服务代理和服务请求。与Web服务相关的操作有发布、发现和绑定。服
25、务代理服务请求者服务提供者发现发布绑定Web服务开发生命周期:构建、部署、运行和管理。Web服务栈:发现服务UDDI、DISCO描述服务WSDL、XML、Schema消息格式层SOAP编码格式层XML输出协议层HTTP、TCP/IP、SMTP等优势:1.高度的通用性和易用性。2.完全的平台、语言独立性。3.高度的集成性。4.容易部署和发布。XML是W3C制定的作为Internet上数据交换和表示的标准语言,是一种允许用户定义自己的标记的元语言。简单语义规范协议(SOAP)包括:SOAP信封、SOAP编码规则、SOAP RPC表示、SOAP绑定。WSDL是一种XML格式,用于将网络服务描述为一组
26、端点。是可扩展的。WSDL文档将服务定义为网络端点或端口的集合。WSDL文档在网络服务的定义中使用如下元素:1.定义。根元素2.类型3.消息。代表所传输数据的抽象定义4.操作5.端口类型。单向、请求响应、要求响应和通知6.端口7.服务UDDI注册中心提供的信息可分为三组: 1.白页,包括地址、联系方式和已知的企业标识2.黄页,包括基于标准分类法的行业类别3.绿页,包括关于商业实体所提供的服务技术信息,以及Web服务规范的引用UDDI XML Schema定义了四种核心数据结构类型:1.商业实体结构 2.商业服务结构 3.绑定模块 4.t模型结构面向服务体系结构(SOA)是一种应用程序体系结构,
27、在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,能够以定义好的顺序调用这些服务来形成业务流程。SOA特征: 1.松散耦合2.粗粒度服务3.标准化接口SOA设计原则:1.面向服务的分析与设计原则2.面向服务体系结构的实践原则:业务驱动服务,服务驱动技术;业务敏捷是基本的业务需求。服务集成器的功能:1.过程定义2.执行分析引擎3.业务过程监控4.进行交互5.服务单元搜索功能服务单元用来完成具体的业务操作和数据处理;控制服务单元用来决定业务流程的流向并实现权限管理。控制点就是企业业务流程中的某些相邻基本处理过程之间的转折点。数据库是以单一的数据资源为中心,其目的是及时
28、、安全地将当前事务所产生的记录保存下来;数据仓库是指一个“面向主题的、集成的、稳定的、随时间变化的数据集合,用以支持经营管理中的决策制定过程”。20.体系结构评估概述:评估方法所普遍关注的质量属性:1.性能:系统的响应能力2.可靠性:维持软件系统的功能特性的基本能力,分为:容错和健壮性3.可用性:系统能够正常运行的时间比例4.安全性:阻止非授权用户使用的企图或拒绝服务的能力5.可修改性:能够快速地以较高的性能价格比对系统进行变更的能力,包含:可维护性、可扩展性、结构重组和可移植性。6.功能性:系统所能完成所期望的工作的能力7.可变性:体系结构经扩充或变更而成为新体系结构的能力8.可集成性:系统
29、能与其它系统协作的程度 9.互操作性敏感点是一个或多个构件的特性。权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。风险承担者:对体系结构施加各种影响,以保证自己的目标能够实现场景:为得出作为判定该体系结构优劣的标准的质量目标而采用的机制对场景的描述:1.刺激:是场景中解释或描述风险承担者怎样引发与系统的交互部分2.环境:是刺激发生时的情况3.响应:系统是如何经过体系结构对刺激作出反应的软件体系结构评估方式:1.基于调查问卷或检查卷的评估方式2.基于场景的评估方式3.基于度量的评估方式ATAM评估方法:理解体系结构关于软件系统的质量属性需求决策的结果,不但揭示了体系结构如何满足特定的质量
30、目标,还提供了这些质量是如何交互的ATAM评估步骤:1.描述ATAM方法:特别描述ATAM方法步骤简介、获取和分析技术、评估结果2.描述商业动机3.描述体系结构4.确定体系结构的方法5.生成质量属性效果树6.分析体系结构方法7.讨论和分级场景8.分析体系结构方法9.描述评估结果ATAM的评估阶段:1.第一个阶段的工作:第一次会议:组织和安排以后的工作;收集相光信息。第一次会议与第二次会议之间中断时间取决于这一阶段完成的情况。 2.第二个阶段的工作:体系结构已经文档化,且有足够的信息来支持验证已经进行的分析和将要进行的分析。首先有必要重新简单介绍ATAM方法,以使所有与会者达成共同的理解。 3.
31、ATAM个步骤中相关的风险承担者:少则只有3-5,多则40-50。 4.ATAM评估日程安排综合题:1、应用实例变电综合信息管理系统和内外有别模型,查改有别模型(C/S,B/S混合)变电综合信息管理系统 (给实例,画系统模型图)内外有别模型(内部C/S,外部B/S)查改有别模型:(查询浏览B/S,维护修改C/S)2、会议安排系统的C2风格:系统包含了3种功能构件分别是一个Meeting Initiator,若干个Attendee和ImportantAttendee,3个连接件(MainConn,AttConn,Important AttConn)用来在构件之间传递消息,某些消息可由MeetingInitiator同时发送给Attendee和Important Attendee,但还有某些消息只能传递给Important Attendee。3、SIS的体系结构:上级系统的功能约束由一个互联系统构成的系统来实现,其中一级从属系统ABC分别试上级系统abc的具体实现,二级从属系统中的A1和A2分别是一级从属系统A的子系统a1和a2的具体实现。