Liebe Besucherinnen und Besucher,

heute ab 15 Uhr feiern wir unser Sommerfest und sind daher nicht erreichbar. Ab morgen sind wir wieder wie gewohnt für Sie da. Wir bitten um Ihr Verständnis – Ihr Team von Sack Fachmedien

Schwarzmann | Agile ABAP-Entwicklung | E-Book | sack.de
E-Book

E-Book, Deutsch, 575 Seiten

Reihe: SAP Press

Schwarzmann Agile ABAP-Entwicklung


1. Auflage 2018
ISBN: 978-3-8362-8186-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

E-Book, Deutsch, 575 Seiten

Reihe: SAP Press

ISBN: 978-3-8362-8186-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Let's go agile! Geht das überhaupt mit ABAP? Dieses Buch führt Sie passgenau in die agile Entwicklung ein und setzt dabei genau da an, wo Sie sich auskennen: bei Ihrem Legacy Code. Sie lesen, wie Sie Ihre Programme Schritt für Schritt verbessern und erlernen dabei die wichtigsten Methoden der testgetriebenen Entwicklung. Anschließend erfahren Sie, wie Sie diese und viele weitere Techniken auch in neuen Entwicklungsprojekten einsetzen können. Clean Code, Walking Skeleton, Shared Code Ownership, Executable Documentation und Co. sind schon bald keine Fremdwörter mehr für Sie!

Aus dem Inhalt:

  • Testgetriebene Entwicklung
  • Objektorientiertes Design
  • Test-Doubles
  • ABAP Unit
  • Redesign und Neuentwicklung
  • Kontinuierliche Verbesserung
  • Der perfekte Sprint
  • ABAP Test Isolation Tools
  • ABAP Development Tools (ABAP in Eclipse)
  • Ausbildungsstrategie und Skalierbarkeit


Winfried Schwarzmann ist bei der SAP SE als Entwicklungsarchitekt im Bereich Financial Operations tätig. Parallel dazu ist er seit 2011 als Trainer und Coach für das Thema Agile Software Engineering im Einsatz. Über die Jahre hat er einen Programmierstil für gut lesbare und wartungsarme ABAP-Unit-Tests entwickelt, der objektorientierte Designprinzipien konsequent umsetzt. Zur besseren Verbreitung in der ABAP-Community hat er dazu einen Workshop für das Development-Expert-Curriculum und die Schulung 'ABAP OO in der Praxis' konzipiert. In seinem Buch fasst er seine objektorientierten Entwurfsmuster und die agile Methodik vollständig zusammen. Winfried Schwarzmann studierte Mathematik mit dem Nebenfach Informatik an der Universität Ulm. Während seines Auslandsaufenthalts in Milwaukee, USA, unterrichtete er am College of Letters and Science und machte an der University of Wisconsin den Abschluss Master of Science in Mathematics. 1998 stieg er bei SAP als C++-Entwickler im Bereich Supply Chain Management (SCM) ein. Nach vier Jahren wechselte er in die ABAP-Anwendungsentwicklung.
Schwarzmann Agile ABAP-Entwicklung jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Vorwort ... 21  Einleitung ... 23  1.  Einführung ... 31  1.1 ... Nachhaltigkeit: Entwicklung und Wartung mit einer Testinfrastruktur ... 32  1.2 ... Agilität: Praktiken des Agile Software Engineerings ... 37  1.3 ... Effizienz: Einhaltung von Designprinzipien ... 38  1.4 ... Kommunikation: Diagramme als Gesprächsgrundlage ... 42

