[发明专利]一种由序列图生成Java代码框架的方法有效
申请号: | 201310132277.5 | 申请日: | 2013-04-15 |
公开(公告)号: | CN103164252A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 段振华;张超;田聪;张南;王小兵;罗玲 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 序列 生成 java 代码 框架 方法 | ||
技术领域
本发明涉及一种软件开发领域,具体涉及一种将对系统建模得到的UML序列图自动转换得到相应的类图与状态图,并将二者结合起来生成Java代码框架的方法。
背景技术
OMG在2001年提出模型驱动架构。与传统开发方法相比,MDA标准方法能够把系统需求和具体的实现技术分离开来,它的核心是模型和模型的转换,它以层次区分模型,这些特点使得实现不同系统之间的互操作成为可能,并且即使在实现技术发生变化后,模型仍然具有保留的价值。
MDA标准的代码自动生成的主要流程是首先抽象出平台无关模型(Platform Independent Model,PIM),PIM能够描述完整业务功能并且与具体实现技术无关;然后根据具体实现技术的不同,制定与之对应的转换规则,在其他辅助工具的共同帮助下,将PIM模型转换成平台相关模型(Platform Specific Model,PSM),即与具体实现技术相关的PSM模型;最后经过添加其他信息至PSM模型之后,最终由PSM模型实现转换得到目标代码。
使用这种方法进行开发时,模型不仅仅可以用于软件开发文档,也是系统的主要组成部分。在这个过程中,不同的开发阶段,需要根据不同的抽象与细化层次,得到相应的模型,并最终转换得到目标代码。
详细的PIM到PSM的开发过程如下:首先从业务逻辑的角度对系统建模得到平台无关模型(PIM)。在这个过程中往往从很高的层次抽象得到系统模型,而不需要关心具体的实现技术,从而达到与具体实现技术分离的目的。
得到PIM之后,根据不同技术的各自特点,开发人员选择实现系统的具体的技术平台,然后根据选择的技术平台进行转换,进而得到相应的PSM模型。
如果在上一步之后得到的PSM仍然不能满足需求,还可以进一步精化PSM。针对更加精确的平台,可以把比较粗糙的PSM看成是它的PIM,这时就可以继续进行转换来得到更细致的PSM,通过这种层次化的转换,最终可以使PSM更加明确。
最后根据目标语言的具体特点,由PSM模型转换得到代码,进而实现代码生成的最终目的,即可运行系统。
在软件开发过程中使用MDA方法生成代码时,首先搭建与平台无关的PIM模型,这里就需要使用与平台无关的建模语言,如UML;然后根据选择的平台和目标代码的映射关系,将PIM模型转换生成PSM模型;最后由PSM模型生成目标程序代码。在整个过程中,其核心任务是实现PIM到PSM的映射和转换。
在MDA标准中,将平台相关模型PSM到目标代码的转换过程定义为代码生成,所以MDA工程的最终目标也就是PSM模型到代码的映射。在具体的开发过程中,开发人员首先需要确定目标平台,建立与之适应的解决方案,而每一个与平台相关的模块都会在其中创建各自的工程项目,然后将各个项目与PSM中对应的模型进行绑定,最后在代码生成工具的帮助下,实现目标代码的自动生成,进而得到目标代码。
发明内容
在现有的技术中,由于MDA标准中代码生成方法的不完善性,降低所生成代码的实用性。本发明的目的在于克服现有技术的不足,提供一种由序列图自动转换得到类图与状态图,进而将类图描述的系统静态信息与状态图描述的系统动态信息相结合的方法,以提高自动生成代码的质量与可用性,并保证在转换过程中模型的一致性。
为了实现上述目的,本发明采用的技术方案如下:
一种由序列图生成Java代码框架的方法,包括根据目标系统的功能需求,所绘制出该系统的UML序列图,通过所述序列图自动转换得到与其相应的类图与状态图,并由所述的类图生成静态代码框架,以及由所述的状态图生成动态代码信息,将所述静态代码框架与所述动态代码信息结合得到完整的Java代码框架,所述方法包括以下步骤:
(1)将序列图转换为类图,其中,对所述序列图对象的分析,将每个序列图中的全部对象换得到对象序列,将所述对象序列转换到一个类图中,将每一个对象转换为一个类,如果两个对象彼此有交互关系,则为它们对应的类建立关联,将每个对象上的动作、事件作为操作加入对应类中;
(2)将序列图转换为状态图,其中,分析对象在所述序列图中的消息序列,将每个序列图中消息序列转换为对序列,将所述对序列转换为单个子状态图,将所有的子状态图合成生成一个对象的完整状态图;
由序列图中的对象信息自动转换得到类图;由序列图中的动作、事件信息自动转换得到状态图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310132277.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:工业组态应用中的多平台画面动态调用方法和系统
- 下一篇:固件升级方法及系统