Jump to Menu

Improving Model Reusability with Model Extractor

Many diagramming tools are merely for diagramming. They do not care about the reusability of model elements from one diagram to another. Here are some problems that may occur when using these tools:

Scenario I - Reusing a model on same diagram

You have a complex class diagram with many, many classes. To reduce the complexity and makes the diagram easier to read, you attempt to visualize the same class instances multiple times on the diagram at multiple places.

When you make changes to a class say, to change its name, to add attributes or operations, the rest of the classes with the same name WILL NOT be updated. That would be quite troublesome, and might also cause inconsistency between them.

Scenario II - Reusing a model across diagrams

If you have a class which had already been created in a class diagram previously, and now you would like to reuse it in another newly created diagram, that same problem would be occurred and it will be even worst that they are completely unrelated and it is hard for you to realize the inconsistency. It is particularly troublesome when you want to keep them in sync manually.

Scenario III - Reusing a large amount of model

If you want to reuse a collection of model from a diagram you previously created, you would have to memorize their names and the associated information. However, this kind model traceability is often be required as an essential feature for our day-to-day software development work. But if we need to handle them manually, it would be very time consuming and don't mention they need to be updated from time to time.

Our solution - Model Extractor

As a visual modelling software, Visual Paradigm supports model reusability.

And as a leading, award-winning visual modelling software, we make reusability even easier by introducing Model Extractor.

Let's say if you want to reuse a subset of use cases from a use case diagram to another, you can simply use model extractor to extract the use cases to reuse in the new diagram. Model Extractor is a handy feature that supports your reusability needs, and helps you ensure model consistency with ease.


In this section, you will learn how you can easily reuse a subset of model in another diagram. While we are going to use Entity Relationship Diagram (ERD) as example, you can apply the same technique in other diagrams.

  1. Here is a data model created with the ERD tool:
    Entity Relationship Diagram sample
    It contains all the entities of an online photo album system. Let's say we now want to create a model that shows the entities related to posting comment under photos. First, create a new ERD.
  2. Right-click on the background of the new diagram and select Presentation Options > Show Shape Legend from the popup menu.
  3. This shows the Shape Legend at the bottom right of the diagram. Add a shape legend item that involves entity. To do this, click on Add Shape Legend and select New Shape Legend... from the popup menu.
    New shape legend
  4. In the Add Shape Legend window, select Entity as type, keep the other settings unchanged and click OK to confirm.
    Add shape legend window
  5. Click on Model Extractor in the Shape Legend pane.
    Open Model Extractor
  6. In this Model Extractor window, select the entities to visualize on the diagram and click >.
    Add entities
    The option Extract as Auxiliary View lets you decide whether or not to create a clone for selected elements. If checked, the elements will be visualized as views. If unchecked, new and independent elements will be created. In this case, we just keep the option checked.
  7. Click OK to confirm and return to the ERD. The selected entities are visualized. The alphabet 'a' at top left of the entities signifies that those are auxiliary views. If you want to suppress the indicator, select the View menu and then de-select Model Indicator.
    Entities presented
  8. You may show the relationships between entities by right clicking on an entity and selecting Related Elements > Show Relationships from the popup menu.
    Relationship visualized

Turn every software project into a successful one.