UML中的用例(Use Case)概念分析及StarUML实例
在UML中use case似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述。用例图由参与者(Actor)、用例 (Use Case)、系统边界、箭头组成,用画图的方法来完成。用例描述用来详细描述用例图中每个用例,用文本文档来完成,以及由箭头所组成的各种关系,包括泛 化,包含,扩展等。本文准备向大家介绍以下内容,所有图示均用PowerDesigner所画.
u 用况
u 参与者
u 泛化
u <<use>>
u <<include>>
u <<extend>>
u 用例描述
图1 用况图
是对一组动作序列(其中包括它的变体)的描述,系统执行该动作为执行此动作的参与者产生一个可观察的结果值。比如你使用计算器,这里可以把计算器看作为用况,参与者是登峰,登峰按了3+3(用况执行的序列),计算机器返回一个结果6。
参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是 时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系 统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简 笔人物画来表示,人物下面附上参与者的名称。
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 |
|
参与者:负责人 |
|
简要说明: |
|
前置条件: |
|
基本事件流: |
|
其他事件流A1: |
|
异常事件流: |
|
后置条件: |
|
注释:无 |
好,用例部分就先介绍到这,它在建模中主要用于整个系统的抽象描述。是在功能层的描述。上班时间到了,呵呵
UML中的用例(Use Case)概念分析及StarUML实例的更多相关文章
- UML 中的用例图解析以及starUML详细介绍
UML中的用例(Use Case)概念分析及StarUML实例 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用 ...
- koa 基础(十九)es6中的单例
1.app.js /** * es6中的单例 * 实例化的时候,无论实例多少次,构造函数只执行一次,有利于提高性能 */ class Db { static getInstance() { /*单例* ...
- UML中的图
用例图.类图.包图.顺序图.协作图.状态图.活动图.构件图.部署图等 1.用例图 显示多个外部参与者以及他们与系统提供的用例之间的连接.用例是系统中的一个可以描述参与者与系统之间交互作用功能单元.用例 ...
- 浅谈UML中常用的几种图——用例图
1.UML简介 统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的 ...
- UML建模——用例图(Use Case Diagram)
用例图主要用来描述角色以及角色与用例之间的连接关系.说明的是谁要使用系统,以及他们使用该系统可以做些什么.一个用例图包含了多个模型元素,如系统.参与者和用例,并且显示这些元素之间的各种关系,如泛化.关 ...
- UML中的图的出现顺序
上接:UML从需求到设计--用例 从开始接触UML到现在对UML逐渐有了更深入的了解.刚开始,对于UML总是感觉UML就是图.一提起UML 就想着这个是画图的东西. 具体这些图都是干什么的.为什么会有 ...
- uml中定义的关系详细详解
uml定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.下面对其定义和表示方法逐一说明. 依赖(Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依 ...
- UML中的交互图<转>
转自>>http://blog.csdn.net/mingxuanyun/article/details/8572128 交互图用来描述系统中的对象是如何进行相互作用的,即一组对象是如 ...
- Objective-c中的单例
单例是指静态分配的实例,就是只开辟一块内存,不会重新开辟内存,而 iphone sdk 中全是这种实例,例如[UIApplication sharedApplication] 返回一个指向代表应用程序 ...
随机推荐
- 某个点到其他点的曼哈顿距离之和最小(HDU4311)
Meeting point-1 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- several生命周期
several生命周期 1. 实例化: 容器调用servlet创建servlet对象 2. 初始化: <init-param> <param-name> company < ...
- 封装application类
<?php //判断用户是否是通过入口文件访问 if(!defined('ACCESS')){ echo '非法请求'; die; } //封装初始化类 cla ...
- ACdream 1128 Maze(费用流)
题目链接:http://acdream.info/problem?pid=1128 Problem Description wuyiqi陷入了一个迷宫中,这个迷宫是由N*M个格子组成的矩阵.每个格子上 ...
- linux中启动与终止lnmp的脚本
说是lnmp, 其实暂时只是 lnp, 因为还没有安装 mysql 这是脚本: #!/bin/bash function lnmpstart() { nginx /usr/local/php/bin/ ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON SetLineStyle2
zw版[转发·台湾nvp系列Delphi例程]HALCON SetLineStyle2 procedure TForm1.Button1Click(Sender: TObject);var img : ...
- 【海岛帝国系列赛】No.2 海岛帝国:“落汤鸡”市的黑帮危机
50200210海岛帝国:“落汤鸡”市的黑帮危机 [试题描述] 近几天,犯罪分子发现“药师傅”帝国的警力约等于0.(请见YSF的海岛帝国)于是开始猖狂了起来.他们选择了依山靠水(农村?)的“落汤鸡”市 ...
- 鸟哥的Linux私房菜之学习shell script
运行程序的时候一般都是创建一个子程序来执行,所以子程序中的变量什么的在当前的shell下没法使用,但是如果使用source来执行就可以在当前shell下执行程序 shift 1 去掉第一个参数,后面接 ...
- 鸟哥的linux私房菜学习记录之档案权限与目录配置
在linux中可以通过ls来查看文件 如ls -al,可以看到类似以下的内容 给个例子来理解下 在目录中如果只有r权限没有x权限无法进入该目录
- 160826、浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
一.浏览器渲染页过程描述 1.浏览器解析html源码,然后创建一个DOM树. 在DOM树中,每一个HTML标签都有一个对应的节点(元素节点),并且每一个文本也都有一个对应的节点(文本节点). DO ...