`
mnieguomin
  • 浏览: 26909 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UML-用例图的包含、扩展、泛化

阅读更多

在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。

 

基本概念
用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指导测试。

 

用例图的4个基本组件:参与者(Actor)、用例(Use Case)、关系(Relationship)和系统。

 

泛化(generalization):泛化关系是一种继承关系,子用例将继承基用例的所有行为,关系和通信关系,也就是说在任何使用基用例的地方都可以用子用例来代替。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向基用例。

 

扩展(extend): extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能。extend的基用例中将存在一个扩展点,只有当扩展点被激活时,子用例才会被执行。 extend关系在用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例。

 

包含(include): include为包含关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。include关系在用例图中使用带箭头的虚线表示(在线上标注<<include>>),箭头从基用例指向子用例。

 

实例需求场景
联通客户响应OSS。系统有故障单、业务开通、资源核查、割接、业务重保、网络品质性能等功能模块。现在我们抽出部分需求做为例子讲解。

需求1:客户响应用户和国际客服可以进行割接通知查询,在页面上有骨干割接查询、省间割接查询、省级割接查询的Tab。
分析:可以很容易看出割接查询和不同的割接子查询Tab之间是继承的关系,所以此处用泛化。用户和客户响应、国际客服也是继承的Actor关系。

 

需求2:客户响应用户和国际客服可以查看某条割接通知信息,可以在页面上导出割接信息Excel格式,可以查询和该条割接相关联的故障单信息。

分析:因为导出割接和查看相关联的故障单信息都是可选的,就是说我查看割接的时候,也可以不进行这些操作,所以这里用extend关系。也就是导出割接和查看故障单信息扩展了查看割接信息。

 

需求3:客户响应用户可以以网管系统为来源创建割接通知,在创建割接通知时可以保存为草稿,也可以直接发布割接通知。

分析:由于创建割接通知时,发布割接通知可以同时进行,也可以先存为草稿,所以发布割接是可选的,用extend就比较合适。也就是发布割接扩展了创建割接通知。

 

需求4:用户在进行业务开通、发布割接通知、发布重保通知及相关跨省的业务时需要进行数据分发。

分析:由于业务开通、重保、割接及其它跨省的业务都需要用到数据分发用例,我们可以将数据分发用例单独抽出来,供各业务使用,这里用include就比较合适。实际的系统中数据分发也是单独抽出来用jms和webservice实现的接口服务。

其它需求:可以看到删除割接通知和查看割接明细也可以做为割接通知查询用例的扩展,因查询列表时,一般可以选择继续查看明细或者删除操作。但在实际化图中,这两个extend可以不画,这里只是为了让大家理解概念。

用例图:大家可以参照着图,好好理解。

 

加深理解

我们再用另外一个场景的用例说明一下include和extend,因为就这两个玩意比较容易搞混。

销户:因为销户必需先进行账户结算,所以这里用include

停机提醒:有两个可选项,短信提醒和邮件提醒,所以用extend.

 

经过以上的分析,相信大家对三种关系已经有比较好的理解了。大家有什么其它想法或好的见解,欢迎拍砖。

PS:以上用例图用Enterprise Architect 7.5所画,在此推荐一下EA,非常不错。可以替代Visio和Rose了。Visio功能不够强大,Rose太重。唯有EA比较合适。

 

作为UML学习记录.

 

转自: http://www.cnblogs.com/fsjohnhuang/articles/2366085.html

分享到:
评论

相关推荐

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

    理解 UML 用例图中的包含、扩展、泛化关系 UML 用例图是Unified Modeling Language(统一建模语言)中的一种图形表示方法,用于描述系统的功能和行为。在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间...

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

    在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。基本概念用例图...

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

    UML 用例图的包含、扩展、泛化的详细阐述 UML 用例图是一种重要的建模工具,用于描述系统的功能和行为。在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间的区别和应用场景是开发者需要掌握的重要知识。...

    初学UML-用例图入门教程

    学习UML用例图,不仅能够帮助我们梳理需求,还能促进团队间的沟通,使得非技术人员也能理解复杂的系统设计。通过创建和分析用例图,我们可以发现潜在的问题,优化系统设计,确保最终产品的功能符合用户需求。 在...

    UML,用例图

    【UML,用例图】是统一建模语言(Unified Modeling Language)中的一种图形表示方式,主要用于描述系统功能需求和用户交互。用例图提供了一种直观的方式来展示系统的外部行为,它关注的是谁(参与者)如何与系统进行...

    UML用例图例子

    在UML用例图中,通常包括以下几个关键元素:** 1. **参与者(Actor)**:参与者是系统之外的实体,可以是人、硬件设备、其他系统或系统的一部分。它们通过与系统交互来实现某些目标。在用例图中,参与者通常用带有...

    uml 用例图

    ### UML用例图详解 #### 一、UML用例图概述 UML(统一建模语言)用例图是一种用于系统需求分析的重要工具,它着重于展示系统与外部参与者之间的交互,以及系统需要提供的服务。用例图是UML中的一种静态视图,用于...

    uml用例图实例讲解

    《UML用例图实例讲解》 UML(统一建模语言)是软件开发中用于系统建模的重要工具,其中用例图是描述系统功能需求的关键图表。本章将深入探讨用例图的概念、建模技术和一个实际的图书馆管理系统用例图的案例。 5.1 ...

    uml基础教程第三章-用例图.ppt

    "UML基础教程第三章-用例图" 本章主要讲解了用例图的概念、组成、表示方法和应用场景。用例图是UML中的一种静态结构图,用于描述系统的功能性需求和系统功能的使用环境。用例图主要由参与者、用例和关系三个要素...

    用例图介绍-用例图入门

    4. **关系**:用例图中的关系主要包括关联、泛化、包含和扩展四种类型。 - **关联关系**:表示参与者与用例之间的通信和交互,用一条直线表示,从参与者指向用例。 - **泛化关系**:表示一个父用例被特化成多...

    UML网购 用例图 类图 活动图

    用例图是UML中的一种图表类型,主要用于描述系统的行为以及用户与系统之间的交互。本案例中基于当当网购物网站构建了用例图,展示了网站的主要功能及用户角色。 ##### 主要知识点: 1. **参与者**:参与者是指与...

    UML指南用例图

    在提供的“UML用例图.pdf”文件中,可能包含不同场景下的用例图示例,如电子商务网站、图书馆管理系统等,通过这些例子学习如何构建和解读用例图。 5. **进阶话题**: - **用例图的局限性**:用例图不包含系统...

    uml技术学习(附物流系统用例图)

    **UML技术学习(附物流系统用例图)** UML,全称为统一建模语言(Unified Modeling Language),是软件工程领域中一种重要的可视化建模工具。它为系统设计者提供了一种标准化的方式来描述软件系统的需求、结构和...

    UML-use-case-diagrams.rar_engineering_用例图

    **UML用例图详解** 在软件工程领域,UML(统一建模语言)是一种标准的建模工具,用于描述系统的行为和结构。其中,用例图(Use Case Diagram)是UML的一种静态视图,它捕捉了系统与外部参与者之间的交互。本文将...

    UML用例图实例讲解

    在"uml用例图实例讲解.ppt"这个文件中,可能包含了各种用例图的例子,如银行系统的用例图,其中可能有"存款"、"取款"、"转账"等用例,以及"客户"、"ATM机"等参与者。通过这些例子,初学者可以更好地理解用例图的...

    软件工程uml图 用例图

    软件工程 UML 图用例图 用例图是 Unified Modeling Language (UML) 中的一种静态建模图,它用于描述系统的功能需求和行为。用例图由参与者、系统边界、用例和关联四部分组成。参与者是系统的外部实体,系统边界是...

    UML用例图讲解PPT

    在UML用例图中,主要包含以下几个核心元素: 1. **参与者(Actor)**:参与者代表与系统交互的外部实体,可以是人、硬件设备、其他系统等。在用例图中通常以小人的图标表示。 2. **用例(Use Case)**:用例描述了...

    UML 用例图的PPT

    《UML 用例图详解》 UML(统一建模语言)是软件开发中用于可视化、构造和文档化的标准工具,其中用例图是一种重要的图表类型,它描绘了系统与外部用户,即活动者之间的交互。用例图提供了一个高层次的视角,展示了...

Global site tag (gtag.js) - Google Analytics