学习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 ...
随机推荐
- php-laravel4.0框架 简单快速入门
前提必须已经安装好了laravel4.0版本. 写入权限: 安装完 Laravel ,你还需要为web服务器设置 app/storage 目录的写入权限. 目录结构: 安装完框架后,你需要熟悉一下该项 ...
- Azure SQL Database (25) Azure SQL Database创建只读用户
<Windows Azure Platform 系列文章目录> 本文将介绍如何在Azure SQL Database创建只读用户. 请先按照笔者之前的文章:Azure SQL Databa ...
- mybatis快速入门(五)
今天写写user表和orders表的mybatis的高级映射,一对一映射和一对多映射 1.创建一个orders.java文件 1.1一对一映射,一条订单对应一个用户 package cn.my.myb ...
- 第6章 Overlapped I/O, 在你身后变戏法 ---被激发的 File Handles -3
最简单的 overlapped I/O 类型,是使用它自己的文件 handle 作为同步机制.首先你以 FILE_FLAG_OVERLAPPED 告诉 Win32 说你不要使用默认的同步 I/O.然后 ...
- Python s12 Day1 笔记及作业
作业一: 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 python3代码 : # -*- coding:utf-8 -*- input_name = input("Please ...
- git添加比较和合并工具(meld)
git 下的(difftool)和(mergetool)是专门提供给使用者用自己的工具进行diff和merge的命令: # git config --global diff.tool meld # g ...
- [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value 解决方法
在MySQL数据库中的mysql.user表中使用insert语句添加新用户时,可能会出现以下错误: ERROR 1364 (HY000): Field 'ssl_cipher' doesn't ha ...
- ubuntu中使用usb-creator制作live usb
1.实验环境 ubuntu14.04 2.启动usb-creator 2.1 单击桌面左上角的搜索图标,输入usb-creator,然后选择“应用程序"中的”启动盘创建器“ 2.2 终端中输 ...
- Winform窗体间传递数据
public string passText { get { return textBox1.Text; } } //Form1中还有个按钮button1在其点击事件中有: private void ...
- 第七章 DAO模式
第七章 DAO模式 一.JDBC的封装 1.JDBC的封装: DAO位于业务逻辑和持久化数据之间,实现对持久化数据的访问.将数据库都封装起来,对外提供相应的接口 2.DAO模式的作用: 1.隔离业务逻 ...