Enterprise Architect (Corporate edition) provides a facility to 'Baseline' (snapshot) a model branch at a particular point in time for later comparison with the current package state. This is most useful for determining changes made to the model during development compared to some Baseline saved at a crucial point - for example the completion of a phase or version iteration. Baselines are stored within the model in compressed XML format. More than one Baseline can be stored against a single Enterprise Architect package.
You can also save a Baseline to an XML file for storage or archive, or for distributing to other users working on models derived from a master project.
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.
Baselines are generally used in conjunction with the Compare utility (diff), which is built into the Corporate and Professional versions of Enterprise Architect.
A typical scenario for using Baselines would be to:
| 1. | Create the base model branch to a sufficient point to create a Baseline (checkpoint). Create and store the Baseline as Version 0.1a. |
| 2. | 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 (diff) tool can be invoked from the Baseline dialog to check the current model branch against the stored version. |
| 3. | 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. |
| 4. | 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. |
Important Considerations
| • | 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. |
| • | Version controlled packages that themselves have version controlled child packages are not useful for Baseline comparisons, as Enterprise Architect expects a Baseline to contain all the information about child elements and child packages. Future versions of Enterprise Architect might relax this condition. |
| • | XML files must be in the same format used by the Baseline engine - currently the UML 1.x format (plus Enterprise Architect extensions), which contains all the information necessary to reconstruct a UML model, even a UML 2.x model. |