Software-intensive Systems

Im Zusammenhang mit Computertechnik ist Software nicht wegzudenken. Weniger offensichtlich mag sein, dass beim Erstellen von computerbasierten Systemen Systems Engineering unerlässlich ist, ob es sich nun bei einem solchen System um Software alleine handelt oder um Hardware (Elektronik bzw. Mechanik) plus Software. Damit beschäftigt sich unser Fachgebiet „Software und Systems Engineering“.

Etwas konkreter ist ein unerlässlicher Teil des Systems Engineering die Auseinandersetzung damit, was für ein System eigentlich gebaut werden soll, was es können soll, etc. Dies erfolgt im sog. Requirements Engineering, damit das System nach dessen Erstellung auch nützlich sein wird. Ein System von nicht-trivialer Größe und Komplexität muss eine Architektur haben, welche auch wiederum von den Anforderungen abhängt. Den Vorgang des Findens und Definierens einer Architektur im Zusammenhang mit Systems Engineering nennt man Architecting.

Viele computerbasierte Systeme sind interaktiv, d.h. Benutzer interagieren direkt mit ihnen über sog. Benutzungsschnittstellen. Meist sind diese auch für Systeme mit Hardware primär in Software implementiertCoverflow_2_small. Dabei ist ein wesentlicher Punkt, dass das System auch gut benutzbar ist.

Während Benutzungsschnittstellen heute meist graphisch sind, gibt es auch viele andere Modalitäten sowie deren Kombinationen. Beim Einsatz mehrerer Modalitäten spricht man von multimodalen Benutzungsschnittstellen.

Da die händische Erstellung von Benutzungsschnittstellen sehr aufwändig und fehleranfällig ist, versucht man sie (teilweise) automatisch zu generieren. Dies erfolgt aus Modellen auf höherer Abstraktionsebene, welche schrittweise in andere Modelle transformiert werden und zuletzt in ablauffähige Software, welche die Benutzungsschnittstelle implementiert.

Solche Modelle müssen Wissen über die kommunikativen Interaktionen beinhalten sowie Wissen, worüber überhaupt mit dem System kommuniziert wird. Für die Darstellung und Verarbeitung dieses Wissens werden oft sog. Semantische Technologien eingesetzt.