本发明专利技术公开了一种智能化的软件编程方法,包括如下步骤,第一步:根据软件设计要求绘制UML模型;第二步:建立符合软件设计要求的UML元模型;第三步:代码转换规则的建立;第四步:代码生成,根据第三步所建立的代码转换规则,利用计算机将输入的UML模型转换为C++代码,其中类图生成C++中的类,顺序图生成方法内部的具体实现;本发明专利技术将UML模型中的各个元素映射到相应的元模型,然后根据元模型的转换规则逐步生成C++代码,与多数文献中提出的只能生成C++代码框架的方法相比,本发明专利技术提出的方法可以生成内容更加完整的代码,减少了编程人员手动添加代码的工作,从而提高了软件的开发效率和软件产品的质量。
【技术实现步骤摘要】
本专利技术涉及软件编程
,尤其涉及一种智能化的软件编程方法。
技术介绍
在软件开发的过程中,开发人员总是重复编写一些简单的代码,而且每当新技术来临,又不得不一再地重复过去的工作同时,需求的变化也从来没有停止过,为了解决这些问题,人们提出了代码自动生成技术,代码自动生成技术根据模型驱动架构MDA(ModelDrivenArchitecture)的思想,将由开发人员描述的软件系统模型转换为代码,使得模型成为软件开发的核心制品,提升了软件开发的抽象层次,从而提高软件开发效率和软件的可维护性,统一建模语言UML是一种以图形方式对系统进行分析设计的标准建模语言,使用UML建模可以清晰地表示系统的结构和行为信息UML模型中的类图显示了系统中各个类的静态结构,顺序图描述了对象之间消息传递的时间顺序因此,软件开发人员通常将二者结合描述软件系统的详细设计模型代码自动生成就以类图和顺序图为输入,依据一定的转换规则生成具有静态和动态信息的代码。但是现有软件自动编程过程中生成的代码大多以Java为主,很少有能够在编程完成后生成C++代码的智能化的编程方法。
技术实现思路
本专利技术所要解决的技术问题是提供一种智能化的软件编程方法,其先将UML模型中的各个元素映射到相应的元模型,然后根据元模型的转换规则逐步生成C++代码,与多数文献中提出的只能生成C++代码框架的方法相比,本专利技术提出的方法可以生成内容更加完整的代码,减少了编程人员手动添加代码的工作,从而提高了软件的开发效率和软件产品的质量。为解决上述技术问题,本专利技术所采取的技术方案是:一种一种智能化的软件编程方法,包括如下步骤:第一步:根据软件设计要求绘制UML模型,UML模型包括语法正确的类图
和顺序图,用来描述软件系统的静态结构和业务逻辑信息;第二步:建立符合软件设计要求的UML元模型,UML元模型包括类图元模型和顺序图元模型,用来定义类图和顺序图的绘制规则;第三步:代码转换规则的建立,转换规则是根据UML模型元素的特点和C++语言的代码结构建立的;第四步:代码生成,根据第三步所建立的代码转换规则,利用计算机将输入的UML模型转换为C++代码,其中类图生成C++中的类,顺序图生成方法内部的具体实现。所述类图元模型定义了使用UML描述对象模型的完整语法规则,UML类图中的类与元模型中的Class对应,属性和操作与Attribute和Operation对应,操作的参数对应Parameter,其中Kind表示该参数的类型,属性和参数的类型用Classfier表示。所述顺序图用来描述类中的一个方法,对应原模型中的Interaction、Collaboration和Operation,其中的Operation用来记录该顺序图所描述的方法的名称和可见性,顺序图中的对象对应元模型中的ClassifierRole,不同对象间通信的消息对应Message,消息中要执行的动作对应Action,该动作执行的条件用recurrence表示,动作的内容用Request表示。所述第三步中的转换规则包括类图的转换规则和顺序图的转换规则,所述类图的转换规则包括类的转换规则与属性和操作的转换规则,UML中的类、属性和操作分别对应C++中的类、成员变量和成员函数,所述顺序图的转换规则包括关联关系的转换规则、顺序图的转换规则、条件的转换规则、变量赋值的转换规则、对象创建的转换规则、方法调用的转换规则和消息发送的转换规则。采用上述技术方案所产生的有益效果在于:本专利技术将UML模型中的各个元素映射到相应的元模型,然后根据元模型的转换规则逐步生成C++代码,与多数文献中提出的只能生成C++代码框架的方法相比,本专利技术提出的方法可以生成内容更加完整的代码,减少了编程人员手动添加代码的工作,从而提高了软件的开发效率和软件产品的质量。具体实施方式下面对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是本专利技术还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广,因此本专利技术不受下面公开的具体实施例的限制。本专利技术公开了一种智能化的软件编程方法,包括如下步骤:第一步:根据软件设计要求绘制UML模型,UML模型包括语法正确的类图和顺序图,用来描述软件系统的静态结构和业务逻辑信息;第二步:建立符合软件设计要求的UML元模型,UML元模型包括类图元模型和顺序图元模型,用来定义类图和顺序图的绘制规则;第三步:代码转换规则的建立,转换规则是根据UML模型元素的特点和C++语言的代码结构建立的;第四步:代码生成,根据第三步所建立的代码转换规则,利用计算机将输入的UML模型转换为C++代码,其中类图生成C++中的类,顺序图生成方法内部的具体实现。所述类图元模型定义了使用UML描述对象模型的完整语法规则,UML类图中的类与元模型中的Class对应,属性和操作与Attribute和Operation对应,操作的参数对应Parameter,其中Kind表示该参数的类型,属性和参数的类型用Classfier表示。所述顺序图用来描述类中的一个方法,对应原模型中的Interaction、Collaboration和Operation,其中的Operation用来记录该顺序图所描述的方法的名称和可见性,顺序图中的对象对应元模型中的ClassifierRole,不同对象间通信的消息对应Message,消息中要执行的动作对应Action,该动作执行
的条件用recurrence表示,动作的内容用Request表示。所述第三步中的转换规则包括类图的转换规则和顺序图的转换规则,所述类图的转换规则包括类的转换规则与属性和操作的转换规则,UML中的类、属性和操作分别对应C++中的类、成员变量和成员函数,所述顺序图的转换规则包括关联关系的转换规则、顺序图的转换规则、条件的转换规则、变量赋值的转换规则、对象创建的转换规则、方法调用的转换规则和消息发送的转换规则。其中,类的转换规则建立过程如下,待转换的模型元素是一个有名称的类,元模型中对象c的属性name记录了该类的名称,转换的第一步是.h文件(HFILE)和cpp文件(CFILE)的生成,.h文件包括头文件的引用IN-CLUDE、成员变量ATTRIBUTE和成员函数OPERATIONH的声明,被规则2中的内容替换,非终结符号c.name表示本规则所描述类的类名,被类名所替换,语句#ifndef和#define后的c.name全部大写在C++中,通常成员变量是私有的,成员函数是公有的,分别使用终结符号private:和public:描述,.cpp文件包括对应头文件的引用和成员函数OPERATIONC的具体实现。属性和操作的转换规则的建立,待转换的是一个包含属性和操作的类,元模型中对象o和a分别记录操作和属性的名称,plp2分别为操作的参数和返回值,c1,c2,c3对应属性参数返回值的类型,转换规则定义了AT-TRIBUTE的转本文档来自技高网...
【技术保护点】
一种智能化的软件编程方法,其特征在于:包括如下步骤:第一步:根据软件设计要求绘制UML模型,UML模型包括语法正确的类图和顺序图,用来描述软件系统的静态结构和业务逻辑信息;第二步:建立符合软件设计要求的UML元模型,UML元模型包括类图元模型和顺序图元模型,用来定义类图和顺序图的绘制规则;第三步:代码转换规则的建立,转换规则是根据UML模型元素的特点和C++语言的代码结构建立的;第四步:代码生成,根据第三步所建立的代码转换规则,利用计算机将输入的UML模型转换为C++代码,其中类图生成C++中的类,顺序图生成方法内部的具体实现。
【技术特征摘要】
1.一种智能化的软件编程方法,其特征在于:包括如下步骤:第一步:根据软件设计要求绘制UML模型,UML模型包括语法正确的类图和顺序图,用来描述软件系统的静态结构和业务逻辑信息;第二步:建立符合软件设计要求的UML元模型,UML元模型包括类图元模型和顺序图元模型,用来定义类图和顺序图的绘制规则;第三步:代码转换规则的建立,转换规则是根据UML模型元素的特点和C++语言的代码结构建立的;第四步:代码生成,根据第三步所建立的代码转换规则,利用计算机将输入的UML模型转换为C++代码,其中类图生成C++中的类,顺序图生成方法内部的具体实现。2.根据权利要求1所述的智能化的软件编程方法,其特征在于:所述类图元模型定义了使用UML描述对象模型的完整语法规则,UML类图中的类与元模型中的Class对应,属性和操作与Attribute和Operation对应,操作的参数对应Parameter,其中Kind表示该参数的类型,属性和参数的类型用Classfier表示...
【专利技术属性】
技术研发人员:贾瑞祥,
申请(专利权)人:齐鲁工业大学,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。