UML图之例图

用例图主要说明的是谁要使用系统,以及他们使用该系统可以做些什么,帮助开发团队以一种可视化的方式理解系统的功能需求。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  用例图主要说明的是谁要使用系统,以及他们使用该系统可以做些什么,帮助开发团队以一种可视化的方式理解系统的功能需求。

  一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化关联依赖。它展示了一个外部用户能够观察到的系统功能模型图。

1.用例图包含的元素

1. 参与者(Actor)——与应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示

 

                UML图之例图

 

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

 

             UML图之例图

 

3. 子系统(Subsystem)——用来展示系统的一部分功能,这部分功能联系紧密。

    UML图之例图

2. 用例图所包含的关系

  用例图中包含的关系有:关联,泛化,包含,扩展

UML图之例图

  a. 关联(Association)

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

【箭头指向】:无箭头,将参与者与用例相连接,指向消息接收方

 

  UML图之例图

  b. 泛化(Inheritance)

  就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。在实际应用中很少使用泛化关系,子用例中的特殊行为都可以作为父用例中的备选流存在。

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

 

UML图之例图

 

  c. 包含(Include)

  包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。包含关系对典型的应用就是复用,也就是定义中说的情景。但是有时当某用例的事件流过于复杂时,为了简化用例的描述,我们也可以把某一段事件流抽象成为一个被包含的用例;相反,用例划分太细时,也可以抽象出一个基用例,来包含这些细颗粒的用例。这种情况类似于在过程设计语言中,将程序的某一段算法封装成一个子过程,然后再从主程序中调用这一子过程。

  例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那添加、修改以及删除都要在用例详述中描述,过于复杂;如果分成添加用例、修改用例和删除用例,则划分太细。这时包含关系可以用来理清关系。

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

 

UML图之例图

  d. 扩展(Extend)

  扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。但是扩展用例对基用例不可见。

对于一个扩展用例,可以在基用例上有几个扩展点。

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

UML图之例图

 

  e. 依赖(Dependency)

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

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

UML图之例图

3. 例

  UML图之例图

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

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

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


相关推荐

  • Web服务器搭建步骤(Win10)

    Web服务器搭建步骤(Win10)1.在“开始”菜单处打开“控制面板”。2.点击“程序”。3.点击“启动或关闭Windows功能”。4.对“InternetInformationServices”下的所有选项打勾✔,点击“确定”。5.电脑会自动搜索文件下载。6.打开网址“http://localhost/”,出现如图的界面即搭建成功。…

    2022年5月28日
    33
  • 获取股票历史数据(网易163行情接口)[通俗易懂]

    获取股票历史数据(网易163行情接口)获取股票历史数据,通过网易163接口来获取数据,可以获取指数数据,也可以获取股票数据importpandasaspd#沪市前面加0,深市前面加1,比如0000001,是上证指数,1000001是中国平安defget_daily(code,start=’19900101′,end=”):url_mod=”http://quotes.money.163.com/service/chddata.html?code=%s&start=%s

    2022年4月17日
    51
  • log4j2配置文件properties配置_log4j2 配置详解

    log4j2配置文件properties配置_log4j2 配置详解log4j.properties配置文件详解Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties(key=value)文件,其中properties格式的配置文件最为常用,其有一个固定的文件名log4j.properties,下面我们介绍使用properties文件做为配置文件的方法:1.配置rootLoggerrootLogger的配置方式:log4…

    2022年9月30日
    0
  • invalid python sdk怎么办_pycharm一直创建虚拟环境

    invalid python sdk怎么办_pycharm一直创建虚拟环境解决pycharm创建虚拟环境时出现的invalidpythonSDK问题

    2022年8月27日
    60
  • vue-router路由懒加载以及三种实现方式「建议收藏」

    vue-router路由懒加载以及三种实现方式「建议收藏」什么是路由懒加载?也叫延迟加载,即在需要的时候进行加载,随用随载。官方解释: 1:当打包构建应用时,JavaScript包会变得非常大,影响页面加载。 2:如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。官方在说什么呢?为什么需要懒加载? 1:首先,我们知道路由中通常会定义很多不同的页面。 2:这个页面这项目build打包后,一般情况下,会放在一个单独的js文件中 3:但是,如果很多的页面都放在同一个js文件.

    2022年10月6日
    0
  • Python3对多股票的投资组合进行分析「建议收藏」

    Python3对多股票的投资组合进行分析「建议收藏」目录概述:一、股票数据准备1、股票选择2、获取每支股票的收盘价3、计算股票的日收益率二、投资组合的收益计算1、给定权重的投资组合2、等权重的投资组合3、市值加权的投资组合三、投资组合的相关性分析1、投资组合的相关矩阵2、投资组合的协方差矩阵3、投资组合的标准差四、探索股票的最优投资组合1、使用蒙特卡洛模拟Markowitz模型2、投资…

    2022年9月1日
    3

发表回复

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

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