UML建模实例教程(第3版)课件 第9章 物理建模_第1页
UML建模实例教程(第3版)课件 第9章 物理建模_第2页
UML建模实例教程(第3版)课件 第9章 物理建模_第3页
UML建模实例教程(第3版)课件 第9章 物理建模_第4页
UML建模实例教程(第3版)课件 第9章 物理建模_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章物理建模19.1物理建模概述9.2组件图9.3部署图2本章将向读者详细介绍UML物理建模的基本内容。主要包括:物理建模概述、组件图及其绘制、部署图及其绘制等。本章的学习要点包括:组件图的功能及组成;绘制组件图;部署图的功能及组成;绘制部署图。39.1物理建模概述49.1物理建模概述5任务1了解物理建模的基本任务和主要内容。任务描述

6软件系统的物理架构详细描述系统的软件和硬件组成。其中的硬件结构包括不同的节点以及节点间如何连接;软件结构包括软件运行时,组件、进程、线程和对象的分布。物理架构还说明实现逻辑架构中定义的概念的代码模块的物理结构和相关性,通过科学、合理的物理设计有效地利用系统中的软、硬件资源。进行物理建模的主要目的是解决以下问题:类和对象物理上分布在哪一个程序或进程中?程序和进程在哪台计算机上运行?系统中有哪些计算机和其他的硬件设备?它们是如何连接在一起的?不同的代码文件之间有何关联?如果某一文件被改变,其他的文件是否需要重新编译?9.1物理建模概述7在建模过程中,将逻辑架构映射到物理架构,逻辑架构中的类和对象被映射到物理架构中的组件、进程和计算机。这种映射允许开发者根据逻辑架构中的类找到它的物理实现。反之,也可以跟踪程序或组件的描述找到它在逻辑架构中的设计。如前所述,物理架构关心的是实现,因而在软件系统建模时可以使用实现图。UML中的实现图是组件图和部署图。其中组件图包括软件组件,即代码单元和真正的文件(源代码和二进制代码等)的结构;部署图显示系统运行时的结构,包括物理设备和软件。9.1物理建模概述8物理架构中的硬件概念可以分为以下几种。1.处理器处理器是指执行系统中的程序的计算机。处理器可以是任意大小和类型,从嵌入式系统中的微处理器到超级计算机,从桌面计算机到便携式计算机,都称为处理器。一般来说,需要借助处理器运行系统中的软件。2.设备设备指的是目标系统所支持的设备,如打印机、路由器、读卡机等。它们一般被连接到控制它们的处理器上,提供输入/输出或网络连接功能。3.连接处理器之间有连接,处理器与设备之间也有连接。连接表示两个节点间的通信机制,可以用物理媒体(如光纤)和软件协议(如TCP/IP)来描述。

9.1.1硬件9.1物理建模概述9在软件系统的物理架构中,一般将软件定义为:软件由“部件”组成,这里的“部件”可以是包、模块、组件、名称空间或子系统。在架构中处理的模块的公共名字是子系统,子系统有一个接口,可以将其内部分解成更详细的子系统或类和对象。可以将子系统分派给进程执行,再将进程指派给计算机执行。在UML中,将子系统抽象为类包。一个包将许多类组合成一个逻辑组,但没有定义语义。在设计中,通常定义一个或多个组件作为子系统的外观,外观组件提供访问子系统(包)的接口,是系统中的其余部分唯一可见的组件。通过外观组件的使用,包成为一个非常模块化的单元,其内部设计细节被隐藏起来,只有外观组件与系统中的其他模块有关系。在查看包时,对于那些想利用包提供的服务的人来说,只对外观组件感兴趣。有的时候,在图中只显示外观组件。

9.1.2软件9.1物理建模概述10描述软件的主要概念是组件、进程、线程和对象。1.组件在UML中,组件是指“在一组模型元素实例的物理打包时可重用的部分”。意思是说,组件是系统功能的物理实现(如源代码文件),它实现类图或交互图中定义的逻辑模型元素。组件可以看作开发的不同阶段(编译时、链接时和运行时)的成果。2.进程和线程进程表示重量控制流,而线程则代表轻量控制流。它们都被用来描述活动类,该活动类创建的活动对象被分配给一个可执行的组件执行。3.对象对象没有自己的执行线程。只有当其他东西发送消息给它们时(调用它们的操作)它们才运行。它们可被指派给一个进程或线程(一个可执行的对象)或直接指派给一个可执行的组件。

