Effektives Arbeiten mit Legacy Code

Größe: px
Ab Seite anzeigen:

Download "Effektives Arbeiten mit Legacy Code"

Transkript

1 Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software von Michael C. Feathers 1. Auflage Effektives Arbeiten mit Legacy Code Feathers schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung: Software Engineering mitp/bhv 2010 Verlag C.H. Beck im Internet: ISBN

2 Deutsche Übersetzung des Klassikers von Michael C. Feathers Mit einem Vorwort von Robert C. Martin, Autor von Clean Code Außerdem zum Thema bei mitp: Feathers Michael C. Feathers Holen Sie mehr aus Ihren Legacy-Systemen heraus: mehr Performance, Funktionalität, Zuverlässigkeit und Handhabbarkeit Aus dem Inhalt: Die Mechanik von Software-Änderungen verstehen: Features hinzufügen, Fehler beheben, Design verbessern, Performance optimieren Legacy Code in einen Test-Harnisch bringen Tests schreiben, die Sie davor schützen, neue Probleme einzuführen Genau die Stellen identifizieren, an denen Änderungen vorgenommen werden müssen Mit Legacy-Systemen umgehen, die nicht objektorientiert sind Mit Anwendungen umgehen, die keine offensichtliche Struktur haben Techniken zur Aufhebung von Dependencies Techniken, die mit jeder Sprache und auf jeder Plattform eingesetzt werden können mit Beispielen in Java, C++, C und C# Können Sie Ihren Code leicht ändern? Können Sie fast unmittelbar Feedback bekommen, wenn Sie ihn ändern? Verstehen Sie ihn? Wenn Sie eine dieser Fragen mit Nein beantworten, arbeiten Sie mit Legacy Code, der Geld und wertvolle Entwicklungszeit kostet. Feathers erläutert in diesem Buch Strategien für den gesamten Entwicklungsprozess, um effizient mit großen, ungetesteten Code-Basen zu arbeiten. Dabei greift er auf erprobtes Material zurück, das er für seine angesehenen Object-Mentor-Seminare entwickelt hat. Damit hat er bereits zahlreichen Entwicklern, technischen Managern und Testern geholfen, ihre Legacy-Systeme unter Kontrolle zu bringen. Darüber hinaus finden Sie auch einen Katalog mit 24 Techniken zur Aufhebung von Dependencies, die Ihnen zeigen, wie Sie isoliert mit Programmelementen arbeiten und Code sicherer ändern können. Über den Autor: Michael C. Feathers arbeitet für Object Mentor, Inc., einem der weltweit führenden Unternehmen für Mentoring, Wissenstransfer und Leadership- Services bei der Software-Entwicklung. Gegenwärtig bietet er weltweit Trainings für Test-Driven Development (TDD), Refactoring, OO-Design, Java, C#, C++ und Extreme Programming (XP) an. Feathers ist der ursprüngliche Autor von CppUnit, einer C++-Portierung des JUnit-Test-Frameworks, und FitCpp, einer C++-Portierung des intergrierten Test-Frameworks FIT. Er ist Mitglied der ACM und des IEEE und war Vorsitzender von CodeFest auf drei OOPSLA-Konferenzen. ISBN ISBN ISBN Effektives Arbeiten mit Legacy Code Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software ISBN ISBN (D) 39, _umschlag 02.indd :52:16

3 Vorwort Geleitwort Danksagungen Einführung Wie man dieses Buch lesen sollte Teil I Wie Wandel funktioniert Software ändern Vier Gründe, Software zu ändern Riskante Änderungen Mit Feedback arbeiten Was sind Unit-Tests? Higher-Level-Tests Testabdeckung Der Algorithmus zur Änderung von Legacy Code Überwachung und Trennung Kollaborateure simulieren Das Seam-Modell Ein riesiges Blatt mit Text Seams Seam-Arten Tools Automatisierte Refactoring-Tools Mock-Objekte Unit-Test-Harnische Allgemeine Test-Harnische

