[发明专利]一种由序列图生成Java代码框架的方法有效
申请号: | 201310132277.5 | 申请日: | 2013-04-15 |
公开(公告)号: | CN103164252A | 公开(公告)日: | 2013-06-19 |
发明(设计)人: | 段振华;张超;田聪;张南;王小兵;罗玲 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 序列 生成 java 代码 框架 方法 | ||
1.一种由序列图生成Java代码框架的方法,包括根据目标系统的功能需求,绘制出该系统的UML序列图,其特征在于,通过所述序列图自动转换得到与其相应的类图与状态图,并由所述的类图生成静态代码框架,以及由所述的状态图生成动态代码信息,将所述静态代码框架与所述动态代码信息结合得到完整的Java代码框架,所述方法包括以下步骤:
(1)将序列图转换为类图,其中,对所述序列图对象的分析,将每个序列图中的全部对象换得到对象序列,将所述对象序列转换到一个类图中,将每一个对象转换为一个类,如果两个对象彼此有交互关系,则为它们对应的类建立关联,将每个对象上的动作、事件作为操作加入对应类中;
(2)将序列图转换为状态图,其中,分析对象在所述序列图中的消息序列,将每个序列图中消息序列转换为对序列,将所述对序列转换为单个子状态图,将所有的子状态图合成生成一个对象的完整状态图;
由序列图中的对象信息自动转换得到类图;由序列图中的动作、事件信息自动转换得到状态图;
(3)制定类图和状态图到Java代码的映射关系,从所述类图中获取代码静态结构信息,从所述状态图获取类中方法的动态信息,并分别制定所述类图和所述状态图到代码的映射关系;
(4)合并类图和状态图信息选择自动生成代码。
2.根据权利要求1所述的方法,其特征在于,所述类图中的模型包括实体模型和关联模型,其中,实体模型对应到java代码的映射为:
包(Package)—生成与包同名的文件夹,包中所含的类对应的源文件存于该文件夹中;
类(Class)—为每个类生成相应的文件,目标代码为Java,映射为java文件;
属性(Attribute)—为模型中的类的属性,包括可见性、数据类型和缺省值等信息,在生成代码时映射为类的成员变量的说明;
操作(Operation)—包括操作名及其参数、参数数据类型和返回值等信息,在生成代码时映射为类的成员函数。
数据类型(Data Type)—根据相应的设置生成Enum,Array等类型定义。
关联模型对应到java代码的映射为:
关联(Association)—对应到两端类中的属性;
聚集(Aggregation)—对应到目标类中的属性,以参数的形式传入对象引用;
组成(Composition)—对应到目标类中的属性,在目标类中实例化;
依赖(Dependence)—对应到目标类中的属性;
继承(Generalization)—对应目标类的子类;
实现(Realization)—对应目标类的实现类。
3.根据权利要求1所述的方法,其特征在于,所述状态图到Java代码的映射关系:所述状态图中的图元主要包括状态、事件、变迁;其中,状态映射为Java代码中的类,每一个状态用类来表示,状态中若含有事件,则将该事件作为方法加入到对应类中,而每一个状态图也会生成一个上下文类,负责控释状态的变迁,而变迁就作为这个上下文类中的函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310132277.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:工业组态应用中的多平台画面动态调用方法和系统
- 下一篇:固件升级方法及系统