UML图画法_画用例图的步骤

UML图画法_画用例图的步骤一.用例图的作用用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。二.用例图包含的元素 1.参与者(Actor)  表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一.用例图的作用

         用例图主要用来描述“用户、需求、系统功能单元”之间的关系。

          它展示了一个外部用户能够观察到的系统功能模型图。

          【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求

二.用例图包含的元素

 

     

 1. 参与者(Actor)

  表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。

           UML图画法_画用例图的步骤

 

 2. 用例(Use Case)

   用例就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。

 

       UML图画法_画用例图的步骤

 3. 容器

代表着一个系统

  UML图画法_画用例图的步骤

 

 4. 关系

  用例图中涉及的关系有:关联、泛化、包含、扩展。

  如下表所示:

 

          UML图画法_画用例图的步骤

 

 a. 关联(Association)

  表示参与者与用例之间的通信,任何一方都可发送或接受消息。

  【箭头指向】:指向消息接收方

UML图画法_画用例图的步骤

 b. 泛化(Inheritance)

  就是通常理解的继承关系子用例和父用例相似,但表现出更特别的行为子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的

  【箭头指向】:指向父用例

UML图画法_画用例图的步骤

 

 c. 包含(Include)

  包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

  【箭头指向】:指向分解出来的功能用例

 

UML图画法_画用例图的步骤

d. 扩展(Extend)

  扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

  【箭头指向】:指向基础用例

 

       UML图画法_画用例图的步骤

 

e. 依赖(Dependency)

  以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。

  【箭头指向】:指向被依赖项

 

 

                                   UML图画法_画用例图的步骤

一个用例图示例:

UML图画法_画用例图的步骤

感觉用例图还不成熟,并不能很好地表达系统的需求, 没有UML背景的用户几乎不知道画的是些什么。

  其次,包含关系、扩展关系的箭头符号竟然是同样的箭头,仅靠上方写个文字来加以区别,翻译成其他语言的话,几乎就不知道代表什么意思。扩展关系的箭头朝向也很难理解,为何要指向基用例,而不指向扩展用例。

  VS2010添加的“项目”元素,是个很好的创新,能够在用例图中关联word, excel这些文档。但为什么不把这些功能直接集成到用例里面,双击用例就弹出一份文档岂不更容易理解,非要画蛇添足地加一个元件,仅仅为了提供个链接功能。 

  用例描述表:

  鉴于用列图并不能清楚地表达功能需求,开发中大家通常用描述表来补充某些不易表达的用例,下图的表给大家提供一个参考:

UML图画法_画用例图的步骤

 

  UML图画法_画用例图的步骤UML图画法_画用例图的步骤

UML图画法_画用例图的步骤

UML图画法_画用例图的步骤UML图画法_画用例图的步骤

 

                    

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196272.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何配置Linux系统的IP地址?

    如何配置Linux系统的IP地址?

    2022年2月15日
    65
  • C++ ffmpeg+dxva2实现硬解码「建议收藏」

    C++ ffmpeg+dxva2实现硬解码「建议收藏」0.前言参考博客:ffmpeg实现dxva2硬件加速下载源码:GitHub:https://github.com/Yacov-lu/ffmpeg-DXVA-decode百度网盘:https://pan.baidu.com/s/1fFm4Ra5ka2bPJeIRig14wA?pwd=qwer提取码:qwer该源码下载后,将播放的视频路径(filename)修改为你自己的,便可直接运行。1…

    2025年5月27日
    47
  • linux怎么创建用户和用户组_linux查看用户组

    linux怎么创建用户和用户组_linux查看用户组1、linux里查看所有用户(1)在终端里.其实只需要查看/etc/passwd文件就行了.(2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户.或者用cat/etc/passwd|cut-f1-d:2、用户管理命令useradd注:添加用户adduser注:添加用户passwd注:为用户设置密码usermod注:修改用户命令,可以通过usermod来修…

    2022年10月21日
    4
  • 常用存储过程语法

    常用存储过程语法 前面学过了基本的存储过程,见 存储过程入门 现在学一下常用的存储过程的语法,只要花一点点时间学习下,就能用存储过程实现很复杂的功能,可以少写很多代码。 为了方便说明,数据库使用SQLServer的示例数据库,Northwind和pubs,如果SQLServer中没有的话,可以按下面的方法安装1,下载SQL2000SampleDb.msi,下载地址是:http://ww

    2022年7月17日
    18
  • 【mysql】锁详解

    【mysql】锁详解【mysql】锁详解

    2022年4月25日
    40
  • github上开源的优秀android项目

    github上开源的优秀android项目源码大招:不服来战!撸这些完整项目,你不牛逼都难!经常有人问我有没有什么项目代码,我回复说去Github找,但是还是好多人不知道如何找到那些比较好的项目。今天花了点时间找了些安卓的项目,觉得还是不错的,几乎就是自己生活常用的一些app,如果你是一个Android开发者,我觉得撸完这些项目,你想不牛逼都难。菜鸟新闻菜鸟新闻客户端是一个仿照36Kr官方,实时抓取36Kr…

    2022年6月16日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号