4 Teil II Software ändern Ich habe nicht viel Zeit und ich muss den Code ändern Sprout Method Sprout Class Wrap Method Wrap Class Zusammenfassung Änderungen brauchen eine Ewigkeit Verständlichkeit Verzögerungszeit Dependencies aufheben Zusammenfassung Wie füge ich eine Funktion hinzu? Test-Driven Development (TDD) Programming by Difference Zusammenfassung Ich kann diese Klasse nicht in einen Test-Harnisch einfügen Der Fall des irritierenden Parameters Der Fall der verborgenen Dependency Der Fall der verketteten Konstruktionen Der Fall der irritierenden globalen Dependency Der Fall der schrecklichen Include-Dependencies Der Fall der Zwiebel-Parameter Der Fall des Alias-Parameters Ich kann diese Methode nicht in einem Test-Harnisch ausführen Der Fall der verborgenen Methode Der Fall der»hilfreichen«sprachfunktion Der Fall des nicht erkennbaren Nebeneffekts Ich muss eine Änderung vornehmen. Welche Methoden sollte ich testen? Effekte analysieren Vorwärtsanalyse (Reasoning Forward) Effektfortpflanzung (Effect Propagation) Tools für Effektanalysen Von der Effektanalyse lernen Effektskizzen vereinfachen

5 12 Ich muss in einem Bereich vieles ändern. Muss ich die Dependencies für alle beteiligten Klassen aufheben? Abfangpunkte Ein Design mit Einschnürpunkten beurteilen Fallen bei Einschnürpunkten Ich muss etwas ändern, weiß aber nicht, welche Tests ich schreiben soll Charakterisierungs-Tests Klassen charakterisieren Gezielt testen Eine Heuristik für das Schreiben von Charakterisierungs-Tests Dependencies von Bibliotheken bringen mich um Meine Anwendung besteht nur aus API-Aufrufen Ich verstehe den Code nicht gut genug, um ihn zu ändern Notizen/Skizzen Listing Markup Scratch Refactoring Ungenutzten Code löschen Meine Anwendung hat keine Struktur Die Geschichte des Systems erzählen Naked CRC Conversation Scrutiny Der Test-Code ist im Weg Konventionen für Klassennamen Der Speicherort für Tests Mein Projekt ist nicht objektorientiert. Wie kann ich es sicher ändern? Ein einfacher Fall Ein schwieriger Fall Neues Verhalten hinzufügen Die Objektorientierung nutzen Es ist alles objektorientiert Diese Klasse ist zu groß und soll nicht noch größer werden Aufgaben erkennen Andere Techniken

6 20.3 Die nächsten Schritte Nach dem Extrahieren von Klassen Ich ändere im ganzen System denselben Code Erste Schritte Ich muss eine Monster-Methode ändern und kann keine Tests dafür schreiben Spielarten von Monstern Monster mit automatischer Refactoring-Unterstützung zähmen Die Herausforderung des manuellen Refactorings Strategie Wie erkenne ich, dass ich nichts kaputtmache? Hyperaware Editing Single-Goal Editing Preserve Signatures Lean on the Compiler Wir fühlen uns überwältigt. Es wird nicht besser Teil III Techniken zur Aufhebung von Dependencies Techniken zur Aufhebung von Dependencies Adapt Parameter Break Out Method Object Definition Completion Encapsulate Global References Expose Static Method Extract and Override Call Extract and Override Factory Method Extract and Override Getter Extract Implementer Extract Interface Introduce Instance Delegator Introduce Static Setter Link Substitution Parameterize Constructor Parameterize Method

7 25.16 Primitivize Parameter Pull Up Feature Push Down Dependency Replace Function with Function Pointer Replace Global Reference with Getter Subclass and Override Method Supersede Instance Variable Template Redefinition Text Redefinition A Refactoring A.1 Extract Method B Glossar Stichwortverzeichnis

Refactoring von Legacy Systemen. Jochen Winzen [email protected] andrena objects ag

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

Mehr