9.1.2软件9.1物理建模概述9.2组件图119.2组件图12任务2了解组件图的基本功能和绘制方法,并绘制WebShop电子商城系统的组件图。任务描述

13组件图(ComponentDiagram)描述软件组件及组件之间的关系,显示代码的结构。组件是逻辑架构中定义的概念和功能(类、对象及它们之间的关系、协作)在物理架构中的实现。也可以理解为:组件就是开发环境中的实现文件。借助组件图,可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时的依赖关系,也可以将系统划分为内聚组件并显示代码自身的结构。

9.2.1组件图概述9.2组件图典型组件图14组件图中通常包含的元素有组件、接口和依赖关系等。每个组件实现一些接口,并使用另外的接口。如果组件间的依赖关系与接口有关,那么可被具有同样接口的其他组件替代。在UML中,组件符号用矩形来表示,如“”,右上角标注组件图标。组件图标由一个大矩形和两个小矩形组成。组件名放在组件符号的大矩形内。组件间的相关性连接,用一条带箭头的虚线来表示,表示一个组件只有同另一个组件在一起才有一个完整的定义。从源代码组件A到另一个组件B的相关性是指从A到B之间有一个与语言有关的相关性。在编译化语言中,可能意味着B的改变可能需要重新编译A,因为编译A时需要用到组件B中的定义。如果组件是可执行的,相关性连接可以用来描述一个可执行的程序需要哪些动态链接库才能运行。

9.2.1组件图概述9.2组件图15

组件图中的组件是定义了良好接口的物理实现单元,是系统中可替换的物理部件。组件表示将类、接口等逻辑元素打包而成的物理模块。如前所述,组件可以是编译时的组件、链接时的组件或可执行组件。组件使一个系统更具灵活性、可扩展性和可重要性。为了实现组件的灵活性,它必须符合下列标准:组件的内部结构必须隐藏,组件的内部对象和外部对象之间不能有依赖关系;组件必须提供接口,这样外部的对象才能和组件进行交互;组件内部结构必须独立,内部的对象不应该知道外部的对象;组件必须指定需要的接口,这样它们才能访问外部的对象。

9.2.2组件图组成——1.组件9.2组件图16

组件图在绘制组件图时,需要给出组件的名称和组件的种类。(1)名称。每个组件都必须有一个不同于其他组件的名称。组件的名称是一个字符串,位于组件图标的内部。在实际应用中,组件名称通常是从现实的词汇中抽取出来的短名词或名词短语,并根据目标操作系统添加相应的扩展名。(2)组件的种类。组件通常包括编译时的源组件、链接时的二进制组件和运行时的可执行组件三种类型:源组件:源组件只在编译时有意义。通常指实现一个或多个类的源代码文件。二进制组件:通常指对象代码,它是源组件的编译结果。它应该是一个对象代码文件、一个静态库文件或一个动态库文件。可执行组件:可执行组件是一个可执行的程序文件,它是链接(静态链接或动态链接)所有二进制组件所得到的结果。9.2组件图

9.2.2组件图组成——1.组件17工件代表的是软件系统中的物理实体,如可执行文件、库、软件组件、文档及数据库等。一般来说,工件用在部署图中,但是也可以用在组件图中来展示建模元素,如组件或者类,建模元素可以以多种不同的工件来显示。工件部署在节点上,并且指定了部署和系统使用的或者提供的操作的物理信息。在工件图标中,展示了它的属性和操作的一些信息。一个工件有一个唯一的名字,它描述了所代表的文件或者软件组件。Umbrello中表示文件、库、数据表及默认情况的工件如图所示:9.2组件图

9.2.2组件图组成——2.工件默认工件表示文件/库的工件表示数据表的工件183.接口在组件图中,组件可以通过其他组件的接口来使用其他组件中定义的操作。通过给接口命名,可以避免在系统中各个组件之间直接发生依赖关系,有利于组件的维护。组件图中的接口表示方法与组件类似。组件的接口分为两种:提供的接口和需要的接口。提供的接口描述了类或组件提供给客户的服务,需要的接口指定了要调用这个类或组件所需要的接口。9.2组件图

