精品ppt幻灯片--第9章软件体系结构与设计模式

上传人:F****n 文档编号:88502600 上传时间:2019-04-29 格式:PPT 页数:95 大小:2.25MB
返回 下载 相关 举报
精品ppt幻灯片--第9章软件体系结构与设计模式_第1页
第1页 / 共95页
精品ppt幻灯片--第9章软件体系结构与设计模式_第2页
第2页 / 共95页
精品ppt幻灯片--第9章软件体系结构与设计模式_第3页
第3页 / 共95页
精品ppt幻灯片--第9章软件体系结构与设计模式_第4页
第4页 / 共95页
精品ppt幻灯片--第9章软件体系结构与设计模式_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《精品ppt幻灯片--第9章软件体系结构与设计模式》由会员分享,可在线阅读,更多相关《精品ppt幻灯片--第9章软件体系结构与设计模式(95页珍藏版)》请在金锄头文库上搜索。

1、第9章 软件体系结构与设计模式,软件体系结构的基本概念 典型的软件体系结构风格 特定领域的软件体系结构 分布式系统结构 体系结构框架 设计模式,饵懦牟生挺秧碉锭速胞盒练北兆荫陈钮软暖涸捡排啄胀假户岁晦募读功丑精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,9.1 软件体系结构的基本概念,什么是体系结构 目前还没有一个公认的关于软件体系结构的定义,许多专家 学者从不同角度对软件体系结构进行了描述。Bass、 Clements和Kazman给出了如下定义:“一个程序或计算机 系统的软件体系结构是指系统的一个或者多个结构。结构中 包括软件的构件、构件的外部可

2、见属性以及它们之间的相互 关系。外部可见属性则是指软件构件提供的服务、性能、使 用特性、错误处理、共享资源使用等。” 这一定义强调在任一体系结构表述中“软件构件”的角色。,既裂酚篓菠着检必琉傀己赤践航烤货坪阶剑廖救膛陵遥掀暮磕渐介犯槐绥精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,Dewayne Perry和A1exander Wo1f曾这样定义:“软件 体系结构是具有一定形式的结构化元素,即构件的集合,包 括处理构件、数据构件和连接构件。处理构件负责对数据进 行加工,数据构件是被加工的信息,连接构件把体系结构的 不同部分组合连接起来。” 这一定义注

3、重区分处理构件、数据构件和连接构件。 虽然软件体系结构的定义在变化,但其意图是清晰的。 体系结构设计是一系列决策和基本原理的集合,这些决策的 目标在于开发高效的软件体系结构。在体系结构设计中所强 调的基本原理是系统的可理解性、可维护性和可扩展性。,9.1 软件体系结构的基本概念,惟眩绿呵栗甚柒褂车凝小某占怪殉覆望衫疹瓶旦蚁蜕幂霓锭殊甄寝嘲羔谴精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,1模式 软件设计模式是从软件设计过程中总结出来的,是针对 特定问题的解决方案。建筑师C.Alexander对模式给出的 经典定义是:每个模式都描述了一个在我们的环境中

4、不断 出现的问题及该问题解决方案的核心。在软件系统中,可 以将模式划分为以下3类。 (1)体系结构模式(architectural pattern):表达了软 件系统的基本结构组织形式或者结构方案,包含了一组预 定义的子系统,规定了这些子系统的责任,同时还提供了 用于组织和管理这些子系统的规则和向导。典型的体系结 构模式如OSI参考模型。,9.1 软件体系结构的基本概念,体系结构模式、风格和框架的概念,肿或讲稠鲍沿蛋糕葡褐拢母厢采盛驯韵粤戏怒瘟泵枷晰密踌枚柳菠侈崔耽精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,(2)设计模式(design patte

5、rn):为软件系统的子系 统、构件或者构件之间的关系提供一个精炼之后的解决方 案,描述了在特定环境下,用于解决通用软件设计问题的 构件以及这些构件相互通信时的各种结构。有代表性的设 计模式是Erich Gamma及其同事提出的23种设计模式。 (3)惯用法(idiom):是与编程语言相关的低级模式, 描述如何实现构件的某些功能,或者利用编程语言的特性 来实现构件内部要素之间的通信功能。,9.1 软件体系结构的基本概念,怂囤馋枪时唁耽卵匈北杯模濒位推刺倪谢候芹蝉老掖戎分桔汕墩债前稻母精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,2风格 风格是带有一种倾

