第08篇UML架构建模课件.ppt

上传人(卖家):晟晟文业 文档编号:4621958 上传时间:2022-12-26 格式:PPT 页数:39 大小:2.55MB
下载 相关 举报
第08篇UML架构建模课件.ppt_第1页
第1页 / 共39页
第08篇UML架构建模课件.ppt_第2页
第2页 / 共39页
第08篇UML架构建模课件.ppt_第3页
第3页 / 共39页
第08篇UML架构建模课件.ppt_第4页
第4页 / 共39页
第08篇UML架构建模课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、第第8 8章章 架构建模架构建模第第8 8章章 架构建模架构建模第8章 架构建模2本章主要内容:本章主要内容:架构是什么架构是什么逻辑架构逻辑架构物理架构物理架构架构模式架构模式模型驱动的架构模型驱动的架构8.1 8.1 导言导言第8章 架构建模3在这一章里,将学习如何使用在这一章里,将学习如何使用UMLUML建立和可视化地描述几种建立和可视化地描述几种不同类型的架构模型。不同类型的架构模型。架构建模是架构建模是UMLUML当今最流行的应用领域之一。当今最流行的应用领域之一。一个健壮的架构对一个成功的应用,特别是对长寿的应用系统和一个健壮的架构对一个成功的应用,特别是对长寿的应用系统和系统随时

2、间所经历的变更是至关重要的。系统随时间所经历的变更是至关重要的。架构建模为理解、交流和确认系统的架构设计提供了关键架构建模为理解、交流和确认系统的架构设计提供了关键支持。支持。8.2 8.2 什么是架构什么是架构第8章 架构建模4在同在同Grady Grady BoochBooch的一次谈话中,他说:的一次谈话中,他说:“每一个软件都有每一个软件都有一个架构一个架构(architecture)(architecture),不论这个架构是否有意的被开,不论这个架构是否有意的被开发发”。教科书中对架构一词的定义是:教科书中对架构一词的定义是:架构架构(architecture)(architect

3、ure):1.1.建筑作品或科学;特别指:设计和建造结构物尤其是可供人居建筑作品或科学;特别指:设计和建造结构物尤其是可供人居住的结构物的作品和实践。住的结构物的作品和实践。有意识建立的某种格式或结构物有意识建立的某种格式或结构物 。2.2.一个计算机或计算机系统的组织和集成方式。一个计算机或计算机系统的组织和集成方式。译注:在很多文献中译注:在很多文献中architecturearchitecture也被译为也被译为“体系结构体系结构”或或“构架构架”,现在更多的是使用,现在更多的是使用“架构架构”一词。一词。第8章 架构建模5一个架构描述了某物体的多个部分如何集成为一个整体。一个架构描述了

4、某物体的多个部分如何集成为一个整体。一架飞机有一个架构;人的身体都有一个架构,尽管这些架构的一架飞机有一个架构;人的身体都有一个架构,尽管这些架构的特征各不相同。特征各不相同。如果准备建立起某种事物,描述它的架构是很有用途的。如果准备建立起某种事物,描述它的架构是很有用途的。描述方式:描述方式:o 或者通过文本形式描述,或者为这个事物的架构建立一个或者通过文本形式描述,或者为这个事物的架构建立一个模型模型(参见下图参见下图)。第8章 架构建模6我们所讨论的架构,是指一个系统的结构。我们所讨论的架构,是指一个系统的结构。架构包括了业务规则、软件,以及软件如何与其他软件通信。架构包括了业务规则、软

5、件,以及软件如何与其他软件通信。一个架构既可以包括一个组织内的软件也可以包括组织外的软件。一个架构既可以包括一个组织内的软件也可以包括组织外的软件。因为内部系统可能需要与合伙人、顾客和卖方整合,所以系统因为内部系统可能需要与合伙人、顾客和卖方整合,所以系统的架构既要包括内部系统也要包括外部系统。的架构既要包括内部系统也要包括外部系统。架构还可以包括运行软件的硬件,甚至还可以包括系统的使用者架构还可以包括运行软件的硬件,甚至还可以包括系统的使用者以及关于系统如何使用的理解和描述。以及关于系统如何使用的理解和描述。8.3 8.3 为什么对架构建模为什么对架构建模第8章 架构建模7软件和系统架构的建

