软件体系结构风格研究分析

合集下载

实验一经典软件体系结构风格(一)

实验一经典软件体系结构风格(一)

实验一经典软件体系结构风格(一)实验一经典软件体系结构风格(一)经典软件体系结构风格(一)是指基于客户-服务器模式的软件架构风格。

该架构风格基于分布式的计算机环境,将软件系统划分为两个主要的组件:客户端和服务器端。

客户端负责用户界面和用户交互,服务器端负责处理业务逻辑和数据存储。

在经典软件体系结构风格中,客户端和服务器端可以运行在不同的计算机上,并通过网络进行通信。

客户端一般运行在用户的工作站,提供用户友好的界面和交互方式。

服务器端通常运行在高性能的计算机上,承担大部分的计算和数据处理任务。

该架构风格的主要优点如下:1.分工明确:客户端负责用户界面和用户交互,服务器端负责业务逻辑和数据处理。

通过明确的分工,可以提高系统的可维护性和可扩展性。

2.高可用性:由于客户端和服务器端可以运行在不同的计算机上,可以通过多个服务器实现系统的高可用性。

当一些服务器发生故障时,系统可以自动切换到其他可用的服务器。

3.灵活性:由于客户端和服务器端是独立的组件,可以根据需要灵活地调整部署和扩容。

例如,可以增加或减少服务器的数量,以适应负载的变化。

4.性能优化:通过将业务逻辑和数据处理任务放在服务器端,可以充分利用服务器的计算和存储能力,提高系统的性能和响应速度。

5.安全性:由于客户端和服务器端通过网络进行通信,可以使用加密技术来保护数据的传输和存储安全。

此外,服务器端可以采用防火墙等安全措施来保护系统免受恶意攻击。

然而,经典软件体系结构风格(一)也存在一些缺点:1.带宽限制:由于客户端和服务器端之间通过网络进行通信,网络带宽可能成为瓶颈,限制系统的吞吐量和响应速度。

2.可靠性:由于系统依赖于网络通信,如果网络发生故障或者其他问题,系统的可靠性可能会受到影响。

3.负载均衡:在分布式环境下,服务器端可能会出现负载不均衡的问题,导致一些服务器的负载过重,而其他服务器的负载相对较轻。

综上所述,经典软件体系结构风格(一)适用于需要分布式计算和数据处理的场景,能够提高系统的可维护性、可扩展性和性能。

1 软件体系结构风格---KWIC实验

1 软件体系结构风格---KWIC实验

实验:软件体系结构风格---KWIC实验一、实验目的通过KWIC 实例分析,理解和掌握软件体系结构风格设计与实现。

二、实验内容KWIC描述:KWIC索引系统接受一些行,每行有若干字,每个字由若干字符组成;每行都可以循环移位。

重复地把第一个字删除,然后接到行末; KWIC 把所有行的各种移位情况按照字母表顺序输出。

实验要求:1.采用主/子程序体系结构风格实现KWIC 关键词索引系统2.采用面向对象体系架构风格实现KWIC 关键词索引系统3.采用管道过滤体系架构风格实现KWIC 关键词索引系统三、实验要求与实验环境熟练掌握基于主/子程序体系结构风格的 KWIC 关键词索引系统,在此基础上,完成基于面向对象体系架构风格的 KWIC 关键词索引系统设计与实现;选做基于管道过滤体系架构风格的 KWIC 关键词索引系统。

实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等内容;实验课中独立操作完成实验报告的实验操作、实验结果及结论等内容;所需软件Eclipse、JDK8.0 等。

具体要求:在工程Exp3_KWIC_OO_Part中:1)CircularShiftImpl类中,补全setup方法,实现循环移位功能;2)AlphabetizerImpl类中,补全alph方法,实现字母序排序功能;3)OO_Kwic类中,补全调用代码。

选做:管道过滤器实现KWIC。

在工程Exp3_KWIC_PF_Part项目中:1)在CircularShift、Alphabetizer、Output三个类中,分别实现transform 方法,分别实现循环移位、排序、输出(写入文件)功能。

四、实验操作1、采用主/子程序体系结构风格实现KWIC 关键词索引系统主程序/子程序风格(Main Program/Subroutine Style)将系统组织成层次结构,包括一个主程序和一系列子程序。

