编辑: star薰衣草 | 2019-07-02 |
图表示成常见的模型.通常用下列 4种图之一观察系统的静态部分. 1)类图 2)对象图 3)构件图 4)实施图 经常要用另外5种图观察系统的动态部分. 1)用况图 2)顺序图 3)协作图 4)状态图 5)活动图 UML定义了这9种图. 你创建的每一个图都很可能是这 9种图之一,或偶尔是为你的项目或组织定义的另一种图. 每个图都必须有一个在它的语境中唯一的名称,以便能够查阅到特定的图并能与其他的图相互 区分.除了非常微小的系统外的任何系统,都要把图组织成包. 【在第12章中讨论包. 】 在UML的同一张图中,可以设计元素的任何组合.例如,可以在同一张图中显示类和对象 (常见) ,或者可以在同一张图中显示类和构件(合法但不常见) .虽然没有什么能阻止你把不同 种类的建模元素胡乱地放在同一张图中,但较为常见的是把种类大致相同的元素放于在同一张 图中.事实上, UML定义的图是根据在图中最经常使用的元素来命名的.例如,如果要对一组 类和它们之间的关系进行可视化,则要使用类图.类似地,如果要对一组构件进行可视化,则 要使用构件图. 注释 在实践中,你创建的所有图都是两维的,这意味着它们都是绘制在纸上、白板上、 信封的背面或计算机显示器上的顶点和弧的平面图. UML允许创建三维图,即有深度 的图,允许在模型中 漫游 .一些虚拟现实研究组已经演示了这种 UML的高级用法. 1. 结构图 现有的4种UML结构图可用于对系统的静态方面进行可视化、详述、构造和文档化.可以把 系统的静态方面看作是对系统的相对稳定的骨架的表示.正如一所房屋的静态方面由墙、门、 窗、管子、电线和通风管等事物的布局组成一样,软件系统的静态方面由类、接口、协作、构第7章 图计计65 下载 件和节点等事物的布局组成. UML的结构图大致上是围绕着建模时发现的几组主要事物来组织的. 1)类图 类、接口和协作 2)对象图 对象 3)构件图 构件 4)实施图 节点 ? 类图 类图(class diagram)显示了一组类、接口、协作以及它们之间的关系.在面向对象系统建 模中类图是最常用的图.用类图说明系统的静态设计视图.包含主动类的类图用于表达系统的 静态过程视图. 【在第8章中讨论类图. 】 ? 对象图 对象图(object diagram)显示了一组对象以及它们之间的关系.用对象图说明在类图中所 发现的事物实例的数据结构和静态快照.对象图也像类图那样表达系统的静态设计视图或静态 进程视图,但它是从现实或原型方面来透视的. 【在第14章中讨论对象图. 】 ? 构件图 构件图(component diagram)显示了一组构件以及它们之间的关系.用构件图说明系统的 静态实现视图.构件图与类图相关,通常把一个构件映射到一个或多个类、接口或协作. 【在第 29章中讨论构件图. 】 ? 实施图 实施图(deployment diagram)显示了一组节点以及它们之间的关系.用实施图说明体系结 构的静态实施视图.实施图与构件图相关,通常一个节点包含一个或多个构件. 【在第30章中讨论 实施图. 】 注释 这4种图有一些常见的变体,这要根据它们的主要内容来命名.例如,为了说明 在结构上把系统分解成子系统,可以创建子系统图.子系统图就是一个类图,其中主要 包含子系统. 2. 行为图 UML的5种行为图用于对系统的动态方面进行可视化、详述、构造和文档化.可以把系统的 动态方面看作是对系统变化部分的表示.正像房屋的动态方面是由气流和人在房间中走动组成 一样,软件系统的动态方面也是由诸如随时间变化的信息流和在网络上构件的物理运动之类的 事物组成. UML的行为图大致上是按照你能对系统的动态进行建模的几种主要方式来组织的. 1)用况图 组织系统的行为 2)顺序图 注重于消息的时间次序 3)协作图 注重于收发消息的对象的结构组织 4)状态图 注重于由事件驱动的系统的变化状态 5)活动图 注重于从活动到活动的控制流 ? 用况图 66计计第二部分 对基本结构建模 下载 第7章 图计计67 下载 用况图(use case diagram)描述了一组用况和参与者(一种特殊的类)以及它们之间的关 系.可以用用况图描述系统的静态用况视图.用况图对于系统行为的组织和建模特别重要. 【在第17章中讨论用况图. 】 下述的两种图以及最后的两种图在语义上是等价的,这意味着可以用一种行为图对系统的 动态建模,然后再把它转化为另一种图而不丢失信息.这可使你思考系统语义的不同方面.例如,你可能要先创建说明消息时间次序的顺序图,然后把顺序图转化为协作图,以便开发参加 协作的对象类之间的结构关系(也能把协作图转化为顺序图) .类似地,可能开始用状态图说明 由事件驱动的系统响应,然后把它转化为注重于控制流的活动图(也能把活动图转化为状态图) . UML提供这些在语义上等价的图的原因是:对系统动态建模显然是困难的,经常需要同时从多 个角度去攻克难题. 交互图(interaction diagram)是顺序图和协作图的统称.所有的顺序图和协作图都是交互 图;