EMZETT.
Login

Anwendungsentwicklung

Kurz: Der Prozess, Software (Anwendungen) zu konzipieren, zu programmieren, zu testen und zu warten.

Genauer: Umfasst typischerweise mehrere Phasen: Anforderungsanalyse, Design/Architektur, Implementierung (Quellcode schreiben), Testen und Wartung nach der Auslieferung. Eine der beiden zentralen Fachrichtungen der IHK-Fachinformatiker-Ausbildung, neben Systemintegration.

Im Detail

Abgrenzung zur Systemintegration

Während Systemintegration sich um den Betrieb und die Vernetzung bestehender Systeme (Server, Netzwerke, Clients) dreht, geht es bei der Anwendungsentwicklung darum, neue Software selbst zu bauen — von der Idee bis zum fertigen, wartbaren Produkt. Wer Systemintegration lernt, hält im Zweifel fremde Systeme am Laufen; wer Anwendungsentwicklung lernt, erschafft die Software, die andere später betreiben.

Vorgehensmodelle

In der Praxis arbeiten Anwendungsentwickler meist nach einem strukturierten Vorgehensmodell:

  • Wasserfallmodell: strikt sequenzielle Phasen (erst vollständige Anforderungsanalyse, dann Design, dann Implementierung, dann Test) — heute in reiner Form selten, da spätes Feedback zu teuren Nachbesserungen führt.
  • Agile Modelle (Scrum, Kanban): Anforderungen werden iterativ in kurzen Zyklen (“Sprints”, meist 1-4 Wochen) umgesetzt und laufend angepasst, basierend auf Feedback aus bereits fertigen Teilstücken — heute in der Industrie deutlich verbreiteter, da Software-Anforderungen sich selten von Anfang an vollständig vorhersagen lassen.
  • DevOps-Praktiken: verwischen zunehmend die klassische Trennung zwischen “Entwicklung” und “Betrieb” — Entwickler übernehmen zunehmend Verantwortung für den Betrieb ihrer eigenen Software (siehe CI/CD-Pipeline).

Ausbildungsinhalte

Zur Ausbildung gehören typischerweise: Grundlagen einer oder mehrerer Programmiersprachen (z. B. Java), Datenbankentwurf und SQL, Algorithmen und Datenstrukturen als theoretisches Fundament, sowie Vorgehen im Team (u. a. Git für Versionsverwaltung, Code-Reviews, Testautomatisierung). Zunehmend wichtig werden auch Grundlagen der IT-Sicherheit (sichere Programmierung, Vermeidung klassischer Schwachstellen) und Cloud-/Container-Technologien, da moderne Anwendungen selten noch auf klassischen Einzelservern laufen.

Wartbarkeit als zentrales Qualitätsmerkmal

Ein zentrales Qualitätsmerkmal ist die Wartbarkeit des entstehenden Quellcodes — Code, der zwar funktioniert, aber niemand außer dem ursprünglichen Autor versteht, verursacht auf Dauer hohe Folgekosten: jede spätere Änderung dauert länger, Fehler schleichen sich leichter ein, neue Teammitglieder brauchen länger zur Einarbeitung. Studien zur Softwarewartung zeigen wiederholt, dass ein Großteil der Gesamtkosten eines Softwareprojekts (oft deutlich über 50%) NACH der ersten Auslieferung anfällt — Wartbarkeit ist also keine akademische Nebensache, sondern direkt wirtschaftlich relevant.

Testebenen

Professionelle Anwendungsentwicklung arbeitet mit mehreren Testebenen: Unit-Tests prüfen einzelne Funktionen/Methoden isoliert (schnell, viele davon), Integrationstests prüfen das Zusammenspiel mehrerer Komponenten (z. B. Anwendung + Datenbank), und End-to-End-Tests simulieren komplette Nutzerabläufe durch die fertige Oberfläche (langsam, aber realitätsnah). Die “Testpyramide” beschreibt das übliche Mengenverhältnis: viele schnelle Unit-Tests als Basis, weniger Integrationstests, nur wenige, dafür aussagekräftige End-to-End-Tests an der Spitze — umgekehrt proportional zu Ausführungsgeschwindigkeit und Wartungsaufwand.

Vom Einzelentwickler zum Team

Anwendungsentwicklung im Team unterscheidet sich deutlich von Einzelprojekten: Code-Reviews (ein zweiter Entwickler prüft Änderungen vor der Integration), einheitliche Programmierrichtlinien (Code-Style, Namenskonventionen) und automatisierte Qualitätsprüfungen (Linter, die Codeprobleme automatisch erkennen) werden wichtig, sobald mehrere Personen gemeinsam an derselben Codebasis arbeiten. Ohne solche Prozesse wächst mit der Teamgröße überproportional das Risiko von Inkonsistenzen, Duplikaten und schwer nachvollziehbaren Entscheidungen.

Siehe auch: Systemintegration, Quellcode