软件体系结构与设计模式

软件体系结构与设计模式

ID:42301652

大小:2.70 MB

页数:103页

时间:2019-09-12

软件体系结构与设计模式_第1页
软件体系结构与设计模式_第2页
软件体系结构与设计模式_第3页
软件体系结构与设计模式_第4页
软件体系结构与设计模式_第5页
资源描述:

《软件体系结构与设计模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章软件体系结构与设计模式第6章软件体系结构与设计模式软件体系结构的基本概念典型的软件体系结构风格特定领域的软件体系结构分布式系统结构体系结构框架设计模式6.1软件体系结构的基本概念目前没有公认的关于软件体系结构的定义,大多从不同角度对软件体系结构进行描述。Bass、Clements和Kazman给出了如下定义:一个程序或计算机系统的软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件、构件的外部可见属性以及它们之间的相互关系。外部可见属性则是指软件构件提供的服务、性能、使用特性、错误处理、共享资源使用等。这

2、一定义强调在任一体系结构表述中“软件构件”的角色。6.1软件体系结构的基本概念DewaynePerry和A1exanderWo1f这样定义:软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。这一定义注重区分处理构件、数据构件和连接构件。6.1软件体系结构的基本概念虽然软件体系结构的定义在变化,但其意图是清晰的。体系结构设计是一系列决策和基本原理的集合。这些决策的目标在于开发高效的软件体系结

3、构。在体系结构设计中所强调的基本原理是系统的可理解性、可维护性和可扩展性。1.模式软件设计模式是从软件设计过程中总结出来的,是针对特定问题的解决方案。建筑师C.Alexander对模式给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题及该问题解决方案的核心。6.1软件体系结构的基本概念体系结构模式、风格和框架的概念模式在软件系统中,可以将模式划分为以下3类:(1)体系结构模式(architecturalpattern):表达了软件系统的基本结构组织形式或者结构方案,包含了一组预定义的子系统,规定了这些子

4、系统的责任,同时还提供了用于组织和管理这些子系统的规则和向导。典型的体系结构模式如OSI(OpenSystemInterconnect)参考模型。(2)设计模式(designpattern)为软件系统的子系统、构件或者构件之间的关系提供一个精炼之后的解决方案。描述了在特定环境下,用于解决通用软件设计问题的构件以及这些构件相互通信时的各种结构。有代表性的设计模式是ErichGamma及其同事提出的23种设计模式。(3)惯用法(idiom)是与编程语言相关的低级模式。描述如何实现构件的某些功能,或者利用编程语言的特性来实现

5、构件内部要素之间的通信功能。风格风格是带有一种倾向性的模式。同一个问题可以有不同的解决问题的方案或模式,但我们根据经验,通常会强烈倾向于采用特定的模式,就是风格。风格每种风格描述一种系统范畴,该范畴包括:(1)一组构件(如数据库、计算模块)完成系统需要的某种功能;(2)一组连接件,它们能使构件间实现“通信”、“合作”和“协调”;(3)约束,定义构件如何集成为一个系统;(4)语义模型,它能使设计者通过分析系统的构成成分的性质来理解系统的整体性质。风格体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。

6、词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对体系结构风格的研究和实践为大粒度的软件复用提供了可能。框架随着应用的发展和完善,某些带有整体性的应用模式被逐渐固定下来,形成特定的框架。包括基本构成元素和关系。框架是特定应用领域问题的体系结构模式。框架定义了基本构成单元和关系后,开发者就可以集中精力解决业务逻辑问题。框架在组织形式上,框架是一个待实例化的完整系统。定义了软件系统的元

7、素和关系,创建了基本的模块。定义了涉及功能更改和扩充的插件位置。典型的框架例子如MFC框架和Struts框架。6.1软件体系结构的基本概念体系结构的重要作用体现在以下三个方面:(1)体系结构的表示有助于风险承担者(利益相关者)进行交流。(2)体系结构突出了早期设计决策。(3)软件体系结构是可传递和可复用的模型。体系结构的重要作用6.2典型的体系结构风格数据流风格当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。管道/过滤器、批处理序列都属于数据流风格。管道/过滤器结构如下图所示。管道/过滤

8、器结构管道/过滤器结构拥有一组被称为过滤器(filter)的构件,这些构件通过管道(pipe)连接。管道将数据从一个构件传送到下一个构件。每个过滤器独立于其上游和下游的构件而工作,过滤器的设计要针对某种形式的数据输入,并且产生某种特定形式的数据输出。如果数据流退化成为单线的变换,则称为批处理序列(batchsequential)。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。