Boas Enkler BE IT-Solutions B&R DV InfoSys. GmbH Code Design Guidelines in der Praxis Juni 2011

Größe: px
Ab Seite anzeigen:

Download "Boas Enkler BE IT-Solutions B&R DV InfoSys. GmbH Code Design Guidelines in der Praxis. 06.-07. Juni 2011 www.dotnet-devcon.de"

Transkript

1 Boas Enkler BE IT-Solutions B&R DV InfoSys. GmbH Code Design Guidelines in der Praxis

2 Boas Peter Enkler Teamlead / Solutionsarchitect 10 Jahre Software Entwicklung Teamorganisation Enterprise Applications Code Qualität / CCD

3 Über diese Session Sensibilisierung Richtlinien How To Do s, Consider, Dont s Code Beispiele

4 Fallbeispiel Vorher Fehler beim Kunden Unspezifische Fehler Data Races Undurchschaubares Verhalten Lange Einarbeitungszeit Unmut Nachher Fehler nur in der Testphase Klare Fehlermeldungen Studenten für Outsourcing Klare Verantwortlichkeiten

5 Was macht dieser Code? aus CodeKicker.de

6 Code Richtlinien Komprimierte Erfahrungswerte Werkzeug für Code Qualität Wartbarkeit Robustheit API Usability Bessere Lesbarkeit Standards Sichere Freiräume für Entwickler

7 Faktoren Anforderungen / Szenarien Team Code Richtlinien Technische Umgebung Standards

8 Einschränkungen Keine Allgemeingültigkeit Sie alleine machen keine Qualität Keine Garantie für eine funktionierende Software (keine Aussage über Domainlogik) Sie machen kein funktionierendes Team

9 Vorgehen Richtlinien erstellen Iterativ Kommunikation mit den Teammitgliedern Vorbehalte ausräumen YAGNI (Nur das was Sie brauchen) Übersichtsblatt Diskussionsforum

10 Wer definiert Richtlinien? Konkrete Rolle Anerkannter Entscheidungsträger Verantwortung Hilfe bei Fragen Fortlaufende Aktualisierung der Standards Vermittelt bei Konflikten Entscheidet bei Ausnahmen / Lücken

11 Es gibt Sie (!) Ausnahmen Nur bei gewichtigen Gründen (Security, ) Dokumentieren der Ausnahmen Anlass für Review der Richtlinien Temporäre Workarounds müssen terminiert werden

12 Ausnahmen im.net FX

13 Demo DataProvider Projektstruktur und Einstellungen

14 Projekt Settings Treat Warning as Errors Warning Level 4 Generate Xml Output Client Framework Code Contracts API Validation Static Code Analysis

15 Strukturelle Aufbau Namespace Ordner Korrelation Jeder Typ in eigene Dateien Datei passend zum Typ benennen Interface Assembly Komponentenorientiert Shared Build Output (bin folder) <Company>.<Component>.dll <Company>.<Component>.Interface.dll <Company>.<Component>.Tests.dll <Company>.<Area>.Common.dll

16 Demo DataProvider Implementierungsregeln

17 Definitionen Pascal Case Camel Case Ungarische Notation * UpperCamelCase {Bezeichner} Jedes Wort beginnt mit Großbuchstaben LowerCamelCase {bezeichner} Worte in einem Wort beginnen mit einem Großbuchstaben {Präfix} {Datentyp} {Bezeichner} uint MyValue uint myvalue uint uimyvalue * Die Ungarische Notation sollte in einer.net Umgebung nicht angewendet werden

18 Felder Private interne Daten Konstanten Statische ReadOnly immutable Werte Keine Public oder Proteced Felder Keine binärkompatible Änderung zu einem Property möglich

19 Properties Wrapper auf Felder Werte / Zustände von Entitäten Vorsicht vor DataRaces Nicht zum Austausch von Werten zwischen Methoden

20 Kommentare Nur Notwendiges Kommentieren In der sicheren Sprache API Dokumentation Parameter semantisch Beschreiben Keine Syntax erklären Kein Methoden Ersatz Kein Changelog

21 Datum Timespan DateTime DateTimeOffset Keine Datumsangabe Zeitangaben Öffnungszeiten 10:00-13:00.NET < 3.5 >=.NET 3.5 Reine Datumswerte Geburtstage 00:00:00 Zeitkomponente Wenn Zeitzonen keine Rolle spielen Silvester :59 Genauer Zeitpunkt Termine Online Meeting 13:00 GMT+1

