Software-Dokumentationswerkzeug
# Software-Dokumentationswerkzeug

Ein Software-Dokumentationswerkzeug dient zur automatischen Erzeugung von Dokumentationen aus den Ergebnissen und Objekten des Softwareentwicklungsprozesses. Die Dokumentation ist dabei jedoch keinesfalls nur auf den Quellcode beschränkt. Dokumentationswerkzeuge erlauben die Generierung von Dokumenten aus verschiedenen Quellen (z. B. UML-Diagramme, Quelltext), sie unterstützen verschiedene Layoutvorgaben und unterschiedliche Ausgabeformate (z. B. PostScript, PDF).

Ein sehr verbreitetes Software-Dokumentationswerkzeug für die Programmiersprache Java ist Javadoc. Doxygen dagegen wird gern für C++ benutzt, ist aber ein Dokumentationswerkzeug, das mehrere Sprachen und verschiedene Ausgabeformate, wie z. B. LaTeX, HTML und PDF unterstützt. Ein ähnliches Dokumentationswerkzeug ist Natural Docs. Die für Perl verwendete Plain Old Documentation kommt – im Gegensatz zu Javadoc und Doxygen – jedoch ganz ohne Tags aus und versucht, die Dokumentation aus möglichst lesbaren, „natürlich“ aussehenden Kommentaren zu erzeugen. Für die Programmiersprache Python wurde Sphinx entwickelt, ein Software-Dokumentationswerkzeug, welches reStructuredText in HTML-Seiten sowie viele weitere Formate wie PDF, EPUB und Manpages umwandelt.

## Software

* APIGen
* phpDocumentor
* Doxygen
* Javadoc
* Sandcastle Help File Builder (SHFB)
