DHBW Stuttgart, Informatik, Advanced SW-Engineering Aug Programmierung

Ähnliche Dokumente
BA Stuttgart, Technische Informatik, SW-Engineering, Programmierung März Programmierung

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Informatik für Mathematiker und Physiker Woche 7. David Sommer

DARIAH-DE Collection Registry und DARIAH Collection Description Data Model

Informatik - Übungsstunde

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

1. General information Login Home Current applications... 3

ONLINE LICENCE GENERATOR

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

DPM_flowcharts.doc Page F-1 of 9 Rüdiger Siol :28

Word-CRM-Upload-Button. User manual

Test Report. Test of resitance to inertia effects of Zirkona Backwall. Sled Test (Frontal Impact) 20 g / 30 ms

NotesSession.GetPropertyBroker( )

EXCEL VBA Cheat Sheet

Guidance Notes for the eservice 'Marketing Authorisation & Lifecycle Management of Medicines' Contents

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Exercise (Part V) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

VDE Prüf- und Zertifizierungsinstitut Zeichengenehmigung

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1

Einstieg in die Informatik mit Java

Number of Maximal Partial Clones

prorm Budget Planning promx GmbH Nordring Nuremberg

Einstieg in die Informatik mit Java

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016

VDE Prüf- und Zertifizierungsinstitut Zeichengenehmigung

VGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016

Programmieren in Python

Tube Analyzer LogViewer 2.3

NEWSLETTER. FileDirector Version 2.5 Novelties. Filing system designer. Filing system in WinClient

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Introduction FEM, 1D-Example

Programmierpraktikum Java Entdecken Merkblatt 2

Programmier-Befehle - Woche 09

D-BAUG Informatik I. Exercise session: week 1 HS 2018

Selbststudium OOP6 & ALG1 Auftrag

Finite Difference Method (FDM)

Grundlagen der Bioinformatik Assignment 2: Substring Search SS Yvonne Lichtblau

Angewandte Mathematik und Programmierung

Manual / Bedienungsanleitung Online Market data Survey Online-Eingabe Marktdaten

!! Um!in!ADITION!ein!HTML51Werbemittel!anzulegen,!erstellen!Sie!zunächst!ein!neues! Werbemittel!des!Typs!RichMedia.!!!!!!

Hazards and measures against hazards by implementation of safe pneumatic circuits

Weather forecast in Accra

rot red braun brown rot red RS-8 rot red braun brown R S V~

Coding-Standards und Dokumentation

SAMPLE EXAMINATION BOOKLET

Data Structures and Algorithm Design

Programmieren I. Dokumentation mit javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik

Algebraische Spezifikation von Software und Hardware II

There are 10 weeks this summer vacation the weeks beginning: June 23, June 30, July 7, July 14, July 21, Jul 28, Aug 4, Aug 11, Aug 18, Aug 25

KTdCW Artificial Intelligence 2016/17 Practical Exercises - PART A

Level 2 German, 2013

Wissenschaftliche Dienste. Sachstand. Payment of value added tax (VAT) (EZPWD-Anfrage ) 2016 Deutscher Bundestag WD /16

OSRAM Licht AG. General Meeting of OSRAM Licht AG on February 20, 2018 Countermotions and Proposals for Election

Keysight Technologies Using InfiniiMax Probes with Test Equipment other than Infiniium Oscilloscopes

iid software tools QuickStartGuide iid USB base driver installation

How-To-Do. Hardware Configuration of the CC03 via SIMATIC Manager from Siemens

Algorithmen und Datenstrukturen II

Grundlagen MATLAB. Vorlesung Batteriemodellierung mit MATLAB

Integration of Subsystems in PROFINET. Generation of downloadable objects

Checkliste. Verantwortlich: Benedikt Pawletta K-SIPE-2 Status:

Exercise (Part XI) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Order Ansicht Inhalt

Nachtragstest in Programmkonstruktion 1. Phase. 1. Multiple-Choice-Aufgaben

Daniela Reiner. Stuttgart,

Interface. So werden Interfaces gemacht

Application Note. Import Jinx! Scenes into the DMX-Configurator

Informatik 1 Kurzprüfung 2 LÖSUNG

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

Einführung in die Programmierung für NF. Zuweisungen, main- Methode und Kommentare

Einführung in Javadoc

Lernteam OOP3 SW Programmieren 1 - H1103 Felix Rohrer

VDE Prüf- und Zertifizierungsinstitut Zeichengenehmigung

1 Klassen anlegen und Objekte erzeugen

C++ Kurs Teil 3. Standard Template Library (STL) Kommunikation mit der shell Hyper Text Markup Language (HTML)

1 Klassen anlegen und Objekte erzeugen

ColdFusion 8 PDF-Integration

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Programmentwicklung ohne BlueJ

Konfiguration von eduroam. Configuring eduroam

Grundlagen der Bioinformatik Allgemeines/Übung 1 SS Yvonne Lichtblau

Mock Exam Behavioral Finance

Level 1 German, 2013

Demo Kino: Der Herr der Wolken Die Gefährten

Kuhnke Technical Data. Contact Details

Kapitel zu bearbeitende Aufgaben: 6.1 bis :

Informatik für Mathematiker und Physiker Woche 2. David Sommer

STRATEGISCHES BETEILIGUNGSCONTROLLING BEI KOMMUNALEN UNTERNEHMEN DER FFENTLICHE ZWECK ALS RICHTSCHNUR FR EIN ZIELGERICHTETE

Informatik I (D-ITET)

Programmierstil in Java Coding-Standards und Dokumentation

Lukas Hydraulik GmbH Weinstraße 39 D Erlangen. Mr. Sauerbier. Lukas Hydraulik GmbH Weinstraße 39 D Erlangen

