用例图——你真的懂了吗?
一般我们介绍一个事物的时候,都会从是什么、为什么、怎么样三个角度来阐述问题。对于我们用例图来说,除了这三个方面,还要加上一个何时画得问题。然而,这些知识都是比较基础的东西,网上的资料比比皆是,本文就不再赘述了。那么本文要讲什么呢?带领大家深入剖析一下用例图,重点介绍一下用例图和其它几种图的关系,或者说是用例图和程序的关系。
首先,我们用一个实例带领大家走进UML的世界。
下图是一张最普通的软件整体结构图,我们将以下图这种结构为例,详细给大家讲一下用例图和其它图的关系。

下图是一张简单的机房管理用例图,为方便大家理解,用例的命名等我就都用中文了。机房管理人员可以执行上机和下机操作。

用例图侧重于描述系统有何方法,那么这些方法在哪里体现呢?下面大家看一下facade(外观层)中的上机管理类。

从上面这两张图,我们可以看出,用例图中的用例和facade中类的方法是一一对应的。
下面,我们继续细化用例图。

让我们看一下BllManager(业务逻辑层)中类的方法。

从上面两图我们可以看出,细化后的用例和BllManager中类的方法是一一对应的。
完善后的用例图:

上机操作对应的时序图:

时序图就是程序代码的体现,这样一来,用例图就一步一步地转到了代码实现。
通过上面这个例子,我想说明什么呢?用例图侧重于系统方法的描述,而粗粒度的用例图基本上与外观层的方法对应,进一步细化的用例图基本上与业务逻辑层的方法对应。那么外观层、业务逻辑层中的类是如何产生的呢?这些类是对方法的归类、综合后形成的。而时序图展示的对各层类的调用关系就最终形成了程序代码。当然用例图与界面层的菜单也有着紧密的联系。
综上所述,用例图在整个程序的开发过程中起着至关重要的作用。我认为,用例图在UML九种图中占据着霸主地位,如此重要的用例图,你真的懂了吗?
- 16楼a1314517love昨天 20:00
- 强!!! 长收
- Re: xiaoduishenghuogo昨天 20:09
- 回复a1314517loven谢谢
- 15楼lilongsheng1125昨天 20:00
- 概述级用例可以对应概念类,用户目标级的用例可以对应设计类。粗用例对应粗类。很好
- 14楼wangxuhebeibd昨天 19:59
- 哥 。 你真受欢迎。。 厉害。。[e03]
- Re: xiaoduishenghuogo昨天 20:00
- 回复wangxuhebeibdn呵呵,一般一般啦!
- 13楼zs15932616453昨天 19:57
- 顶一个
- Re: xiaoduishenghuogo昨天 19:58
- 回复zs15932616453n谢谢
- 12楼aboy123前天 08:15
- 刚懂
- Re: jianxin1009前天 10:24
- 回复aboy123n粗粒度的用例图基本上与外观层的方法对应,进一步细化的用例图基本上与业务逻辑层的方法对应.n首先,你说的方向反了(因为是先有的用例)。我个人理解这只是不同阶段的用例而已。n其次,在外观进行业务逻辑,是否值得商确?
- Re: xiaoduishenghuogo昨天 12:58
- 回复jianxin1009n我说的“粗粒度的用例图基本上与外观层的方法对应”是从最终的结果来看,并没有强调出现的先后顺序。你说的这是不同阶段的用例和我的说法大同小异,没有本质的区别。n至于在外观层是否进行业务逻辑,这就看你怎么看“业务逻辑”了,如果把调用B层方法的先后顺序看成业务逻辑的话,那么外观层肯定会涉及到业务逻辑的!
- 11楼liutengteng130前天 20:35
- 支持,加油
- Re: xiaoduishenghuogo前天 20:35
- 回复liutengteng130n谢谢!
- 10楼lbq613613前天 16:58
- 基础!
- Re: xiaoduishenghuogo前天 19:41
- 回复lbq613613n恩呢!
- 9楼gwblue前天 16:40
- 学习了!
- Re: xiaoduishenghuogo前天 16:41
- 回复gwbluenO(∩_∩)O~
- 8楼hejingyuan6前天 16:39
- 学习了
- Re: xiaoduishenghuogo前天 16:40
- 回复hejingyuan6n欢迎 耶
- 7楼wangyongxia921前天 15:42
- 顶一个!
- Re: xiaoduishenghuogo前天 16:39
- 回复wangyongxia921n谢谢哈
- 6楼yinjingjing198808前天 15:03
- 一个全新的理解!看来偶们的用例图、、、
- Re: xiaoduishenghuogo前天 15:19
- 回复yinjingjing198808n嘿嘿!
- 5楼xvshu前天 11:11
- 我刚看懂一点
- Re: xiaoduishenghuogo前天 11:29
- 回复xvshun呵呵,以后你会懂的!
- 4楼xqf309前天 10:45
- 包图加上跟外观到实体的线吧
- Re: xiaoduishenghuogo前天 10:46
- 回复xqf309n有道理!
- 3楼han_yankun2009前天 10:44
- 好棒
- Re: xiaoduishenghuogo前天 10:45
- 回复han_yankun2009n谢谢支持!
- 2楼wwwwenhuan3天前 10:12
- 概述级用例可以对应概念类,用户目标级的用例可以对应设计类。用例在细化,类也在细化。不错,很好,对用例的理解很深入。
- Re: xiaoduishenghuogo3天前 10:20
- 回复wwwwenhuann嘿嘿,用例图太重要了,所以需要好好理解!
- 1楼han_yankun20093天前 10:09
- 加油师哥
- Re: xiaoduishenghuogo3天前 10:11
- 回复han_yankun2009n一起加油呗!