[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 ...
随机推荐
- tomcat的简单安装及配置
实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验软件:apache-tomcat-8.0.24 jdk-8u60-linux-x64 jeecms-v6 一. ...
- Java 多态
多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来. 继承允许将对象视为它自己本身的类型活基类型来加以处理. 方法调用绑定 绑定: 将一个方法调用同一个方法主体关联起来. 前期绑定:在程序执 ...
- [百度经验]window下连接mysql 错误代码 1045
连接mysql时出现错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES) 百度经验:jingyan.baid ...
- spark on yarn 提交任务出错
Application ID is application_1481285758114_422243, trackingURL: http://***:4040Exception in thread ...
- [转载]Python中的sys模块
#!/usr/bin/python # Filename: cat.py import sys def readfile(filename): '''Print a file to the stand ...
- 3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
http://www.cnblogs.com/wangchengfeng/p/3470310.html
- C# 把日期字符串转换为日期类型 (MM大写为月、小写为分钟)
string dtStr; DateTime dtTime; 尝试把时间字符串转为DateTime格式 if (DateTime.TryParse(dtStr, out dtTime)) { //st ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...
- 一种全新的屏幕适配方法 自动百分比适配 一切px说了算
看hongyang的博客 发现他的一个按百分比适配的方案 : 库地址https://github.com/hongyangAndroid/AndroidAutoLayout 博客地址http://bl ...
- android JSON获取值String无法转换成JSONObject
项目中,已经获取到服务器返回的XML,并且已经解析. value= (String) result.getProperty("Value").toString().trim();J ...