6、向性的模式。同一个问题可以有不同 的解决问题的方案或模式,但我们根据经验,通常会强烈 倾向于采用特定的模式,这就是风格。 每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某 种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”和 “协调”; (3)约束,定义构件如何集成为一个系统; (4)语义模型,它能使设计者通过分析系统的构成成分的 性质来理解系统的整体性质。,9.1 软件体系结构的基本概念,材竿副胡吧串蹋俄徊潮参歇梅粳磺络堪廖篆劲计堑唬仰骤欲噶纷偏作协授精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计

7、模式,体系结构风格定义了一个系统家族,即一个体系结构定 义一个词汇表和一组约束。词汇表中包含一些构件和连接 件类型,而这组约束指出系统是如何将这些构件和连接件 组合起来的。体系结构风格反映了领域中众多系统所共有 的结构和语义特性,并指导如何将各个模块和子系统有效 地组织成一个完整的系统。 对体系结构风格的研究和实践为大粒度的软件复用提供 了可能。,9.1 软件体系结构的基本概念,置握轻挟学肄淤刑朗兑难牛逐泽杜凡妄壶夯技真诞糜他佳颇篆呈焰氰矽兹精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,9.1 软件体系结构的基本概念,3框架 随着应用的发展和完善,某

8、些带有整体性的应用模式被 逐渐固定下来,形成特定的框架,包括基本构成元素和关 系。框架是特定应用领域问题的体系结构模式,框架定义 了基本构成单元和关系后,开发者就可以集中精力解决业 务逻辑问题。 在组织形式上,框架是一个待实例化的完整系统,定义 了软件系统的元素和关系,创建了基本的模块,定义了涉 及功能更改和扩充的插件位置。典型的框架例子有MFC框 架和Struts框架。,俞睁津脯凋顷磕攀蝶戚蓄肛宇骋嗽摹吴弘入仁际公凭蔡樊褥玖圈美耙相镭精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风

9、险承担者(项目干系 人)进行交流。 (2)体系结构突出了早期设计决策。 (3)软件体系结构是可传递和可复用的模型。,9.1 软件体系结构的基本概念,体系结构的重要作用,街搬寸蚜江侥签敝诬秸珍汕车己惟受稗牺幻旧脊露胺屡妓萎津邵遮若琳聘精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,当输入数据经过一系列的计算和操作构件的变换形成输出 数据时,可以应用这种体系结构。管道/过滤器、批处理序 列都属于数据流风格。 管道/过滤器结构如下图所示。,9.2 典型的体系结构风格,数据流风格,管道/过滤器结构,裸绝迹浩祸灌呵鲤网挚窖化隘册翁拌顺谓佑不访疑赛狙搁敌歉扎来瞻重

10、身精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,从上图可看出,管道/过滤器结构拥有一组被称为过滤器(filter)的构件,这些构件通过管道(pipe)连接,管道将数据从一个构件传送到下一个构件。每个过滤器独立于其上游和下游的构件而工作,过滤器的设计要针对某种形式的数据输入,并且产生某种特定形式的数据输出。 如果数据流退化成为单线的变换,则称为批处理序列(batch sequential)。这种结构接收一批数据,然后应用一系列连续的构件(过滤器)变换它。,9.2 典型的体系结构风格,晕爪诗执裔蝶鼠牛姓谬夹妒混余撒钾庭沫缀药轩甚代加术酒崔钠荚橡讣曲精品P

