Menu

Support for team development and dealing with big projects in WhiteStarUML

Dealing with teamwork and potentially large projects created that way is a challenging issue. Originally StarUML introduced a concept of project units. The idea is described in detail in the StarUML user documentation. Generally it allows selecting in the model a package and saving it in a separate unit file. Such a unit could be read and modified by another person and finally merged back by the person that created the unit. Evidently such a scheme still leaves the most challenging part of merging modified units to the users and given potential complexity such a feature is not commonly used.

Nevertheless the concept of unit may be better adapted to dealing with large projects where the size of model loaded into the memory is a considerable issue. This idea got recently implemented in WhiteStarUML and the key concept is to give an option to postpone loading units while opening a project file and load and unload them on demand if needed. Hence in the case of really big projects the size of occupied memory may be held under control. While WhiteStarUML is still a 32-bit executable and addressing at most 2 GB of virtual memory it is still a pertinent problem.

The newly added functions are:

Tools – Options – Environment – General – Auto load unit files:
Option by default set to true, if changed to false loading units will be deferred

File – Unit – Open Unit:
Loads selected unloaded unit or an arbitrary unit from given file

File – Unit – Unload Unit:
Unloads given unit from the memory

It is still up to the user as in the case of StarUML to ensure that there are no interdependencies between units being loaded and unloaded.

This feature focuses on large projects. In the past an option File – Open file in exclusive mode was added to make sure that only one person at time can edit the original project. The other persons will have an option to see a read only copy of that file. Of course there is still a long way to implement an optimal multi-user support but this feature helps with dealing with possible conflicts when the project file is edited by multiple persons.

Posted by Janusz Szpilewski 2014-06-19

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.