9.2.2组件图组成4.接口和组件的关系接口和组件的关系分为两种:实现关系和依赖关系。接口和组件之间用实线连接表示实现关系,接口和组件之间用虚线箭头表示依赖关系。组件图中的接口199.2组件图

9.2.3绘制WebShop电子商城组件图按钮按钮名称功能Selection选择工具Note添加注释Anchor将图中的元素与注释相连Label添加文本标签Box绘制盒子,将某些元素框在一起Subsystem绘制子系统Interfacerequired绘制接口需求Component绘制组件Port绘制端口Artifact绘制工件Association绘制双向关联关系DirectionalAssociation绘制单向关联关系Dependency绘制依赖关系Generalization绘制泛化关系组件图工具栏按钮209.2组件图

9.2.3绘制WebShop电子商城组件图绘制WebShop电子商城组件图。详见教学视频《绘制组件图》WebShop电子商城前台系统的组件图(1)阅读右图所示的C++系统的组件图,尝试描述该系统中各组件之间的关系。

(2)绘制图书管理系统的组件图。

1.操作要求

2.操作提示

(1)通过学习小组讨论和上网查询资料形式完成。(2)注意组件图和程序功能模块图之间的异同。C++系统的组件图9.3部署图22239.3部署图

9.3.1部署图部署图(DeploymentDiagram)描述处理器、设备、软件组件在运行时的架构。它是系统拓扑的最终的物理描述,即描述硬件单元和运行在硬件单元上的软件的结构。通过部署图,可以寻找一个指定的节点,从而了解哪一个组件正在该节点上运行,哪些逻辑元素(类、对象和协作等)是在本组件中实现的,并且最终可以跟踪到这些元素在系统的初始需求说明(在需求建模中完成的)中的位置。部署图可以显示实际的计算机和设备以及它们之间的必要连接,也可以显示连接的类型。此外,部署图也可以包含包或子系统,它们可以将系统中的模型元素组织成较大的模块。249.3部署图

9.3.1部署图

典型的部署图如下图所示:UML部署图也经常被认为是一个网络图或技术架构图,它可以用来描述一个简单组织的技术基础结构,如右图所示:典型的部署图简单组织网络结构部署图259.3部署图

9.3.2部署图组成部署图一般在开发的实现阶段开始准备,它展示了在分布式系统中所有的物理节点,在每个节点上保存的工件和组件,以及其他元素等。节点指的是物理设备,如计算机、传感器、打印机,以及其他支持系统的运行环境。通信路径和部署关系对系统的连接进行建模。因为部署图关注的是运行时处理节点的配置和它们的组件及工件,通过这种图可以评估分布式的复杂性和资源的分配情况。1.节点节点是拥有某些计算资源的物理对象。这些资源包括:带处理器的计算机,外部设备如打印机、读卡机、通信设备等。在UML中,节点用一个立方体表示。部署图中节点示例269.3部署图

9.3.2部署图组成2.部署图中的关系(1)关联关系:部署图节点间通过通信关联在一起。在UML中,这种通信关联用一条直线表示,说明在节点间存在某类通信路径,节点通过这条通信路径交换对象或发送消息。在UML中,部署图中的关联关系的表示方法与类图中关联关系的表示方法相同,都是一条直线。节点间的通信关联(2)依赖关系:依赖关系在类图中已经做了详细的介绍,可参见类图中对依赖关系的介绍。(3)泛化关系:泛化关系在类图中已经做了详细的介绍,可参见类图中对泛化关系的介绍。279.3部署图

9.3.2部署图组成3.组件在部署图中,可以将可执行组件的实例包含在节点实例符号中,表示它们处在同一个节点实例上,且在同一个节点实例上执行。从节点类型可以画一条带有构造型<<support>>的相关性箭头线到运行时的组件类型,说明该节点支持指定组件。当一个节点类型支持一个组件类型时,允许在该节点类型实例上执行它所支持的组件的实例。289.3部署图

9.3.3绘制WebShop电子商城部署图按钮按钮名称功能Selection选择工具Note添加注释Anchor将图中的元素与注释相连Label添加文本标签Box绘制盒子,将某些元素框在一起Object绘制类对象Interf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论