今天应用用例图对一个系统进行了分析,期间需要考虑用例间关系。随找到如下资料。
正文:
   用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。

用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛(generalization)几种关系。

共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。

1、包含(include)

包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(Base)用例复用。基用例控制与包含用例的关系,以及被包含用例的事件流是否会插入到基用例的事件流中。基用例可以依赖包含用例执行的结果,但是双方都不能访问对方的属性。

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

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

2、扩展(extend)

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

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

例如,系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导入、打印和查询相对独立,而且为查询添加了新行为。因此可以采用扩展关系来描述:

3、泛化(generalization)

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

例如,业务中可能存在许多需要部门领导审批的事情,但是领导审批的流程是很相似的,这时可以做成泛化关系表示:

最后,附上我所做的初步的用例图。

转载于:https://www.cnblogs.com/GISDEV/archive/2007/11/15/959843.html

UML中的用例间关系图示相关推荐

  1. UML中的用例(Use Case)概念分析及实例

    在UML中use case似乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用例描述.用例图由参与者(Actor).用例(Use Case).系统边 ...

  2. UML中聚合和组合的关系(笔记)

    聚合(Aggregation) 一種鬆散的對象閒的關係 部分可獨立于聚合而存在 关联是表示两个类的一般性联系,比如"学生"和"老师"就是一种关联关系:聚合表示h ...

  3. UML中关系(4+4)

    前言 学习UML画图中最重要的两部分就是9种图和四种关系了,只要掌握了这两部分,那你就厉害了.下面就让小编和你一起学习一下这四种关系吧. 论述 一.第一个四种关系:依赖关系.关联关系.泛化关系.实现关 ...

  4. UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别

    zz from: http://dev.firnow.com/course/3_program/java/javajs/20090219/155939.html UML中几种类间关系:继承.实现.依赖 ...

  5. UML 中关系详解以及在visio中的表示

    http://www.cnblogs.com/kittywei/archive/2013/05/15/3079536.html Uml 关系主要有四大类: 依赖,关联,泛化,实现. 其中 依赖和关联是 ...

  6. UML 之 UML中的关系

    关系(Relationships):表示基本图示符号之间的关系. UML定义的关系主要有6种:依赖,泛化,实现,关联,聚合和组合.下面就依次向大家讲解一下这些关系: 关联(Association)   ...

  7. UML:UML中的关系

    关系:在UML中,关系是重要的语义. --关联关系:用一条直线表示,A-B,描述不同类的对象之间的结构关系. 关联关系表示一个对象了解其他对象,即关联关系描述了某个对象在一段时间内一直"知道 ...

  8. UML解惑:图说UML中的六大关系--转

    UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...

  9. (转,改)UML中的几种关系

    UML中定义的关系主要有6种: 依赖.关联.聚合.组合/合成.泛化.实现; 1.依赖关系:    含义:是类与类之间的连接,表示一个类依赖于另外一个类的定义;依赖关系仅仅描述了类与类之间的一种使用与被 ...

最新文章

  1. Reverse Integer
  2. 一个面试官对JVM面试问题的分析
  3. java 字节输入流_JavaIO流(一)-字节输入流与字符输入流
  4. 6张图为你分析Kafka Producer 消息缓存模型
  5. oracle 同步索引,oracle全文索引之同步和优化索引做了什么
  6. 转载 webstrom识别 React语法
  7. “防护左移”赋能开发人员,实时修复代码安全问题
  8. 如何使用计算机对文件修改密码,如何给文件夹设置一个密码?(电脑怎么给文件夹设置密码?)...
  9. 适合国人的6款免费远程桌面工具,适用于电脑和手机
  10. 多普勒效应多径效应慢衰落、快衰落
  11. kafka动态权限认证(SASL SCRAM + ACL)
  12. logback根据业务分开打印日志
  13. Skyline查询实验数据点的生成
  14. 【第八章】文件与文件系统的压缩、打包与备份
  15. 跳转物联平台,登录失败问题
  16. MacBook自动获取DNS
  17. 【软件测试】期末复习题
  18. zapper(Ubuntu20.0.4)
  19. 使用Apache实现负载均衡。
  20. 网易互娱动效设计师 | VX动效学习如何入门?

热门文章

  1. linux开启多少到多少端口命令,Linux端口命令
  2. mysql下载环境_windows下安装mysql需要什么环境
  3. pytorch torch.nn.Module.register_buffer
  4. HTTP Headers Content-Disposition
  5. docker mysql8
  6. navicat导出查询结果原理_使用Navicat生成ER关系图并导出
  7. 鸿蒙系统是不是推迟发布了,鸿蒙系统2.0来了,华为Mate40推迟发布
  8. linux多目录多域名,一个空间放多个网站(多域名绑定到同一空间不同目录)
  9. CVE-2020-1472 漏洞缓解请教!
  10. Java基础学习总结(115)——Java 类加载机制详解