Handbuch für Softwareentwickler

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 Beispielprojekte zum Download
Nicht lieferbar | Lieferzeit: Nicht lieferbar I

49,90 €*

Alle Preise inkl. MwSt. | Versandkostenfrei
Artikel-Nr:
9783836244763
Veröffentl:
2018
Seiten:
701
Autor:
Veikko Krypczyk
Gewicht:
1418 g
Format:
244x174x40 mm
Sprache:
Deutsch
Beschreibung:

Krypczyk, VeikkoProf. Dr. Veikko Krypczyk lehrt u. a. Informatik und Wirtschaftsinformatik. Darüber hinaus ist er Softwareentwickler mit Leidenschaft und begeistert sich für moderne Technologien und Vorgehensweisen. Er publiziert regelmäßig in Fachzeitschriften und spricht auf IT-Konferenzen.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.

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 gut erläuterten Fachbegriffe sind dabei niemals Selbstzweck, sondern stehen im Dienst der Kunst, für Ihre Kunden gute Software zu entwickeln.

Aus dem Inhalt:

  • Grundlagen: Algorithmen und Datenstrukturen
  • Anforderungsanalyse, Planung und Entwurf
  • Gelungene User Interfaces
  • Kundenzufriedenheit und Benutzerfreundlichkeit
  • Migration - vom Altsystem zur zeitgemäßen Anwendung
  • Datensicherheit, Datenschutz und Verschlüsselung
  • Guter Code und Qualitätsmaßstäbe
  • Plattformübergreifende Entwicklung
  • Parallelprogrammierung
  • Softwaretesting
  • Mobile Computing im Enterprise-Umfeld
  • Überblick über Werkzeuge wie Entwicklungsumgebungen und Versionsverwaltung

Mit realen Beispielen, vielen Grafiken und Best Practices

Vorwort ... 17

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

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.