`
dingjun1
  • 浏览: 209632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

UML 用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解

 
阅读更多
转载:http://www.cnblogs.com/fan0136/archive/2008/12/14/1354730.html
共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。



1、包含(include)



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

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

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




2、扩展(extend)

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

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

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





4、泛化(generalization)



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

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





  • 大小: 10 KB
  • 大小: 9.3 KB
  • 大小: 9.1 KB
分享到:
评论

相关推荐

    UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系

    用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。基本概念用例图(UseCaseDiagram):用例图显示谁是相关的用户,用户希望系统...

    解释UML用例图中包含,扩展、泛化的区别.doc

    在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间的区别和联系对正确理解 UML 用例图至关重要。 包含关系(Include) 包含关系是一种基本关系,它允许将一个用例拆分为多个小的用例,以便重用和简化...

    解析UML用例图中include与extend的区别

    在 UML 用例图中,有两种重要的关系:include 和 extend。这两种关系都是用来描述用例之间的关系的,但是它们之间有着本质的区别。 include 关系是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共...

    UML用例图的包含,扩展,泛化的详细阐述.doc

    在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间的区别和应用场景是开发者需要掌握的重要知识。本文将对 UML 用例图的包含、扩展和泛化进行详细阐述,并探讨它们之间的区别和应用场景。 包含关系...

    【UML】用例图+活动图+include与extend的区别

    这是我搜集的UML资料。包括如何画用例图,用例图中extend和include的区别,如何画活动图。很详细的文档和课件!

    UML 用例图详解.docx

    用例图(Use Case Diagram)是统一建模语言(UML)中的一种图表,用于展现一个系统与它的主要交互者(参与者)之间的动态关系,以及系统提供的功能(用例)。用例图是描述系统功能需求和使用场景的有效工具,有助于...

    UML中用例图之间的关系 .docx

    UML 用例图是对系统的功能模型化,包括六个元素:执行者(Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。 在 UML 用例图中,每个...

    软件设计过程中画用例图的步骤

    用例图(Use Case Diagram)是描述人们如何使用一个系统的图表,它包含六个元素:参与者(Actor)、用例(Use Case)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)和泛化关系...

    \Oracle程序设计.ppt

    UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解

    选课系统用例图PPT学习教案.pptx

    用例图是统一建模语言(UML)中的一种图表,用于描述系统的功能和行为。用例图显示谁将是相关的用户、用户希望系统提供什么服务以及用户需要为系统提供的服务。用例图最常用来描述系统以及子系统。 二、用例图的...

    用例图实例讲解PPT课件.pptx

    用例间的关系包括关联关系、包含关系、扩展关系和泛化关系等。关联关系表示参与者用例之间进行通信。包含关系表示客户用例可以简单地包含提供者用例具有的行为。扩展关系表示扩展用例被定义为基础用例的增量扩展。...

    用例图含义及画法.doc

    6. 泛化关系(Generalization):是用例图中用例之间的关系,描述一个用例是另一个用例的泛化。 用例图模型如下所示,参与者用人形图标来标识,用例用椭圆来表示,连线表示它们之间的关系。 参与者是系统外部的一...

    用例之间的关系.pdf

    本文将详细介绍用例之间的四种关系:泛化关系、包含关系、扩展关系和关联关系。 泛化关系(Generalization) 泛化关系是一种继承关系,表示一般与特殊的关系。在用例泛化中,子用例继承了父用例的行为和属性,也...

    UML 图书管理系统 9张图

    * 图书馆管理系统中的用例图:包括借阅者请求服务的用例图、图书馆管理员处理借书、还书等的用例图、系统管理员进行系统维护的用例图。 3. 类图(Class Diagram) * 图书馆管理系统中的类图:包括 Item、Title、...

    中南大学软件学院软件体系结构实验1UML实验-参考答案.doc

    用例图包括参与者、用例和关系。在这个系统中,参与者包括员工、餐厅员工、菜单管理员和送餐员。用例包括查看菜单、在线订餐、注册工资支付、修改订餐信息、删除订餐信息、备餐、生成付费请求、请求送餐、管理菜单、...

    Ruby on Rails中的include和extend的常见用法

    本文将介绍浅谈Ruby on Rails中的include和extend。include主要用来将一个模块插入到一个类或者其它模块。extend用来在一个对象中引入一个模块,这个类从而也具备了这个模块的方法。

    UML习题1.docx

    13. 泛化(Generalization):在UML中所谓的“泛化”可以用继承来代替。 14. 信息流(Information Flow):在活动图中,表示操作之间的信息交换。 15. 消息传递(Message Passing):在面向对象程序设计中,对象与...

    PS图片出血扩展插件-Image Extend-1.0.0中文汉化版.zip

    PS图片出血扩展插件-Image Extend-1.0.0中文汉化版

Global site tag (gtag.js) - Google Analytics