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.
This facility is available in the Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect.
Baseline comparison 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. 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.
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.
Baselines are generally used in conjunction with the Compare utility (diff), which is built into the Professional, Corporate, Business and Software Engineering, System Engineering and Ultimate editions of Enterprise Architect.
A typical scenario for using Baselines would be to:
- 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 (diff) tool can be invoked from the Baseline dialog 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.
- 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.