Handbuch für Softwareentwickler - Das Standardwerk für professionelles Software Engineering

Gebundene Ausgabe
49,90 €
inkl. MwSt. versandkostenfrei!

Reduzierte Artikel in dieser Kategorie

Als Mängelexemplar1
3,99 € 29,70 €1

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 2. Auflage, 23.12.2021
Seiten 896
Format 17,5 x 5,4 x 24,3 cm
Gewicht 1761 g
ISBN-10 3836279770
ISBN-13 9783836279772
Bestell-Nr 83627977A

Produktbeschreibung  

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


Inhalt:


       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

Autorenporträt  
Mehr Angebote zum Thema