主程序是系统的控制器,负责调度各子程序的执行。

分析比较KWIC系统实现四种不同体系结构风格

分析比较KWIC系统实现四种不同体系结构风格

分析比较KWIC系统实现四种不一样体系构造风格姓名:班级:学号:院系:一、试验目旳 (3)二、试验内容 (3)三、试验规定与试验环境 (3)四、试验操作 (3)1数据流风格:批处理序列;管道/过滤器 (3)2采用调用/返回风格:主程序/子程序、面向对象风格、层次构造 (5)3仓库风格:数据库系统、超文本系统、黑板系统 (7)4独立构件风格:进程通讯、事件系统 (8)五试验总结 (10)一、试验目旳通过KWIC 实例分析,理解和掌握软件体系构造风格设计与实现。

二、试验内容多种软件风格设计与实现KWIC 实例:1.采用主/子程序体系构造风格实现KWIC 关键词索引系统2.采用面向对象体系架构风格实现KWIC 关键词索引系统3.采用管道过滤体系架构风格实现KWIC 关键词索引系统4.采用事件过程调用体系架构风格实现KWIC 关键词索引系统三、试验规定与试验环境纯熟掌握基于主/子程序体系构造风格旳KWIC 关键词索引系统,在此基础上,完毕基于面向对象体系架构风格旳KWIC 关键词索引系统设计与实现。

选做基于管道过滤体系架构风格旳KWIC 关键词索引系统;选做基于事件过程调用体系架构风格旳KWIC 关键词索引系统。

四、试验操作1数据流风格:批处理序列;管道/过滤器管道-过滤器风格将系统旳功能逻辑建立为部件集合。

每个部件实例完毕一种对数据流旳独立功能处理,它接受数据流输入,进行转换和增量后进行数据流输出。

连接件是管道机制,它将前一种过滤器旳数据流输出传递给后一种过滤器作为数据流输入。

连接件也也许会进行数据流旳功能处理,进行转换或增量,但连接件进行功能处理旳目旳是为了适配前一种过滤器旳输出和后一种过滤器旳输入,而不是为了直接承载软件系统旳需求。

各个过滤器可以并发执行。

每个过滤器都可以在数据输入不完备旳状况下就开始进行处理,每次接到一部分数据流输入就处理和产生一部分输出。

这样,整个旳过滤器网络就形成了一条流水线。

软件体系结构风格简析

软件体系结构风格简析
1 据流 风 格 .数 数据 流 是 一 种 将 数 据 从 输入 端 显 式 的输 送 到输 出端 的体 系 结构风格。 数据 流风 格 的构 件 是 数 据 的处 理 单 元 . 接 件 是连 接 连 处 理 单 元 的 通 道 1 . 据流 的特 征 1数
序 的 。 件 之 间 不 共 享 任 何状 态信 息 。 构 即一 个 构 件 不知 道 上 一 个 构 件对 数 据 进 行 了什 么 处 理 。 数 据 流 风 格包 括批 处 理 、 道过 滤 器 、 管 任务 处 理 三 种 体 系 结 构。 批 处 理 中的 每 个 构 件都 是一 个 独 立 的 程序 。 只有 当前 构 件 处 理 完后 . 一 个 构 件 才 会启 动 。 据 以 整 体 的形 式 在构 件 间 传 下 数 输 。批处 理 的 例 子包 括 批 处 理 操 作 系 统 。 管 道 过 滤 器 包 括 管 道 和 过 滤 器两 种 构 件 过 滤 器用 于 增 量 式 的处 理 数 据 , 们 之 间 不共 享 , 据 在 过 滤 器 中以 流到 流 的形 它 数 式 传 输 。 道 用 于 连 接过 滤器 . 是单 方 向 的。 数据 到 来 时 , 管 它 当 管 道 过 滤 器 开 始 工 作 , 到 数 据 传 输完 毕 。U I 环 境 中 的有 名 管 直 NX 道 、 名 管 道 就 是 管 道 过 滤 器 风 格 的典 型例 子 。 无 任 务处 理 体 系 结 构 用 于 控 制 系 统 中 . 它包 括 前 反 馈 系 统 、 后 反 馈 系统 等 等 。 1 . 据流 优 点 2数 1 )构 件之 间不 共 享 状 态 , 低 了构 件 的 复杂 性 ; 降 2 )支 持构 件复 用 : 3 )支 持 并 发执 行 ;

