没有合适的资源?快使用搜索试试~ 我知道了~
软件体系结构期末复习总结 什么是软件体系结构? 软件体系结构是具有⼀定形式的结构化元素,抽象的讲,软件体系结构包括构成系统的设计
需积分: 0 5 下载量 61 浏览量
2022-06-25
13:30:03
上传
评论
收藏 341KB PDF 举报
温馨提示
试读
14页
软件体系结构期末复习总结 什么是软件体系结构? 软件体系结构是具有⼀定形式的结构化元素,抽象的讲,软件体系结构包括构成系统的设计元素的描述,设计元素的交互,设计元素组合的 模式,以及在这些模式中的约束。具体的讲,体系结构 = 组件+连接件+约束 组件:具有某种功能的可重⽤的软件模块单元,表⽰了系统中主要的计算单元和数据存储。 连接件:表⽰了组件之间的交互,简单的连接件有:管道,过程调⽤,事件⼴播等,复杂的连接件有:客户-服务器通信协议,数据库 和应⽤之间SQL连接等。 约束:表⽰了组件和连接件的拓扑逻辑和约束。 七种经典的软件体系结构风格 能够回答以下四个问题: 1. define (定义和特性) 2. component & connectors (组件和连接件) 3. usage examples (应⽤⽰例) 4. advantages and disadvantages (优点和缺点) pipe and filter(管道-过滤器) 组件和连接件 组件: filters -->处理数据流,⼀个过滤器封装了⼀个处理步骤。 连接件:pipes --> 连接⼀个源和⼀个⽬的过滤器。
资源详情
资源评论
资源推荐
软件体系结构期末复习总结
什么是软件体系结构?
软件体系结构是具有⼀定形式的结构化元素,抽象的讲,软件体系结构包括构成系统的设计元素的描述,设计元素的交互,设计元素组合的
模式,以及在这些模式中的约束。具体的讲,体系结构 = 组件+连接件+约束
组件:具有某种功能的可重⽤的软件模块单元,表⽰了系统中主要的计算单元和数据存储。
连接件:表⽰了组件之间的交互,简单的连接件有:管道,过程调⽤,事件⼴播等,复杂的连接件有:客户-服务器通信协议,数据库
和应⽤之间SQL连接等。
约束:表⽰了组件和连接件的拓扑逻辑和约束。
七种经典的软件体系结构风格
能够回答以下四个问题:
1. define (定义和特性)
2. component & connectors (组件和连接件)
3. usage examples (应⽤⽰例)
4. advantages and disadvantages (优点和缺点)
pipe and filter(管道-过滤器)
组件和连接件
组件: filters -->处理数据流,⼀个过滤器封装了⼀个处理步骤。
连接件:pipes --> 连接⼀个源和⼀个⽬的过滤器。
定义和特性
每个过滤器都有⼀组输⼊集和输出集。过滤器从管道中读⼊数据流,对输⼊流进⾏内部转换和增量计算(丰富,精炼,转换,融合,分
解),然后产⽣输出数据流并写⼊管道中。
特点:
每个过滤器必须是⼀个独⽴的实体:过滤器之间⽆需共享状态,即filter⽆需知道其输⼊管道和输出管道所连接的其他过滤器的存在,
更不必关注相邻过滤器的实现细节。他仅仅需要对输⼊数据流进⾏特定的内部転换和增量计算,筛选出合适的数据。
数据到来是便被处理,不是收集然后处理,即在输⼊被完全消费之前,输出便产⽣了。
**管道是将数据从⼀个过滤器的输出端移动到另⼀个过滤器的输⼊端,是⼀个单向流。**不同的管道中流动的数据流,可能具有不同的
数据格式。
应⽤⽰例
编译器、Unix管道、图像处理,信号处理,声⾳与图像处理
优点和缺点
优点
良好的隐蔽性和⾼内聚、低耦合:可以将整个系统的输⼊输出⾏为看成多个过滤器功能的简单合成。
⽀持功能模块的重⽤:任意两个过滤器只要相互间所传输的数据格式上达成⼀致,就可以连接在⼀起
系统容易维护和拓展:新的过滤器容易加⼊到系统中,旧的过滤器也可被改进的过滤器替换
允许对⼀些如吞吐量,死锁 等属性进⾏分析
⽀持并⾏执⾏:每⼀个过滤器既可以独⽴运⾏,也可与其他过滤器并发执⾏。
缺点:
不适合处理交互的应⽤
系统性能不⾼,并增加了编写过滤器的复杂性:数据传输缺乏通⽤标准,每个过滤器绝⼤部分时间消耗在数据格式的解析,转换,合成
上。同样也不适⽤于⼤量共享数据的应⽤设置。
调⽤-返回风格
主程序/⼦程序风格
组件和连接件
组件:过程和明确可见的数据
连接件:过程调⽤和显式的共享数据
控制结构:单线程
特点
调⽤和定义层次结构,⼦系统通常通过模块化来定义。
系统通常会被组织成⼀个主程序和⼀系列⼦程序的集合。主程序担当⼦程序的驱动器,为⼦程序提供⼀个⼈控制环路,使⼦程序以某种次序
顺序执⾏。
ADT & OO
组件和连接件
组件:对象(抽象数据类型的实例)
连接件:过程调⽤
特点
在基于⾯向对象的模式中,操作和数据绑定在⼀起,隐藏实现和其他秘密。对象通过过程调⽤来实现交互。有两个重要⽅⾯:
对象维护⾃⾝表⽰的完整性
这种表⽰对其他对象是隐藏的
优点和缺点
优点:
⾯向对象易维护,易复⽤
对象反映现实世界,容易分解⼀个系统
对象对客户实现了隐藏细节,所有可以在不影响其客户的情况下改变对象的实现 。
缺点:
对象的管理⽐较复杂,当⼀个对象和其他对象交互,必须知道其他对象的标识。每当⼀个对象的标识改变的时候,必须修改那些显⽰调
⽤它的对象。
分层系统
组件和连接件
组件: 在某些层中实现虚拟机
连接件: 协议, 规定了层次之间的交互⽅式
拓扑结构: 限制相邻层之间的交互
特点
⼀个分成系统是按照层次结构组织的,每⼀层向它的上层提供服务,同时它⼜是下层的客户。
上层必须知道下层的⾝份,不能调整层次之间的顺序。
⼤的问题分解成若⼲渐进的⼩问题,逐步解决,隐藏了很多复杂度。
内层只对其相邻的层和某些⽤于输出的函数是可见的,对其他外部的层是隐藏的。
修改⼀层,最多影响两层, 通常只会影响上层。若层之间接⼝稳固,则不会造成其他影响
层层相调,影响性能。
优点和缺点
优点:
⽀持基于逐级抽象的系统设计,这允许设计者将⼀个复杂的问题分解成⼀系列递增的步骤。
⽀持扩展,由于分层系统每⼀层最多和上下两层交互,对于任意⼀层功能的交互最多只影响其他两层。
⽀持重⽤,如果能保证为相邻的层提供⼀致的接⼝,他允许系统中同⼀层的不同实现相互交换使⽤。(即给同⼀接⼝建⽴不同实现)
缺点
定义⼀个合适的抽象层次可能会⾮常困难。⽐如,实际的通信协议体就很难映射到ISO框架中,因为其中许多协议跨多个层。
客户端/服务器风格
两层C/S架构
特点
服务器(后台)负责数据管理,客户机(前台)完成与⽤户的交互任务。“胖客户机,瘦服务器”
缺点
– 对客户端软硬件配置要求较⾼,客户端臃肿
– 客户端程序设计复杂
– 数据安全性不好。客户端程序可以直接访问数据库服务器。
– 信息内容和形式单⼀
– ⽤户界⾯风格不⼀,使⽤繁杂,不利⽤推⼴使⽤
– 软件维护与升级困难。每个客户机上的软件都需要维护
三层C/S架构
与⼆层C/S结构相⽐,增加了⼀个应⽤服务器。
应⽤功能分为表⽰层、功能层、数据层三层。
剩余13页未读,继续阅读
无处安放的小曾
- 粉丝: 78
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0