Enterprise Architect Corporate Edition (and above) provides a facility to "Baseline" (snapshot) a model branch at a particular point in time. Baselines are in XMI format and are stored within the model in compressed format. More than one baseline can be stored against a single EA package.
Using Baselines, a snapshot can be taken of a model branch at a particular point in development for later comparison to 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 particularly useful during requirements management to check for changes, additions and deletions which 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 also built into the Corporate and Professional versions of EA.
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 1.
- 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 the last 24 hours for example.
- 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 may be deleted if required to save space.
Currently diagrams are not differenced, only the elements and links between them - including all associated information, such as tests, resources, problems etc.
Large packages may take considerable time to fully difference and it may pay to uncheck the "Deep Compare" option on the Baseline dialog. In this case EA will difference the highest level items first and only move into sub items when they are clicked on in the tree (compare "on demand").