uml各种关系的比较说明.doc_第1页
uml各种关系的比较说明.doc_第2页
uml各种关系的比较说明.doc_第3页
uml各种关系的比较说明.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

uml各种关系的比较说明各种关系的比较说明 Extend 、 Include 、 Uses 第一、 必须明确uses和extends是UML1.1中的stereotypes(构造),它们在UML1.3(Rose2003中已经舍弃了uses关系)中被修订为include(代替了原有的uses)和extend; 第二、 需要明确的是include和extend用于表示use cases之间的关联(associations)?依赖关系; 第三、 有一个例子可以解释include和extend的用法:在一个eCommerce系统中,有三个用例 Browse Catalog Place Order Authorize Credit Purchase这个用例来自外部系统。 其中“Browse Catalog”用例extend“Place Order”用例,因为“Place Order”是“Browse Catalog”的特殊情况,用户在browse的时候,可以随时place order。 而“place order”用例include“Authorize Credit Purchase”用例,这是因为用户必须用credit card来支付order,这就存在一个验证credit card的问题,所以“place order”用例一定包含“Authorize Credit Purchase”用例。 用尤克滨先生的话来说就是:比如你上楼,你也许必须要走楼梯(include),当然你有可能在中途去一下洗手间(extend)。 Extend扩展关系,最常用的关系之一(并联) 定义 表示两个用例间有扩展关系,后者是前者信息或者业务功能的扩展。如果A extend B,那么B是A一个条件性执行用例。 格式 表示NewUseCase(A)每次被调用,系统也有可能会调用NewUseCase2(B),但并不是每次都调用NewUseCase2。表示NewUseCase2只是NewUseCase1的一个扩展用例,关系不像Include那么紧密 例子 比如登录是一个用例,如果我们把登录失败当成一个用例,那么这个用例和登录就是Extend的关系。(当然登录失败我们一般处理为一个备选流)。 说明 是指额外的用力插入,基用力对此扩展不知情扩展关系是处理用例的变体,如果把变体的内容放在同一个用例的可选过程中, 会使得问题变得复杂, 难于理解。 通常建立基本过程在基本用例中,不同的变体建立成不同的用例扩展基本用例。是对基本的流程进行建模,然后通过扩展用例进行扩展。基本用例不知道扩展用例,扩展用例通常是在基本用例的某一点和特定的条件激发。扩展用例通常是对基本用例的补充和可选的行为建模。扩展关系可以看作是中断。(例如:“查询人员信息”是一个用例,“修改人员信息”是一个用例,则“查询人员信息”extend“修改人员信息”,表明修改人员信息涉及到查询人员信息,这可以使得传统的audi设计更为精确) 使用条件 if usecase A is mixed into usecase B ( it can be said B allows optional functionality of A to be incorporated into itself),but A is not added as a whole ,it is divided as some parts but all the parts are all added to B . I think this relation can be described as extension . 使用基本原则 1.基用例(即被扩展用例)与扩展用例应该是 相互独立的,换句话说,基用例必须是完整的,扩展的用例与其相分离的。 先描述基本行为(或特性)-强制的 再描述添加的额外行为-强制的或可选的 2.扩展依赖的层次深度,一般不应该再去扩展一个扩展用例。 Include是包含关系,最常用的关系之一(串连) 定义 表示两个用例间有包含关系,后者是前者的一部分。如果A Include B,那么A Case就有可能执行B Case,如果A执行B得话,就必须完全执行。 格式 表示NewUseCase1每次被调用,系统也都会调用NewUseCase2。表示NewUseCase2其实是NewUseCase1的一个附属用例。当然,NewUseCase2也可能是另外一个用例的附属用例。 例子 例如看病是个用例,挂号是另一个用例,挂号包含于看病。但是看病时并不一定挂号,因为急诊是无需挂号的(即是说看病用例不包含挂号用例),但如果挂号的话,那就必须完成这个用例。 说明 使用关系是在多个用例包含了重复的内容,避免重复,把这部分共同的用例片断抽出来,可以被多个用例使用。比如取款和转账都需要用户身份验证。 是对多个用例中重复的部分的抽取,并通过用例的Include关系来表达出来。 包含用例知道被包含用例,通常在文字描述中通过下划线的方式来引用被包含用例。 被包含用例的动作流被插入到包含用例的动作流中通常,被包含用例不是一个真正意义上的用例,只是一个片断。 可以命名为Sub Use Case。包含关系可以看作是调用或者引用。 使用条件 the use case being included is known as the inclusion use case , and the use case doing the including as the base use case . the include relationship is appropriate if a complete sequence diagram for the base case would include the sequence diagram for the inclusion case ,and the interactions in the inclusion case are performed without interruption 如何在画用例的时候使用Extend 和 Uses (和Include似乎并无本质区别?姑且先等价二者usesInclude) 如果你学过电路的基本知识,这个比喻有用 被使用的用例是多条串联电路中的公共的串联电路。 箭头从使用的主电路指向被使用的公共电路。 扩展关系正好和并联电路有关系。 扩展用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论