Software-Sanierung. Weiterentwicklung, Testen und Refactoring bestehender Software. von Sebastian Kübeck. 1. Auflage

Software-Sanierung. Weiterentwicklung, Testen und Refactoring bestehender Software. von Sebastian Kübeck. 1. Auflage Software-Sanierung Weiterentwicklung, Testen und Refactoring bestehender Software von Sebastian Kübeck 1. Auflage Software-Sanierung Kübeck schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

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

Microsoft Office Word 2007

Microsoft Office Word 2007 bhv Co@ch compact Microsoft Office Word 2007 von Isabella Kowatsch 1. Auflage Microsoft Office Word 2007 Kowatsch schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung:

Mehr

Inhaltsverzeichnis. Geleitwort Einleitung... 13

Inhaltsverzeichnis. Geleitwort Einleitung... 13 5 Geleitwort..................................................... 11 Einleitung..................................................... 13 1 Einführung.......................................................

Mehr

VBA mit Microsoft Excel für Kids

VBA mit Microsoft Excel für Kids mitp für Kids VBA mit Microsoft Excel für Kids von Georg Bartenschlager, Petra Kopp 1. Auflage VBA mit Microsoft Excel für Kids Bartenschlager / Kopp schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

Michael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software

Michael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software Michael C. Feathers Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Teil I Wie Wandel funktioniert In diesem Teil: Kapitel 1 Was ist Seam?..............................

Mehr

Test Driven Development

Test Driven Development Test Driven Development Definition & Motivation [~15min] Demo [~10min] Stubs & Mocks [~15min] Übliche Fehler [~5min] Folie 1 TDD [Kent Beck] Schreibe keine Zeile Code ohne einen fehlschlagenden (roten)

Mehr

Microsoft Office Excel 2010

Microsoft Office Excel 2010 DAS EINSTEIGERSEMINAR Microsoft Office Excel 2010 von Gudrun Rehn-Göstenmeier 1. Auflage Microsoft Office Excel 2010 Rehn-Göstenmeier schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes 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

Mehr

Inhalt. 3.1 Der inkrementelle Entwurf im Überblick... 13 3.2 Flache Aufwandskurve... 14 3.3 Qualitätskriterien für den inkrementellen Entwurf...

Inhalt. 3.1 Der inkrementelle Entwurf im Überblick... 13 3.2 Flache Aufwandskurve... 14 3.3 Qualitätskriterien für den inkrementellen Entwurf... ix 1 Einleitung 1 Roman Pichler Stefan Roock 1.1 Agile Softwarewicklung und Scrum............................ 1 1.2 Zielgruppe und Zielsetzung.................................. 2 1.3 Überblick über das

Mehr

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014 Continuous Delivery Der pragmatische Einstieg von Eberhard Wolff 1. Auflage dpunkt.verlag 2014 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 86490 208 6 Zu Leseprobe schnell und portofrei erhältlich

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

Content Management mit Joomla! 1.7 für Kids Hanke

Content Management mit Joomla! 1.7 für Kids Hanke mitp für Kids Content Management mit Joomla! 1.7 für Kids von Johann-Christian Hanke 1. Auflage Content Management mit Joomla! 1.7 für Kids Hanke schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

WPM - Wertstromorientiertes Prozessmanagement

WPM - Wertstromorientiertes Prozessmanagement WPM - Wertstromorientiertes Prozessmanagement - Effizienz steigern- Verschwendung reduzieren- Abläufe optimieren von Karl W. Wagner, Alexandra M. Lindner 1. Auflage WPM - Wertstromorientiertes Prozessmanagement

Mehr

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! SAP Ali Kaveh Software Engineering live Agile! Certified Scrum Master Solution

Mehr

Microsoft PowerPoint 2010 für Kids

Microsoft PowerPoint 2010 für Kids mitp für Kids Microsoft PowerPoint 2010 für Kids von Pia Bork 1. Auflage Microsoft PowerPoint 2010 für Kids Bork schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung:

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

