UML Reverse Engineering ... not so important in reald world project?

A nice comment from Jack for an older entry "Drawing UML diagrams in ...netbeans 5.5", motivated me to write this entry.
I use mostly UML as a whiteboard with standardized shapes and extension mechanism. The real killer-feature of every UML-tool I know (also Netbeans-UML) is the ability to provide many views to the same element in the repository. If you change the element, the changes are visible in every view (=diagram). This is the main advantage over the "Power Point" approach. It is very efficient to capture the ideas and architectural patterns (I described this in my latest book) this way - especially in case stereotypes and tagged values are "standardized" or at least well known in a group or company.
Reverse engineering of existing source into diagrams is, in my opinion, only useful in case:

  1. You need several thousands of pages (documentation), but probably no one will read them.
  2. You are trying to understand a piece of software, which comes without documentation, only source.
The first point is funny, but valid. There are still customers out there, which expect a huge amount of shiny diagrams - reverse engineering can do a great job here. The second point works rarely well - the amount of information in resulting diagramms is overwhelming. In fact it is equal with the complexity of the sourcecode.
After the creation of such diagrams, the main job is to filter out the uninteresting information.


Web Apps, SPA, PWA with vanilla Java Script (ES 6+), CSS 3 and WebStandards only. As simple as possible, but not simpler. See you at: (Progressive) Web apps, Single Page Apps and WebStandards airhacks workshops at MUC airport, Winter Edition

airhacks.fm the podcast:

Stay in touch: airhacks.news.

Comments:

A third point would be:

3. You are switching from normal development to model driven development.

Admittedly ;-) - it's not quite elegant to do this, but in some cases there is a need to start the MDSD bottom up with a model created out of your existing code...

Robert

Posted by Robert Herschke on August 06, 2007 at 03:00 PM CEST #

Robert,

thanks. But your point 3. has from my perspective the number 2.5. :-).

But your are right, especially for the reverse engineering of the persistence layer, UML could be helpful,

regards,

Posted by Adam Bien on August 06, 2007 at 03:24 PM CEST #

Agreed 100%...

Posted by Fabrizio Giudici on August 07, 2007 at 09:38 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
Online Workshops
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License