Objektorientierte und generische Programmierung

Ähnliche Dokumente
COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

VB.net Programmierung und Beispielprogramm für GSV

Dokumentieren mit Eclipse und Doxygen

Installation Wawi SQL in Verbindung mit Microsoft SQL Server 2008 R2 Express with management Tools

Leitfaden zur Installation von Bitbyters.WinShutdown

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2012 Express with management tools

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Tutorial. Tutorial. Microsoft Office 2010 Standard Edition verteilen DeskCenter Solutions AG

Handbuch PCI Treiber-Installation

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1

Anleitung zur Installation der DataWatch Software auf einem LINUX System ohne grafische Oberfläche

Success! Bestellausgabe

Internet Explorer Version 6

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

BSV Software Support Mobile Portal (SMP) Stand

Reporting Services und SharePoint 2010 Teil 1

Eprog Starthilfe. 5. Oktober Einleitung 2

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

NEUES BEI BUSINESSLINE WINDOWS

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

Dokumentation: Balanced Scorecard

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Addware Urlaubsmanager 3.22 Installations-Guide

Qt-Projekte mit Visual Studio 2005

HTW-Aalen. OpenVPN - Anleitung. Eine Installations- und Nutzungsanleitung zu OpenVPN

eridea AG Installation Eclipse V 1.1

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Der digitale. Workflow Workflow. [PDF-Erstellung aus CorelDraw für Windows]

Installationsanleitung CLX.PayMaker Home

Anwenderdokumentation PersoSim

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

SANDBOXIE konfigurieren

Prodanet ProductManager WinEdition

FreePDF XP Handbuch. Aktuelle Version bei Fertigstellung: FreePDF XP 1.0. Inhalt:

4D Server v12 64-bit Version BETA VERSION

MSDE 2000 mit Service Pack 3a

Informatik 1 Tutorial

Installationshinweise BEFU 2014

Rechenzentrum der Ruhr-Universität Bochum. Integration von egroupware an der RUB in Outlook 2010 mit Funambol

Inhalt. meliarts. 1. Allgemeine Informationen Administration Aufruf Das Kontextmenü Vorlagen...

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

Installationsanleitungen

Bitte melden Sie sich als Administrator des Betriebssystems oder als Benutzer mit ausreichenden Installationsrechten an Ihrem PC an.

3M Helth Information Systems. 3M KAPS PEPP Simulation. Installationsanleitung

Installationsanleitung VIO Copy 2.x

INHALT 1. INSTALLATION DES V-MODELL XT UNTER WINDOWS 7 2. INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

1 Dokumentenmanagement

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Version 0.3. Installation von MinGW und Eclipse CDT

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

R-BACKUP MANAGER v5.5. Installation

Informatik I Tutorial

INSTALLATION DES V-MODELL XT UNTER WINDOWS VISTA

Driver Point Software :: Installation

Installation SelectLine SQL in Verbindung mit Microsoft SQL Server 2014 Express with management tools

NETZWERKINSTALLATION DER MAGIX ACADEMIC SUITE

MailUtilities: Remote Deployment - Einführung

Steuererklärung mit dem PC. Computeria-Urdorf 10. Februar 2010

Überprüfung der digital signierten E-Rechnung

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

Tutorial Windows XP SP2 verteilen

Ein subjektiver Vergleich zwischen SSIS und Kettle mit Ausblick auf die Generierung von BI-Lösungen

Step by Step Webserver unter Windows Server von Christian Bartl

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Kurzanleitung für Benutzer. 1. Installieren von Readiris TM. 2. Starten von Readiris TM

Installationsanleitung CLX.PayMaker Office

Herzlich willkommen bei der Installation des IPfonie -Softclients!

Installationsanleitung Home & Office-Banking Plattform

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Pascal-Compiler für den Attiny

Installation und Inbetriebnahme von Microsoft Visual C Express

Installation der SAS Foundation Software auf Windows

Das Handbuch zu KAppTemplate. Anne-Marie Mahfouf Übersetzung: Burkhard Lück

Anleitung zur Installation von Windows XP Professional und dem Multilanguage Interface

System-Update Addendum

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Drucken aus der Anwendung

Zeiterfassung-Konnektor Handbuch

Produktschulung WinDachJournal