6、模有着非常重要的价值。它帮助理解软件和系统架构的建模有着非常重要的价值。它帮助理解系统是如何被开发和建造的。系统是如何被开发和建造的。软件由许多小的单元组成,这些单元通常被称作构件软件由许多小的单元组成,这些单元通常被称作构件(component)(component)。构件之间存在接口,共同执行业务逻辑,并且时。构件之间存在接口,共同执行业务逻辑,并且时常要在彼此之间交换数据。理解了架构的功能和跨越系统边界的常要在彼此之间交换数据。理解了架构的功能和跨越系统边界的依赖关系,就可以帮助理解软件开发过程和设计出更好的系统。依赖关系,就可以帮助理解软件开发过程和设计出更好的系统。通过对架构建模,可

7、以为其他人提供一个良好的通信机制,为系通过对架构建模,可以为其他人提供一个良好的通信机制,为系统开发提供不同的时间基线,理解系统与其他系统或组织之间的统开发提供不同的时间基线,理解系统与其他系统或组织之间的依赖关系,合理地分配开发工作量,找出设计缺陷和不良的设计依赖关系,合理地分配开发工作量,找出设计缺陷和不良的设计模式,等等。模式,等等。第8章 架构建模8软件系统架构的可视化建模同样具有许多优点。软件系统架构的可视化建模同样具有许多优点。一个可视化的模型能够让开发者在系统的物理实现之前直接观察所计一个可视化的模型能够让开发者在系统的物理实现之前直接观察所计划要建立的系统结构。划要建立的系统结

8、构。可视化的模型还可以使开发者更好地理解系统开发计划,并通过模型可视化的模型还可以使开发者更好地理解系统开发计划,并通过模型在不同人员之间交流系统的设计信息。在不同人员之间交流系统的设计信息。可视化的模型提供了一种观察系统设计的方式,这样的方式确保了系可视化的模型提供了一种观察系统设计的方式,这样的方式确保了系统的设计在系统的整体架构下的合理性。统的设计在系统的整体架构下的合理性。通常,系统设计人员只关注他负责的那部分系统的设计并且不了解通常,系统设计人员只关注他负责的那部分系统的设计并且不了解系统的整体架构系统的整体架构他设计的构件必须与其他设计人员设计的构件他设计的构件必须与其他设计人员设

9、计的构件组装到一起从而形成完整的系统。组装到一起从而形成完整的系统。UMLUML可以在三个主要层次上建立软件和系统的架构模型:企业级、系统可以在三个主要层次上建立软件和系统的架构模型:企业级、系统级和软件级。级和软件级。8.3.1 8.3.1 企业架构企业架构第8章 架构建模9企业架构企业架构(enterprise architecture)(enterprise architecture)用于提供企业的高层用于提供企业的高层视图,包括业务过程、组织结构、系统视图,包括业务过程、组织结构、系统(包括软件和硬件包括软件和硬件),和预期的对现存架构的演化。和预期的对现存架构的演化。可以基于许多不同

10、的架构框架建立企业架构,包括可以基于许多不同的架构框架建立企业架构,包括ZachmanZachman框架、美国联邦政府企业架构框架框架、美国联邦政府企业架构框架(FEAF)(FEAF)、美国国防部企、美国国防部企业框架业框架(DoDAFDoDAF)和其他组织和行业的特定框架。和其他组织和行业的特定框架。这些企业架构框架为企业建模者提供了一个标准的方法,这些企业架构框架为企业建模者提供了一个标准的方法,用于建立企业架构,以确保跨越了组织边界的业务和操作用于建立企业架构,以确保跨越了组织边界的业务和操作的一致性。的一致性。第8章 架构建模10现实世界现实世界强制推行的企业架构强制推行的企业架构美国