Mehr

Adobe Premiere Elements 9

Adobe Premiere Elements 9 bhv Einsteigerseminar Adobe Premiere Elements 9 von Winfried Seimert 1. Auflage Adobe Premiere Elements 9 Seimert schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung:

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

Kapitel 3 Software Quality III

Kapitel 3 Software Quality III Kapitel 3 Software Quality III Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler [email protected] Agenda Heute Von Bad Smells zu Refactorings Wie wird Refactoring durchgeführt?

Mehr

Lego MindStorms Implementierung für Etoys

Lego MindStorms Implementierung für Etoys NXTeToys Lego MindStorms Implementierung für Etoys NXTeToys Gruppe 5 Tobias Schubotz, Björn Groneberg, Florian Westphal, Felix Leupold, Richard Meißner, Gerardo Navarro Suarez Motivation 2 Kinder lernen

Mehr

Unit Tests mit Junit 4. Dario Borchers

Unit Tests mit Junit 4. Dario Borchers Unit Tests mit Junit 4 Dario Borchers Agenda Warum testgetriebene Entwicklung von Software? - Motivation Was ist testgetriebene Entwicklung? - Prozess der testgetriebenen Entwicklung - Arten von Tests

Mehr

Agile Softwareentwicklung

Agile Softwareentwicklung Agile Softwareentwicklung Werte, Konzepte und Methoden von Wolf-Gideon Bleek, Henning Wolf 2., aktualisierte und erweiterte Auflage Agile Softwareentwicklung Bleek / Wolf schnell und portofrei erhältlich

Mehr

Lean Startup. Schnell, risikolos und erfolgreich Unternehmen gründen. von Eric Ries. 1. Auflage 2012. FinanzBuch 2012

Lean Startup. Schnell, risikolos und erfolgreich Unternehmen gründen. von Eric Ries. 1. Auflage 2012. FinanzBuch 2012 Lean Startup Schnell, risikolos und erfolgreich Unternehmen gründen von Eric Ries 1. Auflage 2012 FinanzBuch 2012 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 86881 333 3 Zu Leseprobe schnell und

Mehr

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo Statische Codeanalyse wirklich effektiv nutzen Über uns Jan Schumann Jahrgang 1976 System- / Softwarearchitekt Entwickler von: PHP_Depend,

Mehr

Neue Wege mit Contao 4

Neue Wege mit Contao 4 Neue Wege mit Contao 4 Schöne neue PHP-Welt Contao Konferenz 2016 Über mich Andreas Schempp / terminal42 gmbh Schweiz Contao Core Entwickler Vorstand (Schatzmeister) Contao Association Hauptentwickler

Mehr

Die SOLID-Prinzipien Fünf Grundsätze für bessere Software

Die SOLID-Prinzipien Fünf Grundsätze für bessere Software ESE Kongress 2014 Vortragsskript: Die SOLID-Prinzipien Fünf Grundsätze für bessere Software Frank Listing, MicroConsult GmbH Die Qualität der Software ist nicht in allen Projekten ideal, und deshalb werden

Mehr

IT-Projekt-Management

IT-Projekt-Management IT-Projekt-Management email: [email protected] http: www.dr-vuong.de 2005 by, Bielefeld Seite 1 Vorgehensmodell 2005 by, Bielefeld Seite 2 Was ist ein Vorgehensmodell? Strukturbeschreibung über

Mehr

Testen von SOA-Anwendungen mit dem BPEL Testframework

Testen von SOA-Anwendungen mit dem BPEL Testframework Testen von SOA-Anwendungen mit dem BPEL Testframework Stefan Kühnlein IBM Deutschland Enterprise Application Solution GmbH Hollerithstr. 1 81829 München 0160/8848611 [email protected] IBM Deutschland

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

Modellbasierte Softwareentwicklung eines Kamera basierten Scheinwerfer-Adaptions-Algorithmus. Gerd Mauthe

