Bültmann & Gerriets

Computer, Naturwissenschaften,Technik & Digitale Fotografie / Web / Softwareentwicklung
Handbuch für Softwareentwickler
Das Standardwerk für professionelles Software Engineering
von Veikko Krypczyk, Elena Bochkor
Verlag: Rheinwerk Verlag GmbH
Reihe: Rheinwerk Computing
Gebundene Ausgabe
ISBN: 978-3-8362-7977-2
Auflage: 2. Auflage
Erschienen am 23.12.2021
Sprache: Deutsch
Format: 242 mm [H] x 188 mm [B] x 55 mm [T]
Gewicht: 1768 Gramm
Umfang: 896 Seiten

Preis: 49,90 €
keine Versandkosten (Inland)


Bei uns vorrätig (2. Obergeschoss)

Der Versand innerhalb der Stadt erfolgt in Regel am gleichen Tag.
Der Versand nach außerhalb dauert mit Post/DHL meistens 1-2 Tage.

49,90 €
merken
zum E-Book (EPUB) 34,93 €
klimaneutral
Der Verlag produziert nach eigener Angabe noch nicht klimaneutral bzw. kompensiert die CO2-Emissionen aus der Produktion nicht. Daher übernehmen wir diese Kompensation durch finanzielle Förderung entsprechender Projekte. Mehr Details finden Sie in unserer Klimabilanz.
Biografische Anmerkung
Inhaltsverzeichnis
Klappentext

Prof. 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.




       Materialien zum Buch ... 20
       Vorwort ... 21
TEIL I.  Überblick ... 23
  1.  Überblick ... 25
       1.1 ... Berufswunsch Softwareentwickler ... 25
       1.2 ... Über dieses Buch ... 32
       1.3 ... Quellen der zitierten Statistiken ... 37
  2.  Programmierung als Kern der Softwareentwicklung ... 39
       2.1 ... Die Programmierung ... 39
       2.2 ... Paradigmen der Softwareentwicklung ... 43
       2.3 ... Objektorientierte Programmentwicklung ... 44
       2.4 ... Programmiersprachen ... 66
       2.5 ... Essenzielle Sprachmerkmale ... 76
       2.6 ... Fazit und Ausblick ... 106
       2.7 ... Literatur und Links ... 107
  3.  Algorithmen und Datenstrukturen ... 109
       3.1 ... Algorithmen als Kernelemente des Programms ... 110
       3.2 ... Entwurf von Algorithmen ... 115
       3.3 ... Sortieren und Suchen als Basisalgorithmen ... 128
       3.4 ... Elementare Datenstrukturen ... 148
       3.5 ... Zusammenfassung und Ausblick ... 170
       3.6 ... Literatur und Links ... 172