Herzlich Willkommen bei der nfon GmbH

PDF-Druck und PDF-Versand mit repdoc Werkstattsoftware

Beschreibung der Einstellungen zum Drucken aus TRIC DB mit BricsCad ab Version V5

Installation OMNIKEY 3121 USB

1. Anforderungen an die Hardware/Software. 2. Ändern der Zugangsprotokollart

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

1. Der Router ist nicht erreichbar Lösungsansatz: IP Adresse des Routers überprüfen ( entweder irgendwo auf dem Gerät aufgeklebt oder im Handbuch )

eridea AG Installation Eclipse V 1.4

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Transkript:

Objektorientierte und generische Programmierung Institut für Wirtschaftsinformatik Dokumentieren von Quelltexten mit Doxygen Ulrich W. Eisenecker 19. März 2011

Übersicht Grundlagen Warum dokumentieren? Warum automatisiert? Doxygen Bezugsquelle, Installation Eingabe- und Ausgabeformate, Graphen und Diagramme, Befehle Dokumentationskommentare, Beispiele Aufruf per Kommandozeile, Aufruf per doxywizard Anregungen zum Selbststudium Schlussbemerkungen Quellen 2

Warum dokumentieren? Sinn und Zweck des eigenen Quellcodes auch nach einem halben Jahr noch verstehen können Anderen Beteiligten, zum Beispiel Entwickler und Qualitätssicherer, das Verständnis des eigenen Quellcodes erleichtern, etwa bei APIs Implementierungsentscheidungen begründen und nachvollziehbar machen (Rückverfolgbarkeit, engl. traceability) Wartbarkeit verbessern und somit unnötige Kosten vermeiden 3

Warum automatisiert dokumentieren? Konsistenz von Dokumentation und Quelltext sicherstellen Möglichkeit der automatischen Formatierung und Erzeugung von Querverweisen Manuell müssten diese mit hohem Aufwand gepflegt werden Quelltextkommentare beinhalten wichtige Meta-Informationen Ein Dokumentationssystems kann diese automatisiert in eine formale Darstellung überführen Eine vorgegebene Syntax sorgt für eine einheitliche Dokumentation Dokumentation kann vom System automatisch erzeugt werden, etwa jede Nacht Integration mit Build-Systemen möglich 4

Übersicht Grundlagen Warum dokumentieren? Warum automatisiert? Doxygen Bezugsquelle, Installation Eingabe- und Ausgabeformate, Graphen und Diagramme, Befehle Dokumentationskommentare, Beispiele Aufruf per Kommandozeile, Aufruf per doxywizard Anregungen zum Selbststudium Schlussbemerkungen Quellen 5

Bezugsquelle Download über die Home Page: http://www.doxygen.org Als Quelltext Als Binärdistribution für Linux, Windows, Mac OS X, Solaris 9 Als Bestandteil der Cygwin-Umgebung: http://www.cygwin.com/ Im Weiteren wird nur auf die Benutzung der Binärdistribution für Windows eingegangen Diese ermöglicht eine komfortable und einfache Installation 6

Installation Download der Binärdistribution für Windows Es wird die Verwendung des Setup-Programms empfohlen, da es alle erforderlichen Kompenenten enthält Ausführen von doxygen-<version>-setup.exe Installation im Modus Full Installation durchführen Insbesondere die Komponente doxywizard GUI sollte installiert werden Es handelt sich hierbei um eine komfortable Oberfläche zur Erzeugung der Konfigurationsdatei für Doxygen 7

Eingabeformate Unterstützung unter anderem für C/C++ Java IDL (CORBA und Microsoft) C# Es lassen sich Dateien, Namensräume, Klassen, structs, unions, Templates, Variablen, Funktionen, typedefs, enums und defines dokumentieren 8

Ausgabeformate Doxygen kann folgende Ausgabeformate direkt erzeugen HTML XML LaTeX Man pages RTF Qt Help Project Folgende Formate werden indirekt unterstützt Compressed HTML (über Microsoft HTML Help Workshop) PostScript (aus LaTeX-Ausgabe) PDF (aus LaTeX-Ausgabe) Qt Compressed Help 9

