软件体系结构风格

目录

一、定义

二、.经典软件体系结构风格:

1.管道和过滤器

 2.数据抽象和面向对象系统

3.基于事件系统(隐式调用)

4.分层系统

5.仓库

6.C2风格

7.C/S

8.三层C/S

9.B/S

题:


一、定义

软件体系机构风格是描述某一特定应用领域中系统组织方式的惯用模式

二、.经典软件体系结构风格:

1.管道和过滤器

过滤必须独立的实体,它不能与其他的过滤器共享数据,而其他过滤器不知道它的上游和下游的标识

正确性不依赖于过滤器进行增量计算过程顺序

优点:

  1. 良好的隐蔽性和高内聚,低耦合的特点
  2. 允许设计师将整个系统的输入/输出行为看成多个过滤器的简单合并
  3. 支持重用
  4. 系统维护和增强系统性能简单
  5. 允许对一些如吞吐量,死锁等属性分析
  6. 支持并行

缺点:

  1. 导致进程成为批量处理结构
  2. 不适合处理交互的应用

应用:

传统的编译器

 2.数据抽象和面向对象系统

这种风格建立在数据抽象和面向对象的基础上,数据的表示方法和它的相应操作封装在一个抽象数据类型或对象中。对象被称为构件,负责保持资源的完整性,通过函数和过程的调用来交互。

优点:

  1. 应为对象对其他隐藏它的标识,所以可以改变一个对象的标识,而不影响其他
  2. 将一些数据存取操作的问题分解成一些交互的代理程序集合

缺点:

  1. 改变一个对象就要改变多个调用的对象

3.基于事件系统(隐式调用)

思想:构件不直接调用一个过程,而是触发或广播一个或多个事件

隐式调用:一个事件的触发就导致了另一个模块中的过程的调用。

风格:事件的触发者不知道那些构件会被调用

应用:调试

优点:

  1. 为软件重用提供了强大的支持
  2. 为改进系统带来了方便

缺点:

  1. 数据交互问题
  2. 构件放弃了对系统计算的控制

4.分层系统

连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束,基于可增加抽象层的设计

应用:分层通信协议

优点:

  1. 可把一个复杂的程序按递增的步骤进行分解
  2. 支持功能增强
  3. 支持可重用

缺点:

  1. 很难找到一个合适的,正确的层次抽象方法
  2. 不容易划分

5.仓库

中央数据结构说明当前状态,独立构件在中央数据存储上执行

黑板:中央数据结构的当前状态触发进程执行的选择

应用:信号处理领域、如语言和模式识别,松耦合代理数据共享存取

组成:知识源、黑板数据结构、控制

6.C2风格

通过连接件绑定在一起的,按照一组规则运作的并行构件网络。

特点:

  1. 可以将任意复杂的功能封装在一起
  2. 连接件之间异步消息交换机制来实现
  3. 构件相对独立,构件之间依赖性较少

7.C/S

基于资源不对等,有三个主要的部分:数据库管理,客户应用程序和网络

保证了系统的并发性,使网络上传输的数据量减少到最少,从而改善系统的性能

优点:

  1. 适应性和灵活性
  2. 功能充分隔离

缺点:

  1. 成本高
  2. 客户端程序设计复杂
  3. 信息内容单一
  4. 用户界面风格不一
  5. 移植困难
  6. 维护和升级困难
  7. 新技术不易开发

8.三层C/S

 具有强大的书操作和事物处理能力,模型思想简单易于人们理解和接受

三层:

表示层:用户接口部分,他担负着用户与应用间的对话功能

功能层:将具体的业务处理逻辑编入程序,确认用户对应和数据库存取权限的功能以及记录系统处理日志功能

数据层:数据库管理系统,负责管理对数据库的读写

应用:某石油管理局劳动管理

优点:

  1. 提高系统和软件的可维护性和可扩展性
  2. 良好的可升级性和开放性
  3. 并行开发
  4. 隔离表示层和数据层

9.B/S

 浏览器/web服务器/数据库服务器,提供了异种机,异种网,等开放性基础

题:

异构:

内外有别:企业内部用户通过局域网直接访问数据库服务器,采用c/s,外部用户通过B/S

优点:外部不可直接访问数据库服务器能保证相对安全,内部用户交互性强

缺点:外服务维护困难

查改有别:凡是须执行维护和修改数据操作均使用C/S,查询和浏览用B/S

最后一篇软件体系结构复习文章,祝大家都不挂科!!!

附上我的保护神

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

圆圆无敌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值