Enterprise Architect provides a facility to 'Baseline' (snapshot) a model branch at a particular point in time for later comparison with the current Package state.
Baseline comparison is most useful for determining the changes made to the model during development compared to a Baseline saved at a crucial point - for example the completion of a phase or version iteration.
More than one Baseline can be stored against a single Enterprise Architect Package.
Baselines are particularly useful during Requirements Management to check for changes, additions and deletions that have occurred since the start of the current work phase; knowing how a model has changed is an important part of managing change and the overall development process.
By default, Baselines are stored within the model in compressed XML format; you can save a Baseline to an external XML file for storage or archive, or for distributing to other users working on models derived from a master project.
Alternatively, you can store Baselines in a Reusable Asset Service Registry. To do this, open the 'Baseline' page in the 'Manage Project Options' dialog to configure the Cloud connection to the Registry and select or create the Storage that stores the Baselines for all the Packages in the model.
Baselines are generally used in conjunction with the Compare utility.
A typical scenario for using Baselines would be:
- Create the base model branch to a sufficient point to create a Baseline (checkpoint); create and store the Baseline as Version 0.1a
- As work continues on development, managers and developers can check the current model branch against the Baseline for important modifications, additions and deletions; the Compare utility can be invoked from the 'Baseline' dialog or 'Reusable Asset Service - Baseline' view to check the current model branch against the stored version
- As required, minor Baselines can be created to check recent progress; these 'temporary Baselines' are useful for managing change when a lot of work is being done and it is important to only see what has changed in, for example, the last 24 hours
At sign-off or the move to a new version/phase, a major Baseline can be created to capture the new state of the model.
Minor Baselines created earlier can be deleted if required to save space.
Baselines are based on the GUID or unique ID of a particular Package:
- Enterprise Architect checks for that ID as the root element within the XML document being used as a Baseline
- When you export a Package to XML, the Package you export is the root element; likewise when you create a Baseline, the current Package is the root Package of the XML Baseline
- When you save information in a Version Control system, the current Version Controlled Package is again the root Package of the document
- It is not useful to create a Baseline by importing an XMI Package file created by Version Controlling a Package that itself contains Version Controlled child Packages; that type of XMI Package file contains stubs for the child Packages, not full information on the child Packages and elements
- 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
XML files must be in the same format used by the Baseline engine - currently the UML 1.3 XMI 1.1 format (plus Enterprise Architect extensions), which contains all the information necessary to reconstruct a UML model, even a UML 2.x model
- The Baseline facility is available in the Corporate, Unified and Ultimate editions of Enterprise Architect
- The Compare utility is available in the Professional edition of Enterprise Architect, as well as in the Corporate and extended editions