22 Demo DataProvider Klassen und Member Design

23 Object.ToString() Object.ToString() überschreiben Debugger Anzeige Kurze Texte Lesbare Texte DebuggerDisplay Attribute IFormatable Overload Nur trivial Code ohne Seiteneffekte Keine Exceptions im ToString() werfen

24 Object.Equals() x.equals(y) == y.equals(x) x.equals(x) == true y.equals(null) = false Keine Exceptions werfen Keine Wertgleichheit bei veränderbaren Werten Value Type Erweiterungen Equals immer überschreiben (Standard = Reflection) IEquatable<T> (Boxing vermeiden)

25 Object.GetHashCode() Wenn Equals() überschrieben => immer GetHashCode() überschreiben Equal Objekte => Gleicher Hashcode x.equals(y) => x.gethashcode() == y.gethashcode() Keine Änderung des Hashcodes zur Object Lifetime Keine Exceptions in GetHashCode() werfen

26 Parameter Designfehler im.net FX

27 Parameter II Reihenfolge und Benennung bei Überladung beibehalten Basistypen als Parameter Konkrete Typen als Rückgabewerte Out und Ref Parameter vermeiden Out Parameter ans Ende

28 Beispiel Exception Nichtssagende Fehlermeldung Aussagekräftige Fehlermeldung

29 Exception Ableitung System.Exception Stacktraces erhalten Tester Doer Pattern TryDo Pattern Keine ReturnCodes Nicht System.Exception abfangen Niemals System.Exception werfen Nicht von ApplicationException ableiten

30 Quellen Buch Framework Design Guidelines MSDN Writing Quality Code MSDN Design Guidelines for Developing Class Libraries IDesign GuideLines Mein BLog -> BE-IT.NET

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG

Unit-Test Theorie und Praxis. Stephan Seefeld, INGTES AG Unit-Test Theorie und Praxis Stephan Seefeld, INGTES AG Inhalt Was sind Unit-Test? NUnit für.net Demo Seite 2 Quellen Für diesen Vortrag verwendete Quellen: dotnet User Group Berlin Brandenburg http://www.dotnet-berlinbrandenburg.de/

Mehr

Einführung in ActionScript

Einführung in ActionScript Fachbereich Mathematik und Informatik Softwareprojekt: Spieleprogrammierung Einführung in ActionScript Do, Hoang Viet(do@mi.fu-berlin.de) Freie Universität Berlin, SoSe 2012 Agenda Allgemeine Einführung

Mehr

Back to the Future Eine Zeitreise von C# 1.0 zu C# 7.0

Back to the Future Eine Zeitreise von C# 1.0 zu C# 7.0 Back to the Future Eine Zeitreise von C# 1.0 zu C# 7.0 About us David Tielke mail@david-tielke.de Twitter: @davidtielke Ing. Christian Giesswein, MSc. www.software.tirol christian@software.tirol Twitter:

Mehr

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten

3. Auflage. O Reillys Taschenbibliothek. C# 5.0 kurz & gut. Joseph Albahari & Ben Albahari O REILLY. Aktualisierung von Lars Schulten O Reillys Taschenbibliothek 3. Auflage C# 5.0 kurz & gut O REILLY Joseph Albahari & Ben Albahari Aktualisierung von Lars Schulten Inhalt C# 5.0 kurz & gut... 1 Ein erstes C#-Programm... 2 Syntax... 5 Typgrundlagen...

Mehr

APEX 5.0 DOAG Mai 2014

APEX 5.0 DOAG Mai 2014 APEX 5.0 DOAG Mai 2014 APEX 5.0 16 Jahre MuniQSoft GmbH Tätigkeitsbereiche: Oracle Support Hotline: Mo-Fr 8.00 18.00 Uhr Erweiterung um Rufbereitschaft auch am Wochenende möglich Oracle IT-Consulting &

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Code Quality. Steigerung der Codequalität mit Visual Studio & TFS

Code Quality. Steigerung der Codequalität mit Visual Studio & TFS Code Quality Steigerung der Codequalität mit Visual Studio & TFS Tobias Richling 30 Jahre Wohnhaft im Münsterland Softwareentwickler seit Amiga Basic Microsoftie Logisitksoftware Silverlight TFS Trainer,

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

