Since we are ramping up for EclipseCON 2008 at the end of March, I’ve been working a little more in Eclipse and getting a feel for the different Eclipse projects so I can attend some other presentations while I am there. I figured, since I am presenting again this year, I might as well take advantage of my presence there and learn a little more about the various Eclipse projects. Last Year I wrote about EasyEclipse and the PHP editor, which was a life saver for a PHP based project I worked on last year. This year, I want to focus on the Performance and Logging tools, and the UML tools.
I have made it well known in the past that I have been incredibly disappointed with the UML tools that are part of Eclipse. Previously they had no graphical interface, which was crap, and one would have to rely on third party plug-ins and projects. Of which many decent ones have surfaced, such as ArgoUML. But again, if something is to be part of the Eclipse Foundation, it should have a certain standard it should have to meet. I suppose I have been spoiled in the past by tools such as Rational Rose.
However, it seems that Eclipse UML has undergone some renovations in later versions. Finally, a graphical interface it present, and it is approaching a usable point for everyday projects. In the following example, I will walk through building some example diagrams.
Figure 1. UML Diagrams
Figure 2. Class Diagram
In Figure 2, I have put together a Class Diagram. This is a standard UML diagram showing the relationships between multiple classes, the properties and the methods of the classes. In this class diagram, I only showed associations and attributes. In Class Diagrams you have associations (linked to relationships), aggregations (whole/part relationships), and generalization/specialization (superclass/subclass relationships) associations.
Figure 3. Activity Diagram
I wont go into too much detail about the remaining diagrams, such as the Deployment Diagram. I had noticed the Activity Diagram has more activity types than in the last version of Rational Rose I had used (which was Rose 2000). I did notice several other diagram types that were absent, such as the Use Case Diagram, Swimline diagrams, and such. And while reverse engineering and code generation are noticeably absent, I feel that Eclipse UML is definitely heading in the right direction.