11、联邦政府在所有政府部门中强制推行它的企业架构,要求政美国联邦政府在所有政府部门中强制推行它的企业架构,要求政府各部门使用这个架构来说明该部门是如何使用各种软硬件,从府各部门使用这个架构来说明该部门是如何使用各种软硬件,从业务的角度说明企业的运作。联邦政府管理和预算办公室业务的角度说明企业的运作。联邦政府管理和预算办公室(OMB)(OMB)推行了一个标准的企业架构框架,称为联邦企业架构框架推行了一个标准的企业架构框架,称为联邦企业架构框架(FEAF)(FEAF),并要求所有政府部门必须遵循。尽管这个框架规定了政府部门应并要求所有政府部门必须遵循。尽管这个框架规定了政府部门应该如何描述企业架构,包

12、括有关的建模和丈档标准,但是该框架该如何描述企业架构,包括有关的建模和丈档标准,但是该框架仍然留给各部门对其进行进一步解释的余地。因为仍然留给各部门对其进行进一步解释的余地。因为FEAFFEAF只是一组只是一组参考模型,更准确地讲,它是一组元模型参考模型,更准确地讲,它是一组元模型(meta-model)(meta-model),每个政,每个政府部门对它的解释可以不同,但是必须遵循同一个企业架构的建府部门对它的解释可以不同,但是必须遵循同一个企业架构的建造过程。造过程。立法部门的一个机构采用了联邦政府管理和预算办公室制定的立法部门的一个机构采用了联邦政府管理和预算办公室制定的FEAFFEAF标

13、准,以改进部门间和部门内各系统间的信息整合,减少重标准,以改进部门间和部门内各系统间的信息整合,减少重复劳动。为了确保各个部门确实采用了复劳动。为了确保各个部门确实采用了FEAFFEAF标准,如果某个部门标准,如果某个部门不能证明它按照该标准建立企业架构,那么联邦政府管理和预算不能证明它按照该标准建立企业架构,那么联邦政府管理和预算办公室将终止对该部门的财政预算。办公室将终止对该部门的财政预算。第8章 架构建模11我们曾经与美国政府某部门一同工作,用我们曾经与美国政府某部门一同工作,用UMLUML模型向美国国会展模型向美国国会展示该部门的企业架构,说明了该架构正在建造之中以及它的进展示该部门的

14、企业架构,说明了该架构正在建造之中以及它的进展情况。使用这些情况。使用这些UMLUML模型,双方可以就该部门内的软件应用和所模型,双方可以就该部门内的软件应用和所要执行的业务过程进行很好沟通。这样,他们可以共同制订出关要执行的业务过程进行很好沟通。这样,他们可以共同制订出关于该部门未来几年的现代化改造的切实可行的计划。于该部门未来几年的现代化改造的切实可行的计划。上面的事例证明,企业架构可以有效地记录企业现在的状态,帮上面的事例证明,企业架构可以有效地记录企业现在的状态,帮助理解企业未来随时间所经历的演化过程,提供了企业架构演化助理解企业未来随时间所经历的演化过程,提供了企业架构演化的计划或蓝

15、图。要确保企业架构的文档是一个随着时间不断及时的计划或蓝图。要确保企业架构的文档是一个随着时间不断及时更新的文档,这是非常重要的。企业架构的文档不应该是一经建更新的文档,这是非常重要的。企业架构的文档不应该是一经建立就从不改变的文档。立就从不改变的文档。第8章 架构建模12吸取教训吸取教训1.1.向其他人提供企业架构的视图可以帮助保证组织间的互操作性。向其他人提供企业架构的视图可以帮助保证组织间的互操作性。2.2.建立企业架构模型,可以帮助理解组织的内部组成,包括软件、建立企业架构模型,可以帮助理解组织的内部组成,包括软件、硬件、业务过程和组织资源。硬件、业务过程和组织资源。3.3.企业架构必

