




已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州大学软件学院赵哲 软件体系结构 软件体系结构风格 郑州大学软件学院赵哲 主要内容 软件体系结构风格概述经典软件体系结构风格客户 服务器风格浏览器 服务器风格层次风格异构结构风格 郑州大学软件学院赵哲 软件体系结构风格概述 软件体系结构风格style 描述某一特定应用领域中系统组织方式的惯用模式 体系结构风格定义了一个系统家族体系结构风格反映了领域中众多系统所共有的结构和语义特性 郑州大学软件学院赵哲 经典的体系结构风格 数据流风格 批处理序列 管道 过滤器 调用 返回风格 主程序 子程序 面向对象风格 层次结构 独立构件风格 进程通讯 事件系统虚拟机风格 解释器 基于规则的系统仓库风格 数据库系统 超文本系统 黑板系统 郑州大学软件学院赵哲 经典软件体系结构风格 管道和过滤器数据抽象和面向对象组织基于事件的隐式调用分层系统仓库系统及知识库C2风格 郑州大学软件学院赵哲 管道与过滤器风格 郑州大学软件学院赵哲 管道和过滤器 每个构件都有一组输入和输出 构件读输入的数据流 经过内部处理 然后产生输出数据流 这种风格的连接件就象是数据流传输的管道 将一个过滤器的输出传到另一过滤器的输入这里的构件被称为过滤器 这种风格的连接件就象是数据流传输的管道 将一个过滤器的输出传到另一过滤器的输入 郑州大学软件学院赵哲 管道和过滤器应用举例 ATM机汽车牌照识别系统图像捕捉灰度化拉伸边缘处理模板匹配识别等数据流水线系统每一步数据质量将会影响到下一步 郑州大学软件学院赵哲 管道和过滤器风格优点 P52 郑州大学软件学院赵哲 管道和过滤器风格缺点 P53 郑州大学软件学院赵哲 数据抽象和面向对象组织 郑州大学软件学院赵哲 数据抽象和面向对象组织 大量运用面向对象的特点此风格的组成构件为对象 郑州大学软件学院赵哲 该风格的优点 面向对象的优点 郑州大学软件学院赵哲 该风格的缺点 对象身份的依赖性继承关系导致树状层次 该层次不利于系统的理解和修改 郑州大学软件学院赵哲 基于事件的隐式调用 解决对象依赖问题构件不直接调用一个过程 而是触发或广播一个或多个事件 系统中的其它构件中的过程在一个或多个事件中注册 当一个事件被触发 系统自动调用在这个事件中注册的所有过程 郑州大学软件学院赵哲 基于事件的隐式调用 这种风格的构件是一些模块 模块既可以是一些过程 又可以是一些事件的集合应用举例 Debugger 郑州大学软件学院赵哲 该风格优点 为软件重用提供了强大的支持 当需要将一个构件假如现存系统时 只需注册事件即可 改进系统带来了方便 若需要更改构件 不会影响到其他构件的接口 郑州大学软件学院赵哲 该风格的缺点 方法调用无序 会产生不同的结果 大数据不广播 郑州大学软件学院赵哲 分层系统 层次系统组织成一个层次结构 每一层为上层服务 并作为下层客户 在一些层次系统中 除了一些精心挑选的输出函数外 内部的层只对相邻的层可见 郑州大学软件学院赵哲 分层系统 层次不能乱划分 是固定的 每一层仅向上层提供服务 仅使用下层的服务 不跨层 优秀的分层系统 操作系统网络七层架构 郑州大学软件学院赵哲 分层系统优点 容易修改 只需更改内容 保持层与层接口不变即可 支持重用 可移植性高信息隐藏 郑州大学软件学院赵哲 分层系统缺点 不容易划分层次跨层调用可能会损坏分层为提高可移植性 层与层之间有虚拟机 郑州大学软件学院赵哲 仓库系统及知识库 主要用在交换或共享大量数据的软件中对大量素材或元素进行管理的软件 通常用该风格比如 数据库系统 信息检索 黑板系统 语音和模式识别系统等 郑州大学软件学院赵哲 黑板系统 郑州大学软件学院赵哲 C2风格 C2是最常用的一种软件体系结构风格可以概括为通过连接件绑定在一起的 按照一组规则运作的并行构件网络 郑州大学软件学院赵哲 C2风格实例 3个构件 comUser 验证用户信息 comUI comVoucher 单据相关 1个连接件comInput 郑州大学软件学院赵哲 C2风格实例 录入数据 comUser3 验证 并告诉comInput结果 comUI1 有用户输入告诉comInput7 显示结果 comVoucher5 录入 并告诉comInput结果 comInput2 告诉comUser 有用户来了 请验证 4 收到结果 合法 告诉Voucher录入6 告诉comUI已录入 郑州大学软件学院赵哲 C2风格特点 构件的连接靠连接件构件相对独立 依赖性少可以将任意复杂度的构件组装在一起连接件可以和任意数目的其他构件或连接件相连 郑州大学软件学院赵哲 下节课内容 客户 服务器风格三层C S风格浏览器 服务器风格P2P风格 郑州大学软件学院赵哲 复习 管道 过滤器风格面向对象风格基于事件的隐式调用分层系统仓库及知识库C2风格 郑州大学软件学院赵哲 本节主要内容 客户 服务器风格三层C S风格浏览器 服务器风格P2P风格 郑州大学软件学院赵哲 客户 服务器风格 产生背景资源不对等 为实现数据共享而提出 主要特点 客户端 服务器端重要组成部分 数据库服务器 客户端程序 网络 郑州大学软件学院赵哲 客户 服务器风格 郑州大学软件学院赵哲 任务分配 服务器 服务器 饭堂 的任务 数据安全 保证食物质量 数据并发性控制 排队打饭 数据完整性 1块钱打1块钱的饭 数据的备份和恢复 做记录 郑州大学软件学院赵哲 任务分配 客户端 客户端的任务 提供用户与数据库的交互界面 一只碗 提交和接受来自数据库的信息 红烧肉 根据数据 执行逻辑任务 吃 消化 郑州大学软件学院赵哲 处理流程 郑州大学软件学院赵哲 C S风格优点 分离客户端 服务器端 增加了系统灵活性 易于对系统进行扩充和缩小客户端与服务端直接相连 没有中间环节 响应速度快操作界面漂亮 形式多样方便实现复杂的业务流程 郑州大学软件学院赵哲 C S风格缺点 要专门为客户安装程序 分布功能弱兼容性差成本高客户端压力大 胖客户端 郑州大学软件学院赵哲 三层C S风格 雇了保姆保姆的职责 跑腿 盛饭 打卡客户 饭来张口 衣来伸手服务器 提供所需饭菜 郑州大学软件学院赵哲 三层C S结构风格 郑州大学软件学院赵哲 优势 相比两层C S结构 三层的优势在于 服务器安全性提高客户端成功减肥易于维护 若逻辑有问题 不需要重新安装客户端 易于开发 每层可用不同的语言 郑州大学软件学院赵哲 处理流程 郑州大学软件学院赵哲 C S三层结构 表示层提供界面检查数据功能层应用 逻辑相关数据层迅速对大量数据进行更新和检索 郑州大学软件学院赵哲 C S三层结构 主要用途用在数据流量大 频繁读写 逻辑性强的软件中例如ERP系统 图书管理系统等 郑州大学软件学院赵哲 浏览器 服务器风格 P66由于C S模式客户端程序安装带来的麻烦 客户端要求再瘦一些 随着浏览器的兴起 C S模式中客户端的要求得到了满足 客户端皮包骨头 郑州大学软件学院赵哲 浏览器 服务器风格 Browser Server即 B S风格是C S三层结构的一种实现方式 具体表现为 浏览器 Web服务器 服务器 郑州大学软件学院赵哲 B S模式结构 郑州大学软件学院赵哲 B S系统优点 安装 维护 修改全在服务器端工作量减少降低成本开放性强 都可以来访问平台无关性 可以任意扩展信息发布和信息交流更加灵活 郑州大学软件学院赵哲 B S系统的缺点 应用服务器负荷过重浪费流量 整个页面提交 不利于大量数据处理 安全性和速度 郑州大学软件学院赵哲 C S和B S比较 郑州大学软件学院赵哲 C S和B S共同的缺点 若访问量大 服务器面临崩溃的危险如何解决 P2P的提出 郑州大学软件学院赵哲 P2P风格 PeerToPeer点对点资源不被集中在一个地方 服务器 而是回归个人人越多 提供资源的人越多 郑州大学软件学院赵哲 P2P风格 问题 是否提供资源的人越多 速度越快 答 否 与网络的带宽也有关系 郑州大学软件学院赵哲 复习题 名词解释 构件4 1模型C2风格 郑州大学软件学院赵哲 下节内容 正交体系结构风格基于层次消息总线的体系结构风格异构结构风格 郑州大学软件学院赵哲 正交体系结构 P70正交软件体系结构由组织层和线索构成组织层由相同级别的构件构成线索是子系统的特例 它由不同层次功能的构件组成 每一条线索完成整个系统中相对独立的一部分功能 如果线索独立 线索间有没有互相调用 则被称为完全正交结构 郑州大学软件学院赵哲 正交体系结构框架 3级5层 郑州大学软件学院赵哲 一条完整的线索 郑州大学软件学院赵哲 正交系统举例 播放器 播放控制部分 模式控制部分 个人设置 搜索功能 主控制窗口菜单层功能对话功能定义物理数据 郑州大学软件学院赵哲 正交软件体系结构 正交 orthogonal 相互独立该体系结构的特点 由不同功能的线索组成有不同抽象级别的层线索之间相互独立 正交 系统有一个公共驱动层和一个公共数据结构 郑州大学软件学院赵哲 正交体系结构的优点 P77结构清晰 易于理解易修改 易增加 可维护性强可移植性强 重用粒度大 郑州大学软件学院赵哲 基于层次消息总线的体系结构 HMB HierarchyMessageBus 层次消息总线由北京大学杨芙清院士提出 郑州大学软件学院赵哲 HMB风格概述 郑州大学软件学院赵哲 HMB风格概述 消息总线是系统的连接件 负责消息的分派 传递 处理结果的返回构件挂在消息总线上 告诉总线自己感兴趣的消息类型由于构件通过总线进行连接 那么并不要求各个构件 在一起 郑州大学软件学院赵哲 HMB风格概述 每个构件内部可以采用不同的风格 如管道过滤器风格 面向对象风格等 整个HMB风格的系统可以是一套完整的系统 也可以是一个构件 郑州大学软件学院赵哲 异构结构风格 P83异构 不同的结构异构体系结构软件体系结构采用的不是单一的体系风格 而是多种软件体系风格的融合 为什么要使用异构结构 郑州大学软件学院赵哲 为什么要使用异构结构 不同的结构都有不同的强项和弱势一些结构在某一个时间段会占据统治地位 但其变动最终是绝对的同一种体系结构下的可重用的部件和连接件在不同时期可能存在不同的标准如果要重用原来系统中遗留下来的代码 那么就要解决与新系统结构的不协调问题 郑州大学软件学院赵哲 常见的异构结构 讨论B S和C S的异构当传统的C S遇到新潮的B S 内外有别查改有别 郑州大学软件学院赵哲 内外有别模型 郑州大学软件学院赵哲 内外有别特点 优点 外部用户不直接访问数据库服务器 企业内部用户的交互性较强 数据查询和修改相应速度快缺点 企业外部用户修改和维护数据时 速度慢 较繁琐 数据交互不强 郑州大学软件学院赵哲 查改有别模型 郑州大学软件学院赵哲 查改有别特点 优点 体现了B S体系结构和C S体系结构的共同优点缺点 因外部用户能直接访问数据库服务器 会引发安全问题 郑州大学软件学院赵哲 汇总风格 经典风格管道 过滤器风格面向对象风格基于事件的隐式调用分层系统仓库系统和知识库C2风格B S C S正交软件体系结构基于层次消息总线异构风格 郑州大学软件学院赵哲 管道过滤器 数据流向一致过滤器都有数据的流入和流出过滤器可以任意交换位置或增减缺点 不利于交互性强的软件 郑州大学软件学院赵哲 面向对象风格 对象独立面向对象的优点缺点 对象名依赖继承引起代码复杂 郑州大学软件学院赵哲 基于事件的隐式调用 事件广播方法与事件注册到一起当事件广播时方法被调用缺点 方法调用无序大数据不广播 郑州大学软件学院赵哲 分层系统 优秀的分层系统OS 网络七层协议层与层之间独立上层向下层索取服务 下层为上层提供服务跨层不通信 郑州大学软件学院赵哲 黑板系统 知识源独立知识源通过改变黑板来解决问题黑板共享数据通常用在大数据程序中 郑州大学软件学院赵哲 C2风格 构件独立构建通过连接件连接 郑州大学软件学院赵哲 主要内容 特定领域的体系结构复习练习题 郑州大学软件学院赵哲 特定领域软件体系结构P92 DSSA DomainSpecificSoftwareArchitecture 特定领域软件体系结构一般的软件过程针对某个特定的软件系统 获取需求 设计架构 DSSA关注于某个特定领域 eg web领域 医疗领域 金融领域等 郑州大学软件学院赵哲 特定领域软件体系结构 具体做法 通过对某个特定领域的分析 提出典型需求 得到领域模型 设计架构 实现其组成模块若特定软件需要 可以对照需求 配置架构 选取合适的构件 完成开发 因此DSSA重点不是应用 而是提供重用 郑州大学软件学院赵哲 DSSA的基本活动 领域分析 领域设计 领域实现 以上三个阶段是反反复复 逐步求精的过程 郑州大学软件学院赵哲 参加DSSA的人员 领域专家领域中有经验的用户 长期从事该领域的软件工程师领域分析人员有知识背景的有经验的系统分析师领域设计人员有经验的软件设计者领域实现人员有经验的程序设计者 郑州大学软件学院赵哲 DSSA的建立过程 领域不同 DSSA的创建和使用过程也各有差异共有5个框架步骤 郑州大学软件学院赵哲 DSSA的建立过程 5步 定义领域范围 画一幅山水画 定义领域特定的元素 定义山和水
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广西防城港市住房和城乡建设局招聘2人笔试备考试题及答案解析
- 2025福建厦门集美区仁德实验小学非在编教师招聘3人备考试题及答案解析
- 2025甘肃省公路交通建设集团G312线傅家窑至苦水公路收费运营人员招聘71人笔试参考题库附答案解析
- 2025广西北海市残疾人康复培训中心招录公益性岗位人员4人笔试备考试题及答案解析
- 2025安徽蚌埠市12345政务服务便民热线岗位招聘20人笔试备考题库及答案解析
- 2025贵州安顺市西秀区招聘公费师范生22人备考题库及答案解析
- 四川省第五人民医院2025年8月招聘(34人)考试备考题库及答案解析
- 2025贵州黔东南州榕江县人民武装部招聘厨师1人备考试题及答案解析
- 2025安徽铜陵市铜官区小学非编教师招聘2人笔试备考题库及答案解析
- 2025福建南平市数字产业发展有限公司正式员工招聘6人备考试题及答案解析
- 去极端化自我剖析
- 生殖伦理培训课件
- 船舶压载水取样与检测技术
- 【种植活动中培养幼儿自主探究的实践研究4100字(论文)】
- 飞蚊症护理的课件
- 金融工程.郑振龙(全套课件560P)
- 读书分享交流会《全球通史》课件
- 古典诗歌的生命情怀
- 2017版小学科学课程标准思维导图
- 诚信展业与法律法规月演示
- 第十一章-异常分娩-1产力异常
评论
0/150
提交评论