I am trying to create an “As-Is” project model for an older Enterprise Java application. I have tried both types of reverse functions available in VP, Instant Reverse and Reverse Java Code.
Using the the Reverse Java Code function ended up bringing in and creating models for many extraneous folders that I didn’t want. Things like CVS, IDE .settings, and build folders.
Using the Instant Reverse only brought in the Java items and their package hierarchy. I much preferred this since I don’t have as many unnecessary models to deal with.
I read in another post, however, that there may be a danger to using Instant Reverse in that if I execute it again, it will overwrite anything I might have changed since the last Instant Reverse. Is that true?
In any case, which function is most appropriate for creating an As-Is model of a old project that will eventually change.
Note that you can control that process in more detail if you want. For example, you can select the option to ‘reverse on demand’ which should allow you to only bring in those items you need and/or want:
The option is enabled by default, so is it possible that you turned it off? When enabled you’ll be shown a so called pane which contains your sourcecode structure from which you can simply drag and drop items into your current diagram, or you can instruct Visual Paradigm to create new ones by right clicking.
Not as far as I know. When you reverse it again then VP will notice existing elements and will then simply re-use those. So if you reversed a class, then applied changes to that class (in your class diagram) then those will retain. Even if you reverse again.
Note that I have limited experience with these features because I personally prefer keeping my VP and code projects separated. But having said that I’d advice to concentrate on Instant reverse, and also use the ‘on demand’ option.
Although both options (Round-trip and Instant reverse) are pretty similar the first is fully set up to maintain a connection so that changes in either the diagram or code can be synchronized between both environments. Whereas Instant server, as its name somewhat suggests, is mainly focused on making a snapshot. However… that doesn’t mean that it can’t apply any changes you made to your diagram back onto the source code.
In the end there really isn’t a “right” or “wrong” way to do this, but as said my advice would be to use Instant, and then use those results to set up your As-is model.