Dokumentationswerkzeuge Sven Müller, Thomas Hornberger
|
|
- Alfred Holtzer
- vor 8 Jahren
- Abrufe
Transkript
1 Sven Müller, Thomas Hornberger Software - Engineering Berufsakademie Horb Studiengang Informationstechnik 03 Florianstraße Horb musv@ba-horb.de hoth@ba-horb.de Abstract: Im Prozess der Softwareentwicklung ist ein Verzicht auf eine Dokumentation aus heutiger Sicht undenkbar. Der Zeitaufwand eines Programmierers für eine Dokumentation ist dem des eigentlichen Programmierens gleichzusetzen. Jedes Unternehmen fordert von seinen Mitarbeitern eine vernünftige und wieder verwertbare Dokumentation, um die immer kürzer werdenden Innovationszyklen meistern zu können. In dieser Arbeit wird auf die grundsätzlichen Vor- und Nachteile, sowie Probleme bei einer Software- Dokumentation eingegangen. Besonderes Augenmerk richtet sich auf die Kommentierung von Quellcode. Insbesondere hier wird in der Praxis häufig auf die Unterstützung von n gesetzt. Die Komponenten und Einsatzgebiete einiger wichtiger Werkzeuge werden beschrieben, sowie deren Effizienz anhand von Beispielen erläutert. Sven Müller, Thomas Hornberger Seite 1 von 26
2 Inhaltsverzeichnis 1. EINLEITUNG SINN UND NOTWENDIGKEIT VON DOKUMENTATIONEN KLASSIFIZIERUNG ENTWICKLUNGSPRINZIPIEN PROBLEME VON DOKUMENTATIONEN SELF DOCUMENTING CODE EINLEITUNG BEISPIEL VARIABLEN UND KONSTANTEN FUNKTIONEN DATENORGANISATION LAYOUT KONTROLLSTRUKTUR VERSCHIEDENE DOKUMENTATIONSWERKZEUGE EINLEITUNG DOC KDOC CCDOC PERCEPS JAVADOC DOXYGEN FAZIT LITERATURVERZEICHNIS INTERNET-REFERENZEN Sven Müller, Thomas Hornberger Seite 2 von 26
3 1. Einleitung 1.1 Sinn und Notwendigkeit von Dokumentationen Gute Dokumentation unterstützt die Entwicklung von und den Umgang mit Software in hohem Maße. Sie bietet eine Anleitung für den Anwender und Endkunden im Umgang mit dem Produkt. In diesem Zusammenhang ist keinesfalls zu unterschätzen, dass die Zufriedenheit eines Kunden mit dem Produkt mit dem Verständnis für das Produkt ansteigt. Eine gute Dokumentation kann ein wertvolles Hilfsmittel bei der Präsentation der Software gegenüber potentiellen Kunden sein und als Entscheidungsgrundlage dienen, welche vorab begutachtet werden kann. Eine technisch fundierte, interne Dokumentation unterstützt das Entwicklerteam bei der Wartung und Weiterentwicklung der Software. Sie ist ein wichtiges Dokument innerhalb von internen und externen Prüfungen, wodurch das Entwicklerteam eine Kontrollfunktion für den Entwicklungsfortschritt des Produkts erhält. Die Projektdokumentation bildet eine gemeinsame Gesprächsgrundlage zwischen vielen am Produkt beteiligten Personen und Personengruppen. Zwischen Entwicklern beispielsweise ebenso wie gegenüber einem Kunden. 1.2 Klassifizierung Der organisatorische Ablauf einer Dokumentation lässt sich in zwei Bereiche unterteilen: - Interne Dokumentation: Diese Form der Dokumentation wird nicht veröffentlicht. Sie bleibt innerhalb der Firma beziehungsweise innerhalb des Entwicklungsteams. Ihre Funktion liegt in der Unterstützung der Entwicklung und Wartung des eigenen Softwareproduktes. - Externe Dokumentation: Die externe Dokumentation ist für die Veröffentlichung konzipiert und dient dem Anwender und Endkunden als Bedienungsanleitung für die Software. 1.3 Entwicklungsprinzipien Das nachfolgende Kapitel beschäftigt sich mit wichtigen Anhaltspunkten für eine gute und erfolgreiche Dokumentation von Softwareprodukten. Bei einer Dokumentation handelt es sich um einen Entwicklungsbegleitenden Prozess, die Ausarbeitung der Dokumentation muss mit der Entwicklung des Quellcodes Schritt halten. Weiterhin muss eine Orientierung an der beabsichtigten Zielgruppe erfolgen, deren Wissen und deren Einsatz der Dokumentation sind entscheidende Kriterien für die Gestaltung der Dokumentation. Neben der Dokumentation ist eine gute Kommentierung des Quellcodes zwingend erforderlich. Sven Müller, Thomas Hornberger Seite 3 von 26
4 Der Einsatz von grafischen Elementen ist unbedingt anzuraten, er erleichtert das Erfassen und Verstehen der Dokumentation deutlich. Dies gilt sowohl für Skizzen, Tabellenund Ähnlichem in allgemeiner Hinsicht als auch für domänenspezifische Visualisierungstechniken wie ER-Diagramme oder UML. Der Einsatz von Ein Einsatz von n empfiehlt sich, wenn dieser möglich ist. Der Vorgang gewinnt an Zeit und Effizienz und die Motivation für die Entwicklung der Dokumentation wächst. 1.4 Probleme von Dokumentationen Nachfolgend finden sich schwere Fehler bei der Dokumentationsentwicklung, welche den Nutzen der Dokumentation zumindest in hohem Maße schmälern: - Fachsprache: Eine Dokumentation darf höchstens jenes Maß an Fachsprache beinhalten, welches die Zielgruppe mit Sicherheit versteht. Demzufolge ist die diesbezügliche Gestaltung stark vom Anwender abhängig. Generell kann jedoch angeführt werden, dass leicht verständliche Sprache in den wenigsten Fällen ein Fehler ist. - Konsistenz: Eine in sich inkonsistente Dokumentation stellt ein erhebliches Problem bei deren Verwendung dar. Häufige Fehler in dieser Hinsicht liegen in fehlender Aktualität, in Unvollständigkeit und in Widersprüchlichkeit. - Gestaltung: In diesem Bereich können zwei unterschiedliche Arten von Fehlern gemacht werden. Zum Einen kann durch ein nicht ansprechendes Layout die Motivation der Verwendung deutlich herabgesetzt werden, und zum Anderen stellen inhaltliche Fehler wie ein nicht vorhandenes Stichwortverzeichnis ein Hindernis in der Benutzung dar. Sven Müller, Thomas Hornberger Seite 4 von 26
5 2 Self documenting Code 2.1 Einleitung Mit dem Anwachsen an Quellcode in einem Projekt wird die Übersicht schlechter. Deswegen ist es sinnvoll seinen Quellcode in einer gewissen Form zu schreiben. Diese Form nennt man auch Self-documenting Code. Unter Self-documenting Code versteht man die Generierung von Quellcode mit einer sinnvollen und möglichst selbsterklärenden Syntax. Dies bezieht sich auf das Layout sowie auf die Wahl von Klassen-, Funktions- und Variablennamen. 2.2 Beispiel Der durch self-documenting code hinsichtlich der Lesbarkeit und des Verständnisses entstehende Vorteil lässt sich gut anhand eines Beispiels nachvollziehen. Die folgende Tabelle zeigt zweimal den, in Bezug auf seine syntaktische Bedeutung, gleichen Code. for(i=1;i<=num;i++){ MeetsCriteria[i]=tru e; for(i=2;i<=num/2;i++ ){ j=i+i; while(j<=num){ MeetsCriteria[j]=fal se; j=j+i; }} for(i=1;i<=num;i++){ if(meetscriteria[i]) System.out.println(i ); for(primecand=1;primecand<=num;primec and++) IsPrime[primeCand]=true; for(factor=2;factor<=num/2;factor++){ factnumber=factor+factor; while(factnumber<=num){ IsPrime[factNumber]=false; factnumber=factnumber+factor; } } for(primecand=1;primecand<=num;primec and++) if(isprime[primecand] System.out.println(primeCand); Sven Müller, Thomas Hornberger Seite 5 von 26
6 Die rechte Version ist ungeachtet der oben stehenden Tatsache deutlich besser lesbar und verständlich. Durch die Verwendung von sprechenden Variablenbezeichnern, durch die Einrückungen und durch die Trennung des Initialisierungsteils mittels einer Leerzeile wurde wesentlich besser kommentierter Code geschrieben, ohne eine einzige Zeile klassischen Kommentar verwendet zu haben. Es folgt nun ein weiteres Beispiel: Falsch: int status = NEW; // der Integervariablen status wird der Wert der Konstante NEW zugewiesen Richtig: int status = NEW; // Art der Benutzeranmeldung 2.3 Variablen und Konstanten Der Bezeichner ist so zu wählen, dass er die Aufgabe beziehungsweise Verwendung der Variablen oder Konstanten beschreibt. Gute Beispiele sind NOfUsers, maxvalue oder currentproduct. Bei Schleifenzählern oder in ihrer Verwendung klar erkennbaren Hilfsvariablen kann hiervon Abstand genommen werden. Insbesondere bei codierten Bedeutungen ist auf gute Bezeichner zu achten, wie am nachstehenden Beispiel gut erkennbar ist. Beispiel: static final int NEW_USER = 1, MODIFY_USER = 2,... Eine subjektiv sehr unterschiedlich wahrgenommene Kommentierungsvariante ist die im Allgemeinen als Hungarian Notation bezeichnete Möglichkeit, den Typ der Variablen im Namen durch ein oder mehrere dem eigentlichen Bezeichner vorangestellte Symbole zu kennzeichnen. Als interessante Variante sei sie jedoch angeführt. 2.4 Funktionen Funktionen werden durch einen sprechenden Namen bezeichnet, dieser muss ihre Aufgabe beschreiben. In diesem Sinne gut gewählte Namen sind beispielsweise checknumber(), getnoforders() oder writesum(). Eine Funktion soll eine, und nur eine klar definierte Aufgabe durchführen. Das Interface der Funktion ist selbsterklärend und beschreibt die Bedeutung der einzelnen Parameter. Ein Beispiel für eine entsprechend gestaltete Schnittstelle ist calculateprims(int from, int to) oder checkuserstate(string username, String password). Sven Müller, Thomas Hornberger Seite 6 von 26
7 2.5 Datenorganisation Es ist besser zusätzliche Variablen zu verwenden und auf die maximal mögliche Wiederverwendung zu verzichten, wenn dadurch die Lesbarkeit des Codes erhöht wird. Bei der Verwendung von abstrakten Datentypen (ADT) ist darauf zu achten, dass dieser die gegebene Aufgabe effizient bewältigen kann, jedoch keine beziehungsweise so gering wie möglich darüber hinaus gehende Funktionalität besitzt. Insbesondere bei ADT ist auf eine gut lesbare Schnittstelle zu achten. 2.6 Layout Das Layout sollte an allen Stellen konsistent gehalten werden, dies betrifft beispielsweise die Form der Einrückungen. Darüber hinaus sollte es dem logischen Aufbau des Programms entsprechen, in diesem Zusammenhang ist insbesondere auf die Reihenfolge von Methoden und Blöcken wie der Deklaration von globalen Variablen oder Konstanten zu achten. 2.7 Kontrollstruktur Zusammengehörende Anweisungen werden gekapselt, um diese Blockbildung auch zum Ausdruck zu bringen. Der normale Programmablauf folgt dem if-zweig und nicht dem else-zweig. Die verwendeten Kontrollstrukturen sind hinsichtlich ihrer Komplexität gerade so groß dimensioniert, als dies zur Erfüllung ihrer Aufgabe erforderlich ist. Auch die Verschachtelung sollte auf das minimal mögliche Maß reduziert werden. Abfragen unter Verwendung von booleschen Konstrukten sollten so einfach wie möglich zu halten sein, besondere Vorsicht ist bei der Anwendung des NOT-Operators geboten. Sven Müller, Thomas Hornberger Seite 7 von 26
8 3. Verschiedene 3.1 Einleitung Oft ist es nicht ausreichend seinen Quellcode in einer bestimmten Form zu schreiben. Je größer der Umfang eines Projektes, desto schwieriger wird es für andere, sich in diesen einzulesen. Um diesem Problem Abhilfe zu schaffen, gibt es eine Vielzahl von Werkzeugen, so genannte. Mit deren Hilfe ist es nicht nur möglich innerhalb des Quellcodes Kommentare zu generieren, sondern es lassen sich auch externe Dokumente erzeugen, in denen der Quellcode beschrieben wird. Auf den folgenden Seiten wird auf die bedeutendsten dieser eingegangen. 3.2 DOC++ DOC++ ist ein Dokumentationssystem für C, C++, IDL und Java, welches sowohl TeX- Ausgabe für sinnvolle Ausdrucke als auch HTML-Seiten für sinnvolle Online- Darstellungen der Dokumentation erzeugen kann. Die Dokumentation wird direkt den C/C++/IDL-Header- bzw. -Quelldateien oder den Java-Klassendateien entnommen. Beispiel einer mit DOC++ kommentierten c++ Klasse: /** Function to send information to the immediate uplink, to be gathered using 1 on error, 0 on success. int dm_sendinfo (const char * TAG, /// TAG to identify information const char * string /// The information string. ) Beispielausgabe: Sven Müller, Thomas Hornberger Seite 8 von 26
9 3.3 KDOC KDOC ist ein C++ Dokumentationswerkzeug, welches speziell für die Kommentierung von KDE-libraries ausgelegt ist. Es wurde entwickelt, da man mit DOC++ unzufrieden war. Die Syntax ähnelt Javadoc. KDOC extrahiert speziell formattierte Informationen über die Klassen aus den Header- Dateien und generiert HTML-Dateien, Latex oder man pages. Beispiel eines mit KDOC dokumentierten C++ Header-Dateien: // von KDOC ignorierter Kommentar /** * Dies ist meine Klasse. Die Klasse ist sehr einfach. * Kurzbeschreibung der Klasse Mein Name 0.1alpha (string) class MyClass : public MyBaseClass { public: // ein leeres Doc-Tag. /** void mymethod(); // eine Methode mit mehr Information /** * Ich bin eine dokumentierte Methode. Sven Müller, Thomas Hornberger Seite 9 von 26
10 }; * * Hier steht noch mehr Information über die Methode. * anotherclass#someothermethod athirdclass * wert ist Integer para parameter parb parameter. int mycutemethod( int para, const char *parb ); Sven Müller, Thomas Hornberger Seite 10 von 26
11 3.4 Ccdoc ccdoc ist ein kommandozeilen-orientiertes, einfach zu bedienendes Werkzeug um HTML-Dokumentationen aus C/C++ Header-Dateien zu generieren, also eine Art javadoc für C/C++ Entwickler. ccdoc wurde von Joe Linoff entwickelt und auf unterschiedliche Plattformen portiert. Der Quellcode wurde sogar öffentlich gemacht. So konnte (und kann) ccdoc von anderen Leuten auch auf weitere Plattformen portiert werden. Beispiel: // ================================================ // This is the brief description of the simple function. // // The simple function takes in two integer arguments, adds them together // and then returns the result. x The y value. y The x value. The sum of x and y. //@} // ================================================ extern "C" unsigned simple(unsigned x,unsigned y); Beispielausgabe: Sven Müller, Thomas Hornberger Seite 11 von 26
12 3.5 PERCEPS PERCEPS erzeugt aus C/C++-Header-Dateien eine Dokumentation in HTML. Das Ausgabeformat kann aber angepasst werden. PERCEPS ist ein Perlä-Skript, welches die C/C++ Header-Dateien parsed. Mithilfe von Templates passt es seine Ausgabe nach Wunsch an. Die Formate TeX, RTF, man page und Plain Text sind auch möglich. Beispiel: //! author="hannes" // Wird nicht interpretiert. //: Eine Beispiel-Klasse // Hier steht die detaillierte Beschreibung der Klasse. class Base { // Weitere Klassenbeschreibung // <I><B><FONT COLOR="red">HTML Code!</FONT></B></I> //!italic: Benutzerdefinierter Typ int private1; public : Base(int arg1); //: Konstruktor int public1(); //: eine öffentliche Objekt-Methode // Hier steht eine detaillierte Beschreibung der Funktion. // /* Dieser Kommentar wird ignoriert float public2( float arg1, float arg2 ); //: Weitere Methode //!param: arg1 Beschreibung von arg1 //!param: arg2 Beschreibung von arg2 class NestedClass { //: Eine innere Klasse public: int nestedvar1; float nestedvar2; float nestedmember2( float arg1, float arg2 ); }; protected : }; float protected1; //: Geschützte Objekt-Variable Sven Müller, Thomas Hornberger Seite 12 von 26
13 Beispielausgabe: Sven Müller, Thomas Hornberger Seite 13 von 26
14 3.6 JavaDoc JavaDoc ist ein Software-Dokumentationswerkzeug, das aus Java-Quelltexten automatisch HTML-Dokumentationsdateien erstellt. Für zusätzliche Informationen können spezielle Kommentare im Quelltext eingefügt werden. Kommentare können dabei für Interfaces, Klassen, Methoden und Felder über spezielle Doclet-Tags definiert werden. JavaDoc wurde ebenso wie Java von Sun Microsystems entwickelt und ist Bestandteil des Java 2 Software Development Kits (J2SDK). Als Doclet bezeichnet man in Anlehnung zu Applets Module, die von n zur Verarbeitung und automatischen Erzeugung von Dokumentation und eventuell auch Code eingesetzt werden. Das in JavaDoc integrierte Standard-Doclet erzeugt aus Java-Quelltexten eine API- Dokumentation in HTML. Es existieren zahlreiche alternative Doclets, um die API- Dokumentation in anderen Formaten, z.b. dem Windows Help Format, Framemaker / MIF, XML oder PDF zu erzeugen. Derzeit erfreuen sich noch Doclets zur Erzeugung von Code großer Beliebtheit, auch wenn sie mittelfristig wohl durch die in Java 1.5 hinzugefügten Annotationen abgelöst werden. Die neuen Annotationen in Java 1.5 werden vom Compiler nicht mehr ignoriert und sind somit auch im.class-file enthalten. Mit Hilfe des neuen Paketes java.lang.annotations können diese Informationen verarbeitet werden. public class Parent public void foo(int x) { System.out.println("This method is deprecated and should not be used.");}} Sven Müller, Thomas Hornberger Seite 14 von 26
15 Beispiel: /** * Diese Klasse soll die Verwendung von Feldern bei Methodenaufrufen * demonstrieren. Insbesondere wird das Konzept des CALL BY REFERENCE gezeigt. * bisanz 1.0 public abstract class CTest { /** * Dieses ist unsere Feldgröße. Alle unsere Felder in dieser Klasse * sollen genau so groß sein. private static int ARRAY_SIZE = 3; /** * Die Startroutine des Programms. * args Kommandozeilenparameter. Sie werden hier nicht verwendet. public static void main (String[] args) { int[] meinfeld = { 17, 23, -2 }; System.out.println("meinFeld:"); printarray(meinfeld); twice(meinfeld); System.out.println("meinFeld:"); printarray(meinfeld); int[] nocheinfeld = twicecopy(meinfeld); System.out.println("meinFeld:"); printarray(meinfeld); System.out.println("nochEinFeld:"); printarray(nocheinfeld); }} Sven Müller, Thomas Hornberger Seite 15 von 26
16 Beispielausgabe javadoc: Sven Müller, Thomas Hornberger Seite 16 von 26
17 3.7 Doxygen Doxygen ist ein Software-Dokumentationswerkzeug, das aus Quelltexten verschiedener Programmiersprachen automatisch eine Dokumentation erstellt. Doxygen wird seit 1997 als Dokumentationswerkzeug für C und C++ Quelltexte entwickelt. Gedacht war es für die Dokumentation großer Softwareprojekte. Dazu müssen speziell gekennzeichnete Kommentare in den Quelltext eingefügt werden. Doxygen unterstützt heute die Programmiersprachen C++, C, Java, Objective-C, IDL, PHP, C#, D und Actionscript. Die Dokumentation kann in den Formaten HTML, RTF, PostScript, PDF, Latex und als Man pages erzeugt werden. Das Ausgabeformat XML befindet sich zurzeit noch im Entwicklungsstadium. Von den Ausgabeformaten werden nur HTML, Latex und PDF weiter betrachtet, da die anderen Formate keine Formeldarstellung (man, RTF) erlauben. Die prinzipielle Vorgehensweise für jedes Projekt, was zukünftig mit Doxygen bearbeitet werden, soll ist immer gleich: Konfiguration für das konkrete Projekt erstellen Dokumentieren des Quelltextes während der Entwicklung Die Reihenfolge der Schritte spielt keine Rolle, da zu jedem Zeitpunkt eine neue Dokumentation eines Projektes (auch mit geänderter Konfiguration) möglich ist. Die initiale Konfigurationsdatei (Doxyfile) wird entweder über die Konsole oder über den Doxywizard erzeugt. DoxyWizard ist ein grafischer Aufsatz zur Erstellung und Bearbeitung von Doxygen-Konfigurationsdateien. Beispiel einer Konfigurationsdatei: # Doxyfile # # Project related configuration options # PROJECT_NAME = XCTL32 PROJECT_NUMBER = OUTPUT_DIRECTORY = /u/ddamm/disk/doxygen/doxygenbeispiel/ CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = German... JAVADOC_AUTOBRIEF = YES... # # Build related configuration options # EXTRACT_ALL = NO... # Sven Müller, Thomas Hornberger Seite 17 von 26
18 # configuration options related to the input files # INPUT = /u/ddamm/disk/doxygen/doxygenbeispiel/ FILE_PATTERNS = RECURSIVE = YES EXCLUDE =... # # configuration options related to the HTML output # GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION =.html HTML_HEADER = HTML_FOOTER =... # # configuration options related to the LaTeX output # GENERATE_LATEX = YES LATEX_OUTPUT = latex LATEX_CMD_NAME = latex... # # Configuration::additions related to the search engine # SEARCHENGINE = NO Zum zweiten Schritt ist unbedingt anzumerken, dass es sich durchaus lohnt, auch völlig unkommentierten Quelltext mit in ein (vorhandenes) Projekt aufzunehmen. Doxygen generiert dann zwar keine ausführlichen Informationen, aber die Dateien, Klassen und Funktionen werden zumindest mit in die Übersicht aufgenommen, und man kann sich einen groben, schnellen Überblick verschaffen. Die Arten der Dokumentation lehnen sich in den entsprechenden Sprachen den z.t. schon länger existierenden Werkzeugen an. Konkret bedeutet das, dass folgende Dokumentationsmöglichkeiten von Doxygen unterstützt werden: JavaDoc für Java-Quelltexte KDoc bzw. Qt-Stil für QT bzw. KDE-Projekte Zusätzlich existieren aber noch einige Erweiterungen, die weitergehende Dokumentationsmöglichkeiten bieten. Sehr positiv fällt z.b. auf, daß Informationen aus dem CVS über die entsprechenden Schlüsselworte ebenfalls extrahiert werden können. Ein Dokumentationsblock hat also eine der folgenden Formen: einzeilig: //! Eine Zeile Dokumentationstext im Qt-Stil. /// Eine Zeile Dokumentationstext im JavaDoc-Stil. Sven Müller, Thomas Hornberger Seite 18 von 26
19 mehrzeilig: /*! mehrzeiliger Dokumentationstext im Qt-Stil führende * in der Zeile werden entfernt; werden sie dort benötigt, müssen sie zweimal eingegeben werden /** * mehrzeiliger Dokumentationstext * im JavaDoc-Stil * führende * in der Zeile werden ebenfalls entfernt; * werden sie dort benötigt, müssen sie zweimal eingegeben werden Zusätzlich können nun, um aus diesem Kommentar auch einen geeigneten Dokumentationseintrag zu machen, einige besondere Tags angegeben werden, die die nachfolgende Klasse, Methode, Struktur oder auch gesamte Datei näher spezifizieren. Ein Tag wird durch \Tagname im Kommentar gekennzeichnet. Die am häufigsten verwendeten Tags beschreibt Parameter einer beschreibt Rückgabewerte einer gibt nachfolgender Klasse (aussagekräftigeren) gibt einen Überblick über den Inhalt einer beschreibt die Struktur Kurzbeschreibung des nachfolgenden Elements (Klasse, Funktion, Autor (Hier kann sinnvollerweise auch nur $Author$ bzw. $Author:hame$ Bekannte Warnungen und Referenzen auf andere Dokumente und Was ist noch zu <titel> Beschreibung der Hauptseite der <name> <titel> Beginnt ein <listenelement> Erzeugen einer Liste Sven Müller, Thomas Hornberger Seite 19 von 26
20 Dies ist nur eine Auswahl. Es werden auch eine Vielzahl von HTML-Befehlen und auch Latex-Befehlen (für das Einbinden von Formeln) unterstützt. Die Konfiguration in der Datei Doxyfile unterteilt sich in einen allgemeinen Teil für Projektname, Versionsnummer, Projektverzeichnis, Dateien, Ebenen der Dokumentation, usw. und einen Teil speziell für das entsprechende Ausgabeformat. Es ist zu beachten, dass jedes Projekt eine eigene Konfigurationsdatei benötigt. Für die Konfigurationsdatei sollte man eine Vorlage anlegen: einheitliche CSS-Seitengenerierung (HTML) einheitliche Sprache (Englisch ist zu bevorzugen, da einige Einträge nur unzureichend oder gar nicht übersetzt sind) einheitliche Struktur/Tiefe der Dokumentation Einbindung der mathematischen Formeln bei komplexen Algorithmen Erstellen von Vorlagen für die entsprechenden Ausgabeformate erfolgt duch doxygen -w <typ> <optionen> Dabei kann <typ> "rtf", "html" oder "latex" sein. Die Optionen hängen vom Typ und von der Konfigurationsdatei ab. Anhand der Beispieldateien soll abschließend die Verwendung der Tags und eine vollständige Dokumentationsproduktion mit doxygen demonstriert werden. Sven Müller, Thomas Hornberger Seite 20 von 26
21 Beispiel-Klasse: /** Klasse realisiert Beispiel2. * Hannes * 0.2 KAPITEL 4. DOKUMENTATION 11 Abbildung 4.2: Klassenbeschreibung mit Doxygen * Toten Code entfernt. * 0.1 * Kommentare hinzugefügt (Doxygen). class Beispiel2 {} Beispielausgabe: Sven Müller, Thomas Hornberger Seite 21 von 26
22 Beispiel-Klasse: /** Klasse realisiert Beispiel3. * Hannes class Beispiel3 { public: /** Addiert zwei ganze Zahlen. a Die erste Zahl. b Die zweite Zahl. Die Summe der beiden Zahlen a und b. Addiere(double,double) int Addiere(int a, int b); double Addiere(double a, double b); } Beispielausgabe: Sven Müller, Thomas Hornberger Seite 22 von 26
23 Beispiel-Klasse: /** Darstellung von Listen. * * Einfache Listen: Liste 1a KAPITEL 4. DOKUMENTATION 16 Abbildung 4.6: Erstellung von Listen mit Doxygen Liste 1b * Liste 2a Liste 2b * * Verschachtelte Listen: * <ul> * <li>liste 3a</li> * <ol> * <li>liste 3a.1</li> * <li>liste 3a.2</li> * </ol> * <li>liste 3b</li> * </ul> class Beispiel4 {} Beispielausgabe: Sven Müller, Thomas Hornberger Seite 23 von 26
24 Beispiel für Formel-Anwendung: /** * Der Abstand zwischen \f$(x_1,y_1)\f$ und \f$(x_2,y_2)\f$ ist * \f[\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}.\f] Beispielausgabe: Der Abstand zwischen (x1;y1) und (x2;y2) ist Hinweis: Dieses funktioniert aber nur für die HTML- oder LATEX-Ausgabe. Sven Müller, Thomas Hornberger Seite 24 von 26
25 Beispiel aus dem Open-Source Projekt Mozilla, wo mit Doxygen gearbeitet wird: Die vorangegangenen Beispiele demonstrieren die Fähigkeiten und Möglichkeiten von Doxygen. Mit Doxygen ist es mit relativ wenig Aufwand möglich, Quelltexte so zu dokumentieren, dass sie für andere Entwickler nutzbar sind. Gegen das Konzept von Doxygen, die Dokumentation und die Implementierung eines Programmes in den selben Quelltext zu speichern, spricht eigentlich nur, dass die Quelltexte schnell unübersichtlich werden, wenn die Dokumentation sehr umfangreich ausfällt. Sven Müller, Thomas Hornberger Seite 25 von 26
26 4. Fazit Im Laufe der Entwicklung von Programmiersprachen und Software nahm insbesondere die Bedeutung von guten Quellcode-Kommentaren zu. Mit dem Aufkommen der objektorientierten Programmierung wurden auch die Dokumentationen immer umfangreicher, da sich große Projekte nur so über Jahre sinnvoll entwickeln lassen. Um Code sinnvoll und einheitlich zu kommentieren entstanden viele Werkzeuge, die diese Arbeit unterstützen sollen. Ein großer Nachteil erster solcher Werkzeuge wie KDOC, DOC++ oder Cocoon ist, dass sie lediglich für C++ Programme ausgelegt sind. Weiterhin haben sie eigene Anforderungen zur Formatierung an den Quelltext. Suns Javadoc revolutionierte sozusagen die und setzte neue Standards, an denen sich nun alle Konkurrenten orientieren. Doxygen hingegen hebt sich durch seine Anzahl an unterstützten Sprachen hervor. Ein weiterer Vorteil ist die Kompatibilität zu Javadoc und KDOC. Letztlich hat man noch die Wahl aus einer Vielzahl an unterstützten Ausgabeformaten. Doxygen ist durch seine Großzahl an Funktionen, sowie Variabilität in seinen Formatierungen ein den heutigen Ansprüchen gerecht werdendes und mittlerweile auch etabliertes Dokumentationswerkzeug. Einziger zu erwähnender Nachteil ist die lange Einarbeitungszeit bei Doxygen, aufgrund seines Umfangs. Literaturverzeichnis [GG00] Grünwied, G.; Kontakt & Studium Bd Software-Dokumentation, Expert-Verlag [AH03] Hunt, A.; Der Pragmatische Programmierer, 2003 [FP05] Padberg, F.; Vorlesungsskript Softwaretechnik2, Richtlinien für guten Programmierstil, Sommersemester 2005, TU Clausthal [AZ04] Zeller, A.; Vorlesungsskript Software-Dokumentation, Lehrstuhl für Softwaretechnik, Universität des Saarlandes, Saarbrücken 2004 Internet-Referenzen [Doxygen Homepage] ( [DOC++ Homepage] ( [KDOC Homepage] ( [Ccdoc Homepage] ( [Perceps Homepage] ( [Trolltech] (insbesondere Qt-Bibliotheken) ( [Mozilla Homepage] ( [Sun JavaDoc] ( [AT&T Graphviz] ( [Wikipedia] ( [Google] ( Sven Müller, Thomas Hornberger Seite 26 von 26
Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrDokumentieren mit Eclipse und Doxygen
Dokumentieren mit Eclipse und Doxygen Boris Budweg, 28.11.2009 Version 0.2 Abstract: Kurze Anleitung für die Benutzung von Doxygen und Eclox in Eclipse. Doxygen-Kommentare / Schlüsselwörter...2 Beispiel...2
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrVB.net Programmierung und Beispielprogramm für GSV
VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2
MehrMit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.
Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen
Mehr.NET Code schützen. Projekt.NET. Version 1.0
.NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll
MehrWas versteht man unter Softwaredokumentation?
Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrEinführung in die Informatik Tools
Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrNach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:
Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen
MehrHow to do? Projekte - Zeiterfassung
How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Feinentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Feinentwurf Auftraggeber Technische Universität Braunschweig
MehrQt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
MehrTask: Nmap Skripte ausführen
Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses
MehrDokumentation von Ük Modul 302
Dokumentation von Ük Modul 302 Von Nicolas Kull Seite 1/ Inhaltsverzeichnis Dokumentation von Ük Modul 302... 1 Inhaltsverzeichnis... 2 Abbildungsverzeichnis... 3 Typographie (Layout)... 4 Schrift... 4
MehrSupport-Tipp Mai 2010 - Release Management in Altium Designer
Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
Mehr5.2 Neue Projekte erstellen
5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
MehrBedienung des Web-Portales der Sportbergbetriebe
Bedienung des Web-Portales der Sportbergbetriebe Allgemein Über dieses Web-Portal, können sich Tourismusbetriebe via Internet präsentieren, wobei jeder Betrieb seine Daten zu 100% selbst warten kann. Anfragen
MehrL10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrHTML5. Wie funktioniert HTML5? Tags: Attribute:
HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,
MehrInformationen zur Verwendung von Visual Studio und cmake
Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von
MehrPowerPoint 2010 Mit Folienmastern arbeiten
PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrAnleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung
Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung Inhalt 1. Schritt Prüferkommentare... 1 2. Schritt Prüferkommentar kommentieren... 4 3. Schritt Nachweisdokumente hochladen... 6 4. Schritt
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrOutlook Erstellen einer E-Mail aus einer HTML - Vorlage INHALT
Outlook Erstellen einer E-Mail aus einer HTML - Vorlage INHALT LADEN DER VORLAGE 2 Öffnen Sie Outlook 2 Klicken Sie auf EXTRAS >> OPTIONEN 2 Im Optionenfeld von Outlook folgend Sie den Schritten 2 Fenster
MehrAnleitung für das Content Management System
Homepage der Pfarre Maria Treu Anleitung für das Content Management System Teil 6 Wochenspiegel und Begegnung Einleitung Die Veröffentlichung einer Begegnung oder eines Wochenspiegels erfolgt (so wie auch
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
MehrErstellen einer PostScript-Datei unter Windows XP
Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,
MehrDieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.
Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrUm ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.
Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
MehrTYPO3 Super Admin Handbuch
TYPO3 Super Admin Handbuch Erweiterung News Für das System der Maria Hilf Gruppe Version 02 09.03.10 Erstellt durch: NCC Design Florian Kesselring Zeltnerstraße 9 90443 Nürnberg 1 Inhaltsverzeichnis Inhalt
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrSoftwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch
Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich
Mehr25 Import der Beispiele
25 Import der Beispiele Versuch es nicht mit Gewalt. Nimm einfach einen größeren Hammer (Murphy s Law) 25.1 Einleitung Alle Beispielprogramme dieses Buchs funktionieren mit jeder Java-konformen Entwicklungsumgebung.
MehrLEHRSTUHL FÜR DATENBANKEN
LEHRSTUHL FÜR DATENBANKEN Informatik II für Verkehrsingenieure Java & Eclipse Installationsguide Prof. Dr.-Ing. Wolfgang Lehner > Was ist Eclipse? Eine sogenannte Integrierte Entwicklungsumgebung (engl.
MehrHilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags
Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags 2013 style_sheet_bis_verlag_20130513 Arbeiten mit der Dokumentvorlage des BIS-Verlags... 3 Dokumentvorlage Wofür?... 3 Wohin mit der Dokumentvorlage...
MehrNetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets
Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen
MehrKapitel 12 Dokumentation und Zugriffsrechte
Kapitel 12 Dokumentation und Zugriffsrechte Seite 1 / 6 Kapitel 12 Dokumentation und Zugriffsrechte Lernziele: Dokumentation mit Hilfe von Javadoc Datenkapselung über Zugriffsrechte 12.1 Dokumentation
MehrAnleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH
Amt für Informatik Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH Anleitung vom 12. September 2009 Version: 1.0 Ersteller: Ressort Sicherheit Zielgruppe: Benutzer von SSLVPN.TG.CH Kurzbeschreib:
MehrFORUM HANDREICHUNG (STAND: AUGUST 2013)
FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...
MehrIAWWeb PDFManager. - Kurzanleitung -
IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
Mehrinfach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock
infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um
MehrDie Textvorlagen in Microsoft WORD und LibreOffice Writer
Die Textvorlagen in Microsoft WORD und LibreOffice Writer Liebe Teilnehmer(-innen) am Landeswettbewerb Deutsche Sprache und Literatur Baden- Württemberg, Diese Anleitung soll Ihnen helfen Ihren Wettbewerbsbeitrag
MehrBeschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.
www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrAnleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT
Boris Golubovic Dortmund, den 24. Oktober 2010 Anleitung zum Arbeiten mit Microsoft Visual Studio 2008 im Softwarepraktikum ET/IT Ein Projekt anlegen Ein Projekt kapselt alle zu einer Anwendung gehörenden
MehrProseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller
Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen
MehrStapelverarbeitung Teil 1
Stapelverarbeitung Teil 1 In jedem Unternehmen gibt es von Zeit zu Zeit Änderungen in Normen und Firmenstandards, an die aktuelle und bereits bestehende Zeichnungen angepasst werden müssen. Auch Fehler
MehrErstellen einer E-Mail in OWA (Outlook Web App)
Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011
MehrErstellen eines Beitrags auf der Homepage Schachverband Schleswig-Holstein - Stand vom 01.06.2015
Erstellen eines Beitrags auf der Homepage Einleitung... 3 01 Startseite aufrufen... 4 02 Anmeldedaten eingeben... 5 03 Anmelden... 6 04 Anmeldung erfolgreich... 7 05 Neuen Beitrag anlegen... 8 06 Titel
Mehr4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrUm sich zu registrieren, öffnen Sie die Internetseite www.doodle.de und wählen Sie dort rechts oben
Doodle Anleitung Konto erstellen Die Registrierung eines Benutzerkontos ist für Umfragen nicht erforderlich. Sollten Sie jedoch öfters Umfragen erstellen, ist dies aus Gründen der Übersicht und Einfachheit
MehrBarrierefreie Webseiten erstellen mit TYPO3
Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrErster Schritt: Antrag um Passwort (s. www.ifb.co.at Rubrik -> techn. Richtlinien/Antrag für Zugangsberechtigung)
Benutzeranleitung Sehr geehrte Mitglieder und Experten! Diese Benutzeranleitung erklärt die Handhabung und Navigation zu den spezifischen Arbeitsgruppen unter der Rubrik Technische Richtlinien auf der
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
MehrBeschreibung des MAP-Tools
1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,
MehrFAQ The FAQ/knowledge base. Version 2.1.1
FAQ The FAQ/knowledge base. Version 2.1.1 (c) 2012 OTRS AG, http://otrs.org/ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, November 2007 This work is copyrighted by OTRS AG, Norsk-Data-Str. 1, 61352 Bad
MehrOutlook Vorlagen/Templates
Joachim Meyn Outlook Vorlagen/Templates Erstellen Sie Vorlagen bzw. Templates in Outlook Joachim Meyn 27.03.2013 Inhaltsverzeichnis Outlook Vorlagen (.oft Dateien)... 2 Vorbereitung... 2 Anlegen einer
MehrKurzanleitung zu XML2DB
Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrBedienungsanleitung Anlassteilnehmer (Vereinslisten)
Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,
MehrFacebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten
Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten Seit Anfang Juni 2012 hat Facebook die Static FBML Reiter deaktiviert, so wird es relativ schwierig für Firmenseiten eigene Impressumsreiter
MehrArgelander Institut für Astronomie. Persönliche Website
Argelander Institut für Astronomie Persönliche Website Zunächst loggt man sich auf www.astro.uni-bonn.de/typo3 mit seinem AIfA Zugang ein. Nach erfolgreichem Login befindet man sich im Backend des TYPO3
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrDAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE
DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE UND ZEILENABSTAND Word 2010 und 2007 Jedes neue leere Dokument, das mit Word 2010 erstellt wird, basiert auf einer Dokumentvorlage mit dem Namen Normal.dotx.
Mehrschnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv
Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag
MehrWerkschau Web-Präsentationen
Werkschau Web-Präsentationen Willkommen zum Tutorial für neue Beiträge in der Werkschau. Mein Name ist Eugen Notter; ich habe für Sei diese Anleitung verfasst. Sie hilft Ihnen dabei, in der Medien-Galerie
MehrStundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten
Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe
Mehr.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage
.htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
MehrUmstellung News-System auf cms.sn.schule.de
Umstellung News-System auf cms.sn.schule.de Vorbemerkungen Hinweis: Sollten Sie bisher noch kein News-System verwendet haben, nutzen Sie die Anleitung unter http://cms.sn.schule.de/admin/handbuch/grundlagen/page/25/
MehrImport von Daten aus Word nach KlasseDozent
Import von Daten aus Word nach KlasseDozent KlasseDozent ermöglicht Ihnen prinzipiell den Import aus Word-Dateien heraus auf zwei Wegen. Sie können einmal eine Word-Datei im Rich-Text-Format abspeichern
MehrWordPress. Dokumentation
WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,
MehrBerechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT
Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard
MehrPatch Management mit
Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch
Mehr