Time Aware Models in Enterprise Architect 13
Time Aware Modeling in Enterprise Architect 13 allows you to create incremental
versions of a model. So you can see how the model
evolves over time from one version to the next.
Create new visions of model elements automatically without altering the
underlying structure of the As-Is model.
Make comparisons between models
using filters to help identify changes made
to any individual elements within diagram.
Enterprise Architect 13 offers comprehensive traceability, so you can see the changes
to an element made from one version to the next
and easily roll back to your previous state.
The Time aware Modeling capability in Enterprise Architect 13 has been used to track
the evolution of a model entitled 'Manage Users'.
In the project browser there are a number of packages
representing the three versions of the Manage Users Model.
Each package is clearly labeled and include subtle changes to individual
elements that have been made in each iteration
of the model throughout the life of the project.
Taking a closer look at version 1 of the model
- a mistake was made
during the requirements elicitation phase of the project, which is resulted
in two requirements having the same name 'Secure Access'
However the BA or business analyst has identified that the two elements have
different functions that need to be further defined.
Changes were made to the As-Is model
to direct further problem and these changes are stored in the package
called 'Manage Users version 2' as shown on screen.
Version 2 of the model has updated requirement 24
to address any underlying problems in the model design
and differentiate the two elements.
To see whatever changes have been made from one version
to the next you can access the diagram
properties and select the checkbox entitled 'Filter to Version'.
The diagram filter now clearly will outline
which requirements have been modified in version 2
of our 'Manage Users Model'.
The two requirements that have been modified as shown on screen.
Now let's open version 3 of our Model.
Once again we can repeat the process of using a filter
to see the changes made in version 3 of our model.
Allowing us to conduct side-by-side comparison
of each model version.
Watching the evolution of our model
through each iteration.
We will now demonstrate how easy it is to create
a structure such as the contents of the package
representing a version of a model -
at a given point in time.
Select the 'Design' Ribbon
Select the package, that you wish to clone.
Click the drop-down menu called 'Manage'
and select the option entitled:
'Clone Structure as New Version'.
Enterprise Architect populates the name and version number.
We want to create version 4 of our model,
so we can update the name and version number as required.
Press ok and then select a folder to clone your model to.
Please note that you cannot use the same directory,
that has the original model because EA clones
all of the model elements.
You can see, that I have placed the clone model
in the package called To-Be Architecture.
If you want to make changes to a particular element -
simply right-click and clone the element as a new version.
Enterprise Architect will automatically prompt you for a
new version number, which in this case is 4.0
Once we've cloned the element.
We can make changes to it without altering the
original As-Is element.
or any of the previous versions of the element.
The name of the requirement has been spelled incorrectly.
So I'm going to update the name of the requirement
and extend the definition to include biometrics.
I can also make further changes such as
altering the complexity of the requirement
and adding a tag value called biometrics.
We can also clone a new element for requirement 26.
Once you've made this change,
we can delete the connector from the model.
With the filter applied we can easily see
which model elements have been updated to version 4.
Having created our own Time Aware Model.
We can now compare each version of the Manage Users model,
conducting a side-by-side comparison.
So that everyone on the team can see what
changes were made with each iteration.
However these changes have been achieved in a non-destructive fashion
preserving our As-Is model.
This makes it easy to roll back on model design
or compare the model in different evolutionary states.
Using Enterprise Architect also provides
the advantage of being able to maintain Model Traceability.
For example we can choose a single element
such as requirement 24 and trace how that
element has evolved over time...
In order to create a traceability diagram
we can use the 'Insert Related Elements' tool,
which is available by the 'Element Context Menu'.
Set the depth level as required.
For this particular example all we care about
is the Trace Connector Type'.
I'm going to select that now. Refresh the list and
select all three items be drawn on screen.
You may like to lay out the
diagram to suit your individual needs.
Now we have a simple diagrammatic representation
of how the Secure Access Requirement has evolved
through each and every iteration of our model.
The Manage Users package started with
requirement 24 called 'Secure Access'.
We then updated the name
to differentiate between requirement 24 and 26
Calling the requirement 'Secure Access to Data base'
In version 3 we added reference to
security (but unfortunately spelled security incorrectly.)
Finally in version 4 we further extended the requirement to mention biometrics.
So this diagram shows how the single element
requirement 24 has evolved over time.
We also have the option of using the
relationships Window to provide additional information.
The docked 'Relationships Window' is a powerful tool
for viewing the relationships
between As-Is and To-Be models.
Selecting 'source version' and 'target version'
and report columns brings clarity of relationships.
The Relationships Window lists all the relationships of
the elements currently selected in the diagram.
Where the project browser shows the relationship type,
the direction or navigability of the relationship,
any stereotype on the relationship,
the names of the source, and target elements in the relationship
and characteristics of the source and target elements,
such as type, stereotype, role, and cardinality.
You'll note, when I select another element on-screen,
the relationship window automatically updates
- in this context sensitive - for the selected element.
This information is presented in a series of columns,
that you can display or hide
to show only the characteristics you require.
And organized whatever sequence suits
your individual requirements.
For more information about Time Aware Modeling
please visits sparxsystems.com