UML 中的用例图解析以及starUML详细介绍 UML中的用例(Use Case)概念分析及StarUML实例

时间:2024-03-10 18:03:16


UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述。用例图由参与者(Actor)、用例 (Use Case)、系统边界、箭头组成,用画图的方法来完成。用例描述用来详细描述用例图中每个用例,用文本文档来完成,以及由箭头所组成的各种关系,包括泛 化,包含,扩展等。本文准备向大家介绍以下内容,所有图示均用PowerDesigner所画.

u       用况 或者可以叫用例

u       参与者

u       泛化

u       <<use>>

u       <<include>>

u       <<extend>>

u       用例描述 

1.              用况( use case )  

  

                             图1 用况图 

是对一组动作序列(其中包括它的变体)的描述,系统执行该动作为执行此动作的参与者产生一个可观察的结果值。比如你使用计算器,这里可以把计算器看作为用况,参与者是登峰,登峰按了3+3(用况执行的序列),计算机器返回一个结果6。 

2.              参与者 (Actor)

 

参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是 时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系 统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简 笔人物画来表示,人物下面附上参与者的名称。

3.              泛化

泛化和类中的泛化概念是一样的,子用况继承父用况的行为和含义,还可以增加或覆盖父用况的行为; 子用况可以出现在任何父用况出现的位置(父和子均有具体的实例)。下面给出两种图示来说明泛化的概念和含义                                             

           

    
    
    

图2 含义继承                                 图3 行为继承

  4. <<user>>

<<use>>: 其关系非常象一个函数调用或一个子过程以这种方式使用的用例称为抽

象用例因为它不能单独存在而必须被其它用例使用,请看下图

 

 

           图4 使用<<use>> 示例

 

 

5. <<include>>

怎么解释这个定义呢? 还是说明一下它的功能吧,<<include>> 可以把几个用例的公共步骤分离出来成为一个单独的被包含用例。学过C 的朋友知道它的含义了吧。呵呵

好的,定义都已经知道了,下面用一个示例来加深大家的印象。假如有个人事系统,经理可以查看员工的信息,并可以增加,修改和删除,但每次执行这三个操作时,都要定位到相应的员工,即先查询定位到要操作的员工。图5给出了这种表述的use case , 请理解<<include>> 的含义

 

 

                          图5 <<include>> 的用法

6 . <<extend>>

  <<extend>> 为已存在用例添加新的行为提供了一种方法。  基础用例提供了一组扩展点(extend points ),扩展点是钩子,在此可以添加新的行为,扩展用例提供了一组插入片段,这些片段可被插入到基础用例的钩子位置。需要注意的是基础用例不知道扩展用例的任何细节,它仅为扩展用例提供了钩子。这与<<include>> 不同,此时如果没有被包含用例,客户用例将不完整。图6说明了主述文字描述

 

               

              图6 <<extend>> 的用法

7.用例描述

   当然用例描述就是对用例的文字性说明。具体要描述哪些项,这里就不多说了,给大家一个具体示例一看就明白。假如有个家教网,下面只是一个抽象片段。主要是为了说明用例描述的含义。 

  

 

 

 
 

下面就是用例网站公告发布的用例描述

 

用例名称 :网站公告发布

用例标识号 :202

参与者 :负责人

简要说明 :
  负责人用来填写和修改家教网站首页的公告,公告最终显示在家教网站的首页上。

前置条件: 
  负责人已经登陆家教网站管理系统

基本事件流:
 1. 负责人鼠标点击“修改公告”按钮
 2. 系统出现一个文本框,显示着原来的公告内容
 3. 负责人可以在文本框上修改公告,也可以完全删除,重新写新的公告
 4. 负责人编辑完文本框,按“提交”按钮,首页公告就被修改
 5. 用例终止

其他事件流 A1 :
 在按“提交”按钮之前,负责人随时可以按“返回”按钮,文本框的任何修改内容都不会影响网站首页的公告

异常事件流 :
 1. 提示错误信息,负责人确认
 2. 返回到管理系统主页面

后置条件 :
 网站首页的公告信息被修改

注释:无

    


 以上是网上搜集到的信息,地址是:http://blog.csdn.net/liuguizi/article/details/6451106  

现在简单介绍下如何使用starUML画用例。

首先,打开starUML,如下图


(2)打开后会出现一个类似于选项卡的东西,我们在这里是做用例图,所以我们选择 空工程(和VS一样吧),确定,如下图。


(3)此时,软件为我们生成了一个空工程,

在右边的“Model Explorer”框中选定“Untitled”节点,这是整个工程的根节点,在右边的“Properties”框的“Title”项填写工程的名称。

   (3)StarUML中,模型是包含软件模式信息的元素,右键项目根节点,在弹出的菜单中选“Add/Model”,则在根节点下新建节点“Model1”,此时可以输入模型名称,也可以选定“Model1节点”,在右侧“Properties”框的“Name”项为其改名
(4)StarUML中,图则是表示用户特定设计思想的可视元素的集合,右键刚才添加的模型节点,在弹出菜单中选“Add Diagram”,在展开的下级菜单中有多种图供选择,这里我们选“Use CaseDiagram”,此时可以输入图名称,也选定“UseCaseDiagram1”节点,在右侧“Properties”框的“Name”项为其改名,如下图

 
此时我们已经建立一个空的用例项目,我们可以使用左边的图标进行,画图。在这里,我简单介绍下右边工具选项中出现的选项含义,
在左侧的“ToolBox”中的“UseCase”栏,选择“Actor”图标在左侧的“ToolBox”中的“UseCase”栏,选择“Actor”图标   他就是 用户
在左侧的“ToolBox”中的“UseCase”栏,选择“Generalization”图标, 它指的是 泛华关系
在左侧的“ToolBox”中的“UseCase”栏,选择“Association,它指的是 联系,用例和用户的联系
 
还在学习,先写这么多吧。