多语言展示
当前在线:1555今日阅读:60今日分享:41

软件体系结构知识点-复习概要:[3]

第3章软件体系结构风格1.软件体系结构结构风格是描述某一特定应用领域中系统组织方式的惯用模式。软件体系结构风格又称软件体系结构习惯模式。风格的本质是:一些特定的元素按照特定的方式组成一个有利于上下文环境里的特定问题的解决的结构。体系结构风格的使用几乎完全是特定的。2.使用体系结构风格的好处:(a)能够促进设计的重用性;(b)有关风格的使用带来了设计者的交流形式;(c)使用风格能够使代码的重用性得到提高。3.体系结构风格最关键的四要素:(a)提供一个词汇表;(b)定义一套配置规则;(c)定义一套语义解释原则;(d)定义对基于这种风格的系统所进行的分析。4.经典的体系结构风格:(a)数据流风格(管道和过滤器风格);(b)调用/返回风格(面向对象组织风格);(c)独立构件风格(事件系统);(d)虚拟机风格;(e)仓库风格。4.1管道和过滤器风格的优点:(a)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;(b)允许设计者将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;(c)支持软件重用;(d)系统维护和增强系统性能简单;(e)允许对一些如吞吐量、死锁等属性的分析;(f)支持并行执行。管道和过滤器风格的缺点:(a)通常导致进程成为批处理的结构;(b)不适合处理交互的应用;(c)系统性能下降,增加了编写过滤器的复杂性。4.2面向对象系统风格的优点:(a)因为对象对其它对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其它的对象;(b)设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合。面向对象组织风格的缺点:(a)为了使一个对象和另一个对象通过过程调用等进行交互,必须知道对象的标识,只要一个对象的标识改变了,就必须修改所有其他明确调用它的对象;(b)必须修改所有显式调用它的其它对象,并消除由此带来的一些副作用。4.3基于事件的隐式调用风格的优点:(a)为软件重用提供了强大的支持;(b)为改进系统带来了方便。基于事件的隐式调用风格的缺点:(a)构件放弃了对系统计算的控制;(b)数据交换的问题;(c)既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。4.4分层系统风格的优点:(a)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;(b)支持功能增强;(c)支持重用。分层系统风格的缺点:(a)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;(b)很难找到一个合适的、正确的层次抽象方法。5.C2:通过连接件绑定在一起的按照一组规则运作的并行构件网络。5.1C2风格的中心原则是有限可视原则,或者说是下层独立的原则:在C2风格的体系结构中,某一构件只能感知层次高于自己的构件所提供的服务,而不能感知到层次比自己更低的构件的服务。这种单向的传递性,有利于系统的维护和扩展。5.2C2风格的通信规则:C2中,所有构件间的通信必须通过消息来实现,这也是构件之间的唯一通信途径。5.3C2风格的特点:(a)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(b)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;(c)构件相对独立,构件之间依赖性较少。6.C/S(客户/服务器)体系结构的主要组成部分:数据库服务器、客户应用程序和网络。6.1C/S体系结构的任务分配:(1)服务器:(a)数据库安全性的要求;(b)数据库访问并发性的控制;(c)数据库前端的客户应用程序的全局数据完整性规则;(d)数据库的备份与恢复;(2)客户应用程序:(a)提供用户与数据库交互的界面;(b)向数据库服务器提交用户请求并接收来自数据库服务器的信息;(c)利用客户应用程序对存在于客户端的数据执行应用逻辑要求。6.2C/S体系结构的优点:(a)C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受;(b)系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小;(c)系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码,将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。6.3 C/S体系结构的缺点:(a)开发成本较高;(b)客户端程序设计复杂;(c)信息内容和形式单一;(d)用户界面风格不一,使用繁杂,不利于推广使用;(e)软件移植困难;(f)软件维护和升级困难;(g)新技术不能轻易应用。7.三层C/S体系结构的具体结构:数据层、功能层、表示层。7.1三层C/S体系结构的优点:(a)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性;(b)允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且这些平台和各个组成部分可以具有良好的可升级性和开放性;(c)应用的各层可以并行开发,可以选择各自最适合的开发语言;(d)利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。7.2三层C/S体系结构中要注意的问题:(a)三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能;(b)设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高各层的独立性一样是三层C/S结构的关键问题。8.B/S(浏览器/服务器)体系结构的具体结构:浏览器、Web服务器、数据库服务器。8.1B/S体系结构的优点:(a)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决,用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级;(b)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。8.2 B/S体系结构的缺点:(a)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;(b)B/S体系结构的系统扩展能力差,安全性难以控制;(c)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构;(d)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。9.C/S和B/S混合体系结构的做法:(1)内部:C/S模式,直接访问数据库服务器;(2)外部:B/S模式,通过Web服务器访问数据库服务器。10.CORBA(公共对象请求代理)技术规范:(a)接口定义语言(IDL);(b)接口池(IR);(c)动态调用接口(DII);(d)对象适配器(OA)。11.正交软件体系结构是一种以垂直线索构件族为基础的层次化结构,其基本思想是把应用系统的结构按功能的正交性,垂直分割为若干个线索(子系统),线索又分为几个层次,每个线索由多个具有不同层次功能和不同抽象级别的构件构成。各线索的相同层次的构件具有相同的抽象级别。12.正交软件体系结构的特征:(a)正交软件体系结构由完成不同功能的n(n > 1)个线索(子系统)组成;(b)系统具有m(m > 1)个不同抽象级别的层;(c)线索之间是相互独立的(正交的);(d)系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)。13.正交软件体系结构的优点:(a)结构清晰,易于理解;(b)易修改,可维护性强;(c)可移植性强,重用粒度大。14.HMB(层次消息总线)风格:基于层次消息总线、支持构件的分布和并发,构件之间通过消息总线进行通信。HMB风格的构件模型包括系统的静态结构、动态行为以及功能。15.为什么要使用异构结构?答:(a)不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题;(b)关于软件包、框架、通信以及其他一些体系结构上的问题,目前存在多种标准。即使在某段时间内某一种标准占统治地位,但变动最终是绝对的;(c)实际工作中,我们总会遇到一些遗留下来的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。然而在许多场合,将技术与经济综合进行考虑时,总是决定不再重写它们;(d)即使在某一单位中,规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。16.C/S与B/S混合之“内外有别”模型的优点:外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性较强,数据查询和修改的响应速度较快。C/S与B/S混合之“内外有别”模型的优点:企业外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强。17.C/S与B/S混合之“查改有别”模型的优缺点:体现了B/S体系结构和C/S体系结构的共同优点。但因为外部用户能直接通过Internet连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了一定的威胁。18.DSSA(特定领域软件体系结构)必备的特征:(a)一个严格定义的问题域和/或解决域;(b)具有普遍性,使其可以用于领域中某个特定应用的开发;(c)对整个领域的合适程度的抽象;(d)具备该领域固定的、典型的在开发过程中可重用元素。19.DSSA的基本活动:领域分析、领域设计、领域实现。20.DSSA和体系结构风格的比较:(a)DSSA以问题域为出发点,体系结构风格以解决域为出发点;(b)DSSA只对某一个领域进行设计专家知识的提取、存储和组织,但可以同时使用多种体系结构风格,而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个应用领域;(c)DSSA通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具;(d)体系结构风格的定义和该风格应用的领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用范围要广;(e)DSSA和体系结构风格是互为补充的两种技术。补实例:石油管理局劳动管理信息系统MIS系统——三层C/S软件体系结构(事务分离,将MIS应用分为表示层、功能层、数据层三个层次;中间的功能层是关键。);某省电力局劳动管理信息系统MIS系统——正交软件体系结构(系统功能可能变化:部门功能改变、取消;部门撤销,其功能整合到其他部门;部门功能扩充。);变电综合信息管理系统——异构结构。
推荐信息