软件体系结构的研究及应用现状与未来发展方向(最新整理)

软件体系结构的研究及应用现状与未来发展方向(最新整理)

软件体系结构的研究及应用现状与未来发展方向XXX(湖北经济学院法商学院信息管理系,武汉430205)摘要:随着软件技术的发展,软件规模的扩大、软件开发周期的缩短、软件行业分工的细致、市场竞争的激烈,软件开发商必需要快速分析并实现软件产品。

当今,软件的淘汰速度是非常快的,软件设计问题也已经超越了数据结构和算法问题的范围,好的软件就应该拥有较好的扩展性、伸缩性、适应性、稳定性和重用性。

为了满足用户日新月异、千变万化的需求,好的软件就必需为变化而设计。

不断变化的需求、复杂的业务流程、领域知识的缺乏、许多不可避免的因素都会导致软件变化的发生,所以要确认软件中变化和不变的因素,进行分层处理。

软件架构技术的出现,极大地满足了多个应用领域的要求,使得各种技术形成的软件架构可以最大程度地进行重用。

同时引出了大规模软件开发所面临的一系列问题,如何建造面向对象的软件架构,并有效地组织和管理;如何分析、提取可复用的架构;如何设计适合架构的环境等。

软件架构设计方法能够使软件拥有很好的重用性,扩展性和简洁性。

软件架构虽脱胎于软件工程,但其形成的同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件架构研究已完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。

研究软件架构根本目的就是解决好软件的重用、质量和维护问题。

关键字:软件架构设计; 软件开发; 研究软件架构; 软件工程The Research And Development Of Characteristics of Software ArchitectureXXX(Dept of Information Management ,College of Law and Business of Hubei University ofeconomics,wuhan430205)Abstract: With the development of The Technology Of Software, The expand of software size, the development cycle of software become shorten, the industry of software divide the work more and more meticulous, the market competition fiercer than before. The developer must develop their product at a high-speed. Nowadays the weed out of software become more faster, the problem of the project of software become more and more difficult. They must have good expansibility, flexibility, adaptability, stability and reuse. In order to satisfied the requirement given by the customer, the good one must be design for the changeable society. At the same time, their requirement change more difficult, more and more factor can led to the changeof software, so we should make sure the modification and invariant. Of course, the research of The Project of Software Architecture become a topic in great demand.Key words: The Project of Software Architecture; Software Development; The Research of Software Architecture; Software Engineering20世纪60年代,随着计算机在工业、商业、科研和国防等领域的广泛应用,计算机程序的规模愈来愈大,其复杂性也急剧增加,软件开发和维护过程遇到了一系列难以解决的严重问题,如软件价格高、难以控制开发进度、工作量估计困难、软件质量低、错误多、且修改和维护十分困难等等;针对这种所谓的“软件危机”现象,1968年在德国Garmish召开的NATO(北大西洋公约组织) 计算机科学会议上,F. Bauer首先提出“软件工程”概念,其目标是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术和方法结合起来,从而解决或缓解软件危机。

软件体系结构的五种主要风格类型分析

软件体系结构的五种主要风格类型分析

2 1 0 0ቤተ መጻሕፍቲ ባይዱ2 3 )
返 同风 格 、 独 立 组件 风格 、 独立组件风格 、 虚拟机风格 、 仓 库 风
格 软 件 体 系结 构 。 关 键 词 :软 件 体 系结 构