Graphen und Diagramme Doxygen ermöglicht die grafische Aufbereitung folgender Informationen Vererbungsdiagramme für C++-Klassen GRAPHICAL_HIERARCHY: Klassenhierarchie (nur HTML) CLASS_GRAPH: Direkte und indirekte Vererbungsbeziehungen INCLUDE_GRAPH: Visualisierung der include Abhängigkeiten (HTML und RTF) COLLABORATION_GRAPH: Vererbungsbeziehungen mit Basisklassen und Verwendungsbeziehungen mit anderen structs und Klassen CALL_GRAPH: Anzeige der direkten und indirekten Funktionsaufrufe aus einer Funktion heraus 10

Beispiel CLASS_GRAPH 11

Beispiel INCLUDE_GRAPH 12

Beispiel - COLLABORATION_GRAPH 13

Beispiel - CALL_GRAPH 14

Befehle Innerhalb eines Dokumentationskommentars können zwei Arten von Befehlen eingesetzt werden Spezialbefehle Sie werden mit \ oder @ eingeleitet und können Parameter erhalten Sie dienen der Kennzeichnung bestimmter Dokumentationsbereiche, der Gruppierung, der Beeinflussung der Ausgabe etc. HTML-Befehle Ein Dokumentationskommentar kann bestimmte HTML-Elemente beinhalten Diese werden in der HTML-Ausgabe übernommen und bei anderen Ausgabeformaten in entsprechende Äquivalente umgesetzt Eine Liste aller Befehle mit Erklärungen ist dem Doxygen-Handbuch zu entnehmen (Bereiche Special Commands, HTML Commands) 15

Dokumentationskommentare (1) Doxygen bietet viele Möglichkeiten, einen Bereich als Dokumentation auszuzeichnen; diese lehnen sich an die bekannten Kommentare aus C++ und Java an Für ein zu dokumentierendes Code-Fragment können zwei Arten von Beschreibungen hinterlegt werden Kurze und detaillierte Beschreibung Jede der beiden Arten ist optional, darf jedoch höchstens einmal vorkommen Im Folgenden wird auf zwei Möglichkeiten der Auszeichnung eingegangen Weitere Möglichkeiten sind dem Handbuch zu entnehmen 16

Dokumentationskommentare (2) Qt-Style /*! \brief Kurze Beschreibung. * Kurze Beschreibung fortgesetzt. * * Detaillierte Beschreibung beginnt hier. */ Der Kommentar beginnt wie ein normaler C-Kommentar gefolgt von einem Ausrufezeichen: /*! Die kurze Beschreibung wird mit dem Spezialbefehl \brief eingeleitet Der nach einer Leerzeile folgende Text wird automatisch als detaillierte Beschreibung angesehen 17

Dokumentationskommentare (3) JavaDoc-Style mit JAVADOC_AUTOBRIEF = YES /** Kurze Beschreibung, die an diesem Punkt endet. * Detaillierte * Beschreibung beginnt hier. */ Kommentar beginnt wie ein normaler C-Kommentar gefolgt von einem Stern: /** Ist die Option JAVADOC_AUTOBRIEF auf YES gesetzt, bildet der erste Satz des Kommentars die kurze Beschreibung Nachfolgend kommt die detaillierte Beschreibung 18

Beispiel Dokumentation einer Methode /*! Method for calculating the area. \param a the length \param b the height \return Area is returned */ int calcarea(int a, int b); Im Beispiel fehlt eine kurze Beschreibung, es ist nur eine detaillierte vorhanden Die Parameter a und b sind mit dem Spezialbefehl \param kommentiert Der Rückgabewert ist mit dem Spezialbefehl \return kommentiert 19

Beispiel Makrodokumentation für #define /*! \def c_water Specific heat capacity of water. */ #define c_water 4.19 Der Spezial-Befehl \def mit dem Parameter <variable_name> gibt an, dass <variable_name> ein #define-wert ist Der Kommentar steht direkt oberhalb von #define 20

Aufruf per Kommandozeile Doxygen benötigt eine Konfigurationsdatei Diese enthält alle projektbezogenen Einstellungen doxygen -g <config-file> erzeugt eine Vorlagendatei Diese muss den eigenen Wünschen angepasst werden doxygen <config-file> startet die Generierung der Dokumentation anhand der Einstellungen in der übergebenen Konfigurationsdatei Eine komfortable Variante zur Konfiguration und für den Aufruf stellt das Doxygen-GUI-Frontend, doxywizard genannt, dar Dieses wird im Folgenden vorgestellt 21

