学习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 ...
随机推荐
- elasticsearch 中文分词、插件的安装和使用(一)
1. 安装elasticsearch.kibana.x-pack #安装elasticsearch wget https://artifacts.elastic.co/downloads/elasti ...
- Unity Destory
Object.Destroy public static function Destroy(obj: Object, t: float = 0.0F): void; public static ...
- [python学习笔记] python程序打包成exe文件
安装 pyinstaller pip3 install pyinstaller 命令 pyinstaller -F -w -i ../ui/icon.ico --clean ../Login.py 参 ...
- 使用apache反向代理tomacat
起源 在大部分的生产环境中,基本上使用的都是java程序,从而促进了各种应用程序中间件的产生,在这里大概有几种,tomcat作为最著名的开源servlet容器,jboss也是开源的,而且有管理界面,主 ...
- java 基础语法 2
一.语句
- Mysql查询优化小结
转自http://www.cnblogs.com/112ba/p/6220650.html 数据类型 简单原则:更小更好,简单就好,避免NULL1)整型如int(10)括号中的值与存储大小无关2)实数 ...
- 【JVM命令系列】jmap
命令基本概述 Jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本.打印出某个java进程(使用pid)内存内的,所有'对象'的情况(如:产生那些对象,及其数量 ...
- java基础解析系列(八)---fail-fast机制及CopyOnWriteArrayList的原理
fail-fast机制及CopyOnWriteArrayList的原理 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列( ...
- Angular和Spring Boot一起做个项目
引言 最近由于公司人员调整,我不得不去转去做前端,被迫用三周的时间学习Angular,同时需要做一个简单的Web聊天室.对于前端不一点感冒的我而言,其实还算一个不小的挑战.在三周的过程中,我遇到很多的 ...
- zookeeper curator选主(Leader)
在分布式系统设计中,选主是一个常见的场景.选主是一个这样的过程,通过选主,主节点被选择出来控制其他节点或者是分配任务. 选主算法要满足的几个特征: 1)各个节点均衡的获得成为主节点的权利,一旦主节点被 ...