Handbuch für Softwareentwickler
Das Lehr- und Nachschlagewerk für professionelles Software Engineering. Grundlagen, Requirements Engineering, Clean Code u. v. m. Mit realen Beispielen, vielen Grafiken und Best Practices. Alle Beispielp
Handbuch für Softwareentwickler
Das Lehr- und Nachschlagewerk für professionelles Software Engineering. Grundlagen, Requirements Engineering, Clean Code u. v. m. Mit realen Beispielen, vielen Grafiken und Best Practices. Alle Beispielp
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Das Standardwerk für professionelles Software Engineering. Jeder Entwickler weiß, dass es mit der Kenntnis von Sprachen und Programmierplattformen nicht getan ist. Wer erfolgreich Software entwickeln möchte, sollte mit vielen Fachgebieten und Methoden vertraut sein - von der Architektur über Datenhaltung, Anforderungsmanagement, Sicherheitsfragen bis zum Projektmanagement. Hier finden Sie eine umfassende Behandlung dieser Themenvielfalt. Die Autoren geben praktische Empfehlungen zu grundlegenden und aktuellen Fragen der professionellen Softwareentwicklung. Das theoretische Fundament und die…mehr
- Martin FowlerRefactoring10,00 €
- Joachim GollArchitektur- und Entwurfsmuster der Softwaretechnik24,99 €
- Peter HruschkaKnigge für Softwarearchitekten24,90 €
- Ian SommervilleSoftware Engineering59,95 €
- Marcus WinterollRequirements Engineering für Dummies30,00 €
- Ian SommervilleModernes Software-Engineering49,95 €
- Marcus Grande100 Minuten für Anforderungsmanagement44,99 €
Aus dem Inhalt:
Grundlagen: Algorithmen und DatenstrukturenAnforderungsanalyse, Planung und EntwurfGelungene User InterfacesKundenzufriedenheit und BenutzerfreundlichkeitMigration - vom Altsystem zur zeitgemäßen AnwendungDatensicherheit, Datenschutz und VerschlüsselungGuter Code und QualitätsmaßstäbePlattformübergreifende EntwicklungParallelprogrammierungSoftwaretestingMobile Computing im Enterprise-UmfeldÜberblick über Werkzeuge wie Entwicklungsumgebungen und Versionsverwaltung
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/04476
- Seitenzahl: 701
- Erscheinungstermin: 23. März 2018
- Deutsch
- Abmessung: 244mm x 174mm x 40mm
- Gewicht: 1418g
- ISBN-13: 9783836244763
- ISBN-10: 3836244764
- Artikelnr.: 50171120
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/04476
- Seitenzahl: 701
- Erscheinungstermin: 23. März 2018
- Deutsch
- Abmessung: 244mm x 174mm x 40mm
- Gewicht: 1418g
- ISBN-13: 9783836244763
- ISBN-10: 3836244764
- Artikelnr.: 50171120
Bochkor, OlenaOlena Bochkor hat Betriebswirtschaft mit dem Schwerpunkt Wirtschaftsinformatik studiert. Ihr Arbeitsschwerpunkt ist der Entwurf und das Design moderner und kundengerechter Benutzeroberflächen. Sie publiziert regelmäßig in Fachzeitschriften und spricht auf IT-Konferenzen.
TEIL I Überblick ... 19
1. Überblick ... 21
1.1 ... Berufswunsch Softwareentwickler ... 21
1.2 ... Über dieses Buch ... 28
1.3 ... Literatur und Links ... 34
2. Programmierung als Kern der Softwareentwicklung ... 35
2.1 ... Die Programmierung ... 35
2.2 ... Paradigmen der Softwareentwicklung ... 39
2.3 ... Objektorientierte Programmentwicklung ... 40
2.4 ... Programmiersprachen ... 62
2.5 ... Essenzielle Sprachmerkmale ... 72
2.6 ... Fazit und Ausblick ... 103
2.7 ... Literatur und Links ... 104
3. Algorithmen und Datenstrukturen ... 105
3.1 ... Algorithmen als Kernelemente des Programms ... 106
3.2 ... Entwurf von Algorithmen ... 111
3.3 ... Sortieren und Suchen als Basis-Algorithmen ... 123
3.4 ... Elementare Datenstrukturen ... 138
3.5 ... Zusammenfassung und Ausblick ... 160
3.6 ... Literatur und Links ... 162
TEIL II Der Softwarelebenszyklus ... 165
4. Softwareprojekte professionell planen ... 167
4.1 ... Der Wasserfall - mehr als nur historische Bedeutung ... 168
4.2 ... Iterative Entwicklung - schrittweise zum Ziel ... 173
4.3 ... Das V-Modell - eine Struktur hauptsächlich für Projekte der öffentlichen Hand ... 175
4.4 ... Bessere Risikobeherrschung durch das Spiralmodell ... 176
4.5 ... Agile Ansätze - der Komplexität und Unsicherheit mit Flexibilität begegnen ... 177
4.6 ... Softwareentwicklung und die Schnittstellen zum Projektmanagement ... 187
4.7 ... Ist Agilität heute alternativlos? ... 194
4.8 ... Literatur und Links ... 197
5. Die Anforderungsanalyse - Startpunkt der Entwicklung ... 199
5.1 ... Überblick und Zielstellung ... 199
5.2 ... Ausgangssituation und Notwendigkeit ... 202
5.3 ... Anforderungen ermitteln ... 207
5.4 ... Anforderungen formulieren und visualisieren ... 219
5.5 ... Tool-Unterstützung ... 230
5.6 ... Diskussion im Kontext agilen Vorgehens ... 234
5.7 ... Fazit ... 237
5.8 ... Literatur und Links ... 237
6. Der Entwurf des Softwaresystems ... 239
6.1 ... Die Softwarearchitektur als Basis für Erfolg und Wartbarkeit eines Softwaresystems ... 240
6.2 ... Architekturparadigmen ... 246
6.3 ... Entwurfsmuster als Baupläne ... 259
6.4 ... Entwurfsunterstützung durch grafische Modellierung ... 265
6.5 ... Weitere Entwurfsentscheidungen ... 269
6.6 ... Erfolgreiche Entwürfe mithilfe von Prototypen ... 270
6.7 ... Zusammenfassung und Fazit ... 279
6.8 ... Literatur und Links ... 279
7. Die Implementierung schafft den Kern der Anwendung ... 281
7.1 ... Die Entwicklung der Benutzerschnittstelle ... 282
7.2 ... Die Businesslogik umsetzen ... 311
7.3 ... Die Datenwelt anbinden ... 313
7.4 ... Zusammenfassung und Fazit ... 316
7.5 ... Literatur und Links ... 317
8. Testen als Voraussetzung für fehlerarme Software ... 319
8.1 ... Zur Notwendigkeit von Softwaretests ... 320
8.2 ... Testgetriebene Entwicklung ... 321
8.3 ... Ein Überblick über wichtige Testarten ... 323
8.4 ... Testmethoden ... 327
8.5 ... Testebenen ... 335
8.6 ... Technik des Testens ... 353
8.7 ... Fazit und Zusammenfassung ... 357
8.8 ... Literatur und Links ... 357
9. Distribution - das Produkt muss zum Kunden ... 359
9.1 ... Die Softwaredistribution im Überblick ... 360
9.2 ... Die App-Store-Revolution ... 370
9.3 ... DevOps - der Kreis schließt sich ... 376
9.4 ... Die Technik der Softwarebereitstellung ... 380
9.5 ... Literatur und Links ... 392
10. Vom Altsystem zur zeitgemäßen Anwendung ... 393
10.1 ... Technologien im Wandel ... 394
10.2 ... Notwendigkeit einer Software-Migration ... 396
10.3 ... Ziele einer Software-Migration ... 398
10.4 ... Planung der Migration ... 398
10.5 ... Migrationsstrategien ... 401
10.6 ... Arten der Migration ... 405
10.7 ... Wirtschaftlichkeitsbetrachtungen ... 406
10.8 ... Eine Fallstudie ... 407
10.9 ... Literatur und Links ... 416
TEIL III Technologien und Methoden ... 417
11. Kundenzufriedenheit durch Nutzerorientierung ... 419
11.1 ... Der Nutzer im Fokus ... 421
11.2 ... Benutzerschnittstellen im Wandel ... 424
11.3 ... Gestaltung von Benutzeroberflächen ... 433
11.4 ... Literatur und Links ... 441
12. Datensicherheit und Datenschutz ... 443
12.1 ... Begriffe und Angrenzungen ... 445
12.2 ... Dilemma: Globale Technik und lokale Gesetzgebung ... 447
12.3 ... Betrieblicher Datenschutz ... 449
12.4 ... Datenschutz und Mobile Computing ... 450
12.5 ... Datenschutz und Cloud-Computing ... 453
12.6 ... Sichere Kommunikation durch Verschlüsselung ... 454
12.7 ... Fazit ... 461
12.8 ... Literatur und Links ... 462
13. Plattform- und geräteübergreifende Entwicklung ... 463
13.1 ... Systemumgebungen im Einsatz ... 463
13.2 ... Ansätze für die geräte- und plattformübergreifende Entwicklung ... 471
13.3 ... Mobile Computing als Motivationstreiber ... 475
13.4 ... Fazit ... 500
13.5 ... Literatur und Links ... 500
14. Parallelprogrammierung ... 503
14.1 ... Systemtechnische Ebene ... 504
14.2 ... Anwendungsebene ... 510
14.3 ... Programmiertechnische Ebene ... 518
14.4 ... Zusammenfassung ... 522
14.5 ... Literatur und Links ... 523
15. Grundlagen der Datenhaltung ... 525
15.1 ... Datenbank - ein Ort, um Ordnung zu halten ... 525
15.2 ... Phasen der Datenbankentwicklung ... 534
15.3 ... NoSQL-Datenbanken und Fazit ... 551
15.4 ... Literatur und Links ... 553
16. Werkzeugunterstützung ... 555
16.1 ... Die Rolle von Werkzeugen ... 556
16.2 ... Integrierte Entwicklungsumgebungen als Multifunktionswerkzeuge ... 557
16.3 ... Versionsverwaltungen als Voraussetzung für eine erfolgreiche Entwicklung ... 564
16.4 ... Weitere Softwaretools für die Entwicklung ... 574
16.5 ... Fazit und Ausblick ... 579
16.6 ... Literatur und Links ... 580
17. Qualitätssicherung und Clean Code Development ... 581
17.1 ... Das Verständnis von Softwarequalität ... 581
17.2 ... Ansätze zur Bestimmung der Softwarequalität ... 584
17.3 ... Softwarequalität zwischen Nutzen und Kosten ... 589
17.4 ... Qualität verbessern ... 591
17.5 ... Eine gesunde Fehlerkultur ... 606
17.6 ... Fazit und Zusammenfassung ... 613
17.7 ... Literatur und Links ... 614
TEIL IV Trends ... 615
18. Enterprise Mobile Computing ... 617
18.1 ... Einsatzszenarien ... 618
18.2 ... Bring Your Own Device ... 627
18.3 ... Technische Aspekte für Enterprise Mobile Computing ... 637
18.4 ... Literatur und Links ... 647
19. Internet of Things ... 649
19.1 ... Stand heute und Zukunftsszenarien ... 650
19.2 ... IoT-Architekturansätze ... 656
19.3 ... Hardware auf kleinstem Raum ... 660
19.4 ... Fallbeispiel: Windows 10 auf dem Raspberry Pi ... 665
19.5 ... Fazit und Ausblick ... 672
19.6 ... Literatur und Links ... 672
20. Cloud-Computing ... 675
20.1 ... Grundlagen des Cloud-Computings ... 677
20.2 ... Ökonomische Gesichtspunkte ... 683
20.3 ... Cloud-Computing als Werkzeug der Softwareentwicklung ... 688
20.4 ... Fazit ... 692
20.5 ... Literatur und Links ... 692
Index ... 693
TEIL I Überblick ... 19
1. Überblick ... 21
1.1 ... Berufswunsch Softwareentwickler ... 21
1.2 ... Über dieses Buch ... 28
1.3 ... Literatur und Links ... 34
2. Programmierung als Kern der Softwareentwicklung ... 35
2.1 ... Die Programmierung ... 35
2.2 ... Paradigmen der Softwareentwicklung ... 39
2.3 ... Objektorientierte Programmentwicklung ... 40
2.4 ... Programmiersprachen ... 62
2.5 ... Essenzielle Sprachmerkmale ... 72
2.6 ... Fazit und Ausblick ... 103
2.7 ... Literatur und Links ... 104
3. Algorithmen und Datenstrukturen ... 105
3.1 ... Algorithmen als Kernelemente des Programms ... 106
3.2 ... Entwurf von Algorithmen ... 111
3.3 ... Sortieren und Suchen als Basis-Algorithmen ... 123
3.4 ... Elementare Datenstrukturen ... 138
3.5 ... Zusammenfassung und Ausblick ... 160
3.6 ... Literatur und Links ... 162
TEIL II Der Softwarelebenszyklus ... 165
4. Softwareprojekte professionell planen ... 167
4.1 ... Der Wasserfall - mehr als nur historische Bedeutung ... 168
4.2 ... Iterative Entwicklung - schrittweise zum Ziel ... 173
4.3 ... Das V-Modell - eine Struktur hauptsächlich für Projekte der öffentlichen Hand ... 175
4.4 ... Bessere Risikobeherrschung durch das Spiralmodell ... 176
4.5 ... Agile Ansätze - der Komplexität und Unsicherheit mit Flexibilität begegnen ... 177
4.6 ... Softwareentwicklung und die Schnittstellen zum Projektmanagement ... 187
4.7 ... Ist Agilität heute alternativlos? ... 194
4.8 ... Literatur und Links ... 197
5. Die Anforderungsanalyse - Startpunkt der Entwicklung ... 199
5.1 ... Überblick und Zielstellung ... 199
5.2 ... Ausgangssituation und Notwendigkeit ... 202
5.3 ... Anforderungen ermitteln ... 207
5.4 ... Anforderungen formulieren und visualisieren ... 219
5.5 ... Tool-Unterstützung ... 230
5.6 ... Diskussion im Kontext agilen Vorgehens ... 234
5.7 ... Fazit ... 237
5.8 ... Literatur und Links ... 237
6. Der Entwurf des Softwaresystems ... 239
6.1 ... Die Softwarearchitektur als Basis für Erfolg und Wartbarkeit eines Softwaresystems ... 240
6.2 ... Architekturparadigmen ... 246
6.3 ... Entwurfsmuster als Baupläne ... 259
6.4 ... Entwurfsunterstützung durch grafische Modellierung ... 265
6.5 ... Weitere Entwurfsentscheidungen ... 269
6.6 ... Erfolgreiche Entwürfe mithilfe von Prototypen ... 270
6.7 ... Zusammenfassung und Fazit ... 279
6.8 ... Literatur und Links ... 279
7. Die Implementierung schafft den Kern der Anwendung ... 281
7.1 ... Die Entwicklung der Benutzerschnittstelle ... 282
7.2 ... Die Businesslogik umsetzen ... 311
7.3 ... Die Datenwelt anbinden ... 313
7.4 ... Zusammenfassung und Fazit ... 316
7.5 ... Literatur und Links ... 317
8. Testen als Voraussetzung für fehlerarme Software ... 319
8.1 ... Zur Notwendigkeit von Softwaretests ... 320
8.2 ... Testgetriebene Entwicklung ... 321
8.3 ... Ein Überblick über wichtige Testarten ... 323
8.4 ... Testmethoden ... 327
8.5 ... Testebenen ... 335
8.6 ... Technik des Testens ... 353
8.7 ... Fazit und Zusammenfassung ... 357
8.8 ... Literatur und Links ... 357
9. Distribution - das Produkt muss zum Kunden ... 359
9.1 ... Die Softwaredistribution im Überblick ... 360
9.2 ... Die App-Store-Revolution ... 370
9.3 ... DevOps - der Kreis schließt sich ... 376
9.4 ... Die Technik der Softwarebereitstellung ... 380
9.5 ... Literatur und Links ... 392
10. Vom Altsystem zur zeitgemäßen Anwendung ... 393
10.1 ... Technologien im Wandel ... 394
10.2 ... Notwendigkeit einer Software-Migration ... 396
10.3 ... Ziele einer Software-Migration ... 398
10.4 ... Planung der Migration ... 398
10.5 ... Migrationsstrategien ... 401
10.6 ... Arten der Migration ... 405
10.7 ... Wirtschaftlichkeitsbetrachtungen ... 406
10.8 ... Eine Fallstudie ... 407
10.9 ... Literatur und Links ... 416
TEIL III Technologien und Methoden ... 417
11. Kundenzufriedenheit durch Nutzerorientierung ... 419
11.1 ... Der Nutzer im Fokus ... 421
11.2 ... Benutzerschnittstellen im Wandel ... 424
11.3 ... Gestaltung von Benutzeroberflächen ... 433
11.4 ... Literatur und Links ... 441
12. Datensicherheit und Datenschutz ... 443
12.1 ... Begriffe und Angrenzungen ... 445
12.2 ... Dilemma: Globale Technik und lokale Gesetzgebung ... 447
12.3 ... Betrieblicher Datenschutz ... 449
12.4 ... Datenschutz und Mobile Computing ... 450
12.5 ... Datenschutz und Cloud-Computing ... 453
12.6 ... Sichere Kommunikation durch Verschlüsselung ... 454
12.7 ... Fazit ... 461
12.8 ... Literatur und Links ... 462
13. Plattform- und geräteübergreifende Entwicklung ... 463
13.1 ... Systemumgebungen im Einsatz ... 463
13.2 ... Ansätze für die geräte- und plattformübergreifende Entwicklung ... 471
13.3 ... Mobile Computing als Motivationstreiber ... 475
13.4 ... Fazit ... 500
13.5 ... Literatur und Links ... 500
14. Parallelprogrammierung ... 503
14.1 ... Systemtechnische Ebene ... 504
14.2 ... Anwendungsebene ... 510
14.3 ... Programmiertechnische Ebene ... 518
14.4 ... Zusammenfassung ... 522
14.5 ... Literatur und Links ... 523
15. Grundlagen der Datenhaltung ... 525
15.1 ... Datenbank - ein Ort, um Ordnung zu halten ... 525
15.2 ... Phasen der Datenbankentwicklung ... 534
15.3 ... NoSQL-Datenbanken und Fazit ... 551
15.4 ... Literatur und Links ... 553
16. Werkzeugunterstützung ... 555
16.1 ... Die Rolle von Werkzeugen ... 556
16.2 ... Integrierte Entwicklungsumgebungen als Multifunktionswerkzeuge ... 557
16.3 ... Versionsverwaltungen als Voraussetzung für eine erfolgreiche Entwicklung ... 564
16.4 ... Weitere Softwaretools für die Entwicklung ... 574
16.5 ... Fazit und Ausblick ... 579
16.6 ... Literatur und Links ... 580
17. Qualitätssicherung und Clean Code Development ... 581
17.1 ... Das Verständnis von Softwarequalität ... 581
17.2 ... Ansätze zur Bestimmung der Softwarequalität ... 584
17.3 ... Softwarequalität zwischen Nutzen und Kosten ... 589
17.4 ... Qualität verbessern ... 591
17.5 ... Eine gesunde Fehlerkultur ... 606
17.6 ... Fazit und Zusammenfassung ... 613
17.7 ... Literatur und Links ... 614
TEIL IV Trends ... 615
18. Enterprise Mobile Computing ... 617
18.1 ... Einsatzszenarien ... 618
18.2 ... Bring Your Own Device ... 627
18.3 ... Technische Aspekte für Enterprise Mobile Computing ... 637
18.4 ... Literatur und Links ... 647
19. Internet of Things ... 649
19.1 ... Stand heute und Zukunftsszenarien ... 650
19.2 ... IoT-Architekturansätze ... 656
19.3 ... Hardware auf kleinstem Raum ... 660
19.4 ... Fallbeispiel: Windows 10 auf dem Raspberry Pi ... 665
19.5 ... Fazit und Ausblick ... 672
19.6 ... Literatur und Links ... 672
20. Cloud-Computing ... 675
20.1 ... Grundlagen des Cloud-Computings ... 677
20.2 ... Ökonomische Gesichtspunkte ... 683
20.3 ... Cloud-Computing als Werkzeug der Softwareentwicklung ... 688
20.4 ... Fazit ... 692
20.5 ... Literatur und Links ... 692
Index ... 693