包图
在UML的建模机制中,模型的组织是通过包来实现的。包把建立的各种模型组织起来,形成各种功能或用途的模块,并可以控制包中元素的可见性以及描述包之间的依赖关系。通过这种方式,系统模型的实现者可在高层把握系统的结构。
包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。
包图由两个矩形表示(单选项卡),包图名称写在大矩形中间。除包名外,还有元素,元素可见性,包构造型及包间的关系组成。
在包下可以创建各种模型元素:类,接口,构件,节点,用例,图以及其它包。
包图的作用
包图可以描述需求,设计的高阶概况;包图通过合理规划自身功能反应系统的高层架构,在逻辑上将系统进行模块化分解;包图最终是组织源码的方式。
例:
构件图
构件图提供系统物理视图,在一个非常高的层次上显示系统中的构件与构件之间的依赖关系。
将系统中可重用的模块封装为具有可替代性的物理单元,就是构件。它是一个系统或子系统中的封装单元,提供一个或多个接口,是系统高层的可重用部件。构件作为系统中的一个物理实现单元,包括:软件代码(源码,二进制代码,可执行文件,脚本,命令行等),带有身份标识并且有物理实体的文件(文档,数据库)。
标准构件用左边有两个小矩形的大矩形表示,构件名在大矩形内部。构件有不同的类型。
构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。
例:(astah中的构件图与rational rose2003中的不同)
部署图
部署图描述了一个系统运行时的硬件节点,在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图。部署图包括两种基本模型元素:节点和节点间的连接。每个模型中,仅包含一个部署图。节点包括两种类型:处理器和设备。
处理器指本身具有计算能力且能执行各各软件的节点,如服务器。处理器具有处理能力,所以在描述处理器方面应当包含了处理器的调度和进程。调度指在处理器处理其进程中为实现一定的目的而对共同使用的资源进行时间分配。调度方式包含:抢占,无优先级,循环,算法控制,手动执行。进程表示一个单独的控制纯种,是系统中一个重量级的并发和执行单元。
设备指本身不具备处理能力的节点,如打印机。
连接用来表示两个节点之间的硬件连接。节点之间的连接可以通过光缆直接进行,或通过卫星等方式非直接连接,通常连接都是双向的。连接用实线表示,实线上可加连接名和构造型。
系统开发人员和部署人员可以利用部署图去了解系统的物理运行情况。如果,开发的软件系统只需在一台计算机上运行,且使用的标准设备,则不需要为它画出系统部署图。部署图只需要给那些复杂的物理运行情况进行建模。
部署图显示了系统的硬件,安装在硬件上的软件,用于连接硬件的各种协议和中间件等。
部署模型的目的:
描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。
例:(astah中部署图)