I would like to ask that, in real projects, how do you manage documentation of software projects? I mean how various artifacts, docs, UML diagrams, models, etc. What is the good practice for that? A web-based tool or something?
Good starting points: 1. You need a lot less documentation than you think. 2. There should be a clear purpose and audience for the document, otherwise don't create it. 3. If it's worth creating, it's worth putting under CM control. 4. The less documentation you create, the less you have to manage. 5. There is no correlation between documentation and software development success. There is a very clear correlation between documentation and bureaucracy. 6. Use the Simplest Tools.
I use JavaDoc which creates HTML documentation. I have Poseidon as an UML tool which also exports documentation to HTML. Web based documentation is the best since you can easily distribute and keep sincronized.