首页 > 知识点讲解
       典型体系结构模式
知识路径: > 信息化和信息系统 > 信息系统及其技术和开发方法 > 软件工程 > 软件架构(定义、模式、分析与评估) > 
被考次数:4次     被考频率:中频率     总体答错率:37%     知识难度系数:     
相关知识点:7个      
        软件体系结构模式是经过实践证明的、可重复使用的软件架构设计策略,为粗粒度的软件重用提供了可能。它描述了某一特定应用领域中系统的组织方式,反映了领域中众多系统所共有的结构和语义特性。常见的体系结构模式有:
        1.管道/过滤器模式
        每个构件都有一组输入输出,构件读取输入的数据流,经过内部处理后,产生输出的数据流,该过程主要完成输入流的变换及增量计算。构件称为过滤器,连接器称为数据流传输的管道。管道/过滤器输出的正确性并不依赖于过滤器进行增量计算过程的顺序。管道/过滤器模式如下图所示。
        
        管道/过滤器模式
        优点:
        .体现了各功能模块的“黑盒”特性及高内聚、低耦合的特点。
        .可将整个系统的输入输出行为看成是多个过滤器行为的简单合成。
        .支持软件功能模块的重用。
        .便于系统维护。新的过滤器可以加到现有系统中,旧的可以由改进的过滤器替换。
        .支持某些特定的分析,如吞吐量计算、死锁检测等。
        .支持并行操作,每个过滤器可以作为一个单独的任务完成。
        缺点:
        .通常导致系统处理过程的成批操作。
        .需要设计者协调两个相对独立但又存在关系的数据流。
        .可能需要每个过滤器自己完成数据解析和合成工作(如加密和解密),从而导致系统性能下降,并增加了过滤器具体实现的复杂性。
        2.面向对象模式
        面向对象模式建立在数据抽象和面向对象的基础上,将数据的表示方法及其相应操作封装在一个抽象数据类型或对象中。
        面向对象模式的典型应用是基于构件的软件开发(CBD)。面向对象模式如下图所示。
        
        面向对象模式
        优点:
        .高度模块化。
        .封装功能实现了数据隐蔽。
        .继承性提供了一种实现代码共享的手段。
        .提供了系统的灵活性,便于维护及扩充。
        缺点:
        .对象之间的调用需要知道所调用对象的标识。如果对象的标识发生改变,就必须通知所有调用该对象的对象,否则系统可能无法正常运行。
        3.事件驱动模式
        事件驱动模式的基本原理是构件并不直接调用过程,而是触发一个或多个事件。系统中的其他构件可以注册相关的事件,触发一个事件时,系统会自动调用注册了该事件的构件过程,即触发事件会导致另一构件中过程的调用。
        使用事件驱动模式的典型系统包括各种图形界面工具。
        优点:
        .支持软件重用,容易实现并发处理。
        .具有良好的可扩展性,通过注册可引入新的构件,而不影响现有构件。
        .可以简化客户代码。
        缺点:
        .构件削弱了自身对系统的控制能力。一个构件触发事件时,并不能确定响应该事件的其他构件及各构件的执行顺序。
        .不能很好地解决数据交换问题。
        .使系统中各构件的逻辑关系变得更加复杂。
        4.分层模式
        分层模式采用层次化的组织方式,每一层都是为上一层提供服务,并使用下一层提供的功能。这种模式允许将一个复杂问题逐步分层实现。层次模式中每一层最多只影响两层,只要给相邻层提供相同的接口,就允许每层用不同的方法实现,可以充分支持软件复用。
        分层模式的典型应用是分层通信协议,如ISO/OSI的七层网络模型。
        分层模式如下图所示。
        
        分层模式
        优点:
        .有助于把复杂的问题按功能分解,使整体设计更为清晰。
        .支持系统设计的逐级抽象。
        .具有较好的可扩展性。
        .支持复用。
        缺点:
        .层次的划分没有统一的、正确的抽象方法,并且有些系统不容易划分层次。
        .层次的个数过多,系统性能可能会下降。
        5.知识库模式
        知识库模式采用两种不同的构件:中央数据结构构件说明当前状态,独立构件在中央数据存储上执行,中央数据构件与独立的外部构件间相互作用。
        两种不同的控制策略:
        .基于传统数据库型的知识库模式:输入流触发进程执行的选择。
        .基于黑板系统的知识库模式:中央数据结构的当前状态触发进程执行的选择。
        黑板系统的典型应用是信号处理领域,如语音和模式识别。如下图所示。
        
        基于黑板系统的知识库模式
        黑板系统主要由三部分组成:
        .知识源:包含独立的、与应用程序相关的知识,知识源之间不直接进行通信,它们之间的通信通过黑板来完成。
        .黑板数据结构:按照与应用程序相关的层次来组织并解决问题的数据,知识源通过不断地改变黑板数据来解决问题。
        .控制:完全由黑板的状态驱动,黑板状态的改变决定了需要使用的特定知识。
        6.客户端/服务器模式
        客户端/服务器(C/S)模式是基于资源不对等,为实现共享而提出的。C/S模式将应用一分为二,服务器(后台)负责数据管理,客户端(前台)完成与用户的交互任务。C/S模式具有强大的数据操作和事务处理能力,易于理解和接受。
        C/S模式如下图所示。
        
        C/S模式
        优点:
        .客户端和服务器分离,允许网络分步操作;二者的开发也可分开同时进行。
        .一个服务器可以服务于多个客户端。
        缺点:
        .客户端与服务器的通信依赖于网络,可能成为整个系统运作的瓶颈;客户端的负荷过重,难以管理大量的客户端,系统的性能受到很大影响。
        .如果服务器及其界面定义有改变,则客户端也要做相应改变。
        .二层C/S模式采用单一服务器,以局域网为中心,难以扩展至广域网或Internet。
        .数据安全性不好。
        发展:
        C/S模式适用于分布式系统,得到了广泛应用。为了解决客户端的访问问题,发展形成了浏览器/服务器(B/S)模式;为了解决服务器端的问题,发展形成了三层(多层)C/S模式,即多层应用架构。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2021年下半年
   信息系统项目管..
   上午试卷 综合知识
第9题
选择题
图中的软件架构设计属于()风格。

53%
   2019年上半年
   信息系统项目管..
   上午试卷 综合知识
第2题
选择题
智慧城市建设参考模型的( )利用SOA(面向服务的体系架构)、云计算、大数据等技术,承载智慧应用层中的相关应用,提供应用所需的各种服务和共享资源。

29%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有