资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
第11页 / 共43页
第12页 / 共43页
第13页 / 共43页
第14页 / 共43页
第15页 / 共43页
第16页 / 共43页
第17页 / 共43页
第18页 / 共43页
第19页 / 共43页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第二章 软件体系结构基本概念,1.1,概述,1.2,词汇定义,1.3,连接件,1.4,约束,(,配置,),1.5,风格、模式、框架,1.6,非功能属性,2024/11/17,1,第二章 软件体系结构基本概念 1.1 概述2023/10/,1.1,概述,体系结构,(Architecture)=,构件,(Components)+,连接件,(Connectors)+,约束,(Constraints),2024/11/17,2,1.1 概述体系结构(Architecture)=构件,软件体系结构,:=,软件体系模型,|,软件体系风格,体系结构模型,:=,(构件,连接件,约束),构件,:=,端口,1,,端口,2,,,,端口,n,连接件,:=,角色,1,,角色,2,,,,角色,n,约束,:=,(,端口,i,,角色,j),,,体系结构风格,:=,管道过滤器,客户服务器,,,解释器,2024/11/17,3,软件体系结构:=软件体系模型|软件体系风格2023,1.2,词汇定义,1.2.1,中间件:,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。,IDC,提供,中间件是一类软件,而非一种软件;,中间件不仅仅实现互连,还要实现应用之间的互操作;,中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。,2024/11/17,4,1.2 词汇定义 1.2.1 中间件:IDC提供中间件是,1.2.2,模式,(pattern),模式就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式。,Alexander,给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。,模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。,2024/11/17,5,1.2.2 模式(pattern)模式就是解决某一类问题的方,1.2.3,框架,(framework),框架是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。,2024/11/17,6,1.2.3 框架(framework)框架是某种应用的半成品,1.2.4,组件,简而言之,组件就是对象。,C+Builder,中叫组件,,Delphi,中叫部件,而在,Visual BASIC,中叫控件。,组件是对数据和方法的简单封装。,C+Builder,中,一个组件就是一个从,TComponent,派生出来的特定对象。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。,组件是,C+Builder,环境中最令人激动的部分。使用组件可以实现拖放式编程、快速的属性处理以及真正的面向对象的设计。,VCL,和,CLX,组件是,C+Builder,系统的核心。,PS,组件开发者应该掌握的三项主要内容是:属性、事件和方法。,2024/11/17,7,1.2.4 组件简而言之,组件就是对象。C+Builde,1.2.5,构件概念,构件是构件(,component,)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(,framwork,)、软件构架(或体系结构,Architectural,)、文档、分析件、设计模式(,Pattern,)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。,特点:,语义完整、语法正确、有可重用价值;,隐藏具体实现,只通过接口提供服务,构件的使用与它的开发、生产无关。,PS:,开发构件在结构上要考虑语义描述、通信接口和实现代码等三方面的复合体,2024/11/17,8,1.2.5 构件概念PS:开发构件在结构上要考虑语义描述、,构件与组件的区别:,抽象视觉不同,组件是对客观世界基本实体的抽象,强调和实体的对应及对实体的建模。关注实体的静态属性特征,构件是对客观世界的实体或实体联合提供的功能和服务的建模。关注实体的功能和服务,可复用程度和复用机制,复用是构件的生命线 构件做为“零部件”,构件通过组合实现复用;继承是组件生命线,组件通过继承来实现复用;,粒度不同,构件要包含完整的功能,组件是协作来完成这个构件的功能;构件的粒度大于组建的粒度,框架 模式 中间件 构件 组件 模块,2024/11/17,9,构件与组件的区别:框架 模式 中间件 构件 组件,1.2.2,构件管理,构件管理是构件重用的基础,包括构件描述、构件分类、构件库组织,(,存储、检索、提取,),、人员及权限管理;,管理需要描述构件的信息:实现方式、实现体、注释、生产者、生产日期、大小、价格、版本、关联构件,等等。,2024/11/17,10,1.2.2 构件管理构件管理是构件重用的基础,包括构件描述、,1,、使用构件需要的描述信息可分为:,计算功能:,构件所实现的整体功能;,额外功能特性:,构件的执行效率、处理能力、环境假设和整体特性;,结构特性:,描述特定构件如何与其他构件组织在一起,构成整个系统的信息;,家族特性:,描述相同或相关门类的构件之间的关系;,2024/11/17,11,1、使用构件需要的描述信息可分为:2023/10/1011,ADL,构件描述示例,用,Rapide,体系结构语言描述的客户服务器结构:,Type,App,Is,Interface,Public action,Results(Msg:String)/*,提供的功能*,/,Extern action,Receive(Msg:String)/*,需要的功能*,/,Behavior,(,MMsgs(App)Receive(M)Results(M),End,App,2024/11/17,12,ADL构件描述示例2023/10/1012,2,、商业化构件的分类:,用户界面类、数据库类;,商务应用类;,工具类、网络通信类:如,TCP/IP,协议、图像压缩、加密算法;,核心技术类:语音识别、字符识别。,2024/11/17,13,2、商业化构件的分类:2023/10/1013,3,、构件外部形态上的分类:,独立成熟的构件,:经过多次实践检验,隐藏所有接口,只需按命令调用,如数据库管理系统和操作系统等;,有限制的构件:,提供接口,但用一定的前提条件,装配过程中可能产生资源冲突、覆盖等影响,使用时需要测试,如面向对象的基础类库等;,适应性构件:,通过包装或接口技术,处理了不兼容性和资源冲突等因素,可直接使用如,ActiveX,等;,2024/11/17,14,3、构件外部形态上的分类:2023/10/1014,3,、构件外部形态上的分类,(,续,),:,装配的构件:,可装配在操作系统、数据库管理系统的不同层次上,使用胶水代码,(glue code),连接使用;,可修改的构件:,通过版本替换修改错误,增加功能。可利用重新“包装”或写接口实现构件的替换。,2024/11/17,15,3、构件外部形态上的分类(续):2023/10/1015,4,、构件组织:,构件组织的要求,:,支持构件库的增加、删除、修改等维护操作;,支持精确和模糊查找;,支持按功能或行为进行比较和查找;,对应用领域具有较强的描述能力和描述精度;,库管理员和用户容易使用。,2024/11/17,16,4、构件组织:2023/10/1016,应用软件构件分类,应用软件构件是应用软件的构成元素,具有一定的功能和结构,并符合一定的标准,具有一个或多个特定的功能,隐藏了具体的实现,并通过接口对外提供服务。应用软件构件按复用范围的不同分为两大类,在多领域范围内进行复用的称之为通用应用软件构件,(,简称通用构件,),,在单个领域内复用的称之为领域应用软件构件,(,简称领域构件,),。,2024/11/17,17,应用软件构件分类 应用软件构件是应用软件的构成元,领域构件是在某个具体领域范围内适用的构件,按其在体系架构中所处的位置分为门户类、应用类、应用支撑类以及业务实体管理类构件等。领域构件的描述要基于在领域范围内形成的标准规范、数据模型等知识,以更好的实现领域范围内的重用。,通用构件是指在各应用领域都适用的构件,包括打印类、安全类、日志类、日期类、数据转换类、权限类、统计分析类等等。通用构件的描述可以参考国际上的标准的构件描述模型如,WSDL,,,BIDM,等。,2024/11/17,18,领域构件是在某个具体领域范围内适用的构件,按其在体系架构中所,2024/11/17,19,2023/10/1019,2024/11/17,20,2023/10/1020,1.2.3,构件重用,1,、面向领域工程的构件重用,领域,是一组具有相似或相近软件需求的应用系统所覆盖的功能区域;,领域工程,是一组相似或相近系统的应用工程建立基本能力和必备基础的过程;,可重用信息具有领域特定性,依赖于特定问题及其解决方法;,领域具有,内聚性,(cohesion),和,稳定性,(stability),,,内聚性,使得可通过一组有限的、相对较少的可重用信息来解决大量问题;,稳定性,使得获取的信息可以在较长的时间内多次使用。,2024/11/17,21,1.2.3 构件重用1、面向领域工程的构件重用2023/10,2,、基于构件的软件开发,(Component-Based Software Development:CBSD),通常包括构件获取、构件分类和检索、构件评估、适应性修改以及将现有构件在新的语境下组装成新的系统;,构件获取的主要途径:,从现有构件中获得符合要求的构件,直接使用或作适应性修改;,通过遗产工程,(legacy engineering),,将具有潜在重用价值的构件提取出来;,2024/11/17,22,2、基于构件的软件开发(Component-Based So,2,、基于构件的软件开发,(,续,),从市场上购买现成的商业构件,COTS(Commercial Off-The-Shell),;,开发新的符合要求的构件;,一个企业或组织在进行以上决策时,须考虑到不同方式获取构件的,一次性成本,和以后的,维护成本,,做出最优的选择。,2024/11/17,23,2、基于构件的软件开发(续)2023/10/1023,2024/11/17,24,2023/10/1024,3,、检索与提取构件,基于关键字的检索:,给出关键字,系统挑选合适构件;简单易行,但用户可能无法用关键字描述想要得到的构件;,刻面检索法:,构造查询、检索构件、对构件排序;易于实现相似构件查找,构造查询困难;,超文本检索法:,给出关键字,系统搜索匹配,给出构件说明;用户界面友好,但易迷失方向,难于正确选择。,2024/11/17,25,3、检索与提取构件2023/10/1025,4,、理解与评价构件,面向重用的构件开发:,遵循公共软件工程规范,在文档中给出构件功能、行为、领域知识、约束条件、修改方法等方面的详细说明;,CASE,工具,:扫描分析,提取相关信息入库;,逆向工程:,通过对构件的分析,结合领域知识,半自动地生成相应的设计信息;,评价:,给收集分析构件用户在实际重用该构件历史过程中的各种反馈信息来完成:成功重用次数、修改量、性能度量。,2024/11/17,26,4、理解与评价构件2023/10/1026,5,、修改构件,构件开发应使构件的功能、行为和接口设计更为抽象化、通用化和参数化;,通过对实参的选取来调整构件的功能和行为;,借助设计信息和文档来理解、修改构件;,改写实现方法,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6