《软件体系结构期末考试资料.doc》由会员分享,可在线阅读,更多相关《软件体系结构期末考试资料.doc(9页珍藏版)》请在金锄头文库上搜索。
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.系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起。 2.所有构件
12、之间的通信时通过以连接件为中介的异步消息交换机制来实现的。 3.构件相互独立,构件之间依赖性较少。11.客户/服务器(C/S)风格:(胖客户机): C/S软件体系结构是基于资源不对等,且为实现共享而提出来的。C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构由三部分组成:数据库服务器、客户应用程序和网络。服务器:1.数据库安全性的要求。2.数据库访问并发性的控制。3.数据库前端的客户应用程序的全局数据完整性规则。4.数据库的备份与恢复。客户应用程序:1.提供用户与数据库交互的界面。2.向数据库服务器提交用户请求并接收来自数据库服务器的信息。3.利用客
13、户应用程序对存在于客户端的数据执行应用逻辑要求。优点: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.数据查询等响应速度低。4.数据的动态交互性不强,不利于在线事务处理应用。14.公共对象请求代理(CORBA)体系结构:CORBA的主要目标是提供一种机制,使得对象可以透明地发出请求和获得应答,从而建立起一个异质的分布式应用环境。CORBA技术规范:接口定义语言(IDL)、接口池(IR)、动态调用接口(DII)和对象适配器(OA)。1.CORBA利用IDL统一地描述服务器对象的接口。IDL本身也是面向对象的。2.CORBA的接口池包括了分布计算环境中所有可用的服务器对象的接口表示。3.CORBA的动态调用接口提供了一些标准函数以供客户对象动态创建请求、动态构造请求参数。4.CORBA的适配器