Modellbasierte Softwareentwicklung eines Kamera basierten Scheinwerfer-Adaptions-Algorithmus. Gerd Mauthe Modellbasierte Softwareentwicklung eines Kamera basierten Scheinwerfer-Adaptions-Algorithmus Gerd Mauthe München 10.05.2016 MATLAB Expo 2016 Inhalte Vorstellung Thema Algorithmus Konzepte Implementierung

Mehr

Microsoft Visio Das offizielle Trainingsbuch

Microsoft Visio Das offizielle Trainingsbuch Microsoft Visio 2010 - Das offizielle Trainingsbuch von Scott Helmers 1. Auflage Microsoft 2011 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 86645 077 6 Zu Leseprobe schnell und portofrei erhältlich

Mehr

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG CONTINUOUS DELIVERY Entmystifiziert WIE SOFTWARE LIEFERN? 01.07.2014 2 WAS IST CONTINUOUS DELIVERY? Robust Wiederholbar Effektiv 01.07.2014 3 LANDSCHAFTEN Continuous Integration Public / Private Hybrid

Mehr

Software Engineering

Software Engineering Software Engineering Grundlagen, Menschen, Prozesse, Techniken von Jochen Ludewig, Horst Lichter 1. Auflage Software Engineering Ludewig / Lichter schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

Whitepaper: Agile Methoden im Unternehmenseinsatz

Whitepaper: Agile Methoden im Unternehmenseinsatz Whitepaper: Agile Methoden im Unternehmenseinsatz Agilität ist die Fähigkeit eines Unternehmens, auf Änderungen in seinem Umfeld zu reagieren und diese zum eigenen Vorteil zu nutzen. Inhaltsverzeichnis

Mehr

Continuous Database Integration mit Flyway

Continuous Database Integration mit Flyway XP Days Germany 2015 Continuous Database Integration mit Flyway Sandra Parsick [email protected] @SandraParsick Zur meiner Person Freiberufliche Softwareentwickler und Consultant im Java- Umfeld Schwerpunkte:

Mehr

Entwicklungswerkzeuge

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

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

Software modular bauen

Software modular bauen Software modular bauen Architektur von langlebigen Softwaresystemen Grundlagen und Anwendung mit OSGi und Java von Ulf Fildebrandt 1. Auflage Software modular bauen Fildebrandt schnell und portofrei erhältlich

Mehr

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? 10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? Stefan Roock [email protected] Hintergrund 1/2 Senior IT-Berater bei der akquinet AG extreme Programming seit Anfang 1999, dann

Mehr

Linux-Treiber entwickeln

Linux-Treiber entwickeln Linux-Treiber entwickeln Eine systematische Einführung in Gerätetreiber für den Kernel 2.6 von Jürgen Quade, Eva K Kunst überarbeitet Linux-Treiber entwickeln Quade / Kunst schnell und portofrei erhältlich

Mehr

Microsoft Office Access 2010

Microsoft Office Access 2010 bhv Einsteigerseminar Microsoft Office Access 2010 von Winfried Seimert 1. Auflage Microsoft Office Access 2010 Seimert schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische

Mehr

Bewegungssimulation mit CATIA V5

Bewegungssimulation mit CATIA V5 Bewegungssimulation mit CATIA V5 Grundlagen und praktische Anwendung der kinematischen Simulation von Jan Meeth, Michael Schuth 1. Auflage Bewegungssimulation mit CATIA V5 Meeth / Schuth schnell und portofrei

Mehr

Anforderungsgetriebene Webentwicklung mit Grails:

Anforderungsgetriebene Webentwicklung mit Grails: ne mit Grails: und dem 26.01.2012 und dem Gliederung und dem Projektumfeld Agentur mit weniger als 5 Mitarbeitern Schwerpunkte: mit Typo 3 / PHP ios App-Entwicklung für ipad und iphone und dem Folie 1

Mehr

Mietnebenkosten von A-Z

