[BoUML]生成代码

简介: 此处简单介绍一下运用免费的UML工具Bouml生成C++代码。 在BoUML中的各个视图和组件基本有以下的结构:    Project      -> View          -> Diagrams          -> Components   每一个组件,比如类,在其设定对话框中都有一个语言属性。

此处简单介绍一下运用免费的UML工具Bouml生成C++代码。

BoUML中的各个视图和组件基本有以下的结构:

   Project

     -> View

         -> Diagrams

         -> Components

 
每一个组件,比如类,在其设定对话框中都有一个语言属性。代码生成工具就是按其中的设定来生成代码。

BoUML中生成代码主要需要ClassArtifact的定义,其中一个Artifact代表了一组头文件和源代码文件,它可以包含一个或多个Class的定义。所以使用BoUML生成代码,主要注意以下几点:

  1. Class中的语言声明。->和类的定义有关

  2. Artifact的语言声明。->和头文件及源码文件有关

  3. 在ProjectGeneration Settings中的各类缺省声明及输出目录设定。

                 

在开始之前,应当先确定:

   1.语言是否已选择正确?

      检查一下Languages菜单就可以了。建议将"Verbose code generation"选上,以便在代码生成过程得到更多的信息。

   2.输出目录是否已设置?

      检查一下Project->Edit generation settings最后一个页签的第一项就可以了。

      

一般在建立工程时要选定一个语言的,如果这时才选定语言也没有关系,只是要注意查看一下每个类的定义中,是否有相关语言的声明定义,如果没有就点一下"Default declaration"就可以了。


在已经设计好的UML工程中,添加Deployment View及一个Deployment Diagram, 然后在Deployment View下添加一个Artifact(小物件),类似如下的结构:

       

*其中将Artifact命名为Animals,并将Stereotype选定为source,毕竟我们是要生成源代码嘛。


编辑Animals artifact,将已定义的两个类添加到"Associated classes"中, 两个类就会被生成到一组源码文件中。如下所示:

如果有标准的编码规范,比如需要在文件头加一些声明,就可以通过Project->Edit generation settings来修改缺少设置:

因为Artfiact中已经保存了之前的设置,这样的改动并不会自动应用到已存在的Artifact上,所以需要手动在Artifact编辑对话框,重新点一下"Default definition"以加载新的缺省设置。


在处理C++ Source的声明中,${NAME}没有起作用,这是BoUML的一个BUG。

 

*BoUML得的一款支持UML 2.x的免工具,功能也是相当不
目录
相关文章
|
5月前
|
机器学习/深度学习 自然语言处理 算法
代码的前世今生详细介绍
7月更文挑战第8天
64 4
|
存储 安全 Java
写出漂亮代码的45个小技巧(下)
大家好,我是三友~~ 不知道大家有没有经历过维护一个已经离职的人的代码的痛苦,一个方法写老长,还有很多的if else ,根本无法阅读,更不知道代码背后的含义,最重要的是没有人可以问,此时只能心里默默地问候这个留坑的兄弟。。
写出漂亮代码的45个小技巧(下)
|
8月前
你写过的最蠢的代码是?
你写过的最蠢的代码是?
40 0
|
存储 设计模式 安全
代码优雅的45个小技巧,你知道吗?
代码优雅的45个小技巧,你知道吗?
105 0
|
设计模式 消息中间件 前端开发
这45个小技巧,让你的代码突然又优雅了
这45个小技巧,让你的代码突然又优雅了
最近特火的爱心代码来了
最近因为一部《点燃我温暖你》的电视剧而爆火的爱心代码不会还有人不会制作吧。
最近特火的爱心代码来了
x11获得窗口名的代码
x11获得窗口名的代码
138 0
|
Web App开发 安全 编译器
如何保护你的代码 - Ollvm(一)
如何保护你的代码 - Ollvm(一)
如何保护你的代码 - Ollvm(一)
|
数据可视化 JavaScript 前端开发
你的代码长啥样?
你的代码长啥样?
174 0
你的代码长啥样?
|
PHP
Mess it up!搞乱代码
Mess it up! 作者: Laruence(   ) 本文地址: http://www.laruence.com/2009/01/07/656.html 转载请注明出处 恩,这段代码还能再乱点,再让人无语点么? 想知道这段代码干了什么么?呵呵,点这里谋胆并重
996 0