软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念

上传人:E**** 文档编号:89326219 上传时间:2019-05-23 格式:PPT 页数:39 大小:174KB
返回 下载 相关 举报
软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念_第1页
第1页 / 共39页
软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念_第2页
第2页 / 共39页
软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念_第3页
第3页 / 共39页
软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念_第4页
第4页 / 共39页
软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念》由会员分享,可在线阅读,更多相关《软件构件与体系结构——原理、方法与技术 教学课件 ppt 作者 王映辉 4 软件体系结构概念(39页珍藏版)》请在金锄头文库上搜索。

1、软件体系结构,王映辉 博士(后),教授,博导,Mail:wyh_,2,2019年5月23日1时41分,软件体系结构,Part 1:软件体系结构概念,P1-1、软件体系结构的定义 P1-2、若干研究内容 P1-3、需要研究的问题,Part 1:软件体系结构概念,Mail:wyh_,4,2019年5月23日1时41分,P1-1、软件体系结构的定义,1)背景 2)关于软件体系结构的定义,Mail:wyh_,5,2019年5月23日1时41分,P1-1、软件体系结构的定义 1)背景 60年代以前,即以Algol 60为代表的高级语言出现以 前,软件开发基本上都是汇编程序设计。 -冯诺依曼结构,随着高级

2、语言的应用,特别是70年代中后期,由于结构化开发方法的出现与广泛应用,软件开发中出现了概要设计与详细设计,软件结构已经作为一个明确的概念出现在系统的开发中。 -基于功能模块的软件结构,Mail:wyh_,6,2019年5月23日1时41分,80年代中期-90年代初,面向对象语言和面向对象开发方法开始出现并得到快速发展。从多个侧面,支持软件结构的设计。 特别是,90年代以后,提出了基于构件的软件开发。此时以软件过程为中心,强调软件开发采用构件化技术和体系结构技术,要求开发出的软件具备很强的自适应性、互操作性、可扩展性和可重用性。 -基于构件的软件体系结构,在这一阶段: 软件体系结构已经作为一个明

3、确的文档和中间产品存在于软件开发过程中; 软件体系结构作为一门学科逐渐得到人们的重视,并成为软件工程领域的研究热点。,Mail:wyh_,7,2019年5月23日1时41分,新一代计算语言的出现,均蕴涵着软件体系结构的研究!,体系结构技术的研究,使软件复用从代码复用发展到设计复用和过程复用。,计算机语言的变迁与复用的提升,Mail:wyh_,8,2019年5月23日1时41分,纵观SA技术发展过程,大体上经历了四个阶段:,无体系结构设计阶段:研究主题集中于计算模型与高级语言的开发。其中遵循了冯诺依曼体系结构,程序结构设计阶段:开展了有关结构化程序设计的研究,模块结构阶段:出现了多种模块结构。并

4、以控制流图、数据流图等工具,支持算法结构与程序结构的设计;,构件结构阶段:面向问题,以描述系统的高层抽象结构为中心,不关心具体的实现细节,并从多个侧面,支持多种模式的软件体系结构设计。,Mail:wyh_,9,2019年5月23日1时41分,结论: (1)观点: D.E.Perry将软件体系结构视为软件开发中第一类重要的设计对象。 Barry Boehm明确指出:“在没有设计出体系结构及其规则时,那么整个项目不能继续下去;而且体系结构应该看作软件开发中可交付的中间产品”。,(2)作用: 为软件开发中不同人员提供了共同交流的语言; 体现并尝试了系统早期的设计决策; 系统设计的抽象:基于体系结构的

5、软件开发,为实现框架和构件的共享与复用提供了有力的支持。,Mail:wyh_,10,2019年5月23日1时41分,2)关于软件体系结构的定义,1 Garlan & Shaw:软件体系结构(SA)是一个三元组: SA=components, connectors, constrains,其中: 构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器) 连接件(connector)是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等 限制(constrain):用于对构件和连接件的语义说明,Mail:wyh_,11,2019年

6、5月23日1时41分,2 CFRP:软件体系结构(SA)是一个四元组: SA=elements, interfaces, connections, connection-semantics,其中: 元素(elements):构成软件系统的实体,包括一组处理元素和一组数据元素 接口(interface):每个元素有一个接口 连接(connection):元素之间关系的模型,用于生成系统的拓扑结构 连接语义(connection-semantics):用于连接的语义描述。包括静态连接语义(如实例连接)和动态连接语义(如消息连接,过程调用),信息转换协议(如管道)等。,Mail:wyh_,12,20

7、19年5月23日1时41分,3 Perry & Wolf:软件体系结构(SA)是一个三元组: SA= elements, form, rational ,其中: 元素(elements):构成结构的实体。分成三类:处理元素(processing elements),数据元素(data elements),连接元素(connecting elements)。 形式(form):一组专有的特性(properties)和关系(relationship)。其中特性用于限制软件体系结构元素的选择,关系用于限制元素组合的拓扑结构。 准则(rational):元素组合的“生成”规则。,Mail:wyh_,1

