SE08第8讲进行体系结构设计

上传人:平*** 文档编号:10597100 上传时间:2017-08-13 格式:PPT 页数:154 大小:2.93MB
返回 下载 相关 举报
SE08第8讲进行体系结构设计_第1页
第1页 / 共154页
SE08第8讲进行体系结构设计_第2页
第2页 / 共154页
SE08第8讲进行体系结构设计_第3页
第3页 / 共154页
SE08第8讲进行体系结构设计_第4页
第4页 / 共154页
SE08第8讲进行体系结构设计_第5页
第5页 / 共154页
点击查看更多>>
资源描述

《SE08第8讲进行体系结构设计》由会员分享,可在线阅读,更多相关《SE08第8讲进行体系结构设计(154页珍藏版)》请在金锄头文库上搜索。

1、Copyright Fujian Normal University,1,进行体系结构设计,需要回答以下几个问题为什么要进行体系结构设计?体系结构是什么?它有哪些研究领域?如何进行体系结构设计?,进行体系结构设计,教材只给出了部分回答需要对教材内容作适度补充推荐阅读软件体系结构(世界著名计算机教材精选),刘振东等译,清华大学出版社,2007.03设计模式可复用面向对象软件的基础,李英军等译,机械工业出版社,2005.06 企业应用架构模式,王怀民等译,机械工业出版社,2004.07Microsoft .NET企业级应用架构设计,陈黎夫译,人民邮电出版社,2010.06Expert One-on

2、-One J2EE Development without EJB中文版,JavaEye,电子工业出版社,2005.09,Copyright Fujian Normal University,3,进行体系结构设计,体系结构综述体系结构风格特定领域体系结构体系结构框架体系结构设计映射数据流到软件体系结构小结,Copyright Fujian Normal University,4,1 体系结构综述,体系结构背景体系结构定义体系结构研究领域,Copyright Fujian Normal University,5,1.1 体系结构背景,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明

3、显得越来越重要。,最早指出体系结构重要性的是大师Edsger Dijkstra(1930-2002)“.the larger the project, the more essential the structuring!”(1968),Copyright Fujian Normal University,6,1.1 体系结构背景,对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明要比算法和数据结构的选择重要得多。体系结构是早期设计决策的体现 体系结构明确了对系统实现的约束条件体系结构制约着系统的质量属性通过研究体系结构可以预测软件的质量体系结构可以提高软件生产率.,Copyrigh

4、t Fujian Normal University,7,1.1 体系结构背景,体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法。近年来,体系结构研究独立于软件工程的研究,成为计算机科学的一个新的研究方向和独立学科分支。对体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题,提供新的、最有希望的途径。,Copyright Fujian Normal University,8,1.2 体系结构定义,目前学术界和工业界对于体系结构的定义尚未形成统一意见,以下介绍几种具有代表性的定义。 Booch&Rumbaugh&Jacobson定义 B

5、ass定义Garlan&Shaw定义Soni&Nord&HofmeisterIEEE的定义 .,10多种,Copyright Fujian Normal University,9,1.2 体系结构定义,Booch&Rumbaugh&Jacobson定义体系结构=组织,元素,子系统,风格体系结构是一系列重要决策的集合,这些决策与以下内容相关:软件元素:构成系统的结构元素及其接口。软件的组织:软件元素的选择,以及它们在协作中明确表现出的行为。子系统:软件元素在结构和行为上组合成更大规模的软件元素。体系结构风格:用于引导软件元素的组合。,Copyright Fujian Normal Univers

6、ity,10,1.2 体系结构定义,Bass定义(教材采用的定义)Bass等人在Software Architecture in Practice一书中提到,程序或计算系统的体系结构是系统的一个或多个结构,其包括 软件构件 构件的外部可视属性 构件之间的关系,Copyright Fujian Normal University,11,1.2 体系结构定义,Garlan&Shaw定义体系结构=构件,连接件,约束构件:一组代码,如程序的模块、独立的程序或数据库服务器等。连接件:过程调用、管道、远程过程调用等,用于表示构件之间的相互作用。 约束:指明构件连接的势态和条件。例如,上层构件可要求下层构件

7、的服务,反之则不允许。,Copyright Fujian Normal University,12,1.2 体系结构定义,Soni&Nord&Hofmeister定义西门子研究院的Soni等人认为体系结构有4个不同的具体形态,每种形态都从不同的角度来描述系统。 概念体系结构:用于描述设计元素和及其相互关系。模块互连体系结构:包含功能分解和分层两个正交的结构。执行体系结构:用于描述系统的动态结构。代码体系结构:用于描述源程序、二进制代码和函数库的组织方式。,Copyright Fujian Normal University,13,1.2体系结构定义,IEEE的定义 体系结构=构件,连接件,环境

8、,原理 体系结构是以构件、构件之间的关系、构件与环境之间的关系为内容的某一系统的基本组织结构以及指导上述内容设计与演化的原理。,Copyright Fujian Normal University,14,1.2 体系结构定义,我们的认识体系结构在较高抽象层次上描述了构成软件系统的元素、元素之间的交互关系、指导元素组合的模式以及相关约束要求,对于软件系统的理解、分析、验证和演化等方面有着十分重要的意义。,Copyright Fujian Normal University,15,1 体系结构综述,体系结构背景体系结构定义体系结构研究领域,Copyright Fujian Normal Unive

