Ratgeber

Die Grundlagen der Softwareentwicklung

Nach dem Siegeszug von praktischen und alltagstauglichen Software-Anwendungen in der Öffentlichkeit hat auch die Softwareentwicklung den Elfenbeinturm der Informatik verlassen und ist inzwischen ein fester Bestandteil unserer heutigen Aus- und Weiterbildungslandschaft geworden. Mittlerweile sind die Grundlagen der Softwareentwicklung und allgemeine Programmierkenntnisse ein ebenso normaler Bildungsinhalt der beruflichen und schulischen Aus- und Weiterbildung wie viele andere berufsvorbereitende Qualifikationen auch.

Egal, ob Handy-, Smartphone- und Tablet-Apps wie WhatsApp, Websites, PC-Bürosoftware wie das MS Office-Paket, Browser wie Firefox und Chrome oder Bildbearbeitungssoftware wie Photoshop – in den letzten Jahrzehnten haben die unterschiedlichsten Software-Applikationen in einem atemberaubenden Tempo alle Bereiche Ihres privaten und beruflichen Lebens erobert. Und mit zunehmendem Funktionalitätsumfang sind diese inzwischen auch sehr viel komplexer und weitaus anspruchsvoller geworden.

Gaming-, Fitness-, Musik-, Wetter- und News-Apps, Software für die Steuererklärung und für das Fremdsprachenlernen – die Einsatzmöglichkeiten von modernen Software-Lösungen im Alltag sind nahezu grenzenlos.

Inzwischen möchten Sie überhaupt nicht mehr auf die vielen elektronischen Hilfsmittel verzichten. Und das aus gutem Grund.

Denn die vielen verschiedenen Apps und Gadgets auf Ihrem Smartphone und Tablet haben sich in Ihrem täglichen Leben als sehr nützlich und hilfreich erwiesen. Sie sind eine wesentliche Erleichterung in Ihrem Alltag, weil sie Ihnen viel Arbeit abnehmen und Aufgaben und Probleme schnell und zuverlässig erledigen. Der Digitalisierung macht es möglich!

Und so normal und allgegenwärtig, wie moderne Software-Programme in Ihrem täglichen Leben heutzutage sind, so allgemein zugänglich ist inzwischen auch die Softwareentwicklung für jedermann.

Allgemeine Programmierkenntnisse – Softwareentwicklung im Alltag

Ein Aspekt von moderner Softwareentwicklung, der genau diesen Trend widerspiegelt, ist die zunehmende Bedeutung von grundlegenden Programmierkenntnissen als beruflicher Qualifikation.

Allgemeine Programmierkenntnisse kann man sich entweder im Rahmen der Berufsausbildung oder aber während der berufsbegleitenden Aus- und Weiterbildung aneignen. Viele private und öffentliche Aus- und Weiterbildungsinstitute bieten professionelle Programmier-Kurse an, in denen man das Programmieren Schritt für Schritt erlernen kann.

Wie Fremdsprachenkenntnisse, ein Auslandsaufenthalt und Soft Skills wie Teamfähigkeit und interkulturelle Kompetenz, so sind auch grundlegende Programmierkenntnisse eine Schlüsselqualifikation im modernen Berufsleben. Diese ist für den erfolgreichen Berufseinstieg und für die weitere berufliche Karriere in nahezu allen Branchen inzwischen mindestens genauso wichtig. Ohne dieses Know-How kommt man in der globalisierten und hoch technisierten Arbeitswelt von heute einfach nicht mehr aus.

Frontend und Backend – zwei Komponenten der Softwareentwicklung

Egal, wie komplex oder einfach Softwareentwicklung ist – in der Informatik wird grundsätzlich zwischen der Programmierung des Frontends und der Implementierung des Backends eines Software-Produkts unterschieden. Das Ziel dieser grundlegenden Unterscheidung ist eine übersichtlichere Gestaltung von Softwareentwicklung.

Unter dem Frontend versteht man die Komponente einer Software-Anwendung, die für den User während ihrer Laufzeit auf dem Display von mobilen Endgeräten oder auf dem Bildschirm von PCs und Automaten optisch sichtbar ist und mit der er interagieren kann. Die Frontend-Programmierung umfasst die graphische Gestaltung eines Software-Programms.

Dazu gehören z.B. das Graphical User Interface („GUI“) von Apps oder die Navigationsleiste, die Sidebar, der Footer, das Logo, die Buttons und die Widgets von Websites.

Im Gegensatz dazu versteht man unter dem Backend die Komponente einer Software-Lösung, die für den User während ihrer Laufzeit nicht optisch sichtbar ist. Alle diese maschineninternen Prozesse laufen unbemerkt im Hintergrund ab.

Diese maschineninternen Vorgänge umfassen z.B. die Übersetzung von für den Menschen verständlichen Quellcode durch einen Compiler oder Interpreter in für den Computer verständlichen Maschinencode und dessen Ausführung durch den Prozessor eines mobilen Endgerätes oder PCs sowie die Sammlung von Daten oder das Update von Programmen.

