Software-Sanierung.
Weiterentwickeln bestehender Systeme ohne vorhandene TestsBestehenden Code mit Tests absichernMaßnahmen zur Verbesserung der Qualität Software-Sanierung - Weiterentwicklung, Testen und Refactoring bestehender SoftwareAus dem InhaltTeil I: GrundlagenAutomatisierte TestsEntwicklungsprinzipien der obj...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Alemán |
Publicado: |
Verlagsgruppe Hüthig Jehle Rehm,
2013.
|
Colección: | Mitp Professional.
|
Temas: | |
Acceso en línea: | Texto completo |
Tabla de Contenidos:
- Cover; Titel; Impressum; Inhaltsverzeichnis; Einleitung; Keine Frage des Prozesses; Für wen ist dieses Buch?; Nötige Vorkenntnisse; Aufteilung des Buches; Zu den Beispielen; Die Komplexität von Software; Alterung von Software; Auswirkungen auf die Produktivität; Behebung von Problemen alternder Software; Technisches Defizit; Wann ist Software sanierungsbedürftig?; Teil 1: Grundlagen; Kapitel 1: Objektorientierte Programmierung
- diesmal richtig; 1.1 Die prozedurale Programmierung; 1.2 Die objektorientierte Programmierung; 1.3 Vorteile der objektorientierten Programmierung.
- 1.4 Die mathematische Theorie der abstrakten Datentypen1.5 Die objektorientierte Modellierung; 1.6 UML; 1.7 Das Problem mit dem Umlernen; 1.8 Das Problem mit der Zweckentfremdung von Programmiersprachen; Kapitel 2: Automatisierte Tests; 2.1 Fehler in Programmen; 2.2 Methoden zum Aufspüren von Fehlern; 2.3 Werkzeuge zur Laufzeitüberprüfung; 2.4 SUnit und die testgetriebene Softwareentwicklung; 2.5 JUnit; 2.6 Fallbeispiel: Maximum-Bestimmung; 2.7 Testimplementierung (Test Double); 2.8 Arten von automatisierten Tests; 2.9 Eigenschaften guter Tests.
- Kapitel 3: Entwicklungsprinzipien der objektorientierten Programmierung3.1 Interface-Aufteilungsprinzip (Interface Segregation Principle); 3.2 Liskov-Substitutionsprinzip (Liskov Substitution Principle); 3.3 Abhängigkeits-Inversionsprinzip (Dependency-Inversion Principle); 3.4 Einzelzuständigkeitsprinzip (Single-Responsibility Principle); 3.5 Erweiterungsprinzip (Open-Closed Principle); Kapitel 4: Entwurfsmuster der objektorientierten Programmierung; 4.1 Abstrakte Fabrik (Abstract Factory); 4.2 Schablonenmethode (Template Method); 4.3 Wertobjekte (Value Object); 4.4 Null-Objekt (Null Object).
- 4.5 Stellvertreter (Proxy)4.6 Adapter (Adaptor); 4.7 Beobachter (Observer); 4.8 Fassade (Facade); 4.9 Kommando (Command, Transaction, Operation); 4.10 Strategie (Strategy); 4.11 Weitere Entwurfsmuster; 4.12 Wie man Entwurfsmuster nicht verwendet; Kapitel 5: Refactoring; 5.1 Refactoring in unterschiedlichen Größenordnungen; 5.2 Umbenennen von Bezeichnern; 5.3 Methode extrahieren (Extract Method); 5.4 Methode auflösen (Inline Method); 5.5 Methode verschieben (Move Method); 5.6 Methode hochziehen (Pull-Up Method); 5.7 Interface extrahieren (Extract Interface).
- 5.8 Klasse extrahieren (Extract Class)5.9 Ein Schritt nach dem anderen; 5.10 Refactorings skizzieren; Kapitel 6: Fehlerbehandlung; 6.1 Die Anfänge; 6.2 Ausnahmebehandlung; 6.3 Der dreiphasige Prozess; 6.4 Ein Beispiel; Teil 2: Weiterentwicklungbestehender Systemeohne vorhandene Tests; Kapitel 7: Bestehende Systeme mit Tests erweitern; 7.1 Irgendwo muss man anfangen; 7.2 Fachlogik unabhängig vom Bestandssystem entwickeln; 7.3 Bestandssystem gegen Testimplementierung entwickeln; 7.4 Beispiel mit komplexerer Fassade; 7.5 Schritt für Schritt zu besserem Code.