а код, алгоритми, інтерфейси, API
· призначена для користувача - керівництва для кінцевих користувачів, адміністраторів системи та іншого персоналу
· маркетингова
Архітектурна / проектна документація
Проектна документація зазвичай описує продукт в загальних рисах. Чи не описуючи того, як що-небудь буде використовуватися, вона скоріше відповідає на питання «чому саме так?» Наприклад, в проектному документі програміст може описати обгрунтування того, чому структури даних організовані саме таким чином. Описуються причини, чому-небудь клас сконструйований певним чином, виділяються патерни, в деяких випадках навіть даються ідеї як можна буде виконати поліпшення надалі. Нічого з цього не входить в технічну або документації для користувача, але все це дійсно важливо для проекту.
Технічна документація
При створенні програми, одного лише коду, як правило, недостатньо. Повинен бути наданий деякий текст, що описує різні аспекти того, що саме робить код. Така документація часто включається безпосередньо у вихідний код або надається разом з ним. Подібна документація має сильно виражений технічний характер і в основному використовується для визначення та опису API, структур даних і алгоритмів.
Часто при складанні технічної документації використовуються автоматизовані засоби - генератори документації, такі як Doxygen, javadoc, NDoc та інші. Вони отримують інформацію із спеціальним чином оформлених коментарів у вихідному коді, і створюють довідкові керівництва в будь-якому форматі, наприклад, у вигляді тексту або HTML. Використання генераторів документації та документують коментарів багатьма програмістами визнається зручним засобом, з різних причин.
Зокрема, при такому підході документація є частиною вихідного коду, і одні й ті ж інструменти можуть використовуватися для складання програми і одночасної збірки документації до неї. Це також спрощує підтримку документації в актуальному стані.
Користувацька документація
На відміну від технічної документації, сфокусованої на коді і те, як він працює, для користувача документація описує лише те, як використовувати програму.
У разі якщо продуктом є програмна бібліотека, призначена для користувача документація та документація на код стають дуже близькими, майже еквівалентними поняттями. Але в загальному випадку, це не так.
Зазвичай, для користувача документація являє собою керівництво користувача, яке описує кожну функцію програми, а також кроки, які потрібно виконати для використання цієї функції. Хороша користувача документація йде ще далі і надає інструкції про те що робити у разі виникнення проблем. Дуже важливо, щоб документацію не вводила в оману і була актуальною. Керівництво повинно мати чітку структуру; дуже корисно, якщо є наскрізний предметний покажчик. Логічна зв'язність і простота також мають велике значення.
Існує три підходи до організації користувача документації. Вступне керівництво (англ. tutorial), найбільш корисне для нових користувачів, послідовно проводить по ряду кроків, службовців для виконання будь-яких типових завдань. Те...