TEIL I  Aufbau einer Testinfrastruktur ... 45  2.  Beispielanwendung für diesen Buchteil ... 47  2.1 ... Stammdatenmanagement ... 48  2.2 ... Benutzeroberfläche ... 50  2.3 ... Backend ... 51  3.  Codebasierte Verbesserung eines Tests ... 55  3.1 ... Einführung in den Testcode ... 55  3.2 ... Allgemeine Clean-Code-Prinzipien ... 67  3.3 ... Testorientierte Clean-Code-Prinzipien ... 76  4.  Designbasierte Verbesserung des Tests ... 85  4.1 ... Basisklasse von Testklassen ... 85  4.2 ... Verwendung von Hilfsklassen durch Testklassen ... 91  5.  Robuster Integrationstest ... 99  5.1 ... Verbesserungsprozess ... 99  5.2 ... Unabhängigkeit von Testmethoden ... 100  5.3 ... Wiederholbarkeit von Testmethoden ... 105  6.  Minimierung von Abhängigkeiten ... 113  6.1 ... Vereinfachung einer Verwendung ... 114  6.2 ... Abgrenzung einer Verwendung ... 121  6.3 ... Unabhängigkeit von einer Erzeugung ... 125  6.4 ... Unabhängigkeit von einer Erweiterung ... 131  7.  Isolierter Komponententest ... 137  7.1 ... Transformation des Integrationstests ... 138  7.2 ... Skalierung mit einer Testsprache ... 150  7.3 ... Testgetriebene Entwicklung ... 157  7.4 ... Liskov-Substitution-Prinzip ... 161  8.  Redesign mit Unit-Tests ... 165  8.1 ... Objektorientierte API für Entitäten ... 167  8.2 ... Hervorheben von Änderungen als eigenständige Einheit ... 170  8.3 ... Tests für die Highlight-Changes-Klasse ... 177  8.4 ... Zusammenfassung des ersten Teils ... 182

TEIL II  Testorientiertes ABAP-Design ... 185  9.  Design von Methoden ... 187  9.1 ... Regeln zur Implementierung einer Methode ... 188  9.2 ... Regeln für die Signatur einer Methode ... 196

10.  Design von Klassen ... 209  10.1 ... Erzeugung eines Objekts durch seine Klasse ... 210  10.2 ... Erzeugung eines Objekts durch eine Factory-Klasse ... 213  10.3 ... Abhängigkeitsarten zwischen Klassen ... 217  10.4 ... Interfaces einer Klasse ... 220  10.5 ... Abstraktionsebenen innerhalb einer Klasse ... 222  10.6 ... Katalog-Entwurfsmuster ... 229  10.7 ... Innerer Zusammenhalt ... 231

11.  Design von Paketen ... 237  11.1 ... Paketkonzept ... 237  11.2 ... Produktpakete ... 244  11.3 ... Testpakete ... 246

12.  Testfälle ... 249  12.1 ... Testdesign ... 250  12.2 ... Testpyramide ... 253  12.3 ... Testabdeckung ... 256

13.  Testdoubles ... 259  13.1 ... Vorteile von Testdoubles ... 259  13.2 ... Spezifikation von Testdoubles ... 263  13.3 ... Design von Testdoubles ... 269  13.4 ... Injektion von Testdoubles ... 275

14.  Globale Testdoubles ... 289  14.1 ... Testdouble für eine DOM-Methode ... 290  14.2 ... Testdouble für zwei DOM-Methoden ... 295  14.3 ... Kombination zweier Methodendoubles ... 301  14.4 ... Globalisierung von Testdoubles ... 307  14.5 ... Design globaler Testdoubles ... 310  14.6 ... Anpassung globaler Testdoubles ... 313

15.  Testklassen ... 319  15.1 ... Lokale Testklassen ... 321  15.2 ... Entwurfsmuster ... 324  15.3 ... Testklassenhierarchien ... 327  15.4 ... Globale Testklassen ... 331  15.5 ... Namenskonventionen für Testcode ... 333

16.  Testdaten ... 335  16.1 ... Testdatencontainer ... 335  16.2 ... Testdatenobjekte ... 343

17.  Testinfrastruktur ... 355  17.1 ... Anwendungsszenarien für eine globale Testinfrastruktur ... 357  17.2 ... Entwicklungsprozesse mithilfe einer Testinfrastruktur ... 362  17.3 ... Zusammenfassung des zweiten Teils ... 365

TEIL III  Agile Neuentwicklung ... 367

18.  Planung und Vorarbeit ... 369  18.1 ... Spezifikation der Beispielanwendung ... 370  18.2 ... Architektur und Design der Beispielanwendung ... 372  18.3 ... Teststrategie für die Beispielanwendung ... 377  18.4 ... Vorbereitung der testgetriebenen Entwicklung ... 380

