Enterprise Architect includes tools to help you manage and review changes to your models over time. These tools apply the concepts of Baselines, Differencing and Merges.
You use Baselines, Differencing and Merges essentially to compare two snapshots of a specific part of your project, to capture the differences between them and either roll back or incorporate selected changes or all changes.
Enterprise Architect provides a facility to create a Baseline or 'snapshot' of the contents of a selected Package and its child Packages at a particular point in time; this enables you to later compare that branch of the model at that time with the current state of the branch.
Baselines are stored in the same XML format as is used for version control, but are stored within the project in compressed format.
You can also have parallel copies of parts of your model for team development, and create Baselines within each copy to merge changes into the project master.
Differencing (Diff, or Compare) helps you to explore the differences between:
- The current state of a specific part of your project, and
- Previous or parallel versions captured in a Baseline or an XMI 1.1 file on disk
Once Differencing is complete, you can merge information from the Baseline into the current project; it is not possible to go the other way.
- Merge information manually, change by change
- Merge information automatically by electing to merge in all changes in one batch procedure
- Revert completely to the original Baseline by importing the stored XMI directly
- Merge information and elements from a Baseline in a different project, making it possible to keep multiple versions of a single model in synch
The merge options are available through the toolbar, context menus and the keyboard on the 'Compare Utility' tab, which shows the results of a comparison.
Visual differences in diagrams
Changes to a model might include:
- Adding or removing elements and connectors on a diagram, or
- Changing the position of elements or the overall layout of a diagram
You might believe that a diagram has changed, and select to compare it with a baseline using a context menu option from the Project Browser. Alternatively, you might perform a baseline comparison on a Package or a model and select from the comparison output any diagrams that are flagged as changed.
- Package Baseline facilities are available in the Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect
- The Enterprise Architect Corporate, Business and Software Engineering, System Engineering and Ultimate editions provide another facility, Auditing, which you can switch on to perform continuous monitoring of changes across the project; you can dovetail your use of each facility to meet the range of your change management requirements
- If a Package under version control forms part of a Baseline, and that Package is checked in to the model, you cannot merge the original data from the Baseline into that Package
- You can also obtain a snapshot of selected items in the model, using the Model Views facility; this facility enables you to automatically generate the snapshot at intervals and, if there are changes in the items collected by the defined search, to trigger a notification to you of such changes, which enables you to monitor workflow and other events of concern to you
- If security is enabled you must have 'Baselines - Manage' permission to create, import and delete Baselines, and 'Baselines - Restore' permission to merge data from a Baseline; security permissions are not required to select an existing Baseline and perform a comparison with the model