一般我们介绍一个事物的时候,都会从是什么、为什么、怎么样三个角度来阐述问题。对于我们用例图来说,除了这三个方面,还要加上一个何时画得问题。然而,这些知识都是比较基础的东西,网上的资料比比皆是,本文就不再赘述了。那么本文要讲什么呢?带领大家深入剖析一下用例图,重点介绍一下用例图和其它几种图的关系,或者说是用例图和程序的关系。
首先,我们用一个实例带领大家走进UML的世界。
下图是一张最普通的软件整体结构图,我们将以下图这种结构为例,详细给大家讲一下用例图和其它图的关系。
下图是一张简单的机房管理用例图,为方便大家理解,用例的命名等我就都用中文了。机房管理人员可以执行上机和下机操作。
用例图侧重于描述系统有何方法,那么这些方法在哪里体现呢?下面大家看一下facade(外观层)中的上机管理类。
从上面这两张图,我们可以看出,用例图中的用例和facade中类的方法是一一对应的。
下面,我们继续细化用例图。
让我们看一下BllManager(业务逻辑层)中类的方法。
从上面两图我们可以看出,细化后的用例和BllManager中类的方法是一一对应的。
完善后的用例图:
上机操作对应的时序图:
时序图就是程序代码的体现,这样一来,用例图就一步一步地转到了代码实现。
通过上面这个例子,我想说明什么呢?用例图侧重于系统方法的描述,而粗粒度的用例图基本上与外观层的方法对应,进一步细化的用例图基本上与业务逻辑层的方法对应。那么外观层、业务逻辑层中的类是如何产生的呢?这些类是对方法的归类、综合后形成的。而时序图展示的对各层类的调用关系就最终形成了程序代码。当然用例图与界面层的菜单也有着紧密的联系。
综上所述,用例图在整个程序的开发过程中起着至关重要的作用。我认为,用例图在UML九种图中占据着霸主地位,如此重要的用例图,你真的懂了吗?