[发明专利]一种基于限界上下文的微服务划分方法在审
申请号: | 202110738038.9 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113407326A | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 李涛;刘晓燕 | 申请(专利权)人: | 昆明理工大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 昆明明润知识产权代理事务所(普通合伙) 53215 | 代理人: | 马海红 |
地址: | 650093 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 限界 上下文 微服 划分 方法 | ||
本发明涉及一种基于限界上下文的微服务划分方法,属于软件系统重构技术领域。本发明包括四个步骤:一是分析业务场景,梳理出系统的主要业务流程,获取系统的业务场景;二是用例图描述,用统一建模语言用例图进行建模;三是提炼上下文,通过语义和功能相关性分析,提炼出业务活动上下文;四是提取候选微服务,确定上下文边界并命名,得到候选微服务。本发明直面软件架构重构过程中将单体架构系统划分为微服务的挑战,面向软件开发需求阶段,解决了架构师以往过度依赖直觉和经验进行微服务划分的问题,为架构师提供客观的决策建议。
技术领域
本发明涉及一种基于限界上下文的微服务划分方法,属于软件系统重构技术领域。
背景技术
在企业重构系统过程中,首要问题的就是将遗留系统划分为微服务。微服务划分技术是该领域当前面临的巨大挑战,也是学术界和工业界的研究热点。需求分析是软件开发的早期阶段,这一阶段决定软件开发的走向,是非常重要的一步。目前还没发现有专门针对软件微服务化早期阶段的微服务划分方法。
发明内容
本发明要解决的技术问题是:提供了一种基于限界上下文的微服务划分方法,解决了架构师在微服务划分过程中过度依赖直觉和经验的问题。
本发明采用的技术方案是:一种基于限界上下文的微服务划分方法,包括如下步骤:
1)分析业务场景;
2)用例图描述,通过统一建模语言用例图进行建模;
3)提炼上下文,通过语义和功能相关性分析,提炼出业务活动上下文;
4)提取候选微服务,确定上下文边界并命名,得到候选微服务。
具体地,所述步骤1)具体如下:
通过阅读遗留系统开发文档和通过与开发人员及领域专家充分交流,全面地收集遗留系统信息,理清参与角色(Who)、业务活动(What)和业务价值(Why),梳理出角色和事件交互的过程和完成的顺序,也就是系统的主要业务流程。在业务流程的基础上抽象出不同的业务场景,这些业务场景由多个业务活动组成。由于对遗留系统的结构缺乏了解,因此收集信息是非常关键的一步。
具体地,所述的步骤2)具体如下:
在获得业务场景的基础上,利用领域场景分析的用例分析方法剖析这些场景以识别业务活动,一个业务活动实则就是一个用例,用统一建模语言(Unified ModelingLanguage,UML)用例图对业务场景进行建模,并确定用例之间的关系,得到某个业务场景的用例图模型。由于功能相关性分析依赖用例之间的关系,先对其进行简单介绍。用例之间的基本关系包括泛化、包含和扩展,泛化关系(Generalization)代表一般和特殊的关系;包含关系(Include)是一个用例包含其他用例具有的行为并把这些行为作为自身用例的一部分;扩展关系(Extend)是基本用例的增量扩展。
具体地,所述的步骤3)包括两个方面的分析:
1)语义相关性分析
从语义角度去分析业务活动的用例描述,如果某些用例具有相同的语义,能作为归类的特征,语义相关性主要来自于描述业务活动的宾语。例如,若获得用例查询商品、收藏商品和分享商品,这些用例都具有“商品”的语义,基于语义相关性的特征,可以考虑将这些用例归为同一类。
2)功能相关性分析
功能相关性指的就是职责的内聚性,强相关就等于高内聚。功能相关使用高内聚低耦合设计原则,从功能的角度分析业务活动是否彼此关联和依赖,如果用例之间存在关联和依赖,可以作为归类的特征。如果两个功能必须同时存在,又或者缺少一个功能,另一个功能是不完整的,则二者功能强相关,反之则二者功能弱相关。本发明的方法通过用例之间的关系来判别功能相关性的强弱,若用例之间是包含关系,则功能相关性强;若用例之间是扩展关系,则功能相关性弱。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110738038.9/2.html,转载请声明来源钻瓜专利网。