基于UML活动图的用例识别.pdf
《基于UML活动图的用例识别.pdf》由会员分享,可在线阅读,更多相关《基于UML活动图的用例识别.pdf(10页珍藏版)》请在咨信网上搜索。
1、基于 UML 活动图的用例识别陈卓然,蒋建民,唐国富,谢嘉成,陈华豪(成都信息工程大学软件工程学院,成都610225)通信作者:蒋建民,E-mail:摘要:在面向对象的软件开发过程中,统一建模语言(unifiedmodelinglanguage,UML)的用例图用于捕获用户的需求.传统描述用例的方法一般是开发者根据自己的经验,从需求中人工获取用例.然而,如何自动生成准确的用例仍然是一个待解决的问题.本文提出了一种通过用 UML 活动图半自动生成用例的方法.首先通过引入形式化模型统一结构来描述用例图与活动图,其次给出分解活动图的算法,然后根据分解活动图得到的依赖链生成对应的用例的事件流,从而得到
2、用例模型,最后通过所开发的原型 CASE 工具进行案例的演示,验证了本文所提出的方法的可行性关键词:UML;用例图;活动图;形式化模型;用例识别引用格式:陈卓然,蒋建民,唐国富,谢嘉成,陈华豪.基于 UML 活动图的用例识别.计算机系统应用,2023,32(10):7584.http:/www.c-s- Case Identification Based on UML Activity DiagramCHENZhuo-Ran,JIANGJian-Min,TANGGuo-Fu,XIEJia-Cheng,CHENHua-Hao(SchoolofSoftwareEngineering,Chengdu
3、UniversityofInformationTechnology,Chengdu610225,China)Abstract:Intheobject-orientedsoftwaredevelopmentprocess,usecasediagramsofunifiedmodelinglanguage(UML)areappliedtocapturetheuserrequirements.Thetraditionalmethodofdescribingusecasesisgenerallybasedonthedevelopersownexperiencetoobtainusecasesfromth
4、erequirementsmanually.However,howtoautomaticallygenerateaccurateusecasesisstillaproblemtobesolved.Thisstudyproposesamethodtogenerateusecasessemi-automaticallybyusingUMLactivitydiagrams.Firstly,thestudyspecifiestheusecasediagramandactivitydiagrambyintroducingaformalmodel,theunifiedstructure.Secondly,
5、itgivesanalgorithmfordecomposingtheactivitydiagramandthengeneratestheeventflowofthecorrespondingusecases,whichisbasedonthedependencychainobtainedfromthedecomposedactivitydiagram,toobtaintheusecasemodel.Finally,thecaseisdemonstratedbythedevelopedprototypeCASEtoolandthefeasibilityoftheproposedmethodis
6、verified.Key words:unifiedmodelinglanguage(UML);usecasediagram;activitydiagram;formalmodel;usecaseidentification在面向对象的软件开发中,统一建模语言(unifiedmodelinglanguage,UML)已经成为国际标准建模语言1,2.用例图是在 UML 中一种重要的模型,它用于捕获用户的功能需求,而活动图也是在 UML 中的一种用于描述系统行为的模型视图,它既可以用于描述业务过程,也可以用于描述用例的事件流.在实际的软件开发中,活动图描述的业务过程通常对应到用例的事件流.因此,在
7、真实的软件开发过程中可以通过业务流程来识别出不同用例的事件流,从而进一步识别出用例3.用例图通常展示了最初一部分的用例模型,它刻画了参与者与用例之间的关系,并描述系统的整体功能需求.UML 创始人在他们的著作中提出,用例是能计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&Applications,2023,32(10):7584doi:10.15888/ki.csa.009265http:/www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:国家重点研发计划(2022YFB3305104);
8、国家自然科学基金(61772004);成都信息工程大学人才科研基金(KYTZ202009)收稿时间:2023-03-21;修改时间:2023-04-20,2023-05-06;采用时间:2023-05-15;csa 在线出版时间:2023-08-22CNKI 网络首发时间:2023-08-23SystemConstruction系统建设75够向用户提供有价值的结果的系统中的一种功能,它获取的是功能需求,所有的用例加在一起组成用例模型,应当构成目标系统所有的功能3.在面向对象的软件开发过程中,用例模型还贯穿了软件开发的整个生命周期,驱动软件开发的整个过程3.用例模型是否正确直接决定了待开发系统的
9、成败.然而,构建用例模型是非常复杂繁琐的工作,用例模型是对业务流程的分析得出的结果,它要考虑到参与者的识别、目标系统的行为、用例的粒度大小等多种因素,一般的开发者难以正确识别出用例模型.在捕获与识别用例的方面,大部分开发者往往选择直接从用户的需求描述中根据自己软件开发的经验识别用例.这样手工获取的用例难以完全表述用户的需要,常常还会因为用户与开发者的交流不足问题,产生用户原本不需要或与用户的期望偏差的功能,导致识别出不正确的用例模型,使开发出的系统不满足用户的需求.自从 20 世纪 80 年代 Jacobson 提出用例图的概念以来,很多研究者对用例图进行了深入的研究,如用例的描述4,用例的迭
10、代5,以及使用建模工具构造用例的工作6,但是这些工作都是手工完成的,而没有采取半自动或自动识别用例的方法.近年来,一些研究者开始采用自然语言处理与深度学习技术79提取需求文档中的需求,但是,这些工作都没有涉及到生成用例模型.而在用例模型相关的研究中1013,还没有直接从业务流程或业务建模中获取用例的方法.因此,本文提出了一种基于 UML 活动图的半自动用例识别方法.首先,通过对活动图进行形式化建模,从业务流程方面整体描述系统功能;其次,识别出活动图中的依赖链,对依赖链进行分割;最后,根据依赖链所对应的活动的执行顺序以及活动与活动所在的泳道之间的关系,来生成对应的用例以及用例与参与者的关系.本文
11、描述的方法能够应用于软件开发的早期阶段,协助建模人员建立用例模型.由于用例模型来源于需求,因此构造用例模型一般采用人工构造.然而正确识别用例并不是一项容易的工作,直接人工识别用例可能造成需求不明确的问题.本文的方法通过活动图建模业务流程并分解,可以快速、准确地识别用例.本文的方法使用形式化方法对模型进行了建模,能够保证模型的正确性与一致性,降低后续维护的成本.1用例图与活动图用例图把系统视为一个黑盒,从参与者的角度看待系统,非常适合用来做需求分析14.需求分析作为软件开发至关重要的阶段,常需要用例图的支持与驱动.图 1 展示了一个简单的用例图.Actor1Actor2BACDinclude i
12、ncludeextend图 1一个简单用例图活动图广泛应用于业务流程建模,着重表现从一个活动到另一个活动的流程.在软件开发中,活动图也用来表示整个业务的业务流程执行顺序.活动图从需求分析阶段开始,一直贯穿到软件测试阶段,在软件开发的各个阶段都起着重要的作用.图 2 展示了一个简单的活动图,它描述了酒店预订业务的业务流程.在第 2 节中,本文将对图 2 的活动图进行形式化建模,为之后的用例识别工作提供基础.为了方便表示,这里的节点都使用字母进行编号.sw1iabdcedn1me1nf1f2jglmhksw2sw3sw4预订发起者请求查询预订信息选择预订房间返回预订信息保存预订房间信息取消预订支付
13、订单预订计时器过期确定预订取消到达酒店完成预订支付订单标记预订取消处理支付订单TimeEvent等待客户到达系统管理员客户取消预订客户到达酒店无人完成预订图 2一个活动图计 算 机 系 统 应 用http:/www.c-s-2023年第32卷第10期76系统建设SystemConstruction2统一结构本节给出用于形式化表达 UML 模型的形式化模型统一结构(unifiedstructure).统一结构基于团队先前的依赖结构(dependencystructure)模型15,将 UML模型进行统一的形式化建模,从结构层面对 UML 模型进行分析与表示.USME,1,n,1,m定义 1.统一
14、结构()是一个多元组,其中:ME1)为模型元素的有限集;MEME2),包含关系,它是一个非自反的偏序;i 1,n,i MEME3)为依赖关系;ME(1n)4)为依赖上的限制;j 1,m,j MEe ME,1,m:e 5)为模型元素的类型集,满足条件:.模型元素在此处的概念与 UML 中的模型元素一致5,它可以根据视点的不同而有不同的类型.包含关系是非自反的偏序,用于建模父子关系.依赖关系的种类与数量会随着模型的不同而变化.包含与依赖关系都可以根据需要加入额外的限制条件.显然,根据定义 1,可以用统一结构对用例图与活动图进行建模.下面分别介绍如何用统一结构描述用例图与活动图.UCD=ME,Seq
15、uence,Include,Extend,AssociateGeneralize,UseCase,Actor,Event 图 1 展示了一个简单的用例图,它可以用统一结构 表 示 为,其中:ME=A,B,C,D,Actor1,Actor21)=2)Sequence=3)Include=(A,B),(A,C)4)Extend=(C,D)5)Associate=(B,Actor1),(D,Actor2)6)Genaralize=7)=8)UseCase=A,B,C,D9)Actor=Actor1,Actor210)Event=11)MEAA Actor1Actor1Sequence符号分别有如下含
16、义:表示模型中所有元素的集合,如 代表用例,代表参与者.代表用例与事件的包含关系,由于例子没有使用事件流,因此此处为空.表示事件流的执行顺序,此处为空.Include(A,B)BAExtend(C,D)DCAssociate(B,Actor1)BActor1GeneralizeUseCaseActorEvent表示用例之间的包含关系,如表示 包含.表示用例之间的扩展关系,如表示扩展.表示用例与参与者之间的关联关系,如表示用例 与参与者之间存在关联关系.表示用例与用例,或参与者与参与者之间的泛化关系,此处没有体现,因此为空.表示用例集合,是参与者集合,表示用例的事件流的集合,此处没有描述事件流,
17、因此为空.AD=ME,Sequence,InitialAct,FinalAct,Activity,Fork,Join,Decision,MergeSwimlane图 2 的活动图用统一结构表示为,其中:ME=a,b,c,d,e,g,h,j,k,l,m,n,i,f1,f2,te1,dn1,me11)=(i,sw1),(a,sw1),(c,sw1),(e,sw1),(k,sw1),(b,sw2),(d,sw2),(te1,sw2),(dn1,sw2),(j,sw2),(h,sw2),(f1,sw2),(me1,sw2),(n,sw2),(f2,sw2),(g,sw3),(l,sw4),(m,sw4
18、)2)Sequence=(a,i),(b,a),(c,b),(d,c),(te1,d),(dn1,te1),(e,dn1),(g,e),(h,g),(f1,h),(j,dn1),(k,j),(me1,k),(l,dn1),(m,l),(me1,m),(n,me1),(f2,n)3)=4)InitialAct=i5)FinalAct=f1,f26)Activity=a,b,c,d,e,g,h,j,k,l,m,n,i,f1,f2,te1,dn1,me17)Fork=8)Join=9)Decision=dn110)Merge=me111)Swimlane=sw1,sw2,sw3,sw412)MEai
19、(i,sw1)isw1Sequence(a,i)iaInitialActFinalActActivityForkJoinDecisionMergeSwimlane此处解释符号的含义.表示模型元素中所有元素的集合,如 表示一个活动节点,表示一个初始化节点;表示节点之间的包含关系,如表示节点 归属于节点;表示节点之间的执行顺序,如表示执行顺序为先 后;表示初始化节点集合;表示结束节点集合;表示活动节点集合;表示分支节点集合,此处没有使用分支节点,因此集合内没有元素;表示汇聚节点集合,此处没有使用汇聚节点,因此集合内没有元素;表示决策节点集合;表示合并节点集合;表示泳道节点集合.2023年第32卷第
20、10期http:/www.c-s-计 算 机 系 统 应 用SystemConstruction系统建设77US=ME,1,n,1,m定义 2.令为一个统一结构.dc=x1xni1,n1,xi,xi+1 ME(xi,xi+1)(1n)dcUS如果序列,则称为的一个依赖链.dcdcdc=x1xn DC(US)USdcdc=x1xndc=n表示为依赖链中的模型元素,也就是说,表示中所有可能的依赖链.表示依赖链中模型元素的个数,也就是说,.iabcte1dn1eghf1在图 2 所示的活动图中,是一条依赖链.US=ME,1,n,1,mME=1n性质 1.若为一个统一结构,则.证明:由定义 1 直接可
21、得.US=ME,1,n,1,mdc=x1xn DC(US)i 1,n1,(xi,xi+1)dc性质 2.令为一个统一结构,并且.如果,那么在中没有环.dcdc证明:由于依赖链中只包含了包含关系,根据定义 1 与定义 2,包含关系 是一个非自反的偏序,满足该偏序关系的元素无法关联到自身.因此中不存在环.性质 2 说明了只包含了包含关系的依赖链是没有环的.3基于活动图的用例的识别本节介绍使用统一结构建模的活动图进行用例识别的方法.AD=ME,Sequence,InitialAct,FinalAct,Activity,Fork,Join,Decision,Merge,SwimlaneDC(AD)AD
22、dc=x1xnDC(AD)x1InitialActxnFinalActdcCDC(AD)AD定义 3.令为一个活动图,是中所有可能的依赖链.如果依赖链且,则称是完全的.这里定义表示活动图所有的完全的依赖链.iabcte1dn1eghf1iInitialActf1FinalActME在图 2 的活动图中,依赖链.的首个元素 属于,末尾的元素属于,首尾之间的元素全部属于,因此它是一个完全的依赖链.AD=ME,Sequence,InitialAct,FinalAct,Activity,Fork,Join,Decision,Merge,SwimlaneCDC(AD)ADdc=x1xnCDC(AD)xi
23、,xi+1x1,xn:(xi,xi+1)Sequence命题 1.令为一个活动图,是中所有可能的完全的依赖链.如果,则.dc=x1xnCDC(AD)证明:,即活动图中所有Sequencexi,xi+1 x1,xn:(xi,xi+1)Sequence的依赖链都是完全的依赖链,每个依赖链中的每两个相邻元素组成的元素对都能在中找到,即,命题得证.iabcte1dn1eghf1iabcdte1dn1jkme1nf2命题 1 表明了一个活动图可以分解为多个独立的依赖链.图 2 的活动图能够被分解为依赖链与依赖链,分解原始活动图得到的两个依赖链都是完全的依赖链.AD=ME,Sequence,Initial
24、Act,FinalAct,Activity,Fork,Join,Decision,Merge,SwimlaneTimeEventActivitydc=x1xnCDC(AD)x TimeEventdcdc定义 4.令为一个活动图,并假定是时间事件.如果一个链,并且,则称是可分解的.定义 4 引入了时间事件的概念.因为一些业务上的操作需要等待其他业务相关的执行者或用户完成其他操作才能继续进行,所以将这些等待其他执行者或用户的操作描述为时间事件.以这一类事件为分界,将一个完整但较长的业务流程分解成多个独立的业务流程.满足定义 4 的依赖链能够被分解为多个依赖链.如果依赖链的性质不能满足定义 4,说明
25、依赖链所对应的业务流程在实际执行中不需要等待其他业务执行者完成操作,这样的依赖链能够直接被识别为一个用例.算法 1.活动图生成已分解的依赖链的集合AD=ME,Sequence,Swimlane,InitialAct,FinalAct,Activity,Fork,Join,Decision,Merge,输 入:活 动 图输出:所有已分解的依赖链的集合 DDCCDC1)/初始化完全的依赖链的集合DDC2)/初始化已分解的依赖链的集合rc3)/初始化依赖链pathStack4)Initializeasastack/初始化路径栈InitialNodesSeteME|xME:(x,e)Sequence5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 UML 活动 识别
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。