19.  Testgetriebene Entwicklung ... 393  19.1 ... Akzeptanztestgetriebene Entwicklung ... 393  19.2 ... Komponententestgetriebene Entwicklung ... 396  19.3 ... Unit-Test-getriebene Entwicklung ... 401  19.4 ... Objektbasierte Überprüfung ... 403  19.5 ... Testen des Änderns und Sicherns eines Vertrags ... 407  19.6 ... Zusammenfassung des dritten Teils ... 413

TEIL IV  Agile Methoden ... 415

20.  Scrum ... 417  20.1 ... Artefakte ... 417  20.2 ... Rollen ... 423  20.3 ... Meetings ... 424  20.4 ... Eigenschaften ... 429

21.  Agile Software Engineering ... 433  21.1 ... Refactoring ... 434  21.2 ... Testgetriebene Entwicklung ... 437  21.3 ... Paarweise Programmierung ... 441  21.4 ... Walking Skeleton ... 447  21.5 ... Gemeinsame Codeverantwortung ... 453  21.6 ... Kontinuierliche Integration ... 459

22.  Lean-Entwicklungsmodell ... 463  22.1 ... Grundlagen ... 463  22.2 ... Umsetzung der Lean-Prinzipien mit Agile Software Engineering ... 465  22.3 ... Testinfrastruktur ... 467  22.4 ... Agile Coaching ... 468

23.  Entwicklung der Teams ... 469  23.1 ... Nachhaltige Ausbildung ... 469  23.2 ... Lücken in der Ausbildung ... 473  23.3 ... Agile Coaching ... 476  23.4 ... Netzwerk für Agile Coaching ... 483

24.  Entwicklung des Backlogs ... 485  24.1 ... Design Thinking ... 486  24.2 ... User Story Mapping ... 492

25.  Entwicklung des Produkts ... 497  25.1 ... Nachhaltige Entwicklung ... 498  25.2 ... Entwicklungsstrategien für Legacy Code ... 501  25.3 ... Entwicklungsstrategien für neuen Code ... 502  25.4 ... Zusammenfassung des vierten Teils ... 504

TEIL V  Testorientierte ABAP-Werkzeuge ... 505

26.  ABAP Unit ... 507  26.1 ... Klasse CL_ABAP_UNIT_ASSERT ... 507  26.2 ... Ausführung von Tests ... 512  26.3 ... Entwicklungsobjekte ... 518

27.  ABAP Development Tools ... 521  27.1 ... Einführung ... 521  27.2 ... Testgetriebene Entwicklung mit den ABAP Development Tools ... 525

28.  ABAP-Werkzeuge zur Testisolierung ... 545  28.1 ... Beispielklasse ... 545  28.2 ... Open SQL Test Double Framework ... 548  28.3 ... Test Seams ... 551  28.4 ... ABAP Test Double Framework ... 553  28.5 ... Zusammenfassung des fünften Teils und des gesamten Buches ... 557  Anhang ... 559  A.  Namenskonventionen ... 561  B.  Literaturverzeichnis ... 563  C.  Der Autor ... 564  Index ... 565


Schwarzmann, Winfried
Winfried Schwarzmann ist bei der SAP SE als Entwicklungsarchitekt im Bereich Financial Operations tätig. Parallel dazu ist er seit 2011 als Trainer und Coach für das Thema Agile Software Engineering im Einsatz. Über die Jahre hat er einen Programmierstil für gut lesbare und wartungsarme ABAP-Unit-Tests entwickelt, der objektorientierte Designprinzipien konsequent umsetzt. Zur besseren Verbreitung in der ABAP-Community hat er dazu einen Workshop für das Development-Expert-Curriculum und die Schulung „ABAP OO in der Praxis“ konzipiert. In seinem Buch fasst er seine objektorientierten Entwurfsmuster und die agile Methodik vollständig zusammen. Winfried Schwarzmann studierte Mathematik mit dem Nebenfach Informatik an der Universität Ulm. Während seines Auslandsaufenthalts in Milwaukee, USA, unterrichtete er am College of Letters and Science und machte an der University of Wisconsin den Abschluss Master of Science in Mathematics. 1998 stieg er bei SAP als C++-Entwickler im Bereich Supply Chain Management (SCM) ein. Nach vier Jahren wechselte er in die ABAP-Anwendungsentwicklung.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.