jSonde can be used to generate a UML sequence diagram from a java application by profiling the app e.g. this can be used to document the actual implementation of a use case. How a this can be done, I will show step by step here in this post:
Step 1.) Get jSonde from http://www.jsonde.com/
Step 2.) Create a JUnit test case for the use case / function which you want to document, or when you do TDD look for an existing test...
Here the example code of my test:
@Test
public void testPurchase() {
Seller sellerOne = kasse.getSeller(100);
Seller sellerTwo = kasse.getSeller(101);
Position hose = new Position();
hose.setDescription("Hose");
hose.setPrice(2150);
hose.setSeller(sellerOne);
Position kleid = new Position();
kleid.setDescription("Kleid");
kleid.setPrice(2150);
kleid.setSeller(sellerTwo);
Sale sale = new Sale();
sale.addPosition(hose);
sale.addPosition(kleid);
kasse.purchase(sale); }
Step 3.) Run the test e.g. in eclipse (or in other IDE) with the follow VM parameter: “-javaagent${JSONE_PATH}/lib/jsonde.agent-1.0.0.beta7.jar=60001”
Step 4.) Start jSonde and click File -> New Project
Step 5.) Enter a project name and the namespace of the application then click Connect
Step 6.) After the test is pass, click sequence diagram and select the test method in the tree view
Here the full UML sequence diagram for the "Purchase" test implementation:
Links:






See http://www.reversejava.com for a dynamic reverse engineering application which generates UML Sequence diagram and view of Participating Class diagram from any Java Application at runtime
AntwortenLöschenAll you have to do is just run your application and sit back. Reverse Java runs in background tracing all the activities happening inside your application and creates UML diagram for you.
You also have options for, excluding packages,editing the Sequence diagram and exporting the diagrams as PDF or Image.
And its not expensive !
How do you include two different packages, for example
AntwortenLöschenfoo.*
bar.*
Have tried playing around with custom filters but no joy.
Also when setting -Xmx and -Xms to 1024mb the GUI does not show that the memory has been assigned, any ideas?
Thanks