第08篇UML架构建模课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第08篇UML架构建模课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 UML 架构 建模 课件
- 资源描述:
-
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、化表示。一个软件架构对软件的预期实现提供了可视化表示。在设计软件时,多个构件或者部件通常要通过接口联系起来,在设计软件时,多个构件或者部件通常要通过接口联系起来,共同组成完整的应用。通过对软件架构建模,能够可视化地说共同组成完整的应用。通过对软件架构建模,能够可视化地说明这些不同的构件如何组成一个应用,数据和业务过程如何被明这些不同的构件如何组成一个应用,数据和业务过程如何被这些构件共享。这些构件共享。企业架构试图直接反映业务需要,而软件架构则是通过描述符企业架构试图直接反映业务需要,而软件架构则是通过描述符合企业架构的软件设计来间接地反映业务需要。合企业架构的软件设计来间接地反映业务需要。软
展开阅读全文