.NET. René Leupold. www.databinding.net connect@databinding.net. User Group Bern. Follow dnugbe on twitter http://www.dnug-bern.ch/rss.

.NET. René Leupold. www.databinding.net connect@databinding.net. User Group Bern. Follow dnugbe on twitter http://www.dnug-bern.ch/rss. .NET User Group Bern René Leupold www.databinding.net connect@databinding.net Follow dnugbe on twitter http://www.dnug-bern.ch/rss.aspx DNUG Bern Sponsoren Über René Leupold Siehe Xing ;-) Speaker VSone

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Entwicklungswerkzeuge

Entwicklungswerkzeuge Entwicklungswerkzeuge Werner Struckmann & Tim Winkelmann 10. Oktober 2012 Gliederung Anforderungen Projekte Debugging Versionsverwaltung Frameworks Pattern Integrated development environment (IDE) Werner

Mehr

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis...

Source 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...

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln Version: 0.1 Autor: Anja Beuth Inhaltsverzeichnis 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

4.7.1 Intellisense... 42 4.7.2 Code Expansion... 43 4.7.3 Code Snippets... 43 4.7.4 Schriftgröße... 44 4.7.5 Event Handler... 44 4.7.

4.7.1 Intellisense... 42 4.7.2 Code Expansion... 43 4.7.3 Code Snippets... 43 4.7.4 Schriftgröße... 44 4.7.5 Event Handler... 44 4.7. Inhalt 1 Einleitung... 11 1.1 An wen richtet sich das Buch?... 11 1.2 Ziel... 11 1.3 1 = 2... 11 1.4 Voraussetzungen... 11 1.5 Was decken die einzelnen Kapitel ab?... 12 1.6 Was nicht enthalten ist...

Mehr

Das Test-Framework JUnit ETIS SS04

Das Test-Framework JUnit ETIS SS04 Das Test-Framework JUnit ETIS SS04 Gliederung Motivation TestFirst Grundlagen Assert TestCase Lebenszyklus TestCase UML-Diagramm TestCase TestSuite Zusammenfassung 2 Motivation (I) Kostspielige Folgen

Mehr

Framework Design Guidelines

Framework Design Guidelines Präsentiert von Framework Design Guidelines Wiederverwendbare Frameworks in C# EINLEITUNG Auch Klassenbibliotheken haben eine Benutzerschnittstelle! namespace itconsulting.stuttgart.customdevteam { public

Mehr

PHP Programmierung. Seminarunterlage. Version 1.02 vom

PHP Programmierung. Seminarunterlage. Version 1.02 vom Seminarunterlage Version: 1.02 Version 1.02 vom 27. August 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

C# programmieren

<Trainingsinhalt> C# programmieren C# programmieren i training Inhaltsverzeichnis 1. Einführung in C#... 13 1.1 Das Ziel dieses Buches... 13 1.2 Grundsätzliches zur Sprache... 13 1.3 Programmiersprachen verstehen... 14

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java 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

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Mehr

Java Schulung (Java 2 Java Development Kit 5 / 6)

Java Schulung (Java 2 Java Development Kit 5 / 6) 2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt

Mehr

GELEBTE ENTWICKLUNGSRICHTLINIEN