9、rsity,16,1.3 体系结构研究领域,体系结构已经取得了长足的发展,受到大多数软件系统设计和研究人员的重视。但它仍处在不断发展之中,下面简介一些关注较多、影响较大的研究领域。 体系结构建模 体系结构描述语言体系结构设计 体系结构分析与验证基于体系结构的软件开发过程 特定领域的体系结构框架,Copyright Fujian Normal University,17,体系结构建模,体系结构建模是研究如何表示体系结构的问题。根据建模的侧重点的不同,可以将体系结构的模型分为5种:结构模型:用构件、连接件和其他概念刻画体系结构 。动态模型:用于描述系统的“大粒度”的行为性质。例如描述系统的重新配置

10、或演化 。框架模型:与结构模型类似,但它主要以一些特殊的问题为目标建立只针对和适应该问题的结构。过程模型:研究构造体系结构的步骤和过程。 功能模型 :研究系统功能构件的层次划分,可以将其视为是一种特殊的框架模型 。,Copyright Fujian Normal University,18,体系结构描述语言,体系结构描述语言(ADL)的主要目的是提供一种规范化的体系结构描述。ADL为体系结构的分析和验证提供形式化基础。 目前已有近20种ADL,比较有影响力的有C2、UniCon、MetaH、Aesop、SADL、Rapide、Wright等。,Copyright Fujian Normal U

11、niversity,19,体系结构设计,体系结构设计是系统设计的一部分,它凌驾于算法和数据结构设计之上,其包括设计整体组织和全局控制结构,如构件的功能分配、通信协议、物理空间分布等等 体系结构设计方法体系结构风格体系结构设计空间 体系结构设计的支撑工具,Copyright Fujian Normal University,20,体系结构分析与验证,体系结构分析与验证研究如何将软件的非功能性转化为体系结构需求、如何分析和验证体系结构满足期望的需求属性,以及如何建立评价体系结构的方法。基于场景的体系结构分析方法SAAM体系结构权衡分析方法ATAM 体系结构形式化的验证方法特定领域软件体系结构分析方

12、法.,Copyright Fujian Normal University,21,基于体系结构的软件开发过程,基于体系结构的软件开发过程研究引入体系结构后的软件开发过程、基于体系结构的开发与中间技术集成、基于体系结构的程序框架自动生成技术等。 体系结构的开发是大型软件系统开发的重要环节。 对软件产品线有重要意义 :基于同一个体系结构,可以创建具有不同功能的多个系统 。,Copyright Fujian Normal University,22,特定领域的体系结构框架,特定领域的体系结构框架研究为一些特定领域的软件产品提供可重用框架。 Eclipse的插件体系结构Struts框架、Spring框

13、架和Hibernate框架ASP.Net MVC框架北邮周莹新博士提出的电信软件的体系结构北航金茂忠教授提出的测试环境的体系结构,Copyright Fujian Normal University,23,进行体系结构设计,体系结构综述体系结构风格特定领域体系结构体系结构框架映射数据流到软件体系结构小结,Copyright Fujian Normal University,24,2 体系结构风格,体系结构风格定义了一个系统家族,其包括一个词汇表和一组约束。一个词汇表包含一些构件和连接件类型,一组约束指出系统是如何将这些构件和连接件组合起来的。,Copyright Fujian Normal U

14、niversity,25,2 体系结构风格,有些学者对体系结构模式和体系结构风格不加区分。体系结构模式(architectural pattern)表达了软件系统的基本结构组织形式或者结构方案,包含了一组预定义的子系统规定了这些子系统的责任提供了用于组织和管理这些子系统的规则和向导。,Copyright Fujian Normal University,26,2 体系结构风格,体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。 对体系结构风格的研究和实践为大粒度的软件复用提供了可能。,Copyright Fujian Normal

15、University,27,2 体系结构风格,典型的体系结构风格数据流风格管道/过滤器风格调用返回风格仓库风格,Copyright Fujian Normal University,28,2.1 数据流风格,数据流风格的特点当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。管道/过滤器、批处理序列属于数据流风格。,Copyright Fujian Normal University,29,2.2 管道/过滤器风格,管道/过滤器风格拥有一组过滤器构件,这些构件通过管道连接管道将数据从一个构件传送到下一个构件。每个过滤器独立于其上游和下游的构件而工作,过滤器的设计要针

16、对某种形式的数据输入,并且产生某种特定形式的数据输出。 如果数据流退化成为单线的变换,则称为批处理序列。这种结构接收一批数据,然后应用一系列连续的构件(过滤器)变换它。,Copyright Fujian Normal University,30,2.3 调用返回风格,调用返回风格 :在此类体系结构中,存在以下3种子风格。主程序/子程序风格,Copyright Fujian Normal University,31,2.3 调用返回风格,调用返回风格之面向对象风格系统的构件封装了数据和必须应用到该数据上的操作,构件间通过消息传递进行通信与合作。与主程序/子程序的体系结构相比,面向对象风格中的对象交互会复杂一些。面向对象风格与网络应用的需求在分布性、自治性、协作性、演化性等方面具有内在的一致性。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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