Book description
Das Buch vermittelt die Grundlagen, Methoden und Techniken des Software Engineerings. Es ist als Material zu Vorlesungen über Software Engineering konzipiert. Darum wurde besonderes Gewicht auf die Darstellung und Vermittlung der Einsichten, Erkenntnisse und Erfahrungen gelegt, die von Forschern und Praktikern gewonnen, formuliert und angewendet wurden und der Kritik standgehalten haben. Auch für Praktiker, die mit der Software-Entwicklung und -Bearbeitung und den dabei auftretenden Problemen vertraut sind, ist das Buch sehr gut geeignet, um die Kenntnisse im Selbststudium zu ergänzen und zu vertiefen.Der Inhalt des Buches ist in fünf Hauptteile gegliedert:I Grundlagen: Modelle und Modellierung, Grundbegriffe, Software-Nutzen und -Kosten, Software-QualitätII Menschen und Prozesse: Software-Projekt, Projektleitung und Projektleiter, Vorgehensmodelle, Prozessmodelle, Bewertung und Verbesserung des Software-ProzessesIII Daueraufgaben im Software-Projekt: Dokumentation, Software-Qualitätssicherung und -Prüfung, Metriken und BewertungenIV Techniken der Software-Bearbeitung: Analyse und Spezifikation, Entwurf, Codierung, Programmtest, IntegrationV Verwaltung und Erhaltung der Software: Konfigurationsverwaltung, Software-Wartung, Reengineering, WiederverwendungEin Nachwort zum Studium der Softwaretechnik, ein aktuelles Literaturverzeichnis und ein präziser Index schließen das Buch ab.Die 4. Auflage enthält neben vielen kleinen Verbesserungen und Aktualisierungen neue Themen wie Schätzung in agilen Projekten, agile Skalierung, Behavior-Driven Development, Microservices, Domain-Driven Design und automatische Software-Auslieferung.
Table of contents
- Cover
- Über den Autor
- Titel
- Impressum
- Widmung
- Vorwort
- Inhalt und Aufbau, Zielgruppen
- Inhaltsverzeichnis
-
Teil I Grundlagen
- 1 Modelle und Modellierung
- 1.1 Modelle, die uns umgeben
- 1.2 Modelltheorie
- 1.3 Ziele beim Einsatz von Modellen
- 1.4 Entwicklung und Validierung von Modellen
- 1.5 Modelle im Software Engineering
- 1.6 Theoriebildung
- 1.7 Modellierung durch Graphen und Grafiken
- 1.8 Modellierung durch Zahlen: Skalen und Skalentypen
- 1.9 Übergänge zwischen verschiedenen Skalentypen
- 2 Grundbegriffe
- 2.1 Kosten
- 2.2 Engineering und Ingenieur
- 2.3 Software
- 2.4 Arbeiten, die an Software ausgeführt werden
- 2.5 Weitere Grundbegriffe
- 3 Software Engineering
- 3.1 Fortschritte in Hardware und Software
- 3.2 Grundideen des Software Engineerings
- 3.3 Probleme und Chancen des Software Engineerings
- 3.4 Lehrbücher und andere Basisliteratur
- 4 Software-Nutzen und -Kosten
- 4.1 Die Kosten eines Software-Projekts
- 4.2 Der Aufwand in den einzelnen Phasen des Software-Projekts und in der Wartung
- 4.3 Risiken durch Qualitätsmängel
- 4.4 Die Beziehung zwischen Fehlerentstehung und -entdeckung
- 5 Software-Qualität
- 5.1 Qualität
- 5.2 Taxonomie der Software-Qualitäten
- 5.3 Qualitätsmodelle
-
Teil II Menschen und Prozesse
- 6 Menschen im Software Engineering
- 6.1 Software-Leute und Klienten
- 6.2 Rollen und Verantwortlichkeiten
- 6.3 Die Produktivität des Projekts
- 6.4 Motivation und Qualifikation
- 6.5 The Personal Software Process
- 6.6 Moralische und ethische Aspekte
- 7 Das Software-Projekt – Begriffe und Organisation
- 7.1 Begriffsbildung
- 7.2 Software-Projekte
- 7.3 Projekttypen
- 7.4 Formen der Teamorganisation
- 7.5 Die interne Organisation der Software-Hersteller
- 8 Projektleitung und Projektleiter
- 8.1 Ziele und Schwerpunkte des Projektmanagements
- 8.2 Das Vorprojekt
- 8.3 Start des Projekts und Projektplanung
- 8.4 Aufwands- und Kostenschätzung
- 8.5 Einige Verfahren zur Aufwandsschätzung
- 8.6 Schätzung in agilen Projekten
- 8.7 Risikomanagement
- 8.8 Projektkontrolle und -steuerung
- 8.9 Der Projektabschluss
- 8.10 Projektmanagement als Führungsaufgabe
- 9 Vorgehensmodelle
- 9.1 Code and Fix und der Software Life Cycle
- 9.2 Schwierigkeiten mit dem Wasserfallmodell
- 9.3 Die Klassifikation der Programme nach Lehman
- 9.4 Prototyping
- 9.5 Nichtlineare Vorgehensmodelle
- 9.6 Das Spiralmodell
- 10 Prozessmodelle
- 10.1 Begriffe und Definitionen
- 10.2 Das Phasenmodell
- 10.3 Das V-Modell
- 10.4 Der Unified Process
- 10.5 Cleanroom Development
- 10.6 Agile Prozesse
- 11 Bewertung und Verbesserung des Software-Prozesses
- 11.1 Voraussetzungen hoher Software-Qualität
- 11.2 Reifegradmodelle für die Prozessbewertung
- 11.3 Die CMM/CMMI-Reifegradmodelle
- 11.4 Fazit
- 11.5 Verbesserung des Software-Prozesses
-
Teil III Daueraufgaben im Software-Projekt
- 12 Dokumentation in der Software-Entwicklung
- 12.1 Begriff und Einordnung
- 12.2 Ziele und Wirtschaftlichkeit der Dokumentation
- 12.3 Taxonomie der Dokumente
- 12.4 Die Benutzungsdokumentation
- 12.5 Die Qualität der Dokumente
- 12.6 Vorlagen und Normen für Dokumente
- 12.7 Dokumentation in der Praxis
- 12.8 Die gefälschte Entstehungsgeschichte
- 13 Software-Qualitätssicherung und -Prüfung
- 13.1 Software-Qualitätssicherung
- 13.2 Prüfungen
- 13.3 Mängel und Fehler
- 13.4 Prüfungen im Überblick
- 13.5 Reviews
- 13.6 Varianten der Software-Inspektion
- 14 Metriken und Bewertungen
- 14.1 Metriken, Begriff und Taxonomie
- 14.2 Objektive Metriken – Messungen
- 14.3 Subjektive Metriken – Beurteilungen
- 14.4 Pseudometriken
- 14.5 Die Suche nach der geeigneten Metrik
- 14.6 Ein Beispiel für die Entwicklung einer Metrik
- 14.7 Hinweise für die praktische Arbeit
-
Teil IV Techniken der Software-Bearbeitung
- 15 Analyse und Spezifikation
- 15.1 Die Bedeutung der Spezifikation im Entwicklungsprozess
- 15.2 Die Analyse
- 15.3 Begriffslexikon und Begriffsmodell
- 15.4 Anforderungen
- 15.5 Die Spezifikation im Überblick
- 15.6 Die Darstellung der Spezifikation
- 15.7 Konzepte und Komponenten der Spezifikation
- 15.8 Muster und Normen für die Spezifikation
- 15.9 Regeln für Analyse und Spezifikation
- 16 Entwurf
- 16.1 Ziele und Bedeutung des Entwurfs
- 16.2 Begriffe
- 16.3 Prinzipien des Architekturentwurfs
- 16.4 Architekturmuster
- 16.5 Entwurfsmuster
- 16.6 Weitere Arten der Wiederwendung von Architekturen
- 16.7 Der Entwurf von Anwendungssoftware
- 16.8 Die Qualität der Architektur
- 17 Codierung
- 17.1 Programmiersprachen als Werkstoffe
- 17.2 Regeln für die Codierung
- 17.3 Die Dokumentation des Codes
- 17.4 Realisierungen des Information Hiding
- 17.5 Robuste Programme
- 17.6 Das Vertragsmodell
- 17.7 Werkzeuge zur Codierung
- 18 Programmtest
- 18.1 Begriffe und Grundlagen des Tests
- 18.2 Einige spezielle Testbegriffe
- 18.3 Die Testdurchführung
- 18.4 Die Auswahl der Testfälle
- 18.5 Der Black-Box-Test
- 18.6 Der Glass-Box-Test
- 18.7 Testen mit Zufallsdaten
- 18.8 Beispiele zum Test
- 18.9 Werkzeuge für den Test
- 18.10 Ausblick
- 19 Integration
- 19.1 Einbettung der Integration in die Software-Entwicklung
- 19.2 Integrationsstrategien
- 19.3 Probleme der Integration
- 19.4 Planung und Dokumentation der Integration
- 19.5 Grundsätze für die Integration
-
Teil V Verwaltung und Erhaltung von Software
- 20 Konfigurationsverwaltung
- 20.1 Grundlagen der Konfigurationsverwaltung
- 20.2 Die Aufgaben der Konfigurationsverwaltung
- 20.3 Benennung und Identifikation von Software-Einheiten
- 20.4 Arbeitsumgebungen für die Software-Bearbeitung
- 20.5 Automatisierte Software-Auslieferung
- 21 Software-Wartung
- 21.1 Begriff und Taxonomie der Software-Wartung
- 21.2 Inhalt und Ablauf der Wartung
- 21.3 Risiken, Probleme und Grundsätze der Wartung
- 21.4 Die Wartungsorganisation
- 22 Reengineering
- 22.1 Software-Evolution
- 22.2 Reengineering
- 22.3 Refactoring
- 22.4 Erblasten, Legacy Software
- 22.5 Technische Schulden
- 23 Wiederverwendung
- 23.1 Die alltägliche Wiederverwendung
- 23.2 Terminologie und Taxonomie der Wiederverwendung
- 23.3 Kosten und Nutzen der Wiederverwendung
- 23.4 Chancen und Probleme der Wiederverwendung
- 23.5 Rahmenbedingungen für die Wiederverwendung
- 23.6 Entwicklungstechniken für die Wiederverwendung
- 23.7 Von der Codierung zur Komposition
- Teil VI Software Engineering lehren
- Teil VII Literatur und Index
Product information
- Title: Software Engineering, 4th Edition
- Author(s):
- Release date: January 2023
- Publisher(s): dpunkt
- ISBN: 9783864905988
You might also like
book
Software Engineering, 3rd Edition
sehr bekannte und in der Community hoch angesehene Autoren+ solides, didaktisch hervorragend aufgebautes kompaktes Lehrbuch+ Buch …
book
Basiswissen Softwaretest , 6th Edition
Mit dem »Certified-Tester«-Programm wurde ein international standardisiertes Aus- und Weiterbildungsschema für Softwaretester etabliert. Das Buch umfasst …
book
Basiswissen Softwarearchitektur, 3rd Edition
Fundierter Einstieg und Überblick
book
Basiswissen Requirements Engineering, 5th Edition
Dieses Lehrbuch umfasst den erforderlichen Stoff zum Ablegen der Prüfung »Certified Professional for Requirements Engineering (Foundation …