Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Liebe Leser! Inhaltsverzeichnis   Vorwort Teil I   Überblick 1   Überblick
1.1   Berufswunsch Softwareentwickler
1.1.1   Der Softwareentwickler – ein ganz besonderer Informatiker 1.1.2   Aktuelle Arbeitsmarktsituation und Verdienstmöglichkeiten
1.2   Über dieses Buch 1.3   Literatur und Links
2   Programmierung als Kern der Softwareentwicklung
2.1   Die Programmierung 2.2   Paradigmen der Softwareentwicklung 2.3   Objektorientierte Programmentwicklung
2.3.1   Objektorientierung im Überblick 2.3.2   Objektorientierte Konzepte im Detail 2.3.3   Objektorientierung und Wiederverwendung 2.3.4   Visualisierung: Objektorientierung und UML
2.4   Programmiersprachen
2.4.1   Historische Entwicklung und sprachliche Vielfalt 2.4.2   Die Systematik der Programmiersprachen
2.5   Essenzielle Sprachmerkmale
2.5.1   Kommentare 2.5.2   Operatoren und Vergleiche 2.5.3   Kontrollstrukturen 2.5.4   Objektorientierung
2.6   Fazit und Ausblick 2.7   Literatur und Links
3   Algorithmen und Datenstrukturen
3.1   Algorithmen als Kernelemente des Programms
3.1.1   Wichtige Klassen von Algorithmen 3.1.2   Komplexität von Algorithmen
3.2   Entwurf von Algorithmen
3.2.1   Vorgehensweise 3.2.2   Visualisierung des Ablaufs von Algorithmen 3.2.3   Fallbeispiele
3.3   Sortieren und Suchen als Basis-Algorithmen
3.3.1   Sortieren – das Wichtigste im Überblick 3.3.2   Such-Algorithmen im Überblick
3.4   Elementare Datenstrukturen
3.4.1   Datenobjekte 3.4.2   Systematik von Datenobjekten und Datentypen
3.5   Zusammenfassung und Ausblick 3.6   Literatur und Links
Teil II   Der Softwarelebenszyklus 4   Softwareprojekte professionell planen
4.1   Der Wasserfall – mehr als nur historische Bedeutung
4.1.1   Analyse 4.1.2   Entwurf 4.1.3   Implementierung 4.1.4   Test 4.1.5   Betrieb und Wartung 4.1.6   Kritische Betrachtung
4.2   Iterative Entwicklung – schrittweise zum Ziel 4.3   Das V-Modell – eine Struktur hauptsächlich für Projekte der öffentlichen Hand 4.4   Bessere Risikobeherrschung durch das Spiralmodell 4.5   Agile Ansätze – der Komplexität und Unsicherheit mit Flexibilität begegnen
4.5.1   Extreme Programming 4.5.2   Scrum
4.6   Softwareentwicklung und die Schnittstellen zum Projektmanagement
4.6.1   Personen und Rollen in IT-Projekten
4.7   Ist Agilität heute alternativlos? 4.8   Literatur und Links
5   Die Anforderungsanalyse – Startpunkt der Entwicklung
5.1   Überblick und Zielstellung 5.2   Ausgangssituation und Notwendigkeit 5.3   Anforderungen ermitteln
5.3.1   Quellen von Anforderungen 5.3.2   Anforderungen erforschen 5.3.3   Arten von Anforderungen 5.3.4   Verbindlichkeit und Priorität von Anforderungen
5.4   Anforderungen formulieren und visualisieren
5.4.1   Lastenheft 5.4.2   Pflichtenheft 5.4.3   Grafische Notation als Hilfsmittel
5.5   Tool-Unterstützung 5.6   Diskussion im Kontext agilen Vorgehens 5.7   Fazit 5.8   Literatur und Links
6   Der Entwurf des Softwaresystems
6.1   Die Softwarearchitektur als Basis für Erfolg und Wartbarkeit eines Softwaresystems
6.1.1   Ziele und Auswahlkriterien für eine Architektur 6.1.2   Architekturprinzipien
6.2   Architekturparadigmen
6.2.1   Monolithisches IT-System 6.2.2   Verteilte Architektur 6.2.3   Client-Server-Architektur 6.2.4   Serviceorientierte Architektur 6.2.5   Web-Architektur 6.2.6   Middleware
6.3   Entwurfsmuster als Baupläne
6.3.1   Fassaden-Muster 6.3.2   Model-View-Controller-Muster
6.4   Entwurfsunterstützung durch grafische Modellierung
6.4.1   Das Komponentendiagramm 6.4.2   Das Paketdiagramm 6.4.3   Das Verteilungsdiagramm
6.5   Weitere Entwurfsentscheidungen
6.5.1   Softwaretyp 6.5.2   Technologie
6.6   Erfolgreiche Entwürfe mithilfe von Prototypen
6.6.1   Arten von Prototypen 6.6.2   Wege und Tools zum Prototyp
6.7   Zusammenfassung und Fazit 6.8   Literatur und Links
7   Die Implementierung schafft den Kern der Anwendung
7.1   Die Entwicklung der Benutzerschnittstelle
7.1.1   Benutzeroberflächen in Java 7.1.2   Benutzeroberflächen auf Basis der Beschreibungssprache XAML 7.1.3   Im Turbogang zum User Interface: Rapid Application Development 7.1.4   Web-Technologien
7.2   Die Businesslogik umsetzen 7.3   Die Datenwelt anbinden
7.3.1   Java Database Connectivity 7.3.2   Entity Framework
7.4   Zusammenfassung und Fazit 7.5   Literatur und Links
8   Testen als Voraussetzung für fehlerarme Software
8.1   Zur Notwendigkeit von Softwaretests 8.2   Testgetriebene Entwicklung 8.3   Ein Überblick über wichtige Testarten 8.4   Testmethoden
8.4.1   Statische Tests 8.4.2   Dynamische Tests
8.5   Testebenen
8.5.1   Komponententests 8.5.2   Integrationstests 8.5.3   Systemtests 8.5.4   Abnahme- und Nutzertests
8.6   Technik des Testens
8.6.1   Tools 8.6.2   Test-Automation
8.7   Fazit und Zusammenfassung 8.8   Literatur und Links
9   Distribution – das Produkt muss zum Kunden
9.1   Die Softwaredistribution im Überblick
9.1.1   Die Merkmale von Software und ihre Auswirkungen auf den Vertrieb 9.1.2   Vertragliche und lizenzrechtliche Bestimmungen 9.1.3   Vertriebswege 9.1.4   Erlösmodelle
9.2   Die App-Store-Revolution
9.2.1   Vor- und Nachteile eines App Stores 9.2.2   Programminterne Stores 9.2.3   Vermarkungsstrategien 9.2.4   Präsentation im Store
9.3   DevOps – der Kreis schließt sich
9.3.1   Probleme durch eine künstliche Trennung der Zuständigkeiten 9.3.2   Verbesserte Zusammenarbeit
9.4   Die Technik der Softwarebereitstellung
9.4.1   Software für den Desktop 9.4.2   Apps für mobile Systeme 9.4.3   Automatisierte Softwareverteilung in Unternehmen
9.5   Literatur und Links
10   Vom Altsystem zur zeitgemäßen Anwendung
10.1   Technologien im Wandel 10.2   Notwendigkeit einer Software-Migration 10.3   Ziele einer Software-Migration 10.4   Planung der Migration 10.5   Migrationsstrategien 10.6   Arten der Migration 10.7   Wirtschaftlichkeitsbetrachtungen 10.8   Eine Fallstudie
10.8.1   Der Status quo 10.8.2   Einen technischen Migrationsansatz auswählen 10.8.3   Web-Applikationen mit Wisej
10.9   Literatur und Links
Teil III   Technologien und Methoden 11   Kundenzufriedenheit durch Nutzerorientierung
11.1   Der Nutzer im Fokus
11.1.1   Development versus Design 11.1.2   Personas – was sind sie?
11.2   Benutzerschnittstellen im Wandel
11.2.1   Command-line interface 11.2.2   Graphical User Interface 11.2.3   Natural User Interface
11.3   Gestaltung von Benutzeroberflächen
11.3.1   Objektive Merkmale und subjektives Empfinden 11.3.2   Software-Ergonomie 11.3.3   Designrichtlinien als Handlungsrahmen
11.4   Literatur und Links
12   Datensicherheit und Datenschutz
12.1   Begriffe und Angrenzungen 12.2   Dilemma: Globale Technik und lokale Gesetzgebung 12.3   Betrieblicher Datenschutz 12.4   Datenschutz und Mobile Computing 12.5   Datenschutz und Cloud-Computing 12.6   Sichere Kommunikation durch Verschlüsselung
12.6.1   Kryptografie 12.6.2   Digitale Signatur 12.6.3   Digitales Zertifikat
12.7   Fazit 12.8   Literatur und Links
13   Plattform- und geräteübergreifende Entwicklung
13.1   Systemumgebungen im Einsatz
13.1.1   Der Desktop 13.1.2   Der Webserver 13.1.3   Apps für mobile Geräte 13.1.4   Gerätetechnik – vom Smartphone bis zum Desktop
13.2   Ansätze für die geräte- und plattformübergreifende Entwicklung
13.2.1   Java 13.2.2   Universal Windows Platform
13.3   Mobile Computing als Motivationstreiber
13.3.1   App-Arten 13.3.2   Native Technologien 13.3.3   Hybride Technologien 13.3.4   Mit plattformübergreifender Programmierung zur nativen App 13.3.5   Weitere Ansätze
13.4   Fazit 13.5   Literatur und Links
14   Parallelprogrammierung
14.1   Systemtechnische Ebene
14.1.1   Prozesse und Threads 14.1.2   Zustände von Prozessen
14.2   Anwendungsebene
14.2.1   Parallelisierung von Algorithmen 14.2.2   Probleme und Erfolgsbestimmung
14.3   Programmiertechnische Ebene
14.3.1   Konzepte der Task Parallel Library 14.3.2   Reaktionsfähigkeit mithilfe von async und await
14.4   Zusammenfassung 14.5   Literatur und Links
15   Grundlagen der Datenhaltung
15.1   Datenbank – ein Ort, um Ordnung zu halten
15.1.1   Anforderungen an eine Datenbank 15.1.2   Überblick über Datenbanksysteme
15.2   Phasen der Datenbankentwicklung
15.2.1   Das Entity-Relationship-Modell (ER-Modell) 15.2.2   Alles eine Frage des Schlüssels 15.2.3   Normalisierung der Datenbankstruktur
15.3   NoSQL-Datenbanken und Fazit 15.4   Literatur und Links
16   Werkzeugunterstützung
16.1   Die Rolle von Werkzeugen 16.2   Integrierte Entwicklungsumgebungen als Multifunktionswerkzeuge
16.2.1   Bestandteile einer integrierten Entwicklungsumgebung 16.2.2   Wichtige integrierte Entwicklungsumgebungen im Überblick
16.3   Versionsverwaltungen als Voraussetzung für eine erfolgreiche Entwicklung
16.3.1   Varianten der Versionsverwaltung 16.3.2   Vergleich zentrale und verteilte Versionsverwaltung 16.3.3   Git-Grundlagen
16.4   Weitere Softwaretools für die Entwicklung
16.4.1   Tools für die modellgetriebene Entwicklung 16.4.2   Tools für die Datenmodellierung 16.4.3   Einfache Texteditoren 16.4.4   Tools für die Koordination der Zusammenarbeit und fürs Projektmanagement
16.5   Fazit und Ausblick 16.6   Literatur und Links
17   Qualitätssicherung und Clean Code Development
17.1   Das Verständnis von Softwarequalität 17.2   Ansätze zur Bestimmung der Softwarequalität
17.2.1   Qualitätseigenschaften nach Boehm 17.2.2   Quantifizierung der Qualität nach Gilb 17.2.3   Goal Question Metric
17.3   Softwarequalität zwischen Nutzen und Kosten 17.4   Qualität verbessern
17.4.1   Sich stetig weiterentwickeln: kontinuierliche Verbesserung 17.4.2   Prozessqualität über alle Entwicklungsschritte 17.4.3   Regeln als Handlungsleitfaden 17.4.4   Clean Code Development 17.4.5   Lästig und unverzichtbar – die Entwicklungsdokumentation
17.5   Eine gesunde Fehlerkultur
17.5.1   Der Begriff des Fehlers 17.5.2   Umgang mit Fehlern 17.5.3   Fehlermetriken
17.6   Fazit und Zusammenfassung 17.7   Literatur und Links
Teil IV   Trends 18   Enterprise Mobile Computing
18.1   Einsatzszenarien
18.1.1   Mobilisierung bestehender digitaler Geschäftsprozesse 18.1.2   Digitale Transformation
18.2   Bring Your Own Device
18.2.1   Bedeutung und Nutzen einer BYOD-Strategie 18.2.2   Problemlage und Anforderungen bei einer BYOD-Strategie 18.2.3   Mögliche Szenarien aus Unternehmenssicht 18.2.4   Umsetzungsstrategie
18.3   Technische Aspekte für Enterprise Mobile Computing
18.3.1   Geräteauswahl 18.3.2   Enterprise Mobile Device Management 18.3.3   Backend as a Service for Enterprise
18.4   Literatur und Links
19   Internet of Things
19.1   Stand heute und Zukunftsszenarien
19.1.1   Vom Eigenbau zum Standard
19.2   IoT-Architekturansätze
19.2.1   Netzwerktopologien 19.2.2   Anwendungsarchitekturen
19.3   Hardware auf kleinstem Raum 19.4   Fallbeispiel: Windows 10 auf dem Raspberry Pi
19.4.1   Anforderungen und Anwendungsarchitektur 19.4.2   Installation von Windows 10 IoT 19.4.3   Konfiguration aus der Ferne per Remote 19.4.4   Entwicklungsumgebung konfigurieren
19.5   Fazit und Ausblick 19.6   Literatur und Links
20   Cloud-Computing
20.1   Grundlagen des Cloud-Computings
20.1.1   Merkmale und Eigenschaften des Cloud-Computings 20.1.2   Modelle des Cloud-Computings 20.1.3   Nutzungsmodelle des Cloud-Computings
20.2   Ökonomische Gesichtspunkte
20.2.1   On-Premises- versus Cloud-Computing 20.2.2   Kostenbasierter Vergleich
20.3   Cloud-Computing als Werkzeug der Softwareentwicklung
20.3.1   Cloud-Lösungen für Kommunikation und Datenaustausch 20.3.2   Projekt- und Quellcodeverwaltung 20.3.3   Entwicklungsumgebungen, Build- und Testsysteme 20.3.4   Monitoring und Bugtracking
20.4   Fazit 20.5   Literatur und Links
Stichwortverzeichnis Rechtliche Hinweise Über den Autor
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion