Gibt’s dafür auch eine App? [Requirements Engineering]

Wenn Sie sich heute als Kunde für ein neues Produkt entscheiden, sei es eine Waschmaschine, ein neuer Fernseher, oder vielleicht demnächst eine neue Pumpe für den Gartenteich, so interessieren Sie sich vielleicht nicht nur für die Qualität des eigentlichen Produkts, sondern auch für den erhöhten Komfort, den eine „App“ mitbringt. Es wäre doch schön, informiert zu werden, wenn die Wäsche fertig ist. Wäre es nicht schön, den Springbrunnen im Garten einschalten zu können, ohne aufstehen zu müssen?

Gibt’s dafür auch eine App? [Requirements Engineering] weiterlesen

Schritte der Software-Entwicklung

Für diejenigen Leser, die sich mit der Software-Entwicklung noch nie beschäftigt haben, möchte ich nun einen kurzen Einblick in die Schritte der Software-Entwicklung liefern.
Dieser Einblick ist deswegen relevant, damit man sich vor Augen führen kann, welche Werkzeuge (die wir als nächstes beleuchten) erforderlich sind, um eine Software zu entwickeln.

Die Schritte in der Software-Entwicklung:

  1. Schritt – Anforderung – Aufgabenstellung
    Die Software-Entwicklung erhält eine Anforderung in einer allgemeinverständlichen Sprache („Wir brauchen eine Software, die … erledigt“)
  2. Die Software-Entwicklung nutzt eine sogenannte Hochsprache, z.B. C, C++, C# oder Java, um die Anforderung in Quellcode umzusetzen.
    Der Quellcode ist noch nicht direkt auf der sogenannten „Zielplattform“ ausführbar.
  3. Mittels eines Compilers, der Teil eines Build-Systems sein kann, wird der Quellcode in „Maschinencode“ übersetzt.
    Der Maschinencode ist zwar vom Prozessor ausführbar, kann aber nicht mehr ohne großen Aufwand, von Menschen verstanden werden.
    Zudem sprechen verschiedene Prozessoren unterschiedliche Sprachen.
    Das ist – grob gesagt – einer der Gründe, warum Sie nicht einfach Windows 10 auf einem iPhone installieren können

Der so hergestellte Quellcode kann nun mit einem Installationsprogramm gepackt werden und dann über die eigene Homepage oder einen App-Store für Kunden bereitgestellt werden.