TEIL II.  Der Softwarelebenszyklus ... 175
  4.  Softwareprojekte professionell planen ... 177
       4.1 ... Der Wasserfall ... 178
       4.2 ... Iterative Entwicklung -- schrittweise zum Ziel ... 183
       4.3 ... Das V-Modell -- eine Struktur hauptsächlich für Projekte der öffentlichen Hand ... 185
       4.4 ... Bessere Risikobeherrschung durch das Spiralmodell ... 186
       4.5 ... Agile Ansätze -- der Komplexität und Unsicherheit mit Flexibilität begegnen ... 187
       4.6 ... Softwareentwicklung und die Schnittstellen zum Projektmanagement ... 199
       4.7 ... Ist Agilität heute alternativlos? ... 207
       4.8 ... Literatur und Links ... 209
  5.  Die Anforderungsanalyse -- Startpunkt der Entwicklung ... 211
       5.1 ... Überblick und Zielstellung ... 211
       5.2 ... Ausgangssituation und Notwendigkeit ... 214
       5.3 ... Anforderungen ermitteln ... 218
       5.4 ... Klassische Anforderungsanalyse ... 237
       5.5 ... Agile Anforderungsanalyse ... 248
       5.6 ... Toolunterstützung ... 252
       5.7 ... Fazit ... 256
       5.8 ... Literatur und Links ... 256
  6.  Der Entwurf des Softwaresystems ... 259
       6.1 ... Die Softwarearchitektur als Basis für Erfolg und Wartbarkeit eines Softwaresystems ... 260
       6.2 ... Architekturparadigmen ... 266
       6.3 ... Entwurfsmuster als Baupläne ... 291
       6.4 ... Entwurfsunterstützung durch grafische Modellierung ... 297
       6.5 ... Weitere Entwurfsentscheidungen ... 301
       6.6 ... Erfolgreiche Entwürfe mithilfe von Prototypen ... 304
       6.7 ... Zusammenfassung und Fazit ... 312
       6.8 ... Literatur und Links ... 313
  7.  Die Implementierung schafft den Kern der Anwendung ... 315
       7.1 ... Die Entwicklung der Benutzerschnittstelle ... 316
       7.2 ... Die Businesslogik umsetzen ... 346
       7.3 ... Die Datenwelt anbinden ... 348
       7.4 ... Zusammenfassung und Fazit ... 351
       7.5 ... Literatur und Links ... 351
  8.  Testen als Voraussetzung für fehlerarme Software ... 353
       8.1 ... Zur Notwendigkeit von Softwaretests ... 354
       8.2 ... Testgetriebene Entwicklung ... 355
       8.3 ... Ein Überblick über wichtige Testarten ... 357
       8.4 ... Testmethoden ... 361
       8.5 ... Testebenen ... 369
       8.6 ... Technik des Testens ... 387
       8.7 ... Fazit und Zusammenfassung ... 391
       8.8 ... Literatur und Links ... 391
  9.  Distribution -- das Produkt muss zum Kunden ... 393
       9.1 ... Die Softwaredistribution im Überblick ... 394
       9.2 ... Automatisierte Softwareverteilung ... 405
       9.3 ... Verbesserte Zusammenarbeit durch DevOps ... 408
       9.4 ... Die Nutzung der App Stores ... 411
       9.5 ... Die Technik der Softwarebereitstellung ... 417
       9.6 ... Fazit ... 437
       9.7 ... Literatur und Links ... 437
10.  Vom Altsystem zur zeitgemäßen Anwendung ... 439
       10.1 ... Technologien im Wandel ... 440
       10.2 ... Notwendigkeit einer Softwaremigration ... 442
       10.3 ... Ziele einer Softwaremigration ... 444
       10.4 ... Planung der Migration ... 444
       10.5 ... Migrationsstrategien ... 447
       10.6 ... Arten der Migration ... 451
       10.7 ... Wirtschaftlichkeitsbetrachtungen ... 453
       10.8 ... Stolpersteine ... 454
       10.9 ... Eine Fallstudie ... 455
       10.10 ... Literatur und Links ... 473
TEIL III.  Technologien und Methoden ... 475
11.  Webtechnologien ... 477
       11.1 ... Einführung ... 477
       11.2 ... Zusammenspiel von HTML, CSS und JavaScript ... 478
       11.3 ... Die Struktur einer Webseite mit HTML ... 480
       11.4 ... HTML Basics ... 481
       11.5 ... Das Layout und das Design einer Webseite mit CSS ... 487
       11.6 ... Logik und Interaktion mit JavaScript ... 504
       11.7 ... Klassenbibliotheken und Frameworks ... 519
       11.8 ... Fazit ... 529
       11.9 ... Literatur und Links ... 529
12.  Apps für mobile Systeme ... 531
       12.1 ... Arten von Apps ... 533
       12.2 ... Native Apps ... 535
       12.3 ... Web-Apps ... 553
       12.4 ... Hybride Apps ... 555
       12.5 ... Plattformübergreifende Ansätze ... 557
       12.6 ... Auswahlkriterien ... 571
       12.7 ... Sensoren ... 577
       12.8 ... Emulation und Simulation ... 584
       12.9 ... Backend as Service ... 591
       12.10 ... Fazit ... 599
       12.11 ... Literatur und Links ... 599
