第08篇UML架构建模课件

上传人:风*** 文档编号:241971987 上传时间:2024-08-08 格式:PPT 页数:39 大小:2.27MB
返回 下载 相关 举报
第08篇UML架构建模课件_第1页
第1页 / 共39页
第08篇UML架构建模课件_第2页
第2页 / 共39页
第08篇UML架构建模课件_第3页
第3页 / 共39页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章 架构建模,*,第,8,章 架构建模,第8章 架构建模,第,8,章 架构建模,第,8,章 架构建模,2,本章主要内容:,架构是什么,逻辑架构,物理架构,架构模式,模型驱动的架构,第8章 架构建模第8章 架构建模2本章主要内容:,8.1,导言,第,8,章 架构建模,3,在这一章里,将学习如何使用,UML,建立和可视化地描述几种不同类型的架构模型。,架构建模是,UML,当今最流行的应用领域之一。,一个健壮的架构对一个成功的应用,特别是对长寿的应用系统和系统随时间所经历的变更是至关重要的。,架构建模为理解、交流和确认系统的架构设计提供了关键支持。,8.1 导言第8章 架构建模3在这一章里,将学习如何使用U,8.2,什么是架构,第,8,章 架构建模,4,在同,Grady Booch,的一次谈话中,他说:“每一个软件都有一个架构,(architecture),,不论这个架构是否有意的被开发”。,教科书中对架构一词的定义是:,架构,(architecture),:,建筑作品或科学;特别指:设计和建造结构物尤其是可供人居住的结构物的作品和实践。,有意识建立的某种格式或结构物,。,一个计算机或计算机系统的组织和集成方式。,译注:在很多文献中,architecture,也被译为“体系结构”或“构架”,现在更多的是使用“架构”一词。,8.2 什么是架构第8章 架构建模4在同Grady Boo,第,8,章 架构建模,5,一个架构描述了某物体的多个部分如何集成为一个整体。,一架飞机有一个架构;人的身体都有一个架构,尽管这些架构的特征各不相同。,如果准备建立起某种事物,描述它的架构是很有用途的。,描述方式:,或者通过文本形式描述,或者为这个事物的架构建立一个模型,(,参见下图,),。,第8章 架构建模5一个架构描述了某物体的多个部分如何集成为一,第,8,章 架构建模,6,我们所讨论的架构,是指一个系统的结构。,架构包括了业务规则、软件,以及软件如何与其他软件通信。,一个架构既可以包括一个组织内的软件也可以包括组织外的软件。,因为内部系统可能需要与合伙人、顾客和卖方整合,所以系统的架构既要包括内部系统也要包括外部系统。,架构还可以包括运行软件的硬件,甚至还可以包括系统的使用者以及关于系统如何使用的理解和描述。,第8章 架构建模6我们所讨论的架构,是指一个系统的结构。,8.3,为什么对架构建模,第,8,章 架构建模,7,软件和系统架构的建模有着非常重要的价值。它帮助理解系统是如何被开发和建造的。,软件由许多小的单元组成,这些单元通常被称作构件,(component),。构件之间存在接口,共同执行业务逻辑,并且时常要在彼此之间交换数据。理解了架构的功能和跨越系统边界的依赖关系,就可以帮助理解软件开发过程和设计出更好的系统。,通过对架构建模,可以为其他人提供一个良好的通信机制,为系统开发提供不同的时间基线,理解系统与其他系统或组织之间的依赖关系,合理地分配开发工作量,找出设计缺陷和不良的设计模式,等等。,8.3 为什么对架构建模第8章 架构建模7软件和系统架构的,第,8,章 架构建模,8,软件系统架构的可视化建模同样具有许多优点。,一个可视化的模型能够让开发者在系统的物理实现之前直接观察所计划要建立的系统结构。,可视化的模型还可以使开发者更好地理解系统开发计划,并通过模型在不同人员之间交流系统的设计信息。,可视化的模型提供了一种观察系统设计的方式,这样的方式确保了系统的设计在系统的整体架构下的合理性。,通常,系统设计人员只关注他负责的那部分系统的设计并且不了解系统的整体架构,他设计的构件必须与其他设计人员设计的构件组装到一起从而形成完整的系统。,UML,可以在三个主要层次上建立软件和系统的架构模型:企业级、系统级和软件级。,第8章 架构建模8软件系统架构的可视化建模同样具有许多优点。,8.3.1,企业架构,第,8,章 架构建模,9,企业架构,(enterprise architecture),用于提供企业的高层视图,包括业务过程、组织结构、系统,(,包括软件和硬件,),,和预期的对现存架构的演化。,可以基于许多不同的架构框架建立企业架构,包括,Zachman,框架、美国联邦政府企业架构框架,(FEAF),、美国国防部企业框架,(DoDAF),和其他组织和行业的特定框架。,这些企业架构框架为企业建模者提供了一个标准的方法,用于建立企业架构,以确保跨越了组织边界的业务和操作的一致性。,8.3.1 企业架构第8章 架构建模9企业架构(enter,第,8,章 架构建模,10,现实世界,强制推行的企业架构,美国联邦政府在所有政府部门中强制推行它的企业架构,要求政府各部门使用这个架构来说明该部门是如何使用各种软硬件,从业务的角度说明企业的运作。联邦政府管理和预算办公室,(OMB),推行了一个标准的企业架构框架,称为联邦企业架构框架,(FEAF),,并要求所有政府部门必须遵循。尽管这个框架规定了政府部门应该如何描述企业架构,包括有关的建模和丈档标准,但是该框架仍然留给各部门对其进行进一步解释的余地。因为,FEAF,只是一组参考模型,更准确地讲,它是一组元模型,(meta-model),,每个政府部门对它的解释可以不同,但是必须遵循同一个企业架构的建造过程。,立法部门的一个机构采用了联邦政府管理和预算办公室制定的,FEAF,标准,以改进部门间和部门内各系统间的信息整合,减少重复劳动。为了确保各个部门确实采用了,FEAF,标准,如果某个部门不能证明它按照该标准建立企业架构,那么联邦政府管理和预算办公室将终止对该部门的财政预算。,第8章 架构建模10现实世界强制推行的企业架构,第,8,章 架构建模,11,我们曾经与美国政府某部门一同工作,用,UML,模型向美国国会展示该部门的企业架构,说明了该架构正在建造之中以及它的进展情况。使用这些,UML,模型,双方可以就该部门内的软件应用和所要执行的业务过程进行很好沟通。这样,他们可以共同制订出关于该部门未来几年的现代化改造的切实可行的计划。,上面的事例证明,企业架构可以有效地记录企业现在的状态,帮助理解企业未来随时间所经历的演化过程,提供了企业架构演化的计划或蓝图。要确保企业架构的文档是一个随着时间不断及时更新的文档,这是非常重要的。企业架构的文档不应该是一经建立就从不改变的文档。,第8章 架构建模11我们曾经与美国政府某部门一同工作,用UM,第,8,章 架构建模,12,吸取教训,向其他人提供企业架构的视图可以帮助保证组织间的互操作性。,建立企业架构模型,可以帮助理解组织的内部组成,包括软件、硬件、业务过程和组织资源。,企业架构必须是一个随时间演化的文档。它不能在建立之后就束之高搁,而是要随着企业变化而及时更新。,一个企业架构必须是模型和文档的结合,这样可以保证需要理解它的人能够对其有全面的理解。,第8章 架构建模12吸取教训,8.3.2,系统架构,第,8,章 架构建模,13,一般地说,一个系统是由多个运行于硬件上软件程序或控制硬件执行某种动作的软件程序组成。,例如,一架飞机就是一个大的硬件,其中运行着许多不同的软件程序,用来控制飞机的动作。硬件和软件的结合构成了完整的系统,飞机。,DVD,的制造者将许多不同的软件单元和硬件单元组合在一起,使得各硬件单元能够协同工作,共同组成了一个系统:,DVD,播放器。,8.3.2 系统架构第8章 架构建模13一般地说,一个系统,第,8,章 架构建模,14,软件架构通常只说明一个特定的软件应用。,系统架构说明了一个系统的所有部件。,既包括软件构件也包括硬件构件,并且可视化地显示这些构件是如何协同工作的。,系统架构是系统开发中要建立的最重要的架构模型之一。,例如,一个心脏起搏器是由执行不同动作的不同部件构成的,用于维持心脏的正常工作。每一个部件都由其中运行的软件加以控制,系统的整体架构确保了这些部件之间的协同工作,执行正确的动作。尽管每一个硬件构件都可以独立工作,但同时它们也要依赖于心脏起搏器中的其他部件和控制硬件操作的软件。,对系统架构建模,可以保证硬件和软件都能被理解,有助于保证系统设计的正确性,还有助于保证部件间的依赖关系得以被正确理解以及各部件间的有效协同工作。,第8章 架构建模14软件架构通常只说明一个特定的软件应用。,8.3.3,软件架构,第,8,章 架构建模,15,一个软件架构对软件的预期实现提供了可视化表示。,在设计软件时,多个构件或者部件通常要通过接口联系起来,共同组成完整的应用。通过对软件架构建模,能够可视化地说明这些不同的构件如何组成一个应用,数据和业务过程如何被这些构件共享。,企业架构试图直接反映业务需要,而软件架构则是通过描述符合企业架构的软件设计来间接地反映业务需要。,软件架构设计师可能使用业务模型来帮助他们决定如何设计软件,但是业务模型设计通常不直接作为软件架构的组成部分。,8.3.3 软件架构第8章 架构建模15一个软件架构对软件,8.4,逻辑架构,第,8,章 架构建模,16,一个架构可以具有的描述范围,(,即:企业架构、系统架构和软件架构,),。,架构也可以有不同的抽象层次,每个抽象层次包含了不同的架构细节。这里要介绍两个抽象层次上的架构,即:,逻辑架构和物理架构。,逻辑架构是与系统的全部实现技术无关的架构。,逻辑架构说明了架构的逻辑组成。,逻辑架构并非为了展示软件的实现,而是对软件的一个抽象。,对于软件来说,逻辑架构一般用普通语言,(,非技术语言,),描述。,逻辑架构没有经过任何具体技术的优化,(,独立于实现软件的技术,),。,负责设计软件的逻辑架构的架构设计师一般由非软件开发者担任。,8.4 逻辑架构第8章 架构建模16一个架构可以具有的描述,第,8,章 架构建模,17,这里对各种逻辑架构做一个对比说明。,企业架构展示了企业的内部运作和企业未来的发展方向。,系统架构说明了如何开发系统以满足业务需要。,软件逻辑架构描绘了系统中运行的软件的结构。,第8章 架构建模17这里对各种逻辑架构做一个对比说明。,8.4.1,类图,第,8,章 架构建模,18,使用,UML,,可以用类图中的类设计逻辑架构。一个类的图标是一个矩形方框,其中包含了三个水平的分割栏。,第一栏是类名,它是类的逻辑描述,通常是一个名字。,例如,类的名字可以是“,Customer(,顾客,)”,、“,Employee(,雇员,)”,和“,Oder(,订单,)”,,如图所示。,8.4.1 类图第8章 架构建模18使用UML,可以用类图,第,8,章 架构建模,19,第二栏是类的属性,(attribute),,它用于描述类的不同特性。,类的属性进一步说明了这个类的细节。,属性本身还有更多的特性,用于描述属性携带的数据类型。,属性类型在,UML,类的图标中位于属性名的右侧,如图所示。,第8章 架构建模19第二栏是类的属性(attribute),,第,8,章 架构建模,20,第三栏是类的操作,(operation),。,操作用于描述类的行为。,操作定义了系统的执行逻辑,既包括基本的逻辑也包括复杂的逻辑。,第8章 架构建模20第三栏是类的操作(operation)。,第,8,章 架构建模,21,在类图中可以使用多种不同类型的关联,它们展示了类之间或类与其他建模元素之间的关系。下图简单定义了各种不同类型的关联。,第8章 架构建模21在类图中可以使用多种不同类型的关联,它们,第,8,章 架构建模,22,第8章 架构建模22,第,8,章 架构建模,23,在图中,角色名之前有一个加号“,+”,。在定义代码时,加号说明了其后的角色是公有的。一个角色可以是公有的,(public,,用“,+”,号表示,),、受保护的,(protected,,用“,#”,号表示,),、私有的,(private,,用“,-”,号表示,),,或者具体于实现的,(implementation,,不用专门的符号表示,),。,公有角色可以被所有需要该角色的模型元素访问,受保护的角色只能被属于该角色的一部分的关联或角色访问,私有角色只能通过其所属的关联的另一端的模型元素访问,具体于实现的角色能够被实现该角色的包内的所有元素访问。,第8章 架构建模23在图中,角色名之前有一个加号“+”。在定,第,8,章 架构建模,24,在逻辑架构模型的设计中,泛化可用于展示类的继承层次关系。,例如,一个“,Employee”,可以是“,Fulltime(,全职,)”,的,或“,Part-time(,兼职,)”,的。在定义一个,Employee,类时,可能想通过添加属性来表明雇员的不同类型。但是对于非技术评阅者来说,用泛化关系来表示雇员的不同类型将使模型更加清晰,如下图所示。图中的继承层次说明了全职雇员和兼职雇员都是雇员,它们都继承了父类,Employee,的所有属性和操作。,第8章 架构建模24在逻辑架构模型的设计中,泛化可用于展示类,8.4.2,系统和子系统,第,8,章 架构建模,25,构造型,(stereotype),使用构造型,可以扩展,UML,以满足你更具体的建模需要。,构造型本身也是一个,UML,模型元素,它的,作用是扩展已有的模型元素,。,用构造型扩展后的模型元素具有了扩展后的新特性。,UML,中,在一个模型元素中增加了构造型图标“,”,后,该图标就表示用注明的构造型扩展后的模型元素。,8.4.2 系统和子系统第8章 架构建模25构造型(ste,第,8,章 架构建模,26,如下图所示,系统,(system),是一个用构造型“,”,扩展的包。,系统代表了属于某一个特定项目的所有模型元素。在建立更详细的模型时,还可以通过构造型“,”,和“,”,对系统进一步分解。,第8章 架构建模26如下图所示,系统(system)是一个用,第,8,章 架构建模,27,一个系统通常可以被分解为多个子系统,(subsystem),。,子系统,如同系统,是通过一个构造型“,”,扩展的包。如下图所示。,一个子系统由整个系统中的一组模型元素构成。,第8章 架构建模27一个系统通常可以被分解为多个子系统(su,第,8,章 架构建模,28,因为系统和子系统是用构造型扩展了的包,因此它们具有包的一切性质,符合包的所有使用规则。这意味着系统和子系统内的模型元素属于代表系统或子系统的包而不属于其他任何包。,子系统为项目的划分提供了手段。,既然一个系统包含了多个子系统,那么子系统内的所有元素也同样属于包含子系统的系统。可以用一个图来描绘,系统的逻辑架构,(,见下图,),。,第8章 架构建模28因为系统和子系统是用构造型扩展了的包,因,8.5,物理架构,第,8,章 架构建模,29,架构可以分别在逻辑层和物理层描述。,逻辑架构是一个较通用的架构,它较少地依赖技术细节。,物理架构更详细地描述软件和系统的设计,包括架构中规定要采用的不同技术细节,还描述了软件自身及软件与其他软件是如何集成的。,8.5 物理架构第8章 架构建模29架构可以分别在逻辑层和,8.5.1,操作,第,8,章 架构建模,30,操作描述了与类的职责和类之间的交互有关的业务逻辑。,例如,“,getCustomer”,是,Customer,类中的一个操作。,这个操作描述了与如何查询顾客信息有关的应用逻辑,(,见图,),。,8.5.1 操作第8章 架构建模30操作描述了与类的职责和,第,8,章 架构建模,31,尽管类的所有成分最终都将被转换为物理代码并成为可运行的软件应用,但是操作的具体细节是在系统和模型的物理实现时考虑的更具体的类成分。,在逻辑架构模型中,操作用于说明软件的预期行为,而在物理架构中操作定义了系统的物理实现中的算法、函数等技术细节。,操作描述了系统的功能,以及系统在实现中要用到的技术。,第8章 架构建模31尽管类的所有成分最终都将被转换为物理代码,8.5.2,构件图,第,8,章 架构建模,32,构件,(component),由一个或多个类组成,它描述了一个应用的一部分,这些部分可以被组装和重用。,基于构件的架构,(component-based architecture,,,CBD),是一种系统设计方法,在这样的系统设计方法中,一个系统由多个构件组装而成。,将系统分解为多个小的部分,(,构件,),分别开发,这是提高开发效率的重要手段,开发出的小的部件可以被用来组装成完整的系统。这种开发方法可以重用已经开发好的软件构件,而不是每次都要重新开发。,8.5.2 构件图第8章 架构建模32构件(compone,第,8,章 架构建模,33,基于构件的架构还可以让不同的小组共同开发一个软件,他们可以通过接口将各自开发的部分组装起来。接口,(interface),是一个命名了的操作集合,这些操作让构件通过接口代码一起协同工作。一个构件可以通过它的接口部署的特定技术和代码向其他构件提供信息或者从其他构件获取信息。图中显示了构件图中的构件和接口的表示法。,第8章 架构建模33基于构件的架构还可以让不同的小组共同开发,第,8,章 架构建模,34,接口用一个圆圈形状的图标表示,也可以用构造型“,”,扩展的类来表示。,构件图展示了系统中的构件和构件是如何被组装的,下图给出了一个构件图的例子。,第8章 架构建模34接口用一个圆圈形状的图标表示,也可以用构,第,8,章 架构建模,35,可以使用构件图对系统的不同部分单独建立架构模型。,还可以使用构件图对应用的内部细节建模。,还可以用构件图来说明不同的应用是如何协同工作的。,举一个例子,考虑两个可执行文件,(,exe),,其中的一个可执行文件调用了另一个,这两个可执行文件都可以被建模为构件。当编写,Java,应用程序时,每个,Java,源代码文件也可以用,UML,表示为一个构件。,这个例子说明,架构的不同层次可以,(,事实上经常是这么做的,),被建模为构件。,类代表了程序代码的逻辑架构,。,构件代表了系统的物理架构,并标识出了需要被实际实现的物理单元,。,第8章 架构建模35可以使用构件图对系统的不同部分单独建立架,8.5.3,部署图,第,8,章 架构建模,36,部署图描述系统的运行时架构。,部署图中可以包括节点,节点代表了一个硬件单元,其中通常内置了存储器和处理器。,节点有两种类型:处理器,(Processor),和设备,(Device),。,有时,多个应用运行于一个设备中的不同处理器上,也可以通过部署图描述。例如,一个硬件服务器通常都包含了多个处理器。服务器的部署图可以展示出多个应用可以运行于同一个服务器中的不同处理器。,下图说明了部署图中的节点表示法。,8.5.3 部署图第8章 架构建模36部署图描述系统的运行,8.5.4,构造型,第,8,章 架构建模,37,在所有,UML,图中都可以使用构造型,这样可以更好地定义建模元素,让每个人在看到模型后都能理解这个模型是对什么建模的,模型背后讲述了什么故事。,UML,定义了一些标准构造型。,一个构造型可以只是一个模型元素的标题,但是它也可是一个图标,图标可以更好地说明构造型的含义,并为,UML,模型中增加了易于理解的图形视图。,部署图中的几种部署元素也可以图标表示,例如各种类型的飞机和轮船,(,见下图,),。,8.5.4构造型第8章 架构建模37在所有UML图中都可以使,第,8,章 架构建模,38,第8章 架构建模38,第,8,章 架构建模,39,也可以在更传统的意义上使用部署图:用于理解组织中的硬件和应用以及它们如何存在于组织之中。下图给出了这样的一个部署图的例子。,第8章 架构建模39也可以在更传统的意义上使用部署图:用于理,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!