16、须是一个随时间演化的文档。它不能在建立之后就企业架构必须是一个随时间演化的文档。它不能在建立之后就束之高搁,而是要随着企业变化而及时更新。束之高搁,而是要随着企业变化而及时更新。4.4.一个企业架构必须是模型和文档的结合,这样可以保证需要理一个企业架构必须是模型和文档的结合,这样可以保证需要理解它的人能够对其有全面的理解。解它的人能够对其有全面的理解。8.3.2 8.3.2 系统架构系统架构第8章 架构建模13一般地说,一个系统是由多个运行于硬件上软件程序或控一般地说,一个系统是由多个运行于硬件上软件程序或控制硬件执行某种动作的软件程序组成。制硬件执行某种动作的软件程序组成。例如,一架飞机就是

17、一个大的硬件,其中运行着许多不同的软件例如,一架飞机就是一个大的硬件,其中运行着许多不同的软件程序,用来控制飞机的动作。硬件和软件的结合构成了完整的系程序,用来控制飞机的动作。硬件和软件的结合构成了完整的系统统飞机。飞机。DVDDVD的制造者将许多不同的软件单元和硬件单元组合在一起,使的制造者将许多不同的软件单元和硬件单元组合在一起,使得各硬件单元能够协同工作,共同组成了一个系统:得各硬件单元能够协同工作,共同组成了一个系统:DVDDVD播放器。播放器。第8章 架构建模14软件架构通常只说明一个特定的软件应用。软件架构通常只说明一个特定的软件应用。系统架构说明了一个系统的所有部件。系统架构说明

18、了一个系统的所有部件。既包括软件构件也既包括软件构件也包括硬件构件,并且可视化地显示这些构件是如何协同工包括硬件构件,并且可视化地显示这些构件是如何协同工作的。作的。系统架构是系统开发中要建立的最重要的架构模型之一。系统架构是系统开发中要建立的最重要的架构模型之一。例如,一个心脏起搏器是由执行不同动作的不同部件构成的,例如,一个心脏起搏器是由执行不同动作的不同部件构成的,用于维持心脏的正常工作。每一个部件都由其中运行的软件加用于维持心脏的正常工作。每一个部件都由其中运行的软件加以控制,系统的整体架构确保了这些部件之间的协同工作,执以控制,系统的整体架构确保了这些部件之间的协同工作,执行正确的动

19、作。尽管每一个硬件构件都可以独立工作,但同时行正确的动作。尽管每一个硬件构件都可以独立工作,但同时它们也要依赖于心脏起搏器中的其他部件和控制硬件操作的软它们也要依赖于心脏起搏器中的其他部件和控制硬件操作的软件。件。对系统架构建模,可以保证硬件和软件都能被理解,有助于保证对系统架构建模,可以保证硬件和软件都能被理解,有助于保证系统设计的正确性,还有助于保证部件间的依赖关系得以被正确系统设计的正确性,还有助于保证部件间的依赖关系得以被正确理解以及各部件间的有效协同工作。理解以及各部件间的有效协同工作。8.3.3 8.3.3 软件架构软件架构第8章 架构建模15一个软件架构对软件的预期实现提供了可视

20、化表示。一个软件架构对软件的预期实现提供了可视化表示。在设计软件时,多个构件或者部件通常要通过接口联系起来,在设计软件时,多个构件或者部件通常要通过接口联系起来,共同组成完整的应用。通过对软件架构建模,能够可视化地说共同组成完整的应用。通过对软件架构建模,能够可视化地说明这些不同的构件如何组成一个应用,数据和业务过程如何被明这些不同的构件如何组成一个应用,数据和业务过程如何被这些构件共享。这些构件共享。企业架构试图直接反映业务需要,而软件架构则是通过描述符企业架构试图直接反映业务需要,而软件架构则是通过描述符合企业架构的软件设计来间接地反映业务需要。合企业架构的软件设计来间接地反映业务需要。软