Mietnebenkosten von A-Z Beck-Rechtsberater im dtv 50758 Mietnebenkosten von A-Z Begriffe, Musterformulierungen, Berechnungsbeispiele, Checklisten von Dr. Klaus Lützenkirchen 6. Auflage Verlag C.H. Beck München 2014 Verlag C.H.

Mehr

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015

Systematisches Testen der Funktionalität von Softwaresystemen. 17. Juni 2015 Systematisches Testen der Funktionalität von Softwaresystemen 17. Juni 2015 Überblick Semantische Qualität von Software Teststrategien und prinzipien Testgetriebene Softwareentwicklung Welche Arten von

Mehr

Software - Testung ETIS SS05

Software - Testung ETIS SS05 Software - Testung ETIS SS05 Gliederung Motivation Was ist gute Software? Vorurteile gegenüber Testen Testen (Guidelines + Prinzipien) Testarten Unit Tests Automatisierte Tests Anforderungen an Testframeworks

Mehr

NEUES AUS DER ENTWICKLUNG. April 2015

NEUES AUS DER ENTWICKLUNG. April 2015 NEUES AUS DER ENTWICKLUNG April 2015 Agenda R&D Redwood Produkt-Upgrade und -Releasestrategie Namensänderungen / -Konventionen Produkt Updates Schlusswort INTRODUCTION R&D April 2015 Unser Team 20+ Mitarbeiter

Mehr

DOAG Regionaltreffen. Regionalgruppe Nürnberg. Migration von Forms Client/Server ins Web. Andreas Ströbel OPITZ CONSULTING München

DOAG Regionaltreffen. Regionalgruppe Nürnberg. Migration von Forms Client/Server ins Web. Andreas Ströbel OPITZ CONSULTING München DOAG Regionaltreffen Regionalgruppe Nürnberg Migration von Forms Client/Server ins Web Andreas Ströbel OPITZ CONSULTING München Migration von Forms Client/Server ins Web Seite 1 Agenda Oracle Forms wie

Mehr

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmieren 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

Mehr

Workshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ

Workshop 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

Mehr

Maven 2 Softwareprojekte mit Kultur

Maven 2 Softwareprojekte mit Kultur Maven 2 Softwareprojekte mit Kultur Patrick Zeising 28.05.2010 Motivation Projekte unterscheiden sich stark im Aufbau Abläufe beim Übersetzen und Deployen unterscheiden sich stark

Mehr

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April 2015 1 GRIDFUSION

DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG. Michael Palotas 7. April 2015 1 GRIDFUSION DIGICOMP OPEN TUESDAY AKTUELLE STANDARDS UND TRENDS IN DER AGILEN SOFTWARE ENTWICKLUNG Michael Palotas 7. April 2015 1 GRIDFUSION IHR REFERENT Gridfusion Software Solutions Kontakt: Michael Palotas Gerbiweg

Mehr

FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java

FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java FWP Komponentenorientierte Softwareentwicklung Test-Driven-Development mit Java Hochschule München FK 07 SS 2009 Theis Michael - Senior Developer HVB Information Services GmbH März 2009 Grundlagen des

Mehr

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke

Quellcode-Repräsentation in Eclipse. Seminarvortrag PG Reclipse Jan Rieke Quellcode-Repräsentation in Eclipse Seminarvortrag PG Reclipse Jan Rieke Gliederung Motivation Architektur von Eclipse Quelltext-Repräsentation in Eclipse Java-Modell Java DOM/AST Zusätzliche Konzepte

Mehr

Wie wird mein Code testbar? Referent: David Völkel

Wie wird mein Code testbar? Referent: David Völkel Wie wird mein Code testbar? Referent:DavidVölkel http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg DavidVölkel anti pattern hardtotestcode

Mehr

Microsoft Office Project Das offizielle Trainingsbuch

Microsoft Office Project Das offizielle Trainingsbuch Microsoft Office Project 2003 - Das offizielle Trainingsbuch Machen Sie sich fit für Project 2003 1. Auflage Microsoft Office Project 2003 - Das offizielle Trainingsbuch schnell und portofrei erhältlich

