[UML]UML系列——用例图Use Case
用例图的概念
用例图是描述用例、参与者以及它们之间关系的图。
用例图的作用
- 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为。
- 用例图定义和描述了系统的外部可见行为,是分析、设计直至组装测试的重要依据。
- 让用户参与前期的系统分析与设计。
参与者的概念(actor,执行者,活动者)
参与者是指在系统之外,但与系统直接交互的对象。先举个例子,对参与者有个具体的概念,如图:
参与者用人形符号表示,在人形符号下面标出参与者的角色名(不是人名)例如:
参与者的类型
- 人员
- 信息系统
- 设备
实例:在线选课管理系统

识别参与者的方法
人:
- 系统的主要客户是谁?
- 谁借助于系统完成日常工作?
- 谁来维护管理系统,保证系统正常运行?
设备:系统控制的硬件有哪些?
信息系统:系统需要与哪些其他系统进行交互?
注意:与系统进行交互、从系统中获取信息或向系统输入信息的人或事物。
实例:饮料自动售货机的参与者有哪些?
分析结果:
用例的概念
用例是用户期望系统具备的功能,每一个用例说明一个系统提供给它的使用者的一种服务或功能。
用例的目标是要定义系统的一个行为,但并不显示系统的内部结构。
用例的符号
用例名一般为动宾短语。上图分别为Rational Rose和Visio两种不同的画法。
识别用例的方法
识别用例的策略:对于已经识别的参与者,通过考虑每个参与者是如何使用系统的,以及系统对事件的相应来识别用例。
可以从以下几个角度来寻找和确定用例:
- 参与者需要从系统中获取哪种功能?
- 参与者是否需要读取、产生、删除、修改或存储系统中的某种信息?
- 系统的状态改变时,是否通知参与者?
- 是否存在影响系统的外部事件?
- 系统需要什么样的输入与输出?
实例:识别用例
Email客户端(如Outlook express):A在北京发邮件给上海的B,系统提醒B您有“新邮件”,B收邮件。
参与者A执行的用例有哪些?
参与者B执行的用例有哪些?
描述用例
用例图没有描述系统行为的细节,所以需要以书面文档的形式对用例进行描述。至少包括:
1、名称
与用例图中的名称保持一致
2、标识符
用例的代码或编号
3、基本操作流程
描述各项工作都正常进行时用例的工作方式。
4、可选操作流程
很少使用、异常情况、发出错误的情况。
如:
用例名称 |
归还图书 |
标识符 |
UC0002 |
基本操作流程 |
1.图书管理员输入图书信息 2.检索借阅该图书的借阅者的信息 3.删除与该图书相关的借阅记录 |
可选操作流程 |
1a.图书管理员发现图书被损坏,进行损坏处罚 1b.输入的图书不存在时,进行确认 2a.借阅者有超期的借阅信息时,进行超期处理 |
总结
该文主要介绍了参与者与用例图的概念及在Rose中的画法,下篇将着重介绍用例图中的各种关系。
若想详细了解,推荐阅读《UML基础与Rose建模教程》 这本书,这是大学四年留下几本书中的其中一本(其他的书......你懂得!),参考着课件复习一下。
特别感谢当时教我们UML的刘老师,UML是我c#的入门课,LZ大学没.net这门课,纯粹靠UML入门的。
真心感谢大学所有老师,您们教的东西几乎都用到了,泪喷了......
[UML]UML系列——用例图Use Case的更多相关文章
- UML指南系列——用例图
可以用用例来描述正在开发的系统想要实现的行为,而不必说明这些行为如何实现. 结构良好的用例只表示系统或者子系统的基本行为,而且既不过于笼统也不过于详细.
- [UML]UML系列——用例图中的各种关系(include、extend)
用例图中的各种关系 一.参与者与用例间的关联关系 参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系 (1) 概 ...
- [UML]UML系列——时序图(顺序图)sequence diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- [UML]UML系列——类图Class
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) 一.类图的概念及组成 1.类图的概念 类图是描述类.接 ...
- [UML]UML系列——类图class的关联关系(聚合、组合)
关联的概念 关联用来表示两个或多个类的对象之间的结构关系,它在代码中表现为一个类以属性的形式包含对另一个类的一个或多个对象的应用. 程序演示:关联关系(code/assocation) 假设:一个公司 ...
- [UML]UML系列——类图class的依赖关系
相关文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列—— ...
- [UML]UML系列——类图class的泛化关系
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图C ...
- [UML]UML系列——类图class的实现关系Realization
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- [UML]UML系列——包图Package
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
随机推荐
- 自定义shiro的Realm实现和CredentialsMatcher实现以及Token实现
Realm是shiro比较核心的接口,简单说它的实现类就是校验用户输入的账号信息的地方.如果想自定义实现一般的配置文件如下: <!--自定义Realm 继承自AuthorizingRealm - ...
- Useful commmands in Gentoo
Safe way to upgrade: emerge --sync & eix-sync emerge -avuDN --with-bdeps y --keep-going world et ...
- [WPF系列]- Style - Specify width/height as resource in WPF
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys=" ...
- Leetcode: climbing stairs
July 28, 2015 Problem statement: You are climbing a stair case. It takes n steps to reach to the top ...
- String,StringBuffer,StringBuilder的区别
public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...
- Apache Hama安装部署
安装Hama之前,应该首先确保系统中已经安装了hadoop,本集群使用的版本为hadoop-2.3.0 一.下载及解压Hama文件 下载地址:http://www.apache.org/dyn/clo ...
- Python的hasattr() getattr() setattr() 函数使用方法详解
hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 1 ...
- android第一行代码-3.activity之间的调用跟数据传递
前面两节所有应用都是同一个activity中的,是时候讲activity之间交互的操作了,此后会涉及到intent这个概念,这也算一个新的里程碑开始. 主要内容包括intent的使用,以及activi ...
- down的另一种用法
- [译]React Context
欢迎各位指导与讨论 : ) 前言 由于笔者英语和技术水平有限,有不足的地方恳请各位指出.我会及时修正的 O(∩_∩)O 当前React版本 15.0.1 时间 2016/4/25 正文 React一个 ...