学习UML --用例图
用例图用于描述系统提供的系列功能。使用用例图的主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求。用例图对系统的实现不做任何说明,仅仅是系统功能的描述。
用例图主要在需求分析阶段使用,用于描述系统实现的功能,方便与客户交流,保证系统需求的无二性。
用例图有四部分用例,角色,系统边界,关系。
1、角色
与系统交互的一个实体。这个实体可以是用户、组织或者外部系统等。用一个小人表示。

2、用例
代表系统提供的一个服务或者系统提供的一个功能模块。个人理解就是系统对角色提供的服务(系统的一个功能或者多个功能组成的一个功能模块)。以一个椭圆表示,用例的名称放在椭 圆的中间或者下面。

3、系统边界
指系统与系统之间的界限。并把系统边界以外的同系统相关联的其他部分称为系统环境。系统边界用方框来表示,同时附上系统的名称,角色画在边界的外面,用例画在边界里面。因为系 统边界的作用有时不是很明显,所以可以省略。

4、关系
用例图中涉及的关系有关联,泛化,包含,扩展。
如下表所示:

a、关联
表示角色和用例之间的通信,任何一方都可以发送和接收消息。
【箭头指向】消息的接收方。

b、泛化
泛化可以理解为代码中的继承。父用例或者父角色具有一般性,子用例(或者子角色)具有特殊性。子用例(或者子角色)继承父用例(或者父角色)的行为、结构和关系。子用例(或者子角色)可以使用父用例(或者父角色)的部分行为,也可以重载它。父用例通常是抽象的。
【箭头指向】父用例。

c、包含
包含是指一个用例包含另一个用例。一般用于将复杂的用例所表示的功能分解成若干个简单的用例或者将若干个用例的公共部分分离出来,使其成为可以复用的用例。
【箭头指向】被包含的用例。
d、扩展
扩展关系表示在一个用例对话流程中,可能会根据条件插入另外一个用例,前者称为基础用例,后者称为扩展用例。相当于为基础用例提供一个附加功能。
【箭头指向】指向基础用例。

系统中允许用户对用户查询的结果进行导出和打印,对于查询而言,能不能导出和打印查询结果都行一样的。导出、打印和查询是相互对立的,而且导出、打印为查询添加了新的行为。
5、泛化、包含、扩展之间的关系
条件性:泛化中的子用例和包含关系中被包含的用例呼无条件的发生,扩展关系中的扩展用例的发生是需要条件的。
直接性:泛化中的子用例和扩展关系中的扩展用例为角色提供直接服务,而包含关系中被包含的用例为角色提供间接服务。
对扩展关系而言,扩展用例不包含基础用例的内容,基础用例不包含扩展用例的内容。
对泛化关系而言,子用例包含父用例的全部内容,包括父用例和其他用例和角色的关系。
引用:
https://baike.baidu.com/item/%E7%94%A8%E4%BE%8B%E5%9B%BE/9531932?fr=aladdin#1_3
www.cnblogs.com/13062225wmx/p/5432356.html
http://www.cnblogs.com/Yogurshine/archive/2013/01/14/2859248.html
学习UML --用例图的更多相关文章
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- 初学UML——用例图
开始学习UML建模语言,从用例图入手.建模工具选择visio 用例图描述的是参与者所理解的系统功能,主要元素是用例和参与者,是帮助开发团队以一种可视化的方式理解系统的功能需求.这时处于项目初始,分析用 ...
- UML用例图说明
转自:http://www.360doc.com/content/10/1206/23/3123_75672033.shtml 前些时间参加了潘加宇老师的技术讲座,UML建模技术受益匪浅.我也把平时的 ...
- 解析UML用例图中include与extend的区别
UML用例图有很多值得学习的地方,这里向大家简单介绍一下UML用例图中include与extend的区别,希望本文的介绍对你有所帮助. 本文和大家重点讨论一下UML用例图中include与extend ...
- [转载]UML用例图总结
前言 用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示一个外部用户能够观察到的系统功能模型图.用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系 ...
- 团队项目UML用例图
团队项目UML用例图
- UML用例图总结
用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...
- 产品需求文档写作方法(三)用例文档(UML用例图、流程图)
在产品和技术领域里都有UML的技能知识,而对于产品人员的UML则更多的是指用例图,也就是我所称呼的用户流程图.在讲PRD文档写作的第二篇文章里,我提到了用户流程图的制作,实际上用户流程图是我在产品规则 ...
- UML第一次作业:UML用例图绘制
UML用例图绘制 一.plantuml用例图语法小结 1.用例 用法:用例用圆括号(),或者使用关键字来定义用例 示例1: @startuml (First UML) (Another UML)a ...
随机推荐
- 【Debian 8.8】Java 8 安装以及环境变量配置
事实上可以分为简单的三个步骤: 下载 JDK 压缩包 解压压缩包 配置环境变量 需要注意的是: 所有命令默认在 root 权限下进行! 演示环境是 Debian 8.8 64位 (阿里云学生机) 1. ...
- Git仓库创建和文件提交
参考质料:廖雪峰的个人网站 Git 什么是Git:一个分布式版本管理系统: 作用:管理你的历史文件,文件修改历史,团队协作. Windows下安装Git: 到链接下载安装包,国内镜像 云盘 安装完成后 ...
- Flex布局介绍
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性 任何一个容器都可以指定为 Flex 布局. .box{ display: -web ...
- Linux下利用expect,不用交互模式,直接登陆远程主机
Linux环境下只有在机器20.200.254.18上ssh dataconv@20.200.31.23才能连接到23的机器,而且还需要输入密码(每次都需要输入地址,密码很烦),所以利用expect写 ...
- 在Storyboard中为UITableView添加Header和Footer
我在这里所说的Header和Footer并不是sectionHeader和sectionFooter,而是指UITableView的tableHeaderView和tableFooterView,这两 ...
- Select()使用否?
David Treadwell ,Windows Socket 的一位开发者,曾经在他的一篇名为"Developing Transport-Independent Applications ...
- 基于NodeJS进行前后端分离
1.什么是前后端分离 传统的SPA模式:所有用到的展现数据都是后端通过异步接口(AJAX/JSONP)的方式提供的,前端只管展现. 从某种意义上来说,SPA确实做到了前后端分离,但这种方式存在两个问题 ...
- 【POJ】 1061 青蛙的约会(扩欧)
青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 119148 Accepted: 25070 Descript ...
- 在ubuntu16.04中一键创建LAMP环境
步骤 1 执行命令apt-get update. 步骤 2 执行命令apt-get install lamp-server^. 步骤 3 在安装过程中会跳出Mysql数据库root用户密码设置窗口,按 ...
- 第五章 MySQL事务,视图,索引,备份和恢复
第五章 MySQL事务,视图,索引,备份和恢复 一.事务 1.什么是事务 事务是一种机制,一个操作序列,它包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求.要么都执行 ...