Многое зависит от цели документации. Кто читает? Используется ли он для того, чтобы стимулировать развитие, или он будет создан для того, чтобы предоставить некоторые исторические данные? Насколько велика команда, которая будет создавать/использовать эту документацию?
В нашей небольшой команде разработчиков мы находим ручку/бумагу и вики, подходящие для большинства архитектурно-проектной документации. Некоторые решения по дизайну и архитектуре могут быть включены в комментарии к коду (но это, очевидно, не имеет смысла, если документация должна использоваться для управления разработкой.) Два инструментальных средства, которые мы часто используем, - это инструменты диаграмм/развертывания базы данных (такие как DBWrench) и инструментами диаграмм UML (например, ArgoUML).
Предупреждение: не создавайте документацию, которая потребует огромных усилий для поддержания или которая не будет считаться кем-либо.
Для чего предназначена ваша документация? Это повлияет на лучший способ его производства. – 2008-11-27 14:25:59