第5章 软件体系结构与设计模式 软件工程课件.ppt

第5章 软件体系结构与设计模式 软件工程课件.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 软件体系结构与设计模式 软件工程课件

第5章 软件体系结构与设计模式 本章对应教材中第 9 章 软件体系结构的基本概念 典型的软件体系结构风格 特定领域的软件体系结构 分布式系统结构 体系结构框架 设计模式 9.1 软件体系结构的基本概念 目前没有公认的关于软件体系结构的定义,大多从不同角度对软件体系结构进行描述。 Bass、Clements 和 Kazman 给出了如下定义: 一个程序或计算机系统的软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件、构件的外部可见属性以及它们之间的相互关系。外部可见属性则是指软件构件提供的服务、性能、使用特性、错误处理、共享资源使用等。 这一定义强调在任一体系结构表述中“软件构件”的角色。 9.1 软件体系结构的基本概念 Dewayne Perry和 A1exander Wo1f 这样定义: 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。 这一定义注重区分处理构件、数据构件和连接构件。 9.1 软件体系结构的基本概念 虽然软件体系结构的定义在变化,但其意图是清晰的。 体系结构设计是一系列决策和基本原理的集合。这些决策的目标在于开发高效的软件体系结构。 在体系结构设计中所强调的基本原理是系统的可理解性、可维护性和可扩展性。 9.1 软件体系结构的基本概念 模式 在软件系统中,可以将模式划分为以下3类: (1)体系结构模式(architectural pattern): 表达了软件系统的基本结构组织形式或者结构方案,包含了一组预定义的子系统,规定了这些子系统的责任,同时还提供了用于组织和管理这些子系统的规则和向导。 典型的体系结构模式如 OSI (Open System Interconnect)参考模型。 (2)设计模式(design pattern) 为软件系统的子系统、构件或者构件之间的关系提供一个精炼之后的解决方案。 描述了在特定环境下,用于解决通用软件设计问题的构件以及这些构件相互通信时的各种结构。 有代表性的设计模式是 Erich Gamma 及其同事提出的 23 种设计模式。 (3)惯用法(idiom) 是与编程语言相关的低级模式。 描述如何实现构件的某些功能,或者利用编程语言的特性来实现构件内部要素之间的通信功能。 风格 风格是带有一种倾向性的模式。 同一个问题可以有不同的解决问题的方案或模式,但我们根据经验,通常会强烈倾向于采用特定的模式,就是风格。 风格 每种风格描述一种系统范畴,该范畴包括: (1)一组构件(如数据库、计算模块)完成系统需要的某种功能; (2)一组连接件,它们能使构件间实现“通信”、“合作”和 “协调”; (3)约束,定义构件如何集成为一个系统; (4)语义模型,它能使设计者通过分析系统的构成成分的性质来理解系统的整体性质。 风格 体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。 词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。 反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。 对体系结构风格的研究和实践为大粒度的软件复用提供了可能。 框架 随着应用的发展和完善,某些带有整体性的应用模式被逐渐固定下来,形成特定的框架。 包括基本构成元素和关系。 框架是特定应用领域问题的体系结构模式。 框架定义了基本构成单元和关系后,开发者就可以集中精力解决业务逻辑问题。 框架 在组织形式上,框架是一个待实例化的完整系统。 定义了软件系统的元素和关系,创建了基本的模块。 定义了涉及功能更改和扩充的插件位置。 典型的框架例子如 MFC 框架和 Struts 框架。 9.1 软件体系结构的基本概念 体系结构的重要作用体现在以下三个方面 : (1)体系结构的表示有助于风险承担者(利益相关者)进行交流。 (2)体系结构突出了早期设计决策。 (3)软件体系结构是可传递和可复用的模型。 管道/过滤器结构 拥有一组被称为过滤器(filter)的构件,这些构件通过管道(pipe)连接。 管道将数据从一个构件传送到下一个构件。 每个过滤器独立于其上游和下游的构件而工作,过滤器的设计要针对某种形式的数据输入,并且产生某种特定形式的数据输出。 如果数据流退化成为单线的变换,则称为批处理序列(batch sequential)。 这种结构接收一批数据,然后应用一系列连续的构件(过滤器)变换它。 管道/过滤器风格的优点 使构件具有良好的隐蔽性和高内聚、低耦合的特点。 允许设计者将整个系统的输入/输出行为看成是多个过滤器行为的简单合成。 支持软件复用,只要提供适合在两

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档