8、3,2019年5月23日1时41分,4 Vestal:软件体系结构(SA)是一个三元组: SA=components, idioms/styles, common patterns of interaction,其中: 构件(components):构成软件系统的实体。 固定术语/风格(idioms/style):一些特定的元素、按照特定的方式组成一个特定结构,该结构应有利于上下文环境下的特定系列问题的解决。 通用互操作模式(common patterns of interaction):关系的模型化。用于生成系统的拓扑结构。,Mail:wyh_,14,2019年5月23日1时41分,5 IE

9、EE 610.12-1990软件工程标准词汇中的定义: SA=component,connector,environment,principle;,即软件体系结构是一个四元组,是以: 构件,构件之间的关系,构件与环境之间的关系为内容的某一系统的基本组织结构,以及指导上述内容设计与演化的原理。,Mail:wyh_,15,2019年5月23日1时41分,6 Boehm:软件体系结构是一个五元组: SA=components,connections,constraints, stakeholdersneeds, rationale,软件体系结构的五要素为: 构件; 连接件; 约束; 涉众(风险承担者

10、)需求; 能够展示由构件、连接件和约束所定义的系统在实现时如何满足系统不同人员需求的原理 。,Mail:wyh_,16,2019年5月23日1时41分,、定义1和定义2 都强调了体系结构是由构件、连接件及其约束(或连接语义)组成的。即从构造的角度,审视软件体系结构。,根据上述各种体系结构的定义,可以发现:,1 Garlan & Shaw:软件体系结构(SA)是一个三元组: SA=components, connectors, constrains,2 CFRP:软件体系结构(SA)是一个四元组: SA=elements, interfaces, connections, connection-

11、semantics,Mail:wyh_,17,2019年5月23日1时41分,、定义3和定义4 出于可用性的考虑,通过强调体系结构风格和规则等,精化了定义1和定义2。,根据上述各种体系结构的定义,可以发现:,3 Perry & Wolf:软件体系结构(SA)是一个三元组: SA= elements, form, rational,4 Vestal:软件体系结构(SA)是一个三元组: SA=components, idioms/styles, common patterns of interaction,Mail:wyh_,18,2019年5月23日1时41分,、定义5 和6不仅强调了体系结构的

12、基本构成,还强调了体系结构的环境。不同的环境(需求、设计决策),将影响设计与演化的原理。即以质量角度,审视软件体系结构。,根据上述各种体系结构的定义,可以发现:,5 IEEE 610.12-1990软件工程标准词汇中的定义: SA=component,connector,environment,principle;,6 Boehm:软件体系结构是一个五元组: SA=components,connections,constraints, stakeholdersneeds, rationale,Mail:wyh_,19,2019年5月23日1时41分,结论:软件体系结构的要素,主要涉及: * 构

13、成成分(构件、连接件); * 拓扑结构(构件和连接件构成); * 限制; * 设计原则与指导方针。,根据上述各种体系结构的定义,可以发现:,Mail:wyh_,20,2019年5月23日1时41分,P1-2、若干研究内容 目前,软件体系结构研究主要集中在如下几个领域展开:,1)软件体系结构描述语言ADL 2)体系结构构造 3)软件体系结构分析、设计、验证 4)软件体系结构发现、演化与复用 5)基于体系结构的软件开发方法研究 6)特定领域的体系结构DSSA 7)软件体系结构支持工具,Mail:wyh_,21,2019年5月23日1时41分,P1-2、若干研究内容 1) 软件体系结构描述语言ADL

14、, Darwin和Wright分别将演算和CSP作为其数学基础,适用于分布、并发类型的体系结构描述 C2是一种基于构件和消息的ADL,适用于大型频繁交互的层次型图形用户界面的软件的体系结构描述 ACME是一种体系结构互换语言,支持从一种ADL向另一种ADL规格说明转换。 其它比较有影响的ADL,如Aesop, Unicon, Rapide, SADL, MetaH,Weaves等。,Mail:wyh_,22,2019年5月23日1时41分,2) 体系结构构造,体系结构描述语言,体系结构概念,体系结构表示,这一过程称为体系结构构造。,Mail:wyh_,23,2019年5月23日1时41分,N.

15、Medvovonic 则总结了用UML描述体系结构的三种途径: 不改变UML用法而直接对体系结构建模; 利用UML支持的三种扩充机制(Stereotype, Tagged Value, Constraints)扩展UML的元模型实现对体系结构建模概念的支持; 对UML进行扩充,增加体系结构建模元素。,在体系结构描述方面:,Booch从UML的角度,给出了一种由设计视图、过程视图、实现视图和布署视图,再加上一个用例视图的体系结构描述模型,同时给出一种体系结构元模型。,UML描述观:,Mail:wyh_,24,2019年5月23日1时41分,事实上,判断一个语言是否适合用作体系结构描述语言的关键在于:它能否表达体系结构描述语言应该表达的概念与抽象。如果需要转化,其复杂性如何。,IEEE P1471标准:IEEE于1995年成立了体系结构工作组(AWG),综合体系结构描述研究成果,并参考业界的体系结构描述的实践,起草了体系结构描述框架标准即IEEE P1471。该标准框架强调体系结构视点(Viewpoint)的概念,并

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

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

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