实例解析UML图形中UML用例图和类图用法

开发 架构
UML统一建模语言中共有九种UML图形,每种图形都有各自的特点,本文就向大家简单介绍一下UML图形中最常用的UML用例图和UML类图。

本文和大家重点讨论一下UML图形中UML用例图和UML类图,用例图描述了系统提供的一个功能单元,而类图表示不同的实体(人、事物和数据)如何彼此相关。它们之间有什么区别吗?请看本文详细介绍。

UML用例图

UML图形中用例图描述了系统提供的一个功能单元。用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的"角色"(actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。用例图一般表示出用例的组织关系--要么是整个系统的全部用例,要么是完成具有功能(例如,所有安全管理相关的用例)的一组用例。要在用例图上显示某个用例,可绘制一个椭圆,然后将用例的名称放在椭圆的中心或椭圆下面的中间位置。要在用例图上绘制一个角色(表示一个系统用户),可绘制一个人形符号。角色和用例之间的关系使用简单的线段来描述,如图1所示。

图1:示例用例图

 图字(从上到下):CD销售系统;查看乐队CD的销售统计;乐队经理;查看Billboard200排行榜报告;唱片经理;查看特定CD的销售统计;检索***的Billboard200排行榜报告;排行榜报告服务

UML图形中UML用例图通常用于表达系统或者系统范畴的高级功能。如图1所示,可以很容易看出该系统所提供的功能。这个系统允许乐队经理查看乐队CD的销售统计报告以及Billboard200排行榜报告。它也允许唱片经理查看特定CD的销售统计报告和这些CD在Billboard200排行榜的报告。这个图还告诉我们,系统将通过一个名为"排行榜报告服务"的外部系统提供Billboard排行榜报告。

此外,在用例图中,没有列出的用例表明了该系统不能完成的功能。例如,它不能提供给乐队经理收听Billboard200上不同专辑中的歌曲的途径--也就是说,系统没有引用一个叫做"收听Billboard200上的歌曲"的用例。这种缺少不是一件小事。在用例图中提供清楚的、简要的用例描述,项目赞助商就很容易看出系统是否提供了必须的功能。

类图

类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。UML图形中类图可用于表示逻辑类,逻辑类通常就是业务人员所谈及的事物种类--摇滚乐队、CD、广播剧;或者贷款、住房抵押、汽车信贷以及利率。类图还可用于表示实现类,实现类就是程序员处理的实体。实现类图或许会与逻辑类图显示一些相同的类。然而,实现类图不会使用相同的属性来描述,因为它很可能具有对诸如Vector和HashMap这种事物的引用。

类在类图上使用包含三个部分的矩形来描述,如图2所示。最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说"方法")。

图2:类图中的示例类对象

根据我的经验,几乎每个开发人员都知道这个类图是什么,但是我发现大多数程序员都不能正确地描述类的关系。对于像图3这样的类图,您应该使用带有顶点指向父类的箭头的线段来绘制继承关系1,并且箭头应该是一个完全的三角形。对于UML图形中类图来说如果两个类都彼此知道对方,则应该使用实线来表示关联关系;如果只有其中一个类知道该关联关系,则使用开箭头表示。

图3:一个完整的类图,包括了图2所示的类对象

在图3中,我们同时看到了继承关系和两个关联关系。CDSalesReport类继承自Report类。一个CDSalesReport类与一个CD类关联,但是CD类并不知道关于CDSalesReport类的任何信息。CD类和Band类都彼此知道对方,两个类彼此都可以与一个或者多个对方类相关联。

【编辑推荐】

  1. Visio画UML图基本操作及技巧解析
  2. 解析五大UML图形的建立步骤
  3. UML图中用例图和活动图简介
  4. 技术分享 详解几种UML图形的建立步骤
  5. UML中各种UML图形的建立步骤简明介绍

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-06-18 14:56:15

UML综合实例

2010-07-06 16:19:56

UML图形

2010-07-02 08:57:45

UML用例图

2010-06-29 12:30:15

UML实例中ATM类图

2010-06-13 14:37:04

UML实践

2010-06-07 19:02:52

UML用例图

2010-07-12 12:32:35

UML用例图

2010-06-08 17:01:34

UML用例图

2010-06-13 14:51:27

UML实践

2010-07-12 10:15:11

UML对象图

2010-07-12 10:25:44

UML类图

2010-07-12 09:37:26

UML建模

2010-06-10 10:20:21

2010-06-30 17:36:58

UML用例图

2010-07-02 10:25:50

UML模型图

2010-07-09 09:00:22

UML建模

2010-06-11 10:31:19

UML部署图

2010-06-13 15:43:32

UML用例图

2010-06-10 09:04:18

UML用例图

2010-06-11 17:59:24

UML对象图
点赞
收藏

51CTO技术栈公众号