This section is composed by:
- Multiple
models consolidation
- TeamWork solutions
- Java Code
synchronization
- Diagrams
creation with no Java code
- Team work
example using SVN inside
Eclipse
EclipseUML is fully
integrated with SVN and CVS Eclipse solutions.
You can also use EclipseUML with any other SCC tool but you will not be
able to use the model compare feature before the commit.
It is important when you decide to start a project to select which team
mode to use.
You can decide to work in a team by selecting :
It is not
recommended to:
- start a
project using different projects on each desktop, even if the project
have the same name and then try to merge these models. This is a
dynamic Id creation limitation. This will not work !!
- use txt
editor to manipulate the .uml model.
1. Multiple models approach limitations
You can model different pieces of the architecture and then just unify
your models at the end of the modeling stage. This is an easy way
to work. Please note that the unify model is not incremental. It means
that once models have been unified, then you can not not merge your
single model with the unified model if you change it after.
The only solution is to unify again all models inside another single
model. This is a static approach which is used if the modeling project
is finished. You can also from this single unify model use team work
for the second stage of modeling.
See multiple models inside a larger model in the picture below:
It is not possible to split java
code between multiple models because each diagram use Java Id and
create
UML Id dynamically.
If you use java code, then your UML Ids will be different even for the
same element used inside the same project name which makes no sense.
Java synchronization and multiple
models are not therefore possible together.
2.
TeamWork solutions
You first need to create a single project on SVN or CVS.
Then to
ask each member of your team to use this server and commit any change
they make.
Finally you need to define each member commit permissions at
the server level and not to try to do this administration in the
EclipseUML tool.
When working in a team you should consider two options with EclipseUML:
- use eclipseuml live java code synchronization
- do not use java code synchronization
2.1 Java Code synchronization
If you use this live code and model option with your class or
sequence diagrams then after each change you need to commit the
following files:
- java code
- graphical diagram (e.g. .ucd, .usd, .uud etc..file)
- model file (e.g. .uml file)
2.2 Diagrams
creation with no Java code
If you don't use the live code and model synchronization then after
each change you need to commit the following files:
- graphical diagram (e.g. .ucd, .usd, .uud etc..file)
- model file (e.g. .uml file)
3. Team work example using SVN inside
Eclipse
This is an example of using EclipseUML 2008 with SVN and Eclipse.
If you want for example to know what is the stage of your code compare
with other commits.
Click on the Project inside the Package Explorer >
Team > Show Resource History.

We
see that Vladimir Varnica was the last to commit. You can now
decide to
update our code and merge it inside our desktop.
Click in the SVN History view and select the latest commit > Update To.

If you want to commit our new usecase
which has been added directly in the XMI using the
XMI Editor on the server in
order to
make it available for the other team members.
1. You can decide to either select all the project >
Team > Synchronize with Repository.

Compare the model using the XMI Editor
> Open In Compare Editor.

Have a look at changes before
committing.

2. or to click on the file inside the
Package Explorer and select files to be committed > Team > Commit...

Omondo recommendation: SVN and teamWork are great tools but
never forget to activate your local History backup.
click on
Window > Preferences >
General > Workspace > Local History.
Click in the Package Explorer on the
file > Compare With > Local
History...
You can revert at any time each file of
your Package Explorer.