欢迎来到天天文库
浏览记录
ID:15406705
大小:27.00 KB
页数:4页
时间:2018-08-03
《uml各种关系的比较说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、uml各种关系的比较说明各种关系的比较说明Extend、Include、Uses第一、必须明确uses和extends是UML1.1中的stereotypes(构造),它们在UML1.3(Rose2003中已经舍弃了uses关系)中被修订为include(代替了原有的uses)和extend;第二、需要明确的是include和extend用于表示usecases之间的关联(associations)??依赖关系;第三、有一个例子可以解释include和extend的用法:在一个eCommerce系统中,有三个用例BrowseCatalogPl
2、aceOrderAuthorizeCreditPurchase这个用例来自外部系统。其中“BrowseCatalog”用例《extend》“PlaceOrder”用例,因为“PlaceOrder”是“BrowseCatalog”的特殊情况,用户在browse的时候,可以随时placeorder。而“placeorder”用例《include》“AuthorizeCreditPurchase”用例,这是因为用户必须用creditcard来支付order,这就存在一个验证creditcard的问题,所以“placeorder”用例一定包含“Aut
3、horizeCreditPurchase”用例。用尤克滨先生的话来说就是:比如你上楼,你也许必须要走楼梯(include),当然你有可能在中途去一下洗手间(extend)。Extend扩展关系,最常用的关系之一(并联)定义表示两个用例间有扩展关系,后者是前者信息或者业务功能的扩展。如果AextendB,那么B是A一个条件性执行用例。格式表示NewUseCase(A)每次被调用,系统也有可能会调用NewUseCase2(B),但并不是每次都调用NewUseCase2。表示NewUseCase2只是NewUseCase1的一个扩展用例,关系不像I
4、nclude那么紧密例子比如登录是一个用例,如果我们把登录失败当成一个用例,那么这个用例和登录就是Extend的关系。(当然登录失败我们一般处理为一个备选流)。说明是指额外的用力插入,基用力对此扩展不知情扩展关系是处理用例的变体,如果把变体的内容放在同一个用例的可选过程中,会使得问题变得复杂,难于理解。通常建立基本过程在基本用例中,不同的变体建立成不同的用例扩展基本用例。是对基本的流程进行建模,然后通过扩展用例进行扩展。基本用例不知道扩展用例,扩展用例通常是在基本用例的某一点和特定的条件激发。扩展用例通常是对基本用例的补充和可选的行为建模。扩
5、展关系可以看作是中断。(例如:“查询人员信息”是一个用例,“修改人员信息”是一个用例,则“查询人员信息”extend“修改人员信息”,表明修改人员信息涉及到查询人员信息,这可以使得传统的audi设计更为精确)使用条件ifusecaseAismixedintousecaseB(itcanbesaidBallowsoptionalfunctionalityofAtobeincorporatedintoitself),butAisnotaddedasawhole,itisdividedassomepartsbutallthepartsarealla
6、ddedtoB.Ithinkthisrelationcanbedescribedasextension.使用基本原则1.基用例(即被扩展用例)与扩展用例应该是相互独立的,换句话说,基用例必须是完整的,扩展的用例与其相分离的。先描述基本行为(或特性)--强制的再描述添加的额外行为--强制的或可选的2.扩展依赖的层次深度,一般不应该再去扩展一个扩展用例。Include是包含关系,最常用的关系之一(串连)定义表示两个用例间有包含关系,后者是前者的一部分。如果AIncludeB,那么ACase就有可能执行BCase,如果A执行B得话,就必须完全执行。
7、格式表示NewUseCase1每次被调用,系统也都会调用NewUseCase2。表示NewUseCase2其实是NewUseCase1的一个附属用例。当然,NewUseCase2也可能是另外一个用例的附属用例。例子例如看病是个用例,挂号是另一个用例,挂号包含于看病。但是看病时并不一定挂号,因为急诊是无需挂号的(即是说看病用例不包含挂号用例),但如果挂号的话,那就必须完成这个用例。说明使用关系是在多个用例包含了重复的内容,避免重复,把这部分共同的用例片断抽出来,可以被多个用例使用。比如取款和转账都需要用户身份验证。是对多个用例中重复的部分的抽取
8、,并通过用例的Include关系来表达出来。包含用例知道被包含用例,通常在文字描述中通过下划线的方式来引用被包含用例。被包含用例的动作流被插入到包含用例的动作流中通
此文档下载收益归作者所有