21、件架构设计师可能使用业务模型来帮助他们决定如何设计软软件架构设计师可能使用业务模型来帮助他们决定如何设计软件,但是业务模型设计通常不直接作为软件架构的组成部分。件,但是业务模型设计通常不直接作为软件架构的组成部分。8.4 8.4 逻辑架构逻辑架构第8章 架构建模16一个架构可以具有的描述范围一个架构可以具有的描述范围(即:企业架构、系统架构和即:企业架构、系统架构和软件架构软件架构)。架构也可以有不同的抽象层次,每个抽象层次包含了不同架构也可以有不同的抽象层次,每个抽象层次包含了不同的架构细节。这里要介绍两个抽象层次上的架构,即:的架构细节。这里要介绍两个抽象层次上的架构,即:逻辑架构和物理架

22、构。逻辑架构和物理架构。逻辑架构是与系统的全部实现技术无关的架构。逻辑架构是与系统的全部实现技术无关的架构。逻辑架构说明了架构的逻辑组成。逻辑架构说明了架构的逻辑组成。逻辑架构并非为了展示软件的实现,而是对软件的一个抽象。逻辑架构并非为了展示软件的实现,而是对软件的一个抽象。对于软件来说,逻辑架构一般用普通语言对于软件来说,逻辑架构一般用普通语言(非技术语言非技术语言)描述。描述。逻辑架构没有经过任何具体技术的优化逻辑架构没有经过任何具体技术的优化(独立于实现软件的技独立于实现软件的技术术)。负责设计软件的逻辑架构的架构设计师一般由非软件开发者担负责设计软件的逻辑架构的架构设计师一般由非软件开

23、发者担任。任。第8章 架构建模17这里对各种逻辑架构做一个对比说明。这里对各种逻辑架构做一个对比说明。企业架构展示了企业的内部运作和企业未来的发展方向。企业架构展示了企业的内部运作和企业未来的发展方向。系统架构说明了如何开发系统以满足业务需要。系统架构说明了如何开发系统以满足业务需要。软件逻辑架构描绘了系统中运行的软件的结构。软件逻辑架构描绘了系统中运行的软件的结构。8.4.1 8.4.1 类图类图第8章 架构建模18使用使用UMLUML,可以用类图中的类设计逻辑架构。一个类的图标,可以用类图中的类设计逻辑架构。一个类的图标是一个矩形方框,其中包含了三个水平的分割栏。是一个矩形方框,其中包含了

24、三个水平的分割栏。第一栏是类名,它是类的逻辑描述,通常是一个名字。第一栏是类名,它是类的逻辑描述,通常是一个名字。例如,类的名字可以是例如,类的名字可以是“Customer(Customer(顾客顾客)”)”、“Employee(Employee(雇雇员员)”)”和和“Oder(Oder(订单订单)”)”,如图所示。,如图所示。第8章 架构建模19第二栏是类的属性第二栏是类的属性(attribute)(attribute),它用于描述类的不同特性。,它用于描述类的不同特性。类的属性进一步说明了这个类的细节。类的属性进一步说明了这个类的细节。属性本身还有更多的特性,用于描述属性携带的数据类型。属

25、性本身还有更多的特性,用于描述属性携带的数据类型。属性类型在属性类型在UMLUML类的图标中位于属性名的右侧,如图所示。类的图标中位于属性名的右侧,如图所示。第8章 架构建模20第三栏是类的操作第三栏是类的操作(operation)(operation)。操作用于描述类的行为。操作用于描述类的行为。操作定义了系统的执行逻辑,既包括基本的逻辑也包括复杂的操作定义了系统的执行逻辑,既包括基本的逻辑也包括复杂的逻辑。逻辑。第8章 架构建模21在类图中可以使用多种不同类型的关联,它们展示了类之在类图中可以使用多种不同类型的关联,它们展示了类之间或类与其他建模元素之间的关系。下图简单定义了各种间或类与其

