views:

63

answers:

3

Hey, does anybody know, how i could create automatically a UML class diagram from an already existent iphone project. Is it possible?

Thanks in advance.

+4  A: 

I'm not familiar with UML, so this might be of any help, but I know that if you select your project file within XCode (at the very top of the Groups and Files pane) you can then go to Design->Class Model->Quick Model and it will show you how your classes are related to each other.

Steve Melvin
Useful pointer I had not noticed that XCode had a class modeller built in.
Kevin
A: 

iphone use a specific OS and not the standard Java Sun SDK. It is today impossible to mix both OS because iphone SDK compilation is not the same as SDK compilation. Project natures are also different.

btw, if you look how to code on iphone or google phone this mainly xml and few codes which could not really be modeled within an object approach. It is certainly possible to model the Jee server and deploy on iphone. The problem is that today I only see iphone and cloud. It means that if you deploy on iphone or Google phone and also cloud option then there is no need for object modeling because complexity is hidden by the cloud provider.

So don't model iphone or maybe just create few deployment, component, state diagrams not related to class diagram project architecture which seems to me impossible to model with iphone and cloud providers.

iPhone development is done using Objective C not JAVA, and iPhone development is not just XML and a few codes (I cannot comment on Android), and will likely require significant amounts of C code) Modelling the structure of a project is perfectly valid in the context of iPhone development just as it is within JAVA.
Kevin
oups I made a confusion between ePhone and Google phone !!the problem I see is OS validation because code should compile for the modeler and for the iPhone system. It means that you should create a full modeling application just for the iPhone which is almost impossible. Another way would be to be able to compile C code within a modeling tool without having developped the modeling tool inside C. How to compile iPhone code outside its own system ?
A: 

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 All 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 !

Rajesh Jadhav
A useful answer if the code is in JAVA. iPhone development is carried out in ObjectiveC, so a UML diagrammer for JAVA will not work here
Kevin