Mehr

Das Prinzip Achtsamkeit

Das Prinzip Achtsamkeit Beck kompakt Das Prinzip Achtsamkeit Der leichte Weg zu mehr Glück, Gelassenheit und Erfolg von Christian Bremer 1. Auflage Verlag C.H. Beck München 2015 Verlag C.H. Beck im Internet: www.beck.de ISBN

Mehr

Markus Wichmann. Testen von Java Code mit. JUnit

Markus Wichmann. Testen von Java Code mit. JUnit Markus Wichmann Testen von Java Code mit JUnit Demotivation... Am Anfang war der Zeitdruck... Hilfe, ich habe doch keine Zeit zum Testen! Ich schreibe einfach keine Tests, dadurch werde ich schneller fertig

Mehr

Software 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 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

Mehr

Design for Testability in der Praxis Referent: David Völkel

Design for Testability in der Praxis Referent: David Völkel Design for Testability in der Praxis Referent:DavidVölkel http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg DavidVölkel anti pattern

Mehr

Microsoft Excel 2013 auf einen Blick

Microsoft Excel 2013 auf einen Blick Microsoft Excel 2013 auf einen Blick von Michael Kolberg 1. Auflage Microsoft Excel 2013 auf einen Blick Kolberg schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung:

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Usability-Test für mobile Java-Anwendungen

Usability-Test für mobile Java-Anwendungen Usability-Test für mobile Java-Anwendungen Problemstellung / Abgrenzung Usability Engineering / Patterns Usability Test Tool-Kette Fazit Roland Petrasch Usability-Test für mobile Java-Anwendungen Problemstellung

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung 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

Mehr

Einstieg in Business Intelligence mit Microsoft SharePoint 2010

Einstieg in Business Intelligence mit Microsoft SharePoint 2010 Einstieg in Business Intelligence mit Microsoft SharePoint 2010 Überblick und Konfiguration der Business Intelligence-Features von SharePoint 2010 von Martin Angler 1. Auflage Microsoft 2011 Verlag C.H.

Mehr

Microsoft Office Visio 2007 - Das offizielle Trainingsbuch

Microsoft Office Visio 2007 - Das offizielle Trainingsbuch Microsoft Office Visio 2007 - Das offizielle Trainingsbuch von Judy Lemke, Resources Online 1. Auflage Microsoft Office Visio 2007 - Das offizielle Trainingsbuch Lemke / Resources Online schnell und portofrei

Mehr

Microsoft Outlook 2010 auf einen Blick

Microsoft Outlook 2010 auf einen Blick Microsoft Outlook 2010 auf einen Blick von Jim Boyce Jim Boyce hat an mehr als 45 Computerbüchern mitgewirkt, zuletzt als Autor des Buches "Microsoft Office Outlook 2007 auf einen Blick". 1. Auflage Microsoft

Mehr

Software Construction

Software Construction Software Construction Einführung Martin Kropp / Christoph Denzler University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Inhalt Lernziele des Kurses Software

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand

Mehr

Thomas Schissler MVP Visual Studio ALM, artiso AG

Thomas Schissler MVP Visual Studio ALM, artiso AG Thomas Schissler MVP Visual Studio ALM, artiso AG Kurs-Übersicht Moderne Softwareentwicklung 01 Überblick Was macht moderne Software-Entwicklung aus? 02 Projektmanagement Wie funktioniert modernes Projektmanagement

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Javassist. Java-API zum Ändern von Java Bytecode

Javassist. Java-API zum Ändern von Java Bytecode Javassist Java-API zum Ändern von Java Bytecode Markus Wichmann June 2003 Allgemeines Javassist ist ein Open-Source-Projekt der JBoss Gr0up Wurzeln reichen bis etwa 1997 zurück ergänzt das Java Reflection

Mehr

Betreuungsfall - was nun?

Betreuungsfall - was nun? Beck kompakt Betreuungsfall - was nun? Ratgeber für Angehörige und Betroffene von Maria Demirci 1. Auflage Betreuungsfall - was nun? Demirci schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1