GELEBTE ENTWICKLUNGSRICHTLINIEN GELEBTE ENTWICKLUNGSRICHTLINIEN VOM VERSTAUBTEM PAPIERSTAPEL ZUM SPICKZETTEL FÜR ENTWICKLER BORIS WEHRLE ENTWICKLUNGSRICHTLINIEN Ein Programmierstil (engl. code conventions, coding conventions, coding

Mehr

SEP 114. Design by Contract

SEP 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

Mehr

Java Generics & Collections

Java Generics & Collections Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes

Mehr

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

Automatisierte Erstellung von Software-Builds und -dokumentationen. Teil 1 Automatisierte Erstellung von Software-Builds und -dokumentationen Teil 1 Autoren: Hagedorn, Robert; Denninger, Oliver Kontakt: {hagedorn denninger}@fzi.de Web: http://zfs.fzi.de Ort, Datum: Karlsruhe,

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe 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

Mehr

Java Tipps für Lehrer. Table des matières. Einleitung

Java Tipps für Lehrer. Table des matières. Einleitung Java Tipps für Lehrer Table des matières Einleitung..1 Tipp 1: Gültige Objekte erzeugen.2 Tipp 2: Objekte nicht wiederverwenden.3 Tipp 3: Direkt auf die eigenen Attribute zugreifen4 Tipp 4: Ausgabe-Strings

Mehr

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

Mehr

Funktionale Programmierung. Frank Adler

Funktionale Programmierung. Frank Adler F# Funktionale Programmierung Frank Adler Was ist funktionale Programmierung Funktionale Programmierung ist die Komposition von Funktionen. Funktionale Konzepte First-Class Functions Higher-Order Functions

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

C#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15.

C#Objektorientierte. Aleksandra Maj. Programmiersprachen. Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars. 15. C#Objektorientierte Programmiersprachen am Beispiel C# Referat im Rahmen des Seminars Programmiersprachen 15.Juli 2004 Aleksandra Maj 1 1.Einleitung Kurze Geschichte und Ziele der neuen Programmiersprache

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 4: Kombination OOP/.NET

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 4: Kombination OOP/.NET C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 4: Kombination OOP/.NET 1/27/2012 1 Do Events Delegates Operatoren Exceptions Namespaces Bibliotheken.NET Klassen Serialisierung

Mehr

Die Bibliothek ist mit folgenden.net-frameworks kompatibel: .NET 4.5

Die Bibliothek ist mit folgenden.net-frameworks kompatibel: .NET 4.5 Die DW-LogLibrary ist eine kleine, einfach zu verwendende Softwarebibliothek, um Entwicklern von.net-programmen das Speichern von Ausgaben und Fehlermeldungen ihrer Programme zu erleichtern. Sie unterstützt

Mehr

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)

Mehr

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Refactoring Rails Applications. Mathias Meyer und Jonathan Weiss, 01.09.2009 Peritor GmbH

Refactoring Rails Applications. Mathias Meyer und Jonathan Weiss, 01.09.2009 Peritor GmbH Refactoring Rails Applications Mathias Meyer und Jonathan Weiss, 01.09.2009 Peritor GmbH Who am I? Jonathan Weiss Consultant bei Peritor GmbH in Berlin Specialized in Rails, Scaling, Deployment, and Code

Mehr

Das Beste aus zwei Welten

Das Beste aus zwei Welten : Das Beste aus zwei Welten Das Beste aus zwei Welten Aufruf von R Funktionen mit PROC IML KSFE 2012 08.03.2012 ist IT Dienstleister für Business Intelligence und Datenanalyse gibt es seit über 20 Jahren

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Java Einführung Packages

Java 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)

Mehr

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools David Schäfer Vorstellung: HMS Analytical Software Anwendungs-Know-how, u.a. Banken und Versicherungen Pharma- und Medizinprodukte Technologie-Know-how,

Mehr

Scrum Einführung. SWP: Spieleprogrammierung Fachbereich Mathematik und Informatik

Scrum Einführung. SWP: Spieleprogrammierung Fachbereich Mathematik und Informatik SWP: Spieleprogrammierung Fachbereich Mathematik und Informatik Scrum Einführung Do, Hoang Viet(do@mi.fu-berlin.de) Freie Universität Berlin, SoSe 2013 Rollen Product Owner Definiert die Ziele Product

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

Große Übung Praktische Informatik 1

Groß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,

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. 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

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009

Mehr

Inhaltsverzeichnis. Vorwort... 15

Inhaltsverzeichnis. Vorwort... 15 Vorwort..................................................... 15 Kapitel 1.NET Framework.................................. 19 1.1 Geschichte................................... 19 1.2 Aufbau des.net Framework..................

Mehr

JBoss 2.2 Evaluierung

JBoss 2.2 Evaluierung Freie Universität Berlin Autor: Natalie Ardet Datum: 10.4.2001 JBoss 2.2 Evaluierung Projekt: verteilte Informationssysteme JBoss 2.2 Evaluierung Windows NT 4.0 Installation/Konfiguration und Together

Mehr

Nachklausur Programmieren / Algorithmen und Datenstrukturen 1

