Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni
|
|
- Busso Stieber
- vor 8 Jahren
- Abrufe
Transkript
1 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni Software-Dokumentation Nach einer Vorlesung von Prof. Andreas Zeller Lehrstuhl Softwaretechnik, Universität des Saarlandes, Saarbrücken. Übersicht: Warum Dokumentation? Kommentierter Code Literate Programming Javadoc 9.1 Warum Dokumentation? Besseres Verständnis, besseres Design: The designer of a new system must not only be the implementor and the first large-scale user; the designer should also write the first user manual. (... ) If I had not participated fully in all these activities, literally hundreds of improvements would never have been made, because I would never have thought of them or perceived why they were important (Donald Knuth zu dem Design von TEX) Die präzise Dokumentation eines Systems für andere zwingt zu einem anderen Blickwinkel: Weg von den internen Details Hin zu der dem Benutzer oder Programmierer bereitgestellten Funktionalität Arten der Dokumentation Design-Dokument Leser: Neue Programmierer Inhalt: Übersicht, Abstraktionen, High-Level Funktionalität, Design-Entscheidungen, Anwendungsbereiche, Einschränkungen Tutorial Leser: Neue Programmierer Inhalt: Typische und einfache Nutzung, Beispiele Referenz-Handbuch Leser: Programmierer Inhalt: Nutzung, Schnittstellen-Beschreibungen, genaue Semantik, Einschränkungen Gleiches für den Benutzer eines Systems
2 68 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni Anforderungen an Dokumentation Der Code ist die beste Dokumentation: per Definition akkurat und aktuell Semantik ist schwer zu extrahieren Dokumentation der Schnittstellen, nicht der Implementierung Dokumentation gehört in die Sprache: Code und Dokumentation laufen nicht auseinander Compiler und Laufzeitsystem können Konsistenz prüfen z.b. Vor- und Nachbedingungen, Invarianten Dokumentation muss formal sein ermöglicht Verifikation Ziele der Dokumentation Abstraktion von der formalen Beschreibung Schnelles Verständnis des Systems Hintergründe, Entwurf, typische Nutzung Zusammenfassung der Funktionalität Dokumentation der Schnittstellen Dokumentation der Absicht des Programmierers Details der Implementierung Wiederverwendung von Code durch Suche in der Dokumentation Kommentare Kommentare können das Lesen von Programmen erheblich erleichtern. Aber: Der Compiler kann nicht prüfen, ob der Kommentar Sinn macht ob sich der Kommentar auf das Programm bezieht ob der Kommentar auf dem neuesten Stand ist Schlechte Kommentare sind schlimmer als gar keine Kommentare! Wie man nicht kommentiert Grundregel: Kommentare knapp und präzise halten. Statt
3 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni ***************************************************** * Start of function S Q R T (= "square root") * * SQRT takes an argument: * * - double X: the number to be squared (must be >= 0) * * SQRT returns: * * - the square root of X * * (c) 2004 H. Becker, Ottweiler - all rights reserved * ******************************************************* besser // Return the square root of X double sqrt(double x) {... Statt n += 1; // Increment n by one a *= n; // Multiply a with n return a; // Return the value of a besser n += 1; a *= n; return a; Grundregel: Kann ich etwas im Programmcode ausdrücken, brauche ich keinen Kommentar. Statt int d; // Current number of daffodils d = num_d(); // Compute number of daffodils assert (d == 2); // We expect two daffodils besser int currentdaffodils = numberofdaffodils(); int expecteddaffodils = 2; assert currentdaffodils == expecteddaffodils; Wie man nicht kommentiert (4) Statt // Invariant: x > 0 and y > 0 besser assert x > 0 && y > 0; Wie man kommentiert Stroustrup (Author von C++) wünscht sich: Einen Kommentar für jede Quelldatei Einen Kommentar für jede Klasse
4 70 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni 2007 Einen Kommentar für jede nichttrivale Funktion, der den Zweck der Funktion ausdrückt der ggf. die Vorgehensweise (= den Algorithmus) beschreibt Einen Kommentar für jede (globale) Variable und Konstante Kommentare für nicht-offensichtliche oder nicht-portable Stellen Very little else 9.2 Literate Programming Motivation: Idee: Eine Dokumentation muss mit dem Programm zusammen entstehen Das Programm ist ein Artefakt einer gute Dokumentation des Lösungsweges Schreibe die Dokumentation des Systems Bette Codefragmente so ein, dass sie extrahiert und zu einem Programm zusammengestellt werden können Erste Implementierung: WEB [Knuth] TeX und Pascal, Tools: Weave und Tangle Beispiel von Knuth (wc.w im Most \.{CWEB programs share a common structure. It files main We must include the standard I/O definitions, since want to send formatted output to stdout and files...@>= #include The status variable JavaDoc Umgekehrter Ansatz zum Literate Programming: Integriere Dokumentation in den Quellcode Javadoc wird benutzt, um HTML-Dokumentation für Java Packages und Klassen zu erstellen. Dazu werden die öffentlichen Klassen-, Interface- und Methodendeklarationen verarbeitet und mit zusätzlichen Informationen aus eventuell vorhandenen Dokumentationskommentaren versehen. Pro Klassen Datei foo.java wird eine HTML Datei foo.html erstellt und alle Dateien eines Pakets werden mit Querverweisen verlinkt. Es werden zusätzlich diverse Index- und Hilfsdateien produziert, die das Navigieren in den Dokumentationsdateien erleichtern. Doxygen leistet Ähnliches für C++.
5 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni Benutzung von JavaDoc Javadoc nimmt als Input ein Verzeichnis von Java Klassen und produziert als Output ein Verzeichnis von verlinkte und navigierbare HTML Dateien. Die Kommandozeilenbenutzung des Programmes sieht so aus: javadoc -d doc-dir -sourcepath src-dir, wobei doc-dir das Zielverzeichnis und src-dir das Quellverzeichnis ist. Benutzt man ein IDE, so ist Javadoc in der Regel integriert: Bereits ohne zusätzliche Informationen erstellt Javadoc aus dem Quelltext eine recht brauchbare Beschreibung aller Klassen und Interfaces. Die Ausgabe wird durch Einfügen von Dokumentationskommentaren vervollständigt. Ein Dokumentationskommentar wird mit und endet mit umschlossen. Er wird im Quelltext unmittelbar vor dem zu dokumentierenden Item plaziert (einer Klassendefinition, einer Methode oder einer Instanzvariable). Er kann aus mehreren Zeilen bestehen. Die erste Zeile wird als Kurzbeschreibung verwendet. Innerhalb der Dokumentationskommentare dürfen bestimmte HTML-Tags vorkommen, um die Formatierung der späteren Dokumentation vorzugeben. Die Dokumentationskommentare sind in Abschnitte gegliedert, die durch Tags gekennzeichnet werden. Jeder Tag steht am Anfang der Zeile und beginnt mit dem Beispiel package games; import java.util.map; * A simple flower game Daniel Huson public class Game { int numberoftypesofflowers; Map<String,Integer> flowervalues; check class invariants public void check () { assert numberoftypesofflowers>1;
6 72 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni 2007 assert numberoftypesofflowers==flowervalues.keyset().size(); * add a new flower type to the game typename currentcount public void addnewflowertype (String typename,int currentcount) { // add flower type here Dokumentationsseite: Wichtigste Tags Diese Tags werden in dem Dokumentationskommentar einer Klasse oder eines Interfaces name version JDK-Version Seit wann existiert diese reference Querverweis auf eine andere Klasse, Methode oder Teil der Dokumentation Beispiel * A class representing a window on the screen. * For example: * <pre> * Window win = new Window(parent); * win.show(); * </pre> *
7 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni Sami Shaio %I%, %G% java.awt.basewindow java.awt.button class Window extends BaseWindow {... Diese Tags werden in dem Dokumentationskommentar einer Methode name description Beschreibung eines Parameters einer description Beschreibung des Rückgabewerts einer classname description Beschreibung eines Exceptions, das von der Methode geworfen description Kennzeichnet eine veraltete Klasse oder Methode, die nicht mehr verwendet werden sollte Beispiel * Returns the character at the specified index. An index * ranges from <code>0</code> to <code>length() - 1</code>. * index the index of the desired character. the desired character. StringIndexOutOfRangeException * if the index is not in the range <code>0</code> * to <code>length()-1</code>. java.lang.character#charvalue() public char charat(int index) {... So sieht der Dokumentationskommentar einer Klassenvariable aus: * The X-coordinate of the component. * #getlocation() int x = ;
8 74 Software Engineering, SoSe 07, WSI, D. Huson, (Original Author: A. Zeller), 12. Juni Querverweise Benutzung im java.lang.string The String Character#MAX a href= spec.html Java Spec The Java Programming Language Erscheinungsform String The String class String String.equals(Object) String.equals(java.lang.Object) java.lang.object.wait(long) Character.MAX RADIX Java Spec The Java Programming Language 9.4 Zusammenfassung Wichtige Regeln des Kommentierens: Schlechte Kommentare sind schlimmer als gar keine Kommentare! Kommentare knapp und präzise halten. Kann ich etwas im Programmcode ausdrücken, brauche ich keinen Kommentar. Literate Programming extrahiert Quellcode aus der Dokumentation. Javadoc (Doxygen bei C++) extrahiert Dokumentation aus Quellcode und nutzt hierfür spezielle Kommentare.
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:
Mehr1. Zeilenendkommentare: //... 2. geklammerte Kommentare: /*... */ 3. Dokumentationskommentare: /**... */
1 Kommentare im Source-Code Kommentare werden im Source-Code überlesen und wirken wie "white Space" (Leerzeichen, Tabulator, Zeilenvorschub). Mit Ausnahme des @deprecated-tag in Dokumentationskommentaren
MehrSoftwareentwicklung Dokumentation mit JavaDoc
Mag. iur. Dr. techn. Michael Sonntag Softwareentwicklung Dokumentation mit JavaDoc E-Mail: sonntag@fim.uni-linz.ac.at http://www.fim.uni-linz.ac.at/staff/sonntag.htm Institut für Informationsverarbeitung
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
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
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrSoftware Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015
Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur
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
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
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
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
MehrPraktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle
Diverse Grundlagen Dr. Karsten Tolle Vorgehensmodelle im Software Engineering Wasserfallmodell Rapid Prototyping Spiralmodell V-Modell Rational Unified Process extrem Programming Test Driven Development
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
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
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrErreichbarkeit von Klassenelementen. Daten verstecken und kapseln
Daten verstecken und kapseln Sichtbarkeitsmodifikatoren: public Klasse, Variable oder Methode überall sichtbar und damit auch überall benutztbar. private private-variable sind nur in den Methoden sichtbar,
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
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/
MehrNathan Burgener. Design by Contract. Modul SWE
NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6
MehrDaniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers
Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrFortgeschrittenes Programmieren mit Java. Test Driven Development
Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
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
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
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
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
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
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
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
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrWerkzeuge der Informatik UNIX
Autor: David Mainzer Institut für Informatik 1 Werkzeuge der Informatik UNIX Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 17. Dezember
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrTechnische Dokumentation SilentStatistikTool
Technische Dokumentation SilentStatistikTool Version 1.0 Marko Schröder 1115063 Inhalt Einleitung... 3 Klasse Program... 3 Klasse ArgumentHandler... 3 Bereitgestellte Variablen... 3 Bereitgestellte Methoden...
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
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
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
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
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrSo erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten
So erstellen Sie nützliche Beschreibungen zu Ihren Tradingdaten http://tradingtutorialautomation.de/wp-content/uploads/2015/04/so-erstellen-sienuetzliche-beschreibungen-zu-ihren-tradingdaten_20150406.mp3
MehrAnwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI
Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun Java Projekt Schiffe Versenken mit GUI 1. Über den Autor: Name: Marija Matejic Matrikelnummer: 9352571 E-mail: marijamatejic@yahoo.com
MehrICS-Addin. Benutzerhandbuch. Version: 1.0
ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...
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,
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrStarthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum
Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrPython SVN-Revision 12
Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrDLLs (dynamic loaded libraries) mit MingW erstellen
DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:
Mehrkleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense
Keywords sind das Salz in der Suppe des Online Marketing Keywords - Das Salz in der Suppe des Online Marketing Keyword Arten Weitgehend passende Keywords, passende Wortgruppe, genau passende Wortgruppe
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
MehrÜbersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15
Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
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
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrGrundkonstrukte der Objektorientierung in Java, C# und C++
Grundkonstrukte der Objektorientierung in Java, C# und C++ 2 Viele Patterns basieren auf einer Kombination einiger zentraler Modellierungskonstrukte, namentlich auf Schnittstellen- und Implementierungsvererbung
MehrDesign by Contract with JML
Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC
MehrTel.: 040-528 65 802 Fax: 040-528 65 888 Email: support_center@casio.de. Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.
Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen. Die auf dem PC geschriebene Texte oder Programme können über dem ClassPad Manager zu ClassPad 300 übertragen werden. Dabei kann
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
MehrSelbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords
4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrInstitut für Programmierung und Reaktive Systeme 26. April 2013. Programmieren II. 10. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 26. April 2013 Programmieren II 10. Übungsblatt Hinweis: Insgesamt werden in diesem Semester fünf
MehrProgrammiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http://www.d120.de/vorkurs.
Programmiervorkurs SS 2011 Technische Universität Darmstadt Jan Hendrik Burdinski, Felix Kerger http:www.d120.de/vorkurs Aufgabenblatt 3 Du findest zur Bearbeitung dieses Aufgabenblatts zu einigen Aufgaben
Mehr7. Pakete Grundlagen der Programmierung 1 (Java)
7. Pakete Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 29. November 2005 Einordnung im Kontext der Vorlesung 1.
MehrAssertions (Zusicherungen)
April 10, 2005 Oberseminar Software-Entwicklung Inhalt 1. Einführung (Motivation, Tony Hoare, Programmverifikation) 2. Design by Contract (Idee, Eiffel) 3. Praxis: Programming by Contract for Python 4.
Mehr1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: 2015-02-18 Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich
252-0842-00L Programmieren und Problemlösen Eclipse Tutorial FS 2015 Herausgabe: 2015-02-18 Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich 1 Vorraussetzungen Falls Java noch
MehrEclipse User Interface Guidelines
SS 2009 Softwarequalität 06.05.2009 C. M. Bopda, S. Vaupel {kaymic/vaupel84}@mathematik.uni-marburg.de Motivation (Problem) Motivation (Problem) Eclipse is a universal tool platform - an open, extensible
MehrSource Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis...
Autor: Thomas Reinwart 2008-05-05 office@reinwart.com Inhalt Source Code Konverter... 2 Online: (VB.net C#)... 3 Kommerzielle Produkte (VB, C#, C++, Java)... 3 Code Nachbearbeitung in der Praxis...
MehrHex Datei mit Atmel Studio 6 erstellen
Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.
MehrSSH Authentifizierung über Public Key
SSH Authentifizierung über Public Key Diese Dokumentation beschreibt die Vorgehensweise, wie man den Zugang zu einem SSH Server mit der Authentifizierung über öffentliche Schlüssel realisiert. Wer einen
MehrDas Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin
Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?
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
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:
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: If-clauses - conditional sentences - Nie mehr Probleme mit Satzbau im Englischen! Das komplette Material finden Sie hier: School-Scout.de
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
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........................
MehrReporting Services und SharePoint 2010 Teil 1
Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
Mehr