解析UML用例图之include与extend

              关于include与extend的区别,在之前画UML图的时候并没有注意到,还是在画第二遍机房收费系统图验收的时候师傅提出来的,于是查了一些资料,我在机房收费系统中是这样用到include的:

             

             我在一开始看过其他资料的时候大家都是这么用的,我也就想都没想惯性的用了include,但是也不知道原因,就自以为这两个用例都要用这个exportExcel,就是都包括,可是为什么不能用extend呢?下面看看他们的区别:

              include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分,如上图中,QueryOnline和QueryRecharge知道ExportExcel这个用例,但是ExportExcel并不知道QueryOnline和QueryRecharge这两个用例

              而Extend与include恰恰相反,先举个例子:

         

         在这个例子中,用户只知道自己有发送消息的功能,但至于通过哪条途径,用户并不知道,但“通过短信”和“通过邮件”这两个途径知道如何扩展“发送一条消息”这条途径。

         在需求分析阶段,可能无法明确到底有多少中方式,在用例分析阶段,发送一条消息用例需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,即如上图所示。

          实践出真知,希望和大家交流!

时间: 2024-08-02 14:34:59

解析UML用例图之include与extend的相关文章

UML用例图中的泛化、扩展和包含关系

在画用例图的时候,理清用例之间的关系是重点.用例的关系有泛化(generalization).扩展(extend)和包含(include).其中include和extend最易混淆.下面我们结合实例彻底理清三者的关系. 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图.用例图主要的作用是获取需求.指导测试. 用例图的4个基本组件:参与者(Actor).用例(Use Case).关系(Relationship)和

Ruby中require、load、include、extend的区别介绍

  这篇文章主要介绍了Ruby中require.load.include.extend的区别介绍,require.load用于文件,如.rb等等结尾的文件,include.load则用于包含一个文件中的模块,需要的朋友可以参考下 require,load用于文件,如.rb等等结尾的文件.include,load则用于包含一个文件中的模块. require 一般情况下用于加载库文件,而load则用于加载配置文件. 1.require:加载一个库,并且只加载一次,如果多次加载会返回false.只有当

菜鸟求助:visio画UML用例图时遇到的问题

问题描述 UML用例图有四种关系:关联.包含.扩展.泛化(继承)请问在用visio里,这四种关系的连接线在哪里?找不到.... 解决方案

YY博客园UML用例图-活动图-状态图之博客模块

UML建模YY系列: YY博客园UML类图之博客模块 YY博客园UML时序图之博客模块 YY博客园UML用例图-活动图-状态图之博客模块 前面YY了博客园UML类图之博客模块和博客园UML时序图之博客模块,这次把剩下常用的用例图.状态图和活动图一起给完成了.至于其他不常用的对象图.组件图和配置图在此一律不表.协作图可以由时序图转换而来,因此也不做讨论. 博客园博客模块用例图 用户粒度如何控制呢?囧... 用户登陆活动图 博客园博客的状态图 博客状态图出来了,是什么时候上最多推荐的?有本事让我上最

[UML]UML系列——用例图中的各种关系(include、extend)

用例图中的各种关系 一.参与者与用例间的关联关系       参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系         (1)  概念         包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例.        (2)表示符号<<include>>           再如上篇文章中饮料自动售货机的例子:     

UML学习:用例图中的各种关系(include、extend)

用例图中的各种关系 一.参与者与用例间的关联关系 参与者与用例之间的通信,也成为关联或通信关系. 二.用例与用例之间的关系 包含关系(include) 扩展关系(extend) 包含关系 (1)  概念 包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例. (2)表示符号<<include>> 再如上篇文章中饮料自动售货机的例子:

【软件工程】2.UML用例图

什么是UML?UML(Unified modeling language) 出现于70年代中期,建模语言数量从不到十种增加到了五十多种,OO(面向对象)方法的用户并不了解不同建模语言的优缺点及相互之间的差异: 90年代中期形成了UML统一建模语言,它是一种支持模型化和软件系统开发的图形化语言. UML建模工具 (1)IBM Rational Rose (2)StarUML (3)ArgoUML (4)等等...... 我们接下来使用的建模工具是IBM Rational Rose,我们首先在自己电

UML用例图总结(转)

  用例图主要用来描述"用户.需求.系统功能单元"之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. 参与者(Actor) 表示与您的应用程序或系统进行交互的用户.组织或外部系统.用一个小人表示. 2. 用例(Use Case)   用例就是外部可见的系统功能,对系统提供的服务进行描述.用椭圆表示. 3. 子系统(Subsystem) 用来展示系统的一部分功能,这部分功能联系紧密.

UML——用例图

  用例图是除开发人员以外的用户所能看到的系统功能模型图,展示了一些用户和用例以及它们之间的联系.   用例图的作用主要有三个:   a.获取需求:   b.指导测试:   c.在整个过程的其他工作流起到作用.   用例图所包含的元素如下:   1.参与者(Actor)   参与者不单单是指人,而是指系统以外的,在使用系统或与系统交互过程中所扮演的角色.因此参与者可以是人,也可以是事物或者子系统等等.参与者用简笔画的小人表示:   2.用例(UseCase)   用例可以理解为参与者需要系统做的