Die Backend-Entwicklung umfasst die Programmierung des Quellcodes und damit sozusagen des „Rückgrats“ einer Software-Lösung.

Verschiedene Modelle der Softwareentwicklung

Softwareentwicklung ist ein komplexer, arbeitsaufwendiger und zeitintensiver Prozess, der in verschiedene Phasen unterteilt ist.

Ein besonderer Fokus liegt in der Informatik auf unterschiedlichen Modellen der Softwareentwicklung.

Aber unabhängig von dem jeweils bevorzugten Modell umfasst Softwareentwicklung immer dieselben 5 Stufen in genau derselben chronologischen Reihenfolge: die Konzeption, die Programmierung, die Dokumentation, das Testen und die Wartung von Software-Programmen.

Die verschiedenen Modelle berücksichtigen unterschiedliche Problem-, Frage- und Aufgabenstellungen, mit denen Programmierer-Teams während der Softwareentwicklung konfrontiert werden können und die sie allesamt erfolgreich bewältigen müssen.

Jedes dieser Modelle hat eine andere Problemlösungsstrategie und erlaubt – je nach spezifischen Anforderungen und Schwierigkeiten – die bestmögliche Programmierung einer passenden Software-Lösung.

Das iterative Modell

Wie der Name schon sagt, ist das Hauptmerkmal dieses Modells sein wiederholender Charakter. Dabei werden alle 5 Phasen der Softwareentwicklung viele Male durchlaufen.

Die fortlaufende Fehleranalyse und die schnelle Fehlererkennung und Mängelbehebung sollen alle möglichen Fehlerquellen und Worst Case-Szenarien berücksichtigen und weitestgehend ausschließen.

Diese Vorgehensweise soll ein Maximum an Zuverlässigkeit und Funktionstüchtigkeit der Software-Anwendung in allen möglichen Situationen gewährleisten.

Dieses Modell kommt bei der Programmierung sehr viel seltener zum Einsatz als das sogenannte Wasserfallmodell. Dies ist vor allem bei der Entwicklung von sehr komplexen, anspruchsvollen und fehleranfälligen Software-Lösungen mit einem sehr hohen Funktionalitätsumfang der Fall. Hierbei haben häufiges Testen und Debugging und eine ständige Optimierung oberste Priorität, um eine 100-prozentige Funktionstüchtigkeit der Software-Produkte in allen denkbaren Notfällen garantieren zu können.

Dies betrifft z.B. Software-Systeme für die Überwachung von Gefahrenbereichen wie automatische Gas- und Feuerlöschanlagen oder intelligente Fahrassistenzsysteme wie Aquaplaning- und Müdigkeitswarner, automatische Notbremssysteme, Abstandsregeltempomaten sowie Spurhalte- und Abbiegeassistenten. Diese müssen im Notfall immer absolut zuverlässig und fehlerfrei funktionieren, da ein Softwareversagen Menschenleben kosten könnte.

Dieses Modell der Softwareentwicklung ist daher um ein Vielfaches zeit- und kostenintensiver und arbeitsaufwendiger als das sogenannte Wasserfallmodell.

Das Wasserfallmodell

Das Hauptmerkmal dieses Modells ist sein linearer Charakter. Dabei werden alle 5 Phasen der Softwareentwicklung nur ein einziges Mal durchlaufen. Auf eine wiederholte Fehleranalyse und -behebung und eine fortlaufende Optimierung wird bewusst verzichtet.

Diese Vorgehensweise soll eine effiziente Nutzung aller vorhandenen Ressourcen bei der Programmierung erlauben: es soll mit geringstmöglichem Arbeitsaufwand und möglichst niedrigen Produktionskosten ein bestmögliches Software-Programm entwickelt werden.

Dieses Modell der Softwareentwicklung ist daher weitaus weniger zeit- und kostenintensiver und arbeitsaufwendiger als das iterative Modell.

Dieses Modell kommt bei der Programmierung sehr viel häufiger zum Einsatz als das iterative Modell.

Dies ist insbesondere bei der Entwicklung von einfachen, eher massentauglichen Software-Anwendungen mit geringem Funktionalitätsumfang der Fall, bei der die Zuverlässigkeit und Funktionstüchtigkeit des Produkts keine oberste Priorität hat. Hierbei wird ein gewisser Prozentsatz an Fehleranfälligkeit einkalkuliert.

Dies betrifft z.B. Bürosoftware oder Wetter- und Gaming-Apps.

Auch interessant:



Auf diese Seite sind Amazon-Links enthalten. Als Amazon-Partner Verdienen wir an qualifizierten Verkäufen, falls Du auf einen entsprechenden Amazon Link klickst.

Vangelis

Ich bin Vangelis, der Inhaber und Administrator von windowspower.de Ich bin begeisterter Windows-Fan und habe die letzten Jahre zusammen mit meinem Team windowspower.de aufgebaut. Stetig arbeiten wir daran Lösungsvorschläge für alle möglichen Windows-Probleme zu bieten. Ich freue mich sehr, wenn Euch unsere Tipps und Tricks auf windowspower.de helfen.
Schaltfläche "Zurück zum Anfang"