软件工程导论这门课里有许多图,今天和大家介绍的是uml系统用例图。

目录

用例图的组成

参与者Actor

用例UseCase

边界

关系

关联

泛化

包含

扩展

补充考点

前置条件

后置条件


用例图的组成

系统用例图,用于面向对象方法学的需求分析阶段.

用例图是指由参与者Actor,用例UseCase,边界以及它们之间的关系构成的用于描述系统功能的视图,用例图是外部用户(参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图,呈现了一些参与者,一些用例,以及它们之间的关系,主要对系统,子系统或类的功能行为进行建模。

参与者Actor

参与者:用以表示和系统交互的参与者角色,不一定是人,也可以是物品或者系统。并且参与者不是人或事物本身,而是表示人或事物当时所扮演的角色。使用一个小人表示。例如:教师,学生。

用例UseCase

用例就是外部可见的系统功能,对系统提供的服务进行描述。使用一个椭圆表示。例如:登录,注册,购买,支付。

注意,用例是一个类,他代表一类功能,而不是使用该功能的某个具体实例。如果把用例图和uml类图放在一起的话,用例对应的是一个类。

边界

边界:指系统和系统之间的界限,把系统边界以外的同系统相关联的其他部分称为系统环境,使用一个矩形表示。例如:取款机系统,内部有取款缴费查询转账等功能。

举例:自动售货机系统就是一个边界,用一个大框框表示。

关系

用例图中存在四种关系:关联,泛化,包含,扩展。

关联

关联:参与者与用例之间的关系。用一条直线表示,一般就用于从用户连线,接到功能。例如从用户指向缴费。

需要注意的是,关联有的时候是使用带箭头的直线表示,从参与者指向用例。这种情况其实是uml类图和uml用例图的混用。在uml类图中,关联关系使用的是带箭头的直线。但由于uml各种图“是一家”,所以也就见惯不怪了。大家遇到时认识就好。

举例:顾客和售货之间,就是关联关系。

泛化

泛化:参与者与参与者,或用例与用例之间的关系。也就是面向对象思想中的继承关系,一个直线加空心三角形。从子用户或子功能指向父用户或父功能。例如vip用户泛化用户,就是从vip用户指向用户。

举例:学生和教师都泛化“人”。

包含

包含:用例之间的关系,使用虚线箭头加<<include>>表示,包含关系用来把一个较为复杂的功能分解成小的步骤。如果B是A的某项子功能,并且建模者确切地知道在A所对应的动作序列中何时将调用B,则称为A包含B。比如‘录入成绩’包含‘保存成绩’,‘修改成绩’包含‘保存成绩’。

通常,QWER等多个用例都包含B用例时,会把B用例抽取出来,避免重复。

“包含”曾经叫做“使用”。

举例:自动售货机系统中,供货功能需要打开机器,关闭机器。因此可以说“供货”包含“打开机器”和“关闭机器”。

扩展

扩展:用例之间的关系,使用虚线箭头加<<extends>>表示,扩展表示一个功能的附加操作,是可选可不选的那种。如果C的动作序列是通过A的动作序列中的某些执行点上插入附加动作序列而构成的,则称为C扩展A。比如说玩游戏,有主线剧情和支线剧情,主线剧情就是包含关系,做完A任务会让你做B任务,而扩展关系类似于支线剧情,隐藏任务,也是需要完成A任务才能开启C支线任务,但是C任务想做就做,不想做就不做,是一种附加。扩展关系总基本用例的基本流执行时,扩展用例不一定执行,即扩展用例只有在基本用例满足某种条件的时候才会执行。比如‘找回密码’扩展‘登录’,只有在登陆失败忘记密码的时候才会‘找回密码’。

例如,自动售货机系统中,用玻璃杯卖饮品,就属于正常售货的扩展。

补充考点

在用例图的考点中,可能会求一个用例的前置条件和后置条件。

前置条件和后置条件:假设A是B的前置条件,C是B的后置条件,意思即为:A是B的必要不充分条件,B是C的充分不必要条件。想要做B,必须完成A。做完B后,一定有C。

前置条件

例如:“用玻璃杯卖(饮品)”一定是基于“售货”的。若有“用玻璃杯卖”这一动作,则一定有“售货”这一动作。因此,“售货”是“用玻璃杯卖”的前置条件。

后置条件

例如:若要“供货”,一定要先打开机器,添加货物,之后关闭机器。因此“打开机器”必须要“关闭机器”。这是一套流程。“关闭机器”就是“打开机器”的后置条件。

ps:大家使用软件画用例图的时候,有很多软件可以选择,比如亿图图示,staruml什么的。对我个人来说,亿图图示收费懒得破解,staruml是英文我看不懂。如果有和我一样英语不好还穷的小伙伴,可以使用“jude”这个软件,免费,占内存小,百度一搜就出来了。下载下来是bat格式的,自己新建个快捷方式,换个图标就ok啦~

带你画uml系统用例图相关推荐

  1. 用在线工具processOn画UML的用例图和时序图

    发现一个很不错的在线画图工具processOn,我用这个工具画了下我们此次羡慕的UML用例图 用例图 下面我们画下时序图 以下资料参考于http://www.cnblogs.com/ywqu/arch ...

  2. 【UML】用例图、活动图、类图、顺序图练习题

    一.问题一 "远程网络教学系统"的功能需求如下:学生登录网站后,可以浏览课件.查找课件.下载课件.观看教学视频.教师登录网站后,可以上传课件.上传教学视频.发布教学心得.查看教学心 ...

  3. 毕业设计论文选题系统系统用例图_毕业设计管理系统UML

    毕业设计管理系统建模 1 .实验目的 了解一个简单的软件项目的 UML 建模过程和主要建模元素. 2 .实验内容与要求 根据毕业设计管理系统的主要需求,用 Rose 工具软件完成对学籍管理系统的建模. ...

  4. UML基础、建模与设计实战笔记03第3、4章建模工具简介,常见uml建模工具,创建模块,创建类,用例图,参与者,用例,用例描述,用例之间的可视化表示,用例图建模技术及应用,进销存系统用例图

    1.常见uml建模工具 建模工具应该具有的功能 绘图 存储 一致性检查 对模型进行组织 导航 写作支持 代码生成 逆向项目 集成 支持多种抽象层和开发过程 文档生成 脚本编程 工具主要有 Rose P ...

  5. 怎么画系统用例图?(内含图例)

    系统用例图的画法 文中所有图例的的需求描述如下: 系统的借阅者为学生和教师,系统为借阅者提供查询图书.借阅图书.归还图书的服务.学生最多可借阅5本,教师最多可借阅20本.在借阅和归还图书时,要先&qu ...

  6. 用户登录UML图(系统用例图、类图、时序图)

    系统用例图 用户登录模块类图 用户登录时序图 使用软件:Rational Rose 2007 需求:简单的用户登录

  7. UML初探——用例图学习UMLet使用详解

    用例图基础知识 用例图简介 用例图描述的是参与者所理解的系统功能,主要元素是用例和参与者.虽然用例图不能取代文本形式的用例文档,但它简要地概括了用例文档的主要内容,项目的基本需求和需求之间的关系一目了 ...

  8. 新闻发布系统——用例图知识,温故知新

    引言 牛腩新闻发布系统看起来很有feel,一条线的感觉,毕竟,这是一个系统实现的教程,包含了各种细节,虽然只是看了10集左右,但是深深的被牛腩老师的讲解思路带进去了,尤其是一些以前学习的过程中忽略的细 ...

  9. UML实践----用例图、顺序图、状态图、类图、包图、协作图

    http://www.uml.org.cn/oobject/200901203.asp UML实践----用例图.顺序图.状态图.类图.包图.协作图 2009-01-20 作者:Randy Mille ...

  10. 【UML】用例图Use Case diagram(转)

    http://blog.csdn.net/sds15732622190/article/details/48858219 前言 总结完UML概述,就该说道UML中的九种图了,这九种图中,最先要说的,就 ...

最新文章

  1. 给Python代码加上酷炫进度条的几种姿势
  2. javascript正则表达式小结
  3. echarts x和数据对应_echarts 折线图动态x轴及数据
  4. android版本相机权限,Android 11系统权限收紧,第三方APP仅支持调用原生相机
  5. 斯坦福的著名小兔子模型的点云数据_传统方法的点云分割以及PCL中分割模块
  6. Java中实现统计一个字符串在另一个字符串中出现的次数统计
  7. php memcached close,PHP连接Memcached安装及数据库操作
  8. java爬取_java实现爬取知乎用户基本信息
  9. 盘点那些Wifi破解姿势(1)
  10. 周杰 清华大学计算机学院,周杰 -清华大学自动化系
  11. android qq隐藏功能,90﹪的人都不知道QQ这些隐藏的功能!
  12. 执行npm install报错:npm ERR! code EINTEGRITY,npm ERR! 最彻底,最实用的方法就是更新node版本
  13. np.minimum()与tf.minimum()的用法
  14. 硬件设计之DDS AD9854
  15. 公司邮件登录发邮件,在outlook邮件撤回怎么操作?
  16. 磁盘配额(Quota)磁盘阵列(RAID)逻辑卷轴管理器(LVM)学习记录
  17. Android逆向入门6——定位到小红书Sign算法
  18. RFID MFRC522
  19. 股票 - - 常用指标【中】
  20. 计算机实用软件大全pdf,常用工具软件大全.pdf

热门文章

  1. 500G JAVA视频网盘分享 JEECG开源社区
  2. Mac翻译系列软件推荐三:Mate Translate for Mac多国语言翻译工具
  3. 安全生产知识竞赛答题小程序
  4. 生信技能树linux虚拟机,2019-08-21生信技能树Linux20题
  5. python比对excel表数据中的差异_Python比对EXCEL数据
  6. 机器人轨迹规划:三次样条曲线
  7. Mybatis源码SqlSession源码分析
  8. Mybatis源码分析(一) | 如何调试Mybatis源码
  9. 京东商城登录逻辑分析,实现程序登录京东商城
  10. 【2022-01-06】JS逆向之QCC请求头参数