JUnit - Test Driven Development. Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 JUnit - Test Driven Development Bernhard Frey, Thorsten Stratmann, Jackson Takam, Michel Müller 1 Gliederung 1.Einleitung 1.1 Geschichte 1.2 Was sind Unit-Tests? 1.3 Failures/Errors 1.4 Ziele und Nutzen

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

Dependency Injection mit dem Unity Container

Dependency Injection mit dem Unity Container 1 Dependency Injection mit dem Unity Container Vom Problem zur Lösung unter Anwendung des Unity Containers W3L AG [email protected] 2015 2 Inhalt Problemstellung Einführung Dependency Injection Manuelle Objektkomposition

Mehr

Microsoft Office Word 2010

Microsoft Office Word 2010 bhv Einsteigerseminar Microsoft Office Word 2010 von Rainer Osenberg 1. Auflage Microsoft Office Word 2010 Osenberg schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung:

Mehr

Enterprise PHP Tools

Enterprise PHP Tools Stefan Priebsch Enterprise PHP Tools Werkzeuge und Methoden für einen effizienten Entwicklungsprozess intwrckier.press Vorwort 9 1 Einführung 11 1.1 Unternehmensanwendungen und PHP 11 1.2 Der Entwicklungsprozess

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien 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

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

Agile Testing. Der agile Weg zur Qualität. von Siegfried Tanczos, Martin Klonk, Richard Seidl, Helmut Pichler, Manfred Baumgartner. 1.

Agile Testing. Der agile Weg zur Qualität. von Siegfried Tanczos, Martin Klonk, Richard Seidl, Helmut Pichler, Manfred Baumgartner. 1. Agile Testing Der agile Weg zur Qualität von Siegfried Tanczos, Martin Klonk, Richard Seidl, Helmut Pichler, Manfred Baumgartner 1. Auflage Hanser München 2013 Verlag C.H. Beck im Internet: www.beck.de

Mehr

Value Delivery and Customer Feedback

Value Delivery and Customer Feedback Value Delivery and Customer Feedback Managing Continuous Flow of Value Michael Reisinger Microsoft & ANECON Praxisupdate 2014 ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien

Mehr

APPS für ios 10. professionell entwickeln. Apple Watch

APPS für ios 10. professionell entwickeln. Apple Watch thomas SILLMANN APPS für ios 10 professionell entwickeln // Sauberen Code schreiben mit Swift 3 und Objective-C // Stabile Apps für iphone und ipad programmieren // Techniken & Methoden von Grund auf verstehen

Mehr

Software-Architektur Design Patterns

Software-Architektur Design Patterns Design Patterns Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides: Design Patterns:

Mehr

extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis dpunkt.verlag Henning Wolf Stefan Roock Martin Lippert

extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis dpunkt.verlag Henning Wolf Stefan Roock Martin Lippert Henning Wolf Stefan Roock Martin Lippert extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis 2., überarbeitete und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Die

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Microsoft Office Word 2007

Microsoft Office Word 2007 DAS EINSTEIGERSEMINAR Microsoft Office Word 2007 von Isabella Kowatsch 1. Auflage Microsoft Office Word 2007 Kowatsch schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische

Mehr

Agile Entwicklungspraktiken mit Scrum

Agile Entwicklungspraktiken mit Scrum Agile Entwicklungspraktiken mit Scrum von Roman Pichler, Stefan Roock 1. Auflage Agile Entwicklungspraktiken mit Scrum Pichler / Roock schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG

Mehr

Unit Tests in der Testgetriebenen Entwicklung

Unit Tests in der Testgetriebenen Entwicklung Unit Tests in der Testgetriebenen Entwicklung Reduzierung des Testanteils am Gesamtsoftwareentwicklungsaufwand -- neue Strategien und Tools -- Hauptseminar Systemorientierte Informatik Christian Krauß

Mehr