13.  Plattform- und geräteübergreifende Entwicklung ... 601
       13.1 ... Nutzerinnen und Nutzer im Fokus ... 602
       13.2 ... Ansätze für die plattformübergreifende Entwicklung ... 604
       13.3 ... Ein Beispiel mit RAD Studio ... 614
       13.4 ... Fazit ... 617
       13.5 ... Literatur und Links ... 618
14.  Parallelprogrammierung ... 619
       14.1 ... Systemtechnische Ebene ... 620
       14.2 ... Anwendungsebene ... 626
       14.3 ... Programmiertechnische Ebene ... 634
       14.4 ... Zusammenfassung ... 638
       14.5 ... Literatur und Links ... 638
15.  Kundenzufriedenheit durch Nutzerorientierung ... 641
       15.1 ... Die Nutzer im Fokus ... 644
       15.2 ... Benutzerschnittstellen im Wandel ... 648
       15.3 ... Gestaltung von Benutzeroberflächen ... 660
       15.4 ... Literatur und Links ... 668
16.  Datensicherheit und Datenschutz ... 671
       16.1 ... Begriffe und Angrenzungen ... 674
       16.2 ... Überblick über die Datenschutz-Grundverordnung ... 676
       16.3 ... Datenschutz und Cloud-Computing ... 679
       16.4 ... Technischer Datenschutz ... 681
       16.5 ... Fazit ... 697
       16.6 ... Literatur und Links ... 697
17.  Grundlagen der Datenhaltung ... 699
       17.1 ... Datenbank -- ein Ort, um Ordnung zu halten ... 699
       17.2 ... Phasen der Datenbankentwicklung ... 708
       17.3 ... Relationale Datenbanken ... 711
       17.4 ... NoSQL-Datenbanken ... 726
       17.5 ... Fazit und Ausblick ... 735
       17.6 ... Literatur und Links ... 735
18.  Werkzeugunterstützung ... 737
       18.1 ... Die Rolle von Werkzeugen ... 738
       18.2 ... Integrierte Entwicklungsumgebungen als Multifunktionswerkzeuge ... 739
       18.3 ... Versionsverwaltungen als Voraussetzung für eine erfolgreiche Entwicklung ... 744
       18.4 ... Weitere Softwaretools für die Entwicklung ... 754
       18.5 ... Fazit und Ausblick ... 758
       18.6 ... Literatur und Links ... 759
19.  Qualitätssicherung und Clean Code Development ... 761
       19.1 ... Das Verständnis von Softwarequalität ... 761
       19.2 ... Ansätze zur Bestimmung der Softwarequalität ... 764
       19.3 ... Softwarequalität zwischen Nutzen und Kosten ... 769
       19.4 ... Qualität verbessern ... 771
       19.5 ... Eine gesunde Fehlerkultur ... 786
       19.6 ... Fazit und Zusammenfassung ... 793
       19.7 ... Literatur und Links ... 793
TEIL IV.  Trends ... 795
20.  Enterprise Mobile Computing ... 797
       20.1 ... Einsatzszenarien ... 798
       20.2 ... Bring Your Own Device ... 807
       20.3 ... Technische Aspekte für Enterprise Mobile Computing ... 817
       20.4 ... Fazit und Ausblick ... 829
       20.5 ... Literatur und Links ... 829
21.  Internet of Things ... 831
       21.1 ... Stand heute und Zukunftsszenarien ... 832
       21.2 ... IoT-Infrastruktur ... 841
       21.3 ... Hardware auf kleinstem Raum ... 850
       21.4 ... Fallbeispiel: Windows 10 auf dem Raspberry Pi ... 854
       21.5 ... Fazit und Ausblick ... 866
       21.6 ... Literatur und Links ... 867
22.  Cloud-Computing ... 869
       22.1 ... Grundlagen des Cloud-Computings ... 870
       22.2 ... Ökonomische Gesichtspunkte ... 876
       22.3 ... Cloud-Computing als Werkzeug der Softwareentwicklung ... 881
       22.4 ... Fazit ... 885
       22.5 ... Literatur und Links ... 885
  Index ... 887



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. Das Autorenteam gibt 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



andere Formate
ähnliche Titel
weitere Titel der Reihe