最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下。

一、概念

用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。

用例是系统中的一个功能单元,描述一个系统做什么(what)的信息,并不是怎么(how)做。用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例。

二、组成

用例图组成的概念,我们通过一张图学习:

我们重点讲解用例组成中用例之间的关联:

  1. 包含

【表示方式】虚线箭头   +   include;箭头由基础用例指向被包含用例

【作用】提高用例模型的可维护性;简化描述避免多个用例中重复描述同一段行为或对同一段行为描述不一致

【包含图】

  1. 扩展

【表示方式】虚线箭头   +  extend;箭头指向基础用例

【作用】一定条件下,扩展用例为基础用例增加新的行为

【扩展图】

  1. 泛化

【表示方式】实线空三角箭头;箭头指向父用例

【作用】子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式

【泛化图】

扩展关系和包含关系的比较:

1、扩展关系:基础用例提供一个或多个插入点,扩展用例为插入点提供需要插入的行为

包含关系中只有一个插入点

2、扩展关系:基础用例执行,扩展不一定执行

包含关系:基础用例执行,包含用例必须执行

3、扩展关系:即使没有扩展用例,基础用例本身是完整的

包含关系:没有包含用例,基础用例本身不完整

为大家简单的举一个机房收费系统的小例子:

最新文章

  1. IT持续集成之质量管理
  2. Fatal error: Call-time pass-by-reference has been removed
  3. static和extern的区别
  4. 奇异值分解(We Recommend a Singular Value Decomposition)
  5. c语言各类问题 代码
  6. Android--pendingIntent & Intent
  7. gcc manual
  8. Chapter 16_0 面向对象编程
  9. c语言构造类型之数组_01
  10. redis的list类型
  11. JavaWeb中jdbcproperties配置文件
  12. VS2010每次调试都出现“此项目已经过期”提示
  13. QuerySet中添加Extra进行SQL查询
  14. http状态码301和302的区别
  15. 三、vue脚手架工具vue-cli的使用
  16. 单元测试工具Numega BoundsChecker
  17. Oracle JDeveloper 10g 卡顿、花屏的解决方法
  18. CSS之旋转立方体
  19. arp请求与回复
  20. JS日期转换

热门文章

  1. (二)Robto Framewoek使用自己的python库
  2. 【Python基础】迭代器、生成器
  3. 洛谷 P3387 【模板】缩点 DAGdp学习记
  4. ORACLE-023:令人烦恼的 ora-01722 无效数字
  5. Excel数据导入Sql Server出现Null(转)
  6. [转]ORA-38500: USING CURRENT LOGFILE option not available without stand
  7. [转]fedora国内源常见配置
  8. ASP.NET程序开发中经典常用的三十三种代码实例[确实有用]
  9. 《effective C++》:条款36——绝不重新定义继承而来的非虚函数
  10. [Bzoj1034][ZJOJ2008]泡泡堂BNB(贪心)