Practical Guide for Code Engineering

Code engineering encompasses the capability of automated code generation, reverse engineering of source code and synchronization between the source code and UML models for different programming languages. In the area of code engineering, there are several closely related, and yet different forms for code engineering functions are listed as follows:

Code Generation

In computing, code generation is the process by which a compiler’s code generator converts some intermediate representation of source code into a form (e.g., machine code) that can be readily executed by a machine.

In the context of UML, it means that the user creates UML diagrams, which have some connected model data, and the UML tool derives from the diagrams part or all of the source code for the software system. In some tools the user can provide a skeleton of the program source code, in the form of a source code template, where predefined tokens are then replaced with program source code parts during the code generation process.

Reverse Engineering

Reverse engineering in this context means, that the UML tool reads program source code as input and derives model data and corresponding graphical UML diagrams from it (as opposed to the somewhat broader meaning described in the article “Reverse engineering”).

Round-trip Engineering

Round-trip engineering refers to the ability of a UML tool to perform code generation from models, and model generation from code (a.k.a., reverse engineering), while keeping both the model and the code semantically consistent with each other.

Round-trip engineering is often wrongly defined as simply supporting both forward and reverse engineering. In fact, the key characteristic of round-trip engineering that distinguishes it from forward and reverse engineering is the ability to synchronize existing artifacts that evolved concurrently by incrementally updating each artifact to reflect changes made to the other artifacts.

The Best Modeling Tool for Code Engineering

Visual Paradigm is more than just a UML modeling tool. It supports a series of code engineering features, helping you to advance from the design phase to the implementation phase. Listed below are some of the code engineering features.

Features Comparison in Code Engineering

Code Engineering Class Diagram State Diagram Sequence Diagram Database ORM
Code Generation T T T
Reverse Engineering T T T T
Round-trip Engineering T

T = Supported

Turn every software project into a successful one.

We use cookies to offer you a better experience. By visiting our website, you agree to the use of cookies as described in our Cookie Policy.

OK