Exercise 6. Compound Types and Control Flow. Informatik I für D-MAVT. M. Gross, ETH Zürich, 2017

Paper Reference. Paper Reference(s) 1231/4H Edexcel GCSE German Paper 4H Writing Higher Tier Tuesday 12 June 2007 Afternoon Time: 1 hour

Information Flow. Basics. Overview. Bell-LaPadula Model embodies information flow policy. Variables x, y assigned compartments x, y as well as values

Magic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.

Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn. Testen. Tutorial im Rahmen des Software(technik)praktikums SS 2012

Programmieren I + II Regeln der Code-Formatierung

Configuring and installing the Cisco AnyConnect VPN client

Seeking for n! Derivatives

25 teams will compete in the ECSG Ghent 2017 Senior Class Badminton.

Transkript:

Inhalt Aufbau des Source Codes Dokumentation des Source Codes (Layout) Qualitätskriterien berücksichtigen: Verständlichkeit Namenskonventionen Wartbarkeit: Programmierrichtlinien für erlaubte Konstrukte, Schachtelungstiefe, Erwartungskonformität bei der Benutzerschnittstelle Seite 1

Kommentare und Header: Source Code Dokumentation comments shall not contain pseudocode or algorithm description, the code itself explains this! Standard header comment section (first item in the declarations section) for modules and classes (and forms): file name, copyright notice, creation date, original developer, brief description record of changes in the maintenance phase: name of the person making the change, date of the change, brief description of the change Standard header comment section (first item in the declarations section) for procedures, methods, interfaces and templates: brief description of the procedure, description of each parameter & any return value record of changes in the maintenance phase (see above) Variable should have a comment on the same line as the variable declaration (all line up in the same column). If the comment is long, it should be placed on the preceding line Inline comments appear above the code of the program block that they describe proceeded by one blank line Seite 2

Javadoc makes use of flags to generate specific links and markup. These flags include: @author, @version, @param, @see and @return. Javadoc block comments begin with /** on a single line, followed by the comment content, and end with */ on a single line. Beispiel: javadoc Eingabe.java -author version generiert: /*********************************************** <p><b>kurzbeschreibung:</b> Source Code Dokumentation (mit Javadoc) Die Datei enthält die Klasse Eingabe. Sie dient zum Testen einer streambasierten Eingabe mit Konvertierung durch die Klasse InputStreamReader <p> <b>builded:</b> javac Eingabe.java mit Java WorkShop 2.0 @author Christoph Riewerts, Daimler AG, M413 @version V1.000 vom 12/09/15 ************************************************/ public class Eingabe { } // Hier steht die Klassendefinition java.lang.object +----Eingabe public class Eingabe extends Object Kurzbeschreibung: Die Datei enthält die Klasse Eingabe. Sie dient zum Testen einer streambasierten Eingabe mit Konvertierung durch die Klasse InputStreamReader Builded: javac Eingabe.java mit Java WorkShop 2.0 Version: V1.000 vom 12/09/15 Author: Christoph Riewerts, Daimler AG, M415 Seite 3

Hinweise auf guten Programmierstil Seite 4

Namenskonventionen QS-Kriterium: Verständlichkeit In general: the name shall be descriptive and unambiguous, avoid using abbreviation, acronyms and computer jargon unless it is extremely awkward not to do so! Using unique method: Writing notation: newaddress Underscore notation: new_address Consonant notation: nwddrss Hungarian notation with tag and optional qualifier (i.e. fst for first): padr (tag p means pointer), scadr (tag sc means string with a fixed length) Name lengths in the range of 9 to 15 characters are considered optimal In the case of Boolean objects, the name should reflect the object s TRUE condition Path names will not be hard coded into any application Application specific constants will be named as appropriate using all uppercase letters, numbers and underscore (_) characters (with a single lowercase letter prefix for data type, for example tapp_name for a String constant) User defined types will be declared with the data type in capital letters and the components following normal variable conventions Seite 5

QS-Kriterium: Wartbarkeit Vorschlag für Richtlinien für Java-Code (Qualitätsmaß): (Max 10% aller) Methoden dürfen nicht mehr als 20 Statements haben (oder keine Methode darf mehr als 40 Statements aufweisen) Methoden dürfen nicht mehr als vier Parameter haben (Maß: max. 10% aller Methoden haben zw. 5 und 15 Parameter) Methoden haben eine max. McCabe-Komplexität (Schachtelung & Pfade) von 5 (Max. 10% aller) Klassen dürfen nicht mehr als 10 Instanzvariable haben Übergabeparameter dürfen innerhalb einer Methode nicht überschrieben werden Übergabeparameter dürfen nicht denselben Namen haben wie interne Variable In booleschen Ausdrücken sind Konstante statt Werte zu verwenden Alle Variable müssen mit modifiern belegt werden Die Form.* für Import-Anweisung muss vermieden werden Jede return-anweisung ist mit JavaDoc zu kommentieren Seite 6

QS-Kriterium: Ergonomie der Benutzerschnittstelle z.b. Erwartungskonformität (Dialoggestaltung): Information, was das Programm leistet GUI: Im Menüpunkt info oder Zeilenorientiert (zo): direkter Hinweis bei der Programmausgabe Hinweise, wie man das Programm bedient GUI: Online-Hilfe oder Zo: Aufruf mit der Option help oder Zo: direkter Hinweis bei der Programmausgabe Informationen über den Hersteller Name, Version, Copyright, Support-Adresse Eindeutige Fehlerbehandlung Was hat der Benutzer im Fehlerfall verkehrt gemacht? Wie kann er in Zukunft den Fehler vermeiden? Seite 7