Sunday, April 04, 2004
UML and .net in a team

We have been doing a decent amount of UML at work, and we anticipate that we will be doing quite a bit more.  We have been using Visio to model classes and sequence diagrams for some logical design, but find that the lack of team support is really a hindrance.

Because of that, I have been researching some team based UML tools lately.  I am actually surprised how few vendors there are with products.  I could only find a handful of UML tools that would work in a team environment, and most of them were very costly.  We are a relatively small team, and using something like XDE is a bit of an overkill, plus a huge cost that was never expected.

If anyone has any experience out there with UML tools it would be great to get some opinions on tools they have used in the past.  Below is what I have found so far.

Visio for Enterprise Architects (Microsoft)
Visio's UI is familiar, and Microsoft added UML support in an intuitive manner.  Adding diagrams and objects is very simple and fast, and quick to get used to.  The internal validations work very well, but too well in some instances.  For example, Visio doesn't allow an actor as a valid object on a sequence diagram. 

Visio does allow for very quick creation of diagrams, but its lack of team features are a major hindrance.  We thought about trying to partition the diagrams, but felt the integrating diagrams was going to be too much overhead.

Enterprise Architect (Sparx Systems) www.sparxsystems.com
EA is a very capable UML modeler.  The new version 4.0 cleaned up the interface quite a bit, and added to the already impressive set of features.  EA is very robust, and flexible.  I found moving around in diagrams to be very intuitive, and EA's handling of packages to be excellent. 

The UI does take some getting used to though.  Working with the actual objects can be cumbersome.  For example, adding an operation or attribute to a class is at 5 clicks away from the diagram.  After getting used to the UI, though, the amount of power is daunting. 

The professional version is team enabled, using a JET backend.  It also supports 2 models, using a shared file, or using a replication model.  Our team may be small, but maybe just a bit too large for a JET backend, so the corporate edition looks like a real possibility as it uses any oledb source.

Together (Borland) www.borland.com
My first impression of Together was that it was clunky and really a chore to use.  After giving it some more time, I have quickly changed my mind.  Once I got used to the VS.Net addin, I found it to actually be the most comfortable UML modeler I had used.  Working in the diagrams is very fast and easy, and navigating around is very simple also using the model explorer.

Together does not seem to be nearly as robust as EA, but has all of the elements you are used to working with.  Also, using what Borland calls LiveSource, your class diagrams and source are kept up to date on the fly.  I must say it was impressive to add a property in code, and switch to the diagram to see it already added. 

Right now Together doesn't support VB.Net (which is an issue since we are a VB.Net shop), but Borland has informed us that the next version will, and that it is slated for this quarter.  Since the diagrams are added directly to your solution, your source control ends up enabling team usage.  Right now there is a known issue that when you check out any of the diagrams, you will also need to check out the project (at least with VSS).  We have to evaluate how this may effect usage. 

Thoughts
Well I rambled on long enough about this.  Right now I hope we end up using Together, but it will really depend on what they can tell us about the upcoming version.  More details soon.



1/23/2005 3:53:39 PM (Eastern Standard Time, UTC-05:00)
1/23/2005 3:53:39 PM (Eastern Standard Time, UTC-05:00)


Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):