软件体系架构阅读笔记八

软件架构风格的定义 
诸风格的特征 
◎数据流风格:批处理序列;管道/过滤器。 
管道与过滤器风格的软件体系结构的特色 
(1)使得软构件具备良好的隐蔽性和高内聚、低耦合的特色;(2)容许设计者将整个系统的输入/输出行为当作是多个过滤器的行为的简单合成;(3)支持软件重用。(4)系统维护和加强系统性能简单。(5)容许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。可是,这样的系统也存在着若干不利因素。 
(1)一般致使进程成为批处理的结构。这是由于虽然过滤器可增量式地处理数据,但它们是独立的,因此设计者必须将每一个过滤器当作一个完整的从输入到输出的转换。 
(2)不适合处理交互的应用。当须要增量地显示改变时,这个问题尤其严重。 
(3)由于在数据传输上没有通用的标准,每一个过滤器都增长了解析和合成数据的工做,这样就致使了系统性能降低,并增长了编写过滤器的复杂性。 
◎调用/返回风格:主程序/子程序;面向对象风格;层次结构。 
面向对象的优势 
能形象地表现现实世界的领域,重用性高,对应变化很强。 即易扩展, 维护性强 
数据抽象和面向对象组织缺点 
性能损失。 面向对象编程为了:重用性、 灵活性和扩展性等特性而做出的牺牲。测试比较麻烦,对总体系统设计要求高 
◎独立构件风格:进程通信;事件系统。 
基于事件的隐式调用优势: 
为软件重用提供了强大的支持。 当须要将一个构件加入现存系统中时,只需将它注册到系统的事件中。为改进系统带来了方便。 当用一个构件代替另外一个构件时,不会影响到其它构件的接口。 
基于事件的隐式调用缺点: 
构件放弃了对系统计算的控制。数据交换的问题。 有时数据可被一个事件传递,但 
有时系统必须依靠一个共享的仓库进行交互。 这时全局性能和资源管理便成了问题。 
既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。 
分层系统优势: 
支持基于抽象程度递增的系统设计,使设计者能够把一个复杂系统按递增的步骤进行分解; 
支持功能加强,由于每一层至多和相邻的上下层交互,所以功能的改变最多影响相邻的上下层;支持重用。 只要提供的服务接口定义不变,同一层的不一样实现能够交换使用。 这样,就能够定义一组标准的接口,而容许各类不一样的实现方法。 
分层系统缺点: 
并非每一个系统均可以很容易地划分为分层的模式,甚至即便一个系统的逻辑结构是层次化 
的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;很难找到一个合适的、 正确的层次抽象方法。 
◎虚拟机风格:解释器;基于规则的系统。 
◎仓库风格:数据库系统;超文本系统;黑板系统。 
 请简要说明黑板风格的定义。 
黑板结构是一个六至八层的层次结构,每一层都抽象了与之相邻的较低一层的信息。 
知识源表明整个问题求解中的独立的子任务。每一个知识源被组织成一个条件部分和一个动做部分,条件部分规定何时知识源可用,动做部分负责处理相关的黑板元素并产生新的元素。控制构件做为黑板的监控程序和调度程序;一般将黑板知识源应用到黑板中各类元素具备优先次序,调度程序负责监控黑板和计算的优先次序。 
◎C2风格 
C2风格的特色 
C2体系结构风格:能够归纳为经过链接件绑定在一块儿的按照一组规则动做的并行构件网络。组织规则有:一、系统中的构件和链接件都有一个顶部一个底部。二、构件的顶部应链接到某链接件的底部,构件的底部应链接到链接件的顶部,构件之间不能直接链接。三、一个链接件能够和任意数目的其余构件和链接件相连。四、当两个链接件直接相连时,必须由其中一个底部到另外一个的顶部。C2风格的特色:系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一块儿;全部构件之间的通信是经过以链接件为中介的异步消息交换机制来实现的;构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。 
◎C/S风格 
C/S风格优势: 
C/S架构具备强大的数据操做和事务处理能力,模型思想简单,易于理解。系统的客户应用程序和服务器构件分别运行在不一样计算机上,系统中每台服务器均可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,并且易于对系统进行扩充和缩小。系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理。 将大的应用处理任务分布到许多经过网络链接的低成本计算机上,以节约费用。 
C/S风格缺点: 
开发成本较高,客户端程序设计复杂,信息内容和形式单一,用户界面风格不一,使用繁杂,不利于推广使用,软件移植困难,软件维护和升级困难,新技术不能轻易应用 
◎三层C/S风格 
三层C/S风格优势: 
容许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提升系统和软件的可维护性,和可扩展性。容许更灵活选用相应的平台和硬件系统,使之在 
处理负荷能力上与处理特性上分别适应于三层;而且这些平台和各个组成部分能够具备良好的可升级性和开放性。应用的各层能够并行开发,能够选择各自最适合的开发语言。利用功能层有效地隔离开表示层与数据层,未受权的用户难以绕过功能层而利用数据库工具或黑 
客手段非法访问数据层,为严格的安全管理奠基了坚实的基础。 
要注意的问题: 
三层C/S结构各层间的通讯效率若不高,即便分配给各层的硬件能力很强,其做为总体来讲 
也达不到所要求的性能。设计时必须慎重考虑三层间的通讯方法、 通讯频度及数据量。 这和提升各层的独立性同样是三层C/S结构的关键问题。 
◎三层B/S风格 
B/S风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。优势(1)基于B/S体系结构的软件,系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,赞成服务的最现实的开放性基础。缺点(1)缺少对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于C/S体系结构。(3)数据提交通常以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。 
◎异构风格 
◎领域特定的软件架构(DSSA) 
◎典型的软件系统的架构类型 
◎游戏系统的体系结构实例Darkstar 
◎商业系统体系结构实例Explanner/Ai,Explanner/Jhtml

转载博客:http://www.javashuo.com/article/p-trwnqywn-eh.html数据库

相关文章
相关标签/搜索