26、他建模元素之间的关系。下图简单定义了各种不同类型的关联。不同类型的关联。第8章 架构建模22第8章 架构建模23在图中,角色名之前有一个加号在图中,角色名之前有一个加号“+”+”。在定义代码时,加号说。在定义代码时,加号说明了其后的角色是公有的。一个角色可以是公有的明了其后的角色是公有的。一个角色可以是公有的(public(public,用,用“+”+”号表示号表示)、受保护的、受保护的(protected(protected,用,用“#”#”号表示号表示)、私有的、私有的(private(private,用,用“-”-”号表示号表示),或者具体于实现的,或者具体于实现的(implementa

27、tion(implementation,不用专门的符号表示,不用专门的符号表示)。公有角色可以被所有需要该角色的模型元素访问公有角色可以被所有需要该角色的模型元素访问受保护的角色只能被属于该角色的一部分的关联或角色访问受保护的角色只能被属于该角色的一部分的关联或角色访问私有角色只能通过其所属的关联的另一端的模型元素访问私有角色只能通过其所属的关联的另一端的模型元素访问具体于实现的角色能够被实现该角色的包内的所有元素访问。具体于实现的角色能够被实现该角色的包内的所有元素访问。第8章 架构建模24在逻辑架构模型的设计中,泛化可用于展示类的继承层次在逻辑架构模型的设计中,泛化可用于展示类的继承层次关

28、系。关系。例如,一个例如,一个“Employee”Employee”可以是可以是“Fulltime(Fulltime(全职全职)”)”的,或的,或“Part-time(Part-time(兼职兼职)”)”的。在定义一个的。在定义一个EmployeeEmployee类时,可能想通类时,可能想通过添加属性来表明雇员的不同类型。但是对于非技术评阅者来说,过添加属性来表明雇员的不同类型。但是对于非技术评阅者来说,用泛化关系来表示雇员的不同类型将使模型更加清晰,如下图所用泛化关系来表示雇员的不同类型将使模型更加清晰,如下图所示。图中的继承层次说明了全职雇员和兼职雇员都是雇员,它们示。图中的继承层次说明了

29、全职雇员和兼职雇员都是雇员,它们都继承了父类都继承了父类EmployeeEmployee的所有属性和操作。的所有属性和操作。8.4.2 8.4.2 系统和子系统系统和子系统第8章 架构建模25构造型构造型(stereotype)(stereotype)使用构造型,可以扩展使用构造型,可以扩展UMLUML以满足你更具体的建模需要。以满足你更具体的建模需要。构造型本身也是一个构造型本身也是一个UMLUML模型元素,它的模型元素,它的作用是扩展已有的模型作用是扩展已有的模型元素元素。用构造型扩展后的模型元素具有了扩展后的新特性。用构造型扩展后的模型元素具有了扩展后的新特性。UMLUML中,在一个模型

30、元素中增加了构造型图标中,在一个模型元素中增加了构造型图标“”后,该图标就表示用注明的构造型扩展后的模型元素。后,该图标就表示用注明的构造型扩展后的模型元素。第8章 架构建模26如下图所示,系统如下图所示,系统(system)(system)是一个用构造型是一个用构造型“”扩展扩展的包。的包。系统代表了属于某一个特定项目的所有模型元素。在建立更详系统代表了属于某一个特定项目的所有模型元素。在建立更详细的模型时,还可以通过构造型细的模型时,还可以通过构造型“”和和“”对系统进一步分解。对系统进一步分解。第8章 架构建模27一个系统通常可以被分解为多个子系统一个系统通常可以被分解为多个子系统(su

31、bsystem)(subsystem)。子系统,如同系统,是通过一个构造型子系统,如同系统,是通过一个构造型“”扩扩展的包。如下图所示。展的包。如下图所示。一个子系统由整个系统中的一组模型元素构成。一个子系统由整个系统中的一组模型元素构成。第8章 架构建模28因为系统和子系统是用构造型扩展了的包,因此它们具有包的一因为系统和子系统是用构造型扩展了的包,因此它们具有包的一切性质,符合包的所有使用规则。这意味着系统和子系统内的模切性质,符合包的所有使用规则。这意味着系统和子系统内的模型元素属于代表系统或子系统的包而不属于其他任何包。型元素属于代表系统或子系统的包而不属于其他任何包。子系统为项目的划

32、分提供了手段。子系统为项目的划分提供了手段。既然一个系统包含了多个子系统,那么子系统内的所有元素既然一个系统包含了多个子系统,那么子系统内的所有元素也同样属于包含子系统的系统。可以用一个图来描绘也同样属于包含子系统的系统。可以用一个图来描绘系统的系统的逻辑架构逻辑架构(见下图见下图)。8.5 8.5 物理架构物理架构第8章 架构建模29架构可以分别在逻辑层和物理层描述。架构可以分别在逻辑层和物理层描述。逻辑架构是一个较通用的架构,它较少地依赖技术细节。逻辑架构是一个较通用的架构,它较少地依赖技术细节。物理架构更详细地描述软件和系统的设计,包括架构中规定要采物理架构更详细地描述软件和系统的设计,

33、包括架构中规定要采用的不同技术细节,还描述了软件自身及软件与其他软件是如何用的不同技术细节,还描述了软件自身及软件与其他软件是如何集成的。集成的。8.5.1 8.5.1 操作操作第8章 架构建模30操作描述了与类的职责和类之间的交互有关的业务逻辑。操作描述了与类的职责和类之间的交互有关的业务逻辑。例如,例如,“getCustomer”getCustomer”是是CustomerCustomer类中的一个操作。类中的一个操作。这个操作描述了与如何查询顾客信息有关的应用逻辑这个操作描述了与如何查询顾客信息有关的应用逻辑(见图见图)。第8章 架构建模31尽管类的所有成分最终都将被转换为物理代码并成为

34、可运尽管类的所有成分最终都将被转换为物理代码并成为可运行的软件应用,但是操作的具体细节是在系统和模型的物行的软件应用,但是操作的具体细节是在系统和模型的物理实现时考虑的更具体的类成分。理实现时考虑的更具体的类成分。在逻辑架构模型中,操在逻辑架构模型中,操作用于说明软件的预期行为,而在物理架构中操作定义了作用于说明软件的预期行为,而在物理架构中操作定义了系统的物理实现中的算法、函数等技术细节。系统的物理实现中的算法、函数等技术细节。操作描述了操作描述了系统的功能,以及系统在实现中要用到的技术。系统的功能,以及系统在实现中要用到的技术。8.5.2 8.5.2 构件图构件图第8章 架构建模32构件构

35、件(component)(component)由一个或多个类组成,它描述了一个应用由一个或多个类组成,它描述了一个应用的一部分,这些部分可以被组装和重用。的一部分,这些部分可以被组装和重用。基于构件的架构基于构件的架构(component-based architecture(component-based architecture,CBD)CBD)是是一种系统设计方法,在这样的系统设计方法中,一个系统一种系统设计方法,在这样的系统设计方法中,一个系统由多个构件组装而成。由多个构件组装而成。将系统分解为多个小的部分将系统分解为多个小的部分(构件构件)分别开发,这是提高开分别开发,这是提高开发效

36、率的重要手段,开发出的小的部件可以被用来组装成发效率的重要手段,开发出的小的部件可以被用来组装成完整的系统。这种开发方法可以重用已经开发好的软件构完整的系统。这种开发方法可以重用已经开发好的软件构件,而不是每次都要重新开发。件,而不是每次都要重新开发。第8章 架构建模33基于构件的架构还可以让不同的小组共同开发一个软件,基于构件的架构还可以让不同的小组共同开发一个软件,他们可以通过接口将各自开发的部分组装起来。接口他们可以通过接口将各自开发的部分组装起来。接口(interface)(interface)是一个命名了的操作集合,这些操作让构件通是一个命名了的操作集合,这些操作让构件通过接口代码一

37、起协同工作。一个构件可以通过它的接口部过接口代码一起协同工作。一个构件可以通过它的接口部署的特定技术和代码向其他构件提供信息或者从其他构件署的特定技术和代码向其他构件提供信息或者从其他构件获取信息。图中显示了构件图中的构件和接口的表示法。获取信息。图中显示了构件图中的构件和接口的表示法。第8章 架构建模34接口用一个圆圈形状的图标表示,也可以用构造型接口用一个圆圈形状的图标表示,也可以用构造型“”扩展的类来表示。扩展的类来表示。构件图展示了系统中的构件和构件是如何被组装的,下图给出了构件图展示了系统中的构件和构件是如何被组装的,下图给出了一个构件图的例子。一个构件图的例子。第8章 架构建模35

38、可以使用构件图对系统的不同部分单独建立架构模型。可以使用构件图对系统的不同部分单独建立架构模型。还可以使用构件图对应用的内部细节建模。还可以使用构件图对应用的内部细节建模。还可以用构件图来说明不同的应用是如何协同工作的。还可以用构件图来说明不同的应用是如何协同工作的。举一个例子,考虑两个可执行文件举一个例子,考虑两个可执行文件(exe)exe),其中的一个可执行,其中的一个可执行文件调用了另一个,这两个可执行文件都可以被建模为构件。当文件调用了另一个,这两个可执行文件都可以被建模为构件。当编写编写JavaJava应用程序时,每个应用程序时,每个JavaJava源代码文件也可以用源代码文件也可以

39、用UMLUML表示为表示为一个构件。一个构件。这个例子说明,架构的不同层次可以这个例子说明,架构的不同层次可以(事实上经常是这么做的事实上经常是这么做的)被被建模为构件。建模为构件。类代表了程序代码的逻辑架构类代表了程序代码的逻辑架构。构件代表了系统的物理架构,并构件代表了系统的物理架构,并标识出了需要被实际实现的物理单元标识出了需要被实际实现的物理单元。8.5.3 8.5.3 部署图部署图第8章 架构建模36部署图描述系统的运行时架构。部署图描述系统的运行时架构。部署图中可以包括节点,节点代表了一个硬件单元,其中部署图中可以包括节点,节点代表了一个硬件单元,其中通常内置了存储器和处理器。通常

40、内置了存储器和处理器。节点有两种类型:处理器节点有两种类型:处理器(Processor)(Processor)和设备和设备(Device)(Device)。有时,多个应用运行于一个设备中的不同处理器上,也可有时,多个应用运行于一个设备中的不同处理器上,也可以通过部署图描述。例如,一个硬件服务器通常都包含了以通过部署图描述。例如,一个硬件服务器通常都包含了多个处理器。服务器的部署图可以展示出多个应用可以运多个处理器。服务器的部署图可以展示出多个应用可以运行于同一个服务器中的不同处理器。行于同一个服务器中的不同处理器。下图说明了部署图中的节点表示法。下图说明了部署图中的节点表示法。8.5.48.5

41、.4构造型构造型第8章 架构建模37在所有在所有UMLUML图中都可以使用构造型,这样可以更好地定义建图中都可以使用构造型,这样可以更好地定义建模元素,让每个人在看到模型后都能理解这个模型是对什模元素,让每个人在看到模型后都能理解这个模型是对什么建模的,模型背后讲述了什么故事。么建模的,模型背后讲述了什么故事。UMLUML定义了一些标准构造型。定义了一些标准构造型。一个构造型可以只是一个模型元素的标题,但是它也可是一个构造型可以只是一个模型元素的标题,但是它也可是一个图标,图标可以更好地说明构造型的含义,并为一个图标,图标可以更好地说明构造型的含义,并为UMLUML模模型中增加了易于理解的图形视图。型中增加了易于理解的图形视图。部署图中的几种部署元素也可以图标表示,例如各种类型部署图中的几种部署元素也可以图标表示,例如各种类型的飞机和轮船的飞机和轮船(见下图见下图)。第8章 架构建模38第8章 架构建模39也可以在更传统的意义上使用部署图:用于理解组织中的也可以在更传统的意义上使用部署图:用于理解组织中的硬件和应用以及它们如何存在于组织之中。下图给出了这硬件和应用以及它们如何存在于组织之中。下图给出了这样的一个部署图的例子。样的一个部署图的例子。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第08篇UML架构建模课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|