Topic
  • 11 replies
  • Latest Post - ‏2006-10-31T20:59:26Z by SystemAdmin
SystemAdmin
SystemAdmin
14225 Posts

Pinned topic Reverse Engineering in RSA

‏2006-03-29T13:04:44Z |
Does RSA support reverse engineering of Java code in the same way that Rational Rose did? Do I need a separate plug-in to transform Java to UML? Thanks in advance.
Updated on 2006-10-31T20:59:26Z at 2006-10-31T20:59:26Z by SystemAdmin
  • aalbergj
    aalbergj
    48 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-29T16:39:45Z  
    he simplest thing I've found is to create a new UML Class diagram in a package, then drag all the classes on the diagram. The relationships will be created automatically.

    This works well on a per-package basis, but I've not yet found a good way to do this for all packages in a system. One thing to try would be to do what I said for a top-level package, then use the Show Relationships feature to show all related components. That aught to add more components.
  • SystemAdmin
    SystemAdmin
    14225 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-30T08:58:55Z  
    • aalbergj
    • ‏2006-03-29T16:39:45Z
    he simplest thing I've found is to create a new UML Class diagram in a package, then drag all the classes on the diagram. The relationships will be created automatically.

    This works well on a per-package basis, but I've not yet found a good way to do this for all packages in a system. One thing to try would be to do what I said for a top-level package, then use the Show Relationships feature to show all related components. That aught to add more components.
    Thanks.
    While this feature does allow me to generate a class diagram from my classes using the uml visualization feature of RSA, it is an extremely tedious way of doing things. Any decent size application will contain hundreds or even thousands of classes in more than one packages.
  • aalbergj
    aalbergj
    48 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-30T14:10:10Z  
    Thanks.
    While this feature does allow me to generate a class diagram from my classes using the uml visualization feature of RSA, it is an extremely tedious way of doing things. Any decent size application will contain hundreds or even thousands of classes in more than one packages.
    agreed.
  • Feldhacker
    Feldhacker
    138 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-30T14:20:35Z  
    Thanks.
    While this feature does allow me to generate a class diagram from my classes using the uml visualization feature of RSA, it is an extremely tedious way of doing things. Any decent size application will contain hundreds or even thousands of classes in more than one packages.
    I'd suggest looking into Topic diagrams, which can then be saved as Class diagrams if you wish use it to make changes. Topic diagrams are available in RAD as well...
  • mmurf7777
    mmurf7777
    4 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-30T18:50:07Z  
    If you want to create a "true" UML model from your java code, you should create either a class diagram, or a free form diagram in your project. You should then open that diagram so it is the editor in focus. Right-click on the top-level package in your code and choose Visualize -> Add to Current Diagram. This will place a package on the diagram. You can then right-click the package on the diagram and choose Harvest. You will get a dialog stating that you can now paste the contents into a model. Create a new UML modeling project. In the Model Explorer, right-click the top-level package in the modeling project and choose Paste.
    These steps will create a UML representation of your java code, rather than just visualize the classes onto a diagram.
  • SystemAdmin
    SystemAdmin
    14225 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-31T04:43:23Z  
    • mmurf7777
    • ‏2006-03-30T18:50:07Z
    If you want to create a "true" UML model from your java code, you should create either a class diagram, or a free form diagram in your project. You should then open that diagram so it is the editor in focus. Right-click on the top-level package in your code and choose Visualize -> Add to Current Diagram. This will place a package on the diagram. You can then right-click the package on the diagram and choose Harvest. You will get a dialog stating that you can now paste the contents into a model. Create a new UML modeling project. In the Model Explorer, right-click the top-level package in the modeling project and choose Paste.
    These steps will create a UML representation of your java code, rather than just visualize the classes onto a diagram.
    Thanks. I was able to create a UML representation of my java code. Unfortunately, it's still not anywhere near what Rational Rose did in creating class diagrams from code. After harvesting the UML representation from code, I tried dragging them into a new class diagram exactly like I used to do with rose. While it did display the generalization relationships, the associations were nowhere to be seen in the class diagram.
  • jeetu_trident
    jeetu_trident
    6 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-31T05:14:13Z  
    U can download Java to UML transformation from www.rsxplugins.com. There are several other plugin available as well on the site.
  • SystemAdmin
    SystemAdmin
    14225 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-31T10:26:53Z  
    U can download Java to UML transformation from www.rsxplugins.com. There are several other plugin available as well on the site.
    Hi

    If you do have time to look at the transformations, it will RE all relationships including dependencies if you want them - most of iots controlled through the transformation properties.

    The bad news - we've now limited the transformation to 30 classes for the eval. If this is a problem, get in touch, and we can sort something out.

    Steve
  • mmurf7777
    mmurf7777
    4 Posts

    Re: Reverse Engineering in RSA

    ‏2006-03-31T19:04:47Z  
    Thanks. I was able to create a UML representation of my java code. Unfortunately, it's still not anywhere near what Rational Rose did in creating class diagrams from code. After harvesting the UML representation from code, I tried dragging them into a new class diagram exactly like I used to do with rose. While it did display the generalization relationships, the associations were nowhere to be seen in the class diagram.
    If you want to see the other relationships, try right-clicking on the diagram surface (make sure no elements are selected) and choosing Filters -> Show/Hide Relationships. You'll be presented with a dialog that will allow you to choose the types of relationships to show, and those to hide.
  • denight
    denight
    8 Posts

    Re: Reverse Engineering in RSA

    ‏2006-04-04T04:00:48Z  
    • mmurf7777
    • ‏2006-03-30T18:50:07Z
    If you want to create a "true" UML model from your java code, you should create either a class diagram, or a free form diagram in your project. You should then open that diagram so it is the editor in focus. Right-click on the top-level package in your code and choose Visualize -> Add to Current Diagram. This will place a package on the diagram. You can then right-click the package on the diagram and choose Harvest. You will get a dialog stating that you can now paste the contents into a model. Create a new UML modeling project. In the Model Explorer, right-click the top-level package in the modeling project and choose Paste.
    These steps will create a UML representation of your java code, rather than just visualize the classes onto a diagram.
    This is really helpful. Thanks!
  • SystemAdmin
    SystemAdmin
    14225 Posts

    Re: Reverse Engineering in RSA

    ‏2006-10-31T20:59:26Z  
    Thanks.
    While this feature does allow me to generate a class diagram from my classes using the uml visualization feature of RSA, it is an extremely tedious way of doing things. Any decent size application will contain hundreds or even thousands of classes in more than one packages.
    What SHOULD happen, is that you should be able to right-click on a package name, select "Visualize-->Add to new Diagram", it should then allow you to select all the sub-packages you want to do, and then it should make a class diagram for all those classes, relationships, etc. Of course... it doesn't do anything quite so intuitive and helpful now.