定义
风 格 类 型
什 么是 软件 体 系结 构 在 所 有 对 于 软 件 体 系 结 构 的 定 义 中 ,我 认 为最 有代 表 性 的就 是 Ha y e s R o t h 所提 出的: “ 认 为 软 件 体 系 结 构 是 一 个 抽 象 的 系 统 规 范 .主 要 包 括 用 其 行 为 来 描 述 的功 能 构 件 和 构 件 之 间的相互连接 、 接 口和 关 系 。” 这样 的定 义 , 我 认 为 从 根 本 上 描 述 了 软 件 体 系 结 构 所 要 做 的 事 情 ,是 一 个 很 概 括 的 规 范 化 公 式。与此同时 , 在定义各式各样 的“ 构件” 的 时候 , 人 们 似 乎 一 直在默认D e w a y n e P e r r y 和Al e x Wo l f 的定 义 , 也 就是 : “ 软 件 体 系结构是具有一定形式的结构化元素 , 即构 件 的 集 合 , 包 括 处
■墨
软 件 体 系 结 构 的 五 种 主 要 风 格 类 型 分 析
吴 潇璇
( 南京师范大学 信息化建设管理处 , 江苏 南京
摘 要 : 本 文 简述 了 软 件 体 系 结 构 的 定 义 , 探 讨 了M a r y
s h a w和 Da v i a dG a r l a n 所提 出的 五 种 风 格 , 即数 据 流 风 格 、 调 用/

理 构件 、数 据 构 件 和 连 接 构 件 。处 理 构 件 负 责对 数 据 进 行 加 工. 数 据 构件 是 被 加 工 的信 息 , 连 接 构 件 把 体 系结 构 的不 同部 分 组组 合 连 接 起 来 。” 这一定义将处 理构件 、 数据 构件 和连 接 构 件 区分 了开 来 .明 确 了这 三 者 在 软 件 体 系结 构 中 的组 件 性 质. 将 这 三者 视 为 软 件 体 系 结 构 的 标 准 组 成 及探 讨 对 象 。 在此基础上 . 反复提到的则是M a y r S h a w 和D a v i d G a r l a n 所 提出的: “ 软 件 体 系 结 构 是 软 件 设 计 过 程 中 的一 个 层 次 ,这 一 层 次超 越 计 算 过 程 中 的算 法 设 计 和 数 据 结 构 设 计 。体 系结 构 问题 包 括 总 体 组 织 和 全 局 控 制 、 通讯协议 、 同步 、 数据存取 , 给 设 计元素分配特定功能 , 设计元 素的组织 , 规模 和 性 能 , 在 各 设 计 方 案 间 进 行 选 择 等 。 软 件 体 系 结 构 处 理 算 法 与数 据 结 构 之 上关 于 整 体 系 统 结 构 设 计 和 描 述 方 面 的一 些 问题 。如 全 局 组 织和全局控制结构 、 关于通讯 、 同 步 与 数 据 存 取 的协 议 , 设 计 构件功能定义 。 物理分布与合 成 , 设 计方 案的选择 、 评 估 与 实 现等 。” 这 样 的定 义 , 我 认 为 进 一 步 地 提 出 了软 件 体 系结 构 能感 到 压 抑 , 根本没有兴趣可言 , 严 重 违 背 了 素质 教 育 与新 课 程 教学 改 革 的 初 衷 。 体育教 师一定要改进传 统的教学 方式 , 转 变 以 往 的 教 学 观念 , 将学生 放在学习的主体地 位上 , 创设精 彩的 、 多 变 的教 学情境 , 充 分 提 高 学 生 的 学 习兴 趣 。 增 强学生 的主动意识 , 使 其 主动参与 、 主动获取 、 主动 提 高 。例 如 , 体 育 教 师 可 以运 用 讲 故事 、 竞赛 、 猜谜等方式来 创设教学 情境 , 激 发 学 生 学 习 体 育 项 目的 好 奇 心 。创 设 教 学 情 境 的关 键 在 于 连 贯 性 较 强 , 并 不 是单纯 的一个环 节 。 而 是 随 着 课 程 的延 伸 而 延 伸 , 甚 至 贯 穿 于整 节 体 育 课 的始 末 。教 学 情 境 一 定 要 具 有 创 新 性 . 比如 : 可以通过 实物演示模 拟情境 . 通 过 画 图再 现 情 境 , 让 学 生 进 行 表演体会情 境 。 用音乐 对情 境进 行渲染 等 , 促 进 学 生 主 动 参 与体育运 动 . 达到 “ 活 学” 与“ 乐学 ” 的境界 . 并 在 快 乐 中 获 取 实际意义 , 体 味 体 育 精 神 的魅 力 。学 生 在 边 学 边 练 中 不 断 模仿 、 不断进 步 、 不断提高 , 不 仅 能 够 有 效 提 高 体 育 课 堂 教 学 效率。 促进师 生和睦相处 。 还能够 让学 生 真正感 受到运 动 的 乐趣 。长跑 , 相 信 是令 大 多 数 学 生 都 感 到 头 疼 的运 动 项 目之 不 仅在于 它的运动强 度较 大 。 更 因 为 它 的 运 动 原 理 较 为 枯燥 。在传统教学模式 中. 大部 分教师都 是采用反复 练习 的 方法 , 其 运 用 内 容 千篇 一 律 。为 了彻 底 改 变这 一 现 状 , 我 们 可 以针 对 长跑 运 动 的 项 目特 点 采 用 追 逐 、 折返 、 变 速等跑法 , 创 设 相 应 的 教 学情 境 , 提 高 学 生 的 积 极 性 与 主 动 性 。体 育 教 师 要 注意 在学 生 完 成 一 定 的学 习 任 务 之 后 , 要 给予学生 充分 的 时 间展示才能 、 总结经验 , 为 更 好 地 适 应 下 一 项 运 动 项 目打 好基础 。

软件体系结构的风格和设计模式等

软件体系结构的风格和设计模式等

1.软件体系结构的性质、研究意义和目标是什么?性质:计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性。

强调整体与部分,部分与部分的关系;研究系统构成的方法学;提倡多角度研究系统。

为什么研究软件体系结构?软件系统要满足一定的需求(功能和质量)。

随着软件系统的日益复杂,公众对软件的要求已不局限于功能上的满足,而是更加注重质量。

软件的质量受到软件体系结构的限制,或者说体系结构的选择受到要达到的质量特征的影响。

软件体系结构是软件系统的高层结构,高度抽象,超越算法和数据结构,试图在软件需求与软件设计之间架起一座桥梁,解决结构和需求向实现平坦过渡。

现在软件产生的问题:◎软件成本日益增长◎开发进度难以控制在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。

◎软件质量差缺乏工程化思想的指导,程序员以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的“一厢情愿”而已。

◎软件维护困难特别是在软件使用过程中,原来的开发人员可能因各种原因已经离开原来的开发组织,使得软件几乎不可维护2. 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。

体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。

管道-过滤器风格:缺乏交互性,常用于通信领域和编译器事件驱动风格:易于完成并发多任务,具有良好的交互性,但对计算机系统的控制能力弱,很难共享数据。

分层风格:系统分成许多层,每层为上层服务,同时获取下层的服务。

典型应用是网络协议。

仓库风格:数据单元被共享。

常用于专家系统,如自然语言理解和模式识别。

3.3 客户/服务器风格C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。

C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。

软件体系结构风格研究

软件体系结构风格研究

起 的 按 照一 组 规 则运 作 的 并 行构 件 网 络 。 图 1 构件 与 连 接件 样 .一个 事件 的触 发 就 导致 了另 一 模块 中的 过程 的调 用 基 于 事 中
之间的连接体现了 c 2风格 中构建系统的规则。
件的隐式调用风格 的主要特点是事件的触发者并不知道哪些构件 会被这些事件影响。这样不能假定构件的处理顺序 .甚至不知道
图 1 C2 格 的体 系结构 风
织 规 则和 结 构 图 中 ,我 们 可 以得 出 .C 风 格 具 有 以 下特 点 : 2
c 风 格 是最 常用 的 一种 软 件体 系结 构 风 格 。从 c 风 格 的组 另一些情况下,基于事件的系统必须依靠一个共享的仓库进 行交 2 2
() 1 系统 中的构件可实现应用需求. 并能将任意复杂度的功能 程 的语义必须依赖于被触发事件 的上下文约束 ,关于正确性的推 封装在一起 ;2 所有构件之间的通讯是通过以连接件为中介的异 理 存在 问题 。 () 步消息交换机 制来实现 的 () 3 构件相对独立 . 构件之间依赖性较 件共享特定控制线程之类的相关性假设。 4 管道 /过滤器风格 。在 管道 /过滤器风格 的软 件体系结 经 过内部处理 ,然后产生输 出数据 流。这个过程通 常通 过对输
三层c s软件 /
2世 纪 6 年 代 中期 的 软件 危机 使 得 人 们开 始 重视 软 件 工 程 的 0 O 研 究 。起 初 ,人们 把 软 件设 计 的 重 点放 在 数 据 结构 和 算 法 的选 择
上 。随着软件 系统规模越来越大 越来越复杂 ,整个系统的结构
显 得 越 来 越重 要 。
的 示意 图 。

济 南铁 道职业技 术学 院
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件体系结构风格研究分析
软件体系结构风格研究,分析了各种风格的特点、优缺点,最后重点介绍了三层C/S软件体系结构。

20世纪60年代中期的软件危机使得人们开始重视软件工程的研究。

起初,人们把软件设计的重点放在数据结构和算法的选择上。

随着软件系统规模越来越大、越来越复杂,整个系统的结构显得越来越重要。

软件体系结构风格分析
最初的软件体系结构是Mainframe结构——客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。

随着PC的广泛应用,该结构逐渐被淘汰。

在20世纪80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户机和服务器之间分担。

随着大型软件系统的开发,这种结构在系统的部署和扩展性方面暴漏出不足。

随着Inter的发展,一个更灵活的体系结构“三层/多层计算”体系结构应运而生。

Garlan和Shaw将通用软件体系结构风格总结为以下几类:
1.数据流风格:批处理序列;管道/过滤器。

2.调用/返回风格:主程序/子程序;面向对象风格;层次结构。

3.独立构件风格:进程通讯;事件系统。

4.虚拟机风格:解释器;基于规则的系统。

5.仓库风格:数据库系统;超文本系统;黑板系统。

C2风格是最常用的一种软件体系结构风格。

从C2风格的组织规则和结构图中,我们可以得出,C2风格具有以下特点:
(1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消
息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。

系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。

2.数据抽象和面向对象风格。

目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。

这种风格的构件是对象,或者说是抽象数据类型的实例。

对象是一种被称作管理者的构件,因为它负责保持资源的完整性。

对象是通过函数和过程的调用来交互的。

图2是数据抽象和面向对象风格的示意图。

面向对象的系统有许多的优点:
(1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象。

(2)设计者可将一些数据存取操作的
问题分解成一些交互的代理程序的集合。

面向对象的系统也存在着某些问题:①为了使一个对象和另一个对象通过过程调用等进行交互,必须知道对象的标识。

只要一个对象的标识改变了,就必须修改所有其他明确调用它的对象。

②必须修改所有显式调用它的其他对象,并消除由此带来的一些副作用。

3.基于事件的隐式调用风格。

基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。

系统中的其他构件中的过程在一个或多个事件中,当一个事件被触发,系统自动调用在这个事件中的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。

基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。

这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用。

隐式调用系统的主要优点有:(1)为软件重用提供了强大的支持。

当需要将一个构件加入现存系统中时,只需将它到系统的事件中。

(2)为改进系统带来了方便。

当用一个构件代替另一个构件时,不会影响到其他构件的接口。

隐式调用系统的主要缺点有:①构件放弃了对系统计算的控制。

一个构件触发一个事件时,不能确定其他构件是否会响应它。

而且即使它知道事件了哪些构件的构成,它也不能保证这些过程被调用的顺序。

②数据交换的问题。

有时数据可被一个事件传递,但另一些情况下,基于事件的系统必须依靠一个共享的仓库进行交互。

在这些情况下,
全局性能和资源管理便成了问题。

③既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。

4.管道/过滤器风格。

在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。

这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。

因此,这里的构件被称为过滤器,软件体系结构风格研究这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。

管道/过滤器风格的软件体系结构的优点:
(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;(2)支持软件重用。

重要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;(3)系统维护和性能增强简单;(4)支持并
行执行。

每个过滤器是作为一个单独的任务完成,因此可与其他任务并行执行。

管道/过滤器风格的主要缺点:①通常导致进程成为批处理的结构。

这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。

②不适合处理交互的应用。

当需要增量地显示改变时,这个问题尤为严重。

③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

5.批处理风格。

批处理风格的每一步处理都是独立的,并且每一步是顺序执行的,只有当前一步处理完后,后一步处理才能开始,数据传送在步与步之间作为一个整体。

批处理的典型应用是经典数据处理和程序开发。

内容仅供参考。

相关文档
最新文档