views:

110

answers:

1

I am wondering which tool can be used in Xcode to generate the documentation for an iPhone project, so written in objective-C and C mostly, but also helping designing the code. The documents I'd like to be produced are:

  • UML-like class diagrams (with generalization, aggregation and composition relationships)
  • UML-like components diagram
  • UML-like sequence diagram

I know two nice tools: Doxygen (which I used not inside Xcode) a HeaderDoc (which seems similar to Doxygen but does not integrates the sweet graph generation facilities that comes with GraphViz in DoxyGen). But those are automated tools and are file/class centric. Any suggestion on some other useful tool?

UPDATE: If it is still not clear (lol, I saw the title change again), I'd like to generate the documentation but not only 'from' an (xcode) project but also 'for': for instance planning how to structure its architecture and design it using a components/configuration diagram. I hope to find somthing that integrates well with the IDE (something like the multitude of plugins you see for Eclipse)

+2  A: 

Since you're comfortable with Doxygen and it has the features you need, stick with that. See Apple's guide on producing Xcode documentation sets from Doxygen projects. The CorePlot project is a good example of using Doxygen in an Xcode project.

Barry Wark
You might want to point out that Core Plot provides a good example of how to generate documentation for a framework using Doxygen: http://code.google.com/p/core-plot/wiki/DocumentationPolicy
Brad Larson
@Brad I'm embarrassed to not have taken the opportunity to pitch Core Plot: a great project (though I'm a bit biased), and a beacon of light on the hill for a range of best practices (including documentation).
Barry Wark
+1 to both of you, I will surely have a look, but I'm now searching something to help me design my software, before starting to write code, that shall be used as documentation later
rano
@Barry - Don't forget all the unit testing you built up that I blithely ignored every time I committed new code.
Brad Larson
@Barry Wark: @Brad Larson: it seems you have worked together in that project : D
rano
@rano Yes, we've worked on it together a bit. Brad is a huge contributor who has driven many of the advances in CorePlot.
Barry Wark