Nachklausur Programmieren / Algorithmen und Datenstrukturen 1 Programmieren / Algorithmen und Datenstrukturen Autor: Prof. Dr. Bernhard Humm, FB Informatik, Hochschule Darmstadt Datum: 7. Oktober 200 Nachklausur Programmieren / Algorithmen und Datenstrukturen Spielregeln

Mehr

Internationalisierung von Webseiten

Internationalisierung von Webseiten Internationalisierung von Webseiten estudy goes USA Inhalt Einleitung Techniken Fazit Diskussion Einleitung Internationalisierung von Webseiten Einleitung Sprachen Entstanden durch viele Völker und Kulturen

Mehr

VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG

VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG VSTO 3.0 - Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG Agenda Agenda VSTO Ribbon Customizing Outlook 2007 Entwicklung Demo: Custom Task Pane Demo: Custom Form Region Smart Tag

Mehr

Design for Testability in der Praxis David Völkel, codecentric AG

Design for Testability in der Praxis David Völkel, codecentric AG Design for Testability in der Praxis David Völkel, codecentric AG http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg David Völkel *

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes 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:

Mehr

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Refactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag

Refactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität

Mehr

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

Programmieren I. Dokumentation mit Javadoc Heusch 10.4 Ratz Institut für Angewandte Informatik Programmieren I Dokumentation mit Javadoc Heusch 10.4 Ratz 4.1.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Automatische Dokumentation Java bietet standardmäßig das Dokumentationssystem

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

XE IDE Cloud Web. secure Data Agile. RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts. Daniel Wolf Delphi-Praxis

XE IDE Cloud Web. secure Data Agile. RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts. Daniel Wolf Delphi-Praxis RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts Daniel Wolf Delphi-Praxis Matthias Eißing Embarcadero Germany GmbH XE IDE Cloud Web 1 secure Data Agile Agenda Neues in der IDE, RTL

Mehr

Unit Tests und Fehlersuche

Unit Tests und Fehlersuche Unit Tests und Fehlersuche SE 1 - Softwareentwicklungspraktikum Test Deadline! Sinnvolle Tests kompilierbar im CVS d.h. Schnittstellen zu Strategiemethoden etc. schon erstellen Kommentieren! Besser ein

Mehr

License Management 1.0 - SDK

License Management 1.0 - SDK License Management 1.0 - SDK Inhalt Allgemeine Beschreibung... 2 Vorbereitungen... 2 Download aller nötigen Dateien und Dokumentationen... 2 Beantragung eines ValidationKeys... 2 Beantantragung einer Development-Lizenz...

Mehr

Software Engineering in

Software Engineering in Software Engineering in der Werkzeuge für optimierte LabVIEW-Entwicklung Folie 1 Best Practices Requirements Engineering Softwaretest Versionsmanagement Build- Automatisierung Folie 2 Arbeiten Sie im Team?

Mehr

Programmier-Richtlinien

Programmier-Richtlinien Programmier-Richtlinien vgl. auch http://java.sun.com/docs/codeconv/ Bemerkung o Programme werden häufiger gelesen als geschrieben o Programmtexte müssen gut lesbar und nachvollziehbar sein Feststellung

Mehr

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

WhiteStarUML Tutorial

WhiteStarUML Tutorial WhiteStarUML Tutorial Autor: Simon Balázs, BME IIT, 2015. Übersetzung: Kovács Márton, 2015. Installation Herunterladen und installieren Sie das WhiteStarUML: http://sourceforge.net/projects/whitestaruml/

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

Eclipse 3.0 (Windows)

Eclipse 3.0 (Windows) Eclipse Seite 1 Eclipse 3.0 (Windows) 1. Eclipse installieren Eclipse kann man von der Webseite http://www.eclipse.org/downloads/index.php herunterladen. Eclipse ist für Windows, Mac und Linux erhältlich.

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

Office und.net - zwei Welten wachsen zusammen mit VSTO 3.0. Lars Keller netcreate OHG

Office und.net - zwei Welten wachsen zusammen mit VSTO 3.0. Lars Keller netcreate OHG Office und.net - zwei Welten wachsen zusammen mit VSTO 3.0 Ihr Referent Lars Keller Was lernen Sie hier nicht? Was werden Sie hier erfahren? Agenda I VSTO Grundlagen II Ribbon Customizing III Smart Tag

Mehr

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff

Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.

Mehr

Jürgen Bayer. XML- und HTML-Dokumentation mit C#

