Benutzer:Kwschneider/Softwareentwicklung/Grundlagen/Einführung
Einführung in die Softwareentwicklung
Bedeutung und Ziele der Softwareentwicklung
Softwareentwicklung bedeutet, Programme und Anwendungen so zu entwerfen und zu bauen, dass sie bestimmte Aufgaben für Menschen oder andere Programme übernehmen.
Das Ziel ist, nützliche, zuverlässige und einfach bedienbare Software zu erstellen – egal ob für den Computer, das Smartphone oder Maschinen in der Industrie.
Dabei geht es nicht nur darum, Code zu schreiben, sondern auch darum, Probleme zu analysieren, Lösungen zu planen und mit anderen zusammenzuarbeiten.
Softwareentwicklung verbindet also technisches Wissen mit Teamarbeit und Kreativität, damit am Ende ein funktionierendes Produkt entsteht, das das Leben oder Arbeiten erleichtert.
Merke
Softwareentwicklung umfasst mehr als Programmieren: Analyse, Planung und Zusammenarbeit sind ebenso wichtig.
Überblick über Softwarearten
Es gibt verschiedene Arten von Software, die in unserem Alltag und in der Arbeitswelt eine wichtige Rolle spielen.
Grundsätzlich unterscheidet man zwischen Systemsoftware, Anwendungssoftware sowie Web- und Mobile-Apps.
Systemsoftware
Systemsoftware ist die Software, die dafür sorgt, dass ein Computer oder Smartphone überhaupt funktioniert.
Ein bekanntes Beispiel ist das Betriebssystem wie Windows, macOS, Linux oder Android.
Die Systemsoftware verwaltet die Hardware, startet Programme und stellt sicher, dass alles richtig zusammenarbeitet.
Ohne Systemsoftware könnten keine anderen Programme genutzt werden.
Anwendungssoftware
Anwendungssoftware bezeichnet alle Programme, mit denen Nutzerinnen und Nutzer direkt arbeiten.
Dazu gehören zum Beispiel:
- Textverarbeitungen wie Word
- Tabellenkalkulationen wie Excel
- Grafikprogramme wie Photoshop
- Spiele, Musikplayer oder Chat-Programme
Anwendungssoftware hilft dabei, bestimmte Aufgaben zu erledigen oder dient der Unterhaltung.
Web- und Mobile-Apps
Viele Programme gibt es heute nicht mehr nur für den Computer, sondern auch als Anwendungen im Internet oder als Apps auf mobilen Geräten.
Ein Beispiel ist WhatsApp als App auf dem Smartphone oder Google Docs, das direkt im Browser genutzt wird.
Web- und Mobile-Apps sind besonders praktisch, weil sie ortsunabhängig und oft auf verschiedenen Geräten genutzt werden können.
Zusammenfassung
Software sorgt in unterschiedlichen Formen dafür, dass digitale Geräte für Arbeit, Lernen und Freizeit genutzt werden können.
Softwareentwicklungsprozess – Überblick
Damit aus einer Idee am Ende eine funktionierende Software wird, gibt es verschiedene Schritte, die im sogenannten Softwareentwicklungsprozess aufeinander folgen.
Planung und Konzeption
Alles beginnt mit der Planung. Zuerst überlegen sich alle Beteiligten, welches Problem gelöst werden soll und was die neue Software genau können muss.
In dieser Phase werden Anforderungen gesammelt und aufgeschrieben.
Danach folgt die Konzeption. Dabei wird geplant, wie die Software aufgebaut sein soll, zum Beispiel welche Funktionen es geben wird und wie das Programm aussehen könnte.
Programmierung und Testen
Ist der Plan fertig, startet die eigentliche Programmierung.
Die Entwicklerinnen und Entwickler schreiben den Code, testen Zwischenergebnisse und passen ihn immer wieder an.
Parallel dazu prüfen Testerinnen und Tester die Software gezielt auf Fehler, damit am Ende alles zuverlässig funktioniert.
Häufig wird die Software in mehreren Versionen entwickelt, sodass schon früh ausprobiert und verbessert werden kann.
Auslieferung und Wartung
Wenn alles funktioniert, wird die fertige Software ausgeliefert und installiert – entweder direkt auf den Geräten oder über das Internet.
Aber damit ist der Prozess nicht abgeschlossen. Auch nach der Veröffentlichung kümmern sich die Beteiligten um Updates und Verbesserungen, damit die Software weiterhin sicher und nützlich bleibt.
Merke
Ein strukturierter Entwicklungsprozess hilft dabei, aus einer Idee schrittweise eine zuverlässige Software zu entwickeln.
Rollen im Softwareentwicklungsprozess
Im Softwareentwicklungsprozess arbeiten viele verschiedene Personen zusammen, die jeweils unterschiedliche Aufgaben und Verantwortlichkeiten haben.
Diese unterschiedlichen Aufgaben werden als Rollen bezeichnet.
Entwicklerinnen und Entwickler
Entwicklerinnen und Entwickler sind dafür zuständig, den Code der Software zu schreiben und technische Lösungen für die gestellten Aufgaben zu finden.
Sie setzen die Ideen und Anforderungen praktisch um, programmieren die Funktionen und sorgen dafür, dass alles technisch funktioniert.
Testerinnen und Tester
Testerinnen und Tester prüfen die Software auf Herz und Nieren.
Sie suchen gezielt nach Fehlern, testen verschiedene Funktionen und melden Probleme, damit die Software am Ende stabil und zuverlässig läuft.
Projektmanagerinnen und Projektmanager
Projektmanagerinnen und Projektmanager behalten den Überblick.
Sie planen, wer was wann erledigt, achten auf den Zeitplan und sorgen dafür, dass das Team gut zusammenarbeitet.
Außerdem vermitteln sie zwischen Kundinnen und Kunden und dem Entwicklungsteam.
Weitere Rollen
Neben diesen Hauptrollen gibt es häufig weitere Beteiligte, zum Beispiel:
- Designerinnen und Designer für das Aussehen und die Bedienbarkeit
- Support-Mitarbeitende für Fragen der Nutzerinnen und Nutzer
Merke
Alle Rollen tragen gemeinsam dazu bei, dass eine Software den Erwartungen entspricht und gut genutzt werden kann.
Quiz
Was ist die erste Phase im Softwareentwicklungsprozess? (!Programmierung) (Planung) (!Testen) (!Installation)
Welche Aufgabe haben Tester*innen im Softwareentwicklungsprozess? (!Das Design der Benutzeroberfläche entwickeln) (Die Software auf Fehler prüfen) (!Die Codebasis verwalten) (!Updates veröffentlichen)
Welche Rolle sorgt dafür, dass das Team gut zusammenarbeitet und der Zeitplan eingehalten wird? (!Entwickler*innen) (!Tester*innen) (Projektmanager*innen) (!Support-Mitarbeitende)
Was bedeutet algorithmisches Denken? (Ein Problem Schritt für Schritt lösen) (!Einen Computer bauen) (!Fehler im Code suchen) (!Programme in Alltagssprache erklären)
Warum werden vor dem Programmieren oft Flussdiagramme oder Pseudocode verwendet? (!Um das fertige Programm schneller ausführen zu können) (Um die Lösung grafisch oder in Alltagssprache zu planen) (!Weil der Computer es verlangt) (!Um den Code zu verkürzen)