Aufruf per doxywizard (1) Die einfachste Methode zum Einstieg ist der Wizard-Modus Er führt durch alle nötigen Konfigurationsschritte 22

Aufruf per doxywizard (2) Projektinformationen festlegen Quellverzeichnis auswählen Rekursive Verarbeitung aktivieren Zielverzeichnis auswählen 23

Aufruf per doxywizard (3) Alle Fragmente oder nur dokumentierte in die Dokumentation übernehmen? Quelltext in die Dokumentation einbinden? Einstellungen für die Optimierung der Dokumentationsergebnisse 24

Aufruf per doxywizard (4) Festlegung der Ausgabeformate HTML mit Frames und Navigationsbaum sowie LaTeX für verlinktes PDF sind gut nutzbare Ausgabeformate 25

Aufruf per doxywizard (5) Festlegung der zu erzeugenden Diagramme In der Windows-Version ist das dot tool enthalten Somit können auch die hier deaktivierten Diagramme erzeugt werden, ohne zusätzliche Software zu installieren 26

Aufruf per doxywizard (6) Speichern der im Hintergrund per Wizard erzeugten Konfigurationsdatei Damit kann die Erzeugung der Dokumentation schnell und problemlos erneut angestoßen werden 27

Aufruf per doxywizard (8) Verzeichnis festlegen, in dem Doxygen gestartet wird (üblicherweise das Wurzelverzeichnis der Quelltexte) Run doxygen startet die Generierung der Dokumentation 28

Übersicht Grundlagen Warum dokumentieren? Warum automatisiert? Doxygen Bezugsquelle, Installation Eingabe- und Ausgabeformate, Graphen und Diagramme, Befehle Dokumentationskommentare, Beispiele Aufruf per Kommandozeile, Aufruf per doxywizard Anregungen zum Selbststudium Schlussbemerkungen Quellen 29

Anregungen zum Selbststudium Informieren Sie sich im Handbuch über weitere Möglichkeiten zur Erzeugung von Dokumentationskommentaren Nehmen Sie eines Ihrer bisherigen C++-Projekte (möglichst mit mehreren Dateien und Klassen mit Vererbungsbeziehungen) und dokumentieren Sie es Erzeugen Sie eine Doxygen-Konfigurationsdatei per doxywizard Lassen Sie alle möglichen Diagramme erzeugen Schauen Sie sich dabei auch den Expertenmodus an Erzeugen Sie mit Hilfe der Konfigurationsdatei eine Dokumentation für Ihr Projekt 30

Übersicht Grundlagen Warum dokumentieren? Warum automatisiert? Doxygen Bezugsquelle, Installation Eingabe- und Ausgabeformate, Graphen und Diagramme, Befehle Dokumentationskommentare, Beispiele Aufruf per Kommandozeile, Aufruf per doxywizard Anregungen zum Selbststudium Schlussbemerkungen Quellen 31

Schlussbemerkungen Zweck dieser Präsentation ist es, einen ersten Eindruck von der Mächtigkeit des Doxygen-Werkzeugs zu vermitteln und einen Einstieg zu ermöglichen Es wurden bei weitem nicht alle Möglichkeiten von Doxygen behandelt Insbesondere wurde auf die Darstellung komplexer Projekte mit externer Dokumentation, Gruppierung und Preprocessing verzichtet, da dies den Rahmen sprengen würde All diese Themen werden ausführlich und mit Beispielen im Doxygen-Handbuch erklärt 32

Übersicht Grundlagen Warum dokumentieren? Warum automatisiert? Doxygen Bezugsquelle, Installation Eingabe- und Ausgabeformate, Graphen und Diagramme, Befehle Dokumentationskommentare, Beispiele Aufruf per Kommandozeile, Aufruf per doxywizard Anregungen zum Selbststudium Schlussbemerkungen Quellen 33

Quellen Doxygen-Handbuch: http://www.doxygen.org/manual.html Manfred Brill: Dokumentieren mit Doxygen, 2003, http://www.vislab.de/cgbuch/intros/doxygen.pdf 34