Vlad Varnica

Ranch Hand
+ Follow
since Dec 28, 2002
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Vlad Varnica

A class diagram can include as many information as you need.
I think that adding additional information (e.g. Entity, Session etc....) is really important but many modelers consider that the PIM could not include PSM information.
This is for me modelers brain masturbation

The current situation I see is that only Omondo has developped Jee, persistance profiles which allow to add stereotypes and get annotation code from your class diagram.
It means that the public adoption is very low and the PIM PAN PUNG is still winning
No, it doesn't because in the RSA Java version you are live synchronized permanently and model is included as tag in your code !!
A good study has been published at : http://www.tutorial-omondo.com/RSA7_versus_EclipseUML/RSA_EclipseUML_features_chart.html
Have a look then I am sure you will understand why EclipseUML is better
You need first to reverse the java code then to display it into a class diagram.
Finally changing the diagram will also change the code using live code a model synchronization.

The only tool which is capable of doing it is EclipseUML Omondo because this tool is focused on Java and live code and model synchronization while other tools are more MDD oriented. I mean that you model then generate code but you don't upload java code into model and merge it with the diagram change.
A good example to read is: http://www.forum-omondo.com/documentation_eclipseuml_2008/reverse/reverse/reverse_engineering_example.html
I think that usually you have three stages:
- Business analyst, project owner who are in charge of requirements. Usecase diagrams mainly
- Architect : who is in charge of creating the skeleton of the application. Class diagram mainly
- Developer : who is charge of codding No diagram mainly

If you can collect requirements, design architecture and code using UML then you have a very very high value for the company.
13 years ago
Sequence diagram reverse of java method is available with:
Omondo EclipseUML. You can try the evaluation license if the need is just to reverse and see. Dagram sometimes messy but you can move, delete, change order etc...so you can work on your sequence diagram even once the reverse has been done. http://www.omondo-internal-build.com/eclipse-java-galileo-SR2-win32_eclipseUML2.2_package.zip Just unzip and it works.
Rational IBM : Very nice sequence diagram reverse. Clean job but after the diagram is fixed. You can not move frame etc...to change it.
Togethersoft: Not bad
eUML studio edition: buggy and paid feature. Would recommend only to my worst enemies :-)
13 years ago
The java code is the same for both of them. Aggregation versus Compisition is only an UML information
This is one of the reasons why UML is important
Line crossing can't be avoided.
btw, You could try to customize the link by adding a color or changing link thickness in order to make a differentiation between crossing lines.
It could help to add more specific information inside the diagram.
The problem is code generation from models which has been transformed !!
Model manipulation and transformation is today the reason of the UML mess.
UML as a language is really fantastic but EMF, GMF, other Eclipse frameworks integration is a real disaster
The problem is always the same. You have managers and modelers selecting modeling tools which are not java oriented and then let the team code in Java.
The generated code from the UML tool is so mediocre that the java integration team spend more time to fix the code that to work on requirements. Once the code is fixed it is not anymore compatible with the first requirement and architecture so the modeling stage is finished

My answer is there is no answer, sorry about that
Reading a book is a good start but if you are in a company then do not hesitate to ask them to pay for 2-3 days training.
It would save time and you will immediately be able to model.

I use Eclipse 3.5 SR2 and have copied your code in a new project. I then reverse it with an Eclipse modeling tool.
Here is the reverse communication and sequence diagram of the code of Henry Pinkerton
Here is the sequence diagram of the code of Adrian Burlington
We are already at the implementation stage with this class diagram which is fine for me.
I have created the class diagram to visualize it better.
I would recommend to say nothing to your customer in order to cash the integration and reuse the code.
Just change it a little bit of code and make double money

This is the interesting point with modeling because once it is developed you can generate a code from your model. You just need to add new requirements and click on a buttom to generate the code. Once this code is generated you manually merge existing code and new code in order not to loose implementation code, and job done
You can go fishing and spend more time with your family and still make good living

btw, if you can not hide it to your customer then I would recommend to produce another project because you will charge double money on maintenance and refactoring next year.
On technical point of view I think you just need to add conditions and use the same project, but you will make less money and your boss will not be happy