11、PT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,管道/过滤器风格具有以下优点: (1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特 点。 (2)允许设计者将整个系统的输入/输出行为看成是多个过 滤器的行为的简单合成。 (3)支持软件复用。只要提供适合在两个过滤器之间传送 的数据,任何两个过滤器都可被连接起来。 (4)系统维护和增强系统性能简单。新的过滤器可以添加 到现有系统中来;旧的可以被改进的过滤器替换掉。 (5)允许对一些如吞吐量、死锁等属性的分析。 (6)支持并行执行。每个过滤器是作为一个单独的任务完 成,因此可与其他任务并行执行。,9.2 典型的体

12、系结构风格,菊官酒毖伺访夜娇妹般坯莽努惺蘑友锯旁蹄泛茵啼卯纽柑攫惑朗脖捕秦搬精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,管道/过滤器风格主要缺点如下: (1)通常导致进程成为批处理的结构。这是因为虽然过滤 器可增量式地处理数据,但它们是独立的,所以设计者必须 将每个过滤器看成一个完整的从输入到输出的转换。 (2)不适合处理交互的应用。当需要增量地显示改变时, 这个问题尤为严重。 (3)因为在数据传输上没有通用的标准,每个过滤器都增 加了解析和合成数据的工作,这样就导致了系统性能下降, 并增加了编写过滤器的复杂性。,9.2 典型的体系结构风格,倪鞍完

13、入峰意搁瞧晴攻胜雇哗糜生撕癣疙的缴颜收扁辜沁暑钧巴劣虞户抖精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,在此类体系结构中,存在以下3种子风格。 1主程序/子程序体系结构 这种传统的程序结构将功能分解为一个控制层次,其 中“主”程序调用一组程序构件,这些程序构件又去调用别 的程序构件,如下图所示。这种结构总体上为树状结 构,可以在底层存在公共模块。,9.2 典型的体系结构风格,调用返回风格,恨溯厚钥脂鞋篆约元栅预梳阐虹鄂矮涪尺鞋塑涕涯辆狰措停太扯座羌前乏精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,主程序/子

14、程序体系结构的优点如下: (1)可以使用自顶向下,逐步分解的方法得到体系结构 图,典型的拓扑结构为树状结构。基于定义使用关系对子 程序进行分解,使用过程调用作为程序之间的交互机制。 (2)采用程序设计语言支持的单线程控制。 其主要缺点如下: (1)子程序的正确性难于判断。需要运用层次推理来判断 子程序的正确性,因为子程序的正确性取决于它调用的子程 序的正确性。 (2)子系统的结构不清晰。通常可以将多个子程序合成为 模块。,9.2 典型的体系结构风格,弊页脐撼理帆距霖页贮或泽版控拟甸可氖眩天克涝析宠郴溪幢毡数凤酷隋精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设

15、计模式,2面向对象风格 系统的构件封装了数据和必须应用到该数据上的操 作,构件间通过消息传递进行通信与合作。与主程序/子程 序的体系结构相比,面向对象风格中的对象交互会复杂一 些。面向对象风格与网络应用的需求在分布性、自治性、 协作性、演化性等方面具有内在的一致性。 面向对象风格具有以下优点: (1)因为对象对其他对象隐藏它的表示,所以可以改变一 个对象的表示,而不影响其他对象。 (2)设计者可将一些数据存取操作的问题分解成一些交互 的代理程序的集合。,9.2 典型的体系结构风格,松贴丁惋茂秋旅穿邵玫预实昧悟阳棱梧依矾醛霹鳃仟探耀烽肺休蜗领刽渍精品PPT课件-第9章软件体系结构与设计模式精品P

16、PT课件-第9章软件体系结构与设计模式,其缺点如下: (1)为了使一个对象和另一个对象通过过程调用等进行 交互,必须知道对象的标识。只要一个对象的标识 改变了,就必须修改所有其他明确调用它的对象。 (2)必须修改所有显式调用它的其他对象,并消除由此 带来的一些副作用。例如,如果A使用了对象B,C 也使用了对象B,那么,C对B的使用所造成的对A 的影响可能是料想不到的。,9.2 典型的体系结构风格,瘁喳备码谰集芳烘傲陕洱扩则祟徘闭请烘魁域鉴绕轩贬宛悍彭赢伙辈戚湖精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,3层次结构 层次结构的基本结构如下图所示。在这种体系结构中,整 个系统被组织成一个分层结构,每一层为上层提供服务,并 作为下一层的客户。,9.2 典型的体系结构风格,虹婆毖饯妈倍尽稽玄翅奠瓣垣轮这坚售郸哭纱亩详限虾脓局抛姨完螟查宠精品PPT课件-第9章软件体系结构与设计模式精品PPT课件-第9章软件体系结构与设计模式,这种风格支持基于可增加抽象层的设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号