Jürgen Bayer. XML- und HTML-Dokumentation mit C# Jürgen Bayer XML- und HTML-Dokumentation mit C# Inhaltsverzeichnis 1 Einleitung 1 2 Die XML-Dokumentation 2 2.1 Kompilieren 2 2.2 Vordefinierte XML-Elemente 4 3 Umwandeln der XML-Dokumentation in eine

Mehr

Programmierstile in C

Programmierstile in C Von Sebastian Rothe 05.05.011 Inhaltsverzeichnis 1. Motivation wozu Code-Formatierung?. Definition: Programmierstil Gebräuchliche Konventionen Einrückungsstil Vertikale Anordnung Leerzeichen & Tabulatoren

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Neuerungen in FME 2015. Ein Überblick

Neuerungen in FME 2015. Ein Überblick Neuerungen in FME 2015 Ein Überblick Releasezyklus FME 2015.0 FME 2015.1 FME 2015.2 FME 2015.3 Januar April Formate und Transformer Neue Formate (Auswahl) Esri ArcGIS Server Feature Service Reader CartoDB

Mehr

Karim El Jed, Lars Keller netcreate OHG. VSTO in der Praxis

Karim El Jed, Lars Keller netcreate OHG. VSTO in der Praxis Karim El Jed, Lars Keller netcreate OHG VSTO in der Praxis 1 Agenda I VSTO Grundlagen II Ribbon Customizing III Outlook IV Excel V Word Content Controls VI Deployment VII VSTO 4.0 Ausblick 2 VSTO Grundlagen

Mehr

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06

Berner Fachhochschule Software Schule Schweiz JDOM. http://www.jdom.org/ Beatrice Amrhein. Oktober 06 Berner Fachhochschule Software Schule Schweiz JDOM http://www.jdom.org/ Beatrice Amrhein Oktober 06 1 Motivation JDOM ist ein Open Source, Baumbasiertes, Java API zum Parsen, Erzeugen, Verarbeiten und

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:

Mehr

Einführung in Javadoc

Einfü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:

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik Entwicklung webbasierter Anwendungen 1 Hochschule Darmstadt Fachbereich Informatik PHP 7 2 Releasekalender http://php.net/supported-versions.php 3 Historie Urpsrünglicher

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in

Mehr

Dreamwap. Systemanalyse

Dreamwap. Systemanalyse Dreamwap Systemanalyse Änderungskontrolle Version Datum Name Bemerkung 0.1 15.7.2000 P. Troxler Initialversion 0.2 16.7.2000 P. Troxler Neue Tabelle: Kap. 2.1. Vgl. Datenbank Tabellen 0.3 18.7.2000 P.

Mehr

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 13. Qualitätssicherung. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 13. Qualitätssicherung Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 13. Qualitätssicherung 2 Qualitätssicherung Qualitätssicherung (engl. Quality Assurance

Mehr

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 1: Grundlagen

C# Programmierung. Eine Einführung in das.net Framework. C# Programmierung - Tag 1: Grundlagen C# Programmierung Eine Einführung in das.net Framework C# Programmierung - Tag 1: Grundlagen 1/27/2012 1 Vorstellung Kursleiter Florian Rappl 9 Jahre Erfahrung mit C# Ausbildung zum Fachinformatiker bei

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik Programmieren JavaScript-Objekt-Verarbeitung mit GSON Heusch --- Ratz --- KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Motivation

Mehr

Auszug aus. C sharp. Galileo Computing. Ein Service von. Tutorial und Referenz. von Eric Gunnerson

Auszug aus. C sharp. Galileo Computing. Ein Service von. Tutorial und Referenz. von Eric Gunnerson Auszug aus C sharp Tutorial und Referenz von Eric Gunnerson Galileo Computing 576 S., 2002, geb. 39,90 Euro, ISBN 3-89842-183-X Ein Service von Galileo Computing aus: Eric Gunnerson, C sharp - Tutorial

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de thomas.westphal@adesso.de

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Design mit CASE-Tools

Design mit CASE-Tools Geodatabase Objekt Modell Teil 2: Design mit CASE-Tools Andreas Greithanner Team Entwicklung Kranzberg 2002 ESRI Geoinformatik GmbH Agenda Was ist CASE? Entwicklung eines Datenmodells Anlegen verschiedener

Mehr