Was ist eine Software und wie funktioniert sie?

In diesem Artikel wird auf anschauliche Art beschrieben, was eine Softwareanwendung ist und wie sie funktioniert.

Eine Softwareanwendung besteht aus dem Code und den Daten. Der Code ist eine detaillierte Arbeitsanweisung, die angibt, was die Software machen soll. Der Code verwendet die Daten um Aktionen auszuführen. Dazu gehört woher die Daten gelesen werden, was verändert wird und wohin sie gespeichert, gesendet oder angezeigt werden sollen. Da der Computer im Grunde nicht viel kann, wird jeder noch so kleine Befehl im Code beschrieben. Damit nicht immer alles mehrfach geschrieben werden muss, kann man den Code in kleinere oder größere wiederverwendbare Teile unterteilen. Auf diese wird später verwiesen. Das ist so ähnlich wie ein Verweis in einem Buch auf ein anderes Kapitel. Dort gibt es ebenfalls Kapitel und Unterkapitel und gelegentlich wird darauf hingewiesen, dass man etwas in einem anderen Kapitel genauer nachlesen kann. In den Programmen heißen diese Kapitel Programme, Klassen, Methoden oder Funktionen.

Zu den Daten gehören die normalen Anwendungsdaten, sowie Konfigurations- und Steuerungsdaten, die die Software selber benötigt. Die Anwendungsdaten sind das, wofür die Software genutzt werden soll. Bei einer Verwaltungssoftware sind es zum Beispiel Kunden- oder Auftragsdaten, aber es können auch Bilder, Filme oder andere Dinge sein. Die Konfigurations- und Steuerungsdaten haben Einfluss darauf, was die Software macht oder wie sie aussehen soll. Die Daten werden typischerweise in Datenbanken oder Dateien gesammelt und aufbewahrt. Sie haben eine bestimmte Struktur und die einzelnen Datensätze stehen in Beziehung zu einander, also welche Information gehört zu einer anderen. Die Beziehungen sind nicht zwingend mit den Daten gespeichert, sodass sie direkt im Code berücksichtigt werden müssen.

Als Beispiel kann man es sich so vorstellen, dass die Daten in mehreren Exceltabellen mit vielen Arbeitsblättern stehen. Der Code ist dann ein Worddokument mit detaillierten Arbeitsanweisungen wie die Daten verändert werden sollen. Es hat viele Seiten und enthält viele Kapitel, Unterkapitel und Verweise zwischen den Kapiteln. Bei einer großen Anwendung z.B. einer Verwaltungssoftware eines großen Unternehmens können es schnell zigtausende Seiten mit Arbeitsanweisungen sein. Wenn Sie jetzt der Computer wären, wäre es Ihre Aufgabe das Dokument abzuarbeiten. Für mich eher eine furchtbare Vorstellung, aber zum Glück macht das der Computer.

Um die Anweisungen abzuarbeiten, öffnen Sie als erstes das Worddokument. Danach könnten Sie anfangen die Daten aus den Tabellen zu holen, die gerade für die einzelnen Anweisungen gebraucht werden. Für Zwischenberechnungen könnten Sie sich Notizen machen, die sie später wieder löschen und zum Schluss verändern Sie die Daten in den Exceltabellen oder geben Sie an ihre Kollegen weiter. Allerdings bräuchten Sie dabei nicht denken, da in den Anweisungen steht, wie Sie die Daten finden, wann welche Notizen zu machen sind und wie die Daten geändert oder weitergegeben werden.

Der Computer geht auf eine ähnliche Weise vor. Wenn das Programm gestartet wird, lädt er die Arbeitsanweisungen von der Festplatte in den Arbeitsspeicher. Danach fängt er an die Befehle abzuarbeiten und die Daten zu laden. Die Daten und Notizen werden als Variablen im Arbeitsspeicher abgelegt. Zwischendurch werden Daten oder Ergebnisse auf dem Bildschirm angezeigt oder wieder auf die Festplatte geschrieben. Bei Programmende wird das Programm und dessen Daten aus dem Arbeitsspeicher gelöscht.

Bei den vielen Seiten kann es leicht passieren, dass irgendwo ein paar Anweisungen vergessen wurden oder in den einzelnen Kapiteln widersprüchlich sind. Wenn an einer Stelle steht, dass eine Information in das Feld „Artikel“ geschrieben werden soll und an einer anderen Stelle steht, dass sie aus dem Feld „Material“ gelesen werden soll, dann enthält der Code einen Fehler. Während ein Mensch diesen Fehler relativ leicht und intuitiv ausgleichen kann, ist es dem Computer selber nicht möglich. Damit er es könnte, müsste ihm jemand eine extra Arbeitsanweisung schreiben oder die Feldbenennung korrigieren. Aus diesem Grund werden Anwendungen getestet, bevor sie produktiv genutzt werden. Aber es kommt trotzdem vor, dass etwas übersehen oder vergessen wurde.

 

Über mich
Stefan Themann Ich bin Stefan Themann und arbeite als selbstständiger SAP ERP Berater und Softwareentwickler. Hier auf der Seite schreibe ich über die Softwareentwicklung.