分享
分享赚钱 收藏 举报 版权申诉 / 62

类型4软件体系结构描述.ppt

  • 上传人:ysd1539
  • 文档编号:6899360
  • 上传时间:2019-04-26
  • 格式:PPT
  • 页数:62
  • 大小:562.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    4软件体系结构描述.ppt
    资源描述:

    1、软件体系结构描述,4.1 软件体系结构描述方法 4.2 软件体系结构描述框架标准 4.3 体系结构描述语言 4.4 典型的软件体系结构描述语言 4.5 软件体系结构与UML 4.6 可扩展标记语言 4.7 基于XML的软件体系结构描述语言,主要内容,教学目的与要求,(1)熟悉常用的软件体系结构描述方法; (2)了解软件体系结构描述框架标准; (3)掌握ADL的概念、特点及构成要素; (4)了解典型的ADL,熟悉它们之间的异同点; (5)掌握C2语言; (6)熟悉UML; (7)熟悉XML,初步了解基于XML的软件体系结构描述语言。,教学重点与难点,(1)ADL的概念、特点及构成要素 (2)典型

    2、ADL之间的异同点及其适用风格 (3)UML中的九种框图及其应用, 描述方法的种类,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 图形表达工具 模块内连接语言 基于软构件的系统描述语言 软件体系结构描述语言,1. 图形表达工具,某软件辅助理解和测试工具部分体系结构描述,矩形框:代表抽象构件,框内标注的文字为抽象构件的名称;有向线段:代表辅助各构件进行通信、控制或关联的连接件。,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 模块内连接语言,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言。由于程序设计

    3、语言和模块内连接语言具有严格的语义基础,因此它们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。例如,Ada语言采用use实现包的重用,Pascal语言采用过程(函数)模块的交互等。 MIL(module interconnection language)方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。, 基于软构件的系统描述语言,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 基于软构件的系统

    4、描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。 例如,一种多变配置语言就可以用来在一个较高的抽象层次上对系统的体系结构建模,Darwin最初用作设计和构造复杂分布式系统的配置说明语言,因具有动态特性,也可用来描述动态体系结构。 这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。, 软件体系结构描述语言,第4

    5、章 软件体系结构描述,4.1 软件体系结构描述方法, 软件体系结构的第四种描述和表达方法是参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言。 由于ADL是在吸收了传统程序设计中的语义严格精确的特点基础上,针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素,因此,ADL是当前软件开发和设计方法学中一种发展很快的软件体系结构描述方法,目前,已经有几十种常见的ADL。, IEEE P1471,第4章 软件体系结构描述,4.2 软件体系结构描述框架标准, IEEE P1471于2000年9月21日通过IE

    6、EE-SA标准委员会评审。 IEEE P1471适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。 IEEE P1471详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具体的描述技术等方面缺乏更进一步的指导。, Rational,第4章 软件体系结构描述,4.2 软件体系结构描述框架标准, Rational起草了可重用的软件资产规格说明,专门讨论了体系结构描述的规格说明,提出了一套易于重用的体系结构描述规范。该建议草案已经提交OMG。 基于RUP(Rational United Process)、采用U

    7、ML模型描述软件的体系结构,认为体系结构描述的关键是定义视点、视图以及建模元素之间的映射关系。 与IEEE P1471相比,该建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于UML和RUP,具有一定的局限性,但该建议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果。,第4章 软件体系结构描述,4.3 软件体系结构描述语言,ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本

    8、元素是:构件、连接件、体系结构配置。主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。这些ADL强调了体系结构不同的侧面,对体系结构的研究和应用起到了重要的作用,但也有负面的影响。每一种ADL都以独立的形式存在,描述语法不同且互不兼容,同时又有许多共同的特征,这使设计人员很难选择一种合适的ADL,若设计特定领域的软件体系结构又需要从头开始描述。,第4章 软件体系结构描述,4.3 软件体系结构描述语言, 构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统; 抽象能力:ADL使得软件

    9、体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节; 重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;, ADL与其他语言的比较(1),第4章 软件体系结构描述,4.3 软件体系结构描述语言, 组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合; 异构能力:ADL允许多个不同的体系结构描述关联存在; 分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。, ADL与其他语言的比较(2),第4章 软件体系结构描述,4

    10、.3 软件体系结构描述语言, 典型元素含义比较,第4章 软件体系结构描述,4.3 软件体系结构描述语言, 常见的软件体系结构元素,第四章 软件体系结构描述,4.3 软件体系结构描述语言, ADL的构成要素,软件体系结构的基本构成要素:构件、连接件、体系结构配置。1. 构件:一个计算单元或数据存储;是计算与状态存在的场所。构件包含的多种属性:接口、类型、语义、约束、演化和非功能属性等。,体系结构的核心模型,第四章 软件体系结构描述,4.3 软件体系结构描述语言, ADL的构成要素,2. 连接件:用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。连接件可以不与实现系统中的编译单元对应。异

    11、构连接。连接件包含的属性:角色。,第四章 软件体系结构描述,4.3 软件体系结构描述语言, ADL的构成要素,3. 体系结构配置或拓扑:描述体系结构的构件与连接件的连接图。同时检查语法、说明语义。 多视图、多场景的体系结构说明方法。在不同层次上描述软件系统;异构情况下的配置。,第四章 软件体系结构描述,4.3 软件体系结构描述语言, ADL的构成要素,软件体系结构的设计在需求分析之后,软件设计之前。描述好体系结构,做好承上启下的工作很重要。一 方 面:体系结构描述如何向其他文档转移;另一方面:如何利用需求分析成果来直接生成系统的体系结构说明。现在的ADL大多与领域相关。目前还没有通用的体系结构

    12、描述语言。,4.4 典型的软件体系结构描述语言, UniCon Wright C2 Rapide SADL Aesop ACME, C2风格,通过连接件绑定在一起的按照一组规则运作的并行构件网络。C2风格中的系统组织规则如下: 系统中的构件和连接件都有一个顶部和一个底部; 构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的; 一个连接件可以和任意数目的其它构件和连接件连接; 当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。, C2背景知识,C2是一种用于用户界面密集的系统的软件体系结构风格。在C2风格的体系结构中,连接件在

    13、构件之间转发消息,构件负责维护状态,进行操作,通过两个接口(顶端接口和底端接口)和其他构件交换消息。构件之间不能发送消息,必须通过连接件。构件之间的通信只能通过消息传递来实现,不允许使用共享内存方式通信。, C2风格的中心原则,C2风格的中心原则是有限可视原则,或者说是下层独立的原则:在C2风格的体系结构中,某一构件只能感知层次高于自己的构件所提供的服务,而不能感知到层次比自己更低的构件的服务。这种单向的传递性,有利于系统的维护和扩展。, C2风格的通信规则,C2中,所有构件间的通信必须通过消息来实现,这也是构件之间的唯一通信途径。每个构件都有一个顶端域、一个底端域。构件的顶端域定义了构件可以

    14、对哪些通知做出响应,以及可以发出哪些请求;构件的底端域定义了可以向下层发送哪些通知,以及可以响应下层的哪些请求。, C2风格,第四章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户界面系统,并支持使用可替换、可重用的构件开发GUI的体系结构。 在C2中,连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为“top”和“bottom”的端口和其它的构件交换信息。 每个接口包含一种可发送的消息和一组可接收的消息。构件之间的消息要么是请求其它构件执行某个操作的请求消息,要么是通知其他构件自身执行了某个操作

    15、或状态发生改变的通知消息。, C2概述(1),第四章 软件体系结构描述,4.4 典型软件体系结构描述语言, 构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的构件或连接件相连。 请求消息只能向上层传送而通知消息只能向下层传送。 通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。 C2对构件和连接件的实现语言、实现构件的线程控制、构件的部署以及连接件使用的通讯协议等都不加限制。, C2概述(2),第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对构件接口的描述,第4章 软件体系结构描述,4.4

    16、 典型软件体系结构描述语言, C2对构件的描述,interface_requests :=request; | null;interface_notifications :=notification; | null;request :=message_name(request_parameters)request_parameters :=to component_nameparameter_listnotification :=message_nameparameter_list,component_message_interface :=top_domain_interfacebottom

    17、_domain_interfacetop_domain_interface :=top_domain is out interface_requestsin interface_notificationsbottom_domain_interface :=bottom_domain is out interface_notifications in interface_requests,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, 会议安排系统的C2风格,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对MeetgingInitiator构件的描述(1),co

    18、mponent MeetingInitiator isinterfacetop_domain is outGetPrefSet();GetExclSet();GetEquipReqts();GetLocPrefs();RemoveExclSet();RequestWithdrawal(to Attendee);RequestWithdrawal(to ImportantAttendee);AddPrefDates();MarkMtg(d:date;l:lov_type);,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对MeetgingInitiator构件的描述(2),i

    19、nPrefSet(p:date_mg);ExclSet(e:data_mg);EquipReqts(eq:equip_type);LocPref(l:loc_type);behaviorstartup always_generate GetPrefSet, GetExclSet, GetEquipReqts,GetLocPrefs;received_messages PrefSet may_generate RemoveExclSet xor RequestWithdrawal xor MarkMtg;received_messages ExclSet may_generate AddPref

    20、Dates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg;received_messages EquipReqts may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg;received_messages LocPref always_generate null; end MeetingInitiator;,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对Attendee构件的描述(1),component Atte

    21、ndee isinterfacebottom_domain is outPrefSet(p:date_mg);ExclSet(e:date_mg);EquipReqts(eq:equip_type);inGetPrefSet();GetExclSet();GetEquipReqts();RemoveExclSet();RequestWithdrawal();AddPrefDates();MarkMtg(d:date;l:loc_type);,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对Attendee构件的描述(2),behavior received_messages

    22、 GetPrefSet always_generate PrefSet; received_messages AddPrefDates always_generate PrefSet; received_messages GetExclSet always_generate ExclSet; received_messages GetEqipReqts always_generate EqipReqts; received_messages RemoveExclSet always_generate ExclSet; received_messages ReuestWithdrawal alw

    23、ays_generate null; received_messages MarkMtg always_generate null; end Attendee;,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对ImportantAttendee构件的描述,component ImportantAttendee is subtype Attendee(in and beh)interfacebottom_domain is outLocPrefs(l:loc_type);ExclSet(e:date_mg);EquipReqts(eq:equip_type);inGetLoc

    24、Prefs();behavior received_messages GetLocPrefs always_generate LocPrefs; end ImportantAttendee;,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对体系结构的描述,architecture MeetingScheduler isconceptual_componentsAttendee;ImportantAttendee;MeetingInitiator;connectorsconnector MainConn is message_filter no_filtering;conne

    25、ctor AttConn is message_filter no_filtering;connector ImportantAttConn is message_filter no_filtering; architectural_topologyconnector AttConn connections top_ports Attendee; bottom_ports MainConn; connector ImportantAttConn connections top_ports ImportantAttendee; bottom_ports MainConn; connector M

    26、ainConn connections top_ports AttConn;ImportantAttConn; bottom_ports MeetingInitiator; end MeetingScheduler;,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对会议安排系统的描述,system MeetingScheduler_1 isarchitecture MeetingScheduler withAttendee instance Att_1,Att_2,Att_3; ImportantAttendee instance ImpAtt_1,ImpAtt_2;Mee

    27、tingInitiator instance MtgInit_1; end MeetingScheduler_1;,第4章 软件体系结构描述,4.5 软件体系结构与UML, UML简介, UML(Unified Modeling Language)是下面这些最好的建模方法中最好部分的集成: 商务流程模型(Work Flow) 对象建模方法 软构件建模思想 UML是一种用可视化方法对软件系统进行描述、实施和说明的标准语言。 支持用不同实现技术进行的软件开发全过程。,第4章 软件体系结构描述,4.5 软件体系结构与UML, UML简介,第4章 软件体系结构描述,4.5 软件体系结构与UML, UM

    28、L简介,第4章 软件体系结构描述,4.5 软件体系结构与UML, UML简介,第4章 软件体系结构描述,4.5 软件体系结构与UML, 用例图,用于显示若干角色以及这些角色与系统提供的用例之间的连接关系。用例是系统提供的功能的描述,第4章 软件体系结构描述,4.5 软件体系结构与UML, 类图,表示系统中的类和类与类之间的关系,它是对系统静态结构的描述,第4章 软件体系结构描述,4.5 软件体系结构与UML, 序列图,用来反映若干个对象之间的动态协作关系,也就是随着时间的推移,对象之间是如何交互的,第4章 软件体系结构描述,4.5 软件体系结构与UML, 协作图,描述对象间的协作关系,协作图跟

    29、序列图相似,显示对象间的动态合作关系。 如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图。这两种图合称为交互图。,第4章 软件体系结构描述,4.5 软件体系结构与UML, 状态图,描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充,第4章 软件体系结构描述,4.5 软件体系结构与UML, 活动图,描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动,第4章 软件体系结构描述,4.5 软件体系结构与UML, 构件图,描述代码构件的物理结构及各构件之间的依赖关系,第4章 软件体系结构描述,4.5 软件体系结构与UML, 部署图,部

    30、署图定义系统中软硬件的物理体系结构,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模,元-元模型层定义了元模型层的规格说明语言,元模型层为给定的建模语言定义规格说明,模型层用来定义特定软件系统的模型,用户对象用来构建给定模型的特定实例。,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, 语义约束由对象约束语言OCL表示,OCL基于一阶谓词逻辑,每一个OCL表达式都处于一些UML模型元素的背景下(由“self”引用),可使用该元素的属性和关系作为其项(term),同时OCL定义了在集合(sets)、袋(bags)等上的公共操作集和遍历建模

    31、元素间关系的构造,因此,其它建模元素的属性也可以作为它的项。,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, UML中的通用表示 (1)字符串:表示有关模型的信息; (2)名字:表示模型元素; (3)标号:不同于编程语言中的标号,是用于表示或说明图形符号的字符串; (4)特殊字符串:表示某一模型元素的特性; (5)类型表达式:声明属性、变量及参数,含义同编程语言中的类型表达式; (6)实体类型:它是UML的扩充机制,运用实体类型可定义新类型的模型元素;,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, UML语义部分 通用元素:主要

    32、描述UML中各元素的语义。通用元素是UML中的基本构造单位,包括模型元素和视图元素,模型元素用来构造系统,视图元素用来构成系统的表示成分; 通用机制:主要描述使UML保持简单和概念上一致的机制的语义。包括定制、标记值、注记、约束、依赖关系、类型-实例、类型-类的对应关系等机制; 通用类型:主要描述UML中各种类型的语义。这些类型包括布尔类型、表达式类型、列表类型、多重性类型、名字类型、坐标类型、字符串类型、时间类型、用户自定义类型等。三部分不是相互独立的,而是相互交叉重叠、紧密相连,共同构成了UML的完整语义。,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, 会

    33、议安排系统的类图,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, 会议安排系统类接口,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, C2连接件模型,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, C2连接件模型,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, 细化的类图,第4章 软件体系结构描述,4.5 软件体系结构与UML, 直接使用UML建模, 会议安排系统的协作图,第4章 软件体系结构描述,本章作业与思考题,1、体系结构描述有哪些方法?有哪些标准和规范?2、体

    34、系结构描述语言与程序设计语言有什么区别?3、选择一个规模适中的系统,使用UML为其建模。,我们可以作个简单的比喻,结构化程序设计时代是以砖、瓦、灰、沙、石、预制梁、柱、屋面板盖平房和小楼,而面向对象时代以整面墙、整间房、一层楼梯的预制件盖高楼大厦。构件怎样搭配才合理?体系结构怎样构造容易?重要构件有了更改后,如何保证整栋高楼不倒?每种应用领域需要什么构件(医院、工厂、旅馆)?有哪些实用、美观、强度、造价合理的构件骨架使建造出来的建筑(即体系结构)更能满足用户的需求?如同土木工程进入到现代建筑学一样,软件也从传统的软件工程进入到现代面向对象的软件工程,研究整个软件系统的体系结构,寻求建构最快、成本最低、质量最好的构造过程,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:4软件体系结构描述.ppt
    链接地址:https://www.docduoduo.com/p-6899360.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开